Android 3.0 Hardware Acceleration(android-developers.blogspot.com) |
Android 3.0 Hardware Acceleration(android-developers.blogspot.com) |
Google really needs to sort it out. It's a shonky user experience that really doesn't need it to be. I was certain that it was hardware acceleration that was missing, but obviously not. There was that bug ticket which indicated that Google thought it was garbage-collector related, but then that was supposed to have been modified in 2.3.
It's really pretty poor, and is certainly not helping to sell devices. Put an iPad 2 next to a Xoom, or a Nexus One next to an iPhone 4, and you really do see the difference. In stores like Best Buy, that's how they're setting up displays, of the two "flagship products". And I'm sure customers are going to go with the Apple product after trying them both.
(Don't get me wrong, it's a valid criticism. But it's not even remotely close to the reason people choose an iPhone over an Android-based phone, or vis-versa).
I'm an iOS developer and an Android developer, and I'm honestly disgusted by the level of excuses that is made for the horrible UX on Android. It reminds me of 10 years ago, when the meme on /. was "The Year Of Desktop Linux is always Next Year(TM)".
some operations behave differently when hardware acceleration enabled
So they've been conservative. I kind of wish they hadn't - 3.0 is a big enough version jump that people understand there's going to be a few glitches, and there are almost certainly a large number of apps that don't use any of the small number of listed APIs that change their behavior under hardware acceleration. Those apps that do use the APIs could be autodetected I would have thought and have hardware acceleration disabled automatically.Google really needs to focus on Android's user experience if they want to be a serious competitor to Apple across all market segments[1]. That said, I doubt that Google is going to place a strong focus on fixing Android's UX issues, because it seems to me that Android is yet another platform to get more ads in front of more eyeballs, and if shoveling OS updates and cheap handsets out is the way to do it, then that's what they'll do.
[1]: While it's true that Android has the #1 market share right now, I doubt that it's because of Android's UX attracting the masses--I have a feeling that it's due to Android's low price and availability at said low prices in emerging markets with many fresh-faced consumers (China, India come to mind). I strongly suspect Apple still kicks Google's ass in the all-important sector of consumers with money to spend on phones and apps.
Quarter-Year: Android%/Apple% = ratio
Q2-2010: 33/22 = 1.5
Q3-2010: 44/23 = 1.91
Q4-2010: 53/19 = 2.8
You can find graphs from various sources that show a consistent trend for Android (i.e. the sales in the last month of Q4 are higher than the average and much higher than the sales in the first month) if that wasn't already obvious from the quarterly numbers.
My prediction for sales right now i.e. the month of March is about 60/15 but I guess we'll hear the Q1 numbers in a month or so and it'll be something like 3.5 overall.
edit: a final note, this isn't a prediction that Apple sales will fall, they'll certainly grow (though I think their U.S. marketshare just peaked) it's simply that Android's massive growth will expand the smartphone market and shrink their sales share.
This is more than a little hyperbolic. Sure, the animations may not run at 30fps all the time. Some animations running at 15fps != horrible UX. I am an iOS dev as well but use an Android phone and just completely disagree on it having poor UX.
Anecdotes:
- Whilst using my Nexus S, it rings. I pull it out of my pocket, only to discover I can't answer it because there's a keyboard over the Answer/Decline buttons. Later, I realize I must have pressed and held on the Menu button long enough while pulling the phone out of my pocket to force the keyboard to popover the Answer/Decline buttons. But why the heck is this possible even? It vaguely reminds me Joel Spolsky's article on the Windows shutdown menu - http://www.joelonsoftware.com/items/2006/11/21.html .
- I want to make it so there's momentum/inertial/bounce scrolling in a text view. This is impossible. Why? So phones that still have trackballs don't have whacky scrolling behavior going on for them. But the ListView has inertial scrolling. How the heck can I possible explain this to my client without sounding foolish or lazy?
- I want to animated a cell disappearing from a ListView. Again, impossible. The solutions mentioned on StackOverflow ( http://stackoverflow.com/questions/3928193/how-to-animate-ad... ) (BTW, the Android presence on StackOverflow is abysmal), in order, and summarized: 1) Rewrite the class yourself because Android is open 2) Some hacky drawing solution that isn't a good idea. 3) Wait till Adobe's dev tools get faster on Android. 4) Re-implement the class from scratch yourself.
I understand now that Honeycomb has much better animation facilities, but we're not seeing that on phones. And when we do, the problem with carriers + manufacturers holding sway means whatever apps I build won't see any improvements on phones until Ice Cream is released and manufacturers ship phones with it. We're talking June or July at this point, right? For basic animation. That was in iOS 1.0. In June 2007.
Huh? I'm running Android Gingerbread on a Nexus One, and when the phone rings, I see the usual "unlock" screen, with one option for answering, and one for ignoring the call. There's no way to get a keyboard, no matter which buttons I press.
Is your phone fully awake and unlocked in your pocket? Is there something weird about Gingerbread (or the buttons) on the Nexus S?
While honeycomb is android 3 -- it is a total rebuild.
However, to your point - the UX should be first in ALL of the android space's mind -- ESPECIALLY given that they dont have the design (UX/UI) powerhouse behind them that is Apple.
I know from my visits to the Verizon store to play with one that they hype it up as "completely new OS", but other than making the hardware buttons software finally, it looks and acts identically. As technical people, I think we both know that this is a revision of Android, not a completely new OS.
More to your point - iPad ran iOS 3.2 - the 3rd revision of iOS. The Xoom is running Android 3 - the 3rd revision of Android.
And for the record, when the virtual keyboard is shown, pressing the back button will always dismiss it without sending the back action to the current activity, so in your case you could have pressed back to dismiss the keyboard, and then pressed the button to receive the call.