Tag - desktop

Entries feed - Comments feed

Last entries

Tue 16 Feb 2016

Open-source alternative to Trello: does it exist? Can we make it better?

I am a daily user of Trello, the visual online service to organize cards into lists. Trello is a very simple but neatly found idea: you use cards organized into lists to represent your things (e.g. to-do lists) and, more importantly, you re-organize them as you wish: moving cards, moving lists, putting colored labels, comments, due date, or check-lists on cards, ... That way, you can represent about any system and update it status very easily and visually. Trello has also filtering capabilities and, last but not least, collaborative capabilities by sharing boards of cards. Trello is visual, simple to use. You can organize both your private and professional life with it: bug tracker, to-do list, project management, holidays planning, etc. Trello is great!

Well, nearly. Trello has a big drawback: it is a proprietary product.

So, can we find an open-source alternative to Trello?

Looking for open-source Trello-like application

A friend of mine recommended me to look at AlternativeTo's suggested application for Trello. The listed applications can be classified in four categories:

  • Bug trackers and project management tools (Trac, Tuleap Open ALM, ...);
  • Kanban-like boards for Agile project management (Kanboard, TaskBoard, ...);
  • Some strange-application-in-that-category like Loomio, Agenda or ERPAL;
  • Two Trello-like applications: Restyaboard and Wekan!

Restyboard and Wekan are very similar, i.e. a very early prototype of Trello. You can create lists and cards, move them, add labels and do some filtering, share boards... and that's all! Moreover Restyboard is very slow and uneasy. So if you want a basic Trello-like open-source alternative to Trello, use Wekan.

But if you want the full power of Trello, you won't find any open-source alternative.

So we need to build it. :-)

Designing a better Free Software alternative to Trello

So, how could we improve Trello?

Firstly, take all the basics of Trello: lists, cards, due dates, filters, check-lists, board sharing, etc. Maybe some goodies like badges are not needed, but the core of our Free Software Trello should be very close to the current proprietary Trello.

Second step: make it real desktop application (and mobile App), not an online service. Why? Because in a post-Snowden era, you cannot trust any online server, not in the US, not in Europe, not even your own lovely-administrated-server. So edit your data locally, encrypt it and then upload it for sharing. For a local application, you can create a real desktop application, or a web application. The second one might be easier to create and is in the mainstream, but even if web-based application can be very powerful, there always are strange UI issues, like application "windows" not interacting similarly to your other desktop windows. So I vote for the real application.

Third step: add sharing capabilities. Data should be uploaded in encrypted form. On the server, you need a minimal platform to store pieces of data, maybe with some PHP to maximize hosting ability. That step might be a bit tricky: you need some crypto power, be astute and not re-invent the wheel (or you won't have any security) to be able to share data while keeping that data encrypted on server. But there is always a lot of fun in a technical challenge! :-) And other people are looking at this issue, like Mozilla's Firefox Sync.

Fourth step: add 2D capabilities. I always found Trello frustrating regarding list organization: I can put lists in column, but I cannot organize lists in two dimensions, as on a table. Sometimes lists are very short: I would like to group them together, one above the other. Trello does not allow that.

Fifth but not least step: add programming capabilities. You want to automatically move cards when a certain label is put on them? You want to create a card when an email is received? Take you favorite programming language (OCaml, Lua, Ruby, ...), use the API and program the behavior your want. Even better, publish the recipe online, in a public repository, that way other people can reuse your nice Agile Project Management Tool Manipulated With Only Five Keystrokes™.

With all of that, I think we'll have a better Free Software alternative to Trello.

By the way I propose its name, Tibett: Tibett is better than Trello and because with Tibbet you can go to high heights. :)

What do you think of it? Would you have other improvements to Trello?

Tue 24 Aug 2010

La fin du bureau ?

