From Russia with code

Computer russo

I preventivi ormai definitivi arrivano nell’arco di un paio di giorni. Evidentemente c’era abbastanza materiale su cui riflettere e calcolare. Oscillano dai 1500 ai 4000$, più o meno come mi aspettavo.
Anche nelle risposte nessuna sorpresa, ogni società conferma la fascia in cui già si trovava. Visto poi che le quattro nel limbo non fanno niente di eclatante per uscirne, alla fine decido di tenermi solo le tre migliori. Alle restanti mando un’educata email di congedo, del tipo “grazie ma c’era qualcuno che aveva esperienze un po’ più pertinenti delle vostre”. Così dovrei essere a posto anche con gli orgogli più sensibili.

In vetta nessuna si distingue particolarmente: tutte con buoni precedenti, tutte hanno analizzato il progetto approfonditamente, ma nonostante questo ancora non sono del tutto tranquillo.

L’applicazione, al di là del numero ridotto di schermate che la comporranno, è in realtà complessa nella realizzazione e alcune soluzioni non sono affatto ovvie. Alla base poi è necessaria un’assoluta esattezza matematica delle conversioni di coordinate, senza la quale l’intero progetto andrebbe annullato.

Decido allora di puntare su questo per la scrematura finale, e scrivo a tutte e tre:

I would like first to be reassured about coordinates management, since especially MGRS can be very tricky. How will you solve the conversion problem and will you be able to deal with map datums in case of need?

I primi a rispondere sono gli efficientissimi Rumeni, che chiedono 4000$:

We agree that the most difficult task is the implementation of the conversion formulas. Please check this link to see why we are saying this.
If we will be taking care of the conversion formulas we need to write a library from scratch. Internally, the application will work with “lat-lon” coordinates while the user will be presented with the format of choice.

Non so. Hanno sicuramente studiato il problema ma non abbastanza, e io non mi sento molto rassicurato. Con questo approccio in una materia che non si conosce ci sono serie probabilità di incappare in imprevisti che possono costare magari un mese di lavoro. Forse un po’ troppo pericoloso.

Vediamo i Pachistani (1800$):

Our developers have already looked into the points you have mentioned. Our investigations have revealed that open source libraries for the co-ordinate conversions have wider appreciation then any other. 
One candidate library is
http://trac.osgeo.org/proj/
A java source code for the calculation is also provided by IBM.

But using java code would require us to make a webservice of the conversion functionality. So far, things would be clear when we move on with actual development of the application.

Già meglio. C’è un’analisi, la prima libreria è effettivamente un buon riferimento e l’idea del web service per il java mi sembra quantomeno creativa. Non mi entusiasma però la chiosa “intanto partiamo e poi vediamo…”.

Arrivano i Russi (2200$):

To convert coordinates between lat/long, UTM and MGRS, we can either write our own component or accommodate GEOTRANS 2.4.2 for iPhone and conversion between WGS84 and ED1950 will be supported.
Should you need waypoints management we’ll use Kishikawakatsumi MapKit-Route-Directions.
As for elevation my guys suggest adding usage of this
online service into the app.

Ora ci siamo.  Complimenti ai tuoi guys, concisi ma inoppugnabili. La derivazione della quota poi non era neanche necessaria. In più devo ammettere che la citazione di Kishikawakatsumi è il vero colpo d’ala, non so chi sia ma nella mia testa i Giapponesi sono tutti bravi per definizione.
Geotrans è forse la scelta migliore (mi sembra la più immediata da adattare) e i Russi sono gli unici non solo ad avere nel portfolio esperienze specifiche con il mapkit, ma anche ad avermi mandato un preventivo addirittura scomposto:

1. Analysis & Discussion - 3-4 hrs
2. Base Code/ Root Controller - 3-5 hrs
3. Views
3.1. Map Parameters SubView - 3-5 hrs
3.2. Map Itself View - 4-9 hrs
3.3. Waypoints View - 3-4 hrs
4. Routines
4.1. Coordinate Conversion (Wrapper for GEOTRANS 2.4.2) - 6-8 hrs
4.2. Map Routines (mode changing, radius and other) - 6-8 hrs
4.3. Frag Overlay Function - 4-6 hrs
4.4. Database Routines - 5-6 hrs
5. Testing & Debugging 3-4 hrs
50% slack for underestimates, bug fixes and minor tweaks
TOTAL: 40-58 hrs = 60-87 ~= 78 hrs x $25/hr = $1950 $250 (artwork) = $2200

Non c’è bisogno di andare molto oltre, la scelta sembra fatta senza troppo sforzo. Ma non renderei loro giustizia se riducessi la decisione a questo elenco di parametri. La vera marcia in più è stata che, pur nell’arco di pochi giorni, mi hanno dimostrato un approccio che mi ha rassicurato. E non parlo solo della serietà o della tecnica, ma più di una sensazione viscerale che si rafforzava con ogni email in cui tra le righe leggevo qualcosa di convincente. E alla fine, purché si stia nel budget, la tranquillità nell’affrontare il progetto non ha prezzo.

Alla luce di tutto questo, non mi sembra ci sia molto da indugiare.

Dear Andrei, the project is yours. When do we start?







blog comments powered by Disqus