qualche idea, due riflessioni e un bicchiere di vino. Anche su Twitter e Linkedin.

Cerco Casa sbarca su AppStore

February 3rd, 2011 | In: iPhone | 6 Commenti »

Dopo avervi raccontato giorno per giorno lo sviluppo dell’applicazione per iPhone Cerco Casa, è arrivato il momento del rilascio su AppStore.

Il colpo di scena non poteva mancare ed è avvenuto cinque giorni dopo l’invio a Apple per l’approvazione. La app viene approvata e mi rendo conto, per puro miracolo, che c’è un bug con iOS 4.2: la app resta in loop durante la geolocalizzazione e non riesce a individuare la posizione del telefono.
Dopo qualche minuto di sconforto, per fortuna avevo bloccato con una data in futuro il rilascio della app, batto un colpo di chat a Kate che sempre super disponibile sistema il bug in un paio di ore di lavoro e mi rimanda il progetto aggiornato. Compilo, impacchetto, rimando in approvazione a Apple e incrocio le dita. Finalmente ieri l’upgrade dell’applicazione viene approvato. E’ ora di lanciarla e vedere cosa ne pensano gli utenti.

Cerco Casa è un’applicazione che consente di visualizzare gli annunci per case in vendita o affitto nelle immediate vicinanze di dove ci si trova, è inoltre possibile ricercare annunci in zone diverse da quella geolocalizzata automaticamente dall’applicazione. Sono disponibili diversi filtri di ricerca (numero di locali, affitto o vendita, soglie di prezzo) e alcuni criteri per l’ordinamento dei risultati.

Oltre alla visualizzazione degli annunci immobiliari, che vengono aggregati da tutti i principali siti del settore, è possibile salvare un risultato tra i propri preferiti per una consultazione futura.

L’applicazione è disponibile in due versioni: Cerco Casa (free) e Cerco Casa+ (a 0,79 Euro). La versione Plus elimina i banner pubblicitari e aggiunge la funzionalità che permette di visualizzare gli andamenti storici dei prezzi delle quotazioni degli immobili per zona geografica. 

Se vi è piaciuto il progetto e il diario vi ha regalato momenti di svago, un voto in appstore sarà un buon riconoscimento per lo sforzo fatto.

Nel frattempo inizierò a raccogliere i dati d’uso, di install e di (eventuali) conversioni alla versione pay per un post di aggiornamento che pubblicherò nei prossimi giorni.

Grazie a tutti per i commenti, l’entusiasmo che avete dimostrato e per avermi seguito in questa esperienza divertente e appassionante.


Dall’idea all’AppStore in una settimana: giorno 7, ci siamo, forse si va in approvazione

January 26th, 2011 | In: iPhone | 8 Commenti »

Sveglia alle 5.30, faccio un check della mail dal letto ma ovviamente è troppo presto per avere un qualsiasi feedback da Kate, mi toccherà aspettare ancora qualche ora. Mi rigiro nervoso nel letto, ricontrollo l’orologio due/tre volte e alla fine crollo di nuovo nel mondo dei sogni.

Sono le 10, mannaccia a me che non ho messo la sveglia.

Corro in ufficio e non c’è ancora alcuna traccia di Kate, le do un colpo di chat e mi risponde con un laconico “let’s see in half an tour”. E’ una storia infinita, quasi peggio dell’attesa per il bug del 2000.

Finalmente ci siamo, sul tracker arriva una nuova versione con il commento “changed the API call parameters”. Incrocio le dita, tocco ferro, scarico il progetto e lo compilo. Ora sembra molto meglio, le sole ricerche affette dal bug maledetto sono quelle per vie nel super centro di una città (a Milano ad esempio cercando case in vendita in Piazza del Duomo), appena ci si allontana dal centro le cose vanno molto meglio e il fix porta benefici.

L’applicazione è quasi pronta, Kate sta lavorando al parsing e alla visualizzazione dei messaggi per il tab mercato dell’applicazione gratis. La pagina dedicata alle info è finita e visualizzerà anche un piccolo promo per TipsandTrip, vediamo se riuscirà a farla risalire un pò nella classifiche.

Mentre aspetto l’ultimo checkin del codice inizio a preparare la descrizione della app per l’app store, i formati grandi per l’icona e le keyword.

