Posts Tagged ‘Smartphone’

Post-PC, le nouveau sens de multiplateforme

jeudi, décembre 26th, 2013

Un développeur de logiciels propriétaires se pose rarement la question des plateformes supportées par son logiciel. Il développe souvent exclusivement pour un système d’exploitation, avec les outils propriétaires fournis avec son système et ne fonctionnant que sur ce dernier.

Un développeur de logiciels libres est lui naturellement obligé de se poser la question, car il a le choix de ses technologies, et que son système d’exploitation est peut-être minoritaire et donc peu supporté. De plus, il souhaite logiquement toucher le plus large public possible, car ce serait dommage de s’en priver quand on produit du code libre d’être diffusé !

Concernant le poste client, la problématique du multiplatforme s’est posée pendant des années en ces termes :

Est-ce que mon programme fonctionne sous Windows, Mac OS X et GNU/Linux ?

Les parts de marché étaient réparties selon un classique et très stable :

95% Windows
4% OS X
1% Linux

Qui après une décennie de numéros marketing de Steve Jobs autour de l’iPod et du côté hype d’être équipé d’ordinateurs Apple avait abouti à un finalement presque équivalent :

90% Windows
9% OS X
1% Linux

Mais les choses ont vraiment changé sous l’impulsion d’Apple rapidement suivi par Google, avec l’arrivé de l’iPhone en 2007 :

smartphone

Celle de l’iPad en 2010 :

tablet

Et la déferlante de smartphones et tablettes Android qui s’en est suivie. Un changement radical et extrêmement rapide :

multiplateforme

Apple et Google nous ont fait rentrer dans l’ère post-PC des smartphones et des tablettes. Ces trois slides, extraits de la présentation faite par Lars Knoll au cours des Qt Developer Days 2012, ont déjà plus d’un an, et la situation s’est encore accentuée depuis.

Bien sûr, on peut légitimement se réjouir de voir Android, un système d’exploitation libre basé sur Linux, dominer aussi outrageusement les systèmes d’exploitation propriétaires, donnant ainsi au libre l’éclatante victoire qu’il n’avait jamais obtenue sur le poste utilisateur classique.

Cependant, c’est bien un cri d’alarme que je souhaite lancer, car j’ai l’impression que pendant que des milliers (millions ?) d’applications propriétaires sans intérêt sont produites pour ces nouvelles plateformes, les logiciels libres de type applicatif n’y sont que très peu représentés, pour ne pas dire totalement absents.

Cette situation n’est pas complètement absurde, car un développeur de logiciels libres est un utilisateur productif. Un ordinateur dépourvu de clavier ne lui permettant pas de programmer, il n’en fera jamais sa machine principale, et il aura une vision des usages informatiques construite sur cette réalité, qui est la sienne.

À titre personnel, j’ai une utilisation assez limitée de mon smartphone, qui n’est qu’un téléphone me permettant de lire mes mails et m’indiquant ma position sur une carte, et je ne suis pas près d’avoir une tablette.

Mais il faut prendre conscience que certaines personnes ont rangé leur ordinateur portable dans une armoire, et qu’elles n’utilisent plus que leur tablette et leur smartphone, et ce de manière intensive.

On peut aussi voir cela comme une opportunité à saisir, car s’intéresser à ces nouvelles plateformes mobiles c’est aussi penser à de nouvelles fonctionnalités ou à de nouveaux types d’utilisation qui n’avaient pas lieu d’être jusqu’à présent.

Pour que la situation des applications libres évolue dans le bon sens, il faut d’urgence repenser la problématique du multiplatforme ainsi :

Est-ce que mon programme fonctionne sous Windows, Mac OS X, GNU/Linux, iOS et Android ?

Ubuntu Edge à 695$, Canonical casse les prix

jeudi, août 8th, 2013

L’Ubuntu Edge est un projet de smartphone haut de gamme utilisable sous Android et Ubuntu mobile, mais surtout fournissant un bureau Ubuntu complet (les trois systèmes d’exploitation partageant le même noyau Linux).

C’est la première vraie proposition de convergence réelle, innovante et crédible faite par une entreprise, ce qui explique pourquoi j’en souhaite vraiment la réussite. Et pour une fois cette innovation grand publique majeure viendrait des logiciels libres, ce qui me permet d’y adhérer pleinement.

Pour commencer la production Canonical a lancé, le 22 juillet 2013, une campagne de financement participatif extrêmement ambitieuse, puisqu’elle vise à récolter pas moins de 32 millions de dollars.

Aujourd’hui, alors que plus de la moitié des 30 jours de campagne se sont écoulés, la somme d’argent accumulée de plus de 8 millions de dollars, bien qu’impressionnante à bien des égards, ne semble pas suffisante pour espérer boucler le financement.

