Mobile menu toggle

Designing for Android: an iOS developer’s perspective

By

Photo: Diarmuid Miklós/Flickr
A one-size-fits-all hybrid design for Android and iOS apps is not the best of both worlds. Photo: Diarmuid Miklós/Flickr

As an iOS developer, I’m frequently asked, “When are you going to do an Android version?” Like it is just a matter of time.

But the truth is, we’ll probably never support Android. While there are sound business rationales for this, my motives are rooted in design philosophy.

The commercial and technical reasons

I could offer plenty of logical explanations for why we have not yet developed an Android version of our workout app, Reps & Sets.

Like the fact that Android users don’t buy as many apps as iPhone users. That Android devices tend to run older versions of system software. Or that testing on Android is a nightmare because there are so many different devices to support.

All good reasons, to be sure. But they are not my reasons.

The real reason

My reason is simply this: I love iOS and I don’t like cross-platform design.

When I first saw the iPhone in 2007, its interface blew me away. As a designer, using it was not enough. I wanted to work with it. Just like a mechanic who can’t resist lifting the hood of a car to take a look at the engine, I wanted to understand how all the pieces of Apple’s magical new multitouch user interface worked together. And the best way I could think to do that was by designing an iOS app myself. So, my partner Martin Algesten and I did just that.

Tight integration of hardware and software

Apple has always excelled at integrating hardware and software.

The original iMac’s design was perfectly complimented by the look of the first version of OS X. The on-screen buttons were exactly the same hue of Bondi blue as the iMac’s translucent case, while the stripes around the Finder windows matched the screen’s plastic bezel perfectly.

With the iPhone, Apple took its tightly integrated approach even further — beyond surface appearance. For example, the interface is laid out carefully so that frequently used buttons are positioned easily within reach when you hold your iPhone with one hand.

When developers build apps that follow Apple’s user interface guidelines, their users benefit from all this careful planning. Even third-party apps can become an integral part of the overall Apple experience.

This kind of integration is just not possible if you design a single cross-platform interface to work on both iOS and Android.

Hybrid design doesn’t work

As Android has steadily gained market share, many iPhone app developers have gone cross-platform.

In an ideal world, you’d design a different tailored interface for each platform’s unique visual language. One following Apple’s guidelines for iOS, the other following Google’s new Material design style for Android.

But given the cost and time implications of this approach, some developers have adopted a single, hybrid design for both platforms instead. As a result, some Android interface conventions have crept into iOS apps, like the three-dot sharing icon in Google Maps and YouTube.

The problem with this lack of consistency is that the icons on your iPhone become less familiar and intuitive as a result.

Rethinking our app’s user interface to follow Google’s Materials design would certainly be an interesting challenge. But to do it properly would be very time-consuming and our app is a hobby project — we do it more for love than money. Personally I’d prefer to spend time working on our Apple Watch app or some other new feature for our iPhone app instead.

A good user interface just disappears

When I presented our app at a conference last year, one of the delegates remarked that he felt the design was pretty basic, with almost no branding. To him, design was all about using distinctive colors, typefaces and logos.

But the minimal branding in our app was a deliberate choice. We wanted it to feel like an integral part of the user’s iPhone experience. If you do a really good job of this, the interface becomes almost invisible, enabling the user to perform their task so effortlessly that they hardly notice it.

One of my proudest moments as an app designer was when a user e-mailed me last year to ask about our plans for Android support, because he wanted to “upgrade” his old iPhone to a Samsung. I replied with an apology, explaining that we were not planning Android support.

He e-mailed me back two days later to say that he had changed his mind and decided to buy an iPhone 6 instead, because he couldn’t live without our app.

Good user interface design may become invisible, but you notice it when it’s gone.

  • Subscribe to the Newsletter

    Our daily roundup of Apple news, reviews and how-tos. Plus the best Apple tweets, fun polls and inspiring Steve Jobs bons mots. Our readers say: "Love what you do" -- Christi Cardenas. "Absolutely love the content!" -- Harshita Arora. "Genuinely one of the highlights of my inbox" -- Lee Barnett.

9 responses to “Designing for Android: an iOS developer’s perspective”

  1. Kevin Peck says:

    Good design can happen on both platforms. They should not look exactly the same. There are good points and bad points to each platform and you can take advantage on them when you are on that platform. I write an app for a business and I write both the iOS and Android versions. The operate as closely as possible but they are different in a number of areas. The Android versions makes use of the actionbar toolbar for example.

    Most new Android apps support ICS (3.0) or KitKat (4.0) and above. Just like most new iOS apps support iOS 7 and above. Are there people still using Gingerbread and iOS 6? Yes, there are but that does not mean you MUST support them.

    Did you do special layouts for the iPhone 6 and 6+ of just leave them exactly like an iPhone 5? People expect special layouts for the larger devices. There are a lot of the same issues that need to be solved on both platforms.

    Totally your right to not do a version for Android. I do feel if you found a solid developer / UX person that understood the Android landscape you would be very happy with the results as would your customers.

  2. Nirbhay Agarwal says:

    As a developer myself I can relate to this. A couple of years ago things looked shaky with the advent of hybrid/web apps and growing share of android. The only reason i stuck to iOS was precisely because of the love for its design philosophy.

  3. Tom says:

    The first imac runs on mac os 8, osx was released later on.

  4. Lucus Bendzsa says:

    I 100% agree with you here. As a developer myself I only code and design for two platforms. Fire Phone, Mac, and iPhone. Developing for Fire phone may be weird, but I really think that it has potential. It has a much better, more Apple-like, approach than Google does.

    Though overall Apple is the best to develop for.

  5. darkeno says:

    I also dont believe in cross-platform design and most Android users will probably agree with me. We cringe when we see an Android app with an obvious iOS UX put on top of it. If you’re gonna build for Android that at least invest some time in learning the normal UX conventions Android users expect and do some proper material design while you’re at it.

    Im sorry but this article is kinda lame – its sounds like the real reason is you dont like Android or can’t be bothered to learn it. That’s fine but at least own up to it. But before you do, know this: Android got a lot of things right, especially if you’re a developer, so much so that iOS at this point has been busy copying Android features for the past 2 years. Third-party keyboards? Widgets and sharing extensions? Sorry we’ve had these in Android for literally years (and some from the beginning). And iOS notifications are still not as good as on Android.

    Fragmentation (which also exists on iOS too BTW) is way overblown as numerous developers have said. The APIs have not changed much between 4.0, 4.1, 4.2 and 5.0 – if you target 4.0 and it will simply work on the vast majority of Android devices. Compare this with the iOS world where users are forced to upgrade every year even if their hardware is old and support for older devices usually drops by the wayside. Unlike Google, which often back ports new APIs, Apple doesn’t care about legacy support for developers much.

    And do the math: there are over a billion Android devices and it will get to two billion even faster than the first billion. Even if the buy-rate is lower, 0.5% of a 1 to 2 billion Android devices is still bigger than 1% of 800 million iOS devices.

    As a user, I own and use both Android and iOS devices. As a developer, Ive built Android apps and hybrid apps for both platforms, but Im currently learning to write for iOS too so I can work better with both platforms. Each platform has its pros and cons but you wont ever know without developing for both sides.

    I should also add Swift has become hugely popular, not because its an amazingly great language, but because Objective-C is so god-awful – its the bastard child of Smalltalk and C and the dinosaur of a bygone age. Apple should have done this shift years ago but at least they’re doing it. Still for many developers, learning Java is a better bet than learning an Apple-only language because at least it can be used in more places than Swift. There are some things that Android just plain got right from day one.

  6. Choo Choo says:

    On an Android phone the end user is the designer, on an iphone, Apple, is the designer. You can call yourself a designer.

Leave a Reply