24 hours with the Nexus 7: it's not all butter
This article may contain personal views and opinion from the author.
The Nexus 7 hardware is solid - the device is a great size, it's fast, and really the only noticeable compromises are in the lack of a back-facing camera, and in the quality of the display. The camera may not be something you'll care about in daily use, but does cause issues as we'll get to, but the display is still good enough for most users. The Jelly Bean software is a great update that really does make Android feel better; it's smooth and responsive, and everything in the system seems to work just fine. The trouble isn't with the system, but with the app ecosystem.
This isn't the same old rant that you've heard about the Android market being light on tablet-specific apps, because honestly, that's a load of bunk. Sure, there are some big name developers (Twitter) that haven't bothered to optimize their apps for tablets, but if you really care that much, there is almost always an alternative. And, the apps made by quality developers look great no matter what device you're using because Android uses responsive design principles which allow for incredible elasticity in apps. The issue we have is in the random apps that suddenly lose compatibility with new versions of Android or new devices.
If you search for an app that is incompatible, it won't appear in the search results, which is a very good option. The trouble is that search also has an auto-complete function, which will send you directly to the app page for an app regardless of if it is compatible or not. If you search for Amazon in the Play Store from a Nexus 7, it won't show in the results, but as you're typing "Amazon", it will offer a direct link to the Amazon Mobile app page, which is troublesome since you can't install the app.
One of the things that Google did remove apps from search results and to reduce problems with compatibility was to have apps mark when they would need specific hardware features. So, if your app needs a camera, GPS, compass, etc. and the device doesn't have that feature, you won't be allowed to install the app, or even find it in the Play Store (unless you have a direct link to the app page). This is a good idea in most cases, because you don't want a camera app on a device with no camera, or an augmented reality app on a device with no GPS or compass. For example, it's perfectly reasonable that Instagram would be incompatible with the Nexus 7 at launch. The Nexus 7 is a device without a back-facing camera, so compatibility with an app centered on taking photos may be an issue. That's perfectly reasonable, and not something that we'd really get to annoyed about.
However, when that same issue causes incompatibility with an app that isn't focused on taking pictures, just offers a peripheral feature that would need access to the camera, that's a bit more annoying. For example, if you own a Nexus 7, you may have noticed that the Amazon Mobile app is incompatible with the device. We can't say for sure that the incompatibility is caused solely by the lack of a camera, but Amazon Mobile (and the Amazon Price Checker app, which is also incompatible) uses the rear camera to scan barcodes or take pictures of items for comparison. It seems reasonable that this would be the problem with this app, because the Google Shopper app is also incompatible with the Nexus 7. Of course, the Price Checker and Shopper apps are centered around the camera functionality, so that we can understand, but Amazon Mobile is not. With Amazon Mobile, the camera functionality is non-essential, but the app still doesn't work.
The biggest problem though is with the developers. There is no reason why Amazon should have made a back-facing camera a requirement for using Amazon Mobile. Other developers haven't made it a requirement when the functionality is non-essential. For example, the ING Direct app, which allows for depositing checks by taking a picture, or various instant messaging or social networking apps don't require a camera, even though there are camera options in the apps. And, it is all on the developer to make the choice. Facebook and Twitter allow you to take pictures and post them, but neither app requires a camera. Alternately, Hookt (a BBM clone) does seem to require a camera.
Again, the camera may not be the only reason for incompatibility with the Nexus 7, but Amazon Mobile does work on tablets in general, so this is the only reasoning that makes sense. Another issue that is more prevalent than it should be is that the DPI requirements of an app can cause issues with compatibility, and this really does seem like a problem caused by lazy developers. As we mentioned earlier, Android uses responsive design, so no matter what the screen size or resolution (and therefore DPI), apps should work if developers have written them correctly. Case in point, Super KO Boxing 2, a Punch-Out! clone by Glu Mobile hasn't been updated since March of 2011, and that update was only to add Xperia Play optimizations. But, the game has run perfectly on both Ice Cream Sandwich and Jelly Bean, both of which came out after the game was last updated, and works perfectly on the Nexus 7.
On the other side of things, NBA JAM by EA SPORTS was released in March 2012, but still needed an update just to work on a Galaxy Nexus running ICS, which had been on the market for about 5 months at that point; and, it now needs another update in order to run on a Nexus 7. We've reached out to EA SPORTS about the issue, but haven't gotten a response yet.
The two faces of Nexus
All of these issues will slowly be weeded out as apps are updated, and Google has made sure that developers have access to the Jelly Bean SDK as soon as possible in order to get these issues fixed quickly. Unfortunately, this is a solution designed to work within the problem of slow updates rather than one that can help to push updates faster. The idea is that developers will get all of the bugs ironed out before Jelly Bean is pushed out to the majority of handsets, which could be a year from now for all we know. Given the way things work in the Android ecosystem, this makes sense, but it doesn't really work with the idea of Nexus devices.
We've questioned before what Nexus really means these days. It used to be that Nexus was not just pure Google, but it was a developer reference device, and a device designed for early adopters. Early adopters know that there will be bugs and issues like the ones that we've described, so they can look past the small issues and have patience until they are sorted out. The trouble is that more and more Google is pushing the Nexus brand into the mainstream, to place it as a real choice for the average consumer. We saw this change with the Galaxy Nexus, and the $200 price point of the Nexus 7 is another indicator of this push.
Unfortunately, average customers don't take well to small but consistent bugs and issues. The Nexus 7 is selling out, and it isn't just early adopters buying the tablet. So, when an average customer boots up their new tablet only to find that Amazon Mobile or NBA JAM is incompatible, they will no doubt be frustrated, especially since the Play Store doesn't give explanations as to why apps are incompatible. If the troubles persist, we wouldn't be surprised to see Google made incompatibility notices more verbose, because it really does seem as though Google needs to shame developers a bit more in order to get the Play Store in order.