Developing for Android vs. iOS: Material vs. Flat Design

Jordan Réjaud
Sep 8, 2016 · 4 min read

Many startups in the mobile space will initially create a iOS app to validate their product/ market fit and once they think they have a product that interests people, they then focus on releasing an Android app.

It’s important to understand than while they are very similar competitors, iOS and Android are two distinct operating systems with their own standards, features, and user expectations.

Failing to understand the differences between developing Android and iOS apps is likely to result in sub-par software with a less than desirable user experience.

In the first installment of this multi-week series, we’ll start by going over high level design differences between Android and iOS. Over the next weeks we’ll be going over specific UI element differences (how Android and iOS sometimes use different UI elements to represent the same thing), platform feature differences (what can an Android app do that an iOS app can’t), and user population differences (who uses Android apps vs. who uses iOS apps).

If you want to receive an update when these next articles are posted, please subscribe to our mailing list (no spam, I promise). If you’re an entrepreneur/ developer in the mobile space and are planning to release your mobile app on both iOS and Android, it’s imperative that you understand the specifics of each ecosystems and user base to ship better software.

Design Language Differences

Google’s Gmail App for Android

Let’s start with the most obvious difference between Android and iOS: The design languages. Google released Material Design a few years ago and it’s quickly become the standard for Android App Design.

Material Design is defined with a bright color pallet, using shadows on elements to simulate a sense of “height”, and a preference for square shapes over rounded corners.

Material Design Animation by Kyle Waldrop, https://dribbble.com/shots/1930247-Material-Design-Animation

Material Design has a focus on eye-catching and continuous animations to grab the user’s attention.

Google has been pushing Material Design hard on Android, and has released extensive design documentation for designers and developers.

Apple’s Mail app for iOS

Unlike Google Material Design standardization attempt, the flat design that Apple introduced in iOS 9 doesn’t have an official name, but is commonly referred to as “iOS 9 Design” or “iOS 9 Flat Design”, or some similar mutation.

iOS 9 Flat Design is defined with a muted color pallet, relying heavily on white/ neutral grey as a background color and blue as an accent color. It focuses on clarity, deference, and depth. More vibrant colors are used sparingly (compared to Material Design), and translucence, rather than shadows, are used to convey depth and perception.

iOS design in its bare form can be argued to be more minimalist than Google’s Material Design but typically is heavily customized by designers that take Apple’s Human Interface Guidelines and come up with their own solutions on top of it.

Source: http://digitalagencynetwork.com/top-10-ios-9-features-in-gifs/

iOS 9 Flat Design has more subtle, “fluid”-esque animations when compared to Android Material Design Animations.

Apple has official iOS Human Interface Guidelines, although they aren’t as nearly as extensive as Google’s Material Design Documentation.

Good unofficial sources for iOS 9 Flat Design Documentation include Design Code’s and Ivo Mynttinen’s Documentation.

Conclusion

That’s it for this week’s intro article.

In the next article, we’ll be going into the details of how specific UI elements are used in iOS vs. Android.

If you want to receive an update when these next articles are live, please subscribe to our mailing list. If you’re an entrepreneur/ developer in the mobile space and plan to target both Android and iOS, you’ll massively increase your chances of success if you understand the design and feature differences between these two operating systems and user’s expectations.

Also, if you have an iOS app and you’re looking for an experienced Android Engineering to help you create an Android version of your app, feel free to reach out.

This article was co-authored by Alex Bush, a software Engineer at SmartCloud. He blogs about advanced iOS topics and Ruby on Rails.

Jordan Réjaud

Written by

Software Engineer and Consultant living in San Francisco.