Friday, May 27, 2011

All Over the Place

NOOKcolor screenIt has been more tech than travel over the last couple of weeks. The only 2 (paying) projects I’ve been working on were research related (i.e., can be completed from home). That left me plenty of time to learn new technologies, play with new toys and go to several meetups to keep current with latest trends.
A technology consultant is like a shark – he can’t stop swimming, lest he drowns. In my case, it means constant learning. I’ve long been of the opinion that you cannot know “enough”. The more you learn, the more times you can answer “yes” to the question “have you heard/used technology X?”. Over the last 2 years, I found myself replying with either an outright “yes” or with “no, but give me a day and ask again”.
With that in mind, and in no particular order, the last few weeks have been spent learning:
  1. Node.js – a new JavaScript server side technology
  2. Netduino + electronics (see my Code Blog for some samples)
  3. New version of armodello – coming soon!
  4. Pachube – I have a feed that shows the light conditions and temperature in my kitchen in real time. More on this (including code) soon
  5. Android development
  6. iPhone development
  7. Developing for the MS Kinect
  8. Test-driven development – learn how to write tests for your code, before writing your code
  9. A new version of Ubuntu – install and play
  10. PhoneGap – a cross device HTML5 development environment
  11. Bringing together 5, 6 and 10 to develop an app that runs on both Android and iPhone, showing your geo-location info, based on your external IP
  12. Android rooting/customizing – if you own ANY Android device, pay a visit to CyanogenMod to see whether a ROM exists for it
The nice side of doing so many things at once: you never get bored. If you’ve been staring at that Objective-C file for an hour, just jump to that JS file, or connect another resistor to your Netduino’s light sensor. The bad part is loss of focus: I have 3-4 projects I work on at once, and they’re all creeping foreword at about the same pace.
And then there are the toys: Other than my shining Netduino Plus board, and tons of electronic components needed to complete projects (and a solder, and some tools, and a box and…), I also got what I think is one of the best tablets you’ve never heard of: the Nook Color.
The Nook Color was introduced by Barnes & Noble to compete with Amazon’s Kindle. However, somewhere along the way someone gave it specs that rival current generation Android phones: 800Mhz CPU, nice GPU, 8GB onboard memory, 7” IPS screen (that is not as reflective as my new mirror aka iPad), bootable micro SD card slot and finally, Android 2.2 (Froyo). BN sells it for $249+tax, but you can easily get a new one for ~$200 off eBay, or a used one for $180.
The problem is: having been designed to be just a book reader, the Nook is locked into this nice, dumbed down interface that allows you to read books from BN, read PDFs, and buy the 8 apps BN allows in its “store”. Which is great for people who just want to read books, but is boring for people like me.
What the bootable SD card slot allows you to do is boot the device into an alternate OS. For example, Android 2.3 (Gingerbread) or even the newest version 3.0 (Honeycomb). And you can choose whether to keep your device’s ROM (skin) intact, or deploy a new ROM on top of it. You can find clear step-by-step instructions on this great blog.
I played with the dual boot Honeycomb option for a while, and then after backing up the original ROM, I deployed a Gingerbread ROM. Basically, I can now install any Android application I want: games (Angry Birds anyone?), browsers (FF5 beta is my current favorite), multimedia apps and book readers. I use 4 readers:
  1. nook – the BN nook for Android gives you (almost) the same experience as the one in the original ROM. Only now it’s an app – not the whole device
  2. Kindle – read your favorite free and paid Kindle books – on the nook!
    I bet the following screenshot gets people from both Amazon and BN totally mad: the 2 reading apps, side by side on one device Smile

    2. book readers
  3. ACV – a comics book viewer
  4. Aldiko – allows you to read everything else: ePub, PDF, mobi – you name it, you can read it
I also have Google books installed, but I never bought, nor will I buy a book from them.
My current favorite multimedia apps are Amazon MP3 – allowing you to stream your music from your Amazon CloudDrive and buy music on the spot, and TuneIn Radio, which allows you to listen to radio stations from around the world. Oh, and if I haven’t mentioned already, the Nook can play almost all video formats, and it’s screen, while a bit smallish, is great on airplanes.
Here are some more screenshots from my Gingerbread NookColor.
In short, what I learned over the last couple of weeks is that off-the-shelf products are a good starting point: you can root your Android, jailbreak your iPhone, reverse engineer your electronics and skip a web server deployment for a Node.js.
But most importantly, you should keep on reading, trying and testing everything that comes your way. What you’ll learn along the way is how to learn – and that is a lesson worth your time and efforts.