Les articles du mois de avril 2012

Savoir abandonner ses idées

Le week-end dernier j’ai regardé cette conférence Post Mortem des scénaristes de Portal 2 (Chet Faliszek et Erik Wolpaw) datant de mars dernier à la GDC. Si vous avez aimé Portal 2, c’est vraiment une chouette conférence à voir (attention par contre, c’est plein de spoilers). Ce qui m’a particulièrement plu, c’est qu’ils ne parlent pas vraiment de leurs secrets de fabrication et de comment ils ont imaginé telle ou telle partie du jeu. Mais plutôt, ils parlent de toutes les idées qu’ils ont eu, qu’ils ont développé et qu’ils ont fini par abandonner. J’ai particulièrement aimé ces exemples de fausses fins (à 35 minutes dans la vidéo) :

Portal 2 - Post Mortem (GDC)

A un moment, tôt dans la production, nous avions eu l’idée de disperser à travers le jeu des fausses fins. Ça nous est venu en regardant les sessions de tests de Portal 1. Il y a un moment aux environs des 2/3 du jeu où vous avancez sur une plate-forme qui se dirige vers un incendie. Vous êtes supposé vous en échapper et c’est là que vous rentrez en coulisse. Mais pour un petit pourcentage de testeurs, ça leur convenait parfaitement de rester sur la plate-forme et finir dans les flammes. C’était une bonne fin pour eux. C’était triste, mais ils aimaient ça. Ça finissait juste avec eux qui mourraient.

Alors on s’est dit qu’on pourrait faire plaisir à ces gens, et on avait disséminé à travers le jeu des endroits où Chell mourrait, ce serait la fin et on jouerait une chanson. Et si vous vouliez, vous pouviez vous arrêter là.

On en avait une au bout de quelque chose comme 2 minutes de jeu. Si vous mourriez là, il y avait une chanson (que Jay et moi chantions) qui passait en revue ces 2 premières minutes, et ce qu’il venait de se passer.

Puis plus tard dans le jeu, il y avait un passage où il y avait une fissure au plafond où vous pouviez voir la Lune. Vous pouviez placer un portail sur la Lune, et si vous en placiez un sur le mur, ça vous aspirait directement sur la Lune et vous vous asphyxieriez tout en écoutant une chanson triste sur la Lune. Et celle-ci marchait plutôt bien. Pour les gens qui la trouvaient, ce qui n’était qu’un petit pourcentage de nos testeurs, ils l’aimaient vraiment beaucoup.

Mais finalement on a laissé tomber ces fins alternatives. En partie parce que ça représentait beaucoup de travail pour peu de résultats. Mais aussi en partie parce qu’en dehors de ces deux fins, on avait un peu surestimé combien de fausses fins vraiment bonnes on pourrait arriver à imaginer.

Lors de la conception d’un projet, tout le monde va avoir des petites idées. C’est important de pouvoir expérimenter et tester ces idées et ces nouveaux concepts. Mais s’ils ne fonctionnent pas vraiment, ou pas aussi bien qu’on l’avait imaginé, c’est important de savoir abandonner ses idées. C’est difficile à faire, que ce soit parce que c’était une idée qui nous tenait personnellement à coeur, ou parce qu’on a passé beaucoup de temps à l’implémenter pour la tester. Mais il est toujours préférable d’avoir un produit avec une seule grande direction, plutôt que pleins de bonnes petites idées dispersées.

HTML5 n’a pas besoin d’être meilleur

J’ai l’impression qu’il existe un sentiment assez étrange parmi certains développeurs qui ont passé les 10 dernières années à travailler sous Flash. Pour eux, HTML5 fait pâle figure comparé à tout ce qu’offre Flash. Pour eux, HTML5 est une véritable régression.

Je pense que HTML5 n’a pas besoin d’être meilleur que Flash sur tous les points pour le remplacer.

C’est assez courant dans le milieu high-tech. Une technologie supplante une autre, sans pour autant être meilleure sur tous les points. Pensez par exemple à la qualité audio médiocre d’un MP3 par rapport à celle d’un CD audio. Ça m’a particulièrement marqué il y a quelques années quand j’ai écouté en voiture l’album Illinoise de Sufjan Stevens, que je connaissais par coeur pour l’avoir écouté des centaines de fois sur mon ordinateur ou mon iPod. J’avais l’impression de redécouvrir l’album, et d’entendre clairement des instruments que je n’avais jamais entendu auparavant. Pourtant, à choisir, je préfère largement la flexibilité d’un fichier numérique à un CD audio.

Ce qui compte ce n’est pas forcément la technologie pour la technologie, mais la réponse qu’elle apporte aux besoins des vrais gens. Quand on s’en tient à certains points, HTML5 n’arrive pas à la cheville de Flash. Flash dispose de solides frameworks et environnements de travail (FlashDevelop, Adobe Flash IDE, Flex). Les dernières versions de Flash utilisent ActionScript 3, un langage puissant et orienté objet. Flash permets de faire des démos impressionnantes en 3D. Et jusqu’à il n’y a pas si longtemps, Adobe s’assurait de la gestion de la compatibilité entre appareils et navigateurs via son plugin Flash Player.

Mais ces points sont surtout importants pour les développeurs. Mais Monsieur Tout le monde, lui, s’en fiche pas mal de tout ça, de la même manière qu’il s’en fiche de la qualité absolue de la musique qu’il écoute. Sur Internet, je pense que l’accessibilité d’un site, la compatibilité entre appareils et navigateurs, la visibilité par des moteurs de recherche et la vitesse de chargement sont plus importants pour un utilisateur que des effets technologiques en-veux-tu en-voilà. S’il faut que ça passe par des publicités ou des démos interactives moins tape à l’oeil en HTML5 plutôt qu’en Flash, je pense que l’utilisateur final sera gagnant.

Nous sommes dans une période transitoire où les mêmes développeurs, les mêmes créatifs, les mêmes agences essaient de reproduire en HTML5 ce qu’ils avaient l’habitude de faire en Flash. C’est évidemment une erreur. Mais si ces agences essaient de comprendre ce qu’est le web, ce qu’est HTML5, ils arriveront à faire des sites meilleurs.

 

« Vague, mais excitant »

Vu via Hacker News sur le site du CERN : « La proposition de Tim Berner’s Lee« .

En Mars 1989, Tim Berners-Lee a soumis une proposition pour un système de gestion de l’information à son chef, Mike Sendall. « Vague, mais excitant » étaient les mots que Sendall a écrit sur la proposition, permettant à Berners-Lee de continuer.

"Vague, mais excitant"

Au fait, saviez-vous que bien qu’élaboré au sein des laboratoires Suisse du CERN, techniquement, le web a été inventé en France ?

 

Entretien d’embauche

Recrutement dans une agence web Flash

Basé sur cette B.D. de Cyanide & Happiness et inspiré par ses parodies.

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.