La graine d’une idée

Il y a deux mois, je partageais mon emballement pour une conférence de Bret Victor présentant le futur des interfaces de développement. En deux mois, la vidéo de sa conférence a été vue plus de 335 000 fois sur Vimeo, et l’extrait que j’avais mis sur Youtube a été vu plus de 100 000 fois. Autrement dit, je crois ne pas avoir été seul à être emballé.

Pourtant, pour une raison qui m’échappait et m’agaçait un peu, Bret Victor n’a pas publié en ligne ses démos. Bien sûr, certains de ses articles comme « Up and Down the Ladder of Abstraction » présentaient déjà des applications réelles de ces prototypes. Et puis il y a aussi Tangle, sa librairie JavaScript pour créer des documents interactifs. Mais pas de véritable outil de développement.

Pour expliquer son choix, Bret Victor a sobrement retweeté le commentaire suivant vu sur Hacker News :

Parfois il est plus important de bien poser la graine d’une idée plutôt que le produit fini.

Pour lui, « c’est l’idée et non le produit qui doit se propager et se répandre ».

Le moins qu’on puisse dire, c’est que son idée a bien germé et a inspiré de nombreux développeurs. En moins de deux mois, on a vu apparaître les clônes suivants de son interface :

  • RECanvas, une version basique de l’éditeur Canvas avec quelques exemples prédéfinis
  • Water, un autre prototype utilisant la librairie D3.js
  • TnLogy, une autre version avec un exemple de moteur physique
  • LiveClJS, une version de l’éditeur de jeu en ClojureScript
  • Frogatto Editor, l’éditeur de niveau du jeu éponyme
  • CodeBook, un éditeur Canvas quasiment aussi complet que le prototype de Bret Victor

Certains sont clairement des prototypes, mais d’autres sont parfaitement utilisables pour de vrais projets. Ce qui me fascine particulièrement avec cet exemple, c’est la liberté et la rapidité avec laquelle une idée se propage et se concrétise.

Ça me rappelle une demande de Paul Irish (développeur évangéliste pour Google Chrome) lancée sur Twitter il y a deux mois : « Créez une interface web pour générer des GIFs animés en drag’n’drop ». En 24 heures, MotherEffingAnimatedGIF était né et finalisé. En vingt-quatre petites heures.

Je ne sais pas s’il y a beaucoup d’autres plate-formes de développement qui connaissent une telle effervescence et une telle profusion. Mais ça correspond parfaitement à ma vision du web et de HTML5 décrite ici il y a quelques mois :

Avec HTML5, un tout nouveau public découvre les joies et les possibilités de l’animation pour le web. HTML5 est un standard ouvert et gratuit. Avec HTML5, vous facturez à vos clients votre création plutôt que la technologie. Avec HTML5, votre code est constamment visible et accessible aux yeux de tous.

La philosophie de HTML5 est inclusive; elle pousse à la créativité en équilibre avec la technique, à l’ouverture et au libre échange.