close
  • chevron_right

    We are looking for some help for the Movim Android application

    Timothée Jaussoin · pubsub.movim.eu / Movim · Monday, 31 May, 2021 - 20:17 edit · 2 minutes

Hi,

I am writing this little post today to ask for (a bit) of help on the official Movim #Android application that is currently available there.

I am maintaining #Movim for more than 10 years now, mostly without asking for any help from the hundreds of daily users that we have now (on the servers we're aware of, at least). I am also maintaining and updating the infrastructure hosting the website, the official pod and the #XMPP server and related services.

However Movim is a little more than that, there is also an Android app, and a desktop app (currently abandoned).

I am maintaining the Android app with the really thin knowledge that I have on this platform. Most of the code of the application is basically copy/pasted from StackOverflow and a bit hacky. Fixing and developing this app is always really time consuming as the environment, and the way of dealing with it, is really different than the knowledge that I have on the web development side.

So basically today I'm asking from some help for the official Movim Android application. If you have a little bit of experience in Android development (or if you want to learn !) and if you're willing to help me to improve the application do not hesitate to contact me through our official chatroom, directly on Github or as a comment of this post.

The app is quite simple. It is basically a WebView that shows one of the configured pods. And… that's mostly it.

What would be really helpful would be to have (non exhaustive list):

  • Another pair of eye to check and maybe refactor the few classes that are contained in the application
  • Create two flavors of the app, one "Play Store ready" and one "free of Google Play" integration (the current app cannot be published on F-Droid because there is some strong dependencies there)
  • Fix the mic/camera support and authorizations
  • See if the current notification system can be improved
  • Send an event to Movim when the app is "put in background" in a chat conversation to ensure that the notifications are re-enabled in this specific case
  • And any other nice feature that you would like to see integrated

There is no pressure or deadline, any pull requests that could help improving or fixing things in the application would be really appreciated.

I am currently dealing with Google to re-enable the application on the Play Store as well, I will keep you updated about that.

Regards,

edhelas

  • wifi_tethering open_in_new

    This post is public

    mov.im

  • Pictures 1 image

  • visibility
  • favorite

    8 Like

    arne, bung, kefah, arie, thuraht, adbenitez, quatta, chunk9

  • 2 Comments

  • person

    24 August, 2021 kefah

    First of all: Hats off for the amazing accomplishment. I just came across movim today and I'm pretty impressed.

    How can I learn more about the codebase? What technologies did you chose? I can see that the android app is almost identical to the web, so I assume that the web version is embedded into the android app.

    Do you have the code/issues on github?

  • person

    24 August, 2021 kefah

    My bad! just noticed the github link on your post https://github.com/movim/movim_android
    Will look into it and come back. Thanks!

  • chevron_right

    Movim | Basic Review & Beginner's Guide

    Timothée Jaussoin · pubsub.movim.eu / Movim · Sunday, 14 February, 2021 - 11:17 edit

Thanks for this awesome guide by UbuntuBuzz. With a lot of details and some ideas of improvements for the future. #Movim #review #guide

  • wifi_tethering open_in_new

    This post is public

    mov.im

  • favorite

    9 Like

    wxyz, fedext, yannv, meta, xabi, imattau, ericbuijs, debacle, eyome

  • 1 Comments

  • person

    10 April, 2021 preptorrent

    Please can you put Movim back so html tables can be written in our posts the old way?

    Sadly, Movim have now changed the ability to write in html so your tables end up garbled. What a terrible shame. I wish Movim had just left it as it was before. It was fine as html! Nowadays it forces your markup to be their Movim markdown which is simply nowhere as neatly laid out as html with tables. Also, people have long understood html.

    I feel gutted about this. I'm not a fan of markdown being mandatory in place of html. Please can you put Movim back so html can be written the old way? I used to show people how cool movim was for that. It used to be so cool.

  • Op chevron_right

    Movim, two years later

    news.movim.eu / open-source-software · Friday, 5 February, 2021 - 11:06 edit · 2 minutes

It's more than two years ago that I started using the social network #Movim after a tip from an acquaintance. I had left G+ and never wanted to use a centralized social media platform again. I tried the Fediverse (Mastodon and Friendica), Diaspora and Movim but eventually I kept using Movim and Mastodon. The secret of Movim is tranquillity. After logging in for the first time the news stream is empty, much like Diaspora, and it only gets filled with post from people that you follow, communities that you subscribe to and rss feeds. This in combination with an easy to use chat option that gives access to whole #XMPP network makes Movim very powerful.

It's also incredibly easy to create a community in Movim, although I think community isn't the most appropriate description here. It's more a blog from one or more persons where other users can subscribe to, like and comment in a linear fashion.

