L’intégration, c’est faire des choix

S’il y a une chose particulièrement importante que vous devez savoir à propos de l’intégration, c’est qu’il s’agit avant tout de faire des choix. Tout le temps. Choisir la bonne balise, le bon nom de classe, la bonne méthode de positionnement, le bon framework, etc… En mai dernier, j’abordais déjà (maladroitement) ce sujet dans mon article sur les contraintes de l’intégration. Mais l’importance de nos choix en intégration m’est revenu à l’esprit à travers deux exemples.

A Paris Web, j’ai pu assister au très bon atelier de Jean-Pierre Vincent sur la performance sur les sites mobiles. Ce qui m’a marqué, c’est la dualité entre certaines bonnes pratiques. Par exemple, afin d’améliorer le temps de chargement de votre site, il est conseillé de diminuer le nombre de requêtes. Une bonne pratique consiste alors à privilégier l’emploi de propriétés CSS pour éviter d’utiliser des images pour des effets graphiques (bords arrondis, ombres, fond en dégradés). Sauf que l’utilisation de ces propriétés a un coût important sur le temps de rendu de la page une fois téléchargée côté client. En optimisant d’un côté, vous alourdissez de l’autre. Quel choix allez vous faire ?

Et puis la semaine dernière, il y a eu ce tweet de Raphaël Goetter : « WebPerf says : « id is the best CSS selector »; OOCSS says : « don’t use id ». Well.« . Si l’impact bénéfique sur la performance d’un id n’est plus vraiment d’actualité, son utilisation reste toujours sujet à débat. En utilisant des ids dans votre HTML, vous aurez potentiellement une page plus légère. Mais vous serez contraint d’alourdir vos sélecteurs CSS, en compliquant au passage la maintenabilité de votre code. Quel choix allez vous faire ?

Si certains choix vont être faits en réponse à des objectifs clairs de votre site, d’autres vont plutôt relever de votre personnalité d’intégrateur. En mai dernier, je résumais  :

S’il est assez naturel de voir la personnalité d’un graphiste transparaître à travers ses créations, il en va de même pour un intégrateur. Mais contrairement à un graphiste, le travail de l’intégrateur est souvent invisible, et beaucoup plus difficile à juger.

L’intégration, c’est faire des choix. Mais souvent, il ne s’agit pas forcément de faire le meilleur choix, mais plutôt de faire le moins pire.

Les résultats d’Apple pour le quatrième trimestre 2012

Après 3 trimestres exceptionnels, Apple a présenté hier ses résultats pour le quatrième trimestre 2012, clôturant ainsi son année fiscale.

La société a publié un chiffre d’affaire pour le trimestre de 36 milliards de dollars et un bénéfice net de 8,2 milliards de dollars, ou 8,67$ par action diluée. […]

La société a vendu 26,9 millions d’iPhones au cours de ce trimestre, soit une hausse de 58% en comparaison au même trimestre il y a un an. Apple a vendu 14 millions d’iPads au cours de ce trimestre, soit une hausse de 26% en comparaison au même trimestre il y a un an. La société a vendu 4,9 millions de Macs au cours de ce trimestre, une hausse de 1% en comparaison au même trimestre il y a un an. Apple a vendu 5,3 millions d’iPods, une baisse de 19% en comparaison au même trimestre il y a un an.

Si on additionne les chiffres de l’année 2012, ça donne :

  • 125,04 millions d’iPhones vendus (37,04 + 35,1 + 26 + 26,9)
  • 58,23 millions d’iPads vendus (15,43 + 11,8 + 17 + 14)
  • 18,1 millions de Macs vendus (5,2 + 4 + 4 + 4,9)
  • 35,2 millions d’iPods vendus (15,4 + 7,7 + 6,8 + 5,3)

Avec 41,73 milliards de dollars de bénéfices, Apple enregistre ainsi le plus gros record de bénéfices depuis 2008 (détenu alors par ExxonMobile). De manière assez amusante, la seule société d’électronique qui s’en sort aussi bien en ce moment, c’est Samsung.

Je le dis et je le répète : nous vivons dans le monde d’Apple. Je suis curieux de voir combien de temps cela va durer, et ce que cela va donner en 2013.

Véronique Marino – Compréhension de l’autisme

La conférence de Véronique Marino à Paris Web la semaine dernière, Comprendre l’autisme pour améliorer les projets transmédias, était pour moi une très bonne surprise. Certes, ce n’était pas une grande conférence ni du grand spectacle, comme ont pu l’être les conférences de Mike Monteiro ou Jake Archibald. Mais c’était une conférence avec un sujet important, le genre de sujet qu’on garde bien dans un petit coin de sa tête et qui mûrit en nous tout doucement.

La conférence tournait beaucoup autour de la description de l’autisme et les effets du handicap, mais aussi sur les solutions pour accompagner les autistes. Les exemples n’étaient pas nombreux, mais pourtant bien marquants.

Par exemple, les autistes comprennent difficilement le langage imagé. Donc si vous dîtes à un autiste que vous allez « manger un buffet froid », il comprendra plutôt que vous allez manger le meuble de votre grand-mère sans le réchauffer. Et ça, ça pose évidemment des problèmes dans la vie quotidienne, notamment face à des pictos.

Les pictos

Alors qu’ils sont d’usage courant, un autiste ne comprendra pas les pictogrammes de toilettes avec un homme ou une femme. Pour lui, c’est juste un homme ou une femme. Rien n’indique qu’il s’agit de toilettes dans le pictogramme en lui-même. Ça laisse à réfléchir sur les pictogrammes qu’on utilise sur nos sites (et ça rejoint l’autre excellente conférence de Sébastien Desbenoit sur l’utilisation des pictos).

L’autisme est un sujet que je connais peu, mais qui m’attire beaucoup. En début d’année, j’étais tombé sur cet article intitulé « Attention to Detail » qui m’avait particulièrement marqué (et il se base sur des exemples de Toy Story et Plants vs Zombies, donc allez le lire, vraiment).

Il y a une société appelée Specialist People Foundation qui traite abondamment des problèmes dans ce domaine. Elle emploie des personnes atteintes d’autismes et autres troubles similaires, et s’appuie sur la différente nature de perception de ses employés pour s’attaquer à une variété de problèmes. J’aime beaucoup de chose à propos de cette organisation, mais je pense que le plus impressionnant est comment ils ont efficacement créé une force de quelque chose qui est perçue comme une faiblesse.

« Nos consultants ont une passion pour le détail sans égal, et apportent des compétences uniques à des tâches pour lesquelles les employés de la plupart des sociétés ont moins de motivation à réaliser, laissant ainsi plus de places à des erreurs. Les caractéristiques uniques de l’autisme font que nos consultants apprécient vraiment des tâches que la plupart des employés trouvent ennuyeuses, répétitives ou difficiles dues au niveau de détail et de concentration requis.« 

En attendant la vidéo de Paris Web, vous pouvez consulter ses slides, ou regarder la vidéo de sa conférence donnée l’année dernière à Web-In à Montréal.

Jake Archibald – Application cache is a douchebag

Suite à Paris Web la semaine dernière, j’avais très envie de vous parler de la conférence de Jake Archibald : Application cache is a douchebag. J’avais vu passer les slides de sa conférence en début d’année et j’avais trouvé ça plutôt rigolo. J’avais tort. C’est carrément excellent.

Jake Archibald prend un sujet en apparence assez simple, le cache d’application en HTML5, et explique en détails à quel point en pratique c’est complexe. Et le tout en enchaînant des blagues à un rythme soutenu tout au long de sa conférence. A tel point que Jake Archibald ferait passer Le comte de Bouderbala pour Anne Roumanoff.

Voici comment sa conférence débute.

A l’époque des modems 56k, on utilisait seulement Internet pour des courtes durées. Vous vous connectiez, vous vérifiez vos e-mails, et puis vous partiez. Mais maintenant on est presque toujours connecté. Et ça transforme le fait de ne pas avoir de connexion en un gros problème. Ceux qui comme moi doivent utiliser une connexion à l’étranger savent de quoi je parle. Quand je me connecte depuis l’étranger, je me sens comme un accro au jeu. A chaque fois que je me connecte, je sais que je dépense de l’argent. Mais je ne peux pas m’en empêcher. Je dois savoir ce qu’Internet dit sur mon dos ou ce qu’il se passe. Mon téléphone émets un petit son quand j’utilise des données en 3G depuis l’étranger. Mais je n’en ai pas vraiment besoin car j’arrive presque à entendre les bouchons de Champagne sauter à chaque fois que j’utilise un méga-octet.

