Globalement d'accord avec l'article
quelques ajouts:
- visiblement, Free compte sur l'ouverture de la box aux développeurs tiers. Une réponse dans le group de discussion d'elixir montre que Free compte intégrer cette possibilité dans la future box (la freebox v6).
- Le véritable lancement du SDK se fera probablement quand le 'FreeStore' ouvrira ses portes. En attendant, le SDK est plus là pour laisser les dévs. se faire la main que pour réellement coder des applications ayant un gros intérêt. Quelques arguments:
* tant qu'on n'a pas de FreeStore, il n'y a aucun moyen de protéger son code source. Donc un développeur qui ne compte développer en 'closed source' n'a aucun moyen de la faire. Ca en rebutera probablement plus d'un.
* les fonctionnalités 'réseau' du SDK (HTTP, TCP, UDP) sont disponibles dans le SDK mais désactivées actuellement sur la Freebox HD. Il est donc impossible de faire la moindre application réseau (comme un jeux multijoueurs en réseau ou même une simple application qui va récupérer la météo ou le trafic). Les applications actuellement codables sont donc vouées pour le moment à s'exécuter en complète autarcie. Et amha, les applis les plus intéressantes seront celles qui tireront partie des fonctionnalités réseau.
* pour le moment, aucune possibilité d'inclure des flux vidéos dans un programme, comme on peut le faire avec les télésites par exemple ; ça semble être une demande récurrente, pour par exemple espérer faire une sorte de 'sur-interface' au dessus du monde 'TV' (un tivio-like)
Quelques autres fonctionnalités non disponibles à ce jour me semblent capitales pour que le SDK permette de vraiment coder des applications intéressantes:
- la possibilité de programmer des sortes de 'widgets' qui pourraient s'afficher au dessus de la chaîne TV qu'on est en train de regarder, un peu à l'image des 'gadgets' de windows Vista ou Seven qu'on peut placer sur le bureau. Leur facilité d'accès (genre un appui long sur une touche de la télécommande) serait également indispensable. C'est la condition sine-qua-non pour voir émerger tout un tas de mini-applications d'informations (RSS reader, client mail, bourse, météo, trafic, ...).
- la possibilité pour l'utilisateur de se constituer sa propre liste de programmes préférés et de pouvoir y accéder très rapidement (plutôt que passer par le bouton 'Free', puis 'jeux', puis ceci-cela). Un appui long sur une touche de la télécommande pour avoir quelque chose d'équivalent à la liste de chaînes TV, mais pour les programmes serait idéale.
Mon ressenti actuel:
Globalement, tout ça va dans le bon sens. Je ne peux qu'applaudir l'initiative de Free, étant un des premiers à réclamer une telle ouverture de la box.
Pour les - :
- le SDK en est vraiment encore à l'état d'ébauche, beaucoup de choses ne sont pas encore finalisées et si le SDK reste en l'état (ce que je ne crois pas), son utilité est très faible. Idem pour la documentation plus que succinte (les demandes de tuto pour l'installation en témoignent). Bref, Free reste fidèle à sa réputation sur ce coup là : lancer un service encore au stade de l'alpha à peine utilisable ; les utilisateurs (ici les dévs.) servant de beta testeurs au fur et à mesure qu'on avance dans le développement.
- le binding en Javascript n'est vraiment pas heureux pour les performances. Même si je comprends tout à fait ce choix pour le souci de contrôler la sécurité de la box, quelques tests persos montrent que la faible puissance de la box (processeur équivalent à un Pentium 60MHz) combiné à un langage interprété donnent vraiment peu de puissance libre au développeur.
Alors certes, tant qu'on reste dans les 'clous' des fonctions du binding EFL (les applications d'information (widgets, ...) s'en satisferont), ça fonctionne pas trop mal ; mais dès que l'application a besoin de faire un minimum de traitement 'lourd' en temps réel codé par le développeur lui-même (pathfinding dans un jeu, moteur réseau ou physique, ...), le processeur est tout de suite à genoux.
Peut-être aurait-il été plus judicieux de choisir une autre façon de construire une sandbox pour les applications tout en laissant la possibilité de développer en natif (C cross-compilé). Linux, sur lequel est basé la box, n'est pourtant pas avare en fonctionnalités de ce côté là (chroot, user nobody, etc...). Et même si ça pouvait faire peur à Free au départ, nul doute que ça aurait décuplé les possibilités.
Pour les +:
- Je dirais qu'il semble que Free soit réellement à l'écoute des désiratas des développeurs et aie une vraie volonté d'avancer vite et dans le bon sens pour que le SDK. Le fait qu'il soit prévu de continuer ce genre de service sur les prochaines box en est le meilleur garant. Espérons d'ailleurs que la prochaine box soit largement plus puissante au niveau CPU.
- A défaut de pouvoir tirer la quintessence de la puissance de la box pour faire par exemple des jeux d'action avec scrolling, physique, réseau temps-réel, le SDK (quand le réseau sera activé) permet d'ores et déjà de faire tout une catégorie d'applications: rss reader, widgets d'information, jeux en tour par tour simples, ...
- C'est quand même la première fois qu'en tant que dév. on peut faire du client lourd sur une box ADSL déjà installée dans près de 4 millions de foyers. Et ça c'est pas anodin.