close
  • Mo chevron_right

    Movim 0.15 – Donati

    Timothée Jaussoin – pubsub.movim.eu / Movim – Sunday, 28 July - 12:59

After months of work, Movim 0.15 is finally out!

This version was planned as a 0.14.2 but was finally retagged as a major release regarding the number of changes, improvements and new features introduced. This #release note will also sum up the changes introduced in the minor 0.14.1 version.

So what's new in Movim?

User features

Local nicknames

In the configuration panel you can now set a local nickname, this allows you to shorten the identifier you are using on your current pod and gives you a nice looking url for your blog (https://nl.movim.eu/?blog/edhelas%40movim.eu/ becomes https://nl.movim.eu/?blog/edhelas).

Chats reactions

In one-to-one chats and chatrooms you can add and remove #reactions to your contacts messages. A first implementation was using the Message Attaching XMPP extension. During the Lyon XMPP Sprint, the feature was refactored to implement the incoming XEP - Message Reactions. During this sprint we also worked with the #Dino and #Poezio developers to make the feature fully compatible with their clients.

Chat reactions

Publication sharing

You can now easily share any article found in Movim inside a conversation by clicking on the send button just bellow the article.

This uses the References XMPP extension.

Publication sharing

Snap!

Do you want to quickly snap a picture and directly send it to a friend in a discussion or in an article? The new #Snap feature allows you to do that from any devices. Switch between your different cameras, shoot and send. It's that easy!

The Android application has been updated as well to integrate this feature properly.

Small improvements

  • You can now slide a one to one discussion to close it quickly, just like the Conversations client allows you to.
  • Search navigation has been improved, there is no page reload anymore to open a new discussion from the Search panel.
  • The Community page was fully redesigned to be snappier and propose contents that might interest you.
  • The UI now handles small disconnections way better . The conversations are not fully reloaded anymore when the connection is brought back.
  • In the configuration you can now define the Chat page as the default one to open when launching Movim, this is quite useful on mobile.

Fixes, fixes, many fixes

Lots of small things were fixed here and there.

  • The chat notifications counter was fully refactored to prevent some counter issues, each message is now independently checked as read (or not) in the database
  • The composing/paused chat state are now handled more properly in Movim. Those states are also displayed during chatrooms discussions. This fixes a 3 years old ticket.
  • Websockets are now reconnected properly if the browser is doing some intensive throttling, this was especially the case on Chrome on mobile devices.

Architecture and technical changes

From ZeroMQ to Websockets

One of the biggest changes technically wise was the replacement of #ZeroMQ sockets with WebSockets. This technology was used internally for the inter-processes communications. In the end this replacement allows us to become independent from the php-zmq library without any noticeable performance impact.

This simplifies even more the deployment of Movim and helps with the packaging of the project.

New base web server directory

For the administrators, please notice that the main file, index.php is not at the root of the project anymore but in the public/ directory (as well as many other files). These small changes allow the Web server to expose only the public files without extra configuration. So please point your root repository to that public subfolder.

This change was about securing the basic setup by default .

SQLite support removed

The #SQLite support, introduced in the version 0.14, has been removed for now. We had lots of issues to maintain consistency and fix our migrations for that specific database.

Some work has been done on the Eloquent library to fix some of those migrations issues upstream but it is too early to have something sufficient to bring back SQLite support in Movim.

You can still fully use Movim with #MySQL and #PostgreSQL.

What's next?

Movim has now reached a stable state, both UX/UI wise as architecturally wise.

There is still a lot of improvements to do, especially regarding the integration between the social network part and the chat part. Plus, we are always interested to hear about new ideas or improvement suggestions!

For the 0.16 version we are planning to improve video-conferencing and bring it properly for the mobile devices. Some work is also planned to improve the Communities navigation.

We need your help

To continue developing and hosting our infrastructure and to support the project we would be really pleased to cover our monthly expenses, it's not much.

We already have a few hundreds users connected daily on our main servers. If each of them could give a few euros per month it would easily allow us to reach that goal.

You can help us by giving monthly on our official Patreon page or by using Paypal.

  • movim/movim

    Movim - Decentralized social platform. Contribute to movim/movim development by creating an account on GitHub.

  • image
  • favorite

    9 Like

    Tom Teichler , Marzanna , Odysseus Libre , debacle , m4rk , Nicolas Vérité , Adrien Dorsaz , U , Stanislav Nikitin

  • 1 Comments

  • person

    26 August Guillaume

    Kudos on making an effort on the dependency and the ease of deployment.
    Got a bit surprised with public/ directory during the a manual upgrade.

Rather cool “delete all data from a #PostgreSQL database without dropping the ‘public’ schema and without being a superuser” which I just wrote for ⮡ tarent. Feedback & improvements welcome.

I’ve also got a “delete everything except these two tables, and everything (sequences, constraints, indicēs) belonging to them” version.

These are especially useful in a scenario where you have an application server with one PostgreSQL cluster on it, in which one or multiple databases with just one schema each are configured (the database may also run on a separate VM than the application itself), which is the default setup for most applications using dbconfig-common (Debian), Flyway or Liquibase/DB-Manul, or other (semi‑)automatic schema management (e.g. the one in VerA.web), especially when the DB schema version of the dump is not the same as the DB schema version of where you want to restore it into.

Vote for me on:

This is available under The MirOS Licenceor, at your choice, the respective StackOverflow/StackExchange site licence, or MIT (“Expat” in Debian speech).

  • Delete all data in Postgres database

    I have created a fresh db dump from a production server with the --data-only and --column-inserts flags, so I only have a bunch of insert statements to insert data when performing a restore on a st...

  • image
  • Mo chevron_right

    Movim 0.14 - Scotty - Anniversary Edition

    Timothée Jaussoin – pubsub.movim.eu / Movim – Sunday, 18 November, 2018 - 09:17 edit

Movim is 10 years old and it's with a lot of satisfaction that we are bringing this version 0.14 after 9 long months of development.

Movim is a new concept of social network with instant messaging features that sits between #Instagram, #WhatsApp for the user experience and federated networks such as #Diaspora or #Mastodon.

Ou goal is to bring everything you need to communicate with your community, classroom, company or friend circle in one simple application. Movim can easily be deployed on a server and rely on the XMPP protocol to federate them. Therefore Movim can, by design, already communicate with many XMPP/Jabber clients and doesn't need you to create a new account if you already have an XMPP one 😋.

This new #release is coming with several core changes that greatly improved the stability and performances of the project but it also brings many design and navigation improvements to always provide you with the best experience regarding publication of content and messaging.

Movim and PHP 7.3

Movim is currently having technical issues to run on the upcoming version of PHP 7.3.

This is a known and documented issue that is caused by some incompatibilities with one of the official dependencies of PHP, php-zmq, that is used at several places in the core of the daemon.

A ticket has been open to track and give updates about this issue: Movim is not working with PHP 7.3.

Technical changes

Before presenting the improvements and new features let's talk a bit about what was done under the hood.

Database

The biggest change in this version is certainly the complete replacement of the database layer from the historical, Movim specific, Modl library to the widely used Eloquent.

This work has been detailed in a previous article: From Modl to Eloquent, or how to change a social network database engine. To sum it up, it brought coherence in the database of the project and a huge performance boost on all the pages.

Without any cache involved, Movim is now loading pages in only a few hundred milliseconds.

A little chart, people always like charts

The new database structure is also keeping good performances with a huge amount of data (millions of messages, thousands of articles on our official pods a this moment).

With Eloquent, Movim is compatible with #MySQL, #PostgreSQL but also, since this version, with #SQLite which can greatly simplify the deployment of small instances. Thanks to JKingweb for his awesome work on this port.

Packaging and dependencies

Scotty will be the first version to be packaged for the #Debian project. Big improvements were made in the dependencies of the project thanks to the work of our contributors mirabilos and nik. Several were fully removed and some are replaced with more stable and reliable ones (like the SASL library, used for the authentication). This package will come a bit later regarding the issue that we have with PHP 7.3.

Movim 0.14 is also the first version to drop the support of PHP5 (now deprecated) to focus on PHP7+.

What's new?

After being a bit boring with those technical changes let's have a look at what you will find as a user in this new version.

Publications

The publication of articles is now simpler than ever and has been fully redesigned. You can quickly publish a link or upload a picture directly from the home page or you can still switch to the more complete form to write long articles (like this one 😉).

A more simple publication form

When sharing a link that contains several pictures you can now pick the one that you would like to include in your publication (or no picture at all).

Picking the perfect kitten picture :3

The publication visibility toggle has been redesigned to be clearer as well.

Articles

The cards containing the preview of the articles were fully redesigned to be more compact and adaptable to smaller screens.

The news page, contact publications and communities are now paginated allowing simpler navigation.

If you receive articles containing NSFW content and you asked to not display them in the configuration, Movim will now display a spoiler overlay on top of them.

Click on the spoiler to show the content

The search feature has been improved and now supports searching in tags as well.

The loading performances of the articles and comments were also greatly improved. Navigating between the articles feels like a breeze.

Notifications

All the notifications are now grouped in a panel easily available from the main menu both on desktop and on mobile. Thanks to XMPP all those notifications are received and synchronized in real time 😀.

The new notifications panel

Those notifications contain likes, comments and invitations that you received.

Chats

Several message synchronisation issues were fixed allowing Movim to handle properly the receival and read acknowledgement of the sent messages.

Chatrooms

The chatrooms were slightly redesigned, the moderators messages are now shown with a specific color. The messages addressed to you are also displayed with a colored border.

Improved design for the chatrooms

You can now also publish Stickers and emojis in your favorite chatrooms.

But also!

You can now use Movim to authenticate to third party websites using your XMPP account. On the websites that implement that feature, you just have to give your XMPP account and a notification will be displayed in Movim.

The authentication notification

You just have to accept it and you'll be automatically authenticated to the external website. How easy is it?

More information there Journal of a Bot - Authentication with XMPP.

Several small bugs were also fixed in the Video Conference feature. Movim is now clearer about the state of the video session and is giving proper feedbacks if the contact hung-up.

The pictures can be directly previewed within Movim before going to the external link.

Around the project

The new redesigned version of the official website will now present more clearly what the project is about and all the exciting features that you can use within Movim.

You will also find there all the apps for your desktop (Windows, macOS, Linux) and your Android phone.

What's next?

We are not done yet! There is already some plans for the upcoming release.

The 0.15 will focus on the integration of the OMEMO end to end encryption protocol. The related ticket has been reopened with more proper explanations. This will be a big risky project.

Some improvements will also be done on the suggestions of the chatrooms and communities to allow Movim users to explore and discover content more easily.

In the meantime we all invite you to try out this new version on our official instances or deploy it on your server. You will find everything to do so on the official website.

You can also always help us with donation to the project or support us on Liberapay or Patreon :). Giving feedbacks or talking about Movim around you is also helping us a lot!

That's all folks!

  • image
  • favorite

    9 Like

    roelofpieter , Étienne Deparis , Bigou , Marzanna , W. Ferpit , Didier Link , Laurent Defours , arie , Xavier

  • 1 Comments

  • person

    29 December, 2018 Guillaume

    Greetings from Movim 0.14 on Debian!
    Laravel seems interesting, I might use the Database component for a personal website https://laravel.com/docs/master/database

  • chevron_right

    Contact publication

    Timothée Jaussoin – Sunday, 1 July, 2018 - 12:31 edit

I've added a few indexes to the Movim database to boost it up. If you are running #Movim on #Postgresql with a SSD you can also change the random_page_cost parameter. This can greatly reduce the number of sequential reads from the DB and use the indexes instead. More info here https://srinivasoguri.blogspot.com/2016/07/randompagecost-in-postgres.html :)