Et ma propre dépendance me dégoûte vraiment. Il y a un moment, là où je travaillais, je devais aller faire la grosse commission aux toilettes. Il y avait cinq cabinets à l’intérieur. Malheureusement, les quatre premiers étaient occupés. En général ce n’est pas grave, je n’ai besoin que d’un cabinet. Mais je savais par mes expériences passées que le Wi-fi du bureau n’allait que jusqu’au quatrième.

La pause caca sans Wi-fi

J’y ai réfléchi un instant et je me suis dit : « Non. Je trouve cela totalement inacceptable. » Et j’ai fait demi-tour et je suis retourné à mon bureau et j’ai attendu.

Je suis devenu quelqu’un qui a besoin d’une connexion Internet pour aller faire caca.

Et c’est ainsi que Jake Archibald nous emmène dans les méandres du fonctionnement du cache d’application, en personnifiant cette spécification, et en la présentant comme un trou-du-cul (ou plus précisémment un « douchebag« ). Le genre de personne qui dirait « I’m going to turn your offline user experience from sucks-ass… to success !« .

J’étais mort de rire quand Jake expliquait qu’il ne faut surtout jamais changer le nom de fichier de manifeste. En faisant ça, vous rentrez dans une boucle infinie ou vos anciens utilisateurs ne recevront plus jamais aucune mise à jour.

J’ai fait ça sur Sprite Cow de façon totalement idiote. Et j’ai mis 30 minutes à me rendre compte de ce que j’avais fait et de pouvoir le corriger. D’après Google Analytics, 20 personnes ont visité le site pendant cette période. Ces 20 utilisateurs ne recevront plus jamais la moindre mise à jour du site. Jamais, jamais.

Ils vivent maintenant la vie de développeurs Drupal. Tous les autres s’amusent à faire des trucs nouveaux super cools, et eux sont coincés avec la vieille même merde.

Vous l’aurez compris, je vous recommande vraiment de voir cette conférence. Si la vidéo de Paris Web n’est pas encore en ligne, vous pourrez en trouver quelques unes dans d’autres événements, comme celle-ci à Mobilism 2012. Les slides de sa conférence sont eux déjà disponible sur le site de Paris Web. Et vous pouvez également lire son article du même nom chez A List Apart publié en mai dernier.

Mike Monteiro – How Designers Destroyed the World

La semaine dernière, j’ai eu la chance d’assister aux conférences de Paris Web. Je vais essayer de revenir cette semaine sur les conférences qui m’ont le plus marqué. L’une des principales têtes d’affiche était Mike Monteiro, avec sa conférence intitulée How Designers Destroyed the World.

J’avais découvert Mike Monteiro via sa conférence « Fuck you, pay me« , puis via ses podcasts sur Mule Radio Syndicate, ou encore son travail via sa société Mule Design Studio sur AllThingsD ou Evening Edition, et en avril dernier son livre « Design Is a Job » (horriblement traduit en français en « Métier web designer« ).

Comme le nom de sa conférence l’indique, Mike Monteiro nous raconte comment les designers ont détruit le monde. Comment les designers ont détruit le monde en se préoccupant de projets futiles plutôt que de s’attarder sur des choses qui comptent vraiment. A-t-on vraiment besoin de plus de 60 projets de pochettes pour iPad sur Kickstarter ? A-t-on vraiment besoin de cette veste imaginée par des étudiants du MIT qui se gonfle quand on reçoit un J’aime sur Facebook ?

Mike tourne ensuite toute sa conférence autour d’un exemple concret de mauvais design qui a ruiné la vie d’un être humain. A cause des préférences incompréhensibles sur la vie privée de Facebook, Bobbi Taylor a révélé malgré elle son homosexualité, jusqu’alors tenue secrète, à son père. Problème : son père est un trou du cul et l’a menacée de la renier et s’est mis à insulter les gens de sa chorale gaie sur Facebook. Comme le dit Mike, « Je suis père d’un garçon, et ceci n’est pas une façon de traiter vos enfants ». Vous pouvez lire l’article original du Wall Street Journal ou en français sur les blogs du Monde.

Mike enchaîne alors les conseils pour éviter de se retrouver dans une telle situation. « Décide d’être le connard qui va faire bouger les choses. Personne ne te donnera la permission. » (piqué chez Les Intégristes). Et surtout : si vous n’êtes pas d’accord avec ce qu’on vous demande de faire, dites non. Quittez votre boulot. Mais arrêtez de faire du mauvais travail.

« You are responsible for the work you put into the world » est à mon avis la phrase qui résume le mieux sa conférence (thème qu’on retrouve largement dans son livre).

Ce que j’ai particulièrement aimé, c’est que cela ne concerne vraiment pas que les designers au sens graphique du terme. Cela concerne tous les créateurs. Les développeurs, les intégrateurs, les entrepreneurs, les chefs de projet. Si vous créez quelque chose, que ce soit une affiche, un site web, un article sur votre blog, une vidéo sur Youtube, vous êtes responsable de l’impact que cela aura sur les gens.

Reste que certains conseils de Mike sont vraiment propres à la culture américaine, et ça s’est senti pendant les questions-réponses. Aux États-Unis, vous pouvez quitter votre boulot un lundi soir et trouver un autre travail le mardi matin, comme si de rien n’était. En France, on préfère vous garder deux mois en préavis au cas où, même si vous avez manifestement montré votre désintérêt dans votre boîte en démissionnant.

Ça n’en reste pas moins une très bonne conférence, et un très bon moment. L’ambiance dans la salle était électrique, presque religieuse. Alors oui Mike Monteiro lisait son texte sur son écran. Oui, il utilise l’effet de fumée de Keynote dans ses slides. Ça n’en reste pas moins un très bon spectacle avec quelques bonnes idées à retenir et à mettre en pratique.

En attendant que la vidéo de la conférence ne soit en ligne (si on en croit les années précédentes, ce ne sera pas avant avril prochain), je vous recommande vraiment le livre « Design is a job« . Je vous invite également à voir sa conférence « What Clients Don’t Know (… And Why It’s Your Fault) » donnée au TYPO Talks en mai dernier, où Mike raconte comment il s’est acheté un vélo, et comment éduquer les clients en leur expliquant notre travail.

Littéralement

J’adore les petites erreurs du quotidien, celles qui résultent d’une petite incompréhension ou d’un manque d’interrogation. Je suis retombé sur ma petite collection d’exemples d’erreurs glanées sur le web, issues de demandes prises un peu trop… littéralement.

Comme par exemple, quand vous demandez à un votre collègue d’écrire sur votre camion citerne « Diesel fuel » et « No smoking » en arabe.

Diesel en arabe

Ou quand vous demandez à votre boulanger un gateau avec écrit dessus « Meilleurs voeux Suzanne » et en-dessous de ça « Tu vas nous manquer ».

Meilleurs voeux et en dessous de ça tu vas nous manquer

Ou quand votre collègue devait traduire un panneau anglais en gallois, et qu’il a traduit votre première réponse à son mail de demande du texte à traduire (qui manque de bol était « Je ne suis pas au bureau pour le moment. Envoyez tout message à traduire. »).

Le panneau en gallois

Ou quand vos ouvriers ont creusé un trou dans votre plafond de la forme des nuages de révision d’AutoCAD.

Le nuage de révision

Ou quand vos ouvriers ont pris la flèche vers l’info-bulle de votre plan pour une découpe dans vos escaliers.

L'escalier et la flèche vers sa bulle d'info

Ou quand l’acteur principal de votre série hurle à voix haute la didascalie censée lui indiquer son intonation (en l’occurrence, « disappointed« ).

Hercules - DISAPPOINTED

Des erreurs, ça arrive à tout le monde. Mais celles-là, je prie pour les éviter.

Les smart banners sous iOS 6

Dans iOS6, Safari intègre une nouvelle fonctionnalité assez discrète : les smart banners. Une smart banner (ou « bannière intelligente », en opposition à toutes ces bannières stupides), c’est une bannière qui vient s’ajouter en haut de votre site dans Safari pour mettre en avant votre application iOS.

Pour ce faire, il vous suffit d’ajouter la balise meta suivante avec l’identifiant de votre application, n’importe où dans votre code HTML. Pour obtenir l’identifiant de votre application, vous pouvez utiliser l’iTunes Link Maker d’Apple.
<meta name="apple-itunes-app" content="app-id=562772514" />

