> The biggest revamp was from Gingerbread's UI to the new Holo interface style introduced in Android 4.0 (Ice Cream Sandwich).
Uh, and this one they're talking about now.
> 84.3% of Android users are running Android 4.0+
And it only took nearly 3 years to pull that off...
> There simply is no excuse for ignoring the style guidelines anymore.
Yes there is: the fact that at any point in time you have to follow two or more style guidelines. Let's say I want to make a new app today targeting the new UI look and feel Google has just released. Since only a tiny fraction of Android devices are going to be running that latest version I need to target the current UI look and feel and the previous one. Bits and pieces can be bridged with the compatibility library but now that means you're saddled with programming against the compatibility library for several years. Every UI refresh brings along with it extra technical debt that developers are burdened with -- even small ones like notification bar icon changes (which happened in 2.2 -> 2.3). Take a look at last year's Google I/O app. This is the asset management required to create a "best of breed" Android app that targets as many devices as possible:
Ho-lee shit, what a nightmare. Can you blame developers for being lazy? It's hard enough just knowing what's expected of you to make an application that can a) run on a majority of devices, b) look good on said devices, and c) make use of new APIs.
There haven't been any significant UI revamps in 3 years. Applications written using the interface guidelines set out when Android 4.0 was released still look fine today since the look and feel has not changed too much in 3 years.
> Take a look at last year's Google I/O app. This is the asset management required to create a "best of breed" Android app that targets as many devices as possible:
Ummm, I don't see what you're getting at here. These assets have been the case for most versions of Android. That folder contains portrait and landscape layouts, drawables for the different device sizes (and hidpi), and translations. If you would like users to be able to user your application in other languages, you have to provide translated strings somehow. If you would like to have different portrait and landscape layouts, you have to include those layout files. That's just expected regardless of your platform. It's hardly a nightmare. You aren't required to support other languages and Android will do it's best to rearrange your interface for landscape and scale your drawables appropriately. This just allows developers to have a greater degree of flexibility and customization to ensure that their applications run well no matter the device size, orientation, or language.
It's all documented in great detail at in the Android documentation[0].
Uh, and this one they're talking about now.
> 84.3% of Android users are running Android 4.0+
And it only took nearly 3 years to pull that off...
> There simply is no excuse for ignoring the style guidelines anymore.
Yes there is: the fact that at any point in time you have to follow two or more style guidelines. Let's say I want to make a new app today targeting the new UI look and feel Google has just released. Since only a tiny fraction of Android devices are going to be running that latest version I need to target the current UI look and feel and the previous one. Bits and pieces can be bridged with the compatibility library but now that means you're saddled with programming against the compatibility library for several years. Every UI refresh brings along with it extra technical debt that developers are burdened with -- even small ones like notification bar icon changes (which happened in 2.2 -> 2.3). Take a look at last year's Google I/O app. This is the asset management required to create a "best of breed" Android app that targets as many devices as possible:
https://github.com/google/iosched/tree/master/android/src/ma...
Ho-lee shit, what a nightmare. Can you blame developers for being lazy? It's hard enough just knowing what's expected of you to make an application that can a) run on a majority of devices, b) look good on said devices, and c) make use of new APIs.