Skip to content
Archive of posts filed under the Mobile category.

WhyMCA HappyHour a Milano, qualche considerazione

Il 21 Ottobre a Milano, assieme a Ric, Andrea e Paolo, abbiamo tentato un nuovo passo del WhyMCA: la formula HappyHour, un aperitivo informale dove presentare prima qualche intervento legato al mondo dello sviluppo mobile e poi dopo rilassarci con 4 chiacchiere davanti a stuzzicherie varie.  Obiettivo principale di questa iniziativa e’ quello di catalizzare la community di sviluppatori mobili e interagire tra di noi con un po’ di sano networking.

Per questa prima edizione milanese (l’idea e’ di replicare a Roma, poi forse Bologna e Torino) l’idea che avevo era quella di parlare ai developer un po’ del futuro del mobile, perche’ avere a che fare con una tecnologia no sempre significa avere anche una visione su di essa. Tra i relatori ho quindi chiamato Leandro Agro’ e Luca Mascaro: il primo ci ha fornito prospettive su qualche caldo tema emergente: self-traking, Internet of Things, spime e massive data collection. Il secondo ha mostrato esempi di applicazione del paradigma “less is more” e del leonardiano “La semplicita’ e’ l’estrema perfezione” nel mondo del mobile.

Abbiamo chiuso io e Matteo, con un intervento sulle principali caratteristiche delle piattaforme di sviluppo per mobile, giusto per capire in quali campi le une sono meglio delle altre e un accenno a quali tool permettono di realizzare applicazioni cross-platform e in che dominio.

Che dire, sono stato molto soddisfatto dell’evento, se non altro perche’ ho ricevuto feedback positivi sul format. Sicuramente ci siamo dovuti tarare “in corsa” con i tempi dettati dagli orari milanesi (e dalla difficolta’ di spostamento, pur avendo scelto un posto vicino alla fermata della metro)

Prossima tappa, 27 Gennaio a Roma, OppioCaffe’. Non mancate se siete in zona!

Continue reading ‘WhyMCA HappyHour a Milano, qualche considerazione’ »

Statistiche sulla diffusione di Android e sulla risoluzione dei display

Uno dei principali problemi della piattaforma Android e’ la sua frammentarieta’: ci sono diverse versioni di sistema operativo in circolazione, ognuna con feature specifiche e anche la risoluzione del display tende a cambiare da una classe di dispositivi all’altra. Di seguito riporto alcune statistiche dei programmi che ho sviluppato, ora che hanno superato le 10mila installazioni e quindi iniziano a diventare un campione significativo.

Una precisazione. Non vengono consiredate tutte le versioni di Android inferiori alla 1.6 (quindi dalla 1.5 in giu’), dato che i miei programmi non la supportano e quindi non ho statistiche di questo tipo.

Innanzitutto iniziamo con la diffusione del sistema operativo:

Come si puo’ vedere, la versione attualmente piu’ diffusa e’ la 2.1, ma anche la 1.6 si difende bene, con conseguente disperazione di noi programmatori. Questo principalmente a causa dei produttori di device che non rilasciano aggiornamenti alla piattaforma, ma piuttosto forzano all’acquisto di un nuovo dispositivo dopo neanche un paio d’anni di utilizzo del vecchio, se si vuole restare al passo con i tempi.

Passiamo poi alla risoluzione dello schermo:

Continue reading ‘Statistiche sulla diffusione di Android e sulla risoluzione dei display’ »

TextView con link ad URL

Ci sono diversi modi per creare una TextView contente una URL cliccabile in Android. Vediamone alcuni.

Aggiungere alla TextView l’attributo android:autoLink=”web”. Se il testo contenuto al suo interno e’ riconducibile ad un indirizzo web, questo verra’ automaticamente mostrato in blu con la sottolineatura tipica di un hyperlink e se ci si clicca sopra verr’a aperta la URL corrispondende nel browser. Seguono alcuni esempi.

<TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="www.rainbowbreeze.it"
  android:autoLink="web"
/>
<TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="http://www.rainbowbreeze.it"
  android:autoLink="web"
/>

Se invece si vuole ottenere un effetto piu’ complesso, tipo una parola all’intero di una frase che, se cliccata, conduce ad un sito web, allora occorre inserire un po’ di codice, oltre all’xml. Partiamo definendo la TextView

Continue reading ‘TextView con link ad URL’ »

Street Fighter IV e il mobile gaming

Se le console portatili (Nintendo DS, PSP e molte altre) erano nate per giocare in mobilita’ ma in solitaria, ad eccezione delle partire wireless, ora l’orientamento si sta evolvendo verso il gioco in socialita’. Lo dimostra un’anteprima del nuovo Street Fighter IV per Nintendo 3Ds

Modalita’ discovery automatica di altri giocatori presenti, collezionare trofei che fanno aumentare la propria reputazione da mostrare e da giocarsi contro gli avversari… Fantastico, se prima la scusa di un ritardo ingiustificato poteva essere: “Scusa, sono venuto a piedi e per strada ho incontrato un amico che non vedevo da tanto tempo e siamo rimasti a parlare un po’“, domani potrebbe diventare qualcosa tipo “Scusa, mentre venivo qui ho dovuto difendere la cintura del campione del quartiere da un tipo che mi ha sfidato, non potevo non suonargliele quattro!

