Material Design: Strategic Considerations
There has been a lot of discussion regarding the adoption of Material Design aesthetics in Android apps. Newcomers to Android might conclude that Material Design must be The Most Important Thing in Android Development and therefore should be pursued immediately at all costs.
Not everybody shares this opinion
Hence, FWIW, here is my take on how you should be thinking about Material Design in the here and now. As usual, imagine a grain of salt approximately 30cm on a side, and take that grain of salt with my thoughts on the subject.
DO start considering the effects of Material Design upon
your Android app. Theme.Material
is the dominant theme on Android
5.0 devices, and it should remain the dominant theme on future
Android versions, at least for a while. There will be hundreds of developers of
millions of these devices in use, eventually, and you will want
your app to look like “it belongs” on those devices. On those
devices, not only will Google’s apps be employing Theme.Material
,
but manufacturer-supplied apps should do so as well. While not
everything on the device may necessarily adopt this theme, more
than enough will that your app may stand out somewhat if your app
does not and the user thinks that it should.
DON’T worry about this right away. Android 4.4 reached 30% of the Android device ecosystem after one year, and we have not seen that rate of adoption since Android 1.0. Odds are that it will be mid-2015 before Android 5.0 crosses the 10% threshold. As such, there just are not that many Android 5.0 devices out there, so worrying about those devices over the next several weeks is serious overkill.
DO plan on including Material Design impacts in your next UI refresh, and you should probably try to budget time for that refresh by the end of 2015 (by which time Android 5.0 might be 20-30% of the ecosystem).
DON’T blindly assume that you should be using a Material-ish look on all versions of Android. Your objective should be having an app that looks like it belongs on the device. Material-themed apps are highly unlikely to achieve majority status, let alone dominance, on pre-Android 5.0 releases. After all, device manufacturers are not going to be shipping Material-themed updates to built-in apps en masse, and there are plenty of apps out there that are still using pre-Holo themes. This is all on top of app that have no identifiable Android theme (e.g., most games). Certainly, there will be Material-themed apps running on Android 4.x devices, courtesy of Google and some other developers. But there will be enough Holo-themed apps that your app will not look out of place on Android 4.x any time soon, if ever. Hence, you have your choice of adopting Material Design across the board or not – user pressure is unlikely to be a major criterion any time soon.
DON’T fall victim to the “our app must look the same across all devices” mindset. Again, your app should look like it belongs on the device, which is why trying to ape an iOS look-and-feel on Android is rarely a good move. Most people do not have two Android devices, and only a small subset of those will have an Android 5.x device and an Android 4.x (or older) device. Hence, most of the people who will care about your app appearing identical on those devices will be in your meeting room discussing the issue. Few of your users will notice – they want an app that works, does what the user wants, and looks like it belongs on their device.
DO consider whether adopting Material Design across the
board may offer engineering benefits. For example, if you have
been heavily customizing widget colors in a Holo
-based theme,
the tinting options provided by appcompat-v7
may simplify your
app a fair bit, reducing APK size, maintenance costs after the
Material conversion, etc. Since your users are unlikely to be
terribly concerned one way or the other, engineering considerations
may help to “tip the scales” in one direction or another.
DON’T blindly assume that appcompat-v7
will result in a
simpler app, or that it should be the basis for all new apps.
While the original appcompat-v7
has now been around
for 16 months or so, the new Material appcompat-v7
is very young,
and hence it has bugs, such as
requiring extra work to function on Android 4.2.2 Samsung devices.
Not all of those bugs are Google’s fault (e.g., the Samsung device
issue was really caused by a screwy decision on Samsung’s part),
but that comes as cold comfort to developers trying to distribute
appcompat-v7
apps. And, if you are comfortable with using
themes based on Theme.Holo
for pre-Android 5.0 devices,
appcompat-v7
may be much more of an impediment than an advance.
appcompat-v7
is a tool, not a religion – use it where it clearly adds
value to you and your app.
DO start planning for Google’s next major theme overhaul.
Google, of course, is portraying Material Design as being The One
True UI Design. Google will probably get irritated when people like
me point out that Theme.Material
is the third major theme in
the six-year production history of Android, and so assuming
that Theme.Material
is “the be-all and end-all” of themes is
unrealistic. Whether the next-generation theme is a refinement on
Material Design or a larger overhaul remains to be seen. But you
should be taking into account that we may well wind up going through
this same process in, say, early 2018. The more you can isolate
the theme-related changes from the rest of your app, the more likely
it is that you will be able to accommodate future theme changes
with less work.