Barnes and Noble launched the Nook Color last year with the aim of enabling a more interactive user experience and tighter Web integration than conventional e-book readers. The device's color touchscreen and assortment of Internet-enabled applications help differentiate it from Amazon's increasingly ubiquitous Kindle.

The Nook Color is an intriguing product, but its most compelling feature isn't listed on the box. Beneath the e-book reader facade, the Nook Color runs Google's powerful Android mobile operating system. Barnes and Noble intends to eventually expose more of the Nook's Android functionality to end users in future updates, but Android enthusiasts have already gotten a head start.

In this article, we will explain how to "root" the Nook Color so that its software environment can be customized. We will also evaluate the Nook Color's suitability as a low-cost tablet computer and discuss third-party applications that are particularly useful on the device.

Hardware

The Nook Color is powered by an ARM Cortex-A8 processor that is clocked at 800MHz. It has 512MB of RAM and a 7-inch, multitouch-enabled, color screen with a 1024x600 resolution. The CPU is a modest step down compared to the current generation of Android devices (it's in the same ballpark as that of the original Motorola Droid), but the Nook Color's specs are otherwise comparable with the hardware in Samsung's Galaxy Tab and other mid-range tablets.

Available for $249 at Barnes and Noble retail stores, the Nook Color is a pretty good value compared to its more costly rivals. The WiFi-only version of the Galaxy Tab, for example, costs $500 from Best Buy—twice the price of the Nook Color. Although the tablet experience on a hacked Nook Color has some rough edges and annoyances, it still gives the user virtually all of the same capabilities as the more expensive Galaxy Tab.

The build quality and hardware specs of the Nook Color are significantly better than the low-end, budget Android tablets like the dubious Maylong. The only other Android tablet that is worth considering in the Nook Color's price category is the Archos 70, which can be had for around $335 from various online retailers. The Archos 70 benefits from a faster 1GHz processor, but has a lower-resolution display than the Nook Color.

The Nook Color is arguably a pretty good choice for Android enthusiasts who are looking for a device that couples decent hardware with a low-budget price point. It's not a tablet right out of the box, but it doesn't take much effort to make it think it's a tablet.

The low price has made the Nook Color especially attractive to Android enthusiasts, which means that there is a very active modding community. A number of tools and techniques have emerged for opening up the device and extending its capabilities.

Custom software on the Nook Color

There are two different approaches to turning the Nook Color into a tablet: you can root the Nook Color's default software environment and extend it with third-party applications, or you can run a conventional Android environment by booting a custom ROM image from a microSD card.

The custom ROM images are an appealing option because they offer the ability to get relatively close to the stock upstream user experience. Unfortunately, the custom ROMs are still highly experimental and aren't quite yet ready for day-to-day use.

The Nookie Froyo project is a community-driven effort to build a stock Android 2.2 environment that is tailored to the Nook Color hardware. Its kernel is based on the source code published by Barnes and Noble and the userspace is principally adapted from the Android Open Source Project (AOSP). The developers characterize it as "pre-alpha" quality and strongly advise against adopting it at this time.

There is a port of the popular Cyanogen ROM for the Nook Color that is under active development and is said to be very close to being ready for adoption. It currently seems a bit more promising than Nookie Froyo.

There is also a separate project to bring Android 3.0, codenamed Honeycomb, to the Nook Color. The bootable Honeycomb ROM for the Nook Color is based on the system image that Google shipped in the Android 3.0 SDK preview. It has a lot of rough edges and major functionality gaps due to its peculiar genesis. Like the Nookie Froyo ROM, it's really not practical for day-to-day use at the current time. The modding community will likely be able to build a more functional Honeycomb ROM for the Nook Color in the future after Google releases the Android 3.0 source code.

The custom ROMs have the potential to bring a lot of value to the Nook Color in the long-term, but basic rooting is more practical for users who want a day-to-day tablet, right now. The rest of this article will focus on how to root and enhance the standard Android 2.1 software environment that ships with the Nook Color. In a follow-up post, I'll describe my experiences with the Honeycomb ROM and explain how developers can use it for live Android 3.0 application debugging on the Nook Color.

Rooting

Like most multi-user operating systems, the Linux platform's security model is based on the principal of least authority. Individual users have limited access to the system and are generally prevented from performing potentially hazardous actions. There is typically a "root" super-user account that has heightened administrative privileges and unfettered access to the operating system.

When users enable root access on a Linux-based consumer electronics device—usually by exploiting a privilege escalation security vulnerability—they can make unauthorized changes to the software environment and modify it to add additional functionality. On an Android-based device like the Nook Color, a user with root access can side-load third-party applications and introduce software components that have been extracted from other Android devices. You can even add the Android Market, which makes it easy to install additional software on the Nook Color.

The Nook Color modding community has produced a special tool called the Auto-Nooter that will give the user root access and automatically apply a number of popular customizations. It will add the Android Market, enable multi-touch interaction, install the Busybox shell, and add some standard applications like the Android calendar, calculator, and e-mail client. It also comes with a useful softkey application that we will discuss later in the article.

To root a Nook Color, you have to download the Auto-Nooter system image, write it to a microSD card, and then boot the Nook Color with the SD card inserted. The Auto-Nooter image basically just bootstraps the system and runs and a script that makes the desired modifications to the Nook's internal filesystem and then installs some Android packages.

Before you start the process, you should keep in mind that rooting the Nook Color very likely voids the warranty. When you make after-market modifications to the embedded software on a consumer electronics device, there are always risks. In this case, there is a possibility that you could brick the device. Rooting also exposes the user to greater risk of potential security issues.

And remember: we aren't responsible if you break something. If your Nook Color explodes during experimentation, you're free to pursue a life of amoral crime and misdirected acts of vengeance against society. Just don't blame us or the Nook Color development community.