Collegare G1 e Nexus One per il debug con Linux

Il test delle proprie applicazioni Android su un device reale e’ sempre un passo importante per lo sviluppo. Fortunatamente si puo’ affrontare abbastanza semplicemente questa situazione grazie al supporto dell’SDK e del sistema operativo del telefono. Nel sito di Google questa operazione e’ descritta molto bene, ma manca di alcuni particolari.

Ad esempio, l’USB VendorID da usare con un Nexus One, dato che non e’ quello HTC di default, ma bensi’ 18d1. Occorrera’ quindi aggiungere, nel file /etc/udev/rules.d/51-android.rules questa riga

SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

Aggiungendo i vari device supportati otteniamo:

#Acer
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
#Dell
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
#HTC G1 and others
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#HTC Nexus One
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
#Huawei
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
#LG
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
#Pantech
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
#Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="ZTE", SYSFS{idVendor}=="19D2", MODE="0666"

Un po’ accortezze varie che potrebbero far comodo in caso di problemi:

  • Ricordardi di abilitare il debug mode sul dispositivo come descritto nella guida
  • Rilanciare UDEV per rendere attive le modifiche: sudo restart udev
  • Rilanciare l’adb per prendere il carico il nuovo device: adb kill-server seguito da adb start-server
/etc/udev/rules.d/51-android.rules.

Modello distribuivo Serial Filling per l’Android Market

Un buon modello distributivo puo’ contribuire in maniera sostanziale alla fortuna di un’applicazione per mobile. Posizionamento e parole chiave efficaci, buoni feedback, pubblicita’ su piu’ canali. Sono tante le strategie che possono aiutare, differenziate per tipo di applicazione, pubblico, target device e altri fattori.

Ho notato che l’Android Market permette un modello distributivo ribattezzato simpaticamente da un mio amicoSerial filling“: in pratica si tratta di realizzare un’applicazione di base che va personalizzata verso un target molto specifico, per poi essere pubblicata e distribuita nelle tante versioni realizzate. In genere il guadagno e’ dato dall’advertising interno all’applicazione, quasi mai dal suo costo di acquisto.

Prendiamo ad esempio un programma che mostra le citazioni piu’ famose di un certo personaggio, la sua biografia, le foto su Internet ricercate grazie a Google Image, un suo eventuale account Twitter, video su YouTube che lo riguardano e qualche altra cosetta. Bene, create ora una versione dell’applicativo per ogni personaggio famoso che vi viene in mente, pubblicatela e boom! Abbiamo ottenuto il core-business iniziale di Idolware.

Questo particolare modello distributivo sembra realizzabile, nelle sue massime potenzialita’, solo sull’Android Market. La non necessita’ di un’approvazione prima di vederla pubblicata come avviene sull’Apple Store o l’Ovi Store rende il compito molto piu’ facile, altrimenti aspettare l’ok per 40-50 app molto simili tra loro potrebbe diventare un calvario. Anche il Marketplace di Windows Phone non permette questo approccio, dato che si possono distribuire al massimo 5 nuove applicazioni gratuite l’anno con la sottoscrizione di base, e ogni nuova applicazione costa 20 dollari. Se si e’ sicuri dei guadagni allora si potrebbe anche affrontare la spesa, ma se non si e’ sicuri, non ne vale proprio la pena…

Continue reading ‘Modello distribuivo Serial Filling per l’Android Market’ »

Appello agli sviluppatori Android per poter installare piu’ applicazioni nel proprio device

Buonaparte degli utilizzatori Android si saranno trovati a dover fronteggiare il problema della mancanza di spazio per installare nuove applicazioni. In passato a risolvere il prolema ci ha pensato App2SD, una piccola perla sviluppata dalla comunita’ hacker che permette di muovere qualunque programma nella memoria SD. Unico problema, funziona solo sui rooted device.

Dalla versione 2.2 (SDK 8), Android permette nativamente di spostare le applicazioni nella SD, ma solo se queste sono progettate per farlo. In soldoni, basta mettere questa riga nell’AndroidManifest.xml, nel tag <manifest>:

android:installLocation=”auto” oppure android:installLocation=”preferExternal”

Facile no? Peccato che moltissime applicazioni ancora non usino questa piccola accortezza. Per questo ho deciso di mandare una mail a tutti gli sviluppatori dei programmi che uso e che non la supportano ancora, chiedendogli di farlo. Se anche tu hai mancanza di spazio nel tuo device, guarda la mail dello sviluppatore nel market e inviagli il messaggio qui sotto ;)

Continue reading ‘Appello agli sviluppatori Android per poter installare piu’ applicazioni nel proprio device’ »

Come ricevere e spedire email dall’emulatore Android

