Abandonnons IE6, si possible
mercredi 23 décembre 2009 - 4 commentaires
Ce sont les fêtes de fin d'année, une bonne période pour prendre du recul sur les choses. Par exemple, le fameux "j'en ai marre de IE6, ça me pourrit la vie". On va donc voir pourquoi on peut déjà l'abandonner, ce qu'on y gagne techniquement et peut-être financièrement.
Pourquoi c'est possible ?
La réflexion a commencé la semaine dernière sur Twitter (enfin sur Identi.ca). Ma réponse à ce cri de détresse était de faire un simple calcul que chaque société devrait faire :
Si l'argent que vous rapporte les utilisateurs de IE6 est inférieur à l'argent que vous investissez pour les avoir, alors oubliez IE6 et vous pourrez passer plus de temps à avoir un site plus agréable pour les autres utilisateurs.
Votre chiffre d'affaires sera inférieur, puisque vous perdez des clients (et encore, pas sur). Mais votre bénéfice augmentera. Bon, je ne vais pas vous expliquer comment calculer la rentabilité de votre entreprise, je n'en suis pas capable mais vous voyez l'idée.
Évidemment, je ne demande pas à tout le monde d'abandonner IE6 [1] , seulement si cela vous avantage. Mais réfléchissez, prenons un exemple vague : 20% du temps d'intégration consacré à IE6, 10% de visiteurs sous IE6 qui ne sont pas ceux ayant le meilleur taux de transformation en plus. Est-ce que ça ne vaudrait pas le coup de se passer de tout ça ?
Si vous décidez de passer le cap, n'expulsez pas les utilisateurs sous IE6. Les deux options à envisager sont :
- Proposer une CSS très simplifiée pour IE6 afin d'avoir un style global portant vos couleurs, mais pas plus.
- Fournir le même code mais en prévenant que vous n'avez pas tester et que ça peut péter à tout moment.
Et en complément, proposez d'autres navigateurs pour leur permettre d'avoir une expérience correcte.
Techniquement, qu'est-ce qu'on y gagne ?
Transparence alpha sur les PNG
IE6 ne supporte pas la transparence alpha sur les PNG. Il affiche un fond gris immonde pour les PNG24 ou considère tous les pixels avec un canal alpha comme transparents pour les PNG8. On a donc recours aux horribles filtres IE, immaintenables et lourds en performance. Et encore, ils ne sont utilisables que pour des backgrounds.
À partir de IE7, plus de problèmes, on utilise les PNG que l'on veut, où on veut, roulez jeunesse ! Et cette transparence est très utile pour des ombres, des dégradés, s'adapter à vos différentes couleurs, etc.
Une palette étendue de sélecteurs
Avec ces sélecteurs étendus, on évite beaucoup de trifouillages de HTML. Par exemple, plus besoin de classes spéciales pour sélectionner input[type=submit]
ou html[dir=rtl]
grâce aux sélecteurs d'attributs. Vous pouvez aussi cibler le premier enfant avec :first-child
.
Plus de contrôle aussi grâce au sélecteur adjacent (h1+p
) ou au sélecteur enfant (body>div
). Pour illustrer une image avec légende, vous pourrez utiliser des sélecteurs simples tels .legend > img
et .legend > img + p
.
Et mon préféré, les classes multiples. Pouvoir identifier un élément grâce à .menu.active
est très pratique. Pas besoin d'ajouter un élément englobant pour contourner cette absence de IE6.
Position fixe et background fixe
Peu de sites s'en servent mais ça peut-être bien utile. Pour avoir une interface toujours sous l'œil de l'utilisateur par exemple. Ou encore avoir une entête de liste toujours visible. C'est une possibilité de design sous utilisée, donc à vos claviers.
:hover partout
Avec IE6, :hover ne fonctionnait que sur les balises <a>. L'avoir sur tous les éléments vous permet de mettre en avant des parties de votre interface au fur et à mesure.
min- max-width et min- max-height
Des design un peu plus souples grâce à cela. Je me rappelle en avoir souvent eu besoin pour dimensionner correctement des images uploadées par les utilisateurs.
De meilleures performances
Vous êtes assurés d'avoir des visiteurs avec un navigateur plus performant. Du coup, vous pouvez utiliser des techniques plus lourdes sans que ça pose problème. Par exemple, IE7 ne passe plus par un ActiveX pour faire des XHR/Ajax.
Moins de bugs !
C'est certainement une des parties les plus intéressantes. Moins de temps à se prendre la tête, moins de temps en QA, moins de machines pour tester.
Avec cela, vous pouvez apporter un site de meilleure qualité, plus léger pour vos visiteurs, plus léger pour votre bande passante et beaucoup plus facile à faire évoluer pour vos développeurs.
Et en plus, on peut gagner plus !
Si vous abandonnez IE6, je vous conseille de communiquer sur cet abandon. Pourquoi ? Je suis persuadé que les technophiles tombant sur votre communication anti-IE6 la relaieront. Il y a une telle haine de IE6 chez les gens passionnés d'Internet que vous en ferez peut-être des clients ou alors juste des relais d'informations. En tout cas, c'est la communication la moins chère du monde, puisqu'en développant moins de code, vous augmenterez votre visibilité.
Le mot final : envisagez sérieusement de ne plus développer pour IE6 en vous appuyant sur des chiffres. Si votre contexte vous permet l'abandon de IE6, vous rendrez service à vous même, vos pairs et vos utilisateurs.
Notes
[1] même si ce serait sacrément le pied
Commentaires
"Proposer une CSS très simplifiée pour IE6 afin d'avoir un style global portant vos couleurs, mais pas plus."
C'est, pour moi, la meilleure solution. Mais dans ce cas précis on n'abandonne plus IE6, on accompagne sa mort. Ça fait une énorme différence.
Le "mais pas plus" est à nuancer. Si on peut faire mieux sans se compliquer la tâche, pourquoi ne pas l'envisager ? Après, ça dépend de ce que l'on entend par "très simplifiée". Les mauvaises langues me diront que de toute façon rien n'est simple avec IE6 (ce qui est souvent le cas, je dois bien l'admettre). ;)
Comme tu le dis, il est essentiel que le visiteur soit accompagné, et non pas abandonné.
Louable angle d'attaque, néanmoins dans un contexte "agence" je me pose bêtement la question suivante : est-ce que mon client va écouter mon speech anti-IE6 (je résume) si l'agence d'à côté lui vend le support IE6 complet sans hausse de tarif ?
Parce qu'à mon avis c'est ce qui va arriver : les budgets des gros sites sont grotesquement démesurés, à un point tel qu'ils absorbent à mon sens les surcoûts liés à IE6, qui se limitent aux étapes markup et JS (globalement minoritaires face aux étapes d'avant-vente, ergo, design, gestion, etc., puis dev back derrière).
Bref, je vais pas dire que ce coût est indolore mais presque : dès lors est-ce que je vais prendre le risque de perdre un client à plusieurs centaines de milliers d'euros pour faire plaisir à mes devs front ?
Question de cible, donc : comme tu le dis, tout le monde ne peut pas abandonner IE6.
Je me dis juste que les grosses agences qui font des gros sites sont plutôt moteurs (dans le sens où elles touchent beaucoup d'internautes), et que tant que celles-là n'auront pas décidé de laisser tomber IE6 de concert, il ne restera que des initiatives (louables, certes, mais) isolées...
Dans le genre, la refonte de http://www.lesintegristes.net/ est une brillante réussite !
Il y a une légère faute de raisonnement. Un client ne comparera pas aussi directement un coût fixe et ponctuel (le support d'IE6) avec un revenu variable et cumulatif (la proportion de chiffre d'affaires en provenance des utilisateurs d'IE6). Il vaudrait mieux se baser, objectivement, sur cette proportion pour le site en question. Si elle est vraiment très faible, alors il sera facile de démontrer que ça ne vaut pas le coup. Si au contraire elle est encore significative, il faudra avaler la pilule !
"10% de visiteurs sous IE6 "
Je pense qu'il peut être intéressant de se demander qui ils sont. Or il semblerait qu'en majorité ce soit les ordinateurs des plus ou moins grosses entreprises ou des administrations qui utilisent encore massivement ce navigateur obsolète. Du coup l'usage d'internet que font ces utilisateurs se situant sur leurs lieux de travail n'est forcément pas le même que celui fait sur un pc familial. Dans cette logique on comprend mieux pourquoi youtube se permet d'arrêter le support de son site à IE6.
C'est pourquoi j'en suis venu à la conclusion que la question n'est pas tranchée, tout dépend du site développé. Pour un site de divertissement - la majorité des sites heureusement - je pense qu'on peut sans regret abandonner IE6 sur le bord de la route (en l'écrasant au passage avec une petite marche arrière bien placée). Mais pour tout le reste, cela ne me semble pas encore judicieux, à mon grand regret.
Mais les choses progresse bien, depuis cette année, IE6 perde 1% de part de marché chaque mois. La lueur est au bout du tunnel...