We've heard a lot lately about how 2013 will be the year of the smartwatch, with upcoming products rumoured from a host of sources. But hey, guess what - it turns out that Google are already selling an Android powered smartwatch, through their purchase of Motorola Mobility. This is the Moto Actv, which probably isn't on a lot of people's radar because it's sold as a sports accessory. In this post we'll learn how to hack the Google smartwatch and install a full Android distribution on it, and see some examples of what we can do with it.
Oh, and did I mention that the Moto Actv has been on sale since late 2011? (and was rooted shortly after its initial release) Year of the smartwatch indeed... (and some of its competitors turned out not to be not too smart after all) Anyway, here's Motorola's vision for how you will use your Moto Actv:
Looks interesting, doesn't it. Let's take a quick run through the specs (from the Moto Actv Wikipedia page):
- 600 MHz OMAP3 (3630) ARMv7 CPU supporting ARM extensions thumb, vfp, vfpv3, edsp and neon.
- 256MB of RAM and 8GB of NAND Flash Memory
- Bluetooth 4.0 (low-power mode)
- ANT+ for connectivity to fitness sensors (heart rate, etc.)
- FM Tuner (w/RDS for station & song identification)
- PowerVR GPU
- 1.6" 220x176 capacitive multitouch LCD display
- 5 additional hardware buttons on the side [Start, Music, Volume +, Volume -, Standby]
- 1 additional capacitive button on the front for Back
Shortly after the Moto Actv was released, an enterprising hacker figured out how to break out of the locked down environment shipped by Motorola into full-blown Android, and subsequently there have been a number of alternative ROMs produced by the community. If you already have the Android developer tools loaded on your machine, then reflashing the default firmware is a matter of backing up the original system image...
bash$ adb shell # dd if=/dev/block/mmcblk1p18 of=/sdcard/system.img bs=1024 count=159616 ^D bash$ adb pull /sdcard/system.img system.img
Then pushing out the alternative firmware...
bash$ fastboot -w bash$ fastboot flash boot boot.img bash$ fastboot flash system system.img bash$ fastboot flash preinstall preinstall.img bash$ fastboot -w bash$ fastboot reboot
Now you can enjoy a miniaturised version of the full Android experience, as shown in the screenshots below:
So far, so good - but why on earth would you want a smartwatch anyway? Perhaps there are more use cases than you might expect at first. I've included a few examples below that may help to illustrate the benefits of carrying a tiny Linux box around on your wrist.
Where are we now?
Let's kick off with Google Maps and Street View - very handy when navigating around an unfamiliar destination. And yes, you can have turn by turn navigation on your watch, using headphones or a bluetooth headset for audible directions.
Of course all your Google Drive files (and indeed Google Music collection) are accessible through account sync. Your mileage may vary when you come to read documents, due to the low resolution and small screen size of the Moto Actv's display. Here's an example showing Barry Foley's talk from GEUG12:
And if you're used to running Android at HD resolution, be prepared for a few disappointments, as there are a lot of apps out there that either don't resize usefully on smaller screens or take up huge amounts of the very limited screen real estate. Here are a couple of examples from the built-in News & Weather app, and the official Twitter client:
It would be easy to dismiss the Moto Actv as a general purpose device, but do recall that it wasn't conceived with this in mind. There are a number of use cases where it really shines, such as real time travel information, as shown in the Underground and National Rail app screenshots below:
(the National Rail app insists on running in portrait mode whatever your device)
To get an idea about the sort of experience and information density that really works when all you have is a 220x176 display, look no further than the bundled Motorola fitness apps. These are truly gorgeous, e.g. take a look at the clock app shown below.