Le navigateur que vous aimiez détester

Après le lancement l’année dernière du site IE6Countdown, Microsoft lance une nouvelle campagne pour rappeler qu’IE9 n’est pas si mal comparé à ses prédécesseurs avec le blog Tumblr « The Browser You Loved To Hate » et la vidéo ci-dessous.

The Browser You Loved To Hate | Internet Explorer

La seule et unique chose pour laquelle IE est bon, c’est pour télécharger d’autres navigateurs.

Je suis peut être inculte et naïf, mais est-ce qu’il y a déjà eu une société, peu importe le domaine, qui a investi autant d’argent pour autant discréditer et dévaloriser ses anciens produits ?

Pour autant, ça reste une meilleure campagne que la pizza IE8, toujours en vente 3 ans après la sortie du navigateur.

Le rétropédalage vers H.264 de Mozilla

Il y a un an, Google annonçait de manière fracassante l’abandon du codec vidéo H.264 (format propriétaire et soumis à des droits de license d’utilisation) au profit d’un nouveau codec, WebM. C’était une grande nouvelle pour Mozilla, ayant toujours refusé de supporter le codec H.264. Mike Shaver (anciennement grand défenseur de l’open web chez Mozilla, qu’il a quitté l’année dernière pour rejoindre Facebook (sic !)) écrivait l’année dernière :

Des organisations comme Google, Mozilla, Opera et les autres qui croient réellement en l’importance de la vidéo ouverte sur le web investissent dans notre philosophie pour leurs produits, et le web va être encore plus fort et encore plus génial grâce à ça.

Félicitations et merci, Google.

L’annonce de Google est vite tombée en désuétude, et la société n’a pas fait grand chose pour pousser le support du format WebM. Mozilla se retrouve alors seul dans son combat pour l’open web. Et les discussions pour supporter le format H.264 dans Firefox sont réapparues cette semaine. Andreas Gal de chez Mozilla écrit alors :

Google a promis beaucoup de choses et n’ont pas suivi, et nos utilisateurs et nos projets en payent le prix. H.264 ne va pas disparaître. Tenir le coup un peu plus longtemps ne va strictement rien nous apporter.

La première motivation de Mozilla, c’est de supporter H.264 pour leur OS mobile, Boot to Gecko. Comme l’écrit MG Siegler, sans support de H.264, « Boot to Gecko serait un véritable faux départ ». Le support de H.264 serait alors étendu aux versions mobiles de Firefox, puis aux versions bureau pour les OS supportant nativement H.264. L’article d’Arstechnica détaille très bien tout le schmilblick.

Cette actualité me rappelle à quel point les avancées du web doivent être supportées par de grandes sociétés. Ces dernières années, Apple a pesé lourd dans la balance contre Flash. Google aurait pu peser lourd dans la balance contre H.264, mais ils en ont décidé autrement.

 

HTML5 n’est pas prêt, ne le sera jamais, et c’est une bonne chose

Christian Heilmann, développeur évangéliste chez Mozilla, explique pourquoi « HTML5 n’est pas prêt, ne le sera jamais, et c’est une bonne chose » :

HTML est désormais un standard vivant. Ça dérange l’esprit de beaucoup de personnes : comment un standard peut-il être vivant ? Et bien, pour moi, ça a beaucoup de sens. Les besoins du web sont constamment en train de changer. Il y a quelques années personne n’aurait prédit – et encore moins les groupes de standards – que nous utiliserions internet sur des appareils mobiles avec des interfaces tactiles. Que va-t-il se passer dans le futur proche ? Qui sait ? De la reconnaissance faciale et de la détection de mouvements ?

HTML5 est définit par les fabricants de navigateurs qui bricolent et innovent et enrichissent les standards. Puis les autres fabricants de navigateurs viennent en discuter et nous nous accordons pour en faire un standard. Cela évite le problème pour des développeurs d’avoir à construire des choses pour des navigateurs et ça signifie que le standard ne sera pas à la traîne. Le principal pouvoir d’internet est que vous n’avez pas à écrire la même application plusieurs fois pour différents environnements, et en s’accordant entre fabricants de navigateurs nous nous assurons qu’il n’y aura pas de nouvelle situation à la IE6.

Donc non, HTML5 n’est pas prêt et ne le sera jamais – et c’est une bonne chose. Nous avons un standard pour le web avec tout ses changements et adaptations, et pas un standard logiciel qui s’attends à un renouvellement tous les 5 ans.

Je suis d’accord avec le fond de l’article. Par contre, j’ai l’impression qu’il présente les fabricants de navigateurs et les groupes de standards de manière un peu trop idéaliste. Il y a tout juste un mois, tous les fabricants de navigateurs étaient d’accords pour commencer à faire du grand n’importe quoi, quitte à ce qu’on se retrouve justement dans « une nouvelle situation à la IE6 ».

Faire de HTML un standard vivant est une très bonne chose. Mais j’ai comme des doutes sur la capacité des groupes de standards actuels à en faire une bonne chose sur le long terme.

Les logos des navigateurs

Quand on parle de navigateurs, on parle surtout des cinq suspects habituels : Internet Explorer, Firefox, Chrome, Safari et Opera. A eux seuls, ces cinq navigateurs représentent près de 99% de parts de marché. Mais j’ai toujours été fasciné par la quantité, la diversité et la spécificité des navigateurs restants.

