Think simple for your web app

Yoan BlancTue, 05 Dec 2006, , ,

Dailymotion, the French “YouTube” is, maybe a great tool but there is one point that they missed, regarding his great brother, YouTube, and his mother-in-law Google Video. Their REST structure. For a little website that loves to publish music, videos about bands, I’ve adapted a little script from del.icio.us to automatically replace a link to a mp3 to the Flash Player and, after that, the same idea was applied for the link to YouTube and Google Video.

Dailymotion hasn’t the cool URI I need to do this. Because you cannot do the match between the url of a page and the url of the Flash Player, so sad.

The lesson of this is, I think, always imagine what kind of application a crazy can do with your application and encourage this. If your application is cool, has a great API that is simple, simple.and simple, a crazy guy will code a Ruby library for it, a Firefox extension, a Wordpress plugin and many more. Keep is stupid simple is, today, a great point.

Offering an API could be seen has a opened hole to abuse. It’s an opened door, the ONLY one, and it's your work to lock this door to the people you cannot trust.

Aujourd’hui, une petit complainte vis-à-vis de Dailymotion, le petit frère français de YouTube. Face à son grand frère et à la mère adoptive de ce dernier, Google Video, le petit français a, à mon avis, raté un point : leurs URI.

Pour un site qui aime communiquer à ses visiteurs des sons et, depuis peu, des vidéos de leurs évènements futurs, j’ai adapté un script de del.icio.us qui remplace un lien sur un fichier mp3 par le lecteur Flash correspondant. Ce script JavaScript remplace également les liens sur YouTube et Google Video par leur player. Malheureusement pour tout le monde, les adresses de DailyMotion d’une page ne permettent pas de déduire l’adresse de l’animation Flash (fichier .swf) donc c'est raté pour faire ça à la volée.

Voici un exemple d’un point qui peut faire le succès ou pas d’une application web. Si elle est suffisamment simple et, à la limite documentée, donc qu’elle offre des outils à ses utilisateurs, il y aura un gars, qui dans son coin, va développer une extension firefox, un plugin wordpress ou je ne sais quoi encore.

Une bonne application doit dire aux développeurs du dimanche, “Voici les outils ! Faitent des trucs cools, on va s’y intéresser, en faire la promotion, faire votre promotion.” Offrir une API n’est pas une faille de sécurité béante dans un système, c’est le seul et unique moyen d’entrée qui va être mis en place pour communiquer avec l’extérieur. Plus de crainte que quelqu’un s’amuse avec les requêtes Ajax de votre site pour semer le trouble, tous (même vous) utilisent l’API qui est testée et documentée (des mots-clefs par forcément toujours évidents).