I recently introduced my wife to Movim and the first thing that surprised her is that, contrary to FB, the news stream contained articles worth reading instead of ads and other bs. She also liked the fact that she could use any XMPP-client for chat. Time will tell if she'll keep using it but her initial enthusiasm was very encouraging. (Less encouraging was that her employee laptop denied access to Movim via Chrome while it was okay to access FB and the likes).

Although, I'm pretty psyched about Movim I would like to see some features. First, coming back to the tranquillity, when in the news stream on the right side five posts of other Movim users appear. I suppose that this is meant for discovery and that's great but in some of the posts I'm less interested but I can't block or hide these posts.

Also there is no way to block or hide a person entirely. This may become a problem since Movim appears to be becoming more and more popular and with that the interaction between people grows exponentially.

Currently I'm lazily using the European server of Movim but I (or anyone else) can deploy a self-hosted instance and I'm tempted to experiment with that. I'll probably get back to that.

Finally, I want to thank Timothée Jaussoin and other contributors for developing Movim and making it available to all of us. It's awesome. And if you read this please consider donating to the Movim project.

Link to my initial thoughts about Movim: https://homehack.nl/movim-floss-alternative-for-hangouts/

  • wifi_tethering open_in_new

    This post is public

    mov.im

  • favorite

    9 Like

    tallship, wiki_me, guesst, littleme, eyome, mikeao, kryptos, danie_vdm, merkaba

  • 1 Comments

  • person

    24 April, 2021 tallship

    Well let's try this out Eric, shall we?

    This is my first time here, and as such, like you said it's a pretty spartan place. I was going to give it a go anyway in earnest, but when you mentioned gplus it harkened me back to the only social that I actually did enjoy being part of the monolithic silos like Faceplant, Twatter, InstaSPAM, and others... in fact, now that Lemmy's out and growing in the wild I suppose we can add Reddit to the list of monolithic silos that we should maybe be concerned with.

    Anyway, gplus was a spartan landscape at first, but I plugged away at it for a couple of weeks before it was released to the gen pop and soon it started to resemble a real social network. The first thing that most folks got on board with were the Circle growing activities, things frowned upon in most socials, and recently, when checking out Clapper I got there just in time to seem them slam the hammer down on that - but it served a purpose, because when one feels as if they're in a void they're not going to remain very long.

    Moveim is obviously a vibrant place, and I half heartedly showed up figuring, "Okay, I'll make a fricken' account and check it out. Then it said that I can use any old Jabber account that I want. Well, I'm embarrased (almost) not to have given this a shake sooner, consider I'm such an early adopter that I'm one of those gold star, early adopters that actually has a Jabber.org addy - and I've been using it for what, twenty years? longer, maybe?

    So, next I'm wondering if I can just do a quick deploy of Movim. Checking on the number of packages I get this:

    Okay this is a good test.... Markdown time....

    ```
    $ apt-cache show movim | grep Size:
    Installed-Size: 21238
    Size: 3502624
    $ sudo apt-get install movim -s | grep -c "^Inst "
    86
    $ sudo apt-get install movim --no-install-recommends -s | grep -c "^Inst "
    80
    ```
    Well that's a **Lot** of packages!!! Yah, Debian Bullseye will make small work of installing all that. 3 mins top from my data center, but jeez! I might not be so inclined to try that on a Slackware box without sbopkg and queuefile support lolz. This is a place where dependency resolution really shines.

    I'm not seeing any of the big networks, (News), but there's a few interesting ones. And I'm not sure how current or bleeding edge news coverage is going to be - your post is what, two and a half months old?

    Still, it looks to be something with some potential, and I can certainly spin up a machine and make it go fast. So if all it needs is an existing XMPP account for anyone to login it certainly can't be all that bad.

    Now to check the chat functions next.... and maybe follow a couple of people - such as yourself, if I can figure that out. I'm so n00b right now.... It kinda feels good though.

  • chevron_right

    Movim is moving!

    Timothée Jaussoin · pubsub.movim.eu / Movim · Wednesday, 20 January, 2021 - 06:47 edit

Following our previous article, with the sudden subscription of hundred of new users both on our XMPP #services movim.eu and jappix.com and on #Movim itself it seems that we are starting to be quite limited by our current servers capacity.

You might have noticed some connection issues and downtimes the past few days that are the direct result in this recent gain of interest for Movim.

In the upcoming days we are planning to migrate the whole #infrastructure to a new server to give a bit more space for the project to grow and to allow many new users to join us.

This will involve some extra server costs. If you want to help us covering our expenses you can always join our Patreon.