Mais surtout, j’ai toujours adoré les logos des navigateurs. Mis côte à côte dans le dock de Mac OS ou sur le bureau de Windows, ça me rappelle mon enfance, ma collection de pin’s, mon classeur de Pogs ou encore ma collection de Pokémons. En voici une petite sélection d’après la liste des navigateurs sur Wikipédia.

 

Le fait le plus ahurissant à propos de l’univers

Il n’y a pas très longtemps j’ai découvert Neil DeGrasse Tyson, astrophysicien et directeur du planétarium du Musée d’Histoire Naturelles de New York (et également devenu le meme « Watch out guys, we’re dealing with a badass over here » malgré lui).

J’ai découvert cette vidéo la semaine dernière, magnifiquement mise en scène sur une chanson de The Cinematic Orchestra, et je suis resté bouche bée. Interrogé par un lecteur du Time Magazine, il réponds à la question suivante : « Quel est le fait le plus ahurissant que vous puissiez partager avec nous à propos de l’Univers ? »

The Most Astounding Fact - Neil deGrasse Tyson

Le fait le plus ahurissant… c’est de savoir que les atomes qui composent la vie sur Terre, les atomes qui forment le corps humain sont traçables jusqu’aux creusets qui ont cuisiné des éléments de lumière en éléments denses dans leurs noyaux, sous des températures et des pressions extrêmes.

Ces étoiles, les plus lourdes d’entre elles, sont devenues instables dans leurs vieilles années. Elles se sont écroulées puis ont explosé, dispersant leurs intestins enrichis à travers la galaxie. Des intestins faits de carbone, de nitrogène, d’oxygène, et tous les ingrédients fondamentaux de la vie en elle-même. Ces ingrédients sont devenus une partie de nuages de gaz, qui se sont condensés, écroulés, et ont formé la génération suivante de système solaires : des étoiles avec des planètes en orbites. Et ces planètes ont maintenant les ingrédients de la vie elle-même.

Donc je lève les yeux au ciel la nuit… et je sais que oui, nous faisons partis de cet univers, nous sommes dans cet univers… Mais peut être que plus important que ces deux points, c’est que l’Univers est en nous. Quand je pense à ça, je regarde en haut… Beaucoup de gens se sentent petits parce qu’ils sont petits et que l’Univers est grand… mais je me sens grand, parce que mes atomes viennent de ces étoiles.

Il y a un niveau de connectivité. C’est vraiment ce que vous recherchez dans la vie, vous voulez vous sentir connectés, vous voulez vous sentir appropriés. Vous voulez vous sentir comme un participant dans le déroulement des activités et événements autour de vous.

C’est exactement ce que nous sommes, juste en étant en vie.

Ça n’a strictement rien à voir avec le web. Ça n’a strictement rien à voir avec l’intégration. Mais j’ai trouvé cette vidéo profondément inspirante.

Juste différent

Lu hier via Hacker News, la conclusion du livre « Learn Python the hard way » de Zed A. Shaw, intitulée « Conseil d’un vieux programmeur » :

Finalement, je dirais qu’apprendre à créer des logiciels vous change et vous rend différent. Pas mieux ni pire, juste différent. Vous trouverez peut-être que les gens vous traitent durement parce que vous savez créer des logiciels, peut-être en utilisant des mots comme « nerd« . Peut-être que vous réaliserez que parce que vous pouvez disséquer leur logique ils détestent débattre avec vous. Vous trouverez peut être que le simple fait de savoir comment fonctionne un ordinateur vous rends ennuyeux et bizarre à leurs yeux.

Face à ça je n’ai qu’un seul conseil : qu’ils aillent se faire foutre. Le monde a besoin de plus de gens bizarres qui savent comment les choses fonctionnent et qui aiment tout comprendre. Quand ils vous traitent comme ça, souvenez vous juste que c’est votre voyage, pas le leur. Être différent n’est pas un crime, et les gens qui vous disent ça sont juste jaloux que vous ayez choisi une compétence qu’ils n’auraient jamais pu acquérir même dans leurs rêves les plus fous.

Vous savez coder. Pas eux. Et ça, c’est plutôt cool.

 

Construire La Bombe en s’amusant

La semaine dernière je vous ai parlé de Richard Feynman (prix nobel de physique et joueur de bongo), en vous incitant vivement à en apprendre plus sur le personnage. Tel que je vous connais, nous n’en avez rien fait. Alors voici une petite anecdote que j’ai découverte il y a pas très longtemps sur Wikipédia.

A Princeton, le physicien Robert R. Wilson encouragea Feynman a participer au Projet Manhattan — le projet de l’U.S. Army en pleine guerre développant la bombe atomique à Los Alamos. Feynman dit qu’il avait été persuadé de rejoindre cet effort pour la construire avant que l’Allemagne Nazi ne développe sa propre bombe. […]

Dû à la nature top secrète du projet, Los Alamos était isolé. De la bouche de Feynman, « Il n’y avait rien à faire du tout là bas ». Ennuyé, il laissa libre cours à sa curiosité en apprenant à deviner les combinaisons de cadenas des armoires et des bureaux utilisés pour des documents sécurisés. Feynman joua pleins de tours à ses collègues. Dans un cas il trouva la combinaison d’une armoire de classement en essayant les numéros qu’un physicien utiliserait (ils se sont avérés être 27-18-28, d’après la base d’un logarithme naturel, e=2,71828…), et il découvrit que que les 3 armoires à classeurs où un collègue rangeait ses notes de recherche sur la bombe atomique utilisaient toutes la même combinaison. Il laissa une série de notes pour plaisanter, ce qui au départ effraya son collègue, Frederic de Hoffmann, et lui fit croire qu’un espion ou un saboteur avait réussi à gagner aux secrets de la bombe atomique.

