La frammentazione nei dispositivi mobili

La frammentazione dei dispositivi sul mondo mobile è uno degli aspetti più complessi da gestire per chi sviluppa applicazioni su queste piattaforme. In questo articolo proviamo ad analizzare la situazione attuale su IOS e Android.

Quando si sviluppa una applicazione si deve cercare di fare una applicazione utilizzabile dalla maggior popolazione possibile.
Se questo aspetto per una applicazione web o PC è un falso problema, in quanto il mercato in effetti è poco differenziato, in ambito mobile diventa uno degli aspetti più complessi da gestire e che non possono non essere considerati.
Sicuramente competenze specialistiche e esperienze pregresse possono mitigare i rischi e aiutare ad affrontare questi aspetti che talvolta costituiscono un aspetto economico  rilevante soprattutto se si deve realizzare una applicazione consumer o che comunque deve essere resa disponibile a un pubblico aperto.

Il primo passo è quello di definire quale sistema operativo si vuole supportare e se si vuole fare una app per tablet o smartphone.
I due diagrammi qui di seguito (dati Ottobre 2014) ci danno una visione abbastanza reale di quale scenario dobbiamo affrontare.

Mercato piattaforme mobile OS

[fonte Kantar World Panel ComTech 2014]

 

Mercato tablet smartphone

[fonte Gartner group]

 

Si vede che, mediamente, abbiamo 1 tablet ogni 9 telefoni e 1 device iOS ogni 3 Android.
Questi dati dicono (sicuramente stiamo semplificando eccessivamente, ma ci serve per spiegare l’idea) che una applicazione per iPad (il tablet iOS) ha 30 volte meno utenti potenziali di una per smartphone Android. In ambito di revenue questo fattore di scelta è sicuramente rilevante. Anche nell'ottica di un rilascio per fasi, questi numeri ci danno una precisa idea di quali possono essere gli step più logici da seguire.


Dopo queste scelte basilari si deve guardare quali versioni di OS e quali risoluzioni supportare.
A questo punto tuttavia lo scenario diverge radicalmente dal mondo dello sviluppo tradizionale (dalle web application alle applicazioni PC); assumendo caratteristiche proprie del mondo mobile.

Analizziamo inizialmente, all’interno dello stesso OS, come la situazione possa variare sensibilmente tra le piattaforme.
Comiciamo con l'ecosistema di Apple.

iOS versions

[fonte Apple]


L’adozione delle nuove versioni da parte degli utenti iOS è sempre stato in generale piuttosto rapido.
Tuttavia i rilasci “problematici” di iOS 8.0.x hanno spinto gli utenti a essere più cauti. Teniamo inoltre presente che la versione 8 non è supportata da tutti i dispositivi e che sui device meno recenti porta sensibili rallentamenti. Questi aspetti hanno portato a una differenziazione così netta che possiamo dire che abbiamo un mercato separato nettamente in due.

Sul lato Android la frammentazione è sicuramente più spinta (si ritiene che Android sia la piattaforma più frammentata mai esistita), anche perché si deve considerare la varianza collegata alle personalizzazioni dei vari vendor dell’OS, quindi non si può dire che un Android 4.1 Jelly Bean da LG sia del tutto identico a uno da Samsung (sempre per fare un esempio).

Android versions

[fonte OpenSignal]

Android devices

[fonte OpenSignal]


Se la presenza di diverse versioni di OS ci dicono quali funzioni siano disponibili e il relativo set di API da chiamare (stiamo parlando di sviluppo applicativo), la dimensione dello schermo ci da indicazioni su come realizzare le nostra interfaccia utente (stiamo parlando di grafica).
E’ evidente che il fatto di supportare diversi vendor rende lo scenario lato Android, sensibilmente più complesso, soprattutto lato smartphone. Comunque anche lato iOS le risoluzioni stanno cominciando a differenziarsi.

IOS ANDROID Screen comparison

[fonte Concept.by]

 

Il problema critico relativo alle diverse risoluzioni è il cambio del rapporto di forma. Infatti se tale rapporto rimanesse costante, sarebbe possibile automatizzare la scalatura della grafica, ma quando questo varia a volte è necessaria la reimpostazione della interfaccia.
Sotto questo aspetto dobbiamo inoltre aggiungere la possibilità di ruotare lo schermo e quindi reimpostare completamente il layout della applicazione.

In sintesi cosa possiamo concludere?

  1. Prima di realizzare una applicazione è necessario eseguire una analisi del target che si vuole raggiungere e sulla base di questa decidere quali piattaforme/dispositivi supportare.
  2. Oltre a utilizzare ambienti di sviluppo profondamente diversi, entrambe le piattaforme richiedono attenzione nella impostazione della interfaccia grafica e delle funzioni di sistema che si vogliono utilizzare al fine di rendere la esperienza dell'utente valida indipendentemente dal dispositivo adottato.
  3. E’ necessario possedere esperienza sulle problematiche di compatibilità e affrontare la frammentazione in modo proattivo, evitando di adottare scelte che penalizzano alcuni utenti che hanno dispositivi “più potenti”, o quelli che hanno dispositivi di generazioni precedenti,

All'interno di Concept.by potete trovare esperti con una notevole esperienza nello sviluppo di applicazioni mobili, sia a livello consumer che enterprise, che vi possono aiutare a gestire questo e altri aspetti relativi allo sviluppo di una “app”.
Contattateci per le vostre problematiche su questi argomenti.

 

 



Richiesta informazioni


Ti informiamo che, per migliorare la tua esperienza di navigazione su questo sito, sono utilizzati cookie tecnici e cookie di terze parti e non cookie di profilazione.
Alla pagina privacy avere maggiori dettagli ai sensi dell'art. 13 del Codice della privacy.
Cliccando su 'Accetto' i cookie saranno attivati Accetto