By the way, we also bumped the size limit from 3Mb to 10Mb on our XMPP upload service, enjoy!

  • chevron_right

    Good news everyone!

    Timothée Jaussoin · pubsub.movim.eu / Movim · Monday, 18 January, 2021 - 12:36 edit

https://upload.movim.eu/files/9d94237298995552fa13436420195fbca436dce7/lTYefOrzPorX/farnsworth.jpeg

So it seems that we doubled our daily registrations the past few days 🎉 .

Thanks to #WhatsApp lots of new people are discovering XMPP and its ecosystem . We also recently rolled-out an improved and simplified flow for the registration process. You can find it there Register on movim.eu and share the link around.

We will also communicate soon about some big news about #Movim itself, stay tuned 😉

  • wifi_tethering open_in_new

    This post is public

    nl.movim.eu

  • favorite

    9 Like

    matlag, debxwoody, Mathias Poujol-Rost ✅ , imattau, miho, eyome, yannv, debacle, ericbuijs

  • chevron_right

    Movim is full of new features for 2021!

    Timothée Jaussoin · pubsub.movim.eu / Movim · Friday, 25 December, 2020 - 22:43 · 1 minute

A lot of new exciting features were added to #Movim the past few weeks! Like Chat Reply, that allows you to quickly quote and reply to an exisiting message in a one to one or chatroom discussion.

Chat Reply

It is now also possible to search and add GIFs within the discussions thanks to the Tenor integration. This feature is totally optional. The administrator can easily enable it by adding the #Tenor API key within the Movim admin panel (don't forget to restart the daemon).

Tenor GIFs

The embedding feature was also greatly improved. Movim now resolves video urls, pictures as well as general website URLs to embed them properly within the chat! Some improvements in the picture preview feature now also allows you to preview pictures from the embedded url quickly before visiting it.

URL preview

And finally, some improvements were made to the picture proxy feature. To simplify, Movim is protecting its users by serving the externally shared pictures (from Internet websites for example) and acting as an intermediary. It also automatically recompress the pictures if they are too large.

Server administrators that are hosting a Movim pod can now easily setup a cache system allowing those Movim proxyfied pictures to be kept for a while and reduce the load on the Movim side. For example, if someone is sharing a large picture URL in a chatroom, the first time Movim will display it to a member, it will recompress it and keep it in a cache, the other users will then directly request the cached version and load it instantly.

The One-Page-Setup wiki page has been updated to explain how to setup that cache easily.

With all those new features Movim is now ready to compete with other web chat platforms such as #WhatsApp or #Discord. But with the power of decentralisation, standard and build on open-source technologies.

It also seems that a big feature might be planned for 2021, stay tuned ;)

If you enjoy Movim and want to help funding the project, you can help us on Patreon. This will allow us to cover our monthly expenses and fund some new features.

Thanks again for your support!

That's all folks !

  • chevron_right

    Movim just flattened the (connections) curve !

    Timothée Jaussoin · pubsub.movim.eu / Movim · Wednesday, 21 October, 2020 - 07:37 edit · 1 minute

A few days ago I discovered that the #Eloquent database library (the one that Movim is using for a few years now) had some events that could be caught by an event listener.

With this simple mechanism #Movim could be aware of when exactly a #SQL request is done during the execution time.

The Movim #architecture is based on several processes that talk to each others, and each connected session (each user connected to a specific XMPP account) is having its own sub-process. The main issue with this architecture is that all those processes relies on a common database (PostgreSQL or MySQL) and each process open an unique connection to the database. See How's Movim made? Part I - The Architecture to know more about this architecture.

When you start to have a lot of users connected on the same instance, this is opening lots of connections to the database. This is creating a congestion and can slow down the general performances.

This simple commit ask Eloquent to close the connection after a few seconds of inactivity. Eloquent is reconnecting automatically if a new SQL request is made after the disconnection. This allows to free-up the socket resources once "we don't really need it anymore".

And here is the result once this commit deployed on nl.movim.eu

The PostgreSQL connections curve

  • chevron_right

    Movim 0.18 – Oterma

    Timothée Jaussoin · pubsub.movim.eu / Movim · Sunday, 27 September, 2020 - 16:58 edit · 5 minutes

It's been six months since the last #release, and for the 0.18 – Oterma one there's a lot to show!

So let's dive in this list of exciting features and changes that you will find in this new release.

Notifications

0.18 is coming with quite some changes regarding how the notifications are handled and displayed within Movim. This also came with lots of bug fixes to ensure that the counters are up-to-date everywhere across the UI and between all the devices.

One of the first notable changes you will find is how the global chat counter is behaving. This counter is now displaying the total number of unread discussions and not the total number of unread chat messages anymore.

picture chat counter