A fine pomeriggio trovo la nuova versione del codice su Bitbucket: scarico, installo, testo per una buona decina di minuti (meglio rassegnarsi da subito, qualche bug sarà sicuramente rimasto) e mi preparo all’invio dell’applicazione a Apple per l’approvazione.

E’ un momento sempre un pò magico. Quando clicco sul bottone “DONE” mi girano per la testa questi ultimi 7 giorni di fuoco e sono assalito da mille dubbi: avrò dimenticato qualcosa? ci saranno bug? l’applicazione verrà rifiutata? Apple la segnalerà come app della settimana? (ahhaha, battutona).

Il progetto è finito, resta solo da capire se Apple mi approverà la app. E’ stato faticoso ma anche molto divertente, quasi quasi mi ci rimetto subito e inizio a costruire un’altra applicazione.

Risorse impiegate: 45 ore di sviluppo di Kate = 900$, 10 ore di mio lavoro, 5 bottiglie di vino, 4 negroni, 500 linee di chat su Skype, venti email.


Dall’idea all’AppStore in una settimana: giorno 6 – l’app sembra solida ma Nestoria mi azzoppa

January 25th, 2011 | In: iPhone | 2 Commenti »

Sono le 7 di mattina, mi trascino giù dal letto e do un’occhiata alla posta per vedere se Yuk mi ha risposto. Ci sono ben due sue mail, leggo e tiro un pugno sul tavolo, non sembra che il problema delle API possa essere risolto in tempi brevi. Mi dice che in Italia Nestoria ha qualche problema a localizzare diversi annunci e per questi l’unico modo che hanno è di posizionarli nel centro del comune che hanno identificato.
Soluzione che sembrerebbe anche buona se non fosse che cercando Milano l’app si posiziona su Piazza del Duomo e spara fuori annunci per proprietà immobiliari di Monza o Cinisello.

Mi preparo un caffè e ci ragiono sopra, Yuk dice che proprio non hanno la possibilità di sistemare le API. Maledizione, dovrò cercare una soluzione alternativa per limitare al massimo questo problema. Rileggo la documentazione della API per vedere se con qualche parametro diverso si riesce a rendere meno evidente il bug ma purtroppo non c’è nulla da fare.

Inforco la bici e vado verso l’ufficio. A metà viaggio mi viene un’idea.
Perché non limitare la ricerca degli annunci alla zona di mappa visualizzata invece di dare un centro e un raggio come fa ora l’applicazione? Facendo così dovrei limitare il difetto a ricerche effettuate esclusivamente nel centro geografico di una città. Entro in ufficio e chatto con Kate, le spiego la modifica e mi dice che finiti i task in programma per oggi proverà a cambiare il codice che interroga le API di Nestoria. Dovrei avere una versione aggiornata per domani mattina.

Sono in ansia, se con questo trick non riesco a sistemare il difetto non penso che potrò rilasciare l’applicazione e sarebbe veramente una sfiga mostruosa.

A fine pomeriggio Kate rilascia una nuova versione, purtroppo non c’è nessuna traccia della modifica che le ho richiesto in mattinata, dovrò aspettare domattina per sapere che fine far fare all’applicazione (cestino o appstore).

Controllo le nuove funzionalità e mi sembra tutto a posto: il tab “Mercato” è ben funzionante e mi diverto per una decina di minuti ad andare in giro per le città scoprendo le valutazioni degli immobili nei vari quartieri. Funziona!

Il file JSON e il relativo parser che servirà per fare l’A/B testing delle varie click-to-call per l’upgrade alla versione a pagamento è pronto e va alla grande. Il tracciamento per semplicità lo farò utilizzando gli eventi di Google Analytics. Vediamo se con una serie di frasi carine qualche utente mi regalerà due soldi.

Torno a casa e tengo chiuso il Mac, l’ansia per il fix che arriverà domattina è alta. Meglio uscire e dimenticare tutto con un paio di bicchieri di vino, domani sarà un altro giorno.


Dall’idea all’AppStore in una settimana: giorno 5 – la app prende forma

January 24th, 2011 | In: iPhone | 1 Commento »

Sveglio di prima mattina, mi collego, scarico la nuova versione del codice, testo e do un buongiorno a Kate via chat. Due complimenti fanno sempre piacere e alzano il morale. Ma soprattutto se li merita.