La bannière affiche alors l’icône, le nom, le développeur, la note et le prix de l’application, ainsi qu’un lien pour y accéder depuis l’App Store et une croix pour faire disparaître définitivement la bannière. Voici le rendu final sur une page web (avec ici l’excellentissime Devil’s Attorney).

Une smart banner iOS6

Si vous faites parti du programme d’affiliation d’Apple, vous pouvez également ajouter votre identifiant d’affilié comme suit :

<meta name="apple-itunes-app" content="app-id=562772514, affiliate-data=partnerId=42&siteID=darkmaul" />

Sur son blog, David Smith détaille également l’existence d’un paramètre supplémentaire permettant de passer une URL à votre application dès son premier lancement, pour afficher par exemple un contenu spécifique.

Je ne suis en général pas friand de ce genre de gadget purement marketing, mais c’est clairement beaucoup moins intrusif que des alertes JavaScript ou des lightbox maison. Et ça vous évite un peu de tomber dans les pratiques mobiles du Mal.

Les filtres CSS

S’il y a bien une spécification qui m’excite plus que tout parmi les nouveautés de HTML5 et CSS,  c’est bien celle des filtres CSS. Cette spécification regroupe deux notions importantes : les filtres par défaut, et les filtres personnalisés. En voici un rapide aperçu.

La propriété filter permet d’appliquer des effets à n’importe quel élément d’une page web. Par défaut, la spécification prévoit plusieurs fonctions de filtres qui vont jouer sur le rendu de l’élément. On retrouve des filtres de couleurs (grayscale, sepia, saturate, invert, brightness, contrast, opacity) ou des filtres de transformation (blur, drop-shadow). Prenons l’exemple simple du filtre de niveau de gris (grayscale). Ce qui nécessitait un rendu côté serveur ou via un plugin il y a 5-6 ans, puis quelques lignes de JavaScript en Canvas il y a 2-3 ans, est désormais devenu un one-liner.

filter:grayscale(1);

La cerise sur le gateau, c’est que comme il s’agit de propriétés CSS à valeur numérique, vous pouvez les animer grâce à la propriété transition ou aux déclarations d’animation CSS.

Parmi ces filtres natifs, la fonction drop-shadow est particulièrement intéressante. Contrairement à la propriété box-shadow (qui se contente de faire une ombre rectangulaire autour d’un élément), le filtre CSS drop-shadow s’adapte aux formes. Cette démo issue de cet article chez Bricss illustre très bien la différence entre les deux propriétés.

Mais là où ça devient vraiment intéressant, c’est avec les filtres personnalisés, connus aussi sous le nom de shaders CSS. Un shader, dixit Wikipédia, est « une suite d’instructions donnée à un ordinateur, utilisé en image de synthèse, pour paramétrer une partie du processus de rendu réalisé par une carte graphique ou un moteur de rendu logiciel ». Présentés pour la première fois par Adobe en octobre 2011 et décrits comme « des effets cinématiques pour le web« , les shaders CSS ont rejoint la spécification des filtres en août dernier.

Pour créer un shader CSS, pas de JavaScript, mais du GLSL (langage proche du C déjà utilisé en 3D avec OpenGL, WebGL ou DirectX). AlteredQualia a récemment écrit un article très complet pour débuter avec les shaders CSS. Concrètement, il existe deux types de shaders :

  • Les vertex shaders, qui permettent de déplacer et déformer les sommets d’un polygone
  • Les fragment shaders, qui permettent de modifier le rendu des pixels d’un objet
En combinant les deux, vous pourrez alors créer des effets 3D avancés, et ce sur n’importe quel élément de votre page web (là où WebGL est limité à l’intérieur d’une balise canvas).
Les filtres CSS par défaut fonctionnent sur Chrome 18+ et Safari 6 (avec préfixe -webkit-). Les filtres CSS personnalisés fonctionnent sous Chrome Canary avec une petite manipulation supplémentaire. Pour les tester, ça reste assez simple :
  1. Téléchargez et installez Chrome Canary
  2. Lancez Chrome Canary, et aller sur la page chrome://flags/
  3. Recherchez la fonctionnalité « Enable CSS Shaders » et activez-là.
  4. Redémarrez Chrome Canary et essayez l’une des démos ci-dessous.
  5. Profit.
Voici quelques démos à tester :

Démo de shader CSS

Toutefois, prudence : comme avec toutes les nouvelles technologies du web, juste parce que vous pouvez le faire ne signifie pas que vous devez le faire. Mais d’après moi, les filtres CSS marquent un pas définitif vers la séparation du contenu et de la présentation. Et rien que pour ça, ça vaut le coup d’être un peu enthousiaste.

L’éléphant et son cavalier

J’ai récemment commencé à lire Switch : how to change things when change is hard de Chip et Dan Heath. Comme son titre l’indique, le livre explique comment parvenir à changer des choses quand le changement semble impossible. Et pour ça, tout le livre tourne autour d’une analogie sur notre cerveau : l’éléphant et son cavalier. Voici un extrait du premier chapitre.

Le savoir conventionnel en psychologie est que le cerveau a deux parties indépendantes qui travaillent en permanence. Premièrement, il y a ce qu’on appelle le côté émotionnel. C’est la part de vous qui est instinctive, qui ressent de la douleur et du plaisir. Deuxièmement, il y a le côté rationnel, aussi connu comme le système réflectif ou la conscience. C’est la part de vous qui délibère et analyse et se penche vers l’avenir.

Ces dernières décennies, les psychologues ont beaucoup appris sur ces deux systèmes, mais bien sûr l’Homme a toujours été conscient de la tension. Platon disait que dans nos têtes nous avons un cocher rationnel qui doit maîtriser un cheval indiscipliné qui « répond à peine à la cravache et l’aiguillon combinés ». Freud écrivait à propos de l’identifiant égoïste et du superégo consciencieux (et aussi l’égo, qui sert d’intermédiaire entre les deux). Plus récemment, des économistes comportementaux ont surnommé les deux systèmes le Planificateur et le Faiseur.

Mais, pour nous, la tension du duo est mieux capturée par une analogie utilisée par le psychologue de l’Université de Virginie Jonathan Haidt dans son fantastique livre The Happiness Hypothesis. Haidt dit que notre côté émotionnel est un Éléphant et notre côté rationnel son Cavalier. Perché en haut de l’éléphant, le cavalier tient les rênes et semble être le chef. Mais le contrôle du cavalier est précaire car le cavalier est tout petit à côté de l’éléphant. A chaque fois que l’éléphant de six tonnes et le cavalier sont en désaccord sur la direction à prendre, le cavalier va perdre. Il est totalement soumis.

La plupart d’entre nous sont bien trop familiers avec des situations dans lesquelles notre éléphant domine notre cavalier. Vous avez déjà vécu cela si vous vous êtes déjà reveillé en retard malgré votre réveil, si vous avez déjà trop mangé, rappelé votre ex à minuit, procrastiné, essayé d’arrêter de fumer et échoué, laissé tomber le sport, si vous vous êtes déjà mis en colère et avez dit quelque chose que vous regrettiez, abandonné vos cours d’espagnol ou vos leçons de piano, refusé de parler lors d’une réunion parce que vous aviez peur, et ainsi de suite. La bonne nouvelle c’est que personne ne compte les points.

La faiblesse de l’éléphant, notre côté émotionnel et instinctif, est claire : il est fainéant et capricieux, recherchant souvent la récompense à court terme (un cornet de glace) plutôt qu’à long terme (perdre du poids). Quand les efforts pour changer échouent, c’est habituellement la faute de l’éléphant, puisque les types de changements que nous voulons impliquent généralement des sacrifices à court terme pour une récompense à long terme. (On réduit les dépenses aujourd’hui pour obtenir un meilleur bilan l’année prochaine. On évite le cornet de glace aujourd’hui pour une meilleure silhouette l’année prochaine.) Les changements échouent souvent car le cavalier ne peut simplement pas tenir l’éléphant sur la route suffisamment longtemps pour atteindre la destination.

La faim de l’éléphant pour une gratification instantanée est l’opposée de la force du cavalier, qui a habilité de penser à long terme, de planifier, de penser au delà du moment (toutes ces choses que votre animal de compagnie ne peut pas faire).

Mais ce qui peut vous surprendre est que l’éléphant a aussi d’énormes forces et que le cavalier a des faiblesses handicapantes. L’éléphant n’est pas toujours le mauvais garçon. L’émotion est le truc de l’éléphant : l’amour et la compassion et la sympathie et la loyauté. Cet instinct féroce que vous avez pour protéger vos enfants du mal, ça c’est l’éléphant. Ce raidissement de la colonne vertébrale que vous ressentez quand vous devez vous défendre, ça c’est l’éléphant.

