@hoker Pushed out a new update today; it took him less than 21 hours after @ThePolishedTurd made some suggestions for improvements. Very impressive! Thanks for your hard work @hoker!
Changes are:
OTP Credentials are now listed in alphabetical order
Hey, question to y’all. I’ve just about finished OTP credential reordering, and am running a test APK of it now. Before I push the update though, I want to hear y’all’s thoughts about something.
Originally, I was going to add reordering of credentials as well as the ability to “favorite” certain credentials. After implementing reordering though, I feel like it may be unnecessary to add favorites as well. If something’s a “favorite” you would just move it farther up the list, no? What do y’all think? Is a “favorites” list needed if reordering is implemented?
How’s the reordering implemented? Are there any preset sorting methods like alphabetically, date added, etc?
I can see two tabs in the page, one for favorites and one for the list?
Currently, its a drag handle just like NDEF records are handled. You can drag em around and order them how ever you want. By default they’re sorted alphabetically.
If it’s drag to reorder, then I feel like a favorites function would be unnecessary. People can just keep the most used accounts at the top. Thank you for all of your work, I’m excited to see the release!
I would love an automatic favorite system… since you tap the codes you want already, just track tap counts and put most taps on top if the sort system selected is “auto”.
If there are I feel like “last used” would be te obvious one to have. Where the last one you’ve copied goes tote top
There’s probably 2-3 that people use most and they would naturally hover around the top.
Have you thought of retrieving the url favicons to use as icons? That’s what I did in zinc for implant manufacturers
I feel like “last used” is also covered by the automatic favorites system I wouldn’t want a random one time use per year on a code to shift it all the way to the top.
I guess the system I’m talking about would be called something like most used because it’s tracking and sorting based on the most used codes.
So, the issue with the whole “most used” filter is just complexity. From a programmatic perspective, even just storing a custom order is more difficult than you’d think.
I’m currently using a custom converter that JSON serializes/deserializes a HashMap with credential keys as the map key and the custom index as the value. Then I track reorders, save those changes to a staging credential list, and then when the user lifts their finger from the drag handle, I run a database insert in an IO coroutine after the staged list is converted to a HashMap. Then I fetch that map every time someone run a credential refresh. If no HashMap is persisted, it defaults to alphabetical ordering.
Tracking the most used would add a bit of complexity to the existing system. Basically, I feel like a user has some idea which credentials they use the most, so it may make more sense to just let the user move those up the list rather than track and persist the individual tap count for each credential, when effectively the result won’t be that different. Ya know? Also, I for one am not crazy about my credential list changing a bunch based on usage. Once I get used to their placement, I would want it to stay that way. That may be a me thing though.
I’ll eventually implement it if there’s a enough demand for it, but it is a good amount of work for what may end up being a negligible difference in day-to-day utility as opposed to basic reorderability.
There’s a reordering option that’s usually easier to implement, it’s the one’s where you have a “move up” and “move down” button on each list item. Possibly hidden when not in reordering mode. It involves taping multiple times if the item is at the bottom and you want it at the top but it’s a one time process.
That’s what I do when I don’t want to deal with dragging and dropping and async and all that…