Gli ucraini sono forti, gente fredda, il massimo entusiasmo che dimostrano è uno smile (e pure zoppo – sarà colpa della tastiera cirillica), tutta un’altra cosa rispetto a quando ho avuto il piacere di lavorare con Martin – un argentino che a 2/3 del progetto ha deciso di andare in ritiro spirituale in Brasile e ci ha mollati incasinandoci il Karma. Certo che con lui ogni mattina era un “pesce and love” in chat, qui al massimo un buongiorno/buonasera.

Chiedo a Kate quanto potrebbe volerci per implementare il sistema di in-app purchase per l’upgrade alla versione full dell’applicazione. Mi fredda con una riga di chat “3-4 days to have it finisce”. Mannaggia devo abbandonare l’idea o trovare una soluzione alternativa, certo che mi dispiacerebbe molto non poter fare il test di conversione degli utenti da free a pay.

Potrei però realizzare due versioni simili dell’applicazione e limitare le funzionalità della prima lasciando i grafici con i prezzi di mercato degli immobili per la versione plus. Chiedo a Kate se la cosa può rallentare di molto gli sviluppi e ricevo una buona risposta “No, just a couple of hours”.

Bene, ci saranno due applicazioni: la prima “Cerco Casa” avrà la libreria di advertising attiva e il funzionamento del tab “Mercato” disabilitato; all’apertura di quel tab l’applicazione recupererà da un file JSON le possibili varianti di frase / testo del bottone e le percentuali di probabilità di visualizzazione relativa. Un sistema del genere mi permetterà di fare fine-tuning della frase che avrà un tasso di conversione migliore.

Intanto Kate va forte: il search funziona perfettamente, l’interfaccia grafica è a buon punto e i favoriti funzionano a meraviglia. Ora sta inziando a lavorare sul tab “Mercato” che visualizzerà un grafico con i prezzi al metro quadro degli immobili. Ieri sera le ho aggiunto un task per l’inserimento della libreria di Analytics con i rispettivi eventi da tracciare (map, search, detailed listing, favourite), nel pomeriggio mi avvisa che è tutto pronto. Faccio un test e dopo un paio di ore controllo i dati su Analytics: tutto funziona. Vuoi vedere che finalmente troverò casa?

In serata però mi accorgo di un problema notevole: cercando immobili in zone vicine ai centri della città escono annunci di case che distano anche 20km dalla latitudine/longitudine scelta. Apro la console del debugger dove per fortuna Kate mi ha lasciato i log per tutte le chiamate alle API di Nestoria: faccio qualche test dal browser e scopro che alcuni risultati mancano di latitudine e longitudine. E’ tardi, son stanco e mi girano le balle.
Raccolgo le ultime forze e scrivo un messaggio a Yuk, uno degli sviluppatori di Nestoria con cui mi ero già scritto un paio di mail all’inizio del progetto per spiegargli quello che avrei fatto.

Nemmeno il tempo di spegnere il Mac e Yuk mi risponde, mi dice che domattina controllerà come mai escono dati sballati. Incrocio le dita e vado a letto, se non altro il supporto di Nestoria è top e la cosa mi conforta.


Dall’idea all’AppStore in una settimana: giorno 3, Kate si mette al lavoro

January 22nd, 2011 | In: iPhone | 4 Commenti »

Inizio a convertire il paper mockup in mockup Photoshop. Lo stile è semplice, certo un designer mi sarebbe stato utile ma il budget è risicato e i tempi strettissimi.

Finisco di mettere insieme uno stringato documento di specifiche, disegno le ultime parti dell’interfaccia utente e sono pronto per affidare il progetto allo sviluppatore, anzi alla sviluppatrice.

E’ Kate, una ragazza ucraina che ho trovato su Elance qualche mese fa e con la quale mi sono trovato alla grande per la versione due di Tipsandtrip che con Juliette le abbiamo dato da sviluppare. Tariffa concordata 20$ all’ora, professionalità eccezionale e background di primo livello (ha un master in matematica applicata).

Le blocco 40 ore di lavoro nei prossimi 5 giorni, le mando documentazione, mockup e icone e incrocio le dita. Dopo 4 ore mi trovo il primo check-in del codice su bitbucket “initial commit. localization and utils added”, dopo altre 2 ore un secondo check-in “interface”.

Scarico, lancio l’ambiente di sviluppo, compilo e testo. L’applicazione inizia a prendere forma: i tab ci sono, le prime viste anche e i modelli di supporto per il parsing dei file JSON, per il caching delle immagini e per le utils varie sono lì.