Et encore plus important si vous regardez un changement en cours : c’est l’éléphant qui fait avancer les choses. Progresser vers un but, qu’il soit noble ou grossier, demande l’énergie et la conduite de l’éléphant. Et cette force est le miroir de la plus grande faiblesse du cavalier : faire du surplace. Le cavalier a tendance à suranalyser les choses et à surréfléchir. Il y a des chances pour que vous connaissiez des gens qui ont le problème du cavalier : votre ami qui peut agoniser pendant 20 minutes avant de choisir ce qu’il va manger pour dîner; votre collègue qui peut se remuer les méninges pour trouver de nouvelles idées pendant des heures mais ne semble jamais pouvoir prendre la moindre décision.

Si vous voulez changer les choses, vous devez attirer les deux. Le cavalier fournit le planning et la direction, et l’éléphant fournit l’énergie. Donc si vous atteignez les cavaliers de votre équipe mais pas les éléphants, les membres de votre équipe auront la compréhension sans la motivation. Si vous atteignez leurs éléphants mais pas leurs cavaliers, ils auront la passion mais sans direction. Dans les deux cas, les défauts peuvent être paralysants. Un éléphant réticent et un cavalier qui fait du surplace peuvent tous deux faire en sorte que rien ne change. Mais quand les éléphants et les cavaliers bougent ensemble, le changement peut arriver facilement.

C’est ma nouvelle analogie préférée.

« Sans Firefox, pas d’iPhone »

Cette semaine chez Le Train de 13h37, Anthony Ricaud (développeur web chez Mozilla) parle des dangers d’une culture mono-navigateur dans le monde mobile. Je suis globalement d’accord avec son propos et l’importance des standards sur le web. Par contre, je ne suis pas d’accord avec une partie de son article sous-titrée « Sans Firefox, pas d’iPhone ».

Nous sommes en 2004, Internet Explorer domine le marché des navigateurs, Netscape n’est plus. Après une compétition acharnée, la fameuse Browser Wars, le navigateur avec les fonctionnalités les plus intéressantes a gagné. Oui, c’était bien Internet Explorer le meilleur navigateur à ce moment-là.

Les développeurs web sont vraiment ravis de pouvoir utiliser tous les raffinements d’Internet Explorer 6 : font-face, AJAX, innerHTML. Malheureusement, la plupart de ces fonctionnalités sont inopérantes dans les navigateurs alternatifs de l’époque (Mozilla Suite, Opera, etc.), ce qui limite forcément leurs parts de marché : les utilisateurs pensent qu’ils sont défaillants et retournent donc dans le confort du navigateur dominant.

Imaginons maintenant que l’iPhone sorte dans ce contexte de 2004. Un téléphone mobile révolutionnaire, un iPod à écran panoramique doté de commandes tactiles et un appareil de communication sur Internet innovant.  » Appareil de communication sur Internet innovant  » ?
Avec si peu de sites compatibles ? Je ne crois pas : la plupart des sites incluent du code spécifique à Internet Explorer, rendant Safari iPhone bien inintéressant. Et franchement, un iPod qui passe des coups de fil sans un vrai navigateur, ça n’aurait pas valu ce prix-là. Et toute la révolution de l’internet mobile qui a suivi aurait été bien retardée.

Heureusement, entre la domination d’Internet Explorer et la sortie de l’iPhone, il y a eu un nouvel arrivant qui a changé la donne : Firefox.

La thèse d’Anthony, c’est qu’Apple n’aurait jamais sorti l’iPhone dans un contexte où des millions de sites n’auraient pas fonctionné dessus. Mais c’est pourtant exactement ce qu’ils ont fait. Et ce, délibérément.

Quand Apple a présenté l’iPhone en 2007, le monde s’insurgeait de l’absence de Flash. Et à raison : en 2007, le paysage des navigateurs était représenté principalement par IE6, IE7, et Firefox 2, un peu d’Opera et de Safari (mais pas encore de Chrome). On était alors très loin de l’omniprésence de HTML5 actuelle. Et Flash était alors un standard de facto. Non seulement Flash était utilisé pour lire des vidéos ou jouer à des jeux, mais aussi pour quasiment n’importe quel type d’animation et de contenu : carrousels, menus, sites full-flash. L’horreur. En refusant à Adobe de porter son plugin sur iPhone OS, Apple a délibérément choisi de rendre incompatible (en partie ou totalement) des millions de sites web. C’était une véritable plaie pour les utilisateurs et les auteurs des sites en question, mais l’histoire prouvera que c’était la bonne décision.

Et l’iPhone n’était pas un cas isolé. En 2010, avec l’iPhone 4, Apple a introduit pour la première fois ses écrans Retina, avec des écrans d’une résolution 2x supérieure. Cette année, pour la première fois, Apple a sorti un Macbook Pro avec un écran Retina 13″ d’une résolution de 2880x1800px. Problème : avec une telle résolution, tous les contenus non adaptés apparaissent atrocement flous. Avec ses écrans Retina, Apple a rendu des millions de sites web moches. Mais la bonne nouvelle, c’est que ça pousse les développeurs consciencieux à revoir leurs pratiques. Ce qui était il y a encore quelques années une pratique courante d’avoir du texte dans des images est devenue une pratique à éviter à tout prix. Et même si on est encore au balbutiement de l’adaptation de sites pour écrans Retina, la disparition de textes en image est plutôt une bonne chose pour le web.

Il y a quelques années, je me souviens d’avoir lu un tweet (dont j’ai oublié l’auteur) qui disait quelque chose comme ça :

Avec l’iPhone, Apple a fait plus pour les standards du web que Mozilla en 5 ans.

C’est assez catégorique, mais je pense que c’est vrai. En supprimant Flash de ses appareils, Apple n’a pas laissé le choix aux développeurs web que de se conformer à des standards pour laisser leur contenu visible. Je suis convaincu que si Flash avait été présent sur iPhone dès le départ, les standards du web n’aurait jamais autant d’écho qu’aujourd’hui.

Mozilla pousse les standards et les bonnes pratiques du web par l’évangélisme. Apple pousse les standards et les bonnes pratiques du web par la dictature.

Les deux méthodes portent leurs fruits, mais clairement pas aussi rapidement. Et si on devait attendre comme Mozilla que plus aucun site n’utilise Flash pour bloquer le plugin, il y a de fortes chances pour que ce jour n’arrive jamais.

L’expérience utilisateur d’un grille-pain

Il y a quelques semaines, Charles de UXUI a écrit un chouette article sur l’expérience utilisateur du valet de piscine. Ça m’a rappelé des souvenirs de sorties piscine à l’école primaire. Ça m’a rappelé à quel point cet objet est mal conçu, et a sans doute contribué au fait que j’ai une certaine aversion pour les piscines municipales. Mais ça m’a surtout rappelé à quel point bon nombre d’objets du quotidien sont mal fichus.

Voici ma petite expérience de simple utilisateur avec un produit du quotidien : le grille-pain.

J’aime bien le pain grillé. J’aime l’odeur du pain grillé le matin. J’aime le bruit de mon couteau qui tartine mon pain tout juste grillé. J’aime le goût du pain encore chaud craquant dans ma bouche. Pourtant, c’est un plaisir que je me réserve assez rarement.

Et pour cause : je déteste mon grille-pain. Voici mon grille-pain actuel.

Mon grille pain

C’est un grille-pain plutôt classique, vendu environ 30€. On trouve 5 boutons sur ce grille-pain. Un bouton « pressoir » pour abaisser le pain une fois inséré et démarrer le grillage du pain, un bouton rotatif pour sélectionner le thermostat selon 6 positions, un bouton pour activer un mode décongélation, un bouton pour activer un mode réchauffage, et un bouton stop. A noter qu’en 6 mois, je ne me suis jamais servi de ces trois derniers boutons.

Quand vous allez dans un magasin spécialisé en électro-ménager pour acheter un grille-pain, vous serez confronté à des dizaines de modèles du même genre. Vous aurez le droit à une grande variété de design, couleurs, prix, et fonctionnalités annexes. Mais fondamentalement, un grille-pain c’est une fente pour y déposer du pain, un bouton de mise en marche, et un bouton de thermostat.

