We previously wrote how Skype did a smart thing by creating one consistent design for its version 5 across iPhone, Android and Windows Phone. It’s smart because it will save time and raise the probability of a high performing, consistent experience.
App developers should test and iterate their apps’ design until satisfied of greatness. If you have a different design for each OS, that’s multiple times the amount of work needed to test and iterate. Totally unnecessary. A great design is universally intuitive; an iPhone user will be able to use a well-designed Android app and vice versa. And if they can’t — requiring the back button to navigate the Android version for example — guess what, that’s not a great design.
There are many examples of good cross-platform design and the most obvious one is Instagram. The Android version is nearly identical to the iPhone version. When the design works, why risk changing things just for the sake of the OS? Of course, you should still take into account each OS’ quirks. For example, with feecha the sharing function is native to Android, whereas we had to custom build it for iPhone. But if we were to port feecha to Windows Phone, it will look exactly like our design for iPhone and Android.
Then there are apps that are designed differently for iPhone and Android, and often to bad results. One such example is Yahoo Sports.