Je pourrais utiliser ça comme un bon exemple pour parler de mot de passe et de sécurité. Mais ce qui m’a plu ici, c’est l’opposition du sérieux du projet, à l’amusement de Richard Feynman.

Les meilleurs projets sur lesquels j’ai travaillé sont ceux où je me suis le plus amusé. Que ce soit en essayant des nouvelles techniques d’intégration, ou alors en glissant des petites blagues à destination du client. Cela ne signifie pas que ces projets n’étaient pas sérieux.

Il y a quelques temps, j’avais vu une conférence chez TED dont le titre résume bien ma philosophie : Les grands designs sont sérieux (pas solennels).

« Bullshit animation »

La semaine dernière, j’ai vu sur Reddit cette image qui m’a fait sourire.

"Bullshit animation"

Je me suis toujours demandé comment fonctionnait cette animation dans iOS, se bloquant quasiment systématiquement à 90% avant de finaliser l’envoi. Magie de Reddit, le créateur de Cydia et un développeur iPhone de chez Apple sont venus apporter quelques précisions.

C’est un indicateur de progression indéterminé pour quelque chose dont ils peuvent deviner la durée mais sans avoir de suivi de sa progression. Ça fonctionne comme ça :

  • Affichez la barre de chargement pendant 4 secondes (ou 6 secondes s’il y a une photo jointe).
  • Si ça prends moins de 4 secondes,  remplissez rapidement le reste de la barre.
  • Si ça prends plus de 4 secondes, faites une pause à 90%.

C’est le même principe utilisé par un Mac avant au moment de booter. Déterminer le temps de chargement d’un système UNIX est très lent, alors ils ont juste mesuré le temps lors du dernier démarrage et vous donnent une barre de progression sur cette durée.

Maintenant je le saurais.

 

Des milliards et des milliards…

Je pensais avoir entendu tous les arguments possibles en faveur de Flash. Mais Adobe vient de se surpasser sur son site Adobe Gaming promouvant Flash pour le jeu vidéo.

Des milliards et des milliards

Des milliards et des milliards…

C’est ce que se font les éditeurs de jeu chaque année en choisissant la technologie Flash pour construire leurs jeux.

Mais oui ! Avec Flash vous n’allez pas gagner votre vie. Vous n’allez pas devenir millionaire. Vous allez devenir milliardaire.

La théorie espagnole

La semaine dernière, je suis tombé sur un article intitulé : « Tous les projets logiciels sur lesquels j’ai travaillé ont utilisé la théorie espagnole de gestion de projets, et il y a des chances pour que les votre aussi« .

Et effectivement, ce fut le cas. Pour expliquer la théorie en question, l’auteur cite le livre « Peopleware: Productive Projects and Teams » de Tom DeMarco et Thimoty Lister.

Les historiens ont établi il y a longtemps une abstraction de différentes théories de valeur : la théorie espagnole, pour sa part, disait qu’il n’existait qu’une quantité fixe de valeur sur Terre. Ainsi, le chemin vers l’accumulation de richesse consistait à apprendre comment l’extraire plus efficacement du sol ou des gens.

Et puis il y a eu la théorie anglaise qui stipulait que la valeur pouvait être créée par de l’ingéniosité et la technologie. Ainsi les Anglais ont eu une révolution industrielle, pendant que les espagnols perdaient leur temps à exploiter le terrain et les indiens dans le Nouveau Monde. Ils ont déplacé d’énormes quantités d’or à travers l’océan, et tout ce qu’ils ont gagné de leurs efforts a été une énorme inflation (beaucoup trop d’or chassaient trop peu de biens).

La théorie espagnole est bien vivante parmi les managers un peu partout. Vous le voyez quand ils parlent de productivité. La productivité signifie réaliser plus en une heure de travail, mais bien trop souvent elle signifie soutirer plus pour une heure de paye. Il y a une grosse différence. Les managers de la théorie espagnole rêvent d’atteindre de nouveaux niveaux de productivité grâce au simple mécanisme du travail supplémentaire impayé. Ils divisent le travail réalisé en une semaine par 40 heures, et non pas par les 80 ou 90 heures que le travailleur a réellement passé.

Ce n’est pas vraiment de la productivité — c’est plus de la fraude — mais c’est le dernier cri pour de nombreux managers américains. Ils intimident et gratifient leurs équipes de très longues heures de travail. Ils leur font comprendre à quel point la date de livraison est importante (même si c’est peut être totalement arbitraire; le monde ne va pas s’arrêter juste parce qu’un projet se finit un mois plus tard). Ils les piègent en leur faisant accepter des plannings désespérément serrés, les poussent à sacrifier tout pour tenir la date butoir, et feront n’importe quoi pour les faire travailler de plus en plus fort.

Vous n’avez pas idée à quel point tout ceci résonne de mes précédentes expériences professionnelles.

Bonus : ça me fait aussi penser aux 20% de temps libre chez Google vus par Dilbert.

La vitesse

La semaine dernière, Steve Lohr publiait dans le New York Times un article intitulé « Pour les internautes impatients, un clin d’oeil est trop long » :

Attendez une seconde.

Non, c’est trop long.