C’est extrêmement simple. Et pourtant, ça me pose plusieurs problèmes à l’utilisation :

  • Je n’ai aucune indication sur la durée du grillage. Avec l’habitude, j’arrive a peu près à estimer cette durée selon le thermostat. Mais quand j’arrive dans ma cuisine en provenance de ma salle à manger et que mon grille-pain est en marche, je n’ai aucun moyen de dire combien de temps il reste à chauffer.
  • Je ne peux mettre que 2 à 3 morceaux de pain à la fois. Ça signifie que quand je petit-déjeune avec madame, il faudra faire 2 ou 3 aller-retours en cuisine pour faire griller chacun nos tartines, le tout prenant jusqu’à 10 minutes au total.
  • Ces grille-pain sont dangereux. J’ai déjà vu des flammes de 10 cm s’échapper d’un précédent grille-pain parce que le pain avait trop chauffé. Pour éviter les incendies à domicile, le Ministère de l’Intérieur recommande officiellement de « se méfier des grille-pain ». Il est également difficile de récupérer des plus petits morceaux de pains qui peuvent se coincer au fond, et on risque alors l’électrocution. Je ne suis pas un expert en électro-ménager, mais je sais que je ne devrais pas avoir à craindre de risquer ma vie et la vie de mes proches quand j’ai envie de manger du pain grillé.

Alors que faire ? N’existe-t-il aucune alternative innovante ?

Récemment en vacances à l’étranger, j’ai profité des joies du petit-déjeuner à l’hôtel. Et surtout, j’ai découvert ceci.

Grille-pain convoyeur

Ceci est un grille-pain convoyeur. Il est composé en haut d’une partie chauffante où vos tartines défileront sur un convoyeur automatique, et d’une partie inclinée en bas où vos tartines tomberont et glisseront toutes seules une fois grillées. Il n’y a que deux boutons : un pour régler la mise en marche et le thermostat, et un pour régler la vitesse du défilement des tartines.

A près de 40 cm³, 17 Kg, pour un prix avoisinant les 600€, c’est un véritable monstre, difficilement adapté à une cuisine domestique. Et pourtant, son fonctionnement résout tous les problèmes rencontrés ci-dessus.

  • Simplement en regardant le pain défiler, vous savez en un instant où ça en est. Pas besoin de minuterie électronique compliquée, la machine indique d’elle-même son état.
  • Vous pouvez rapidement enchaîner toutes vos tartines. Pas besoin d’attendre que les premières soient terminées avant de mettre les suivantes.
  • Il y a moins de risque d’incendie car le pain ne reste pas dans la zone chaude une fois grillée. Et le pain est très facilement récupérable en dessous, quelque soit sa taille.

Et vous savez quelle est la meilleure partie de ce grille-pain ? C’est amusant. C’est amusant de voir les morceaux de pain défiler et chauffer tout doucement, puis tomber et glisser avant de les récupérer.

Il existe des versions « mini » de ce type de grille-pain, plus adaptées en taille à une cuisine domestique, mais encore 15 fois plus chères qu’un grille-pain classique. Je ne m’y connais pas plus que ça en grille-pain, mais s’il était possible d’avoir un modèle de ce genre, même pour 2 à 3 fois le prix d’un grille-pain classique, je me jetterais probablement dessus.

Si vous êtes à la recherche du « next big thing« , du produit super innovant qui vous rendra riche, commencez par regarder autour de vous. Regardez les objets de votre quotidien. Regardez ce que fait Dyson avec les traditionnels sèche-mains. Ou ce que fait Nest avec son thermostat. Je bave bien plus devant ce genre de produits que devant des nouvelles tablettes ou smartphones.

Le marché des navigateurs

Pour bien comprendre le monde du web, je pense qu’il est important de bien comprendre le marché des navigateurs. C’est un marché de plusieurs milliards de dollars. Pourtant, il y a de fortes chances pour que vous n’ayez jamais déboursé le moindre centime pour utiliser votre navigateur.

Ça n’a pas toujours été le cas. En 1994, la toute première version d’Internet Explorer était disponible uniquement au sein du pack Microsoft Plus! pour Windows 95, vendu 55$. Deux mois après, IE2 était inclus officiellement par défaut dans Windows 95. Jusqu’en 1998, Netscape était vendu 49$. Jusqu’en 2000, Opera était disponible pour 39$. Alors comment font les grosses sociétés comme Apple, Microsoft, Mozilla ou Google pour gagner de l’argent ? Voici quelques explications détaillées pour chaque cas.

Apple et Safari

Apple est un fabricant de matériel. En 2011, Apple a généré un chiffre d’affaires de 108 milliards de dollars, avec 60 400 employés. L’année d’avant, la majorité des revenus d’Apple provenaient de la vente de matériel (iPhone, iPod, Mac). Bien sûr, Apple conçoit et vend des logiciels (OS X, iWork, iLife), et distribue également de la musique, des films et des applications via iTunes et l’App Store. Mais en comparaison de ce que leur rapporte la vente de matériel, ça ne leur rapporte « quasiment rien » (on sera quand même dans l’ordre de milliards de dollars, mais hey, c’est Apple). Toutes ces applications et services ne sont que des moyens pour arriver à une fin : vendre du matériel. En proposant des logiciels exclusifs à leur plate-forme, Apple vend plus de matériel.

Et c’est donc dans la même idée qu’Apple développe WebKit et Safari gratuitement, pour proposer par défaut un service complet sur ses machines. Et il se trouve qu’au passage, ça leur rapporte un peu d’argent de poche. L’année dernière, Google a payé Apple 1 milliard de dollars pour être le moteur de recherche par défaut dans Safari.

Microsoft et Internet Explorer

Microsoft est un éditeur de logiciels. En 2012 (année fiscale), Microsoft a généré un chiffre d’affaires de 73 milliards de dollars, avec 94 000 employés. La majorité des revenus de Microsoft provient de la vente de logiciels (Windows et Office en tête). Pour vendre ses logiciels, Microsoft s’adresse soit directement, soit à des fabricants d’ordinateurs pour leur vendre des licenses et installer par défaut leurs logiciels et OS.

Pour Microsoft, un peu comme pour Apple, Internet Explorer est donc un moyen de proposer un système d’exploitation complet et attrayant, et ainsi de vendre plus de Windows. Au passage, Internet Explorer leur permet aujourd’hui de faire la promotion de Bing à faible coût.

Mozilla et Firefox

Mozilla est un éditeur de logiciels à but non lucratif. En 2011, la fondation Mozilla a généré un chiffre d’affaires de 123 millions de dollars, avec 600 employés pour la Mozilla Corporation. La majorité des revenus de Mozilla provient de Firefox, et indirectement de… Google. Google paye 300 millions de dollars par an à Mozilla pour être le moteur de recherche par défaut du navigateur.

La principale motivation de Mozilla est donc d’avoir suffisamment de parts de marchés pour imposer un tarif élevé à Google et Microsoft pour la place hautement convoitée de moteur de recherche par défaut.

Google et Chrome

Google est un moteur de recherche. En 2011, Google a généré un chiffre d’affaires de 37 milliards de dollars, avec 54 604 employés. La majorité des revenus de Google provient de la vente d’espace publicitaires sur son moteur de recherche et sur son réseau publicitaire. En 2011, 96% des revenus de Google provenaient de la vente d’espace publicitaire. Google conçoit également pleins d’autres services que son moteur de recherche, comme Youtube, Android, Google Maps ou Google Docs. Mais tous ces services ne sont que des moyens pour Google d’arriver à leur fin : vendre et diffuser encore plus de publicités. En utilisant plus de services de Google, vous permettez à Google de mieux vous cibler et ainsi de mieux vous revendre à leurs annonceurs.

Chrome est développé en partie dans cette logique. Avec Chrome, Google s’autorise à utiliser vos données de navigation à « des fins d’amélioration de leurs services ». C’est à dire, vous suivre et étudier ce que vous faites, même en dehors de leurs réseaux de sites (par exemple sur des intranets habituellement non accessibles pour Google). Mais aussi, comme vous l’avez vu jusque là, Google dépense des milliards afin de conserver la place de moteur de recherche par défaut sur les autres navigateurs. Avec Chrome, et avec une part de marché désormais non négligeable, Google peut négocier les tarifs à son avantage.

C’est important d’avoir une idée des liens entre chacun des acteurs majeurs, car ça permet de mieux comprendre certaines décisions. Par exemple, quand Apple abandonne en silence Safari sous Windows, c’est parce que ça ne leur rapporte rien du tout. Quand Google décide de lancer sérieusement Chrome comme navigateur par défaut sur Android, c’est pour mieux s’imposer et éviter de payer des fortunes à Apple et Mozilla.