Ainsi, les statisticiens appelés à la rescousse pour évaluer les chance de réussite de la campagne pronostiquent-ils une somme finale de 22 millions de dollars. Et quand on visualise la dynamique de la situation, on peut même penser que c’est une prévision déjà plutôt optimiste :

Rappelons que c’est une campagne de type tout ou rien, c’est à dire que soit les 32 millions de dollars sont atteints et dépassés, soit ils ne le sont pas et dans ce cas les sommes sont remboursées. C’est donc pour réagir à cette situation difficile pour le projet que Canonical a fait deux annonces aujourd’hui.

La première est la création d’une offre spéciale orientée entreprise de 100 Ubuntu Edge plus 30 jours de support pour 80 000 dollars.  L’adhésion à cette offre de Bloomberg, qui est une entreprise de grande notoriété, est mis en avant pour essayer de convaincre d’autres entreprises.

La seconde est la baisse du prix de l’Ubuntu Edge à 695$ (environ 520 euros), auxquels il faut ajouter 30$ de port si l’on réside ailleurs qu’aux États-Unis ou au Royaume-Uni. Alors que la politique de prix a connu plusieurs ajustements successifs, laissant poindre une certaine forme d’improvisation, ce prix d’appel devrait être le dernier.

Si vous voulez croire en ce projet, c’est donc maintenant ou jamais !

Pour ceux qui, comme moi, ont déjà investi leurs économies dans un Ubuntu Edge vendu à un prix plus onéreux, pas d’inquiétude, Canonical remboursera la différence à la fin de la campagne.

Jailbreak aux USA : smartphones toujours, tablettes pas encore

mercredi, novembre 7th, 2012

Le 26 octobre 2012 a été publiée la cinquième version des exceptions à l’interdiction de contournement des systèmes de protection du Copyright (droit d’auteur) aux États-Unis. Ces exceptions sont débattues dans le cadre d’une longue procédure de consultations participatives prévue par la section 1201 du Digital Millennium Copyright Act (DMCA), et menée par le bureau du Copyright de la bibliothèque du Congrès.

Cette révision triennale de la réglementation a pour but de permettre une adaptation rapide du cadre juridique aux évolutions technologiques. C’est une manière de procéder très différente de la nôtre, puisque nous bénéficions en France d’un cadre légal définissant à l’article L. 122-6-1 IV du Code de la propriété intellectuelle une exception globale à des fins d’interopérabilité :

La reproduction du code du logiciel ou la traduction de la forme de ce code n’est pas soumise à l’autorisation de l’auteur lorsque la reproduction ou la traduction au sens du 1° ou du 2° de l’article L. 122-6 est indispensable pour obtenir les informations nécessaires à l’interopérabilité d’un logiciel créé de façon indépendante avec d’autres logiciels […]

Le défaut de cette méthode est que c’est le juge qui trace la limite par la jurisprudence, et qu’en l’absence de contentieux et donc de jugements, nous sommes confrontés à une forme « d’insécurité juridique ». Les américains savent eux de manière beaucoup plus claire ce qu’il est possible de faire ou non. Ainsi, concernant les smartphones et les tablettes, c’est la classe B qui nous intéresse :

B. Wireless Telephone Handsets—Software Interoperability

Computer programs that enable wireless telephone handsets to execute lawfully obtained software applications, where circumvention is accomplished for the sole purpose of enabling interoperability of such applications with computer programs on the telephone handset.
This exemption is a modification of the proponents’ proposal. It permits the circumvention of computer programs on mobile phones to enable interoperability of non-vendor-approved software applications (often referred to as ‘‘jailbreaking’’), but does not apply to tablets—as had been requested by proponents—because the record did not support it.

Mais qui étaient donc les « proponents » , c’est à dire ceux qui ont proposé et soutenu cette classe de périphériques, qui voulaient pouvoir jailbreaker non seulement leurs smartphones, mais aussi leurs tablettes ?

Proponent Electronic Frontier Foundation (‘‘EFF’’), joined by New America Foundation’s Open Technology Initiative, New Media Rights, Mozilla Corporation (‘‘Mozilla’’), and the Free Software Foundation (‘‘FSF’’), as well as several hundred individual supporters

Il n’est pas surprenant d’y retrouver l’EFF, déjà à l’origine de la proposition en 2010, soutenue par les groupements du logiciel libre les plus influents politiquement, la FSF et Mozilla, ainsi que par des centaines de particuliers. Mais pourquoi le bureau du Copyright a-t-il refusé de considérer cette nouvelle catégorie de périphériques ? Le FUD habituel d’un lien entre jailbreak et « piratage », c’est-à-dire « contrefaçon » en droit français, est balayé d’un revers de main :

While Joint Creators raised concerns about pirated applications that are able to run on jailbroken devices, the record did not demonstrate any significant relationship between jailbreaking and piracy.