Related to this change, an update on the chatrooms bookmark specifications is now allowing you to save a per-chatroom notification configuration. With this new feature you'll be able to choose, for each chatroom, if you want to “always be notified” for each new messages, “only when you're mentioned”, or “never”.

picture chatroom config

Movim can now use sound to notify you of a new incoming message, if you allow it to (see the configuration panel).

audio notif screenshot

Stickers, drawing and emojis

We also improved some existing chat features. Some work has been done by Christine Ho on the Draw widget. The drawn lines are now smoother, even on large resolution pictures. The feature has also been extended to allow you to draw on existing pictures you upload from your device.

picture draw upload

Christine Ho also improved the existing emoji picker to add useful search bar, you can find it when trying to add a reaction bellow a message.

A new pack of fresh meme stickers was also added to the stickers panel.

meme

And finally, the Movim emojis support has been updated to Unicode 12.0, bringing a pack of new emojis in.

emojis

Video conferencing

A big part of the time spent on this release was focused on the video-conference features. The related code was heavily reworked to ensure a smooth compatibility with the #Conversations Android client, it's still not perfect but works already quite well.

This was especially because of the integration of XEP-0215: External Service Discovery in the project. Allowing the web browser to easily perform STUN/TURN discovery (it's a way to discover alternative routes on the Internet for the video and audio feeds to be streamed on) using the #XMPP server services.

The call flow was also split to conveniently allow audio-only calls.

And the screen-sharing feature was integrated on the video-side. Useful when you want to quickly show a document or a presentation during your call!

The new videoconferencing features

Video-conferencing is hard. For this release we made quite a lot of work to improve the user experience but we are still not totally satisfied with the result. Some more work will be needed in the upcoming releases to really deliver the best we can offer for that feature.

And a many other things…

Chat and chatrooms

The interfaces between the chat and chatrooms (header bar, drawer menu) are now unified to display general information the same way. A little gallery was added which displays recently sent and received pictures.

emojis

The pictures handling in chat messages has been improved. Movim is now trying to resolve picture URLs, even if they were sent using a client that doesn't embed pictures in messages.

The scrolling behavior in chat was greatly improved and simplified, a little "go to bottom" button was also added.

scroll

Movim now handles the XEP-0319: Last User Interaction and can therefore be more precise to tell you the last time your contacts were seen active.

Post publication

Movim was already automatically saving your draft posts while you were writing, but since this version it actually displays when a draft has been saved. The post publication panel was also slightly redesigned to be clearer and more accessible.

publish form

Performance

On the technical side, a PresenceBuffer system was added to handle wave of presences coming from the network and mass insert them in the SQL DB. This reduces by a factor of 10 to 100 the number of requests that are done to the database during those "spikes" of incoming presences from the network. This little feature greatly improves logins speed and shortens the time it takes to join a new chatroom.

Favicon

The favico.js library, that was handling the little counter in the browser tab icons had been removed and rewritten using only vanilla JavaScript, keeping only the required bits which also made it way smaller. This was actually the last (external) JavaScript dependency coming with Movim.

XMPP Authentication

Regarding the authentication process, Movim now supports XEP-0368: SRV records for XMPP over TLS to directly connect to XMPP using an encrypted socket (better than the historical STARTTLS negociation system that is still used as a fallback mechanism). Regarding the IP resolution Movim now uses the Happy Eyeballs mechanism to resolve the server IP on IPv4 or IPv6.

Android application

Finally, the official Android app gained nice features thanks to the improved integration of Movim on your phone.

The notification handler has been reworked to handle newer Android versions, conversations are now stacked properly.

android notifs

From any application you can now share a URL to Movim directly and publish it in a Post. In the future we are planning to add more sharing capabilities like this one (share to contacts or chatrooms for example).

share

Related to the video-conferencing improvements, audio and video calls are now launched in a separate task to allow you to switch back easily to your chat or publications while having your call. This makes it close to the experience you can already have on desktop.

Finally some work was done in #Movim and on the Android app to improve the general performance, especially regarding the touch features and general responsiveness.

To conclude…

As always you can test all those features on our official pod, or deploy them in a few steps on your own server :)

We always need some funding to help us promoting Movim and covering project costs, feel free to help on our Patreon.

And stay tuned for the upcoming releases, it seems that there are some interesting features already planned ;)

That's all folks!

  • wifi_tethering open_in_new

    This post is public

    nl.movim.eu

  • Pictures 1 image

  • visibility
  • favorite

    10 Like

    ericbuijs, thibaut, Timothée Jaussoin, eyome, Adrien Dorsaz, tteichler, debacle, meta, alimanya, marzanna

  • 2 Comments

  • person

    27 September, 2020 eyome

    Great release!

  • 23 October, 2020 Adrien Dorsaz

    Super release, merci beaucoup !