jaedb / Iris

Discover, explore and manage your music library across multiple sources with this beautiful web-based interface. Iris is a Mopidy frontend extension.
Apache License 2.0
1.14k stars 134 forks source link

Multi-select on mobile/touch devices? #963

Open 01tot10 opened 4 months ago

01tot10 commented 4 months ago

Problem to solve

I've tried to figure out a way to select multiple items using a device with a touch screen, but to my best understanding, Iris doesn't support this feature. I tried to seek for help from Mopidy Discourse, but the limited responses I received would strengthen my suspicions.

I tend to reach for this feature whenever I'm queuing albums to try out, to say, only have the "A-side" of a record queued up. The other use case is removing, moving or otherwise managing items in the play queue, which I now have to do one item at a time on mobile.

Searching the issue tracker, I see that at least once upon a time there was some sort of a "checkbox mode" that might have had this feature, but maybe this was taken away in favor of something else in the UX? Anyways, I would be curious of any insight regarding multi-touch on mobile!

Proposed solution

Allow for selecting multiple items even when using a device with a touch screen.

Additional info

Here's a screenshot of how multi-select works on Desktop:

66134b60d82701671ecdb4aa9e02793d21ae5c85_2_1035x570

jaedb commented 1 month ago

I genuinely feel your frustration - this is something that earlier versions of Iris did actually have! However the combination of multi-select, drag and drop along with scrolling made this an incredibly fiddly task. It was also quite buggy so I elected for simpler, easier-to-maintain behaviour for touch devices.

At least until I had time to develop a more complete and robust solution.

01tot10 commented 1 month ago

Hey @jaedb! Thanks for the reply and for the insights! I had the feeling something along the lines of what you described must have happened under the hood. What you said makes sense, and I can understand why you chose to go with a simple solution in the end.

Just out of curiosity, can you imagine how the issues you just described could be solved from a technical angle, meaning that the bottleneck would be finding the time for going through the refactoring? Or rather that the system itself still requires some thinking and planning, thus making the whole endeavour more demanding of a task? And I guess, to complete story, are you interested in/bothered by this aspect enough to see yourself diving into this at any point in the unforeseeable future 😇?