Billets avec l'étiquette ‘OpenMoko’

Je joue avec l’androïde

13-11-2007 par Horacio Gonzalez
LiB geek

Il y a quelques années, à la fin de ma thèse, je m’étais lancé au développement d’applications pour les téléphones mobiles, en utilisant Java ME. L’idée était très attirant à l’époque (2004-2005), avec les premiers smartphones qui arrivaient sur le marché à des prix raisonnables, et on commençais à percevoir le potentiel de ces plate-formes portables pour faire des vraies applications connectées.

J’avais commencé de façon autodidacte, en installant le kit de développement Java ME de Sun, avec son environnement de développement et son émulateur. Quelques heures plus tard, après plusieurs essaies, plein d’aller-retour sur la documentation et des consultations sur une dizaine de forums et blogs, j’avais développé ma première application, un lanceur de dés pour World of Darkness, l’un de mes jeux de rôles favoris. Ensuite je me suis vu confronté à un nouveau problème, essayer de mettre mon lanceur de dés sur mon Ntéléphone de l’époque, un Nokia 7252i, mais avec un peu de persévérance j’ai réussi. Il ne semblait pas si dur, ce truc des applications mobiles, non ?

Je n’ai pas trop tardé en me rendre compte de mon erreur, lorsque j’ai découvert à quel point la plate-forme Java ME est fragmenté. En effet, même si la plupart des portables de gamme moyen-haute dissent supporter Java ME, les implémentations de la spécification Java ME différent d’un constructeur à un autre. Si on ajoute à ça la myriade d’extensions propriétaires de chaque constructeur, le développement des applications pour Java ME devient vite un affaire complexe et coûteux. Il fallait donc d’abord développer l’application en utilisant Java ME de la façon la plus générique possible et ensuite faire un portage vers chaque fammile de téléphone cible.

Par des hasard du destin, ce passe-temps est devenu un temps après utile dans ma vie professionnelle, lorsqu’en travaillant pour une SSII j’ai dû développer en Java ME des clients pour une application d’accès multi-modal au SI de la boîte. Là j’ai un peu touché à tous les aspects du développement de Java ME, du support réseau aux IHMs, du son au cryptage. L’espérience a été vraiment intéressant, même si les problèmes liées à la fragmentation et au portage ont consommé presque plus de temps et d’effort que l’application en elle même. Après cette mission, je suis parti sur un sujet plus lié à la voix sur IP, et depuis je n’ai plus eu la chance travailler Java ME (hors quelques petites applications ponctuelles pour une utilisation personnelle), mais je n’ai pas arrêté ma veille technologique sur le sujet.

LiB portable

Il y a quelques mois, j’ai découvert OpenMoko, un projet pour faire un système d’exploitation libre pour les téléphones portables. J’ai cru trouvé là le Graal du développement portable, on ne développerait plus pour que l’application tourne syr chaque type de terminal différent, on développerait l’application pour tourner sur une cible unique, le système d’exploitation. Un système d’exploitation libre comme OpenMoko pouvait résoudre le problème de la fragmentation de la même façon que les systèmes d’exploitation PC le font dans le monde des PCs de bureau. Lors de la sortie du premier téléphone équipé d’OpenMoko, le Neo 1973 dont je vous ai déjà parlé, le projet semblait se concrétiser, mais il était encore loin d’être un vrai système grand public.

Cette semaine la donne a complètement changé. Si vous avez suivi les news ces derniers jous, nous avez sans doute entendu parler d’Android, la nouvelle plate-forme de Google pour des applications mobiles. Android a donc la même vocation qu’OpenMoko, être un système d’exploitation libre et ouvert pour des terminaux portables, avec les outils nécessaires (parmi lesquels une implémentation de Java ME) pour qu’on puisse développer des applications mobiles pour le système sans se soucier du hardware sous-jasent.

Mais là où OpenMoko est un petit projet soutenu par une poignée de développeurs avec plus de courage et envie que des moyens, Android est poussé par Google même, avec le soutien de l’Open Handset Alliance, dont la liste de membres est assez impressionnante.

Et pour montrer que cela est sérieux, à peine une semaine après l’annonce, Google a mis à disposition des développeurs le SDK (kit de développement) d’Android. Vous pouvez le télécharger ici. Moi, je l’ai déjà téléchargé et installé sur mon ordinateur, et j’ai commencé à le regarder.

Alors si mon rythme de blogging se ralentit cette semaine, vous savez à quoi ça sera dû : je serai en train de jouer avec l’androïde !

iPhone ? Non, merci, donnez-moi un Neo 1973 d’OpenMoko

