AndrewBennet / ReadingListV1

:books: :iphone: Reading List - an iOS app to track personal reading lists
https://readinglist.app
GNU General Public License v3.0
300 stars 48 forks source link

(Draft) Make it faster to add a book #46

Closed bryanjclark closed 3 years ago

bryanjclark commented 4 years ago

I'd say 90% of the time that I tap the "+" button to add a book, I want to go to the Search Online screen. (I dunno if this is true for other people, but I'd bet it is!)

This diff changes the flow for the "+" button - instead of showing an alert (which you then have to read the options and choose one, and I often accidentally choose the wrong one!) - it goes straight to the Search Online screen, with additional buttons to scan a barcode or add details manually from there.

Napkin 2 07-17-20, 11 05 17 PM

Here's a video of it in action: https://clrk.it/32vZa5S

Still to-do:

AndrewBennet commented 4 years ago

I like this concept!

You are right, Search Online is used much more than Barcode Scan. Checking Firebase Analytics, in the last week there were 40,745 online searches from 7,685 users; whereas there were only 9,283 barcode scans from 2,634 users. I don't have up to date Manually Added counts unfortunately, as it seems I accidentally removed the analytics logging code for that operation a while back 😂 Back in December 2017 when it was still being logged it was running at about 1/4 of that of Scan Barcode. I like that this work doesn't add extra taps for Scan or Manual, but reduces taps for the most frequent operation.

I wonder whether the navigation flow might be easier to understand if this was adjusted so that modals didn't present further modals, but instead pushed the relevant view controller. I.e., if you tap the barcode symbol, the barcode scan controller could be presented in the same modal window. It would probably make the entire modal-stack dismissing easier. What do you think?

bryanjclark commented 4 years ago

I wonder whether the navigation flow might be easier to understand if this was adjusted so that modals didn't present further modals, but instead pushed the relevant view controller. I.e., if you tap the barcode symbol, the barcode scan controller could be presented in the same modal window.

Yeah, I hear you there! I'm always hesitant to present modals-on-top-of-modals. (I think pushing-on the scanner or add-manual screens would be much better than presenting modals-on-moodals - but I wanted to see what you thought about this concept before making the other changes to those screens!)

I'll make some tweaks to the barcode and add-manual screens to get it working!

bryanjclark commented 4 years ago

(sorry, didn't mean to walk away from this PR for so long! Covid + childcare = weird evening availability.)

AndrewBennet commented 4 years ago

No worries at all! I know how things can get very busy; there's no rush with this

AndrewBennet commented 3 years ago

This may change things a little - on iOS 14, bar button items have a new menu property, which allows them to present like this: 630EA32C-D18A-4719-8E1F-049FD665484D_1_105_c

Although its the same number of taps to bring up the Search Online screen, being in a context-menu style interaction makes this action feel a bit more lightweight. At least, that's my opinion, what do you think?

bryanjclark commented 3 years ago

Yeah, I think that's a big help! Since I haven't had time to get back to playing with this, I'm going to close out this pull-request. Thank you!