Un aspect social du bureau (licence CC-BY) On parle de plus en plus de la fin du bureau, du desktop, au profit d'« applications » web. Tristan Nitot se pose par exemple la question de l'avenir de Linux sur le poste de travail. Même les développeurs Gnome s'y mettent, comme Luis Villa demandant à la communauté Gnome de prendre à bras le corps le web (« to embrace the web »). Et bien sûr lil faut compter sur Google qui, de Google Chrome à Google Docs, vise à fournir tous les outils et applications pour laisser nos informations dans le nuage (c.-à-d. sur les serveurs de Google), loin de nos PC de bureau et nos portables.

Est-ce que l'avenir du PC et de ses applications est définitivement compromis ?

Certes, les applications web sont très pratiques. Gros utilisateur du webmail, j'apprécie sa disponibilité en toute situation, sur n'importe quelle machine pourvue d'un accès Internet et d'un navigateur. Et l'aspect centralisé des applications web est appréciable lorsqu'on utilise plusieurs machines, dans différents endroits. Enfin et peut-être surtout, l'aspect « social » des applications web peut être vraiment utile. Trouver la réponse à un problème technique dans un forum sur Internet est inappréciable et m'a sauvé plusieurs fois de plusieurs heures de recherches fastidieuses. Par ailleurs, les applications web sont faciles à déployer. Tout le monde à un navigateur sur son poste de travail, chez soi ou au travail. Et en tant qu'informaticien, il devient plus facile de déployer une nouvelle version de l'application.

Pour autant les applications web sont loin d'êtres parfaites et posent même de sérieux problèmes.

En premier lieu et probablement le plus important, nous perdons le contrôle sur nos données. En tant que Libriste convaincu, cela m'inquiète de laisser mes données chez Google ou Yahoo!. Je ne sais pas comment ses données personnelles sont stockées, qui peut y accéder ou même leur pérennité.

En second, les interfaces web sont très pauvres, malgré les progrès indéniables du Web 2.0 et des technologies AJAX. Google, expert et leader en ce domaine, arrive péniblement à finaliser le Glisser-Déplacer dans les dernières versions de GMail, alors que cela existe depuis des (dizaines d' ?) années sur les applications de bureau. Et quel que soit les efforts de programmation, la latence réseau sera toujours là, ralentissant l'interface au point de la rendre malcommode voire inutilisable. Sans compter que le réseau même doit être disponible en permanence, ce qui réduit d'autant la disponibilité des applications.

Alors, quel avenir pour le bureau et ses applications ? Je pense que le bureau n'est pas mort, que ce soit sur un PC de bureau, un ordinateur portable ou un téléphone portable. Par contre, les framework de développements doivent évoluer, prenant en compte dès le départ le réseau et la distribution des données. Pour reprendre un vieux slogan publicitaire de SUN, « the network is the computer » (le réseau est l'ordinateur).

Ces frameworks doivent fournir un moyen simple pour une application de stocker des données sur un ou plusieurs ordinateurs distants, de manière centralisée ou distribuée, et ce de manière sécurisée et authentifiée. Par exemple chaque utilisateur d'application devrait pouvoir facilement mettre en place un serveur pour stocker ses données ou répartir ses données entre plusieurs ordinateurs avec des protocoles Peer to Peer (P2P). La confidentialité des données doit être prise en compte dès le départ, que ce soit sur le bureau de l'ordinateur ou un serveur distant. Les frameworks doivent également fournir des API simples permettant de gérer les problèmes de latence d'un réseau sans que le programmeur soit un expert en réseau et en comprenne toutes les implications. La technologie d'appel de procédures à distance des années 80, les fameux RPC (Remote Procedure Call), encore utilisées dans les applications AJAX avec les XML RPC sont trop limités. D'autres paradigmes doivent être utilisés. Et bien sûr des API doivent être fournis pour développer facilement des applications « sociales » où l'ont peut partager facilement des données avec des autres utilisateurs sur la planète.

En bref, il va falloir inventer le meilleur des deux mondes. Mais un monde où l'utilisateur, le citoyen, garde le contrôle sur ses données. Comme le dit Philippe Meyer, « le progrès est en marche et le futur ne manque pas d'avenir ! » :-)

Correction 2010-08-24 : s/Christian/Tristan/. Merci Thomas ! ;-)