Qui est-il?

Christian Heilmann est un développeur évangéliste vivant et travaillant à Londres. Il a commencé son blog en 2006. C’est quelque chose qui le fascine. Il trouve ça fantastique que des gens puissent entrer en contact avec lui et lui poser des questions. C’est pour ça qu’il aime autant le Web : il est très facile de s’y installer et d’y laisser une trace.

Il se définit comme “développeur évangéliste” car c’est un porte-parole, un intermédiaire entre une société et son équipe technique et les développeurs externes qui peuvent enrichir cette société par leurs connaissances.

tweet de Christian Heilmann

Tétris?!

“If Tetris has taught me anything it’s that errors pile up and accomplishments disappear”

- Christian Heilmann -

Gif tetris

Christian trouve que le Web fonctionne comme Tétris. Si on commet une erreur, les blocs finissent par s’empiler de plus en plus haut. Au fur et à mesure, nous apprenons à gérer ce problème et nous devenons meilleur. Selon lui, c’est intéressant comme métaphore car elle démontre qu’à chaque erreurs ou à chaque essais, nous pouvons voir plus loin.

Chaque pièce a ses propriétés, ses atouts et ses faiblesses. Seules, elles ne sont d’aucune utilité, mais ensemble elles se complètent afin de former un tout cohérent et solide. Nous pourrions comparer chacunes de ces pièces aux différentes parties qui constituent une maison.

De la conservation à l'innovation

Métaphore de la construction d'un bâtiment

  • Murs

  • Murs
  • + : Fonctionne sur tous supports même dépassés (fonctionnel et durable)

  • - : Ennuyant, pousse à ne pas évoluer voire faire reculer le web

« Don't trust the client side – do it all on the server »

On voit de moins en moins ce genre de personne mais cette citation reste toujours d’actualité et on la voit revenir de temps en temps. C’est la partie la plus classique. Ces personnes restent bloquées dans le « passé » du web car elles prônent les vieilles techniques en évitant les nouvelles, créant des sites désuets. Le problème est que ces vieilles interfaces sont « correctes » mais risquent d’ennuyer l’utilisateur. Or aujourd’hui, on se doit d’être de plus en plus attentif à l’utilisateur.

  • Charpente
  • + : Innovant grâce aux interfaces adaptables aux différents environnements

  • - : Ne pas innover peut poser problème vis à vis de l’utilisateur

  • Charpente

« You have no right to block any users »

Cette partie tend vers plus d’innovations. Elle veut mettre en place des solutions qui fonctionnent en utilisant les normes du web pour que l’utilisateur ne soit jamais déçu. Par exemple, selon l’environnement, l’interface peut changer. C’est important car ne pas le faire est une erreur par rapport à l’utilisateur qui risque de se lasser lors de son expérience. C’est notre job d’être sûr que les utilisateurs peuvent utiliser les différents produits.

  • Fondation

  • Fondation
  • + : Il y aura toujours de l’HTML

  • - : HTML5 n’a pas tenu ses promesses

« Using semantic HTML gives you a lot of things for free. Accessibility, catching, fast rendering. You can't lose »

Cette partie défend la sémantique et la structure HTML avec lesquelles nous créons des sites. L’HTML assure l’affichage du contenu malgré les erreurs tandis que les outils (Javascript, CSS, PHP,...) permettent la mise en forme. Quand on est passé de l’HTML à l’HTML5, les développeurs pensaient que certains seraient plus simples et que certaines choses seraient adaptées ou identiques sur les différents navigateurs. Mais en fait, les fondateurs de l’HTML5 n’ont pas tenu leurs promesses: pas de sélecteurs de date, pas de nombres flottants, ou encore pas d’ancre par exemple. Les développeurs ont été déçu par le retard des mises à jours de ce dernier. De plus, une certaine dissonance d’assimilation règne entre les différents navigateurs.

  • L’électricité

  • L’électricité
  • + : Jquery, Modernizr et autres polyfills fonctionnent bien

  • - : Risque que les développeurs en deviennent dépendants

« Browser differences are annoying and shouldn't be in the way of the developer. That's why we need abstraction libraries to fix issues. »

Les librairies Javascript, jquery, ajax, etc.. sont utilisées pour réparer certains problèmes en HTML. Les développeurs voulaient que ces librairies soient intégrées sur tous les navigateurs mais malheureusement, Firefox et d’autres n’ont pas cédé et n’ont pas intégré cela. Il n'y aucun doute que Jquery, Modernizr et d’autres librairies soient bénéfiques au web que nous connaissons aujourd'hui. Ils font que les choses fonctionnent. Le problème c'est que beaucoup de développeurs deviennent dépendants de ça.

  • Ciment

  • Ciment
  • + : Le Javascript est polyvalent

  • - : Le Javascript peut être capricieux

« I can do everything in Javascript. Every developer on the web should know it. »

C’est la partie la plus polyvalente car elle se glisse partout afin de résoudre des problèmes en utilisant des bases solides. Dans ce cas, c’est Javascript. C’est le seul langage à couvrir toute « l’expérience » car on l’utilise pour le serveur ainsi que pour le client. Et il peut être « combiné » avec de l’HTML et du CSS. Contrairement à ceux-ci, on peut savoir si le JavaScript est appliqué correctement grâce à la récupération d’un traitement d’erreur. Le Javascript est la base du web d’aujourd’hui, les choses sont plus accessibles grâce à lui. Il y a plus d’interactions et d’adaptation en Javascript et on peut tester si quelque chose se passe ou non.

  • Les matériaux
  • + : Faire évoluer le web, recompile les codes non compatibles en fonctionnelss

  • - : A force de recompiler les codes, il est plus difficile de retrouver les erreur

  • Les matériaux

