Android Design Philosophy (or the lack thereof)
dcurt.is
dcurt.is
I'd rather have the ones with talent experiment so the best get better than enforce guidelines so everything is mediocre.
I don't play much with Android but is there anything that even approaches Flipboard?
You can certainly build ugly UIs on the iPhone and get them accepted.
Since iOS and WP7 provide a built-in look and feel and UI philosopy, developers on a budget can still produce decent looking and behaving apps whereas in Android, it results in a functional but bare looking UI.
Case in point, a summer intern at work was tasked with making a basic notes mobile app. He picked Android because that's the phone his dad had and because the company wasn't really interested in the app except as a learning experience for the intern so they weren't interested in buying Mac hardware and developer license(a point in Android's favor). The final app lacked sorely in both design and functionality (more because he wasn't really experienced in coding). I asked him during the demo if he could use some of the Android API transitions and animations between the screens to jazz it up quicky (those make a big difference when presenting to non-technical folks). The reply was that there were none(I am just reporting what he said, I haven't taken a look at the APIs).
I do know that iOS and WP7 provide built-in animations and transitions. The point is that you have to go out of your way to make mediocre looking apps in iOS/WP7 and good looking apps in Android. Add to that the fact that Android didn't even have GPU acceleration for the UI till Honeycomb(a tablet only release). http://code.google.com/p/android/issues/detail?id=6914
Some companies prefer to roll their own custom look and feel (like the web.) But there's nothing in iOS and WP7 which prevents you from doing exactly that if you so wish, you're not beholden to the UI philosophy of the OS and can possibly make any design that you can in Android.
[1]: http://developer.android.com/guide/topics/graphics/view-anim... [2]: http://android-developers.blogspot.com/2011/02/animation-in-...
I think Duarte has the right idea, but I think it overlooks something very important: It's really hard to make a great looking website. It takes a lot of design skill, graphic art work, and lots of experience with HTML, CSS and JavaScript.
Where Android is failing is providing a way for new developers with little design experience to make great looking apps that fit in with the rest of the OS. They should be providing awesome built-in UI objects and containers that provide great look and feel.
If a developer wants to go their own way and make their app look totally different, they don't have to use the built-in UI elements.
They should provide a solid foundation for anyone to make great looking apps, but not require that it be used, or even make the framework extensible and flexible.
I've been looking at the WebOS SDK recently and it only takes a few lines of JavaScript to build nice looking apps because all the components are provided. You can still make your own custom components if you want to. Layout is done with various built-in layout components with nice options. The tutorial example has a nice looking interface by the second lesson without any design or graphics work at all.
So, Android should provide a UI platform but still allow developers the flexibility to do what they want. They get the best of both worlds.
> Matias also told me that a new style guide was being prepped for developers with lots of off-the-rack pieces that would make it easier for third-parties to create the same kind of streamlined, beautiful applications I saw in Ice Cream Sandwich.
That short paragraph can mean a lot, here's to hoping that Google bundles this information in a way that is both:
- enjoyable for a developer without much design skills
- easy to point a new designer to so he can build up a rough framework of how to design for Android
Please Google, just don't scatter this info across developer.android.com in that crappy badly thought out tree structure :/
However, that can be easily fixed with an SDK update of the UI elements. The bigger problem, IMHO, is Eclipse. Each update of the Android SDK improves the designer in Eclipse, but it's still very awkward to use. The giant properties list is a mess. If Google wants prettier Android apps, it needs to fix Eclipse, or bite the bullet and build a standalone interface builder that treats android views as first class objects. The views are already very loosely coupled from the view controllers, so going to a separate app to deal with the view shouldn't be too bad.
Google also needs to populate the standard template with sane defaults. When I say File -> New project, Google should give me a good looking app out of the box. It wasn't until the latest SDK that the designer defaulted to the Nexus One resolution of 480x800. Before that, they were still defaulting to really low resolutions devices (e.g., QVGA). I don't know anyone in my circle of peers with less than 480x800--and this includes non-techies with old/free/cheap Android phones. Secondly, no one uses the "title bar" and that is the first edit I make to the app manifest and designer. Take that out. The default background is black, but very few of the apps I have installed on my phone use a black background. Most are white. I could go on, but this post is already too long.
Android's system preferences and overall look seems _more_ polished to me.
But that was (comparatively) long ago. All the "hit" apps are cross platform now. They generally look the same. Some are better on iOS (Facebook is a good example, though their recent Android releases have gotten a lot better) some on Android (Google Maps on the iPhone was a bad joke, last I checked, and there's no good competitor to use instead). The tier below that is mixed on both platforms, and there's plenty of junk to go around everywhere.
But that first year and a half still colors people's perceptions. So the canard gets trotted out every time someone wants to play the flame game.
And I tend to agree, actually, that Google has the cleaner and better core UI at this point. Apple wins on the "performance polish" issues: the devices are faster and better tuned, UI interaction is (often vastly) snappier. But I find the actual user experience to be better on Gingerbread than iOS 4 (haven't tried ICS or iOS 5 yet), frankly.
Instapaper (Read It Later is pretty good - though their iOS app is much better, too) Instagram AirVideo AlienBlue Reeder DipTic
These are the apps which I classify as "almost" as good as their iOS counterparts: Twitter Any of the 'Photo Editing'-of-the-day apps FourSquare
I love those annual Best of the Web design recognitions. They are all so differently beautiful in appearance and function. It would be boring if they all followed the same theme or trend.
Yes, the guys at Flipboard will probably be able to out do the HIG but it's a great starting point. Not having a HIG means that regular programmers will have to reinvent the HIG themselves.
I've had app rejections for HIG violations and to be honest I'm sure I could have kept my bad design if I replaced some stock Apple buttons with my own, but when I thought about it it made a lot more sense to just go with the HIG. (I was using a detail disclosure button for a login button)
>“There’s this thing that’s happening right now in user interface design that I find kind of shackling. The faux wood paneling trend, and the airport lavatory signage trend.” He laughs when he says this and pulls up a slide on his computer, a split screen of an Atari 2600 and… airport lavatory signage. It’s an obvious dig at both Apple and Microsoft.
>But what about Microsoft and their “authentically digital” design? “The problem with going too starkly systematic, forcing everything into this completely constrained, modernist palette, for both of them, you’re not leaving any room for the content to express itself.”