« Je passe une mauvaise journée »

L’année dernière, le National Institute of Standards and Technology a diffusé sur Youtube des heures et des heures de vidéos brutes tournées le 11 septembre 2001 à New York. Assez fasciné et marqué par ces événements, j’étais abasourdi devant un extrait en particulier sur lequel j’étais tombé sur Reddit.

Un journaliste de la CBS se trouvait au coeur même du World Trade Center aux côtés des équipes de pompiers, juste après le crash du second avion sur la tour N°1. Alors qu’il ère aux pieds des tours, il rencontre un rescapé en costume-cravate. Il prend le bon réflexe de lui poser quelques questions, et de lui demander son nom et son lieu de travail. Puis, juste après, il rencontre un autre travailleur (à 17min40 dans la vidéo) :

NIST FOIA: Raw C*B*S 9/11 WTC Footage

– Je peux vous poser quelques questions ?
– Non, je ne préfère pas. Je passe une mauvaise journée.

Il filme ensuite l’homme, s’éloignant seul dans les rues déjà quelque peu assombries, traînant son sac sur le trottoir poussiéreux.

Dix secondes plus tard, la tour N°1 s’effondre dans un vacarme assourdissant. Un nuage de fumée poursuit les pompiers et civils qui tentent de se sauver, et plonge le journaliste dans l’obscurité la plus totale.

Ça m’arrive de croire que je passe de mauvaises journées, parce que j’ai eu trop de travail, parce que je n’ai pas réussi à faire ce que je voulais, ou parce que tout ne se passe pas comme je l’avais prévu. Mais depuis que j’ai vu cette vidéo l’année dernière, à chaque fois que j’ai l’impression de passer une mauvaise journée, je repense à cet anonyme des rues de New York qui pensait passer une mauvaise journée, avant même que les tours ne s’effondrent.

Il se trouve qu’en réalité, je n’ai pas vraiment passé de mauvaises journées.

La différence entre les tablettes Apple, Amazon et Google

Cette semaine, Amazon a présenté ses nouveaux modèles de Kindle. La version 8,9″ 32 Go 4G sera vendue 499$, contre 729$ pour le modèle d’iPad équivalent. Seul hic : pour ce prix là, vous aurez droit à une publicité plein écran à chaque fois que vous allumerez votre Kindle, et vous ne pourrez absolument rien faire pour éviter ça.

Je comprends l’utilisation de la publicité afin de proposer certains produits gratuitement, comme par exemple Gmail, ou les 18 heures de surf gratuites d’Oreka (high-five si toi aussi tu as connu ça). Par contre, même si c’est un modèle courant, notamment dans l’industrie de la presse ou du cinéma, je trouve ça insupportable de payer et de quand même devoir subir de la publicité. Dans l’absolu, pour moi, la publicité c’est le modèle économique du pauvre.

Hier, Shawn Dumas (développeur web chez Yahoo) résumait très bien la différence entre les tablettes Apple, Amazon et Google sur son compte Google+ :

Google vous veut. Google veut que vous regardiez des publicités. Android existe à cette fin. Plus d’utilisateurs égal plus d’yeux qu’ils peuvent vendre à des publicitaires. Android n’est pas une fin en soi, seulement un moyen pour arriver à une fin.

Amazon vous veut. Amazon veut que vous achetiez plus de ce qu’ils vendent – des médias, des biens, des services. Le Kindle Fire existe à cette fin. Plus d’utilisateurs égal plus de chances de vous vendre ce qu’ils colportent. Le Kindle Fire n’est pas une fin, seulement un moyen pour arriver à une fin.

Apple vous veut. Apple veut que vous achetiez un iDevice. Les iDevices existent à cette fin. Plus d’appareils vendus égal… plus d’appareils vendus. Les appareils d’Apple sont une fin en soi.

On connaît l’adage « Si vous ne payez pas pour un produit, c’est que vous êtes le produit. » Avec des tablettes sous Android (que ce soit de Google ou d’Amazon), même en payant pour le produit, vous restez le produit.

Mise à jour du lundi 10 septembre : tout compte fait, vous pourrez quand même désactiver les publicités sur votre Kindle à 499$ moyennant un supplément de 15$. Je trouve ça particulièrement pathétique : cela signifie que votre visionnage de publicité sur Kindle pendant 2-3 ans ne vaut pas plus de 15$. <

Bienvenue dans le monde d’Apple

Il y a quelques semaines, le magazine Forbes rapportait qu’Apple était désormais la société ayant la plus grande valeur en capitalisation boursière (et historiquement, juste derrière le record de Microsoft en 1998). Cette nouvelle va dans la continuité de trois trimestres aux résultats exceptionnels pour Apple (1, 2, 3).

Je pense que les résultats d’Apple sont à prendre très au sérieux. Apple n’est pas pour autant la plus grosse société au monde (avec seulement 60 000 employés contre 2 millions pour WalMart). Apple n’est pas non plus la société générant le plus gros chiffres d’affaires (avec « seulement » 108 milliards de dollars en 2011 contre plus de 486 milliards de dollars pour ExxonMobil). Mais Apple est en tête des sociétés qui génèrent le plus de bénéfices au monde. En 2012, Apple cumule déjà 33,46 milliards de dollars de bénéfices, assurant ainsi la 7ème place au panthéon des sociétés ayant fait le plus de bénéfices en une année.

Les bénéfices, pour une entreprise, c’est vital. Comme le dit John Gruber, « les bénéfices sont l’oxygène que les sociétés respirent« . Les bénéfices sont ce qui permet à une entreprise de vivre, d’avancer, de se projeter, d’innover. Mais surtout, les bénéfices confèrent aux grandes entreprises une influence importante.

Il y a quelques mois, lors de l’annonce des résultats d’Apple pour son second trimestre de l’année fiscale 2012, j’écrivais :

Je suis né et j’ai grandi dans un monde où les rois du pétrole étaient les rois du monde. Nos moyens de locomotions, nos modes de vie, nos Guerres, ont directement été influencées par la possession et le contrôle du pétrole.

Depuis 6 mois, ce n’est plus le cas. Depuis 6 mois, c’est une société informatique qui a pris ce rôle. Depuis 6 mois, c’est Apple qui domine le monde.

La comparaison entre Apple et les compagnies pétrolières est une parfaite illustration de la théorie espagnole : les compagnies pétrolières gagnent de l’argent en vendant de la « matière noire », Apple gagne de l’argent en vendant de la matière grise.

L’idée de l’influence qu’Apple peut avoir sur notre société en comparaison avec l’influence qu’ont eu les compagnies pétrolières me fascine. Car c’est à la fois une très bonne chose, et une très mauvaise chose. C’est une bonne chose, selon moi, pour certaines valeurs d’Apple que je partage, comme le goût du design. Mais c’est une mauvaise chose, selon moi, pour d’autres pratiques moins appréciables, comme leur fermeture et leur propriétarisation à outrance.

Dans le monde informatique, l’influence d’Apple en matière de design se fait déjà fortement sentir. Jugez plutôt.

Produits "Inspirés" par Apple

Il n’y a pas un seul produit Apple sur cette image. (De gauche à droite et de haut en bas : le N2-A de KIRF, la Chromebox de Google, un câble USB pour Galaxy Tab de Samsung, le HP Envy, le packaging d’une Galaxy Tab de Samsung, la tablette/laptop Series 7 de Samsung).

Le plagiat est éhonté, mais je préfère vivre dans un monde où nos appareils électroniques s’inspirent d’un bon design. Les comparaisons de produits avant/après l’arrivée de l’iPhone ou du Macbook Air en sont un bon témoignage. Ce goût du design minimaliste s’étend aussi petit à petit à d’autres produits, comme le thermostat Nest, le (feu) caméscope Flip, ou l’appareil photo Lytro.

Sur le web, l’influence d’Apple, bien que peu apparente, me semble toute aussi importante. Apple a par exemple joué un rôle majeur dans la disparition de Flash sur le web. Bien que n’étant pas les premiers à ne pas supporter Flash sur leurs appareils, l’influence d’Apple a clairement aidé.

