odk-x / tool-suite-X

ODK-X Tool Suite Project roadmaps, issue queue, release notes and wiki.
https://www.odk-x.org
Apache License 2.0
25 stars 43 forks source link

Create a dialouge box before the sync starts. #213

Open SilentCruzer opened 3 years ago

SilentCruzer commented 3 years ago

Problem description.

In the services app, when a user clicks the sync now button, it directly starts syncing which we can't stop by pressing the back button.

before_click

after_click

Solution Create a dialogue box when the sync now button is clicked. The dialogue box will ask the user if they want to proceed or not. If the user clicks yes, the sync will start, else it will close the dialogue.

Advantage It will allow users to avoid syncing because of a misclick.

If this is a valid issue I would like to work on it.

riturajjain2000 commented 3 years ago

I think stopping sync when the back button is pressed while the sync is going on is a better option, even after implementing the dialog, the user cannot stop the sync if it starts

SilentCruzer commented 3 years ago

I think stopping sync when the back button is pressed while the sync is going on is a better option, even after implementing the dialog, the user cannot stop the sync if it starts

I thought about the same too, but I didn't want to mess up data while it starts syncing and stopping it suddenly. If we put a proper message in the dialogue box, the user can know what's going to happen when the button is clicked and can decide accordingly, if he/she wants to proceed or not.

wbrunette commented 3 years ago

@SilentCruzer thanks for bringing this up, since there are multiple ways to approach this I will need to consult with the PMC.

pawanharariya commented 3 years ago

When I first installed the app and was exploring it, I clicked the sync button and it took a long time to download all the data. At that moment I felt the need of having a cancel button. But I guess this problem is only faced by contributors like us. People using the app for real applications on daily basis would know the results of initiating a sync. I personally feel that they might be annoyed by doing confirmation each time they want to sync. Moreover its only the first sync that takes much data usage and time subsequent syncs are lot faster.

wbrunette commented 3 years ago

In the interest of a timely feedback, the PMC/TSC had an email discussion about this issue. The general consensus was seems like it could be help sometimes but also adds a step to a frequent workflow. Note that some people have already requested shorter and easier syncing steps. The concerns about easier flow in logging in and syncing is the reason we have the GSoC project Improve ODK-X Services Login User-Interface.

One approach that would not add any required clicks is to allow cancellation within the first few seconds. The idea would be within the first few seconds the Services would show a message like "Preparing to sync" but it's just spinning for a few seconds to allow the user to cancel.

sanyud24 commented 2 years ago

@wbrunette may I work on this issue?

wbrunette commented 2 years ago

@sanyud24 I was reviewing the issues assigned to you and you have several. Some of them are from a while ago. It would be nice if you removed yourself from the ones you are no longer working on. Then I will assign you this issue. Keep your self assigned to ones that you have completed and are under review.

sanyud24 commented 2 years ago

Sure @wbrunette, I've unassigned myself from https://github.com/odk-x/tool-suite-X/issues/154, My PRs are under review in the other 2 issues

wbrunette commented 2 years ago

@sanyud24 I have assigned the issue to you