« I don’t want to have to think about older browsers and broken environments. Frameworks and build processes can take care of that. »

L’utilisation des librairies est inévitable pour combler les divergences des navigateurs en vue d’optimiser l’expérience utilisateur. Certains web développeurs utilisent les derniers standards, trop récents pour être interprétés correctement par le(s) navigateur(s). A cause de cela, ils doivent anticiper les problèmes de compatibilité. En s’éloignant trop des langages de base, ils deviennent incompréhensibles et doivent dès lors être compilés une ou plusieurs fois afin d’être exécutés de manière universel. De plus, à force de compilations, on peut vite perdre le contrôle sur notre travail, alourdir des tâches simples, voire créer un effet boules de neige de problème. Par exemple, une erreur compilée en entraînant une autre, qui sera elle-même compilée de nouveau, … En solutionnant un problème, on peut vite en créer une infinité d’autres. Aujourd’hui, les navigateurs nous aident avec des outils de développement, comme l’inspecteur par exemple, afin de faire un lien entre ce que l’on code et ce qui est interprété par le navigateur.

  • La décoration

  • La décoration
  • + : Interface attractive, interactive et responsive

  • - : code plus minutieux et complexe, si celui-ci est faux ou non-adapté aux changement d’environnement, le site fonctionnera mal et/ou contiendra des erreurs

« Browser and web standards are too slow and don’t give us enough control. We want to know what’s going on and control every part of the interface. »

Aujourd’hui, alors que nous voudrions tout contrôler, les navigateurs ne nous donnent pas assez de pouvoir. Cependant, en tant que développeur, il est de notre devoir d’utiliser les outils adéquats, tel que Javascript, afin de créer des interfaces accessibles et innovantes. Plus innovant vous serez, plus vous devrez prendre vos responsabilités pour qu’un site fonctionne chez tout le monde et pour chaque environnement. Grâce à cette méthode de travail, le design est plus interactif, adaptable et efficace aux besoins de l’utilisateur. Si vous faites confiance au navigateur, vous prenez le risque que rien ne s’affiche et que l’expérience utilisateur soit décevante…

Gif Microsoft Design Inclusif

Quelque soit notre place dans le spectre, on a quelque chose à apporter aux autres. Chacune de ces différentes approches et opinions ont leur place dans le web, et font la diversité du marché. La combinaison des compétences de chacun fait la différence au niveau des interfaces. Il est primordiale que l’on “travaille” ensemble, que l’on s’écoute car le web évolue en permanence et combine rapidité et créativité, nous devons savoir vivre avec cet apprentissage continu.

“...All humans are growing, changing, and adapting to the world around them every day. We want our designs to reflect that diversity. Every decision we make can raise or lower barriers to participation in society…”

Le monde ainsi que le Web évoluent continuellement, entraînant des changements dans nos perceptions, nos habitudes, … Malgré cela, nos habitudes au quotidien sont radicalement normalisées, excluant une large part de la population. Or la “magie” d’Internet réside dans la communication: l’effondrements des barrières physiques, sociale, lingual, … afin de donner à ceux qui ne l’ont pas encore, l'opportunité de prendre part à la communauté et faire entendre leur voix.

“Voir la diversité humaine comme une ressource pour de meilleurs designs”

L’ambition du design inclusif est de créer des designs appropriés physiquement, cognitivement et émotionnellement à chacun de nous peu importe notre handicap.

Design inclusif

Microsoft Design Inclusif

Pour plus d'informations:

Microsoft: Design inclusif

Résidents = utilisateurs

“Users over authors over implementers over specifiers over theoretical purity.”

Christian Heilmann met en avant le fait que l’expérience utilisateur est le but ultime! Cette dernière citation nous confirme que l’utilisateur doit être avant l’auteur, qui est lui même avant les ‘exécuteurs’ qui sont avant les ‘spécificateurs’, qui eux-même sont avant la théorie pure.

Notre travail est de créer des interfaces simples, humaines et « amusantes » à utiliser. Les résultats et les outils adéquats doivent être de paires. Il s’agit d’éviter les barrières. Cependant, c’est la plus grande chose que nous ne faisons pas à l’heure actuelle. Il ne faut pas essayer de contrecarrer ce qui ne fonctionne pas immédiatement car ce n’est pas comme ça que le web fonctionne et à la place de réparer tous ces petits problèmes, on en cause des plus gros. Il est temps de comprendre que travailler dans un monde de créativité qui évolue constamment et rapidement demande d’adopter une certaine attitude, autrement nous serons tous perdants. Les conservateurs doivent apprendre des innovateurs et inversement. Plutôt que d'essayer de prouver qu’une technique est meilleure qu’une autre, nous devons nous allier pour « travailler » ensemble. De plus, nos réalisations ne doivent pas être éternelles et il est bon qu’elles disparaissent lorsqu’elles ne sont plus à jour ou n’ont plus d’utilité. Sans quoi, les anciennes techniques à ne plus appliquer resteront accessibles.

Chacun d’entre nous fait donc partie “du web” et a quelque chose à y contribuer. Personne ne détient la solution pour atteindre la perfection mais c’est primordiale que chacun fasse entendre ce qu’il a dire, ça ne peut qu’être bénéfique pour tout le monde. Aucune créativité n’est une perte, peu importe ce que vous faites. Tant que vous êtes libres et créatifs et que vous le partager avec d’autres personnes.