• A few months after Movim 0.9 - Tchouri, here comes a new release of Movim, the decentralized social network! Labeled 0.10, it offers many major improvements both in the project core and in the features offered to end users.

    This new release confirms Movim's position as a serious alternative to other messaging solutions such as Telegram, WhatsApp or Slack. Movim’s goal is to finally deliver a free (as in free speech) communication platform, built with ease-of-use and pleasantness in mind, on top of very reliable standards such as XMPP and Atom, already widely deployed and tested.

    Indeed, instead of creating yet-another closed network as many other projects (whether free or not) have done before, Movim uses the XMPP protocol and actively takes part in improving it.

    Articles management

    Articles management has been a bit reworked:

    • you can now assign tags with accents and special chars to your piece of news
    • public articles will be accessible throughout the whole XMPP network, not just the Movim pod where it was published
    • the « News » page now displays latest public articles from the whole network

    Furthermore, tags and comments of deleted articles are now correctly cleaned (on the XMPP network but also in the Movim local cache database). Pictures management inside content of articles was a little bit reworked as well.

    Instant Messaging

    One of the main goals of this new release was to improve user experience and add some new features to the IM side of the project.

    Last Message Correction

    In this release, Movim implements XEP-0308 : Last Message Correction allowing users to correct the previous message using the ↑ key. This modification is compatible with many clients such as Conversations or Gajim.

    Stickers!

    Stickers support has been added to the project once again via the extension XMPP XEP-0231 : Bits of Binary allowing Movim users to send stickers to other clients such as Pidgin or Gajim.

    To celebrate this new feature, two sets of Creative Commons-licensed stickers have been created exclusively for the project.

    A racoon-themed set of 16 stickers drawn by Corine Tea (CC BY-SA), and a ZeMarmot movie set of 10 stickers drawn by Aryeom Han (CC BY-SA 4.0).

    The idea with these sets is to promote projects that share our values while offering people to use and share nice free stickers with their contacts.

    Thanks to the artists for their work! If you want to add your own stickers to the project, do not hesitate to contact us (room: movim@conference.movim.eu). :)

    And many other things...

    Along with the small user interface fixes and other user experience tweaks, some other changes have also been introduced.

    You can now edit the chat rooms configuration after adding them. You are also notified of new messages published in those chat rooms.

    Some new emojis have been added to the existing ones ;)

    A new algorithm for displaying chat bubbles now allows us to save some space by grouping messages sent by the same person within the same minute.

    Elsewhere in the project

    A new version of the Android client (available in the Playstore and in F-Droid) has been released following a redo of the notification system.

    The desktop client, based on Electron, has also been released in a new version. For now, it has only been packaged for Debian and Ubuntu, but we welcome all packaging effort for any other distributions or OS.

    More generally, the whole project interface has been through a redo to be correctly displayed on small screen.

    Be also advised that all Movim clients can be configured to work with non-official project instances. It means that if you set up your project's own instance (or pod), you'll be able to add it manually through the client loading screen.

    Global search

    In one click or using the Ctrl M shortcut you can now launch the new global search panel. It will allow you to search instantly through your articles and contacts.

    This version has been named after this new feature; Holmes is indeed the family name of a respectable private eye but also the name of one of our solar system comet.

    Languages

    Thanks again to all the translators who have done some incredible work translating Movim to so many languages. The project is now (almost) completely translated to French, Polish, Danish, German, Spanish, Chinese, Dutch, Portuguese, Hebrew, Czech, Italian… and many other!

    Don't hesistate to come and help us on the translating tool Transifex ;)

    Performances, stability and memory

    Many improvements have been brought to the daemon which was introduced in the last version. It comes with improved performances but more importantly a noticeable decrease of memory consumption thanks to the sharing of some librairies between subprocesses (with a gain of more than 5Mo per session!).

    An important bug concerning Websockets handling which often led to an early shutdown of the session has been fixed. If you use Movim daily, this session can now stay open for several days or weeks!

    Interface and administration

    Administrators can now specify their own XMPP server when signin up into their instance. This is also part of the will of not limiting users wishing to set up their own instances without depending on the official servers.

    More generally, some parts (like story heads and lists) of the interface have been reworked to make browsing through Movim easier. The same has been done for the article style which now offers a better rendering of some HTML tags (like paragraphs, titles, quotes, or code extracts).

    File upload

    Some small improvements have been brought to the file uploading functionnality (which again is based on XMPP, XEP-0363: HTTP File Upload).

    Upload errors are now clearer and big images are resized and compressed on the fly.

    In short

    Initially thought as a minor update of the 0.9 version which had introduced an important rework, this release has finally turned into its own version: the 0.10.

    The heart of the project can now be considered as stable (even if there is still changes down the hill to optimize and improve Movim). Future versions will most likely look like this one in terms of content: better integration of the existing in the user environments, new functionalities which will complete the existing ones and better overall coherence.

    What's coming in Movim 0.11

    The project is still going strong, and the main lines of the futur version are already shaping up.

    One of the key feature of this version will be the improvement of information sharing inside Movim but also with its environment. For example, we plan to allow article sharing with contacts and chat room invites in only a few clicks.

    This version also marks the big return of Jingle in the project (which had dispappeared some versions ago following troubles concerning support and stability). Audio calls will most likely be implemented first. Some tests are also planned for the Android app.

    Integration with desktops client for Windows and MacOS will also among our development efforts. The main idea behind that being to be able to be present on a maximum of OS with large audience.

    Other surprises will also be coming in this new version. We'll tell you more in a coming article, stay tuned ;)

    Thanks to jaes, Christine Ho and all the other translators of this releasenote. The original article in French was published on LinuxFr.org!

  • Read more 0 0

  • After one year and three months of waiting, here is (at last) the new version of Movim. Before going into details, here are some reminders about the project.

    The architecture of Movim is unique in its own style. It's an XMPP client that's able to manage many simultaneous sessions, but also a web application that's deployable on a server and can be used in browsers and on mobiles.

    Movim logo

    Although it's defined as a social network, it may be better to see it as a new tool that mixes the social and Instant Message functionalities of XMPP, and is fully compliant with XMPP messaging standards.

    In fact, Movim isn't a network itself (unlike Facebook, Diaspora, WhatsApp). One of the project's goal is to show that it's perfectly possible to use a standard and unique protocol (which create a communication network by itself) and allow the users and administrators to have the choice of the tools (clients and servers) to interact with it.

    Even if the version number isn't a major one, version 0.9 of the project is a real step forward in the architecture; the interface, and the features. The core of the project is now mature and from now on, will allow contributors to build and complete the missing features.

    Movim chat interface

    A new visual identitiy

    This new version allowed us to totally rethink the User Interface of the project. The new UI is now strongly inspired by the Google Material Design graphical codes. We have worked on three main topics for this new release : simplicity, integration and lightness.

    This is a challenge we gave ourselves: how shall we integrate all these functionalities in a nice and unified interface, which scales to all screens sizes?

    First, we chose to use a three columns layout on (almost) all the pages of the project. We then based our approach on Material Design which orders information in the smartest way possible, while guaranteeing rapid access to functionalities. There's still a lot of possible improvements, but we're pretty satisfied with the result.

    The app is now divided in four pages :

    • News, which groups all publications made on feeds you subscribed to, or contacts you have in your list. Tabs allow to easily filter these publications. It is also on this page, that you can publish a message to your feed; edit it; delete it, and comment on other messages
    • Contacts, where you will find your contacts list, invite new ones, and explore profiles
    • Groups, which allows you to subscribe, create and publish public feeds with all the users who have an XMPP account
    • Chat, where you can chat privately with contacts, or in chat-rooms

    Important work was done on the interface to keep it lightweight and guarantee good performance. A major part of the interface is based on simple HTML5 and CSS3, only a few JavaScript libraries are used and the majority of data processing is done on the server-side. This is particularly enjoyable on smartphone where the app shows very good performance.

    A little daemon driving the machine

    Another major change in this version, is how data is processed in Movim. Older versions used BOSH and parallelized requests sent to the XMPP server. Version 0.9 comes with a daemon which directly connects to an XMPP server using a standard XMPP socket (with a TLS encryption layer). We don't need BOSH anymore!

    This daemon has a particular architecture, such that each user session is in an independent subprocess to avoid crashing the whole platform (in case a single session meets some difficulties or error).

    Related to this, the project's internal XML parser has been rewritten and now works in feed mode (tags are parsed when they come into the socket, avoiding having to wait the entire block reception before parsing it). This little change allowed to strongly enhance performance. Logging in to an account which has 400 contacts takes only a few seconds (approaching performance of native clients such as Pidgin or Gajim).

    The only drawback brought by this architecture is the particularly high memory consumption of the daemon (between 10 and 30 MB per user). A large amount of work has been done to fix memory leaks, and lower and stabilize memory consumption. This could rise to several hundreds of MB during development phases! A substantial amount of work will be done in the coming versions in order to minimize even more of this footprint (the goal of less than 10 MB per session has been set). So far, the first tests done with PHP7 are very encouraging.

    Full of features!

    Beyond these two big steps forward it is a set of new features that have been integrated into the project. Let's review the most important ones.

    New publishing interface

    The posting of articles has been completely reworked and incorporates several new features. The ability to upload an image or file attachment via the XEP-0363: HTTP File Upload; Automatic "cards" if you share a link (like this article for example), and adding tags to your post for easy searching.

    Creating an article on Movim it

    Now, you can also edit the articles you published.

    On the server side, Movim now generates a feed based on your posts, that conforms to the Atom standard.

    Your blog on Movim

    All the articles you publish can be made public and available outside Movim with a single click! Movim creates a public Atom feed which can be shared with anyone. It contains all of the public articles published on your profile or in Groups

    In the settings, you can provide an additional CSS stylesheet to customize the display of your blog (as in this blog). An Atom feed is also created for those who want to add your feed to their news aggregator. Check out the feed of the Official Movim group.

    The writing of articles uses the Markdown format, which makes it possible to use advanced layouts and to include links and images.

    New contact list

    The contact list has been rewritten and now runs on Angular (thank you to Christine Ho for this great work!). Be aware that slowdowns may be experienced by users who possess a rather large contact list (In the hundreds range). Improving this specific performance issue, will be addressed in future releases.

    New chat interface

    Chats now have a dedicated page, and lots of small features were added. For example, we added support for Emoji; the first basic implementation of XEP-0313: Message Archive Management which will be improved in future releases, and the ability to send attachments directly from the interface (as long as your XMPP server supports it). You can also change the subject of your chat room with just a couple of clicks.

    Support for Ad-Hoc Commands

    The support of the Ad-Hoc commands (XEP-0050: Ad-Hoc Commands) is specifically for administrators who wish to manipulate their XMPP server directly from within Movim. You can find it in the action tab of the configuration page.

    XMPP account management

    From the Configuration page, you can now manage your subscriptions to gateways offered by your XMPP server. You can also change your password or permanently delete your account.

    Share web pages on Movim

    One click is all it takes to share all the pages you want to Movim. A Universal Share button is available on the home page of your favorite Pod once you have logged in. This button takes the form of a bookmarklet that you can slip in your browser. Whenever you want to share a page, just click it and Movim does the rest! All you have to do is make a quick comment; add a title, then publish!

    But also…

    The Administration Panel has also been redesigned and streamlined to make life easier for administrators. The generation of the XML parsing process has also been reviewed, to minimize the possibility of malicious code injection.

    Around the project

    Movim v0.9 is not just great news about the code and architecture, but is full of small updates!

    Landing on mobile and desktop applications for the first time

    Movim is available on both Firefox OS and Android! You can download Movim from the Google Play Store; via F-Droid (Android 5.0 minimum), or the Firefox OS Marketplace.

    The mobile chat interface

    Work is also underway to package the project with Electron and deploy a desktop Movim client. The first packages for Debian and Ubuntu are expected in the coming weeks. If you want to give us a hand and help package Movim for your Operating System, please have a look at the GitHub project.

    YunoHost package

    Thanks to the wonderful work of Src386 a Yunohost package is also available for the project. Thanks for your hard work!

    New web site and move to GitHub

    To improve access to the project, we've decided to move it on GitHub where we now have our organization. The official Wiki has also been moved on this platform and is available here.

    Finally, the official website was reworked to better represent the project. Don't hesitate to take a quick look, for a good overview of the current status of the project.

    But It's not over…

    Here is a little preview of what awaits you in version 0.9 of the Movim project. We don't want to rest on our laurels, and good things are being prepared for future releases.

    The version cycle will be considerably reduced. The current version is an exception, due to the fact that the work was particularly difficult. This should explain the long months leading up to its release. The coming versions of the project will be lighter in features and focus on a particular theme.

    To give you a little insight into the next version (which will certainly be a 0.9.1), it will focus on the chat part of the project with the integration of lots of small features and improved user experience.

    The purpose of Movim is not only to provide a new social media client. The main motivation of the project is to integrate seemlessly into our daily lives. To do this we continually reflect on how best to deal with topics such as User Experience; the integration of Industry Standards (at all levels); respect for personal information, and integration of the platform in the users environment and XMPP network.

    The idea behind Movim is choice. Not only letting you choose where you put your information, but also choosing the client (and server) that you use to access it.

    We don't want to lock customers into Movim, but to show how the use of a communication standard (even though it has defects that we're trying to fix) is paramount. To access the network behind Movim (XMPP) there's no API but simple libraries already available in all languages.

    Thanks to everyone for the growing community support of Movim, and to all the people involved :) To help us with building Movim, you can come and help translate the project; you can submit a bug report on GitHub, or come talk to us. We also accept donations via PayPal or Flattr to help us cover our costs (infrastructure; travel; promotional, etc.), you will find links on the official Movim website.

    That’s all folks!

    Thanks to Stroggle, Nÿco, Christine Ho, Alex and TheThinker for the French to English translation. Originally published in French on LinuxFr.org.

  • Read more