What’s new about decentralized social networks ?

Decentralized/distributed social networks are still highly active. Here are some news of the ones I follow :


Latest Javascript and Node.js trends

RailwayJS  is a nice framework built on the same principle as Rails. It is built on top of express JS : it looks easy to learn and provides a lot of helpers (localization, caching…) to build a solid web application. There is a small bad point : the ORM/ODM, called JugglingBD is weird because it claims to be able to manage both relational DB and non-relational DB.  The good fact is that it allows to do some validations on the model fields and have functions to set actions before and after an operation is done on models. Railways allows to do scaffolding, that means he prebuilt your resources and your routes supposing you will do CRUD operations on a given entity kind. Finally Railways looks like a good framework to start a web app with Node.js but don’t use it if you want to develop a small and lightweight application (there are a lot of unuseful features in this case).

Iced Coffee script is a language built on top coffee script. In fact it is the same language with some nice features added. As you know, Javascript relies a lot on callback/closures. So, notably with node.js, your code can become unreadable due to the number of nested callback. Iced allow to write asynchronous code in a synchronous way without breaking the asynchronous feature. Here is an example :

  await $.getJSON url, defer json
  cb json.results

instead of :

  $.getJSON url, (json) ->
    cb json.results

Iced brings other helpers to deal cleanly with simultaneous asynchronous calls.

Brunch framework is the must have to write browser client side of web applications. It offers all the tools needed to make good developments without dumb constraints. But beware, this great tool is not fully functional yet. I have already written about this subject but things look to progress well.

Mocha is a test framework which attracts me a lot. He has two qualities : he offers a very simple way to deal with asynchronous methods testing and it runs both in the browser and in node.js. Before that I used Jasmine for the browser and Vows for the backend. But Jasmine is only for the browser (or hard to make it works on the backend) and Vows is not easy to use at all. Another good point is that it will be integrated soon to Brunch. So if I should start a project now, I will definitely go for Mocha, even if it is not as mature as the one quoted above.

Ember.js isanother MVC framework for client side. I did not use it but it looks good and more complete than Backbone. It looks more like a true Model View Controller than Backbone. It offers notably better binding between views and models. Unfortunately it is not integrated into Brunch, so if I should start a new application, I won’t use it. But let’s keep an eye on it, it could become quickly the new JS MVC king.

My first time at FOSDEM

Two weeks ago, I didn’t know what was the FOSDEM. After someone explained to me that it is one of the biggest event about Free and Open Source softwares and after receiving a car sharing proposal to go there, I decided to come to this festival.

First, car sharing was definitely a great thing because it allowed me to have two times a three hours discussion with peoples who share same interests as mine. After that, a beer event and a good night, I finally arrived at FOSDEM and was pleased to see that free softwares can attract so many people. Then I discovered the huge list of available conferences on eclectic themes : from virtualization to legal issues while going through communication protocols and dozens of other subjects. I noticed that a lot of Linux distributions were present and tried to sell their tee shirts. Mozilla, XMPP crew, PostgreSQL and Perl were very visible too. Another part was dedicated to open hardware I did not spend a long time here. I just had fun looking at Maker Bot and Enlightenment for tablets.

Of course, I was mostly interested in self hosting technologies. I was quite surprised and happy to see that XMPP had a conference dedicated to it. Goffi, the author of SàT, a social tool based on XMPP, had a talk about what he does. What I liked the most is that he emphasizes the fact that web apps need mutliple UI :  command line, text, browser… and show us how SàT facilitate the development of them for its plugins. I also had a good conversation about SàT and Newebe with him. Unhosted was there too but making contact was harder, I did not find the right thing to say to catch the interest of Michiel de Jong. I was also a little bit sad because I did not see something really new in what they said. Whatever they had nice stickers ;). About decentralization, another good fact was the Bedale Garbee talked about Freedom Box. The conference room was full and everybody was really interested in what he said. Unfortunately there were not real new things, just some hints on what they build : maybe some XMPP inside and an hardware recommandations for the dreamplug (they are trying to make the hardware base software GPL compliant). I also met some friends from the university that I didn’t see for several years. It was good to know that they were free softwares supporters and that they already self-host some of their tools !