David Madore's WebLog: Expérience avec un téléphone Android

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]

↓Entry #1663 [older| permalink|newer] / ↓Entrée #1663 [précédente| permalien|suivante] ↓

(dimanche)

Expérience avec un téléphone Android

Je disais récemment que je m'étais acheté un Android Developer Phone, c'est-à-dire essentiellement un HTC Dream (pour remplacer un HTC Touch donné par mon père, lui-même en remplacement d'un vieux Sagem my C-4 dont la touche flèche haut ne marchait plus). J'ai promis de dire ce que j'en pensais : voici quelques réflexions, donc, du point de vue de l'utilisateur lambda et aussi du geek.

Qu'est-ce qu'Android ?

Quelques mots sur le concept, d'abord. Android, c'est une plate-forme logicielle de téléphonie mobile écrite par un consortium industriel qui s'appelle Open Handset Alliance et qui en fait est surtout piloté par Google. Il existe à l'heure actuelle essentiellement deux téléphones sous cette plate-forme : le HTC Dream, également connu sous le nom de G1 (surtout tel que vendu par l'opérateur T-Mobile) et dont le Android Developer Phone est une variante, et le HTC Magic (quasiment identique, mais sans clavier, avec une autonomie meilleure et quelques petites différences sans importance). En France, le HTC Dream est principalement vendu lié à des abonnements de l'opérateur Orange, et le HTC Magic à des abonnements SFR.

La plate-forme Android se défend d'être concurrente de l'iPhone d'Apple, elle prétend que son but est différent ; mais ne peut pas éviter la comparaison (et de fait, celle-ci a été menée ad nauseam), d'autant plus que beaucoup de fonctionnalités des téléphones ou de l'OS invitent à cette comparaison : 3G, écran tactile, GPS, accéléromètre et appareil photo intégrés, importance donnée aux applications et leur achat par un marché aux applications ou application store, etc. Le principe qu'Android revendique, en revanche, c'est d'être ouverte (ouverte au sens des logiciels libres et des standards ouverts), et même si je vais expliquer ce qu'il faut mettre comme bémols à ça, en gros, le système lui-même est open source et ses interfaces sont publiques. Ce qui est sûr, c'est que contrairement à l'iPhone, sur lequel on ne peut en principe installer que des applications autorisées par Apple[#], Android permet à son utilisateur d'installer des applications qui ne viennent pas du Android Market (il faut juste cocher une case qui dit qu'on est conscient que c'est une Mauvaise Idée et qu'on ne se plaindra pas si des démons se mettent à voler à travers notre nez). Si l'iPhone tourne sur ce qui est essentiellement une version minimaliste de Mac OS X et se programme en Objective C, Android utilise le noyau Linux (ce qui ne signifie pas qu'il ait grand-chose d'autre en commun avec les Linux de bureau auxquels on est peut-être plus habitué) et les applications sont écrites dans un sous-ensemble de Java.

En quoi est-elle ouverte ?

Que la plate-forme Android soit ouverte ne signifie pas que les téléphones le soient tous (c'est là ce que je vois comme une sorte de première arnaque sur le mot ouvert) : si vous achetez un HTC Magic chez SFR (essentiellement ce que mon poussinet a fait), vous avez un téléphone sous Linux mais vous n'êtes pas root dessus — autrement dit, vous n'avez pas un contrôle complet dessus. C'est sans doute normal dans l'idée de verrouiller le téléphone à une carte SIM ou à un opérateur (ce qui se fait à peu près toujours quand on l'achète avec un abonnement), mais je soupçonne très fortement que, passés les six mois réglementaires, l'opérateur vous donnera un code pour déSIMlocker le téléphone et pas pour passer root. Il doit aussi y avoir une volonté des opérateurs d'empêcher les gens d'utiliser leurs téléphones comme un modem 3G/EDGE/GPRS (pour pouvoir leur vendre des clés 3G séparément), ce qui implique évidemment de garder un certain contrôle sur le téléphone aux dépens de son propriétaire.

C'est pour ça que j'ai acheté un Android Developer Phone : c'est, justement, un téléphone sous Android et qui n'est pas du tout verrouillé — par exemple, on peut installer une nouvelle version d'Android sans qu'elle ait été signée (ou, du coup, quelque chose qui serait complètement différent d'Android, si on veut), chose qu'on ne peut pas faire sur un téléphone verrouillé. Même si je n'ai pas spécialement l'intention de modifier l'OS lui-même, comme je n'aime pas tellement l'idée que quelqu'un d'autre que moi contrôle mieux que moi ce qui se passe sur mon téléphone (ou ordinateur, ou n'importe quoi de ce genre), j'ai trouvé que ça valait la peine d'acheter un tel developer phone. (Il y a aussi, bien sûr, que je n'ai aucune sorte de point de fidélité chez un opérateur me permettant d'avoir un téléphone moins cher.) Je l'ai dit dans l'entrée précédente, le cours du dollar est assez bas par rapport à l'euro pour que, de toute façon, ce soit rentable[#2] ; et en plus, comme ça, j'ai un clavier qwerty, ce qui me plaît bien.

Ensuite, il faut voir que même si le téléphone est libre et n'est pas vraiment lié à Google de la même façon qu'un iPhone pourrait être lié à Apple, tout est quand même fait en sorte qu'il soit très (très) très fortement recommandé à l'utilisateur d'avoir un compte Google. Essentiellement la première chose qu'il fait quand on l'allume, en fait, après avoir demandé votre code PIN pour déverrouiller la carte SIM, c'est de vous prier de créer un compte Google ou vous logguer dessus, et il ne vous laisse pas aller plus loin sinon. (Et si on ne peut pas ou ne veut pas utiliser son abonnement téléphonique à ce stade-là, comme il refuse d'utiliser le Wifi pour ce premier enregistrement, on se sent un peu idiot.) En fait, on peut contourner la chose de différentes manières, y compris en mettant à jour Android[#3], mais c'est tout de même un début caractéristique. De même, le téléphone va avoir très fortement envie de synchroniser vos données de contacts avec votre compte Google : on peut le lui interdire, mais il faut y penser. (Évidemment, certains verront ça comme une feature intéressante, d'avoir un calendrier synchronisé avec les Google apps : personnellement je trouve l'idée plutôt irritante.) Et l'attitude désagréablement control freak de Google continue avec le marché aux applications : même s'ils sont loin d'être aussi possessifs d'Apple sur la plate-forme elle-même (comme je l'ai expliqué, on peut très bien installer ce qu'on veut sur son Android sans passer par ce marché), on constate quand même que le site Web du marché ne permet pas de télécharger quoi que ce soit, il faut passer par une application sur le téléphone (qui, pour sa part, n'est pas du tout open source !) ; du coup, comme les fonctions de recherche de ce truc sont nullissimes (et indignes de Google !), il est difficile d'avoir une vision claire des applications qui existent sous Android ; impossible, aussi, de savoir lesquelles sont elles-mêmes open source (on peut rechercher les applications gratuites, mais pas celles dont le code source est disponible).

Concernant le source du système lui-même, il est publiquement disponible (sous licence Apache), mais je n'ai pas encore bien réussi à comprendre ce qu'il recouvre exactement. (Par exemple, j'ai cherché la liste des mots du dictionnaire des complétions parce que j'envisageais de me compiler un dictionnaire mélangeant français et anglais, et je ne l'ai pas trouvée : je ne sais pas si c'est que j'ai mal cherché ou que le dictionnaire est ailleurs, ou qu'il n'est pas fourni dans les sources.) Disons qu'il y a assurément pas mal de choses, mais probablement pas tout, et certainement pas des choses comme le firmware radio (ne rêvons pas !).

Pour autant, si on exclut des trucs ésotériques ou vaporwaresques comme Openmoko, Android — sur un developer phone en tout cas — est indiscutablement ce qu'on peut avoir de plus ouvert et libre comme modèle de téléphone sur le marché actuellement. Je m'en contente donc.

Le matériel

Parlons un peu du téléphone lui-même.

D'abord, il y a l'écran tactile. Si je comprends bien, il existe essentiellement deux technologies d'écrans tactiles : les résistifs, qui réagissent à la pression, et les capacitifs, qui réagissent à la conductivité du doigt. Les résistifs sont moins précis quand on les utilise avec le doigt, mais on peut se servir d'un stylet : le HTC Touch que j'ai utilisé brièvement était de cette sorte, et je dois dire que j'aimais bien le stylet (qui se logeait commodément dans un coin du mobile). Le nouveau HTC Dream dont je parle, comme l'iPhone, a pour sa part un écran tactile capacitif : je n'aime pas trop ça, parce qu'on ne peut pas utiliser de stylet (ou alors il faudrait un stylet conducteur, et par ailleurs ils n'ont pas prévu d'endroit où en ranger un), et avec les doigts on laisse de vilaines traces de graisse partout. Surtout qu'on utilise tout le temps des défilements sur toute la largeur de l'écran : du coup, il faut régulièrement passer un chiffon, je trouve ça assez idiot. Je ne comprends pas ce choix : les écrans résistifs me paraissaient bien mieux (et c'est une des très rares choses que je préférais sur le HTC Touch) — mais j'imagine que beaucoup de gens préfèrent les capacitifs sinon Apple n'aurait pas choisi ça pour l'iPhone. À part le problème des dépôts de graisse, d'ailleurs, je peux me plaindre que je ne trouve pas les écrans tactiles terriblement agréables à utiliser (parfois on les touche sans le vouloir, parfois au contraire on les lâche sans le vouloir).

On peut aussi utiliser le téléphone avec une sorte de petite trackball située en bas de l'écran, mais d'une part c'est malpratique et d'autre part elle n'a pas l'air de permettre de tout faire (dans l'application calculatrice, par exemple, je ne sais pas activer les touches avec la trackball seule). Sinon, il y a cinq touches en bas du téléphone pour accéder à des fonctions essentielles (décrocher, raccrocher/éteindre, revenir à l'écran de base, revenir à l'écran précédent, et appeler un menu contextuel) ; le HTC Magic a aussi une touche de recherche (pas très utile, je pense), mais le Dream a, de toute façon, un clavier 48 touches caché derrière l'écran qui contient notamment cette touche : on peut évidemment toujours se dispenser d'utiliser ce clavier et utiliser l'écran tactile à la place (en revanche, les cinq boutons de fonctions essentielles n'ont pas d'équivalent sur l'écran tactile).

L'appareil dans son ensemble est très encombrant. Autant le HTC Magic (je peux juger parce que mon poussinet en a un) est d'une taille tout à fait acceptable, autant la présence du clavier escamotable du Dream le rend beaucoup plus épais, ce qui est gênant. D'un autre côté, l'existence d'un vrai clavier n'est pas sans intérêt pour, par exemple, taper des SMS.

Je ne peux pas trop juger de la qualité des antennes GSM/UMTS, Wifi ou GPS : je constate juste, empiriquement, que je capte le réseau GSM à des endroits (du genre, sous-sols) où je ne captais pas avec mon vieux téléphone, que pour le Wifi je n'ai eu aucun problème particulier, et que pour le GPS il semble obtenir plus facilement les éphémérides des satellites qu'avec mon GPS Garmin : mais ces impressions n'ont aucune valeur scientifique. Je n'ai pas non plus grand-chose à dire sur les écouteurs fournis (je n'écoute jamais de musique hors de chez moi, donc la fonction baladeur numérique du téléphone m'intéresse extrêmement peu ; sinon, comme oreillette pour téléphoner, bah, ça fonctionne). Il paraît qu'on peut connecter une oreillette par Bluetooth, je n'ai pas essayé.

L'appareil photo intégré est assez mauvais : pour l'instant, toutes les photos que j'ai prises sont floues (d'un autre côté, quand on voit la facilité avec laquelle on met ses doigts plein de graisse sur l'objectif, ça ne m'étonne pas tant que ça). Il y a un autofocus, mais pas de zoom optique, et évidemment pas de flash. Mais bon, à vrai dire, l'utilité d'avoir un appareil photo dans un téléphone ne m'a jamais semblé fulgurante.

Au niveau stockage externe, il y a un compartiment pour une puce micro-SD : le developer phone vient avec une de 1Go, ce qui me semble amplement suffisant. En revanche, il faut dire que beaucoup de choses, notamment justement le compartiment à micro-SD et le cache qui protège le port USB, et peut-être de façon plus gênante la connexion entre le clavier escamotable et l'écran, sont des petits bouts de plastique qui ont l'air de crier très fort coucou, j'ai l'intention de me casser dans les cinq prochains jours. On verra bien. Je n'ai pas encore acheté de housse protectrice adaptée au HTC Dream (en attendant, je continue à utiliser celle du HTC Touch, qui est trop petite).

Enfin, la batterie du developer phone est complètement nulle. Je ne sais pas si c'est aussi le cas de celles vendues avec les HTC Dream et Magic dans le commerce. Ça ne me gêne pas outre mesure de recharger mon téléphone une nuit sur deux (surtout que de toute façon je le branche très souvent par USB pour faire joujou avec depuis l'ordinateur), mais, comme je le disais, le petit cache en plastique qui protège le port USB, je crois qu'il ne tiendra pas longtemps.

Je devrais aussi signaler que, ce matin, le téléphone refusait de fonctionner ou de s'allumer : je me suis dit que la batterie s'était déchargée, mais brancher un câble pour la recharger ne produisait aucun effet. Par contre, enlever la batterie et la replacer a fonctionné : et elle prétendait être toujours chargée à peu près complètement, donc ce n'était pas qu'elle était déchargée, plutôt un faux contact ou un plantage de très bas niveau. Dans les deux cas ça inspire assez peu confiance.

L'interface

Déjà, soulignons que ceux qui veulent tester à quoi ressemble l'interface utilisateur d'Android peuvent le faire en utilisant un émulateur qui est fourni avec le SDK : sur un Intel sous un Linux, par exemple, il vous suffit de décompacter le fichier android-sdk-linux_x86-1.5_r2.zip fourni, ajouter .../android-sdk-linux_x86-1.5_r2/tools dans votre $PATH, puis lancer android create avd -t 3 -n Test (une seule fois, pour créer un téléphone virtuel appelé Test) et ensuite emulator -avd Test (pour démarrer ce téléphone virtuel). C'est très lent (beaucoup plus qu'un vrai téléphone même sur une machine raisonnablement puissante : il faut croire que l'émulation ARM sur Intel n'est pas terrible), et l'environnement logiciel n'est pas exactement identique à ce qu'on trouvera sur un vrai téléphone[#4], mais ça permet de se faire une idée. Évidemment, ce truc est prévu pour permettre de tester les applications qu'on développerait pour Android, pas vraiment pour jouer avec le téléphone, et évidemment on ne pourra pas passer de coups de fil ou quoi que ce soit (si on le fait, il prétend que l'interlocuteur décroche mais reste silencieux), donc l'expérience est limitée. Mais par exemple on peut regarder comment fonctionne le navigateur Web (qui, lui, fonctionnera si la machine hôte a une connexion réseau : c'est la magie de Qemu).

Globalement, je trouve l'interface assez agréable et ergonomique : c'est visuellement joli, on comprend assez bien ce que font les choses proposées, et une fois qu'on a commencé à s'en servir on arrive à faire rapidement ce qu'on veut. Il est vrai que je n'ai guère d'expérience avec des téléphones modernes pour pouvoir comparer, mais j'ai l'impression que le tout est assez bien pensé.

L'écran de base (home), auquel on accède en appuyant sur la touche dont l'icône est une maison, est un triptyque : normalement on en voit la partie centrale, mais il y a un bout à gauche et un bout à droite où on peut aller en faisant défiler avec le doigt dans un sens ou dans l'autre. C'est la partie la plus facilement personnalisable : en changeant l'image de fond, bien sûr, mais aussi en garnissant cette page de racourcis vers les applications ou les contacts dont on a le plus souvent besoin, ou encore avec quelques widgets disponibles pour l'agrémenter (comme une horloge analogique qui a quelque chose de sympathiquement surréaliste). Cet écran de base contribue beaucoup à l'ergonomie de l'interface. En-dessous, on a un onglet qui permet d'accéder aux applications, et sinon la touche menu permet d'effectuer des réglages et paramétrages.

Une autre chose très agréable, c'est le système de notifications : quand une application veut signaler quelque chose à l'utilisateur (par exemple un SMS reçu, un appel manqué, que sais-je), elle inscrit une notification dans la liste des messages qu'on peut dérouler de façon très commode depuis le haut de l'écran (la barre d'état, où l'application fera aussi afficher une petite icône). Et quand on touche la notification, on accède immédiatement à l'application qui l'a envoyée. C'est vraiment commode et intuitif.

Ce que je reprocherai principalement à l'interface, c'est un certain manque de cohérence ; par exemple, parfois la touche entrée sur le clavier confirme une sélection et parfois elle passe juste le curseur à la ligne ; la touche retour annule généralement ce qu'on faisait, mais quand on modifie un contact elle enregistre les modifications (il faut cliquer sur le bouton cancel en bas de l'écran pour annuler) ; parfois un clavier apparaît sur l'écran dès qu'on est dans un champ où on peut entrer du texte, mais pas systématiquement (parfois on peut en faire apparaître un en gardant longtemps la touche menu appuyée, mais parfois il faut sélectionner quelque chose avec la trackball ou encore autre chose). Parfois cliquer longuement sur quelque chose fait apparaître une sorte de menu conceptuel — mais parfois pas, alors qu'on l'attendrait.

De même, le concept d'application qui tourne en tâche de fond (=arrière-plan), qui est pourtant souvent signalé comme un avantage d'Android sur l'iPhone, est un peu perturbant : on ne sait pas exactement ce qui tourne comme ça, ni ce que les applications ont le droit de faire quand elles y sont, ni dans quelle mesure relancer l'application va faire revenir ce qui était en arrière-plan ou quoi. Par exemple, si je lance le navigateur sur une page qui demande à être rafraîchie périodiquement, et que je reviens à l'écran de base, le navigateur est-il fermé ? la page continue-t-elle à être rafraîchie régulièrement ? je n'en sais rien et ce n'est pas clair (et c'est une question passablement importante quand on n'a pas un forfait Internet illimité !). Comme je remarque que mettre en arrière-plan une application GPS fait disparaître l'icône indiquant l'activité du GPS, j'imagine qu'elle n'a plus le droit de s'en servir quand elle est en tâche de fond, mais j'aimerais en savoir plus.

Pour donner un exemple plus précis sur ce que je pense de l'interface, je peux évoquer l'application qui fait la gestion des contacts (c'est une de celles qui viennent avec le système, évidemment). Globalement je la trouve très agréable : la liste des derniers appels passés est clairement et lisiblement présentée, on accède rapidement à la liste de tous les contacts triés par ordre alphabétique (où faire une recherche est très simple), ou bien aux numéros les plus souvent appelés et/ou marqués comme contacts importants. On peut éditer les contacts pour mettre, par exemple, une petite photo de la personne ou une sonnerie particulière, ou ajouter une note ou enregistrer une adresse postale, ce genre de choses. (Je me doute bien qu'à peu près tous les téléphones permettent maintenant ça.) Et si on n'interdit pas au téléphone de le faire, toutes ces informations seront synchronisés avec son compte Google associé. Mais il y a quelques désagréments : pas de vrais groupes de contacts (ou alors il faut passer par le compte Google, justement), donc pas de façon commode, par exemple, de changer la sonnerie affectée à tous ses amis (et d'ailleurs, pour commencer, pas de façon d'affecter une sonnerie à tous les contacts connus). Pas non plus de façon de copier une photo d'un contact à un autre (il faut reprendre la photo dont on est parti, et refaire une sélection dessus — pour les maniaques comme moi qui voudraient exactement la même photo sur deux contacts, c'est irritant).

Quand on passe un coup de fil, faire apparaître le pavé permettant de taper des chiffres (ce qui est utile quand on parle à un serveur vocal) n'est pas aussi facile qu'on pourrait le vouloir (d'un autre côté, c'est un peu une fatalité avec les téléphones à écran tactile : si on met l'écran tactile contre sa joue, on risque effectivement de taper dessus involontairement). Quand on envoie des SMS, il ne semble pas y avoir moyen de faire en sorte qu'il demande confirmation avant d'envoyer (j'aime bien être forcé de me relire avant l'envoi) ; en revanche, la présentation de l'historique des SMS échangés avec une personne, comme un fil de discussion, est plutôt agréable.

Au final, je pense que l'utilisation du téléphone est suffisamment naturelle et intuitive pour qu'on puisse recommander Android aux gens pas du tout geeks ou tech-savvy — ma maman, par exemple. (En revanche, ils auront peut-être besoin de quelques explications sur les principes de tarification de leur opérateur pour les connexions de données, et sur la différence entre les réseaux 3G, EDGE et GPRS — ceci, évidemment, n'a rien à voir avec Android spécifiquement.)

Les applications

Le téléphone vient avec quelques applications basiques : outre, évidemment, celle qui permet de téléphoner, la gestion des contacts et celle des messages (genre SMS) et les préférences système, il y a de quoi prendre des photos et des vidéos, un baladeur musical, un tout petit truc de gestion des photos, un navigateur web, un logiciel de mail, une calculatrice, un réveil, un calendrier (synchronisable avec celui du compte Google). Et bien sûr, comme Google est Google, une application pour consulter Google maps (en se positionnant au GPS), une autre pour regarder YouTube, une pour utiliser Gmail, une pour Google Talk, et évidemment l'application de marché aux applications. Je dois encore oublier une ou deux applications pour composer un numéro de téléphone ou faire une recherche Google avec la voix (le genre de gadgets qui fait vraiment — euh, gadget, justement). Par contre, il n'y a pas d'éditeur de texte ni de gestionnaire de fichiers, ce qui est tout de même dommage (on en trouve plein sur le marché, mais je soupçonne très fortement qu'ils sont mal intégrés à la plate-forme dans son ensemble).

Le marché aux applications est un joyeux bordel, presque pas trié, et les possibilités de recherche sont nulles. (Imaginez une sorte de YouTube avec douze applications lampe de poche — ce qui doit juste vouloir dire que l'écran devient blanc — et cinquante calculatrices, et tout ça avec juste une fonction de recherche basique, par mots.) J'ai déjà signalé qu'on ne pouvait essentiellement pas y accéder depuis un navigateur web normal (autrement que depuis un téléphone, quoi), même pas pour faire des recherches, ce qui est tout de même indiciblement crétin. J'ai aussi déjà signalé qu'il n'y avait pas moyen de rechercher les applications open source — or c'est un des critères qui me paraissent les plus importants parce que je veux avoir autant que possible l'option de corriger les choses qui m'agaceront dans les applications que j'utiliserai (je ne veux pas risquer de commencer à utiliser un truc que je trouverai bien et me rendre compte ensuite qu'il a un défaut qui m'agace et être dans l'impossibilité de le réparer). Finalement, pour chercher des applications open source, il vaut mieux chercher autrement.

Pour l'instant, je n'ai quasiment rien installé : juste un client SSH (ConnectBot), deux-trois application de démonstration qui venaient avec le SDK (une pour prendre des notes très simples, et un jeu de snake minimaliste) et une seule application téléchargée avec le marché, un truc qui sert à afficher l'état du GPS et la position des satellites. Il y a quelques choses que j'aurais éventuellement envie de coder moi-même, comme une gestion des contacts un peu moins primitive, ou une calculatrice polonaise inversée (quelqu'un avait déjà tenté ça, mais ça n'a plus l'air de compiler).

Les geekitudes

Le SDK Android contient un programme appelé adb (pour Android Debug Bridge) qui est une sorte de couteau suisse permettant de faire un nombre incroyable de choses avec le téléphone (via un câble USB, a priori ; mais le même programme permet de faire des choses avec des téléphones virtuels tournant dans l'émulateur). À commencer par obtenir un shell. Sur un téléphone non developer, ce shell ne permettra pas de faire grand-chose, parce qu'il n'y a à peu près rien d'installer et qu'on ne peut pas passer root. Sur mon developer phone, je peux accéder, par exemple, aux bases de données SQLite utilisées par les différentes applications. Je m'en suis notamment servi pour faire quelques modifications dans mes contacts qui étaient plus commodes en SQL qu'en passant par l'application normale (comme changer la sonnerie de tous ceux qui avaient une certaine sonnerie, ou donner à deux contacts exactement la même photo) ; bien sûr, j'aurais aussi pu écrire une application pour ça (ça m'aurait évité d'angoisser sur la façon dont SQLite gérerait les accès concurrents ou comment ça interagirait avec la synchronisation Google). Il semble qu'il y ait aussi moyen d'utiliser adb pour fournir un accès réseau au téléphone depuis un ordinateur, ou bien le contraire ; mais je n'ai pas vérifié.

Je n'ai pas encore essayé de coder quoi que ce soit (à part trivialement compiler des choses déjà écrites et les mettre sur le téléphone pour voir si elles tournaient), mais il semble que ce soit plutôt agréable (et les gens d'Ubuntu travaillent à rendre la chose encore plus agréable pour les Linuxiens). Pour en savoir plus sur la plate-forme en général, du point de vue du développeur et des choix techniques (comme la raison d'utiliser Dalvik plutôt qu'une JVM plus standard, ou le système de message-passing), cet article n'est pas mal.

Dans le genre petit détail bizarre, je peux remarquer que bien que l'appareil incorpore un GPS, il n'a pas l'air capable de se mettre à l'heure par GPS : c'est assez absurde, parce que c'est la source de temps la plus précise imaginable à moins d'avoir une horloge atomique (c'est un peu encombrant donc je ne crois pas qu'on aura ça dans des téléphones trop rapidement). Il est capable de prendre l'heure par le réseau 3G, en revanche, mais d'une part ce n'est pas très précis (j'ai observé quelques secondes de retard sur le réseau Bouygues, ce qui est certes assez acceptable pour quelqu'un qui n'est pas comme moi un maniaque de l'heure exacte) et d'autre part, surtout, ce n'est pas toujours disponible (mon poussinet chez SFR n'a pas encore accès à la 3G pour des raisons un peu compliquées, et son téléphone ne se met pas à l'heure). De même, quand on a accès à un Wifi, le téléphone ne va pas interroger NTP — mais là c'est plus raisonnable que de ne pas interroger le GPS.


Un mot sur les réseaux de données

Ce qui suit n'a rien à voir avec Android spécifiquement, mais comme je trouve que c'est globalement mal expliqué partout, je vais en dire un mot (tout se trouve sur Wikipédia, évidemment, mais sur Wikipédia il y a comme souvent trop d'information, de sorte qu'on ne sait plus très bien ce qui est pertinent et ce qui ne l'est pas). Le réseau de base de téléphonie mobile déployé actuellement s'appelle le GSM, ou réseau 2G au sens strict : il sert à véhiculer des communications vocales (et des SMS, en utilisant un mécanisme initialement prévu pour des messages d'infrastructure). Pour faire passer des données sur du GSM (donc, typiquement, pour avoir un accès Internet), il faut utiliser une connexion de type CSD qui, en gros, fonctionne en passant un vrai appel vers un numéro spécial ; on n'obtient ainsi qu'un débit de 9.6kbit/s, ce qui est franchement mauvais (pour comparaison, les modems RTC sur lignes fixes fonctionnent normalement en 56kbit/s), et de surcroît la communication sera souvent facturée au temps plutôt qu'aux données transférées (donc on ne veut pas resté connecté en permanence !). En général, les connexions de données qu'on se retrouve à utiliser quand on accède à Internet depuis un téléphone sont plutôt sur les protocoles GPRS (=2.5G), EDGE (=2.75G) et, si on a un téléphone et une carte SIM compatibles 3G, UMTS (=3G) voire HSDPA (=3.5G), HSUPA (=3.75G) et compagnie. Ces réseaux sont en ordre de débit croissant (à partir de 56kbit/s pour GPRS et jusqu'à dans les 21Mbit/s pour UMTS) mais, du coup, aussi, de portée et de disponibilité décroissantes. Les connexions GPRS et EDGE sont des extensions du GSM en ce sens qu'elles utilisent les mêmes fréquence, alors que les réseaux 3G utilisent des fréquences différentes. Du point de vue de l'utilisateur, tout est assez transparent : il faut simplement donner au téléphone un identifiant — l'APN — permettant de se connecter au bon réseau de données (par exemple, pour Bouygues en France c'est ebouygtel.com), et le téléphone sélectionnera le meilleur protocole disponible. Quelques gags sont possibles, cependant : par exemple, il faut bien vérifier que l'opérateur ne facture les connexions de données GPRS/EDGE/3G qu'aux données transférées et pas à la connexion, sinon il va y avoir un gros souci avec un téléphone qui se connecte et se déconnecte sans arrêt (je pense que tous les opérateurs facturent bien au volume de données dans les formules standard, mais mon poussinet a conservé une formule très ancienne chez SFR qui facture à la connexion, donc en attendant d'en changer il doit interdire à son téléphone l'accès aux connexions de données). Une autre chose que mon poussinet a remarquée est que SFR n'a pas déployé le protocole EDGE dans les zones de couverture 3G : donc faute d'abonnement ou de carte SIM compatible 3G, il n'obtient que le débit GPRS dans ces zones, ce qui est assez absurde.


Notes

[#] C'est évidemment contournable, mais pas forcément facilement, et ça peut poser des problèmes (voire, être interdit depuis que les lois délirantes sur la propriété intellectuelle ont fait qu'on n'est plus propriétaire de ce qu'on achète). Sinon, le choix fait par Apple des applications autorisées ou non est assez incohérent parce qu'ils sont complètement submergés par les candidatures (normal, ils ont quelque chose comme 35000 applications acceptées, et sans doute largement plus ont été refusées) : par exemple, ils avaient refusé une application permettant de lire les livres du projet Gutenberg sous prétexte que ce projet contenait une copie du Kāma-Sūtra ; cette application a fini par être acceptée, mais la façon dont son développeur en raconte la saga est intéressante.

[#2] Comptez quand même, par rapport au tarif annoncé de $399, quelque chose comme $45 pour la livraison et $95 pour les frais de douane. Plus les $25 (je crois) préalables pour avoir le droit de se dire développeur Android.

[#3] Le developer phone vient avec un Android 1.0 préinstallé : une des premières choses à faire, donc, est de passer à la 1.5.

[#4] Peut-être, justement, que l'émulateur n'a que ce qui est strictement open source (en tout cas, il n'a pas l'application du marché aux applications, et je remarque qu'il a une seule sonnerie, qu'il n'a pas de dictionnaire de mots…).

↑Entry #1663 [older| permalink|newer] / ↑Entrée #1663 [précédente| permalien|suivante] ↑

[Index of all entries / Index de toutes les entréesLatest entries / Dernières entréesXML (RSS 1.0) • Recent comments / Commentaires récents]