C’est en fait le caractère mal défini ou trop large de l’appellation « tablette », recouvrant potentiellement trop de types de périphériques différents, qui est la justification du refus :

The Register found significant merit to the opposition’s concerns that this aspect of the proposed class was broad and illdefined, as a wide range of devices might be considered ‘‘tablets,’’ notwithstanding the significant distinctions among them in terms of the way they operate, their intended purposes, and the nature of the applications they can accommodate. For example, an ebook reading device might be considered a ‘‘tablet,’’ as might a handheld video game device or a laptop computer.

Même si l’agence gouvernementale américaine des télécoms (NTIA) était d’un tout autre avis, puisqu’elle considérait la définition proposée par l’EFF comme totalement pertinente :

NTIA was persuaded that the proposed class should apply to tablets as well as mobile phones, believing that category to have been sufficiently defined by EFF.

Cependant, le bureau du Copyright n’insulte pas l’avenir et laisse la porte ouverte pour les prochaines révisions des exceptions :

In future rulemakings, as mobile computing technology evolves, such a definition might be more attainable

Dont acte, rendez-vous en 2015 !

 

 

Smartphones Linux : le point du dev

vendredi, janvier 15th, 2010

Un petit point sur le hardware et le software disponibles pour un développeur libre qui voudrait utiliser un smartphone et développer dessus.

Il existe trois plateformes basées sur Linux (je n’écris volontairement pas GNU/Linux car si Android utilise bien le noyau Linux, il n’utilise pas pour autant les outils GNU) :

Maemo :

Maemo est censé, chez Nokia, remplacer Symbian qui est dépassé technologiquement pour les nouveaux usages mobiles. Après avoir été expérimenté (trop) longuement (depuis 2005 !) sur les tablettes N770, N800 et N810, il est enfin disponible sur un téléphone : le N900, depuis novembre 2009.

Or, si le N900 est disponible, il utilise la plateforme Maemo 5 qui va disparaitre et aucun smartphone n’est disponible sous Maemo 6. Je ne lancerai donc pas une énième fois le troll GTK (Maemo 5) vs Qt (Maemo 6) qui n’a juste pas lieu d’être : Maemo n’est pas dans la course. Et à la vitesse où va cette course, il ne parviendra peut-être jamais à y rentrer.

Je ne m’étendrai pas sur Maemo car je veux à la fois développer des applications  que je puisse  tester,  et que d’autres puissent utiliser, et il faut pour cela pouvoir se procurer un smartphone adapté, et ne pas m’investir dans une plateforme en fin de vie. De plus, le fait que Maemo utilise Xorg le rend techniquement contestable, tant la complexité et la lourdeur inhérentes à X11 sont malvenues sur un smartphone.

Android :

Du côté d’Android c’est une toute autre histoire. Des smartphones sont disponibles depuis octobre 2008 aux États-Unis et mars 2009 en France. Au niveau commercial c’est déjà une grande réussite : Android est la plateforme qui progresse le plus et s’est imposé en un an comme le principal (le seul ?) challenger de l’iPhone (voir les statistiques d’AdMob pour plus de détails).

D’un point de vue technique, Android fournit un SDK basé sur le langage de programmation Java. Cependant, il ne repose pas sur la JVM de Sun, mais sur Dalvik, une machine virtuelle à registres (comme Parrot) spécialement développée pour les contraintes hardware (mémoire faible, processeur peu puissant…) de l’embarqué. Dalvik est à ma connaissance la seule machine virtuelle à registres qui soit un succès industriel, face à la masse des machines virtuelles à pile (JVM de Sun, CLR de Microsoft…).

Mais que peut-on faire si on ne veut pas programmer en Java ? Les développeurs ont souvent un langage de programmation favori, qu’ils ont peu ou pas envie d’abandonner ; dans mon cas c’est PythonOn pense alors naturellement aux implémentations des langages écrites en Java, Jython pour Python ; mais si elles fonctionnent sur la JVM de Sun, ce n’est pas forcément le cas pas sur Dalvik ! Heureusement, Google a pensé à nous avec ASE, l’Android Scripting Environment, qui permet d’utiliser l’ensemble des API Android à partir de différents langages interprétés, et le choix est vraiment grand : Python, Lua, Perl, Ruby, JavaScript, BeanShell et même shell !!

Tous les langages ne sont pas égaux devant ASE. Les langages natifs, c’est-à-dire écrits en Java, comme Ruby basé sur JRuby, JavaScript basé sur Rhino ou encore BeanShell, peuvent théoriquement accéder directement aux API Java natives, alors que les langages « cross-compilés », comme Python (basé sur CPython) ou Lua qui sont écrits en C, ne peuvent procéder que par des appels JSON RPC. C’est cependant cette dernière méthode qui semble conseillée quel que soit le langage utilisé.