Mais l’influence d’Apple sur le web n’est pas toujours aussi positive, et en voici quelques exemples.

  • En choisissant délibérément de ne pas respecter les spécifications du W3C et en ne retirant pas les préfixes –webkit- des propriétés CSS en cours de recommandation, Apple a initié tout un tollé menant à la disparition des préfixes navigateurs.
  • Avec le lancement d’iBooks Author en début d’année, Apple a préféré lancer son propre format de livre numérique dérivé d’EPUB, plutôt que de contribuer au standard pour en faire bénéficier toute l’industrie. On retrouve également une tripotée de propriétés CSS non standards qu’Apple a implémenté dans WebKit, sans aucune intention de les standardiser, au dépends des autres navigateurs et de l’éco-système ouvert du web.
  • Le format vidéo ouvert WebM a été tué dans l’oeuf par Google, au profit du format H.264, format  plébiscité par Apple et indispensable pour lire des vidéos sur le web sur iOS.
  • Avec le lancement d’iOS 4.3, Apple a grandement amélioré le moteur JavaScript de Safari (Nitro). Sauf que ces améliorations ne sont pas disponibles pour des applications web en dehors de Safari (via une UIWebView ou un raccourci sur l’écran d’accueil). Résultat : le développement d’application web est souvent laissé de côté.
Que ça vous plaise ou non, nous vivons désormais dans le monde d’Apple. Impossible de dire combien de temps cela va durer. Alors pendant ce voyage, profitez-en pour admirer de bons designs de produits, mais gardez les yeux ouverts à tout comportement qui pourrait vous paraître suspect. Parce qu’Apple est là où nulle société informatique n’a jamais été, nous n’avons pas la moindre idée d’où tout cela va nous mener.

L’enquête

Il y a quelques semaines, j’ai découvert l’histoire de Ronald Opus. C’est l’histoire d’une enquête sur un meurtre racontée par Don Harper Mills (alors président de l’Académie Américaine des Sciences Médico-légales) en 1987 lors de l’ouverture d’un banquet. Attention, accrochez-vous bien.

Le 23 mars 1994, un médecin légiste examina le corps de Ronald Opus and conclut qu’il était décédé d’une blessure par balle à la tête causée par un fusil de chasse. Jusque là, l’enquête avait révélé que le défunt avait sauté du haut d’un immeuble de dix étages avec l’intention de se suicider. (Il avait laissé une note indiquant son désespoir.) Alors qu’il passait devant le 9ème étage au cours de sa chute, sa vie a été interrompue par un tir de fusil de chasse à travers la fenêtre, le tuant instantanément. Ni le tireur ni le défunt n’étaient au courant qu’un filet de sécurité avait été érigé au niveau du 8ème étage pour protéger des laveurs de vitres, et que le défunt n’aurait très certainement pas pu réussir son suicide à cause de cela.

D’ordinaire, une personne qui commence les événements avec l’intention de se suicider parvient finalement à se suicider même si la façon de faire n’est pas celle qu’il avait prévu. Le fait qu’on lui ait tiré dessus en chemin vers une mort certaine 9 étages plus bas ne change probablement pas la cause de sa mort d’un suicide en un homicide. Mais le fait que son suicide n’aurait pas pu être mené à bien a poussé le médecin légiste à déclarer qu’il avait un homicide sous la main.

La poursuite de l’enquête mena à la découverte que la chambre du 9ème étage, d’où le tir de fusil a été émis, était occupée par un vieil homme et sa femme. Il la menaçait avec le fusil à cause d’une dispute conjugale, et il était tellement en colère qu’il n’arrivait pas à tenir l’arme droite. Ainsi, quand il a appuyé sur la gâchette, il a complètement raté sa femme, et les balles de plomb ont traversé la fenêtre, touchant le défunt.

Quand une personne projette de tuer un sujet A mais tue un sujet B lors de sa tentative, celle-ci est coupable du meurtre du sujet B. Le vieil homme était confronté à cette conclusion, mais lui et sa femme étaient catégoriques en déclarant qu’aucun d’eux ne savait  que le fusil était chargé. C’était une vieille habitude du vieil homme de menacer sa femme avec un fusil déchargé. Il n’avait aucune intention de la tuer. Ainsi, le meurtre du défunt est apparue comme accidentelle. C’est-à-dire que l’arme a été accidentellement chargée.

Mais la poursuite de l’enquête a fait apparaître un témoin déclarant que leur fils a été vu en train de charger l’arme approximativement six semaines avant l’accident fatidique. L’enquête montra que la mère (la vieille femme) avait arrêté de supporter financièrement son fils. Et son fils, connaissant la propension de son père à utiliser le fusil de chasse de manière menaçante, a chargé l’arme en prévision que le père tirerait sur sa mère. L’affaire devient maintenant un meurtre, de Ronald Opus par le fils.

Maintenant voici la touche exquise. La poursuite de l’enquête révéla que le fils était devenu de plus en plus déprimé par l’échec de sa tentative de faire tuer sa mère. Cela l’a poussé à sauter de l’immeuble de dix étages le 23 mars, mais à être tué par un tir de fusil de chasse à travers une fenêtre du 9ème étage.

Le médecin légiste classa l’affaire comme un suicide.

Cette histoire, reprise dans le film Magnolia ou un épisode des Experts:Miami, ne s’est pas réellement produite. Don Harper Mills l’a inventée pour montrer l’importance d’avoir toutes les informations, et la différence que cela peut produire.

Mais cette anecdote m’a rappelé mon histoire d’un bug, et plus généralement la difficulté de résoudre un bug sans avoir toutes les informations à sa disposition. Comme je l’écrivais en commentaire d’un très bon article de Nicolas Hoffmann :

Un cas courant que je rencontre qui illustre bien ce problème, ce sont les chefs de projet qui m’envoient une capture d’écran d’un problème recadrée uniquement sur la partie de la page où le problème apparaît. Ça part d’une bonne intention, mais c’est particulièrement gênant car ça m’empêche de comprendre ce qui se passe réellement. Avec une capture d’écran complète, je suis capable de déterminer l’OS de test, le navigateur, la version de navigateur (a peu près), et tout autre phénomène extérieur pouvant jouer un rôle dans l’apparition du bug. J’ai déjà eu plusieurs fois des remontées de bugs qui provenaient en fait de la présence d’un plugin dans le navigateur (Skype, AdBlock, ou Flash).

Être un bon intégrateur, c’est aussi être un bon détective.

La commande ln -s

L’année dernière, j’ai découvert une ligne de commande Unix bien pratique : ln -s. Cette commande permet de créer un lien symbolique vers un fichier ou un dossier. Un lien symbolique, c’est une référence à un fichier ou dossier qui correspond fonctionnellement au fichier ou dossier original. Grossièrement, ça permet de retrouver un même dossier à plusieurs endroits sur son ordinateur sans avoir à le dupliquer.

Ça peut paraître tordu de vouloir retrouver un même dossier à plusieurs endroits, mais ça correspond pile poile à mon organisation. Je travaille souvent sur des petits projets d’intégration (des newsletters, des pages d’opérations commerciales, etc.) qui ne nécessitent pas de contrôleur de sources. En général, je vais me retrouver avec l’organisation suivante :

  • Un dossier « ~/Boulot/Client/Nom_du_projet/ » avec à l’intérieur un dossier « Elements » (avec les fichiers envoyés par le client), un dossier « PSD » (avec les maquettes) et un dossier « HTML » (avec mon intégration).
  • Un dossier sur mon serveur local dans « /Applications/MAMP/htdocs/Nom_du_projet », pour pouvoir tester la page dans de bonnes conditions.
  • Eventuellement une sauvegarde dans mon dossier « ~/Dropbox », par précaution, et au cas où j’aurais besoin d’accéder à mes fichiers sur une machine différente chez moi.

Grâce à la commande ln -s, je peux retrouver mes fichiers dans ces 3 dossiers sans avoir à les dupliquer. Ainsi, il me suffit de taper dans le Terminal les deux commandes suivantes :

ln -s ~/Boulot/Client/Nom_du_projet/ /Applications/MAMP/htdocs/Nom_du_projet
ln -s ~/Boulot/Client/Nom_du_projet/ ~/Dropbox/Nom_du_projet

Et le tour est joué ! A noter que sous Windows, la commande mklink permet d’obtenir un résultat similaire.

Le temps

Voici une vérité assez dérangeante : un intégrateur peut intégrer n’importe quelle page en 1 heure. Oui, mesdames et messieurs, en seulement une heure.

