passwordmaker / android-passwordmaker

Password Maker written for the Android OS
http://passwordmaker.org
GNU General Public License v3.0
16 stars 7 forks source link

Improve the UI for navigation #27

Open heavensrevenge opened 10 years ago

heavensrevenge commented 10 years ago

https://play.google.com/store/apps/details?id=io.github.eddieringle.android.apps.passwordmaker has a really easy to navigate UI, are you able to have tab-like single-depth configuration panels like that instead of needing multiple levels of drilling in navigation for configuration options? Or at least name/label the buttons so I know what I'm clicking?

tasermonkey commented 10 years ago

To both yeah. The name/icon though takes up a bit of room for low res devices.

I debated on the tab interface, which I suppose I could change it to that, but decided that it takes up room on the screen for features that after you setup your device you should rarely use. People should use the patterns to set which accounts to use, so that you only have to change the input text. Instead of manually selecting the profile then typing in the input text.

I think I can change the labels to show "if room". Really I need better icons. If I make it text+icons basically phones the size of nexus4 and lower res, would only be able to show 1 action on the action bar.

If I add a tab bar, I won't be able to see the generated password at the same time as typing in the input text field, the screen is too short. Damn, just noticed something, not sure why this didn't bother me, but the copy button is off of the screen with the keyboard displayed. And it won't let me scroll, so I must have been just pressing the lower keyboard button and pressing copy without thinking about it. Sample Screenshot Maybe, though for tablets I could make it use the tab bar, there are plenty of space on those screens.

What you mean single-depth. The account list are still 1 click away(assuming you know what icon means what :-) ) And to edit an account is still 2 clicks.

Configuration(settings) options is also 1-2 clicks (depending on tablet or not). But Configuration shouldn't be changed that often (Save Input, Master Password hash, show username, show password strength). I assume the user would only change those options once.

Maybe what is missing is the ability to add an "input text" as a "Pattern" to the selected account? This way it will be easier for users to start adding "auto-selecting" accounts. (this behavior works in the chrome and firefox passwordmakers too)

These are just some thoughts, to get some ideas going.

tasermonkey commented 10 years ago

Another idea is in the settings, add an option to choose between tab'd and not. Though I think thats against Android's design guide.

heavensrevenge commented 10 years ago

Guess it's hard to describe, I like that ones "flow" . Things seem a little more obvious since there is labels I can see. When we go to profile customization could you have one selected by default to see right away?

tasermonkey commented 10 years ago

If you mean like if you had one manually selected, select that one? I think that would be possible/easy.

I copied that guy's idea of having the copy button just be next to the password text field, which now allows my phone to show the copy button with the keyboard out.

I like the tabs and I don't at the same time :-)

heavensrevenge commented 10 years ago

Well when I randomly navigate to a button(since I can't see the label :P), instead of the profile pane just showing a list, select the 1st profile in the list whatever it may be, or just show the default profile.... by default so it's more obvious that is is the profile page.

tasermonkey commented 10 years ago

Ok, how about these icons:

Favorites: ic_action_favorite

Accounts/Profiles: ic_action_accounts

Struggling to get Android to show the text on the ActionBar. But I'm trying :-)

heavensrevenge commented 10 years ago

:( Was really hoping for text somehow, even an abbreviation or initials would do to link without doubt or hesitation what a button UI element does. It's why I love using that other one since I'ts workflow is immediate and doesn't waste time exploring or training muscle-memory for navigation lol. What about using text icons with letters/words? what about SVG-ized text if raw/plain images don't work or are android hostile?

BTW you mentioned that you usually use the username + password combo right? I've just finished up auto-filling a profile's username with the password to commit/release hopefully tonight :) username

tasermonkey commented 10 years ago

RE: ActionBar Buttons: I just never use the buttons up there. The application automatically picks it for me. :-)

But ... The problem is, I'm not sure if I can have a different title for the actionbar, than the overflow menu. (different devices will have difference widths along the top).

