In testing, I've enjoyed the Nexus 7 form-factor, but the iPad's responsiveness and scroll behavior are such a relief when I switch back. It was immediately noticeable, even when beta-testing an app on my old iPad 1 today.
In testing, I've enjoyed the Nexus 7 form-factor, but the iPad's responsiveness and scroll behavior are such a relief when I switch back. It was immediately noticeable, even when beta-testing an app on my old iPad 1 today.
There should be rock solid high performance graphics drivers for every Android phone. There aren't. The chip manufacturers aren't helping because they won't let 'regular' people get access to real documentation, Google isn't helping because it won't put 4 or 5 engineers on it full time. ODMs don't do it because if Google doesn't do it why should they, they take the crappy vendor supplied driver and run with it.
So far there is no penalty to a chip vendor for having crappy video drivers. This is an area where nVidia invested in strongly to win the PC hardware space but has not done squat in for the Android space, at least it isn't visible outside nVidia.
The Nexus 7 is the first Android tablet to even kinda sorta look like the way the iPad moves. This is something that totally confounds me about Google's internal process.
In my opinion that is the difference between investing in something strategic and 'hoping it will be great.'
[1] http://investor.google.com/earnings/2012/Q2_google_earnings....
EDIT: Never do math when your typing quickly.
You made it seem like such a reasonable thing to do.
My reasoning goes like this, if you believe the smartphone and tablet is how people will be consuming the types of services Google would like to offer (Search, Social, Etc) then Google needs to be able to deliver and innovate in that market. If the market leader in devices is hostile to Google, then Google needs to either enable a new leader that they can control or be the new leader. Android's strategy of being open has been excellent at acquiring hardware partners but it has not been able to compete in terms of user experience. Apple has demonstrated for three generations (3G, 4, 4S) that user experience dominates the smartphone decision. And the user experience is dominated by graphics and graphics performance.
I don't think three years ago Google could have appreciated just how much the impact that solid graphics support would have in consumer's minds, but now it seems painfully clear to me (and other bloggers who do these types of articles and Anandtech Etc etc) that this part of the equation is key.
I claim that if Google's Android can nearly match Apple software feature for feature in Smartphone OSes, but they don't have a hardware partner that can deliver graphics performance. So by the same reasoning that said "we need to create an OS for smartphones that we're able to compete with" they should now know that "we need to create the complete platform that enables a competitive user experience." The biggest and most stubborn nail sticking up from that problem is effective, high performance, graphics drivers. What is perhaps more important, the emergence of the tablet as a viable platform makes that problem stick out more.
So Google spends 1.8 Billion dollars over 5 years, and as a result goes from having Android devices being 1/10th to 1/8th the market for tablets to being 1/2 or 2/3rds? If they achieve that objective then yes, the rate of the return for that investment will swamp any other use of that money.
The 'do nothing' strategy of having that 1.8B$ sit in cash and cash equivalents for the next 5 years looks to return less than 250 M$ (with at most a 5% annualized rate of return in the kinds of securities they would hold it in)
Makes it look like a simple call from the outside, I completely recognize that it is painfully hard for at least one member of the OC [1] to spend like that, and they've had way too much say on how money was spent for the last 5 years.
But the reason I think it is the wrong question, is that once you start thinking about it in rates of return your value system is dollars for dollars. I think the right question would be to ask "Is there anything holding back the growth of Android that only Google with its resources (cash, brainpower, etc) can fix?" And I think the answer to that is yes, this one.
[1] The "OC" or "Organizing Committee" is Google's equivalent of the 'executive staff' or the 'executive management group'
It seems to me that Google can (very cheaply) pick the low-hanging fruit in graphics performance and get 80% of the way there, and then see what they need to do. Also having a "Google" line of devices is very beneficial, as it can be the high end of the Android offerings. I'm typing this reply on a Galaxy Nexus, and I find the phone much better than an iPhone by far (in general, not just in performance, I haven't used an iPhone recently and don't remember how responsive my 3G was).
There's also a false dichotomy in your post that I need to point out. You say that the money will either go to a graphics driver or will sit in the bank, which is trivially false, as Google can invest it in many other ways.
To the 80% question, my claim is that this is exactly what Google did, they got 80% of the way there and in phones that worked. In tablets however the additional screen real estate magnified this weakness in graphics below the 'good enough' threshold. It was great that the Nexus 7 made great strides in this area, the Nexus 7 is manufactured by Asus (which made the Transformer Prime, and now the Transformer Infinity) that the graphics did not improve until Google made it the 'Google Nexus 7' (which sounds like they drove more of the decisions) was a problem for the Android ecosystem in general.
My thesis is that 'fixing' it so that Asus and anyone else can build a fabulous graphics experience on Android is possibly the best investment they could make.
First of all, you have to worry about the actual act of running OpenGL ES applications. This is a non-trivial API with lots and lots of performance tuning required, and don't forget you need a GLSL compiler (which in turn is not trivial at all).
Now, you need to support video decoding. Usually GPUs accelerate this in some low-power way for common formats (H264, etc), so you need to jump through a lot of software hoops to support that for various formats and such. Also, don't forget to add support for HDCP (also not trivial) and content protection throughout your video pipeline, because if you don't, you will be flayed alive by the content cartels.
After that, you need to optimize for power. This turns out to be way more software intensive than you think because a lot of times software has to make the call about whether to pick super-low-power but high-latency mode X or higher-power but lower-latency mode Y. This is also probably where you handle a lot of thermal runaway style cases.
Finally, throughout this entire process, you have to be making sure that everything works. While you're writing the software to get things up and running, any bug you hit in SW could be indicative of a hardware bug. When you do hit something that looks like a hardware bug, it's not like you say, "oh hey let's break out the debugger and see what's up!" A relatively easy hardware bug at this stage of development still probably takes on the order of a few man-months, and a hard one takes well over man-years and millions of dollars (find very short repro case, root cause, investigate software workarounds, design ECO, verify ECO, kick off a new spin).
These are the bare-bones you-can-possibly-be-a-player-in-the-market requirements; how well you do optimizing these various cases will determine how well your chip can do in the market.
This isn't very different to what happened in the PC market over time. Remember how many graphics card makers there used to be before things settled around ati and nvidia?
What might also happen is that the gpus will start to behave in a similar way, giving you some of the advantage that iOS already enjoys. Kinda like directx or certain "standard" opengl extensions.
Android probably doesn't need 100 completely different chipsets. Some number higher than 1 is probably ideal for innovation and competition, yes, but it is obviously inevitable that not every player will survive in the long run anyway.
I suspect that without Google's intervention nvidia will probably win on driver quality in the long term because of their experience in their area along with tegra's current momentum. But you never know - as it becomes obvious that driver quality affects sales some of the other players might catch on in time too.
It looks like this sort of thing is already happening. Phone makers are bringing out less new models per year, there are fewer chipsets being used, android is getting better and better, the android-reskins that phone manufacturers do are getting more minimal... I suspect it will sort itself out in time.
edit: seems Apple's docs refer to Imagination's web site for GPU programming details, which would suggest they're using imgtec's driver. (http://developer.apple.com/library/ios/#documentation/3DDraw...)
- touch digitizer - CPU to do something with the input - GPU to start rendering the result - display to show the change
In particular, I worry about the first and the last. Apple can get away with using extremely high cost parts in the iPad due to vertical integration (look at the physical size of A5X, for example), whereas Android vendors generally can't. Considering that CPU and GPU are generally selling points whereas touch digitizer performance and display response time are not, it would be tempting for a margin-sensitive OEM to cut corners on those two things.
There is plenty of precedent for this: look at the grey-to-grey response time of the original Xoom.
Even with a difference in milliseconds you'd still be able to discern between "smooth" and "not smooth".
"Relief" is a good word for what I felt.