Google Chrome sur iOS, quel enjeu pour le navigateur alternatif ?

Vous le savez maintenant, Chrome est l’un des navigateur les plus utilisé du monde. Les chiffres variants d’un outil statistique à l’autre, difficile de dire si il est réellement numéro […]

Vous le savez maintenant, Chrome est l’un des navigateur les plus utilisé du monde. Les chiffres variants d’un outil statistique à l’autre, difficile de dire si il est réellement numéro un comme le dit StatCounter ou très bon troisième au coude à coude avec Firefox pour NetMarketShare. Quoi qu’il en soit, il est en 4 années seulement devenu l’un des navigateur préféré des utilisateurs. Ses qualités évidentes de simplicité, d’apparente légèreté (qui n’est pas si vraie que ça par ailleurs), et surtout de très grande rapidité en ont fait un outil de choix toujours à la pointe de la technologie du web.

Il a tellement secoué le monde du net que Firefox a désormais repris un rythme d’évolution très proche de celui de Chrome, lui reprenant quelques très bonnes idées et une partie de son aspect original. Il a aussi poussé fortement Microsoft à revoir son Internet Explorer qui rattrape désormais son retard au galop et se targue même d’être à la pointe du HTML5 ! Les mentalités ont clairement été bousculées. Dernier navigateur à en patir, Safari, qui partage le moteur de rendu WebKit qui l’anime avec Chrome, s’est même vu attaqué sur ses terres du Mac. La version Windows tirant pour sa part sa révérence en cette rentrée, Apple abandonnant son navigateur sur cette plateforme.

Son arrivée tardive sur Android (lire : Google Chrome enfin officiel sur Android !) a réussit à s’imposer en très peu de temps. Et le putsch annoncé a bel et bien eu lieu, depuis l’annonce de Jelly Bean il est en effet devenu le navigateur fourni par défaut avec le système, l’ancien navigateur Android disparaissant par la même occasion. Là encore ses qualités sont retrouvées, simplicité, rapidité et puissance de fonctionnement. Même si tout n’est pas encore parfait, j’ai encore parfois des ralentissement lors de son usage, de même que les vidéo web et plus ironiquement celles de youtube ne sont pas toujours bien gérées, il a lui aussi gagné son pari sur cette plateforme mobile. Rares sont ceux qui, sur Ice Cream Sandwich ou Jelly Bean continuent à utiliser l’ancien navigateur à partir du moment ou ils ont découvert Chrome.

Cependant, un système majeur restait jusque là hors de portée des griffes de Chrome : iOS. Le système mobile d’Apple est en effet relativement particulier en limitant fortement les possibilités de créer un navigateur alternatif puissant. En effet, si techniquement il n’y a aucune contrainte à réaliser une véritable version de Chrome (ou autre navigateur) sur iOS, les règles de validations de l’Apple AppStore sont elles très claires sur le sujet : impossible de développer une application pouvant elle même interpréter ou exécuter du code. A cela s’ajoute l’obligation d’utiliser le moteur web du kit de développement (via le composant UIWebView). La documentation d’Apple est très claire à ce sujet :

  • Apps that download code in any way or form will be rejected (Les applications qui téléchargent du code, quelque soit le moyen ou la forme, seront rejetées)
  • Apps that browse the web must use the iOS WebKit framework and WebKit Javascript (Les applications qui naviguent du le web doivent utiliser le framework iOS WebKit et le moteur Javascript WebKit)

Dans ces conditions il est impossible en l’état de diffuser un navigateur alternatif sur cette plateforme qui ne souffre pas de sévères limitations face à Safari Mobile, outil fourni de base sur le système. A ce moment là vous allez me dire, « mais pourtant, il existe de tels navigateurs, Dolphin, iCab Mobile, Mercury, Atomic… Oui mais, tous sont confrontés aux problèmes évoqués ci-dessus et finalement, en dehors de leurs interface et quelques adaptations, ont des performances tous similaires ou presque. Pire, si le moteur de rendu est similaire à celui de Safari Mobile, il n’en n’a pas toutes les qualités. Ainsi le moteur rapide javascript « Nitro » introduit avec iOS4 qui accélère grandement l’interprétation des pages HTML5 riches n’est pas activé au sein du composant UIWebView. L’efficacité du navigateur alternatif en prends un coup sévère si il charge une page qui en utilise. La raison est à trouver du côté de la sécurité, mais du coup aucun navigateur alternatif ne peut rivaliser complètement avec Safari Mobile. C’est aussi une des raisons principales de la lenteur de l’application Facebook sur iOS qui jusqu’à peu utilisait massivement le HTML5 dans un composant UIWebView…

Seule exception, Opera Mini, qui fonctionne différemment des autres. L’astuce se fait grâce aux serveurs de la société, en effet les pages web ne sont pas chargées et interprétées par l’iPhone mais par les serveurs, puis envoyées dans un format spécifique (qui s’approche plus d’une image associée à des informations de positions de liens) que l’application affiche alors. Les explications technique sont sur le site d’Opera. La méthode est astucieuse mais du coup Opera Mini n’est pas un navigateur web en tant que tel. De plus elle apporte quelques inconvénients comme un support très limité du javascript, aucune gestion d’animations ou d’éléments riches du type HTML5…

Enfin, dernière limitation, moins évidente à première vue mais qui a toute son importance aussi, sur iOS il est impossible de définir un navigateur par défaut autre que Safari Mobile. Du moment que vous lancez le navigateur, aucun problème, mais un lien depuis une autre application ne s’ouvrira que sur le navigateur du système. Ainsi, que ce soit depuis un mail, un message facebook, twitter ou autre, tous vont ouvrir Safari Mobile… Difficile dès lors pour l’utilisateur de prendre le réflexe d’utiliser un navigateur alternatif quand cela l’oblige à copier/coller l’URL de la page à chaque fois si il compte l’afficher dans l’application de son choix, très contraignant !

