vrtmrz / obsidian-livesync

MIT License
5.13k stars 167 forks source link

Feature Request: simplify modal choices for new users #516

Open fabiosirna opened 1 month ago

fabiosirna commented 1 month ago

First of all, thank you for your work on this project!

I've noticed that some of the modals presented to users contain complex instructions and a lot of text, often asking users to make decisions under a timer. This can create confusion and stress, particularly for new users who may not be familiar with the options presented.

I would like to suggest a simpler approach to improve the user experience:

This would make the software more approachable for beginners and reduce stress, while still allowing more advanced users to configure detailed options as needed.

Thank you for considering this feedback!

Here some screenshots related to my FR.

Best, Fabio

image image

vrtmrz commented 1 month ago

Thank you for opening the topic!

The timer is designed so that we can be away from the device during the setup or rebuild. And, the timers can be stopped by tapping anywhere in the dialogue. I thought this was something we would notice in soon, but as you mentioned, it could be be quite a pressure for the new users. I hope to keep this feature, so I will make a note in the dialogue something like To stop the countdown, tap anywhere on the dialogue.

Default settings: for new users, it would be helpful if the modals provide default settings that are as simple and straightforward as possible. Or better: no modals. Choose the safest for everybody.

From a safety point of view, the safest configuration is not to use any of the extra features - "Hidden File Sync" and "Customisation Sync". So "no modals" might be the best. On the other hand, the best time to enable these features is during initialisation, if we want to use them.

Just a thought, I thought it would be nice to display a single small question like "Do you want to enable extra features?" and then proceed to the verbose dialogue? The migration dialogue could also be collapsible, and create a new "Use recommendations" button. If we have some options, it also could be multi-step:

Self-hosted LiveSync got new features, / got improvements, Do you want to migrate according to recommendations?" -> "Use recommendations" / "Keep current behaviour" / "More".

It is hard to say, as I have made many mistakes with it, but I think that my settings - which have been battle tested on to keep my vault intact - could be a recommendation.

vrtmrz commented 1 month ago

These improvements will be included in v0.24.0. rc4 contains, and as you have mentioned, I realised that the simpler message is quite good! And let the callout clarify the details has a good pacing. Thank you so much for your FR!

fabiosirna commented 2 weeks ago

Hi, I thank you again for your response and effort.

This request of mine to simplify the UX has had the opposite effect: instead of decreasing the amount of text and simplifying and removing the timer button it has turned into an even more verbose UI that includes the message to explain to the user that they need to click somewhere else to stop the timer.

I tried again to install the plugin but failed and I feel a lot of frustration because I find it too complex. The plugin is too verbose, with prompts and actions that are not clear. I hope the following words are interpreted as constructive criticism and not a complaint :)

From the very beginning, the promise is in the name: LiveSync. I think other users like me came to this plugin because they are looking for a solution to synchronize a vault across multiple devices. Instead they are faced with something that tries to solve many edge cases but not the main one.

Once the self-hosted database is created the only thing the user should do is enter the link, username and password and forget about the plugin. The whole thing should work with a precise and clear preset that is good for the main use case, which is livesync with every device.

Instead, the plugin offers too much granularity that becomes confusing. I give up and will look for another solution but I am very sorry that I could not explain the problem/fr better.

Thank you and good luck with the development.