Je suis donc maintenant motivé pour me lancer dans l’aventure Android, d’autant que Google vient d’anoncer, lors d’une conférence de presse le 5 janvier, le lancement de son premier smartphone : le Nexus One fabriqué par HTC. C’est tout simplement une « bête de course » du point de vue hardware : processeur à 1 Ghz, 512 Mo de RAM et un écran 3,7″ d’une résolution de 480*800 (pour rappel l’iPhone 3GS fonctionne à 600 Mhz avec 256 Mo de RAM et un écran 3,5″ en 320*480) !!! La disponibilité du Nexus One en France est prévue pour le mois de mars.

J’hésite cependant encore avec le Motorola Milestone, qui a lui l’avantage d’être déjà disponible et de posséder un clavier physique, ce qui pourrait se révéler bien pratique pour des sessions d’administration de machines par SSH, avec le terminal en plein écran !

webOS :

Il y a un an, lors du CES de janvier 2009, Palm avait créé l’évènement avec l’annonce du Palm Pré et de son nouveau système d’exploitation : webOS. Les critiques avaient été très élogieuses et l’on a même pensé que l’on tenait là le principal concurrent de l’iPhone. En effet, webOS est le seul système alternatif  à proposer les mêmes facilités multitouch que l’iPhone (il semblerait que sur ce sujet, Palm et Apple se tiennent par la barbichette des brevets logiciels). La qualité et la simplicité de l’ergonomie étaient aussi tout à fait remarquables, et le design très « sexy ».

Le Palm Pré a été introduit au États-Unis le 6 juin, et les ventes ont été bonnes. Mais tout cela s’est un peu essouflé car Sprint, l’opérateur exclusif aux USA, est semble-t-il en perte de vitesse, et le Palm Pré n’a pas été commercialisé dans beaucoup d’autres pays : il n’est par exemple toujours pas disponible en France. Seule nouveauté depuis un an, l’introduction d’un nouveau modèle moins puissant visant l’entrée de gamme des smartphones, le Palm Pixi.

Et puis voilà à nouveau que, lors de la présentation du 7 janvier au CES, Palm fait des annonces tonitruantes ! D’abord l’arrivée de deux nouveaux modèles : le Palm Pré Plus et le Palm Pixi Plus, qui proposent de grandes améliorations matérielles. Le Palm Pré voit sa capacité de stockage et sa RAM doublées, à 16 Go et 512 Mo respectivement, tandis que le Palm Pixi n’est plus castré des possibilités Wi-Fi que l’on peut légitimement attendre d’un smartphone, fût-il d’entrée de gamme. Et ces deux modèles seront disponibles en France au début du second trimestre.

Ensuite, le programme pour développeur, qui permet de fournir ses applications via le App Catalog officiel de Palm (équivalent du célèbre App Store d’Apple) est maintenant ouvert à tous. Mais ce n’est pas tout, un programme spécial pour les développeurs Open Source existe, qui offre comme avantage d’économiser les 99$ de cotisation annuelle (en ce moment offerts à tous) et les 50$ par application soumises au App Catalog. De plus, Palm montre sa compréhension des logiciels libres, car l’on peut tout à fait commercialiser ses applications libres, et il n’y a aucune discrimination, comme pour les applications propriétaires c’est 70% du prix pour le développeur (comme sur l’App Store).

Développeur qui pourra désormais programmer de vrais jeux exploitant tout la puissance du la puce graphique, grâce à la mise à disposition d’un nouveau SDK spécialement destiné au jeux : le Plug-in Development Kit. Ce dernier est basé sur l’excellente et très utilisée librairie SDL, véritable standard des logiciels libres. Le PDK est censé être programmé en C ou en C++, mais il existe des bindings SDL pour un nombre de langage de programmation très impressionnant, et j’ai du mal à voir ce qui pourrait m’empêcher d’utiliser sous peu Pygame pour programmer des jeux en Python !

Pour ce qui est des applications plus classiques, Palm propose désormais un IDE fonctionnant dans votre navigateur web : Project Ares. On pourra saluer la cohérence technologique qui permet de faire aisément cela puisque l’ensemble du SDK Palm est construit à base  de technologies web, et espérer que cela permettra de faciliter l’accès à la programmation webOS au plus grand nombre.

Enfin, pour motiver les développeurs à se lancer et ainsi remplir son App Catalog, Palm propose le concours Hot Apps doté d’un million de dollars à partager entre les applications les plus téléchargées du 1er février au 31 mai.

Sur le front des smartphones Linux est là et bien là, en position de force, prêt à exterminer les systèmes d’exploitation privateurs de liberté Windows Mobile et BlackBerry OS et à mener le grand combat final contre l’iPhone !