Catégorie : Technique

  • Ce qui me fait aban­don­ner vos pages

    Je suis un bouli­mique du web, je ne consomme pas que ça mais j’en consomme énor­mé­ment.  Poli­tique, tech­nique, travail, diver­tis­se­ment : tous les sujets y passent.

    Je me plains régu­liè­re­ment que certains n’ont rien compris au web et me font fuir. Ça reste souvent instan­tané, je m’en vais, je râle, et j’ou­blie. Afin que ça serve, à moi-même ou à d’autres, voilà quelques unes des diffi­cul­tés régu­lières qui font que je fuis immé­dia­te­ment certains sites :

    Contenu vidéo

    Si le contenu est en vidéo ou en audio, sans trans­crip­tion, je suis inca­pable de le scan­ner rapi­de­ment pour savoir s’il m’in­té­resse vrai­ment, et quand bien même il m’in­té­resse il a toute les chances de me deman­der bien plus de temps qu’un contenu texte (et le temps est ma ressource la plus chère). Même quand je suis convaincu d’être inté­ressé au point d’avoir envie d’y passer du temps, je ne suis pas toujours en contexte où je peux lire une vidéo (bande passante dispo­nible en mobile) ou où je peux l’écou­ter (pas de son au boulot). Au final soit je quitte soit je stocke le lien pour plus tard et je n’y reviens fina­le­ment pas.

    Redi­rec­tion vers la page d’ac­cueil du site mobile

    Je pense à LCI mais pas unique­ment à eux. Si je suis un lien d’ar­ticle à partir de mon télé­phone mobile je suis redi­rigé vers la page d’ac­cueil du site mobile. Impos­sible de retrou­ver l’ar­ticle souhaité et de suivre les liens : c’est un départ immé­diat. C’est plus rare mais l’ex­pé­rience inverse est aussi problé­ma­tique. Au final vous avez une chance sur deux de mal tomber et que le lien parte immé­dia­te­ment à la poubelle.

    Un article en plusieurs sous-pages

    Je ne suis pas sur le web pour mimer les contraintes que j’ai sur papier. Je ne suis pas sur le web pour m’amu­ser à tour­ner les pages. C’est agaçant, j’ai réel­le­ment fuit des sites pour ça. Lais­sez-moi utili­ser l’as­cen­seur de mon navi­ga­teur.

    Un site vrai­ment lent

    Ceux qui me connaissent doivent s’y attendre, pour­tant c’est à dessein que je ne le mets pas dans les premiers critères : Si vos pages sont lentes, je risque bel et bien de repar­tir agacé avant même d’avoir eu l’oc­ca­sion de lire quoi que ce soit. Sur télé­phone portable, même dans le métro avec une mauvaise récep­tion, il est hors de ques­tion d’at­tendre plus de 10 secondes. Sur un poste bureau­tique ne me faites pas attendre la moitié de ça.

    La grosse pop-in

    Si votre contenu commence par être masqué par un gros pop-in, je ne passe­rai jamais à la suite, c’est aban­don immé­diat. Je me fiche que ce soit de la publi­cité, un formu­laire de feed­back ou un message de bien­ve­nue. En fait les deux derniers cas sont presque ceux qui m’agacent le plus de part leur imbé­cil­lité. Je ne ferme­rai pas la pop-in, je parti­rai. C’est encore plus vrai sur mobile où réus­sir à fermer le pop-in est souvent mission impos­sible de toutes façons.

    Des lignes trop longues

    Si vos lignes font plus d’une quin­zaine de mots, elles devien­dront rapi­de­ment pénibles à lire pour moi. Pire, j’au­rai beau­coup de mal à scan­ner la page rapi­de­ment en diago­nale.  Si ça semble futile comme critère, je vous assure que c’est un aban­don systé­ma­tique pour tous les sites qui ont des lignes trop longues. Si vous voulez une mesure, comp­tez une longueur maxi­mum de 45 fois la taille de votre police de carac­tères. Sur mobile c’est encore pire, si votre mise en page m’em­pêche de zoomer sur le texte de façon à ce qu’il tienne dans la largeur de mon télé­phone portable quand je double clique dessus, ça sera telle­ment pénible à lire que je n’es­saie­rai même pas.

    Ça bouge partout

    Vous tenez à la publi­cité et je le comprends, mais si ça bouge, si ça flash, si ça clignote, vous me verrez partir immé­dia­te­ment. Je serai simple­ment inca­pable de fixer mes yeux au bon endroit sans que ce ne soit pénible. Mon œil peut se lais­ser atti­rer hors du contenu une fois, mais la seconde fois je ferme la page. Notez que ça vaut aussi si c’est votre propre contenu promo­tion­nel ou carrou­sel qui attire l’œil et non de la publi­cité. Je ne fais pas de diffé­rence à ce stade là.

    On mélange tout

    Vous avez des publi­ci­tés ou des pavés promo­tion­nels au milieu du contenu, je sais, ça encou­rage les clics. Mais je sais aussi que ça me fera fuir immé­dia­te­ment là aussi. C’est encore plus vrai si j’ai un doute sur la sépa­ra­tion entre promo­tion­nel et rédac­tion­nel. Encore une fois, si je ne suis pas capable de filtrer et repé­rer l’in­for­ma­tion utile au premier coup d’œil, je repars immé­dia­te­ment. Même sans publi­cité, le trop plein d’illus­tra­tions hors contexte (même avec des légendes humo­ris­tiques ou sarcas­tiques) donne le même effet.

    Texte rikiki

    Votre graphiste vous l’a montré, la maquette est quand même bien plus jolie quand c’est écrit petit … sauf que c’est illi­sible, et ça aussi c’est un bloqueur pour moi. Non, 10 pixels de hauteur pour une police ce n’est pas suffi­sant pour moi. Notez qu’à l’in­verse je ne me souviens pas avoir jamais aban­donné un site parce que le texte était trop gros.

    Et si je lis ?

    Si vous avez passé le texte jusque là, bravo, il y a des chances que je lise votre contenu. Un autre jour je vous explique­rai ce qui peut faire qu’a­près la première lecture je ne revienne jamais chez vous.

    Allez, pour la forme j’ajoute ce qui d’après la légende est gênant mais qui pour ma part ne m’a jamais freiné (ou en tout cas pas consciem­ment) : les textes trop longs, le manque d’illus­tra­tion, le trop plein de liens, le tutoie­ment ou le vouvoie­ment, la prise d’opi­nion subjec­tive, les propos « indé­cents », ou les sites person­nels sans répu­ta­tion. Rien de tout ça ne me gêne a priori.

  • Authen­ti­fi­ca­tion forte

    Une authen­ti­fi­ca­tion par mot de passe sur le web est vite problé­ma­tique. Avec la multi­pli­ca­tion des sites web, chacun avec son compte, on a vite fait d’uti­li­ser le même mot de passe pour un même type de site, voire le même mot de passe partout. Tôt où tard on finit par s’au­then­ti­fier sur une machine publique, chez un voisin, sur un wifi public, ou alors un des services finit par avoir une faille de sécu­rité, voire quelqu’un a posé un spyware sur notre machine habi­tuelle.

    Problé­ma­tique simple : Je veux que personne ne puisse s’au­then­ti­fier sur mes comptes frau­du­leu­se­ment, et le mot de passe n’est pas la solu­tion.

    Mots de passes uniques

    Pallia­tif simple : Je génère un mot de passe par site. Je l’ai fait un temps, mais on atteint vite les limite de ce qu’on peut rete­nir de tête, même en utili­sant une astuce pour déter­mi­ner le mot de passe en fonc­tion du site (genre faire chan­ger une partie du mot de passe en fonc­tion du site). Au final la faci­lité reprend le dessus et on utilise trop souvent le même, ou des trop proches.

    C’est encore plus vrai pour les mots de passe « sensibles » (comptes mails prin­ci­paux, machines perso, machine pro) où le mot de passe devrait être complexe, diffé­rent à chaque fois, et renou­velé au mini­mum à chaque chan­ge­ment de société ou de pres­ta­taire. Jusqu’à quatre mots de passe forts c’est encore gérable, après ça devient ingé­rable, surtout si certains sont peu utili­sés (donc vite oubliés).

    Géné­ra­teurs auto­ma­tiques de mots de passe

    Dans la même lignée on peut utili­ser un système auto­ma­tique pour géné­rer un mot de passe à partir du nom ou de l’URL du service, ou aléa­toi­re­ment en tenant à jour une liste de mots de passe. C’est mieux, mais on reste dépen­dant de cet algo­rithme. Si je suis à l’ex­té­rieur, je risque de ne plus y avoir accès. Ensuite ça ne pallie qu’une partie du problème : ça n’em­pêche pas le mot de passe de se diffu­ser, et d’être utilisé frau­du­leu­se­ment par un tiers. Ça limite juste les dégâts si c’est le service tiers qui a un problème de sécu­rité.

    OpenID

    OpenID c’est une manière de résoudre le problème par l’autre bout. On centra­lise la gestion de l’au­then­ti­fi­ca­tion sur un seul site, et tous peuvent ensuite y faire appel. Du coup je n’ai aucun seul mot de passe à rete­nir : celui de mon compte openid. Je peux faire en sorte qu’il soit complexe, trans­mis sur une connexion sécu­ri­sée, et je ne crains pas les failles appli­ca­tives des services tiers.

    Ça résout certaines ques­tions, mais en pose d’autres : Comment est-ce que je m’au­then­ti­fie sur le serveur OpenId ? si c’est un mot de passe alors j’ai un risque d’au­tant plus grand s’il est décou­vert. Tous mes services en dépendent.

    RSA SecurID

    SecurID c’est le système clas­sique en entre­prise. On vous donne une sorte de porte clef person­nel qui génère un mot de passe unique toutes les 15 secondes. Natu­rel­le­ment chaque porte clef est initia­lisé diffé­rem­ment donc seul le votre donne accès à votre compte. Le mot de passe est à usage unique, et tota­le­ment sans inté­rêt passé une minute. Les risques d’ac­cès frau­du­leux sont donc forte­ment limi­tés.

    Malheu­reu­se­ment ça ne semble pas vrai­ment conve­nir à un usage person­nel courant. Tout d’abord je n’ai qu’un seul support physique, et aucun accès de secours. Si je perds mon accès, je dois me repo­ser sur un admi­nis­tra­teur tiers qui me redonne un nouveau support et le lie à mon compte.

    En vacances, ou simple­ment si je n’ai pas ma veste avec moi, il peut arri­ver que je n’ai pas mon support. Sous réserve que je consi­dère mon accès comme « sans risques » je souhaite pouvoir passer sans le jeton d’au­then­ti­fi­ca­tion forte. Là je n’avais pas ce choix.

    Ensuite le jeton repose sur un système de clefs et de secrets qui est détenu par Veri­sign. C’est un point qui est sensible pour moi, d’au­tant qu’il y a eu une faille chez eux récem­ment et qu’on se demande si les secrets n’ont pas été divul­gués. Un système open source sans serveur tiers me semble indis­pen­sable.

    Enfin, pour éviter qu’il suffise de voler le porte clef plas­tique pour avoir accès à mon compte, je devais ajou­ter un PIN de quatre chiffres. Ce qui m’étonne c’est que ce PIN n’est pas à saisir sur le porte clef, mais à côté du jeton d’au­then­ti­fi­ca­tion, dans le formu­laire web. Quiconque regarde mon clavier, écoute sur le réseau, ou a réussi à poser un spyware sur ma machine connai­tra ce PIN. Bref, il n’est pas si secret que ça.

    Pour ma société, voire pour l’ac­cès à mon compte en banque (et encore), pourquoi pas. Pour le reste, bof bof.

    Google 2 steps veri­fi­ca­tion

    Le système Google est pour moi un peu plus souple déjà. Il utilise une appli­ca­tion sur mon smart­phone et pas un porte clef tiers mais le système semble simi­laire. Ca n’a l’air de rien mais le télé­phone a beau­coup plus de chances d’être avec moi. Il inter­vient après l’au­then­ti­fi­ca­tion par mot de passe (d’où le nom de « deux étapes ») et on peut forcer la seconde étape à ne pas être rede­man­dée à chaque fois pour la même machine qu’on sait « sûre ».

    Pour autant je ne suis pas toujours avec mon télé­phone, et il peut tomber hors batte­rie. Dans ces condi­tions, et si j’ai confiance dans le poste et la connexion sur lesquels je suis, j’au­rai aimé pouvoir saisir un mot de passe spéci­fique qui zappe l’au­then­ti­fi­ca­tion forte. Ça fonc­tionne tant que c’est excep­tion­nel mais Google ne me le propose pas. Google me propose par contre de géné­rer une série de mots de passe à usage unique. Malheu­reu­se­ment l’usage unique est poten­tiel­le­ment gênant et surtout ça implique de les noter quelque part, avec le risque de les perdre ou de se les faire voler. Bref, on peut mieux faire même si j’ap­pré­cie l’in­ten­tion.

    Pour ne pas risquer de perdre des accès et comme il n’y a pas d’ad­mi­nis­tra­teur humain tiers, je peux propo­ser à Google un second numéro de télé­phone qui sert en backup, si jamais je perds le premier. Là aussi c’est posi­tif. Main­te­nant person­nel­le­ment j’ai un télé­phone perso, un de boulot, je risque parfois d’avoir l’un et pas l’autre. J’au­rai aimé auto­ri­ser les deux à me servir pour l’au­then­ti­fi­ca­tion forte et ce n’est pas proposé.

    Point posi­tif, google garde une compa­ti­bi­lité avec toutes les appli­ca­tions qui conti­nuent à utili­ser un simple mot de passe comme inter­face. Je peux faire géné­rer autant de mot de passe que je veux (ils sont longs et complexes) et les affec­ter à des appli­ca­tions. J’ai ensuite la liste des appli­ca­tions dans mon inter­face d’ad­mi­nis­tra­tion et je peux en ajou­ter ou en reti­rer à la volée. Le résul­tat c’est que je peux vali­der ou refu­ser chaque appli­ca­tion indé­pen­dam­ment, sans secret partagé entre toutes.

    Côté sécu­rité, rien ne m’in­dique qu’il est impos­sible de copier le logi­ciel présent sur mon télé­phone portable (ou les mots de passe à usage unique que j’ai en backup) et l’uti­li­ser sans que je ne le sache. Tech­nique­ment ça ne prend pas long­temps pour quelqu’un qui a accès à mon télé­phone, 10 minutes au plus. J’au­rai aimé un système qui détecte que deux télé­phones distincts utilisent la même clef et me l’in­dique. Si c’est présent Google n’en parle pas.

    Enfin, tout ça est « google-only ». Je peux certes utili­ser google en openid, mais ça reste centra­lisé. J’au­rai aimé quelque chose d’uti­li­sable partout, y compris sur mes serveurs.

    Clefs SSH

    En rédi­geant tout ça je me suis rendu compte que j’uti­li­sais déjà un système assez ressem­blant : les clefs SSH. Pour me connec­ter à mes serveurs j’uti­lise des clefs privées. J’ai une clef par source, toutes diffé­rentes. Je peux auto­ri­ser faci­le­ment une nouvelle source, ou en griller une exis­tante, sans mettre à jour. J’ai aussi un mot de passe de secours que je peux utili­ser quand je suis à l’ex­té­rieur.

    Malheu­reu­se­ment là c’est unique­ment pour ssh, et mes authen­ti­fi­ca­tions se font à 90% sur des formu­laires web. Ca demande aussi d’avoir ses clefs ssh sur soi, or le scéna­rio d’au­then­ti­fi­ca­tion forte est surtout utile juste­ment quand je suis ailleurs que chez moi, ou avec une machine qui n’est pas une machine de confiance.

    Je n’ai non plus aucun système qui m’as­sure que ma clef n’a pas été copiée et utili­sée par un tiers.

    Et vous ? Qu’a­vez-vous pour vos authen­ti­fi­ca­tions fortes ?

    En regar­dant j’ai­me­rai :

    • Authen­ti­fi­ca­tion par un système de clefs privée/publique géré par une appli sur mon télé­phone portable
      • Possi­bi­lité de gérer une liste de clefs auto­ri­sées (une par télé­phone portable) pour ajou­ter/reti­rer faci­le­ment un accès
      • Le jeton renvoyé par le télé­phone est obtenu par une combi­nai­son d’un mot de passe ou PIN et de la clef (il faut les deux, et donc le mot de passe n’est pas saisit sur le PC public mais sur mon propre télé­phone)
      • Un système de numéro incré­men­tal est asso­cié au jeton d’ac­cès afin de repé­rer si un tiers utilise une de mes clefs après l’avoir copiée (si le numéro est égal ou plus faible que la dernière fois le serveur refuse l’ac­cès, je saurai donc que quelqu’un utilise ma clef ailleurs et je pour­rai la suppri­mer des auto­ri­sa­tions)
    • Authen­ti­fi­ca­tion alter­na­tive par un mot de passe que je choi­sis moi, pour quand je n’ai pas mes télé­phones et que je suis prêt à prendre le risque
    • Authen­ti­fi­ca­tion alter­na­tive par mot de passe pour les API, logi­ciels, etc. (mot de passe généré, long/complexe)
      • Possi­bi­lité de gérer une liste de mots de passe auto­ri­sés (un par appli­ca­tion/API) pour ajou­ter/reti­rer faci­le­ment un accès
  • N’éco­no­mi­sez pas sur votre maté­riel infor­ma­tique profes­sion­nel

    N’éco­no­mi­sez pas sur votre maté­riel infor­ma­tique profes­sion­nel

    Choi­sis ce que tu veux

    J’ai inté­gré une nouvelle société il y a peu. Première surprise, on m’a demandé avant que j’ar­rive ce que je voulais comme poste infor­ma­tique. Agréable. Mieux : On m’a simple­ment dit d’al­ler prendre ce qui me corres­pon­dait sur les sites de Dell ou d’Apple. Pas de choix prééta­bli ou de guide sur le budget.

    Avec un cahier des charges aussi inexis­tant le moindre DAF risque­rait une attaque cardiaque. L’es­sen­tiel des effec­tifs peut faci­le­ment se faire coller l’étiquette « geek », c’est un coup à dépen­ser 3 000 euros par poste ça.

    Qu’est-ce qui peut bien pous­ser une société à lâcher la bride ainsi à ses infor­ma­ti­ciens ?

    Que ceux qui n’ont jamais pesté devant leur machine qui ne réagit pas assez vite lèvent la main !

    À mon arri­vée à Yahoo! j’avais eu pendant un moment un vieux Dell qui avait 10 minutes de batte­rie (montre en main) et 8 minutes pour démar­rer. Je n’avais pas le temps de lancer un logi­ciel qu’il s’ar­rê­tait. Chan­ger la batte­rie ? ah non, pas avant les trois ans d’amor­tis­se­ment. Résul­tat : une horreur pendant les réunions.

    Plus récem­ment à mon précé­dent poste j’ai béné­fi­cié d’un Dell Lati­tude E5510 tout neuf. Proces­seur Intel i3 dual core à 2,4 Ghz et 4 Go de mémoire, sur le papier c’est même surdi­men­sionné pour quelqu’un qui fait un peu de code et majo­ri­tai­re­ment de la bureau­tique. Pour­tant, que ce soit l’anti-virus ou le maté­riel, il me fallait presque 10 minutes pour démar­rer la machine, plus d’une minute pour avoir accès à MS Word ou Fire­fox après les avoir lancé, et le wifi mettait du temps à accro­cher.

    Je ne prends même pas en compte toutes les fois où j’ai du noter sur papier et ressai­sir à cause d’une mauvaise batte­rie et d’un manque de prises en salle de réunion, vous ne croi­riez pas le temps perdu ainsi cumulé.

    La renta­bi­lité comme seul objec­tif

    Depuis une semaine c’est une joie. J’ouvre le portable et je peux commen­cer à frap­per au clavier. Pas de minute d’at­tente, pas même 30 secondes. Je clique sur l’icône de MS Word et je peux taper immé­dia­te­ment. Je dis bien immé­dia­te­ment. J’ai véri­fié si c’était une impres­sion ou si c’était objec­tif. J’ai cliqué et tapé immé­dia­te­ment.  La batte­rie je n’en parle même pas, je pour­rai tenir la jour­née dessus sans rechar­ger. Quant au wifi, c’est en rédi­geant ce billet que je me suis rendu compte que je n’ai jamais fait atten­tion à savoir si le wifi était en recherche ou connecté : j’étais en ligne dès l’ou­ver­ture du capot, ou du moins je n’ai jamais ressenti le délai.

    En ce moment je fais des entre­tiens auprès de mes clients. Deux entre­tiens par jour, c’est un démar­rage à froid et trois reprises à chaud. Entre le wifi, la sortie de veille, le lance­ment des logi­ciels et la réac­ti­vité géné­rale, je gagne un grand mini­mum de 3 minutes à chaque fois, le double pour le démar­rage à froid, soit 15 minutes par jour.

    Comp­tez vous-mêmes, j’ai renta­bi­lisé une jour­née de travail à peu près tous les deux mois. 15 minutes ça peut sembler exagéré, on ne se rend pas toujours compte de tous ces petits temps d’at­tente, on met instinc­ti­ve­ment en place des contour­ne­ments (le café après avoir allumé la machine, la présen­ta­tion avec le client le temps que MS Office se lance) … jusqu’au jour où on n’en n’a plus besoin et qu’on devient vrai­ment effi­cace.

    N’éco­no­mi­sez pas sur l’ou­til de travail

    Le « choi­sis ce que tu veux » est très diffi­cile pour moi. Ça veut dire que c’est à moi de défi­nir les limites de ce qui est accep­table ou rentable. Mes expé­riences passées m’in­ci­taient d’un côté à ne surtout pas rogner trop, mais de l’autre à croire que je risquais de me faire remarquer par une facture refu­sée avant même de faire mon premier jour.

    Heureu­se­ment un futur collègue m’a incité à ne pas faire l’éco­no­mie d’un poste de travail et m’a rappelé que le coût était quand même ridi­cule au final pour du profes­sion­nel.

    Résul­tat : Je me suis lâché. Raison­na­ble­ment, mais mon poste a proba­ble­ment coûté quatre fois plus que celui que m’avait alloué mon précé­dent employeur.

    Le montant repré­sente tout de même moins de trois jours de factu­ra­tion client. La diffé­rence avec un poste milieu de gamme sera amor­tie en moins de six mois sur la base des calculs plus haut. Avec un renou­vel­le­ment tous les trois ans, mon employeur précé­dent aurait fait une écono­mie de 15 jours de factu­ra­tion en faisait le même choix.

    Tout n’est pas chif­frable

    Mais le gain réel n’est même pas là. Le gain c’est par exemple que j’ai envie de travailler, que j’ai une impres­sion de confiance et d’ef­fi­ca­cité indé­niable pour commen­cer dans mes nouvelles affec­ta­tions. Je commence motivé et non frus­tré.

    Pour savoir combien cette frus­tra­tion peut tuer toute moti­va­tion sur le long terme au fur et à mesure des embê­te­ments et des mauvaises expé­riences, le retour sur inves­tis­se­ment chif­fré plus haut est tota­le­ment négli­geable. La vraie valeur ajou­tée elle ne se chiffre pas, mais c’est elle la plus impor­tante : je suis effi­cace est motivé.

    Faites tour­ner ce retour à votre service infor­ma­tique le jour où on vous annonce que fran­che­ment votre poste coûte déjà assez cher comme ça et que ce que vous deman­dez n’est pas vrai­ment indis­pen­sable, qu’on peut très bien faire sans.

    Photo d’en­tête sous licence CC BY-NC-ND par Kmeron

  • How media queries slow the mobile web

    You proba­bly have been told to design with the grace­ful degra­da­tion para­digm. If you have very smart friends, they may even use the « progres­sive enhan­ce­ment » in place of grace­ful degra­da­tion. To enable an opti­mi­zed access to mobile on a website, you proba­bly use css media queries:

    header { background-image: url(head-1280px.png) }
    @media screen and (max-device-width: 480px) {
      header { background-image: url(head-480px.png) }
    }
    

    If you’re really smart and don’t care about IE, you may design first for narrow mobiles and then opti­mize all other use cases:

    header { background-image: url(head-320px.png) }
    @media screen and (min-device-width: 321px) {
      header { background-image: url(head-480px.png) }
    }
    @media screen and (min-device-width: 481px) {
      header { background-image: url(head-855px.png) }
    }
    @media screen and (min-device-width: 856px) {
      header { background-image: url(head-1280px.png) }
    }
    

    Sorry, what you has been told is bull­shit. You are not opti­mi­zing anything. Worse, you are degra­ding all android user expe­rience (and proba­bly some ipho­ne’s ones).

    It’s not your fault, webkit has an horrible bug. It down­loads all appli­cable images, not just the final one. This basi­cally means that down­loa­ding only the big 1280px image may even be chea­per than these alter­na­tives with media queries.

    Yes, it’s sad, but so is the life. The former is true at least up to Android 2.3.2 so the problem won’t disap­pear this year.

    If you ask me, it’s even worse: Brow­sers based on 2010’s webkit and lower (inclu­ding mobile ones) don’t need any media query to be slowed down. You just need the follo­wing to down­load two images instead of one.

    p { background-image: url(useless.png); }
    p { background-image: url(usefull.png); }
    

    There are only three solu­tions

    1. Push the fix on Android (still not there in 2.3.2) and upgrade to the latest firm­ware (not only on your own mobile, but on everyo­ne’s)
    2. Use the same images for all devices and screen widths AND don’t use the cascade to over­ride previous back­ground-image rules in your style­sheets
    3. Wrap every back­ground-image rule in a media query and define min and max constraints for each media query so that a device never read more than one block (this mean you will never support IE without CSS hacks) AND don’t use the cascade to over­ride previous back­ground-image rules in your style­sheets