But my goal is to ultimately get the buttons with the text up there. Though maybe android doesn't support that on the actionbar?

RE: Username Well, not me specifically but someone else who requested the feature for password maker.

But they have the usernames tied to each of their accounts/profiles. And I am going to be moving to doing that once I get not-lazy to go through all of my accounts.

tasermonkey commented 10 years ago

Ohh another option is I can force them always to be in the overflow menu.

Edit: like this: Android Screen Shoot showing menu

tasermonkey commented 10 years ago

Ok, here is another stab at solving your problem: Profile selection using spinner

Edit: The Auto-Select is always first. It will select based on Patterns. If you select one it will be on that profile until you cancel it, or select another profile, or select the Auto-Select option. I might force the default one to be on top too, if you like this.

heavensrevenge commented 10 years ago

As long as a profile is auto-selected when you go to the profile config section so I feel like I'm lost every time I want to change a setting, Don't really need to auto-select right there if room is super scarce but it would be nice :).

BTW here's the super clean MD5_V6 implementation https://github.com/passwordmaker/chrome-passwordmaker/blob/master/javascript/passwordmaker/md5.js#L170 , feel free to implement it if you want :) Hopefully everyone else like @miquelfire or any other PWM app will grab this if they want the legacy algo without the whole old md5 code since it's 100% compatible.

tasermonkey commented 10 years ago

Maybe I don't understand your use case. Is there something I missing for the reason to consistently go back to the account details page? Do you change the settings often for a profile? I can add an edit button next to the spinner control that you can press after selecting your profile via the spinner?

I freed up one 'row' by making the copy button right beside the master password text field. Though I haven't verified yet that I can see the master password row with the keyboard up on my phone yet, so far I just mocked it out with the emulator.

RE: MD5_V6: Granted, I didn't actually write the java code for the md5, but its implementation only very in like a 15-20 line or so if block. And is also general enough to really be applied to any of the hash algorithms, just that only the md5 one, has the option.

https://github.com/passwordmaker/java-passwordmaker-lib/blob/master/src/main/java/org/daveware/passwordmaker/PasswordMaker.java#L184

The only time 'trim' is set to true, is for the md5_v6. Because it was already written, and 100% compatible too, and in reality isn't too bad, though I think the two if blocks have alot in common, I think its fine. :-)

miquelfire commented 10 years ago

IIRC, the reason why that trim is there is because the first Java version didn't trim the leading character (which would be zero for the hex string for 0.6) which made it incompatible with the JS versions. I remember fixing that at some point.

That trim option could be used as another option if wanted at some point, but I think everyone figured there were too many options already, so it never went beyond having the option in the codebase that the user couldn't change except in one special case.

heavensrevenge commented 10 years ago

@tasermonkey and @miquelfire where is the java versions actual hash algorithm code?? The thing that creates the raw string to pass into that function?

tasermonkey commented 10 years ago

@miquelfire yeah, I agree.

@heavensrevenge, https://github.com/passwordmaker/java-passwordmaker-lib/blob/master/src/main/java/org/daveware/passwordmaker/PasswordMaker.java#L389 -and- https://github.com/passwordmaker/java-passwordmaker-lib/blob/master/src/main/java/org/daveware/passwordmaker/PasswordMaker.java#L438 -and- https://github.com/passwordmaker/java-passwordmaker-lib/blob/master/src/main/java/org/daveware/passwordmaker/PasswordMaker.java#L155 (this is where the difference between V6 and non-v6 (trim) )

tasermonkey commented 10 years ago

@heavensrevenge, What do you think of the menu now? I have it all text from the menu button, no longer having any buttons on the action bar. Also made it so that you don't need to long tap on the accounts list to show the actions to go against the accounts. Though now its 2 taps to do anything (use/edit).
Also you can now choose the Account from the main page (as a dropdown).