Vous vous souvenez quand vous étiez prêts à attendre quelques secondes qu’un ordinateur réponde à un clic sur un site web ou à une frappe au clavier ? Ces temps-ci, même 400 millisecondes — littéralement un clin d’oeil — est trop long, comme l’ont découvert les ingénieurs de Google. Ce délai à peine perceptible provoque moins de recherches chez les gens.

« Inconsciemment, vous n’aimez pas attendre », déclare Arvind Jain, un ingénieur de Google qui est le maestro de la vitesse au sein de la société. « Chaque milliseconde compte. »

La vitesse est pour moi un critère essentiel de qualité d’un site web. Ça tombe bien, puisqu’une grande partie de la rapidité de chargement d’un site va de la responsabilité de son intégrateur. Et ça suit très bien mon mantra. Ainsi, la moindre décision prise par un intégrateur aura un impact sur la rapidité d’un site :

  • Le choix de vos balises HTML
  • Le nommage de vos classes et ids dans le HTML
  • La découpe de vos images
  • Le format de compression des images
  • L’utilisation d’une librairie JavaScript
  • Etc…

D’après moi, une page web ne devrait jamais peser plus de 500Ko. Le très bon Chris Coyier avait fait un sondage sur son blog, et à 64%, ses lecteurs étaient d’accords sur le fait qu’une page ne doive jamais dépasser 500Ko. Mais ça signifie que 36% de ses lecteurs ne voient pas de problèmes à avoir une page de plus de 500Ko. 500Ko, c’est déjà au minimum 10 secondes de chargement avec un débit maximal en EDGE sur mobile. Si vous surfez sur mobile, vous n’avez probablement pas 10 secondes à perdre ainsi.

Même si cette contrainte est en général bien comprise par les clients, elle reste difficile à appliquer. Il y a deux semaines, David Heinemeiser Hansson de 37signals expliquait pourquoi ils se sont concentrés sur la vitesse lors de leur de refonte de Basecamp.

La vitesse est l’un de ces principaux avantages compétitifs qui ont le pouvoir de durer sur le long terme. Comme le dirait Jeff Bezos [PDG d’Amazon], personne ne va se réveiller dans 10 ans en souhaitant que leur application soit plus lente. Les investissements dans la vitesse vont payer des dividendes pour l’éternité.

Avec un petit budget donné pour améliorer son site, un client va très certainement privilégier des changements esthétiques, ou l’ajout de nouvelles fonctionnalités. Ça me paraît surtout être un choix de facilité. Et surtout ça n’a pour moi rien de rationnel. Peut être qu’une refonte graphique va améliorer son site et son chiffre d’affaires.

Mais peut être pas.

La technologie et l’ordre naturel des choses

Je viens de lire le commentaire de Dall0o sur mon précédent article, « Les vrais gens et leurs ordinateurs » :

Mon petit frère de 11 ans a installé chrome + des plugins, se sert de ses favoris et des raccourcis clavier. Il sait installer/utiliser une iso sans soucis. Ma mère a peur de lancer un navigateur.

Ça m’a rappelé une excellente citation de Douglas Adams (auteur du Guide du Voyageur Galactique) :

Tout ce qui existe au monde quand vous naissez est normal et ordinaire, et fait juste partie intégrante de la façon dont le monde marche. Tout ce qui est inventé entre vos 15 ans et vos 35 ans est nouveau et excitant et révolutionnaire, et vous ferez probablement carrière dedans. Tout ce qui est inventé après vos 35 ans est contre l’ordre naturel des choses.

 

« Laisse moi cinq minutes »

Jason Fried, patron de 37signals, « Laisse moi cinq minutes » :

Il y a quelques années j’étais une tête brulée. Dès que quelqu’un disait quelque chose, je trouvais un moyen d’être en désaccord. Je repoussais durement une idée si elle ne rentrait pas dans ma vision du monde.

C’est comme si je devais être le premier avec une opinion, comme si ça signifiait quelque chose. Mais ce que ça signifiait vraiment c’est que je ne réfléchissais pas assez au problème. Plus vite vous réagissez, moins vous réfléchissez. Pas toujours, mais souvent.

C’est facile de parler de réactions spontanées comme si c’était quelque chose que seuls les autres avaient. Si votre voisin n’est pas immunisé, vous non plus.

Ça m’est venu à l’esprit en 2007. Je donnais une conférence au Business Innovation Factory à Providence (dans le Rhode Island). Tout comme Richard Saul Wurman [fondateur de TED]. Après ma conférence, Richard est venu se présenter et complimenter ma présentation. C’est très généreux de sa part. Il n’avait assurément pas à faire ça.

Et qu’est-ce que j’ai fait ? Je l’ai repoussé en lui parlant de sa conférence. Pendant qu’il présentait ses idées sur la scène, je faisais un inventaire des choses avec lesquelles je n’étais pas d’accord. Et quand j’ai eu l’opportunité de parler avec lui, j’ai rapidement repoussé certaines de ses idées. J’ai dû passer pour un tel trou du cul.

Sa réponse a changé ma vie. C’était quelque chose de simple. Il a dit « Mec, laisse moi cinq minutes. » Je lui ai demandé ce qu’il voulait dire par ça ? Il m’a dit que c’était bien d’être en désaccord, c’est bien de repousser des idées, c’est super d’avoir de fortes opinions et croyances, mais laisse un peu de temps à mes idées pour s’installer avant que tu ne sois sur de vouloir débattre contre elles. « Cinq minutes » voulait dire « réfléchir », et non pas réagir. Il avait absolument raison. J’arrivais dans cette discussion pour chercher à prouver quelque chose, et non pas pour apprendre quelque chose.