k9mail logoL’emulatore Android non ha installato nessun client di posta elettronica, cosiccome le altre applicazioni rilasciate direttamente ad Google (Market, Maps ed altre). Se occorre testare un’applicazione che spedisce una mail, magari con un allegato, non si ha quindi modo di farlo. In alternativa, si potrebbe fare il debug del proprio programma direttamente da un dispositivo fisico, cosa non sempre comoda e fattibile.

Per fortuna esiste k9mail, un’applicazione che ha come obiettivo proprio quello di realizzare un client di posta elettronica prendendo spunto da quello rilasciato da Google stessa.

Una volta scaricato l’ultimo apk dell’applicazione disponibile sul sito, per installarlo nel dispositivo bastera’ andare con il prompt dei comandi (Windows) o la console (Linux) dov’e’ stato salvato il file .apk e lanciare il comando
adb install K-9-2.000.apk

Il package verra’ installato nell’emulatore e, una volta configurato con un account di posta elettronica, sara’ possibile fare tutte le prove del caso

Over the Air 2010, stavolta da casa

OverTheAir Logo

Anche quest’anno c’e’ stato l’Over The Air, la conferenza per lo sviluppo sul mobile a cui partecipo da diverso tempo e a cui stavolta, per motivi molto imporanti, non sono riuscito ad andare. Ho cercato quindi di seguirla online, anche se la cosa non e’ stata assolutamente la stessa :(

Punto di partenza fondamentale, le slide pubblicate su SlideShare. Interessanti quelle sul mobile nei paesi emergenti, Adobe Air per Android e altri hack vari, principalmente per Android. Quest’anno, dall’impressione che ho avuto seguendo il twitter-stream della conf, e’ che Android sia riuscito a surclassare l’iPhone come interesse, tra l’altro confermato da questo tweet: “Summary of #ota10 entries : Web 33% Android 29% iPhone 21% iPad 12% Qt &WP7 4%“. Durante l’hack-a-thon notturno dell’anno scorso era palese come il sistema operativo voluto da Google aveva gia’ abbondantemente fatto breccia tra gli sviluppatori, oggi sembra che anche il resto del mondo si sia accorto di lui.

Tra gli speech che non avrei assolutamente voluto perdere c’era quello di Tim Berners Lee su web semantico e OpenData. Purtroppo non sono riuscito a trovare nessuna presentazioe o riassunto online, un evento solo per chi c’era… Posso pero’ consigliare un interessante progetto italiano, LinkedOpenCamera.

Ovviamente non possono mancare le foto dell’evento, raccolte come al solito nel gruppo flickr.

Continue reading ‘Over the Air 2010, stavolta da casa’ »

Anche Wind blocca il VoIP, addio Mega 1500 e tariffa a volume

Nonostante i cambi tariffari con disinformazione al cliente, pensavo che le offerte per la connessione in mobilita’ a volume di Wind fossero le piu’ vantaggiose tra quelle dei 4 operatori di telefonia mobile in Italia, escludento ovviamente H3G per la sua copertura ancora lacunosa di diverse parti del nostro paese. Alla fine con la Mega 1500, a 8 euro al mese, potevo consumare circa 450 Mb di traffico dati e usare il cellulare per connettermi anche dal computer. Piu’ che sufficiente per usare senza problemi il mio Android e 2-3 giorni di lavoro da remoto in completa mobilita’.

Ma si sa, tutte le belle storie sono destinate a finire e Wind non fa eccezione, con la nuova, ennesima, rimodulazione delle tariffe. A partire dal 15 Novembre 2010 Mega 1500 cessa di esistere e verra’ sostituita tacitamente da Internet No Stop.

9 euro al mese invece di 8 (un aumento dell’11,25%), ma la possibilita’ di navigare illimitatamente, solo che dopo il primo gigabyte scaricato, la velocita’ massima di connessione sara’ limitata a 32 kbps (quindi 4kilobyte al secondo, immagino). Dovrebbe rimanere inalterata la possibilita’ di usare il cellulare come modem per connettere anche il computer / tablet alla Rete.

Se non che, nelle condizioni dell’offerta, c’e’ qualcosa che mi ha allarmato non poco:
“L’opzione è valida per le connessioni sviluppate in Italia mediante punto d’accesso internet.wind e wap.wind in copertura HSDPA, UMTS, EDGE o GPRS con esclusione del traffico VoIP e delle connessioni GSM. I clienti con Ricaricabile possono usufruire dell’opzione solo se hanno credito sulla SIM.”

Quindi addio Skype per parlare con i miei colleghi d’ufficio quando sono fuori sede, bye bye VoipStunt e telefonate gratis ai fissi quando sono in giro, bye bye chissa cos’altro, in barba alla Net Neutrality. Tu che sei traffico proveniente da YouTube, dalla tua casella di posta elettronica, da Facebook ecc passa pure, tu che invece sei di Skype, Fring o altre applicazioni che mi permettono di non pagare agli operatori una chiamata, fermo li, non passi.

Continue reading ‘Anche Wind blocca il VoIP, addio Mega 1500 e tariffa a volume’ »