Mobile: Display sync status while in edit view

One thing that I always wanted in the mobile app (phone or tablet) is to see the status of the current note while I'm writing. Is it synced with the server? Is there any pending changes that need to be synced? Or is it currently in the process of syncing with the server?

This would be shown in small button, somewhere in the top bar. Tapping the button would start a sync process. In other words, it act in a similar way as a Save button that also show you if the document needs to be saved or not.

mockup

3 states needed:

  • Need to sync
  • Currently syncing (maybe with an animation?)
  • OK: All changes were pushed to the server

This would help reduce the main source of conflicted changes, by providing clear visual feedback. Too often I've had conflicts while working on my phone, then closing the app thinking that my changes were sent on the server, then editing that note on another device, only to discovers hours later that not all my work from the first device was sent to the server, and now I have to merge a bunch of conflicts. :cry:

9 Likes

I'm working on this! Expect a PR soon-ish!

11 Likes

Thank you so much!!

If you want, I can help you review the functionality (I'm a UX designer). Do you have a branch that I could look at? I encourage you to tag me in topic/PR/branch/etc so that I can take a look! :slight_smile:

2 Likes

Looking forward to this, it's a very important feature. Currently I always have to manually check the sync status manually, which is super annoying and also leads to very avoidable conflicts when I forget to check.

2 Likes

Pull request: Mobile: Add sync status icon by personalizedrefrigerator · Pull Request #6785 · laurent22/joplin · GitHub

6 Likes

Looks very good!! Can't wait to try it!

I'm bumping this conversation, since the pull request from @personalizedrefriger was closed with no resolution and I'm not sure my replies on closed PR have any visibility.

As @laurent wrote:

Do you have examples of applications doing this? It feels a bit like clutter on the UI and many people won't know what these icons mean. Or perhaps the solution is just to trigger a sync very shortly after a note has been changed (now I think it's a few seconds), in which case such icons become less necessary.

As I replied on Github, unless you can guarantee that the last word I typed will be pushed to the server, even if I minimize the app by pressing the Home button on my iPhone, we need to show sync status. As a user, it's super important for me to know that my work has been saved and synced. It's not "clutter" to display such important information!

I then posted a few examples from other apps: Mobile: Add sync status icon by personalizedrefrigerator · Pull Request #6785 · laurent22/joplin · GitHub
I can share many more if needed.

I found this old forum thread for a similar feature request: Display sync status in titlebar
@tbergeron made a plugin at the time but it looks abandoned? (no update since 2020)

At the very least, Joplin could display the sync icon only while the sync is ongoing (or had errors), then hide it when the note is fully synced. That would be one way of reducing clutter if we think it's that problematic (which I don't think it is)

6 Likes

Another option could be to make it an opt-out feature. This would be adding another setting, though...

1 Like

This is what I was maybe thinking, if the idea is that the sync should be starting as soon as you finish a note then maybe the rotating arrows could appear at the top whilst it is syncing.

The problem here is that I guess if the "full" sync is going on in the background still whilst the note is being written.

Why is that a problem?

Just in context of what Laurent said on the PR with the solution being instant syncing.
NextCloud for example is notoriously slow at syncing. So if I hadn't opened my mobile app in a while and had been creating tons of resource heavy notes, it could take a good few mins for the sync to finish which will lead to that sync arrow being shown for ages which might cause people to think something is going wrong. Only a small detail, nothing dealbreaking I don't think.

Should the sync status icon be visible when not currently syncing?

  • Yes — make the sync status icon visible even when not currently syncing (though perhaps invisible on clients with no sync target set up)
  • No — make the sync status icon invisible when not currently syncing.

0 voters

Should the sync-status icon be disableable in settings?

  • Yes, and make it an opt-in setting.
  • Yes, and make it an opt-out setting.
  • No.

0 voters

This feature is much needed. Too often I edit a note on phone, then later I'm editing on desktop and only later realise I have an old copy (because iOS doesn't sync in background). I have no way of knowing when editing the note whether the sync has finished or not, unless I keep switching out of the note, back out of a notebook, then see if sync has finished, then go back into the notebook and back into the note - all of which is time consuming.

I also think the sync interval for an individual note, while being edited, should be adjustable to be faster than the current fastest setting being 5 minutes. Other apps and web apps, like Google Docs for example, typically sync within seconds of editing, not minutes.

Joplin works the same way. The sync should be done automatically a few seconds after you've made changes locally. The 5-minute interval is mainly for pulling remote changes from the sync target.

Edit:

Not sure how the above works when you close the app immediately after making changes, without waiting for the automatic sync to happen. Android does allow apps to run in background for some time to finish their jobs, so at least there the sync should still work. I've got little idea about iOS in this aspect though.

New pull request: Mobile: Add sync status icon by personalizedrefrigerator · Pull Request #6824 · laurent22/joplin · GitHub

5 Likes

I'm fine with giving Joplin a few seconds to sync before I close the app (iOS). That said: When this coincides with the pulling process mentioned above it can take a painfully long time.

This is especially notable when starting the app: Sync can take anything from 15 to 120 seconds, which I wouldn't describe with the term "a few seconds", really... But this behaviour is a wee bit off-topic here and might have to do with OneDrive as my sync target.

The "few seconds" are about when Joplin automatically starts a new sync after detecting local changes, not about how long the sync itself is going to take :wink:. That's a completely different story and can differ greatly depending on the sync target and the number or size of the changes.

Thanks for clarifying this: I can see in that respect I'm a lucky guy: few seconds for syncing to start, few seconds to finish (after having edited one, two, three or so notes):slight_smile: