:-y

Ma vision du KISS pour KrISS feed

lundi 02 juillet 2012 - 18:53

La première fois que j'ai entendu parlé du principe KISS, c'était en lisant les discussions du projet shaarli de Sebsauvage.

Si l'acronyme peut vouloir dire beaucoup de choses, la notion qui se cache derrière est tout à fait simple et compréhensible. Je pense aussi que cette notion est relative. Je vous avais parlé de Leed annoncé comme KISS et que j'avais envisagé pour me passer de Google Reader. Leed utilisait SQLite (maintenant MySQL) et pour moi, ce n'était pas suffisamment KISS.

Je suis plutôt d'accord avec la définition du principe KISS de Idleman et des commentaires qui complètent sa définition. Je vais quand même vous donner ma vision du KISS pour kriss feed et ne je ne vais donc pas vous parler des nouvelles fonctionnalités (même si j'ai corrigé la lecture de certains flux qui définissent les namespaces dans chaque balise plutôt que dans la balise racine, et si j'ai amélioré certains comportements concernant la mise à jour en mode show et le fait de ne plus avoir à appuyer deux fois sur 'n' quand de nouveaux articles apparaissent) :

- pour les utilisateurs finaux, je compte laisser un unique fichier à télécharger car je pense que c'est le plus simple et qu'il n'y a pas besoin que ce soit plus compliqué ;

- pour la partie développement, j'ai ajouté sur github le dossier contenant les sources qui permettent de maintenir kriss feed beaucoup plus facilement. J'ai utilisé les standards Symfony et Zend que j'ai fait valider grâce à phpcs (il faut ajouter le standard Symfony qui n'y est pas par défaut). J'ai commenté les sources afin de générer une petite documentation et ajouté un script bash permettant de compiler le fichier index.php pour les utilisateur finaux (les commentaires DocBlock sont supprimés n'étant pas vraiment utiles pour les utilisateurs finaux).

Le principe KISS n'est pas forcément simple et immédiat à mettre en place. Quand j'ai repris le code de picoblog, je voulais utiliser le même principe KISS. Je vous ai parlé du problème que j'ai rencontré quand ma session s'était terminée pendant l'édition d'un article et que j'avais de ce fait perdu mon article. Pour corriger ce problème, j'ai pensé dans un premier temps que la bonne solution était d'utiliser un peu de javascript. À l'utilisation, ce n'est pas très pratique et après réflexion, je me suis dit qu'il fallait que j'envisage d'utiliser les session php qui permettrait de rendre tout ceci invisible à l'utilisateur et donc beaucoup plus pratique.

Tout ça pour dire que la simple volonté de programmer KISS n'est pas suffisante pour rendre un projet vraiment KISS et c'est pourquoi, il ne faut pas avoir peur de reconsidérer le code encore et encore et encore et encore :

<blockquote>But don't be afraid of refactor your code over and over and over and over again.</blockquote>

Comments

1 - @ - Bronco

Comme toi, je cherchais des alternatives à Netvibes/Google reader etc... sans en trouver de bien...
J'aimais vraiment la présentation en widgets de netvibes, mais quelle usine à gaz! (ça te mange la ram, te dévore le proc... grrr) Autant de ressources pour suivre simplement ses feeds favoris...

Quitte à me passer de la vue en widgets, je me suis dit, autant aller carrément à l'essentiel... Mais je ne trouvais jamais assez KISS.
J'ai un moment envisagé de me faire mon propre netvibes (je commençais d'ailleurs a en avoir une version assez avancée) mais ça me prenait trop de temps...

Après avoir lu tes articles sur ton lecteur de flux, franchement, c'est exactement ce qu'il me fallait: l'essentiel en un seul fichier...

J'ai ce même soucis de simplicité d'emploi dans les petits outils sans prétention que j'ai mis en ligne sur mon site... faire simplement un truc embêtant à mettre en place habituellement.

Je vais donc jeter un oeil attentif et alléché sur tes sources ! (tu me permets de me faire un chti fork perso au cas où ?)

A+ et continue ton boulot et tes articles: le contenu est excellent et le ton est souvent jouissif ^^

2 - @ - Tontof

Je suis également assez difficile ^^ et sur une vieille machine, ce n'est pas facile de trouver des trucs qui tournent bien. Avec KrISS feed je n'ai plus aucun soucis pour lire mes flux rapidement. Bon par contre je suis toujours en mode show/expanded et du coup les autres modes sont bien moins aboutis.

N'hésite donc pas à forker et te plaindre pour encore améliorer la bête :-)
New comment







           __            
|  | \  / /  \   /    /  
\__/  \/  \__/  /    /   
   |  /\  /  \ /_|_ /_|_ 
\__/ /  \ \__/   |    |