Les applications iPhone et Android sont nombreuses mais ce ne sont pas les seuls smartphones du marché. BlackBerry est un acteur historique du marché qui a lui aussi créé son store d'applications le 1er avril 2009. Des entreprises se posent donc la question de porter leur application iPhone ou Android vers les mobiles BlackBerry. Voici quelques éléments qui vous permettront de vous faire une idée sur du portage BlackBerry depuis iPhone ou Android.
Si avec les smartphones iPhone et Android nous sommes habitués à avoir de grands écrans tactiles en mode portrait, les BlackBerry ont majoritairement des écrans non tactiles en mode paysage. Seul le Storm possède un écran tactile et en mode portrait. Ces deux changements ont de fort impacts sur l'ergonomie et la navigation des applications. Il faut repenser les écrans de votre application pour qu'ils soient adaptés mais aussi prendre en compte que l'interaction avec ces écrans ne va pas se faire tactilement mais à l'aide d'une molette. On s'approche alors plus de l'utilisation d'une souris.
Ces changements de paradigmes entrainent qu'il est impossible de faire un portage d'une application iPhone ou Android sur BlackBerry sans remettre en cause l'application. Cela revient à construire totalement le produit où seulement le brainstorming des fonctionnalités majeures aurait été fait.
Le langage de développement sur BlackBerry est le Java comme pour Android. Développant sur la plateforme mobile de Google, je pensais retrouver certaines similitudes mais elles sont peu nombreuses. On utilise bien le même IDE (Eclipse) pour développer et JUnit peut être utilisé pour les tests unitaires mais c'est à peu près tout.
La construction des écrans est très différente de ce qui se pratique sur iPhone et Android. La création des écrans se réalise sur iPhone en mode WYSIWYG avec Inteface Builder qui produit des fichiers XML. Sur Android, on produit soi-même ces fichiers XML décrivant simplement et rapidement les écrans, un peu comme le HTML pour le web. Ces deux manières de faire permet de séparer proprement la création des vues de leur contrôle.
Sur BlackBerry, les écrans doivent entièrement être codé en Java. Même pour des écrans simples, ceci nous amène rapidement à des classes très verbeuses qui seront peu agréables à maintenir. La productivité de développement des écrans pâtit également de cette verbosité.
L'aspect visuel des applications BlackBerry est moins recherché que sur les applications iPhone ou Android. Leur style graphique est souvent sobre et les images sont exclusivement utilisées pour faire des boutons. Les deux captures d'écrans illustrent bien la pauvreté graphique des écrans des applications BlackBerry.
Si cette fragmentation est relativement faible sur Android (3 versions OS utilisés et 2 résolutions différentes), ce n'est pas le cas des téléphones BlackBerry pourtant tout issus du même constructeur : RIM. Apple n'a pas ce souci puisque les possesseurs d'iPhone mettent régulièrement à jour leur OS et qu'il n'y a que deux résolutions à gérer depuis l'iPhone 4.
La page Wikipedia de BlackBerry OS montre que les BlackBerry fonctionnent sur plus de cinq versions différentes. Cela peut paraître légèrement supérieur à Android mais les téléphones Google sont mis à jour plus facilement (Over The Air). De plus, l'impact lié à cette fragmentation des OS n'est pas aussi important que sur BlackBerry comme nous le verrons dans la section suivante. Chaque modèle de téléphone BlackBerry possède une résolution différente.
Le succès des applications d'iPhone et Android s'explique en partie par la forte intégration entre les applications et le matériel. Les choses se compliquent avec les BlackBerry car ces possibilités d'intégration sont très variables d'une version OS à l'autre.
Une fonctionnalité fréquemment utilisée dans les applications Android et iPhone est l'utilisation d'une carte avec géolocalisation pour y ajouter vos POI. Sur BlackBerry, il n'est pas possible d'intégrer facilement Google Maps dans votre application. Il faut soit débrancher vers l'application Google Maps sous condition que l'utilisateur l'ait déjà installé, soit intégrer BlackBerry MapField mais qui n'est disponible qu'à partir de la version 4.6 de BlackBerry OS. Ceci peut limiter énormément le parc d'utilisateur potentiel.
Ce n'est qu'à partir de la version 4.7 qu'il est possible de vraiment interagir avec l'appareil photo. Dans le cas contraire vous perdez le concept de "tout en un", votre utilisateur sera obligé de quitter votre application pour prendre une photo puis de la relancer et de sélectionner la photo qu'il a prise précédemment.
Toutes les applications n'ont pas besoin d'une base de données mais il est parfois très intéressant d'en posséder une. Si les OS Android et iPhone permettent d'utiliser facilement SQLite, cette base de données relationnelle n'est disponible qu'à partir de la version 5.0 sur BlackBerry.
Alors que le nombre d'applications a augmenté significativement sur l'AppStore et l'Android Market, peu de nouvelles applications sont disponibles sur BlackBerry App World (cf. Apple's iPhone Platform Still Light-Years Ahead). Peu de marketing est fait autour des applications BlackBerry mais ce n'est certainement pas la seule raison.
Dans une étude réalisée par Crowd Science, on apprend que 40% des utilisateurs BlackBerry sont prêt à changer pour un iPhone mais aussi que 32% changeraient pour le Nexus One de Google. Tandis que 90% des utilisateurs d'iPhone ou d'Android pensent reconduire leur choix au prochain changement de téléphone. Crowd Science explique ce chiffre par la volonté de la plupart des gens d'utiliser leur smartphone à la fois au travail et dans leur vie personnelle. Ainsi on observe que 33% des possesseurs d'iPhone l'utilisent uniquement hors du travail, un chiffre qui tombe à 16% pour les propriétaires de BlackBerry. L'usage des BlackBerry est donc majoritairement professionnel ce qui explique l'utilité faible d'un store.
La faible utilisation dans la vie personnelle et les contraintes techniques n'attirent pas les développeurs sur cette plateforme. Nul doute que si RIM veut voir son nombre d'applications grimper, elle devra offrir aux développeurs un nouveau kit de développement permettant d'être plus productif et plus créatif dans la construction des écrans.