Dès lors, l’annonce de la sortie du navigateur de Google sur la plateforme en a surprit plus d’un, moi en premier. En effet, la question se posait de savoir comment Google avait réussit son coup pour contourner (ou pas) ces limitations. Et au delà, la question peut se poser sur l’intérêt que peut avoir Google à créer un tel navigateur sur cet OS aussi fermé à ce niveau là.

Car avant Google, une autre entreprise c’est essayée à iOS en cherchant à trouver une solution alternative aux limitations, il s’agit de la fondation Mozilla. Pour cela ils avaient lancé l’application Firefox Home, reprenant le nom du célèbre navigateur, mais n’en reprends quasiment aucune de ses fonctionnalités. En effet, loin d’être un navigateur web, Firefox Home n’était qu’une application permettant d’accéder à ses favoris synchronisés sur Firefox Sync (et donc votre Firefox d’ordinateur) ainsi qu’aux onglets de vos autres instances de Firefox. Si l’on pouvait afficher les favoris dans une vue UIWebView, c’était surtout une fonctionnalité annexe et sans aucune réflexion d’interface ou de fonctionnalités riches. Cette application n’a pas franchement enthousiasmé les foules, la fondation Mozilla ayant très récemment annoncé le retrait de l’application en attendant de pouvoir proposer quelque chose de mieux…

Disons le de suite, Google Chrome pour iOS ne contourne aucune des limitations citées plus haut. Google n’ayant pas vraiment eu le choix comme je l’expliquais, ils ont donc prit leur parti de proposer un navigateur à l’interface originale et aux fonctionnalités annexes riches tout en jouant avec les limites imposées. Chrome est donc ici un navigateur « alternatif » de plus à Safari Mobile qui utilise comme tous les autres le composant officiel UIWebView et possède donc peu ou prou les mêmes performances et limitations que les autres, c’est à dire en large retrait vis à vis du navigateur natif. Dès lors, n’espérez pas ici trouver un moteur javascript V8 ou un moteur HTML en avance sur son temps comme on peut l’avoir sur Android.

Chrome possède pourtant quelques sérieux atouts. L’interface reprends celle de la version mobile d’Android, avec une gestion des onglets originale sous forme de fiches que l’on peut glisser et « jeter » comme bon nous semble. Cependant, première limitation, là ou la version Android ne possède pas de limites au nombre d’onglets ouverts, ici impossible de dépasser les 8 pages simultanées… Autre qualité, et non des moindres, on retrouve ici la célèbre « omnibar », cette barre d’adresse et recherche unifiée qui simplifie grandement l’usage du navigateur et qui a fait ses preuves sur ordinateur. L’intelligence de celle-ci est similaire à ce que vous connaissez et elle se base sur un savant mélange de recherches google (évidement), de votre historique de navigation ainsi que de vos favoris. Dans le même genre, on retrouve aussi la page de lancement rapide qui présente les 6 sites les plus visités à chaque nouvel onglet. Autre fonctionnalité qui était attendue, la synchronisation des onglets et favoris avec votre identifiant google. Vous pouvez ainsi retrouver vos favoris des différentes versions de Chrome (ordinateur ou Android), ainsi que les onglets ouverts sur chaque ordinateur sur lequel vous êtes connectés. Evidemment tout ceci ne fonctionne que si vous synchronisez vos favoris sur votre compte… Enfin, Google a eu l’excellente idée d’intégrer son moteur de reconnaissance vocal (via le réseau) qui permettra de dicter sa recherche plutôt que de l’écrire…

Cependant toutes ces fonctions intéressantes ne peuvent pas grand choses pour contourner les limitations imposées. Comme déjà dit, les performances en pâtissent, et il n’est pas rare que la navigation soit lente et les défilements saccadés… Google a toutefois gardé une petite astuce sous le coude, en utilisant une autre fonctionnalité du SDK iOS qui permet d’associer un format d’URL à une application, ils offrent la possibilité aux développeurs de pouvoir proposer d’ouvrir les liens de leurs applications dans Chrome si ce dernier est installé… Cependant jusque là il faut dire que bien peu de développeurs ont intégré cette astuce, et en dehors des applications de Google elle même comme Google+, il sera bien difficile d’ouvrir automatiquement un lien sur Chrome. Ne comptons évidement pas sur Apple pour intégrer l’astuce à leurs propres applications 😉

Dès lors, on peut se demander quel intérêt Google avait à réaliser une telle application tout en sachant qu’elle allait décevoir certains utilisateurs… De même, pour les rares personnes séduites et qui l’adoptent, les contraintes risque bien de limiter grandement l’usage sur la durée de l’application.

A mon sens, ce n’est que pure spéculation de ma part, il s’agissait bien plus de montrer qu’ils sont bel et bien présents avant tout. Même si les power user seront déçus et que les utilisateurs plus classiques n’iront bien souvent pas plus loin que l’essai rapide, il était très important de ne pas se laisser distancer par Apple, même sur cette plateforme. Mais également par Mozilla qui a déjà annoncé vouloir sortir une version de Firefox qui se retrouvera elle aussi avec les mêmes contraintes.

Cependant, tant que ces règles imposées n’évolueront pas, Chrome sur iOS restera un éternel outsider, relégué à quelques amateurs du navigateur qui apprécient de retrouver l’expérience de l’ordinateur en partie reproduite sur leur appareil mobile. Les véritables « fan » de Google ayant généralement opté pour un appareil Android bien logiquement mieux intégré dans l’univers de Mountain View…

About Bruce