Where the design community meets.
over 8 years ago from Matias Duarte, VP Design, Google
Material Design needs to be a cross platform design, which makes this question of what conventions to adjust to when moving between platforms particularly important.
In most cases we’re absolutely intentionally applying patterns we think are universal to all our platforms. For example the FAB - which is a just a way to focus the user on the single most important meta action. You might remember a number of apps which explored this type of pattern on Android and iOS before. It seems pretty clear that it can be used universally.
With regards to iconography I’m actually personally frustrated about that. This isn’t a technical constraint, but perhaps more of a business or ecosystem constraint. “Hamburger” as much as it’s an oddly empty glyph, has at least been adopted universally.
On the other hand, “show me more options”, and “share” have been subject to the whims of various platforms for the last decade. Frankly I think this kind of thing is ridiculous.
I’ve seen usability study after study that shows the glyphs we currently use cause confusion to first time users. The problem is exacerbated by the reality that our users use a mix of platforms during the day. Asking designers to use text is not an option - these common functions can take up too much space and are often hard to label meaningfully.
It’d be like if you bought a Walkman(™) from Sony and the “play” button was a triangle, but if you’d bought a competing cassette player from Philips the same function was labeled with a circular arrow. Or if stop signs in Mississippi could be blue squares, while Massachusetts has red octagons.
I feel like what we need as a design community is a consensus on open source and standard iconography for these common user actions. This is not about branding, but about basic usability.
Great point about the cross-platform inconsistency of icons.
Unfortunately missed your AMA, but in case you have time:
You might remember a number of apps which explored this type of pattern on Android and iOS before. It seems pretty clear that it can be used universally.
Some of these same apps moved to something more iOS-standard. Path moved to using a "+" in a tab bar when they replaced their hamburger button. Quora moved theirs to the top-right, or a textbox if you haven't scrolled. Off the top of my head I can't actually think of many other apps that used a button similar to a FAB.
What I wonder is if those changes were made because, despite the pattern itself potentially being superior in terms of ergonomics and discoverability, they're trumped by what users already expect. In the same way that multiple icons are used to convey ideas such as "Share", multiple design patterns across a platform could be confusing. The hamburger menu, for example, I don't think is necessarily a bad pattern, but people who use iOS devices aren't expecting them, because they're not something they typically interact with. I would argue that the best pattern for a particular platform depends on what's been advocated for and most heavily used (tab bars on iOS, for example), because most other patterns require the user to re-learn something just for your app (or in Google's case, suite of apps). I'd be interested in hearing your thoughts about that.
Where the design community meets.
Designer News is a large, global community of people working or interested in design and technology.
Hi Matias! Google Design Guidelines (and common sense) tells you to respect platform you are designing an application for. It makes total sense. Android community hates when iOS design is getting ported as-is to Android platform. It breaks well-known experience to Android users and makes life harder. At the same time there is a number of Google apps on iOS which are heavily using Material design (and other Android UX principles) in their implementation. Just a few most noticeable examples - is Android share button, drawer icon, overflow appbar menu, FABs in such apps like Google Chrome, Google Maps, Youtube. Was it done intentionally? Or there is a technical constrain behind that like code sharing or something?