Safari fête ses 10 ans: comment le navigateur d'Apple a révolutionné le Web mobile

Safari est un navigateur Apple 10Il y a dix ans, le PDG d'Apple, Steve Jobs, a surpris le monde Internet en dévoilant Safari, un nouveau navigateur Web de bureau. L'objectif d'Apple était de fournir une expérience de navigation Web rapide et simple, mais de premier ordre, pour le Macintosh. Depuis, Apple a ajouté de nouvelles fonctionnalités, mais parmi les navigateurs Mac, Safari a toujours eu un avantage pour se comporter comme une application Mac - et est souvent en tête du peloton en termes de performances.

Pourtant, pour de nombreux utilisateurs Web, Safari est également un. Il n'a jamais été plus d'un tiers éloigné d'Internet Explorer et de Firefox, puis d'un quatrième lointain avec l'ascension de Google Chrome.

Le plus grand impact de Safari au cours des dix dernières années ne se reflète pas dans les statistiques d'utilisation; c'est plutôt dans WebKit. WebKit est un logiciel qui affiche du contenu Web. Apple a créé WebKit pour Safari, mais maintenant il est partout, y compris Google Chrome, les appareils Android et presque tout Apple. Grâce à WebKit, Safari a joué un rôle énorme en éloignant les appareils mobiles du «Web mobile» piloté par le protocole d'application sans fil (WAP) pour faire des smartphones et des tablettes des acteurs à part entière - et bientôt dominants - sur le «vrai» Web . Aussi étrange que cela puisse paraître, si vous avez utilisé Internet à partir d'un smartphone ou d'une tablette, vous devez probablement remercier Safari.

Comment est-ce arrivé?

Les Olde IE Days

Emplois chez MacWorld Boston 1997 + Microsoft

