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.
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 1024×600 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.
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.
If your Nook Color is brand new, you have to start by booting it up and taking it through the regular Barnes and Noble registration process before you can run the Auto-Nooter. The next step is to determine which version of the Auto-Nooter to use. There are three different versions of the Auto-Nooter—one for each version of the Nook Color firmware.
Users with the 1.0.0 firmware will need Auto-Nooter 2.12.15. Users with the 1.0.1 firmware will need Auto-Nooter 2.12.25. The latest version of the Nook Color firmware, the recent 1.1 update, is supported by Auto-Nooter 3.0. If you wish, you can allow your Nook to update to 1.1 prior to rooting.
When the download is complete, extract the img file from the zip archive and write it to a microSD card. It’s not sufficient to merely copy the img file onto a microSD card using a conventional file manager—it’s a bootable image that has to be written to the card with special tools. On Windows, the recommended solution is to use the Win32 Disk Imager. Mac OS X and Linux users can use the
dd command. Be cautious and keep in mind that
dd can cause data loss if you point it at the wrong drive.
Before you put in the microSD card, you have to make sure that the Nook Color is completely shut down. You can do that by holding the power hardware button for a few seconds and tapping the “Power off” button in the dialog that will pop up on the screen. After you shut down the Nook, insert the microSD card in the slot under the backside storage flap.
After you insert the microSD card, use a USB-to-microUSB cable to plug the Nook Color into your computer. This will cause the device to turn on and start booting from the microSD card, though the screen will remain completely blank. Continue waiting while the Auto-Nooter works its magic on the Nook Color. When it is finished, it will automatically restart the device and initiate a regular boot process.
If the process worked properly, you will see a custom “Nook Color Devs” startup animation after the regular Nook logo splash screen. You should remove the microSD card after the custom animation is displayed because booting it from it again will re-run the Auto-Nooter.
After the first boot, you will see a welcome screen that identifies the device as a LogicPD Zoom 2. That’s entirely normal behavior for the first boot after running the Auto-Nooter—the Zoom2 is a TI test board with a similar OMAP processor to the one in the Nook Color. Skip the on-screen instructions and skip the Google Account setup.
For reasons that aren’t entirely clear, Google account configuration simply doesn’t work during the welcome process. You have to use the YouTube application in order to properly associate a Google account with the device. You can open the YouTube application from the Nook’s “Extras” menu. In the YouTube application, open the menu (you might need to read the section below about softkeys if you can’t figure out how) and tap the “My Channel” button.
When it prompts you for an account, tap the “Add account” option and then proceed to configure the device with a Gmail account. The Nook Color hacking community contends that this process will work only with a regular Gmail address and shouldn’t be done with a Google Apps account that is on a custom domain. After you finish putting in your account information, you will be able to use the Android Market, the Gmail client, and other applications that require a Google account. You can install additional third-party software through the Android Market or by side-loading APK files.
The instructions in this article are adapted from the instructions published by the Nook modding community at the Nook Devs wiki. You can find additional details and more comprehensive information about the Nook Color rooting process on the relevant wiki page.
Android applications are generally designed with the assumption that the user’s device will have the standard hardware buttons: menu, home, back, and search. Although the order varies, these buttons are present on practically every mainstream Android device. The buttons are mandated by the Android Compatibility Specification, the terms of which hardware vendors must accept if they want to include the Android Market or other Google-branded applications on their devices.
The Nook Color, however, isn’t a conventional Android device and doesn’t ship with the Android Market. Because it has its own software stack and will eventually have its own third-party application ecosystem, it doesn’t have to fulfill the requirements of the compatibility spec.
The Nook Color has only one hardware button on the front—a home button. This is problematic for users who want to repurpose the Nook Color to run conventional Android applications. You need to have something that can stand in for the other hardware buttons.
The solution is to do it in software. The Auto-Nooter will attempt to integrate virtual back and menu buttons into the notification bar alongside the up-arrow icon. These generally work well, but aren’t always visible when needed. The Auto-Nooter also bundles an application called softkeys that is more reliable. It runs persistently and displays a draggable icon on the screen that you can tap to access virtual equivalents of the standard button features, including the otherwise-inaccessible search feature.
Software that’s useful on the Nook Color
There are several third-party applications that I have found to be very useful on the Nook Color. One of the first applications I installed from the Android Market is the K-9 mail client. It’s a good e-mail reader in general, but its killer feature is great support for IMAP push. It will chime and display a mail icon in the notification area when a new message arrives. I can click the notification area to see a popup with the sender and subject of the most recent new e-mail, making it easy for me to keep an eye on incoming messages while I’m reading a novel without having to switch out of the e-book application.
Another useful application is the Dolphin HD Web browser, which offers a great user interface, gesture-based interaction, and an add-on system. Dolphin’s tabbed user interface and support for UA-spoofing as a desktop browser make it a really good fit for the high-resolution display of the Nook Color. It’s a lot nicer than the default Web browser that ships on the device.
If you intend to continue using the Nook Color primarily as an e-book reader, then you will likely want to use the custom home screen that Barnes and Noble includes with the device. The downside of the default home screen, however, is that you can’t add shortcuts to actual applications—just books. Because I primarily use the Nook Color as a tablet, I wanted a more conventional home screen.
I typically prefer LauncherPro, but ended up using ADW because I wanted to hide the dock. ADW generally works on the Nook Color as it would on a phone, but there are some minor glitches. For example, it consistently crashes when I try to add an activity from the menu rather than long-press dragging one in from the drawer.
A little bit of effort can transform the Nook Color from a mere e-book reader into a modest Android tablet. Rooting the device makes it possible to install third-party applications that increase its value, open it up to other content ecosystems, and expand its roster of Internet-enabled capabilities. You can use it to read and compose e-mails, follow the latest news, and play popular games like Angry Birds.
The Nook Color is attracting a considerable audience of Android enthusiasts and device modders. They are repurposing the product in innovative ways and developing tools that make it easier for regular end users to take advantage of the latest third-party enhancements. As the custom ROMs mature, we could see a lot more value unlocked by the Nook Color modding ecosystem. To keep up with the latest developments, you can follow the ongoing discussions about the Nook Color at the XDA forums. (Thanks to ARS Technica for this write-up)