Giorno 3 – Notte

Con la testa piena di pensieri torno a concentrarmi sul modello di business e alla possibilità di offrire un’opzione premium con in-app purchase.

Stanotte ho ragionato sulla possibilità di includere qualche sistema primordiale di A/B testing per vedere con quali testi/claim si riescono a convertire più utenti. Potrebbe essere simpatico per tirare su qualche dato utile in futuro e per fare un po’ di esperienza.

Sono un pò stordito dalla stanchezza, vado a letto e ci ripenserò con calma domani.


Dall’idea all’AppStore in una settimana: giorno 2, i primi sketch dell’interfaccia e il paper mockup

January 21st, 2011 | In: iPhone | 4 Commenti »

Inizio a pensare a come potrebbe essere più utile l’applicazione.
Sicuramente deve partire e geolocalizzarmi, lanciare una chiamata alle API e visualizzare gli annunci sulla mappa. Non voglio che l’utente debba configurare mille cose prima di vedere un po’ di annunci, vorrei che appena lanciata partissero i fuochi d’artificio.

Ho qualche dubbio se far partire l’applicazione con la vista della mappa e i pin che indicano gli annunci oppure se partire con la lista degli annunci e lasciare poi all’utente la possibilità di passare alla visualizzazione della mappa.

La prima soluzione è sicuramente più bella da vedere (colori, interattività della mappa) mentre la seconda potrebbe essere più utile e immediata. Su questo punto ci voglio ragionare ancora un po’, lasciamolo aperto.

La schermata di apertura dell’applicazione dovrà anche permettere agli utenti di specificare un’altra zona rispetto a quella in cui sono in quel momento. Per questo vedo bene una bella casella di ricerca alla Google Maps semplice ed efficace, inoltre le API di Google sono ben fatte e veloci da usare e su iOS SDK il supporto è ottimo.

Per i filtri di ricerca penso a qualcosa di molto semplice, un’icona nella tab bar che permetta di settare il tipo di ricerca (affitto, vendita), la dimensione della casa (1, 2, 3, 4 camere), un paio di altri parametri e un filtro per scegliere l’ordinamento dei risultati.

Alla schermata di dettaglio di un annuncio non ci penso ancora ma non mi sembra particolarmente complicata. Butto giù una bozza giusto per appuntare qualche idea. Ci saranno sicuramente: una thumbnail dell’annuncio, una breve descrizione, le specifiche dell’immobile, l’agenzia, un bottone per aggiungere l’annuncio ai favoriti e il link per vedere l’annuncio completo (Nestoria mi passa solo un excerpt).

Sul nome dell’applicazione non vorrei andare su qualcosa di troppo esotico, questa volta, dopo le esperienze con Tipsandtrip e Blogo Today, mi butto sulla banalità: cerco casa? Compro casa? i-mmobiliare? Annunci immobiliari? Per ora, con il poco tempo a disposizione vado su un grande classico‚ “Cerco Casa”‚ viva la semplicità. C’è anche da dire che in AppStore è molto importante che il nome dell’applicazione comunichi da subito il concetto; tra 250k app disponibili farsi luce in modo immediato è fondamentale.

Oggi ho tirato lungo, sono già le 11 di sera ma la produttività della giornata è stata soddisfacente: nome dell’applicazione, paper mockup, primo scheletro di UX. Vado a letto a ragionare sui prossimi passi.

Giorno 2 (notte) – Il modello di business, se c’è ;)

Mi ero ripromesso di andare a letto e non pensare più all’applicazione ma non ci sono riuscito. La nottata è stata particolarmente movimentata, le idee che mi frullano per la testa non mi hanno lasciato molto tempo per dormire.

Una notte comunque utile per chiarire diversi punti ancora nebulosi. Che modello di business utilizzare? Ad-supported? Freemium (app gratis + upsell di una app premium)? Un misto dei due?

Partiamo dalla base: i CPM per adv nelle applicazioni iPhone in Italia sono molto bassi. Admob ha un fill rate penoso (10-15%) e CPM che oscillano tra i 0,05 e i 0,15 Euro. Google Adsense che generalmente ha CPM più alti (credo in italia nell’ordine degli 0.3/0,5 Euro CPM) può essere utilizzato solo su invito (e sono fuori dal giro degli inviti), Mobfox sembra promettente ma non conosco nessuno che lo stia già usando qui da noi.
Inoltre l’applicazione è in una nicchia con CPC altissimi ma purtroppo solo su web, il mercato adv mobile in italia è ancora troppo indietro.