J’hésite à rendre cette lecture obligatoire avant de laisser des graphistes, des fans de Flash, ou des fans d’Android commenter sur mon blog.

Codez pour les autres

J’utilise de plus en plus des applications (mobile ou web) pour accéder à du contenu diffusé sur des sites. Par exemple, voici le rendu d’un de mes derniers articles sur Google Reader.

Google Reader

Lire la suite de « Codez pour les autres »

Les vrais gens et leurs ordinateurs

Il y a quelques semaines, le magazine Fortune publiait un comparatif des ventes d’ordinateurs par fabricants, avec et sans l’iPad. Résultat : en comptant l’iPad, Apple est devenu le premier vendeur d’ordinateurs, devant HP.

Et puis j’ai vu ce tweet passer pleins de fois sur Twitter :

« Apple n°1 des vente d’ordinateur si on compte l’iPad » < « Lego, n°1 des ventes de voiture si on compte les jouets » (via @Enkimy)

J’aurais trouvé ça rigolo si la comparaison n’était pas aussi incensée. Les gens n’achètent pas des Lego pour la même raison qu’ils achètent une voiture. Les gens achètent désormais un iPad pour la même raison qu’ils achetaient auparavant un ordinateur.

Quand je parle des « gens », je veux bien entendu parler de vraies personnes, de monsieur et madame tout le monde. il y a quelques années, j’avais lu un article sur un blog anglais qui expliquait la relation avec l’informatique pour le commun des mortels. J’ai été incapable de retrouver l’article en question, mais ça disait quelque chose comme ça :

La plupart des gens détestent utiliser un ordinateur. La plupart des gens préférent s’atteler à des tâches ménagères, comme passer l’aspirateur ou sortir les poubelles, plutôt que d’avoir à utiliser un ordinateur. Mais si par malheur ils doivent en utiliser un, par exemple pour rechercher une information sur Internet ou pour rédiger un courrier administratif, l’expérience est bien souvent pénible. La plupart du temps, l’ordinateur est relégué dans une pièce recluse et froide de la maison. Pour l’utiliser, il faudra s’asseoir sur une vieille chaise inconfortable utilisée là à défaut. Et puis il faudra s’armer de patience devant le moindre chargement de l’ordinateur, et faire avec la peur constante d’avoir fait une mauvaise manipulation.

J’ai toujours utilisé mon iPad comme un gadget secondaire, mais je suis vraiment convaincu que pour le marché de masse, pour monsieur et madame tout le monde, c’est tout sauf un gadget. Et ça, ça va profondément changer toute l’industrie informatique ces prochaines années, et en particulier la façon dont on conçoit des sites web.

Une maîtrise complète de l’intégration n’est plus possible

Lu chez James Hague, « Une compréhension complète n’est plus possible » :

Supposons que vous venez juste d’acheter un MacBook Air, et que votre objectif est de devenir maître de la machine, de comprendre comment elle fonctionne à tous les niveaux.

Le livre « Mac OS X Internals: A Systems Approach » d’Amit Singh est un bon début. Ça ne parle pas tant de programmation que de discours approfondis sur la façon dont toutes les parties du système d’exploitation fonctionnent entre elles : ce que fait le firmware, les séquences d’événements durant le démarrage, ce que les drivers font, et ainsi de suite. A 1680 pages, ce n’est pas une petite lecture.

Pour vraiment comprendre le matériel, Intel a gentiment mis à disposition une documentation gratuite en 7 volumes. Je vais rester simple en recommandant la lecture de Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic Architecture (550 pages) et les deux volumes décrivant les jeux d’instructions (respectivement 684 pages et 704 pages).

[…]

Le total de tout ça, c’est plus de 11 000 pages de lecture. J’ai omis d’inclure les pages man pour des centaines d’utilitaires système et la documentation d’Xcode. Et je n’ai même pas encore abordé les connaissances graphiques nécessaires pour faire quoi que ce soit d’intéressant avec OpenGL, ou comment écrire du bon C ou Objective-C ou quoi que ce soit concernant la conception orientée objet, et…

Son article touche un très bon point, et ça m’a rappelé cette vidéo de l’excellent Richard Feynman  (prix nobel de physique et joueur de bongo) qui remets un journaliste à sa place quand il lui demande comment fonctionnent des aimants. Si vous ne connaissez pas Richard Feynman, rendez-vous service et regardez cette vidéo.

Feynman: Magnets  FUN TO IMAGINE  4  But see NEW UPDATED file at https://tinyurl.com/ycphc432

Le journaliste : Quand vous tenez deux aimants, et que vous les poussez l’un contre l’autre, vous sentez cette pression entre les deux. Et quand vous les retournez, et ils se collent l’un avec l’autre. Qu’est-ce que c’est cette sensation entre deux aimants ?

Richard Feynman : Qu’entendez-vous par « qu’est-ce que c’est cette sensation ? »

Le journaliste : Et bien, il se passe quelque chose. Cette sensation, il y a quelque chose…  quand vous collez deux aimants l’un contre l’autre.

Richard Feynman : Ecoutez ma question : qu’entendez-vous par « quelle est cette sensation » ? Bien sûr qu’il y a quelque chose. Mais que voulez-vous savoir ?

Le journaliste : Ce que je veux savoir, c’est ce qui se passe, entre ces deux morceaux de métal.