09-07-2007 par Horacio Gonzalez
Méchant iPhone fermé !

Lors de l’annonce de l’iPhone d’Apple j’ai écris un billet très enthousiaste, il semblait que enfin les téléphones portables allaient devenir des vraies plate-formes multimédia ouverte. Mais le soufflé est vite retombé lorsque quelques jours après Steve Jobs prévenait que l’iPhone allait être bien verrouillé par les DRM, au point qu’il serait impossible d’y installer des logiciels non fournis par Apple.

Aujourd’hui l’iPhone est déjà sorti, avec un énorme succès médiatique et commercial. Mais moi, quitte à dépenser de l’argent dans un téléphone portable mon téléphone portable, je ne le ferais pas dans un iPhone. Car mon téléphone rêvé n’est pas l’iPhone, mais un autre : le Neo 1973 d’OpenMoko.

Neo 1973 by OpenMoko

Qu’est-ce qu’il a de si spécial ce Neo 1973 ? A part un design sexy et des fonctionnalités hardware semblables à un HTC dernier cri, le Neo 1973 est le premier téléphone ouvert du monde. Ouvert car il est issu du projet OpenMoko, qui vise à créer des smartphones open-source.

Le software des téléphones portables actuels n’est pas open source, c’est du software propriétaire des compagnies qui les fabriquent. Ces compagnies peuvent ouvrir plus ou moins leur plate-forme aux développeurs externes (Nokia est un exemple de compagnie qui ouvre beaucoup, avec ses téléphones sur Symbian, Apple est l’exemple contraire avec son iPhone archi-verrouillé), mais le coeur de la plate-forme reste propriétaire.

D’une certaine façon, OpenMoko à faire évoluer le monde de la téléphonié mobile d ela même façon que le monde des ordinateurs il y a une trentaine d’années. A l’époque le système d’exploitation était lié au hardware, lorsqu’on achetais un ordinateur (et ce “on” à l’époque était surtout des entreprises) on achetait le software du fabricant avec, les deux choses étaient liées. Avec l’arrivée des ordinateurs personnels et d’une architecture standard Intel 8086, les IBM compatibles, le fabricant du hardware n’imposait plus son système d’exploitation, il y avait des fabricants de hardware et des producteurs de software (et c’est là que Microsoft a commencé à construire son empire, avec le premier système d’exploitation grand publique pour les IBM Compatibles, MS-DOS. La généralisation d’un système d’exploitation standardisé et non verrouillé facilite grandement le développement d’applications, il n’était plus nécessaire de récrire et recompiler les applications pour chaque nouveau modèle d’ordinateur, il suffit d’écrire pour le système d’exploitation et tous les ordinateurs qui utiliseront ce système pourront utiliser l’application. La suite, on la connaît tous, l’arrivée en force de l’informatique grand public.

Dans le monde des téléphones portables, cette révolution ne s’est pas encore produite. Développer des applications pour des téléphones portables peut s’avérer un vrai enfer, et croyez-moi, je sais de quoi je parle. Même le fameux système d’exploitation Windows Mobile n’aide pas beaucoup, car en plus d’être presque aussi verrouillé et chargé de DRM que son cousin Vista, on ne peut pas vraiment espérer qu’une application compilé pour un téléphone concret sur Windows Mobile marche sur un téléphone d’une autre marque, qui utilisera un processeur différent.

LiB et le Neo 1973

OpenMoko cherche à créer une plate-forme libre pour des téléphones portables, un système d’exploitation libre et ouvert, basé sur Linux. Dans l’idéal, leur système d’exploitation pourra s’installer sur des téléphones de différents fabricants, comme on peut aujourd’hui installer un Linux sur des ordinateurs de différents fabricants, et le software développé pour OpenMoko marchera de la même façon sur tous les téléphones qui porteront le système d’exploitation.

Un rêve de geek sans aucune possibilité de devenir réel ? Je ne crois pas, car depuis aujourd’hui, on peut commander le Neo 1973, le premier téléphone avec OpenMoko pré-chargé. Pour l’instant c’est une beta, une modèle pour développeurs, mais en octobre il sera suivi par le modèle grand public. On verra bien si dans quelques années on parle de ce Neo 1973 comme aujourd’hui de l’Intel xx86. En tout cas, je l’espère… et en attendant, je vais essayer d’obtenir un de ces Neo 1973.

Note : un projet semblable à OpenMoko est le Greenphone de TrollTech, mais celui-ci est plus dans une logique d’outil pour des développeurs que de vrai téléphone portable grand public.