Ho anche qualche dubbio sulla frequenza di utilizzo dell’applicazione. Leggo news tutti i giorni ma non cerco casa quotidianamente. La cerco una volta intensamente e poi magari ogni due o tre settimane torno a vedere se c’è qualche nuovo annuncio. In sostanza una volta trovata casa non userò mai più l’applicazione.

Se 100 utenti di un’app mobile dedicata alle news proiettano circa 1000 sessioni / mese, 100 utenti dell’app di annunci immobiliari ipotizzo che ne possano proiettare circa 200/300 con un churn rate molto alto.

Il poco tempo a disposizione non mi permette di sviluppare un’applicazione free e una premium, non ce la farei a stare dentro nei 7 giorni che mi sono imposto. Potrei però provare inserendo qualche funzione aggiuntiva sbloccabile con un’acquisto in-app purchase. L’implementazione dovrebbe portare via non più di una mezza giornata e un 1% di conversioni potrebbe garantire qualche soldo. Se non altro potrebbe essere un test interessante per tastare con mano i tassi di conversione.

Potrei anche mischiare i due modelli di ricavo: ad-supported per gli utenti che non fanno upgrade e adfree per quelli che acquistano; inoltre come funzionalità aggiuntiva non sarebbe male inserire un bel grafico con l’andamento di prezzi specifico per zona geografica.
In questo le API di Nestoria mi possono aiutare, hanno un metodo che data una latitudine e longitudine mi restituisce un JSON con i prezzi mese per mese. Non sarà certo una funzionalità aggiuntiva esagerata e necessaria ma potrebbe essere una chicca interessante.

Ormai sono le 2 di mattina, la testa crolla. Sogno. Sogno case e annunci.


Dall’idea all’AppStore in una settimana. Giorno 1, l’idea

January 20th, 2011 | In: iPhone | 12 Commenti »

L’idea mi frulla per la testa da molto, almeno un anno, da quando sto cercando una casa nuova e combatto tutti i giorni con pessimi siti di ricerca immobili.

Perchè nessuno tra questi siti geolocalizza gli annunci?
Perchè nessuno offre un comodo feed RSS a cui abbonarsi per ricevere solo le nuove proposte? O almeno, perchè non li trovo?

Ogni due o tre settimane, quando sono in vena, mi lancio in una nuova sessione di ricerca: dieci minuti su casa.it, dieci su Trovocasa di Corriere, una decina ancora per i siti più piccoli – il tutto condito con qualche giornale cartaceo da scartabellare. Un lavoro veramente infame.

Proviamo a risolvere almeno uno di questi problemi. Annunci immobiliari geolocalizzati accessibili comodamente da iPhone. Se riesco a trovare qualcuno che mi fornisca un buon database di annunci via API ho risolto gran parte dei miei problemi.

Passo una mezza serata a scandagliare il web. Tra i siti immobiliari più conosciuti nulla di nuovo, i più piccoli non hanno abbastanza massa critica di annunci e tra gli altri non mi sembra che nessuno offra quello che sto cercando.

Sono pronto a gettare la spugna quando mi imbatto in un sito nuovo, a me sconosciuto. Feed RSS per le ricerche (ne infilo subito uno con una ricerca personalizzata dentro il mio Google Reader) e una API che sembra molto promettente. Semplice, aperta, con buoni filtri e un database molto ricco: aggregano annunci da tutti i principali siti italiani e non solo. Il servizio è fornito da Nestoria, una società inglese, che rende libero l’uso delle loro API agli sviluppatori.

Mi si accende una lampadina: l’applicazione me la faccio da solo.
Un’oretta a studiare le API, un’altra ora a capire come si potrebbe disegnare l’interfaccia utente.

Non avendo una buona conoscenza di Obj-C e di Cocoa mi appoggerò a un freelance per lo sviluppo dell’applicazione per iPhone. L’obiettivo dell’iniziativa è di arrivare con l’app fatta e finita in massimo 7 giorni cercando di spendere il meno possibile. Mi rimboccherò le maniche, anche se non è il mio lavoro principale, per disegnare la UX, la UI, l’icona e quanto altro dovesse servire.

Ora è tardi, meglio buttarsi nel letto e ripensarci domattina.