fabd / kanji-koohii

A web application to help Japanese language learners remember the kanji.
https://kanji.koohii.com
GNU Affero General Public License v3.0
228 stars 21 forks source link

Improve tables on mobile #3

Open fabd opened 7 years ago

fabd commented 7 years ago

Improve data tables UX on mobile (flashcard list, etc)

VueJS

faneca commented 7 years ago

I'll leave here some links to nice workarounds to the generic problem of responsive tables, hoping not to be too off-topic: https://elvery.net/demo/responsive-tables/ https://css-tricks.com/responsive-data-tables/ (linked also from the previous article)

fabd commented 7 years ago

@faneca Thanks!

Yeah I've seen those and similar approaches. I'm not too thrilled about making the rows expand into a large block just for the sake of fitting data into the screen. It may be overkill for our needs and will make tables like FLashcard List very long, even 20 rows at a time.

Considerations

Current approach

I think that's a "good enough" solution, unless there are issues specific, which may come later once it's "public beta" and there is more feedback. But I am hopeful the above is sufficient.

Note that this is all in the spirit of trying to keep as much common code between mobile and desktop to make development more manageable. Exceptions are made when mobile requires a specific solution for a decent experience.

We could also hide some columns on mobile, but I think the solution above, prioritizing important columns, is better, so mobile users can see the same data.

That said if there is a technique out there you think would do well on a particular page of the site, I can look at it.

faneca commented 7 years ago

I've seen two or three more techniques not explained in the linked articles (well, tbh more like variations on the same ideas), but don't think are worth mentioning. Your approach seems the most reasonable for kanji.koohii.com (but if anyone else has another interesting solution to share I also would be more than willing to hear it ;-). @fabd Thanks for your hard word!