From Russian with code: una storia interessante per iPhone
by Stefano Lo DucaLe esperienze di Michele non finiscono di stupirci e insegnarci… e noi di iPhoneandGo ci troviamo solidali su tutte le avventure e disavventure che Michele ha vissuto alla ricerca di qualche buon / economico / fidato programmatore oltre paese.
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?
per iPhoneandGo
Michele de Sio.




6 Comments. Subscribe to this post comments or trackback.
Giugno 17th, 2010
Ciao,
ho letto con interesse questo post! E devo dire che mi sono meravigliato, non tanto per il prezzo, ma per quanto riguarda la distanza che bisogna percorrere…
Purtroppo mi spiace leggere questo tipo di cose, visto che comunque anche in Italia esistono delle realta’ alternative.
Ebbene si, pero’ purtroppo non hanno la visibilita’! Noi siamo quelli che hanno lanciato i famosi eventi ROADSHOW di iphonedeveloper.it in varie citta’ italiane, abbiamo iniziato con Milano, ora sono a Vicenza per poi passare a Bologna e Roma, sul sito trovate dettagli …
Noi prima di iniziare questi roadshow abbiamo mandato dei comunicati stampa a diversi blog italiani, ma ovviamente ci hanno snobbato tutti! Nel senso che non ho ricevuto nemmeno una risposta, positiva o negativa oppure magari una risposta che dicesse: ” si ci interessa, ma vogliamo “X” per pubblicare la notizia!” … ma tutto ancora tace …
Vabbe’ poco male .. ei noi obiettivi futuri e con l’appoggio dei partecipanti ai nostri corsi stiamo mettendo in piedi una vera comunita’ di sviluppatori dove tutti si conoscono!
Inoltre noi come iphonedeveloper.it sviluppiamo app per conto terzi, e se l’idea od il progetto e’ interessante possiamo anche metterci del nostro! Nel senso che sviluppiamo a costo zero, quindi con il nostro tempo e poi si dividono i frutti!
Poi una domanda, l’app quando uscira’ su appstore con quale nome di sviluppatore esce? Se l’app e’ a pagamento la tua parte di guadgnani dove li fai arrivare? Come puoi controllare le vendite per ogni singolo appstore?
Beh io non mi fido …
Non so se questo post sara’ pubblicato … cmq fate vobis …
Giugno 17th, 2010
Scusate dimanticavo…
PS: comunque se voi non siete sviluppatori accreditati, quindi non avete pagato i famosi 99$, l’app sara’ publicata con il nome di chi l’ha realizzata… ovviamente nella schermata dei crediti ci sara’ anche il vostro bel nome … e poi come fai a testare l’app durante la fase di lavorazione? Lo sai che l’app per essere testata deve avere la firma certificata ed avere un ID … e questo lo puoi avere soltanto se colleghi il tuo iPhone al computer dello sviluppatore!
Giugno 23rd, 2010
Caro Massimo,
scusa se rispondo solo ora ma non ho gli aggiornamenti dei commenti su iPhoneandgo (qui sono ospite!).
Il primo punto fondamentale è che non basta che gli sviluppatori si conoscano tra di loro, ci vuole una “piazza” dove siano accessibili al committente, e questa in Italia non c’è. Quella che si avvicina di più è quella di Club iPhone/OS Italia, ma è ancora impostata sul “contattaci che ti troviamo lo sviluppatore”, approccio efficace per alcuni ma non per chi come me vuole avere il quadro di insieme.
Il secondo punto è che quando fai sviluppare in outsourcing tu sei proprietario del codice, che a fine sviluppo ti viene consegnato. Quindi tu lo pubblichi a nome tuo e ne possiedi la proprietà intellettuale. Tutti i guadagni sono tuoi (a meno della quota Apple ovviamente) e se gli aggiornamenti li vuoi far fare a qualcun altro sei libero.
Spero di avere chiarito…
Giugno 23rd, 2010
Dimenticavo.
Il testing è molto semplice, ogni nuova build ti viene data tramite distribuzione ad hoc, e tu nel provisioning profile ci metti tutti gli iPhone che vuoi per i collaudi.
Il debugging stretto (per i memory leaks e altro) ovviamente lo fa il programmatore.
Per il testing non ho avuto problemi.
Giugno 23rd, 2010
Ciao Michele,
mi fa piacere leggerti. Quello che stiamo cercando di creare con iphonedeveloper.it e’ proprio questo una “piazza” di sviluppartori italiani … e devo dire che dopo gli eventi di Milano e Vicenza siamo sulla buona strada. Settimana prossima saremo a Bologna e poi a Roma. Certo che ha noi nessuno ci ha dato visibilita’ …
Comunque in bocca al lupo per la tua app!
–max
Giugno 24th, 2010
Ciao Massimo,
sto cercando di ricordare se ci avevi dato comunicazione di questi eventi.. so che parlavi di corsi.. magari sentiamoci cosi potro darvi la meritata visibilita’..
iPhoneandGo