Depuis quelques temps les rumeurs vont bon train et malgré la sortie d’Android, beaucoup continuent à croire à une autre surprise de la part du géant de la recherche et de la publicité en ligne.
Le Wall Street Journal notamment évoque l’intérêt que Google semble montrer pour l’acquisition de la bande des 700 MHz aux USA. En effet, cette bande de fréquence sera mise aux enchères début 2008 et Google devrait faire une proposition d’au moins 4,6 milliards de dollars.
Cette rumeur additionnée à la sortie d’Android laisse croire que Google pourrait devenir un opérateur de téléphonie mobile. Si tel était le cas, nous savons qu’il serait particulièrement différent des autres opérateurs et que cela bousculerait le marché actuel, à la manière de Free sur le marché de l’aDSL.
Android est un logiciel libre basé sur d’autres logiciels libres (linux en particulier, mais pas seulement). Mais il existe beaucoup de licences différentes dans l’univers du logiciel libre.
Pour ne pas nous y perdre, revenons aux fondamentaux.
Un logiciel dit libre est un logiciel qui offre à son utilisateur 4 libertés :
La liberté d’exécuter le programme pour tout les usages
La liberté d’étudier le fonctionnement du programme (code source livré)
La liberté de modifier le programme
La liberté de redistribuer des copies du programme ou de ses modifications (y compris à la vente)
Ces 4 libertés sont celles qui distinguent le logiciel libre de l’open source (qui ne respecte que 2 ou 3 des libertés) et bien sûr du logiciel propriétaire (qui ne respecte souvent que la première, et parfois aucune).
Il y a beaucoup de raisons de faire du logiciel libre :
Et il y a donc par conséquent beaucoup de licences différentes en matière de logiciel libre :
Licence BSD : chaque copie doit citer l’auteur original, mais la copie peut changer de licence
Licence GPL : chaque copie reste sous licence GPL, et si un morceau de code GPL est utilisé dans une application, cette dernière passe sous licence GPL.
Licence Apache : du code sous licence Apache peut être intégré dans des applications propriétaires
…
Le choix de Google s’est porté sur la licence Apache (ASL). Beaucoup de développeurs de la frange idéologique du logiciel libre regrettent ce choix en raison du potentiel commercial qu’il offre.
En effet, il est considéré normal qu’une entreprise exploitant du code libre renvoit la balle en partageant son propre travail. C’est une obligation dans le cadre de certaines licences et c’est ce qu’un certain nombre de développeurs auraient souhaité.
Cela étant, le monde de la téléphonie mobile possède beaucoup de différences avec celui du développement applicatif traditionnel. Il est notamment beaucoup plus commercial et beaucoup plus fermé aux initiatives libres.
C’est ce constat qui a poussé Google a choisir pour son travail une licence permissive qui n’effraie pas les entreprises éditrices de logiciels tiers. De cette façon, elles peuvent continuer à fonctionner comme avant Android, tout en enrichissant le catalogue logiciel de cette plateforme.
Google a donc choisi la voie qui lui permet d’imposer sans contraintes sa plateforme mobile.
La sortie du kit de développement d’Android semble avoir motivé beaucoup de développeurs adapteurs mais, n’en déplaise à Nokia, les entreprises aussi semblent particulièrement intéressées par le développement applicatif pour cette nouvelle plateforme mobile.
En effet, Funambol lance son client de synchronisation et de messagerie pour Android. Il permettra aux utilisateurs de synchroniser votre mobile avec Gmail, Yahoo Mail, Outlook, etc. facilement et bien sûr d’envoyer des mails.
Petit détail qui joue : c’est du logiciel libre et il y a une communauté derrière ce logiciel.
Vous pouvez par ailleurs lire l’interview de Fabrizio Capobianco le PDG de Funambol à propos de l’avenir de Linux dans le monde mobile sur TechNewsWorld.
Funambol n’est pas novice sur le secteur des applications mobiles : on lui doit un certain nombre d’outils autour de la synchronisation et du push email.
Ses solutions fonctionnent sur un grand nombre de plateformes ; du téléphone java à Windows mobile en passant par l’iPhone.
Il faut dire que c’est un concept complètement novateur que la société W2PI est en train de développer.
Il s’agit en fait d’un jeu de tir dans lequel votre arme est l’appareil photo de votre téléphone. Repérez vos ennemis sur Google Map aidé de votre GPS et prenez les en photos pour les éliminer
Je ne sais pas ce que vous en pensez, mais je trouve cette idée vraiment géniale. Elle est un peu beaucoup dans l’esprit du jeu StreetWars, mais avec la donne technologique en plus.
Google continue les annonces et les sorties sur ses applications mobiles.
La dernière annonce concerne Google Map : cette technologie permet d’offrir une localisation, sans GPS, grâce aux informations transmises par l’opérateur, comme par exemple, le numéro et la position de l’antenne. Déjà présent sur plusieurs applications, cette technologie est maintenant offerte au plus grand nombre grâce à google map mobile.
… C’est plus qu’un concept, c’est une évolution technologique et sociale vers laquelle on tend. Je viens de repérer cette vidéo d’Intel sur le blog de Boris Shapira :
Toutes les technologies nécéssaires existent déjà. Boris nous explique pour le marché ne va pas plus loin mais j’aimerai rajouter quelque chose à ces explications.
Ce qui manque encore, c’est plus d’interopérabilité car la mobilité n’est en fait que le fruit de la convergence des supports. L’idée de départ est que l’information n’a qu’une nature. Il n’y a pas plusieurs types d’information et elle devrait donc être traitée de la même façon et par le même appareil. Mais pour arriver à concrétiser cette idée, il faut que tout soit connecté, que l’on puisse par exemple avoir dans sa bibliothèque multimedia, aussi bien des fichiers mp3, que des radios, que des titres sur Deezer, que des vidéos en local, que des chaines de TV, que des vidéos sur Youtube, etc.
Ces problématiques d’interconnexions, etc. ne peuvent être que résolues par deux systèmes embarqués aujourd’hui : Windows CE (dont Windows Mobile est une distribution) et Linux (dont Android est (entre autre) une distribution).
Il y a fort à parier que dans les années à venir, aucun autre acteur ne sera réellement dans la course. Apple pourrait se lancer sur ce marché, mais avec un système trop fermé pour être véritablement interconnecté et visant un marché haut-de-gamme qui évoluera différemment du reste.
Ces terminaux mobiles ne seront en fait que le support physique, la manifestation concrète d’un système d’information personnel chargé de gérer votre emploi du temps, vos contacts, vos correspondances, votre domicile, etc. C’est pour cela que l’idée de compatibilité est particulièrement importante et que l’emploi de micro-formats est primordial pour ces machines communiquantes
Comprenons bien qu’aujourd’hui, il ne s’agit plus de smartphones, mais bien de terminaux mobiles, chaque jour plus petit, plus fiable, plus connecté, chaque jour plus vous-même faisant du couple individu-terminal un Android …
Il y a ceux qui aiment Eclipse et qui font tout avec (Java, C, PHP, Python, mais aussi traitement de texte, tableur, etc.) et puis il y a ceux qui n’aiment pas.
Chacun ses outils et ses habitudes, c’est quelque chose que nous ne discuterons pas. Cela étant, pour le moment il n’était possible de travailler correctement sur Android qu’avec le plugin Eclipse de Google, ou éventuellement le script Python. Mais c’est en passe de changer.
Les gars de chez IntelliJ IDEA viennent de sortir une première version d’un plugin pour créer des projets Android.
Vous pouvez consulter la présentation de cet environnement de développement sur Developpez.com, et télécharger le dit plugin sur le Google Code du projet.
D’après le site américain InformationWeek, AT&T, l’opérateur américain qui a l’exclusivité de l’iPhone pourrait rejoindre l’Open Handset Alliance, c’est-à-dire le consortium mené par Google pour imposer Android comme plateforme mobile.
Inutile de préciser la portée d’un tel changement de stratégie à première vue complètement absurde. Cela étant, la politique de partage des revenus d’Apple avec les opérateurs puis son succès pas aussi important que prévu ont parfaitement pu pousser AT&T à relativiser son engagement auprès d’Apple.
Nous devrions pouvoir confirmer ou non cette rumeur d’ici quelques jours.
C’est Orange qui a ouvert le bal des opérateurs avec la signature de son accord avec Apple. L’opérateur historique a vite été rejoint par SFR qui a organisé la risposte avec ses offres “Illimythics“.
C’est maintenant au tour de Bouygues Télécom de lancer (timidement) son offre 3G en commençant par cibler les professionnels.
Les opérateurs français sont donc presque prêts à accueillir des mobiles 3G. Reste à étoffer le réseau.
Ceux qui ont au moins commencé les tutoriaux disponibles savent que Google a opté pour l’utilisation de fichiers XML pour gérer l’affichage des informations sur l’écran.
Quel est l’intérêt d’utiliser le XML plutôt que de coder comme habituellement l’affichage en Java … ?
Pour répondre à cette question, je vais utiliser une petite analogie avec le web. Depuis quelques temps, le W3C (qui est en quelque sorte l’organe de référence du web) prône l’utilisation du XHTML (du XML donc …) et du CSS. Derrière cela se cache l’idée de séparer le contenu (décrit en XML) du design (qui lui est décrit en CSS).
Cette séparation permet notamment aux utilisateurs de choisir la façon de visualiser un site web (on pense notamment aux logiciels d’accessibilité pour les internautes aveugles ou mal-voyants). Elle permet aussi au webmaster de changer son design sans intervenir dans le contenu de son site.
En terme de développement applicatif, c’est un peu pareil. Il s’agit cette fois de séparer l’affichage de l’algorithmie. De cette façon, on peut rapidement traduire une application, sans avoir à farfouiller dans le code et sans avoir peur de faire d’erreurs, on peut aussi proposer facilement à l’utilisateur de sélectionner une vue qui lui convient (on sait combien les écrans de téléphones peuvent être différents les uns des autres), etc.
Cette séparation est profitable à tous et il serait dommage de passer à côté.
Pour aller plus loin :
Cette séparation entre couche de présentation et code “logique” est utilisé dans de nombreux framework, qu’ils soient web ou non. C’est le design pattern connu sous le nom de MVC. Je vous laisse aux pages de wikipedia pour progresser sur le sujet.