Safari a fait ses débuts en 2001. Apple expédiait Internet Explorer comme navigateur Web par défaut dans Mac OS (Oui, jeune, il y avait autrefois une version Mac d'IE) mais lorsque Steve Jobs est revenu chez Apple en 1997, il a élaboré un complexe accord de partage de brevets et de règlement avec Microsoft. Une partie a fait d'Internet Explorer le navigateur par défaut du Mac pendant cinq ans.

La soi-disant guerre des navigateurs entre Netscape et Internet Explorer battait son plein. L'accord de Microsoft avec Apple était une victoire pour Redmond, mais aussi un problème à long terme pour Apple. Internet devenait l'une des principales raisons pour lesquelles les gens utilisaient des ordinateurs, et Apple pensait que le Web allait devenir plus important. L'accord de cinq ans signifiait qu'Apple cédait un aspect central de l'expérience Mac à Microsoft. Microsoft ne possédait pas Internet, mais était tristement célèbre pour sa stratégie «embrasser, étendre et éteindre» ses concurrents. (Cette stratégie avait aidé à tuer Cyberdog, un ancien navigateur Apple.)

À l'époque, comme maintenant, Apple a préféré contrôler son propre destin, en concevant l'expérience Mac à partir du matériel. Passer au navigateur de quelqu'un d'autre dans cinq ans pourrait simplement être un exercice pour choisir un moindre mal, alors Apple a commencé à travailler sur son propre navigateur Web bien avant la fin de l'accord Microsoft.

«Je ne me souviens pas d'une date limite au début», a écrit un ancien ingénieur de Safari qui ne voulait pas être identifié, «mais [Safari] avançait rapidement et à l'été 2002, l'équipe était au courant de cette date.

Dès l'expiration de l'accord, Apple a dévoilé Safari et disposait d'une version bêta gratuite prête à être téléchargée. En juin 2003, Safari a atteint la version 1.0 et Internet Explorer pour Mac était de l'histoire ancienne; en octobre, Safari était le navigateur par défaut du Mac.

La fourche dans la route

Konqueror

Le cœur d'un navigateur Web est un moteur de mise en page, un logiciel qui interprète le contenu d'un site Web et détermine comment l'afficher à l'écran. Pour Safari, Apple aurait pu créer son propre moteur de mise en page avec des fonctionnalités exclusives aux Mac, mais selon les responsables d'Apple à l'époque, Apple voulait que son navigateur Web fasse des Mac le meilleur moyen d'accéder au Web, et cela ne voulait pas dire en créant des fonctionnalités intéressantes uniquement pour Mac, ils espéraient que les sites Web adopteraient. Un moteur de mise en page open source basé sur des normes était la voie à suivre.

Le candidat évident était Gecko, développé à l'origine pour Netscape Navigator. Gecko avait amélioré les performances et la prise en charge des normes pour Netscape, et Apple aurait pu l'utiliser: Gecko a été publié en open source en 1998, il alimentait donc non seulement Netscape, mais aussi des navigateurs comme Galeon, Chimera, le Firefox naissant (alors appelé Phoenix) et le navigateur Camino uniquement pour Mac.

Cependant, lorsque Apple a dévoilé Safari, il a également révélé que Safari était construit autour du moteur de mise en page KHTML moins connu de Konqueror, développé par la communauté KDE. Apple a créé sa propre version de KHTML pour créer son propre moteur de mise en page, qu'il a appelé WebKit (connu dans les cercles de développement sous le nom de «forking»). Don Melton, le responsable de l'ingénierie d'origine sur Safari, a noté qu'Apple avait choisi KTHML plutôt que des alternatives comme Gecko en raison de sa prise en charge des normes, de sa conception épurée et de sa petite taille. Pourtant, le choix a pris la communauté Internet au dépourvu.

"KHTML a peut-être été une plus grande surprise qu'Apple ne faisant un navigateur du tout", a écrit Melton dans son blog en rappelant l'annonce publique de Safari par Jobs. «Et ce moment était glorieux. Nous avons fait punk toute la foule.

Tout le monde n'était pas content. Apple avait apporté des modifications à KHTML (et au moteur Javascript KJS) en secret depuis un an ou plus. Apple a honoré ses engagements open source et a commencé à publier son travail sur KDE - c'est un point crucial, car cela signifiait qu'Apple ne possédait pas WebKit et que n'importe qui pouvait s'appuyer sur les contributions d'Apple. Cependant, le volume considérable de matériel (et le choix des systèmes de suivi) a rendu l'intégration du travail d'Apple intimidante, et certains se sont demandé si cela devait être fait.

«Les développeurs KHTML étaient enthousiastes et méfiants», a écrit un développeur KDE qui travaille maintenant sur un logiciel basé sur WebKit mais qui ne voulait pas être nommé. «La décision d'Apple a validé KHTML et leurs ressources pourraient sérieusement faire progresser [KHTML et KJS]. Mais personne ne voulait qu'Apple intervienne et s'approprie KHTML. »

Il a fallu plus de deux ans pour que les choses se règlent, Apple n'ouvrant en open source l'intégralité de son fork KHTML qu'à la mi-2005. La faille fait écho aujourd'hui: malgré les efforts de fusion, KHTML est toujours séparé et reste le moteur de mise en page par défaut de Konqueror.

Néanmoins: WebKit était hors de portée et disponible en open source… et Internet n'a pas été le même.

Passer au mobile

HP TouchPad (webOS)

Apple utilise WebKit dans Safari et ses propres applications comme Mail, mais d'autres logiciels de bureau utilisent également WebKit, y compris Adobe AIR et Creative Suite, ainsi que Google Chrome - et Chrome est beaucoup plus populaire que Safari. Dans un peu d'inversion de rôle, Microsoft utilise WebKit dans Outlook pour Mac et dans Entourage avant cela.

C'est un support important, mais le véritable impact de WebKit a été sur les plates-formes mobiles . Croyez-le ou non, Nokia a été le premier fabricant de téléphones à sauter sur WebKit, créant un navigateur WebKit pour ses téléphones S60. C'était sans doute le premier "vrai" navigateur pour un appareil mobile: la plupart des téléphones se sont lancés dans le "Web mobile" compatible WAP, tandis que les téléphones S60 accédaient avec succès au même contenu que les navigateurs de bureau. Le navigateur S60 a levé le voile, prouvant que mettre un vrai navigateur Web dans un téléphone était non seulement possible, mais c'était bien mieux que de supprimer des sites réservés aux mobiles - ou des sites qui ne fonctionnaient pas du tout sur les téléphones.

WebKit est vraiment entré dans le projecteur mobile en 2007 avec l'iPhone. Non seulement l'iPhone accédait au même Web que les ordinateurs de bureau, mais Mobile Safari était à l'origine le seul moyen de créer un logiciel iPhone. Apple a rapidement inversé le cap et s'est tourné vers les applications natives pour iPhone, mais en 2009, webOS de Palm a fait un geste audacieux et a tout misé sur WebKit: toute l'interface de webOS est pilotée par WebKit.

«Lorsque webOS est sorti, j'étais enthousiasmé car ses applications natives sont écrites dans les technologies Web: HTML, JavaScript et CSS», a déclaré Tomomi Imura, ancien développeur de l'interface humaine de Palm, par courrier électronique. «Les applications Web mobiles ont finalement été traitées comme des citoyens de premier ordre, et WebKit a rendu cela possible.»

WebKit partout

Le webOS de Palm a été un échec commercial et l'ancien directeur logiciel de Palm, Paul Mercer, a reproché à WebKit de ne pas fonctionner comme des applications natives. Mais la trajectoire malheureuse de webOS n'a pas nui à WebKit.

À l'heure actuelle, WebKit domine l'Internet mobile. Selon les chiffres de NetMarketShare, les navigateurs basés sur WebKit représentent plus de 85% du marché mobile. Sur le bureau, WebKit est principalement représenté par Safari et Chrome; selon StatCounter, cela représente près de 45% du marché des navigateurs de bureau, bien que NetMarketShare représente 23% plus conservateur.

Qui sont tous ces utilisateurs WebKit? Pour commencer, ce sont les centaines de millions de personnes qui utilisent des iPhones, iPod touch et iPad. Besoin de centaines de millions de plus? WebKit est également au cœur d'Android. Depuis la mise en vente des premiers appareils en 2008, le navigateur Android est basé sur WebKit. À partir de BlackBerry 6, le Playbook et les smartphones BlackBerry utilisent WebKit; tout comme le système d'exploitation mobile bada de Samsung, le navigateur Silk assisté par le cloud d'Amazon pour les tablettes Kindle Fire, et même le navigateur expérimental qu'Amazon met dans les récentes liseuses Kindle. Naviguer sur le Web sur une Nintendo 3DS? Il utilise WebKit. Le prochain OS mobile Tizen fait un pari comme webOS: Tizen est Linux sous le capot, mais l'interface est alimentée par WebKit.

Dans le monde réel, WebKit a contribué à rendre l'expérience Web cohérente. Jusqu'à il y a quelques années, il n'était pas rare de trouver des sites majeurs qui ne fonctionnaient que dans Internet Explorer, ne fonctionnaient pas dans Safari ou étaient totalement inaccessibles sur un téléphone. Désormais, les internautes s'attendent à ce que la plupart des sites Web fonctionnent quel que soit le navigateur ou l'appareil qu'ils utilisent. WebKit n'est pas uniquement responsable, mais cela a été un facteur énorme - et il en récolte les fruits.

«WebKit est aujourd'hui le visage du Web mobile», a écrit l'ancien ingénieur de Safari. «Je ne pense pas que quiconque ait imaginé cela lorsque Safari a été livré.

Histoire vouée à se répéter?

Comment choisir une tablette

WebKit a un inconvénient. Le succès de WebKit sur les appareils mobiles signifie que les applications et les sites reposent parfois sur des fonctionnalités qui ne font pas partie de la technologie HTML5 - pas encore, en tout cas. Les exemples incluent les moyens de prendre en charge les images «Retina» haute résolution, ainsi que les dégradés, les transitions, les ombres, les transformations et les effets de police. Certains des sites Web et applications Web les plus astucieux pour les appareils mobiles ne semblent (et fonctionnent) que dans les navigateurs WebKit.

«De nombreux sites Web mobiles ne sont optimisés que pour WebKit», a noté Tomomi Imura. «Les développeurs évangélistes de Microsoft, Opera et Mozilla travaillent dur pour défendre leur plate-forme et éduquer les développeurs, mais c'est un effet secondaire du fait que WebKit est le standard de facto.»

De nombreuses technologies Web (des plus simples comme Do Not Track aux plus complexes comme HTML) sont définies par le World Wide Web Consortium (W3C). Les personnes intéressées (mais surtout les entreprises) rejoignent des groupes de travail et tentent de définir une norme gratuite que tout le monde peut utiliser. Le processus est généralement lent, donc une fois qu'une proposition commence à solidifier les projets commerciaux et open source, sautez souvent sur les premières versions à titre expérimental… ou pour prendre l'avantage sur les concurrents. Les normes du W3C peuvent ne pas être formellement achevées pendant des années après qu'une technologie est devenue courante.

La domination de WebKit signifie que les autres moteurs de mise en page sont confrontés à un choix difficile: attendre les normes de demain ou prendre en charge les produits de WebKit aujourd'hui? Opera a déjà déménagé pour émuler WebKit; FireFox y réfléchit fortement, et Microsoft a brièvement singé WebKit dans Windows Phone 7 puis s'est inversé. Pendant des années, les navigateurs de bureau n'avaient guère d'autre choix que d'être compatibles avec Internet Explorer, car sa domination signifiait que la plupart des sites Web étaient conçus avec IE à l'esprit. Désormais, les navigateurs mobiles font face à des choix similaires concernant WebKit. C'est un écho étrange des batailles entre Internet Explorer et Netscape.

Les brevets compliquent également les normes du W3C. L'iOS d'Apple gère les événements tactiles - tapotements, pincements, glissements et gestes - dans son propre code, mais le modèle d'Apple a été implémenté séparément par d'autres et est entré dans WebKit à partir d'Android en 2009. Le processus de normalisation du W3C a démarré, et (bien sûr) WebKit les navigateurs ont tout de suite commencé à utiliser les événements tactiles. Mais en 2011, Apple a divulgué des brevets couvrant les événements tactiles (y compris le brevet américain 7 812 828, qui fait partie du combat d'Apple avec Samsung et Motorola). Ces brevets peuvent ne pas tenir, mais le processus du W3C pour normaliser les événements tactiles s'est arrêté net. Microsoft a soumis ses propres événements de pointeur (assez différents) comme remplacement possible, mais la poussière n'est pas retombée

Quel long voyage étrange cela a été ...

Dix ans après qu'Apple a lancé Safari, il n'a toujours pas pris le contrôle du marché des navigateurs de bureau, ni même fait une brèche majeure. Cela ne le sera probablement jamais. Néanmoins, en forçant KHTML et en donnant naissance à WebKit, l'influence de Safari a été au moins aussi importante pour le Web moderne qu'Internet Explorer et la progéniture la plus célèbre de Netscape, Gecko et Firefox. C'est un témoignage de la large portée de la technologie open source… et quelque chose à prendre en compte lorsque vous lancez votre navigateur mobile.