I have a GridView that needs more adaptive formatting. Something that works well in a responsive context without losing all the valuable points.
What patterns exist in 2015 for presenting tabular data well, regardless of the device?
I have a GridView that needs more adaptive formatting. Something that works well in a responsive context without losing all the valuable points.
What patterns exist in 2015 for presenting tabular data well, regardless of the device?
The trouble with tables is that there's no focus. No hierarchy. Just a whole bunch of data to be crunched. They have their place, but the use cases are nowhere near as numerous as their usage.
The dominant pattern to solve this today has it's very own buzz word: "cards". There's nothing new about the pattern, but it works well in a responsive application. And this solution allows (requires?) you to establish hierarchies in your presentation.
You'll have to do a little extra work to cover tables' strong points, though. If someone wants to sort the list, they no longer have a bunch of little header cells to click on. You have to provide a separate control covering the required sorting. Remember filtering as well.
It's a very broad label for any series of discrete sets of related data you bother to bestow with visual structure beyond rows and columns. In fact, StackExchange's list of question is a card UI without the bothersome surrounding box.
We can keep the baby. Tables will always be welcome when it comes time to dig into the nitty gritty details. Let users drill down to the tabular data that lies behind your card presentation.
To stay in scope I'm going to assume that you must use a tabular form (i.e. decomposing the data into cards, lists, or subviews is not an option).
Tables will never really be fully responsive friendly, but that doesn't mean they shouldn't be used at all. Sometimes it's a design constraint you have to work with and so it's not helpful to say "don't use tables".
Here are two approaches for more responsive-friendly tables:
1. Use design to narrow columns and summarize your data
For example:
This has two purposes.
First, summarizing your data avoids the "wall of text" and the sloppiness of false precision. For example, if you're displaying user counts and the relative count is more important than the precise number, then simply displaying '10K' is better than displaying '10328'. Sometimes visual summaries (e.g. traffic lights) can be even more effective.
Second, summaries occupy less space and allow for narrower columns and more breathing space between columns.
2. If precision is really necessary, allow table to be scrolled to reduce density
Sometimes data really has to be tabular and really has to be precise. For example, displaying a time series income statement where the numbers need to be spelled out in full and the time series is necessary for the application.
This is a tough design constraint so there are no good solutions, but one approach is to fix the column and row headers (blue) and then allow the body to be scrolled so that you don't overdensify the interface. The primary risk here is that the user gets lots in the moving content, so adding a mini-map to visualize where he is can be very helpful. It's also a good idea to add a 'reset' or 'back to top' button to reposition the table back to the top left.