New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[idea] Mobile UI #12: Auto-save pattern #496
Comments
Davide, Good point, above.
|
Well, we cannot keep the user from using Subsurface if there is no connection. We have to make sure data is correctly saved locally and then sync to cloud when connection is available. Maybe we should find a simple way to indicate that you have some data locally stored but not synced on cloud.
Another reason to use background auto-save each time a field is entered. Then we can activate only form validation on edit/new dive panel exit. |
It would be nice to be able to quickly see that things haven't been synced. I have 3 ideas. They could be combined or used separately. This discussion might be out of scope for this issue - we can move it to a separate one if you think it's worth it.
This makes the hint "you should do a sync" more obvious and easy to access.
I think this option might cause a lot of clutter, but it might be nice to know "what changed", not just "something changed".
This makes the hint "you should do a sync" more obvious, but leaves the sync action initiation alone. |
On Thu, Jul 20, 2017 at 11:25:54AM +0000, willemferguson wrote:
Davide, Good point, above.
1) We need to have absolutely smooth operation when the user is at a remote dive site with no wifi or other Internet access.
2) Because the mobile input is awkward and one cannot see all the information for the whole dive on one screen, one probably needs a larger degree of user confirmation that the dive data are indeed to be saved, when compared to the desktop Subsurface.
Or we need to ask ourselves why we are spending so much time on something
that I doubt a lot of people will use. Seriously, who'd enter all that
data on a mobile phone.
Oh, right I forget. I'm old and cranky, some people think that's a
reasonable way to interact with a device. Personally, I still am not
convinced that having manual edit is actually desirable. We implemented
this mainly because we didn't support download, but... meh.
To get this right and to work smoothly on nine thousand different phones
with 20 different Android flavors (and of course iOS) and 20 languages.
Yeah, I know, I'm focusing on the negative...
|
I like the trend as little as you do, but this is undoubtedly where things are going. So many people I know have switched over to tablet (ipad or Android) and do not have a "formal" computer any more because a tablet enables browsing, facebook, email and a fair word processing and spreadsheet functionality, and that is all they feel they need.
Kind regards, |
Please keep in mind that So the target market that you are aiming for, is by definition very small. I will not reject code to fix some of the remaining functionality gaps (stars/viz are missing). I'm less enthusiastic about the more complex ones (e.g. tanks - but maybe we can offer tanks that have previously been used in the same file?) And also, please look at the problems on many phones were the keyboard covers a SIGNIFICANT part of the screen - yes, what we do right now makes things worse (we might have to disable the ActionButton when the keyboard is shown or something), but even without that the screenshot above should make it clear that this is not really a viable platform. |
Separate comment to actually address the idea here... (1) screen space: couldn't agree more. Terrible. I'm ok with going away from the floating window as that will help a little, and as I just said, maybe turn off the ActionButton (maybe depending on screen size? I don't know). |
On 22/07/2017 07:36, Dirk Hohndel wrote:
Separate comment to actually address the idea here...
(1) screen space: couldn't agree more. Terrible. I'm ok with going
away from the floating window as that will help a little, and as I
just said, maybe turn off the ActionButton (maybe depending on screen
size? I don't know).
(2) the autosave one is tricky. Quite a few times you have told me
"don't do pop-ups, don't do positive confirmation dialogs". Yet that's
exactly what you are asking for here. Why is this OK here, but not ok
for delete? Or for saving settings?
Look at attached image. If the grey banner area above the input (image
on left) is removed and the keyboard is adjusted for efficient screen
use, then the situation improves quite a bit (image on right).
Kind regards,
willem
|
Ok let's see this as several separate activities that all together improve usability a lot.
|
(1) YES - totally. Agreed. |
Look at attached image. If the grey banner area above the input (image on left) is removed and the keyboard is adjusted for efficient screen use, then the situation improves quite a bit (image on right).
The images somehow didn't make it into the issue, but I saw them in email. Yes, you can improve the space-usage above the keyboard. But remember that on most phones we have no (or very little) control over how the keyboard is rendered. And I've now seen enough screenshots from phones where the keyboard covers a full 60% of the screen to know that this is a major issue. Nothing we can fix, just something we should keep in mind.
/D
|
AFAIK Unfortunately on all Android flavors, keyboard height is user configurable.
On mine (1280x720) too. At first I thought it was just a resolution or screen density matter because on other 1080 phones I tested with the same screen it was smaller. Actually other apps on my phone have a smaller button, not an eyesore like mine :) Maybe there's something we missed into Kirigami parameters? The same problem happens on the title bar font. Completely different sizes on different phones while the current dive-list it's the same. Generally speaking:
Coming back to our headache...
Good point The problem with our huge button is psychological because it's there but it let me see part of the info behind giving me a bad feeling. Like having a dirty windscreen. Probably if I had the entire horizontal space covered by something else I wouldn't have the same feeling. During the last week I was thinking to something more extreme (not for this version). I remember Thomas wrote that Kirigami supports up to three action button on the bottom drawer... Hence: download - edit/new - search :) but right now a bottom screen component doesn't help us. Could we use a solution like Trello or Google (tick at upper right corner) just on edit panel? Better sleep on it now. |
Previous idea here:
Mobile UI #1: general layout
Mobile UI #2: default action for main screen button
Mobile UI #3: Dive list item layout
Mobile UI #4: Dive list different layouts and menu option
Mobile UI #5: Sidebar
Mobile UI #6: Dive detail title
Mobile UI #7: Dive list EOL and Swipe To Refresh
Mobile UI #8: Sidebar Header
Mobile UI #9: Settings page
Mobile UI #10: Title Bar
Mobile UI #11: Edit Dive / New Dive layout
All original mockups made with moqups and are online at: (https://app.moqups.com/Bocio/3SSyFCoEwP)
Currently Subsurface mobile app has an explicit "save button" on the edit/new dive panel.
This poses two problems:
Screen space
Limited screen space while editing giving a really bad user experience. When keyboard slide in, the large save button occupies most of the visual space. See this screenshot:
Wrong gestures
If the user doesn't press "save" button explicitly he can easily loses all entered data just pressing back button (we have about 15 fields). Moreover the "dive edit" panel floats: swiping the panel upward or downward too far, actually delete it loosing all the data.
See this screencast: https://www.youtube.com/watch?v=qXcIIhQlzBQ
Proposed solutions
Regardless of chosen solution, edit/new dive panel must be fixed, not a floating panel.
Silent auto-save function. Each time a field is completed via the keyboard "done" button, data are saved locally. Local storage is then synced explicitly by the user via the "sync to cloud" action.
Validation and save/dismiss invoked when the user leave the edit/new dive panel. User can leave the panel via the Android navigation bar back button or via the back icon on the title bar.
Whatever back button is pressed a dialog tells the user that the form must be saved or discarded. This solution offer us a way to validate user input before actually saving them. The form could contains invalid values or the user quit before bare minimum dive data are entered.
Again, like the first scenario, Local storage is then synced explicitly by the user via the "sync to cloud" action.
Some notes:
Hereafter some QA on this topic from UX Stack Exchange. Some of them are old (2012). Now both Android and IOS have mostly implemented background auto-save.
Some of the most used apps:
provide auto-sync feature, which are seamless to the users.
Most of users also are using these apps, and their mental model is already set with an expectation of a hassle free, almost invisible auto-sync feature.
What is the best user experience in our use case?
https://ux.stackexchange.com/questions/106671/best-practice-when-saving-settings-to-backend-on-android
https://ux.stackexchange.com/questions/79558/manual-saving-loading-from-dropbox-in-mobile-app
https://ux.stackexchange.com/questions/88541/is-the-following-approach-better-for-mobiles-missing-save-option-in-google-ke/88551#88551
https://ux.stackexchange.com/questions/17538/android-explicit-save-or-background-save
The text was updated successfully, but these errors were encountered: