Six months after Movim 0.10 Holmes, here is the new winter release of the Movim project.
Small recap: Movim is a project that aims to build an IM and social networking service exclusively on top of the XMPP protocol.
This 0.11 version refined several features and will introduce a couple of big changes, mainly regarding the navigation and the project UI.
New contacts list
The contacts list (or roster) has always been a very complex element inside Movim. It was ported on Angular 1 a couple of versions ago but suffered since then of performances issues (that could block the page loading for several seconds).
At first startup, Movim is now asking for some browser and account preconfiguration regarding notifications and pop-ups (used for videoconferencing) preferences.
The sharing feature
As promised, articles sharing has been greatly improved in and around the Movim project. It is now possible to share an article (as in "write an article as an answer to") on your own Blog. This feature is based on the IETF — Atom Threading Extensions (RFC 4685) norm. Again, Movim aims at showing that it's possible to build a social solution relying only on existing standards.
Sharing an external link has also been improved. Movim now understands XMPP URIs.
Communities, previously named "groups", are the result of a deep redesign of the way articles are displayed navigated through. The reorganization of the content makes the exploration much easier and natural. This new name also lets Communities clearly stand out from group discussions (chatrooms) and groups in the contacts list.
Communities also benefited of a better management system, for users, but also for administrators who can now assign roles in a more precise way.
All in all, that's a lot of changes but don't worry, Movim will still be compatible with old versions as nothing has changed on the XMPP side. ;)
Two littles features have been added on the articles page to facilitate articles discovery and evaluation. An article is now surrounded by links to the previous and following articles of the same Community or from the same contact and a "Like" button let's you express your contempt to the author of the article. :)
As an author, a new Notifications block on the homepage informs you of comments and likes on your published articles.
The interface redesign also brings new features of content discovery.
Movim now provides readers with related articles published on Blogs or in Communities. Suggestions are so far pretty basic but should get better in the upcoming versions.
The Chat part has not been forgotten. A lot of changes have been done on the interface to ease the navigation on small and big screens (removal of useless spaces) and to fix a few bugs (on Android). A new pack of stickers has been added with a Creative Common BY-SA license.
The file upload and file sharing UI have both been redesigned and now make use of one of the latest XMPP norms, XEP-0385 : Stateless Inline Media Sharing (SIMS). It allows Movim to integrate them better in Chats.
In this version, the videoconferencing feature is coming back in Movim. As usual, nothing but standards here (WebRTC and XMPP Jingle this time). However some bugs still remain. They should all be fixed for the upcoming (0.12) version. This feature is only available for the desktops for now.
Refactoring of the session system
The user sessions management code within Movim was one of the oldest ones in use in the project. It has been heavily redesigned and now brings a new way of handeling cookies and session variables both in memory and in the database.
We now see more and more external contributions on Movim and its linked projects.
Thanks to schlusslicht the Android native file selector has been integrated to the application. You can now upload files from your phone.
A little security update regarding certificates management has been added at the same time (non valid certificates are no longer accepted).
Electron Client (desktop)
The Electron client has been updated. Mike Barnes (bremensaki) has added the support of contextual menus in the interface. Thanks Mike !
New Debian and RPM packages have been made. Movim is now also available on Windows and macOS. All those applications are available on the official website.
Atomtopubsub is the little magic tool that, as its name suggests, parses Atom feeds and injects them on Pubsub nodes. It allows Movim to offer a lot of news feeds among Communities. A big thanks to Link Mauve, who took some time during the 33c3 to port atomtopubsub in Python 3 and to optimize the processing of articles inside the application.
Movim Europe is a structure that provides support for the Movim project. It has been declared in the Netherlands and currently offers two services.
- technical support and advices to deploy the platform (and linked services such as XMPP servers or SQL databases) and/or on the technologies involved in the project;
- the possibility as a company, an association or an individual to fund the development of features that were not initially planned on the roadmap and that are part of a particular need.
The gathered funds will first cover the running costs (domains, hosting, travels...) that were until now payed by the founder, but also to free more time to develop the project and its surroundings (administration, linked projects, conferences...).
Don't hesitate to contact us on the official chatroom.
A few figures
We also have two official servers: one hosted in Amsterdam, with around 4 000 registrations and 50 connected people, and one in Roubaix with 2 800 registered people and around 20 simultaneously connected people.
Everyday, 4 000 messages (simple or from groupchats) are sent or received, and around twenty articles are written by the users of nl.movim.eu.
Statistics that are (voluntarily) sent on api.movim.eu by the deployed instances are showing a total of 8 000 registered users and around 250 simultaneously connected ones along the day. The XMPP server movim.eu reaches 300 connected people during the day.
Some plans are made to open new servers both in Australia and in Russia.
A new roadmap is also planned for the 0.12 that should be released this summer. Two main changes are planned:
- Movim has a heavy memory consumption, it can reach 50 Mio for some users connected on a server. This problem is not due to memory leaks but to architectural decisions that are duplicating for each session some parts of the Movim code in memory. A huge change on this subject is planned, that should significantly reduce the memory footprint during runtime.
- An implementation of the OMEMO protocol has been strongly demanded by the community. A preliminary research work has been done in January and it seems that this end-to-end encryption protocol could be implemented in Movim. A publication about this feature will most probably be released in the next few months.
We need you!
Don't forget, the Movim project needs you! As a source code contributor, but also as an administrator, packager, translator or even a drawer (if you want to add your own stickers to Movim!).
All contributions are welcome, so don't hesitate to come and discuss them with us on email@example.com. :)
That’s all folks!
Translated from the original French article by nodpounod - Christine HO & daftaupe - Pierre-Alain TORET