Richard Feynman : Les aimants se repoussent l’un l’autre.

Le journaliste : Oui mais qu’est-ce que ça signifie ? Ou pourquoi est-ce qu’ils font ça ? Ou comment est-ce qu’ils font ça ? … J’estime que c’est une question parfaitement raisonnable.

Richard Feynman : Bien sûr ! C’est même une excellente question ! Mais le problème, c’est quand vous demandez « Pourquoi quelque chose se passe ». Comment quelqu’un réponds à une question comme ça ?

Par exemple, Tante Minny est à l’hôpital. Pourquoi ? Parce qu’elle a glissé sur la glace et qu’elle s’est cassée la hanche. Cette réponse satisfait les gens. Mais ça ne satisferait pas quelqu’un qui vient d’une autre planète et qui ne connaît rien de nous. Par exemple pourquoi quand on se casse la hanche on va à l’hôpital ? Comment vous rendez-vous à l’hôpital quand votre hanche est cassé ? Et bien son mari a vu qu’elle s’était cassé la hanche, il a appelé l’hôpital pour que quelqu’un vienne la chercher. Tout ceci est compris implicitement par les gens.

Quand vous expliquez « Pourquoi », vous devez être dans un cadre de travail qui permets à quelque chose d’être vrai. Sinon vous continuerez éternellement de demander pourquoi.

Pourquoi est-ce que le mari a appelé l’hôpital ? Parce que le mari est intéressé par le bien être de sa femme. Mais tous les maris ne sont pas toujours intéressés dans le bien être de leur femme, quand ils sont soûls et en colère. Et donc vous commencez à avoir une compréhension très intéressante du monde et toutes ses complications. Si vous essayez de poursuivre la moindre branche, vous irez de plus en plus loin dans différentes directions.

Je pense que c’est vrai également pour le métier d’intégrateur. Avec toutes les nouveautés techniques apparues rapidement ces dernières années (HTML5, CSS3, Canvas, WebGL, …), et la mise en avant massive des technologies côté client en dehors du web (applications mobile, Windows 8, …), il n’est plus possible pour un intégrateur de maîtriser l’ensemble des technologies mises à sa disposition. Le métier d’intégrateur et plus largement de développeur front-end va alors se diviser en de nouvelles branches, tout comme il y a 10 ans le métier d’intégrateur s’était détaché du métier de webdesigner.

On en arrive alors à ce que vous aimez faire. Qu’est-ce que vous préférez ? Est-ce l’organisation de contenus basés sur la sémantique HTML ? Ou la mise en page en CSS ? Ou le développement d’interactions en JavaScript ? Est-ce que vous souhaitez continuer à faire des sites web ? Ou est-ce que vous voulez vous spécialiser dans le développement d’applications web (pour mobiles ou pour les OS dédiés) ?

Peu importe la réponse, trouvez ce que vous aimez, et creusez le sujet à fond. Car peu importe votre spécialité, ça deviendra votre plus grand atout.

Devenez un meilleur intégrateur avec Excel

J’ai souvent eu à intégrer des pages statiques avec des longues listes de liens. La plupart du temps, les chefs de projets utilisent Excel (ou OpenOffice, LibreOffice ou Google Docs) pour rassembler et partager tous ces liens. Typiquement, on va y trouver une colonne avec l’intitulé du lien, et un autre avec l’URL du lien.

Un exemple de tableau de liens sous Google Docs

A partir de ces liens, je vais devoir générer le code HTML suivant :

<ul>
<li><a href="http://www.hteumeuleu.fr/chrome-sous-android-ne-supporte-pas-flash/">Chrome sous Android ne supporte pas Flash</a></li>
<li><a href="http://www.hteumeuleu.fr/cout-grandissant-developpement-interactif/">Le coût grandissant du développement interactif</a></li>
<li><a href="http://www.hteumeuleu.fr/produire-c-est-decourager-la-creativite/">« Produire, c’est décourager la créativité. »</a></li>
<li><a href="http://www.hteumeuleu.fr/statistiques-google-janvier-2012/">Les statistiques de Google+ en janvier 2012</a></li>
</ul>

Une façon basique d’arriver à ce résultat serait d’intégrer chaque lien un par un, en copiant l’intitulé du lien, en le collant dans son éditeur de code, puis en copiant l’URL du lien, et en la collant dans son éditeur de code. Mais clairement, c’est long, fastidieux et très pénible. Et ce n’est clairement pas adapté pour des documents de plusieurs centaines de liens.

Voici une façon beaucoup plus simple d’arriver au même résultat en utilisant de simples formules dans un tableur. Ces formules fonctionnent en principe dans n’importe quel tableur (Excel, OpenOffice, LibreOffice, Google Docs), mais selon la langue du logiciel il est possible que vous deviez traduire le nom des fonctions utilisées.

Dans un tableur, pour concaténer deux valeurs de cellules ou deux chaînes de caractères, on va utiliser l’opérateur & (ex : A1 & A2). Une chaîne de caractère doit être délimitée par deux double guillemets anglais (ex : A1 & « toto »). Pour échapper des double guillemets dans une chaîne de caractère, il faut écrire deux double guillemets. Voici alors la formule qu’on utiliserait dans une colonne C pour générer la balise d’un lien dont le contenu se trouve dans la colonne A, et l’URL dans la colonne B.