Alors, bien sûr, en aussi peu de temps, il ne faudra pas s’attendre à avoir un résultat de qualité (on en revient au classique trio coût-temps-qualité). Il y a des chances pour que, sous cette contrainte, vous ayez droit à des tableaux, des noms de classe CSS numérotés, des position:absolute partout, des grosses images, et des plugins jQuery à gogo. Votre page sera peut-être totalement inmaintenable, mal référencée, pas compatible IE6, super lourde et pas tout à fait fidèle à la maquette. Mais, youpi, vous avez fini en une heure.

Si vous travaillez en agence, ça vous est surement déjà arrivé : une newsletter, une page landing, voire un site complet à intégrer en urgence. On vous laissera quand même peut être plus qu’une heure. Mais le temps deviendra votre première contrainte.

Il est alors important de savoir ce que vous devez privilégier. Il y a quelques mois, j’expliquais mes critères de qualité d’une intégration basé sur les 3 questions suivantes :

  1. Est-ce que c’est bien pour l’internaute ? (performance, compatibilité, accessibilité)
  2. Est-ce que c’est bien pour le projet ? (graphisme, référencement, développement)
  3. Est-ce que c’est bien pour moi ? (bonnes pratiques, maintenabilité)

Je pense que, même sous la contrainte du temps, il faut garder à l’esprit qu’on travaille pour l’internaute. Du coup, on sera amené à abandonner d’abord les dernières critères. Par manque de temps, je laisserai sûrement de côté mes bonnes pratiques habituelles et la maintenabilité de mon code. Et si vraiment je n’ai toujours pas le temps, je laisserai de côté le respect du graphisme, des bonnes pratiques du référencement ou des contraintes de dev. Et enfin seulement, si vraiment je n’ai pas le temps, je ferai l’impasse sur la performance, la compatibilité ou l’accessibilité.

Il paraît clair qu’avec trop peu de temps, on n’aura jamais un résultat de qualité. Mais à l’inverse, trop de temps devient nuisible à l’intégration. Si pour la même intégration, on vous accorde non plus une heure, mais une semaine complète, vous risquez fortement de tomber dans de la surréflexion et de chercher à faire de la sur-qualité. Votre page risque alors de devenir à nouveau inmaintenable, sur-optimisée et éloignée des vraies bonnes pratiques.

Le temps est sans doute le pire ennemi de l’intégrateur. Et plus que n’importe quelle notion technique, c’est certainement la chose la plus difficile à apprendre à gérer.

Les différentes façons de dépenser de l’argent

En tant qu’entrepreneur, le changement le plus bizarre apparu dans ma vie ces dernières années est mon rapport à l’argent. En étant gérant, je suis parfois amené à déposer des chèques sur le compte de ma société de plusieurs dizaines de milliers d’euros. Si ces sommes font tourner la tête lorsqu’il s’agit de votre compte personnel, ça en devient presque assez banal et anodin pour le compte de votre entreprise. Là où personnellement je vais mettre plusieurs mois à économiser et à me décider avant d’acheter un Macbook Air à 1000€, je pourrais faire ce genre d’achat de manière totalement impulsive pour ma société.

Il y a quelques temps, j’étais tombé sur cet article qui expliquait très bien le rapport qu’on peut avoir avec l’argent, et « Les différentes façons dont les gens dépensent de l’argent » :

L’économiste de renommée mondiale et académique, Milton Friedman, dit qu’il y a 4 façons basiques dont les gens dépensent de l’argent. […]

Il y a deux facteurs à considérer quand on regarde comment quelqu’un dépense de l’argent. Premièrement, qui possède l’argent, et deuxièmement, pour qui l’argent est dépensé.

Le premier facteur dicte l’économie de la décision, alors que le deuxième facteur affecte la valeur et la qualité de l’achat.

Avec ça en tête, on arrive alors à la conclusion de Friedman :

1. Dépenser votre propre argent pour vous-même.
Quand l’argent vient de votre propre poche, pour acheter quelque chose pour vous même, vous aurez tendance à économiser mais néanmoins rechercher le produit de meilleure qualité que vous pourrez avoir. […]

2. Dépenser votre propre argent pour les autres.
Cela arrive quand, par exemple, vous achetez un cadeau d’anniversaire pour un ami. Le comportement de base d’une personne ici, d’après Friedman, est qu’elle aura tendance à économiser mais ne cherchera pas le produit de meilleure qualité. […]

3. Dépenser l’argent de quelqu’un d’autre pour vous.
Vous partagez en voyage d’affaires aux frais de votre société ? Alors je suis sur que vous chercherez les meilleurs produits et services disponibles sans vraiment regarder le prix. […]

4. Dépenser l’argent de quelqu’un d’autre pour les autres.
Quand est-ce que quelqu’un dépenserait l’argent de quelqu’un d’autre pour d’autres personnes ? Pensez au gouvernement qui utilise l’argent des contribuables au bénéfice de leurs constituants.

Et à en juger par la façon dont Friedman définit les 3 premiers points ci-dessus, vous réaliserez que c’est peut être la raison pour laquelle les dépenses du gouvernement ont tendance à être si élevées mais la qualité du service rendu est (en général) si mauvaise. La nature de cette quatrième façon de dépenser ne cherche ni à économiser ni à atteindre la meilleure valeur pour l’argent.

Cela explique mon apparente schizophrénie. Quand je veux acheter personnellement un Macbook Air, je vais dépenser mon argent, pour moi (cf le premier point). Quand je veux acheter un Macbook Air pour ma société, je vais dépenser l’argent de ma société, pour moi (cf le troisième point).

« Pour mettre ça en perspective »

La semaine dernière, Adobe a sorti la version 11.4 de Flash Player. Dans un communiqué intitulé « Flash Player et AIR ouvrent la voie à de nouveaux jeux« , j’ai eu un léger rictus devant le paragraphe suivant :

Nous avons posé les bases cette année pour augmenter la vitesse à laquelle les mises à jour du Flash Player sont adoptées. Flash Player 11.2 a introduit les mises à jour en arrière-plan, et plus de 400 millions de personnes ont opté pour l’utiliser. Cela signifie qu’avec n’importe quelle nouvelle version du plugin, 400 millions d’utilisateurs peuvent être mis à jour vers la dernière version du Flash Player en environ 48 heures. Pour mettre ça en perspective, 400 millions c’est a peu près six fois le nombre de Xbox 360 vendues depuis 2005. Les développeurs de jeux peuvent désormais rapidement adopter de nouvelles fonctionnalités en sachant qu’il y a un public énorme qui les attend.

Pour mettre ça en perspective, Apple a vendu plus de 374 millions d’appareils sous iOS depuis 2007 (avec 244 millions d’iPhone84 millions d’iPad et 46 millions d’iPod Touch rien qu’aux Etats-Unis). En élargissant les ventes d’iPod Touch au reste du monde, on ne devrait pas être loin de 400 millions d’appareils sous iOS vendus depuis 2007.

Ce sont 400 millions d’appareils qui n’ont jamais vu et ne verront jamais la moindre trace de Flash Player.

Et ça, ce n’est que pour iOS. Vous pouvez ajouter à ça pas loin de 400 millions d’appareils sous Android, avec 1 million de nouvel appareil activé chaque jour, qui n’ont officiellement plus la possibilité d’installer Flash Player depuis le 15 août.

Vous pouvez aussi ajouter à ça la totalité du marché des consoles de jeux vidéo de cette génération (dont bientôt la Xbox 360 avec Internet Explorer), soit un peu plus de 250 millions d’appareils qui peuvent accéder au web, mais sans Flash Player. Et ce, bien avant que Steve Jobs n’exprime le fond de sa pensée.

Et à partir d’octobre, vous pourrez ajouter des millions de Windows 8 qui ne supporteront Flash Player que sur quelques sites pré-sélectionnés dans son interface « Windows 8 » (anciennement Metro).

Pendant des années, Adobe annonçait fièrement que Flash avait un taux de pénétration de 99%. Déjà en 2009, Sam Johnston soupçonnait que la réalité était plus proche des 50%. Aujourd’hui, Adobe ne parle plus en pourcentage mais en nombre d’appareils. Parce qu’en réalité, le support de Flash est déjà bien en deçà de 50% des appareils connectés au web. Et ce chiffre ne va faire que diminuer.

A l’opposé, les navigateurs modernes (excluant IE6-7-8) représentent aujourd’hui entre 65% (d’après NetMarketShare) et 74% (d’après StatCounter) du marché des navigateurs. Et ce chiffre ne va faire qu’augmenter.

Je sais que ça sonne encore comme un article biaisé qui annonce la mort de Flash sur le web. Mais vraiment, si ce n’est pas encore fait, c’est votre dernière chance pour faire vos adieux.