Sync: New sync icon state for 'visible file(s) synced'

Use case or problem

This is part of a “two part” overall proposal to improve the usability of sync in scenarios where the same note is frequently accessed/edited from multiple devices - e.g. daily notes or other “inbox” / quick capture type notes. Since they could be implemented separately (or only one or the other) and still provide some of the benefits, I’ve posted them as separate feature requests. Both are particularly targeted at mobile app usage (especially iOS) in terms of where the benefits would be mostly felt, though would apply for Android & desktop as well.

There are often sync-related issues using daily notes, or other quick capture type notes, with the mobile apps when those same notes are also frequently edited on the desktop as well. I ultimately decided not to use daily notes at all because of either suffering relatively frequent sync conflicts / outright data loss, or having to sit, wait and watch for the sync process to fully complete every time I opened the mobile app to try and quickly capture a fleeting thought or note down a new task.

However, even without speeding up sync as a whole (which would be nice), or enabling the iOS app to take advantage of the opportunity offered for iOS apps to do just a little background processing (which would be even nicer, though I understand there’s some specific technical problem preventing this at least for the moment) … I believe some adjustments to sync could make noticeable improvements to the usability of daily/frequent-use notes across multiple devices/platforms.

Proposed solution: additional sync icon state to indicate when (just) the visible file(s) are synced

I propose Obsidian should add another possible state for the sync icon, indicating that “the file(s) visible in the active Obsidian window are synced up to date, but syncing of other files is still in progress”. On mobile this would work particularly well in conjunction with the CSS snippet to make the sync icon always visible.

For the mobile apps this would be straightforward as only one file can be visible at a time. For the iPad & desktop apps it would need to be decided which file or set of files being up to date triggers this new state:

  • just the currently active/selected file (i.e. where the typing cursor is)
  • the currently active file and any other files open in additional tabs, or the sidebar(s), visible in the active Obsidian window (this is my initial suggestion, but I can definitely see arguments for the first option instead)
  • all files in visible tabs, or sidebars, in all open Obsidian windows (this is only different from the 2nd option for desktop apps, unless the iPad app develops to allow multi-‘window’ use)

For this new state, I suggest perhaps keeping the ‘rotating arrows’ of the current sync-in-progress icon but making it green like the current sync-completed icon - but would be happy with whatever the Obsidian designers came up with so long as it’s easily distinguishable (e.g. that idea may not fully account for people who change the default accent colour to green, colour-blindness or other accessibility issues, etc.)

If the user opens or switches to a different file while sync is still continuing and that other file has not yet been synced, the icon would revert to the current/default sync-in-progress state (rotating arrows in the accent colour). Ideally this would also trigger the sync process to immediately check that file and insert/move it into the top of the sync queue - but I can imagine this might not be very practicable in terms of complicating the sync process, so is very much a “nice to have but non-essential” element.

While this would clearly indicate to a mobile app user the earliest possible moment when it’s now ‘safe to start editing’ the selected note, it wouldn’t actually make the syncing time until that point any quicker - that’s where the second part of the overall proposal would come in.

Related feature requests

Sync Visualization: Add a sync progress bar for sync

2 Likes

My current workaround for this is to watch for changes to the text to arrive.

Yeah - that’s currently the only option other than waiting to be fully synced… but if the changes are not too obvious (e.g. checking/unchecking of a few items in a long checklist) you’ve got to pay really close attention to spot the ‘flicker’ when it re-renders the note.

Yeah. I guess I don’t use it as my main workaround. I usually wait for Sync to finish, but sometimes I see the file change and know I can start working on it then.