="<li><a href=""" & B1 & """>" & A1 &"</a></li>"

Si vous avez un document bien formaté, vous pouvez dores et déjà étendre cette formule à tout votre colonne, et vous n’aurez plus qu’à copier/coller le tout dans votre page HTML ! Mais souvent, les documents de ce genre sont remplis d’annotations, avec des lignes vides ou commentées pour structurer un peu le document. On va alors peaufiner un peu notre formule en ajoutant un traitement conditionnel avec la fonction IF (ou SI en français). Cette fonction prends 3 paramètres : IF(test; valeur si vrai; valeur si faux). Afin de s’assurer qu’on doit bien générer du HTML pour la ligne en cours, on va vérifier si la cellule de la colonne URL n’est pas vide. Si c’est le cas, on génère bien le HTML, sinon on n’affiche rien. On obtient alors la formule suivante :

=IF(B1<>""; "<li><a href=""" & B1 & """>" & A1 & "</a></li>" ;"")

Pour finaliser tout ça, je peux également insérer une nouvelle formule dans une cellule vide qui va concaténer toutes mes balises <li>, et les englober dans une balise <ul>. Pour concaténer rapidement toute une plage de cellule, on va utiliser la fonction CONCATENATE(). Ça donne quelque chose comme ça :

=CONCATENATE("<ul>"; C3:C56; "</ul>")

Et voilà ! Vous n’avez plus qu’à copier le contenu de cette cellule dans votre page HTML. J’ai créé sur Google Docs un document d’exemple pour que vous puissiez voir le résultat directement.

2 ans

Il y a 2 ans, le 24 février 2010 à 15h52, je publiais mon premier tweet. A la base, j’ai créé un compte Twitter surtout pour moi. Chaque jour, je lis beaucoup d’articles, de tutoriels et d’actualités sur le développement web. Je conservais les articles qui m’intéressaient vraiment dans mes favoris, mais c’est très vite devenu ingérable. Je me suis dit qu’en les publiant sur Twitter, je pourrais facilement en garder une trace, et qu’au passage, ça intéresserait peut-être d’autres gens.

Il s’avère que ça ne s’est pas trop mal passé.

Il se trouve que j’aime beaucoup Twitter. J’essaie de garder le nombre de comptes que je suis à un nombre raisonnable, en suivant principalement des comptes orientés web. Mais en réalité, je me rends compte que ces 2 dernières années, Twitter a été ma première source d’informations, même bien au-delà de l’actualité du web.

Quelques mois plus tard, j’ai lancé ce blog. L’objectif de ce blog est d’être la continuité du compte Twitter, en partageant mon point de vue sur des sujets qui me tiennent à coeur. Certains appellent ça du troll, mais sincèrement, ce n’est que mon point de vue. Et ceci n’est qu’un blog personnel.

Je lis beaucoup d’articles sur beaucoup de blogs, et je suis toujours aussi surpris de la neutralité et de la consensualité que certains rédacteurs adoptent sur leurs blogs personnels. Je préfère largement lire un article passionné, avec un point de vue (quitte à ne pas être d’accord), plutôt qu’un article sans saveur digne d’un communiqué de presse.

Il y a une citation que j’aime bien (bizarrement attribuée à Mark Twain) qui dit « Danse comme si personne ne te regardait ». J’essaie d’adopter cette philosophie sur mon blog, en écrivant comme si personne ne me lisait. Et si ça peut rassurer mes détracteurs, c’est souvent le cas.

Voici quelques statistiques sur mon blog depuis son lancement en juillet 2010. J’ai eu 98 509 visites, 67 496 visiteurs uniques, et 213 808 pages vues. 58% de mes lecteurs sont sur Windows, 22% sur Mac OS, 9% sur Linux et 6,5% sur iOS (oh, et Android : 2,55%). 43% sont sur Firefox, 33% sur Chrome, 9% sur Safari et 4% sur Internet Explorer (et parmi ces 4%, 54% sont sur IE8, 25% sur IE9, 14% sur IE7, 5% sur IE6). La nuit je rêve d’avoir des statistiques de navigateurs similaires sur les sites de mes clients. 38% de mon trafic est direct, 20% vient de Twitter, 18% vient de Google, 8% vient de Facebook (et 0,5% vient de Google+).

Voici une petite liste des articles les plus vus sur mon blog :

  1. Des maquettes difficilement intégrables… wait, what ? (octobre 2011)
  2. Estimer un temps de développement, c’est difficile (février 2012)
  3. Le Pixel Perfect (mai 2011)
  4. Des démos WebGL (février 2011)
  5. Les développeurs, graphistes et chefs de projets (juin 2011)

Laissez moi revenir en détails sur ce numéro 1. La réception de cet « article » a été phénoménale. Pourtant, j’ai vraiment fait cette image à l’arrache, un mardi soir devant la télé, quelques semaines après avoir vu une image du même genre sur Reddit. Le mercredi matin, je l’ai publiée, et puis je l’ai twittée. Et là, ça a été l’avalanche. Depuis sa publication, l’article a été vu plus de 33 000 fois sur mon blog, et le fichier JPG seul a été vu plus de 76 000 fois depuis mon serveur, générant plus de 7 Go de trafic. Mais l’image a aussi été reprise un nombre impressionnant de fois sur d’autres blogs. Elle a même été traduite en anglais quelques semaines plus tard, et retweetée par George Broussard himself. Grâce ou à cause de cet article, voilà à quoi ressemblent les statistiques du blog ces 2 dernières années.

Statistiques de HTeuMeuLeu

Je pense que cet anniversaire est la bonne occasion pour remercier tous mes lecteurs et tous mes followers. Alors : merci.

 

La feuille de route d’Adobe pour Flash

Adobe a publié cette semaine sa feuille de route pour Flash ces prochaines années, et je ne pouvais pas être plus satisfait :

Avec la croissance de la compétition sur le marché des navigateurs, les fabricants de navigateurs ont de plus en plus innové et ont fourni des fonctionnalités qui ont permis de déployer des animations riches directement grâce aux technologies du navigateur, une rôle autrefois joué principalement par Flash Player. De plus en plus, les animations riches seront déployées directement dans le navigateur en utilisant HTML5, CSS3, JavaScript et les autres technologies modernes du web. Alors que le rôle premier de Flash en tant que moteur d’innovation sur le web reste le même, ce pour quoi il sera utiliser va changer.

Adobe croit que les moteurs d’exécution de Flash se prêtent particulièrement bien à deux utilisations principales : créer et déployer des jeux riches, expressifs avec des graphismes de la qualité d’une console, et déployer des vidéos premium.

Ce changement de cible pour Flash ne signifie pas que les contenus existants ne fonctionneront plus, ou que Flash ne pourra pas être utilisé pour des contenus autres que du jeu et de la vidéo. Par contre, ça signifie que lorsque nous devrons prioriser les développements futurs et les corrections de bugs, le jeu et la vidéo seront nos priorités.

Soyons clairs : aujourd’hui, si vous souhaitez diffuser de la vidéo et que vous êtes un minimum sérieux, vous êtes obligés de proposer une alternative à Flash. D’après NetMarketShare, les utilisateurs mobiles représentent 9% des internautes, et ce chiffre ne va faire qu’augmenter ces prochaines années. Aujourd’hui, plus de 60% du marché des navigateurs supporte nativement les vidéos en HTML5, et ce chiffre ne va faire qu’augmenter ces prochaines années. Les vidéos en HTML5 ont des lacunes, comme l’absence de gestion de contenus protégés (DRM). Mais Adobe le dit clairement : à part pour de la vidéo premium, utiliser Flash est une hérésie.

Et quand au jeu, j’ai un tout petit peu de mal à voir comment Adobe va s’en sortir. Depuis 3 ans, Adobe nous rabâche chaque année des nouvelles démos de jeux en 3D époustouflantes avec des gros éditeurs : Square Enix, Epic Games et l’Unreal Engine, … Mais ces 3 dernières années, tout ceci en est resté au stade de vidéo de présentation.
En comparaison, ces 3 derniers mois, on a vu arriver les portages en HTML5 de deux des jeux les plus vendus l’année dernière : Angry Birds et Cut the Rope. Il ne s’agit pas de vidéos de promesses de ce que pourraient potentiellement être des jeux en HTML5. Non, il s’agit du vrai truc.

Adobe en profite pour détailler sa feuille de route pour 2012 avec de nouvelles versions de Flash Player (noms de code « Cyril » et « Dolores »), et présente vaguement les prochaines fonctionnalités de Flash pour les années à venir (« Flash Player Next »).

Adobe présente également le support fourni pour Flash pour les différents systèmes et plate-formes, en rappelant la toute fraîche annonce de l’abandon de Flash Player pour Linux aux mains de Google. Voici un petit récapitulatif du support de Flash pour le web :

  • Apple OS X : Flash Player est toujours supporté, mais n’est plus installé par défaut sur aucun Mac.
  • Microsoft Windows : Flash Player est supporté (pour le moment).
  • Windows 8 : Flash Player (comme tout autre plugin) ne fonctionnera pas dans la version Metro de Windows 8 (destinée aux écrans tactiles).
  • Linux : Flash Player est supporté, désormais par Google, uniquement sous Chrome.
  • Mobile : Flash Player n’est plus supporté.
  • Télévision : Flash Player n’est plus supporté.

Je ne voudrais pas vendre la peau de l’ours avant de l’avoir tué, mais ça me fends le coeur de voir un ours agoniser ainsi.

En 2012, Google pète un câble

Depuis le début de l’année, j’ai l’impression que chaque semaine voit son lot de nouveaux scandales autour de Google. En voici une petite liste non exhaustive :

  • Google a monté une vaste escroquerie au Kenya pour se faire passer pour un annuaire local et inciter les entreprises à créer un site sur l’équivalent du très mauvais « Mon entreprise en ligne ». (source)
  • Des employés de Google ont été surpris en train de vandaliser les données d’OpenStreetMap. (source)
  • Google a pénalisé Chrome dans ses résultats de recherche, lui faisant perdre 0,17% de parts de marché en janvier, après avoir violé ses propres règles de SEO pour promouvoir Chrome. (source)
  • Google a changé sa politique de respect de la vie privée, les autorisant à faire du croisement de données entre tous leurs services pour mieux vous profiler. Si vous n’êtes pas d’accord, vous n’avez aucune possibilité de refuser ce changement de politique. (source)
  • Google favorise désormais les résultats de son propre réseau social, Google+, au détriment de la pertinence et de la neutralité de son moteur de recherche (source)
  • Larry Page aurait dit à ses employés : « Comprenez Google+ ou partez »
  • Google contourne les préférences de vie privée de Safari et d’IE pour continuer de vous traquer. (source)
  • Google a supprimé les liens de ses logos pour revenir à l’accueil, le b.a.-ba de l’ergonomie depuis la nuit des temps. (source)

Et on est que le 53ème jour de 2012. Google devrait relire son propre code de conduite.