Tetris is my game. It’s my wind-down, end-of-day, got-a-minute-on-the-subway game. And, since I use a Galaxy Nexus as my daily driver device, I’m often happily playing it on Android.
Last week I took a few days off and went off the grid — somewhere with no 3G or WiFi. It was, dare I say it, freeing. For the most part I had a great time: sunshine, ocean, daquiris. But I also discovered an aspect of the Android platform has needs to be rectified, and quickly. Due to some early-onset software pirating, many software developers such as EA, who publish Tetris for Android, require server-side license authentication when entering a game. Once approved, whereby the software detects a unique purchasing key from the Marketplace via the Android Licensing API, it allows you to play your game.
The problem arises when you do not have access to a network, either through 3G or WiFi, and the app cannot verify with Google that you in fact did pay for the app. While publishers have the flexibility to vary the period of time that passes between verifications, it would require one to open and authenticate every app/game that incorporates licensing before leaving on vacation, and even then some may not work without internet access. As a result of this oversight, nearly half the games that I had played only days before my trip would not open once I was beyond a cell signal. The worst culprit, and one of my favourite games, Spirit HD, even allows you a brief teasing moment of gameplay before it spits you back to the homescreen in a fit of licensing betrayal.
Since the release of Android 4.0 and its consolidation of app and SD storage, the time has come for Google to overhaul its licensing requirements for paid apps. There must be a way of locally and securely caching purchasing data from the Android Marketplace that would allow you to play your games, regardless of network status. Indeed, if I want to treat an old Android device like an iPod Touch, I should be able to.
According to the Android Developers page, the paid app licensing procedure is compatible with devices running Android 1.5 or higher. Now that we have moved well past that, and most users are on Gingerbread, we need a more user-friendly solution that doesn’t punish one for not having an internet connection. With talk of Ice Cream Sandwich bridging the gap between iOS in form, function and aesthetics, this would go a long way to ensuring Android users are not put off by a litany of foreseeable, and preventable, frustrations.