Nook SimpleTouch eInk Tablet v2

I recently got the nook 1.2.1 firmware and it locks down the device (again). I knew I was likely to lose all my tablet-y stuff but frankly it wasn’t doing what I wanted it to and at the battery life I might as well have a new tablet. I blame the gapps, which never close and sync in the background nonstop. To add insult to injury, nook apps tend to assume you have colors. No colors makes for a very confusing experience. Also the eInk display tended to be hacky with special secret handshakes to activate fast mode, etc. Turns out someone else got really fed up with it also and decided to write a launcher and android ROM which was based on the official 1.2.1 and also knew someone might actually want to use the nook as a nook! WOW! So the smart guys over at XDA put together NookManager which does all this good stuff and still keeps the B&N official applications so you can read their books for free in the store. It even does the right things with the buttons which is really sweet.

That being said, Amazon seems to know something is up because the kindle app isn’t available in this ROM (although I suspect it’s because it upgrades the android core OS on the device) nor through the store. You have to sideload it from here, which is as simple as using dropbox to grap the APK and then opening it on the device. It does have the google RSS feed cacher, which I have desperately wanted and would crash immediately on the old ROM. The browser is still nothing special and will “forget” to update the page if you throw too much JS at it.

The only real rub is that I have to reseat my SD card for the nook to see it if the Nook completely runs out of battery. A small annoyance since I have 30 microUSB plugs next to my bed but still requires fingernails.

Advertisements

Building Jellybean for the Vibrant MTD (Galaxy S1)

These are Nate’s notes from the FB group. Nate runs ubuntu so all his Linux stuff is horribly broken crap but the bones are here to make this workable:

***ROM BUILD TUTORIAL***
Wanna build a Paranoid Android Vibrant ROM?
I’ll point you in the right direction.
This can be applied to many devices. Want help? Just ask.
Start here:
–Install the repo
–Open your terminal and enter the following

mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

–Download the SDK here: http://developer.android.com/sdk/index.html
–Extract the SDK and place it in your home directory.
–I renamed my SDK to android-sdk to make it easier to navigate to.
–Type
gksudo gedit ~/.bashrc
–in terminal
–Enter your Admin. password to open the document
–Add these lines at the bottom of the file:

# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin

–Then save and close

–Now type
gksudo gedit ~/.profile
–In terminal
–Add the following to the bottom

PATH=”$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH”

–Then save and close
–SDK now being set up, type this in terminal

android

–If you get an exception error type

sudo mount -o remount,exec /tmp

–and retry

–Now time to install packages (64 bit required)
–Paste this and enter

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils

–Then this

sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

–Configure your USB

gksudo gedit /etc/udev/rules.d/51-android.rules

–and copy/paste this to your document.

http://pastebin.com/gXcZ7vx7

–Save and close
–This will add all the devices to the list
–Type the following in terminal

sudo chmod a+r /etc/udev/rules.d/51-android.rules

–Creating your working directory and add a repo
–back to terminal

mkdir -p ~/android/jellybean
cd ~/android/jellybean
repo init -u git://github.com/ParanoidAndroid/android.git -b jellybean
repo sync

–Sit back and enjoy a good movie or two. This will take a long time.
–For the time being you’ll need to sync my modified PA vendor with Vibrant support

cd ~/android/jellybean/vendor
rm -Rf pa
git clone -b jellybean https://github.com/ngiordano/android_vendor_pa.git pa
cd ..

–The fun stuff begins!!!
./rom-build.sh vibrantmtd

When complete look in /out/target/product/vibrantmtd for the zip. The one listed in terminal is your choice

Phew!
Looks good but I’m only human. If I made an error, let’s talk about it.

Google Voice

Suburban Station used to be a bomb shelter, back when people actually cared about bombs versus simple vaporization at the hands of nuclear weapons. We sort of brushed that fact under the carpet by taking away the signs on the walls but if you’re looking in center city you can find the signs. Mostly they’re on the forgotten byways but the really brutal part is that fallout shelters are typically lined with lead. Trying to get a piece of sky from the station is impossible. To add insult to injury, the stations are underground. Lead or no lead you simply won’t be getting signal in that much earth shadow.

Note to TMobile – want to be really popular in the city real quick? Put a low power cell antenna in the station.

That being said, I am a huge fan of google voice. If you have an android anything with as much as a speaker and a microphone, you want this. I use it for just about all my calls now when at home, since there’s no sense in using my minutes and I know my wifi isn’t going anywhere. Even if you want a “burner number” so you can finally call Taco Bell and order a Border Jumper, make a fake google account, grab a number and go nuts. The one big problem is that it doesn’t work unless it has cellphone signal. This is particularly hilarious when you realize that a lot of “tablets” (android devices which aren’t phones) can’t ever get cellphone signal by virtue of the fact that they’re not phones. No antenna, no SIM card, no NAM number.

The simple reason is because Google Voice integrates tightly with the cellular state machine. XDA has a whole thread on it. The amount of work that has to go into hacking Google Voice to not do a cellular state check is frankly over the top and manufacturers have gone out of their way to customize the OS and framework to prohibit you from taking a “tablet” device and using it as a cellphone (samsung, I am looking at you). AOSP ROMs get a bit of a pass since they have a more vanilla framework but the whole binary module loader thing that ATI and nVidia blazed a trail for means that the state machine sometimes ends up in one state and the API reports another because no-one has really dumped a working version of the modem firmware yet for samsung devices. Frankly Google I’m sort of happy this is biting you in the ass for having to support older phones.

Anyway, the good news is the same XDA thread above also mentions someone who solved the problem. If you have a 2.1 or better device (read: all samsung phones), you can download GrooVe IP which makes the calls for you. I have a bit of a problem paying him $5 for the registered version because literally all the developer did was enter the google voice API (voice is required to be installed) after the state machine check and just piggyback from there. The 1MB file size is UI cruft, the actual application is only a few KB. Now I can make calls over the comcast xfinity access points without burning up minutes and more importantly without any cellular connectivity at all.

Nook Simple Touch: A $50 Tablet

I have reloaded my nook simple touch about four times now. Some of it is very good, some of it isn’t so hot. The nook can be a $50 tablet in addition to being an e-reader, etc. If you combine it with a phone that supports tethering, it’s truly a neat piece to have. My one gripe is the android 2.1 OS on the device tends to seriously underperform. At first I thought it was the eink display and then I figured out it really is just that crashy. The nook was developed to be an e-reader and not much more.

So why root it? For one, it reads books really, really well. If you root it, you now have access to Google Books, Google Market, Amazon AppStore, Amazon Kindle Books, Kobo and just about anything else you could want. In addition to all that wonderful crap, you can install Google Reader, which weirdly enough doesn’t support offline reading, and whatever PDF viewer you want. The stock B&N one is pretty good, but I’ve found for older PDFs, Documents Easy Viewer is essential and also lets you view office documents in 16 shades of glorious gray.

Note that the process I used roughly followed the lifehacker article, except that I’ll link to the newest versions of things. You can follow the LH version, just keep in mind you’ll end up about one version behind everything. It was dated pretty much the moment it was written. You should seriously install dropbox first on your nook, it makes the rest of this much easier.

Before doing anything, sign in with your google account and register the device. You must also have a youtube account married to your google account. You will not be prompted after you root it to register and I haven’t figured out how to get to the java object controlling this process and this is why I reloaded my nook several times. You have been warned. Register the device first.

If you follow the lifehacker article, you have more customization with the nook because you’ll be using touchnooter. If you want to bang out this entire process in one flash but don’t mind having any customization, use SalichaNooter. Finally if you really want to hurt yourself, consider minimalnooter. You should read all three of those first posts to know what’s going to happen with each of those ROMs. They’re all fairly interrelated. I went the touchnooter route and that’s what this doc will cover but I ended up customizing it to SalichaNooter’s standard before even knowing about the other ROM. Oops. The big difference is Salicha’s ROM comes with the ADW theme out of box.

Before you do anything, update the firmware. (Current as of this writing). Throw the ZIP into the root directory of the nook when mounted to your PC and then unmount the nook and put it to sleep. It will reboot. You should be on 1.1.2. You will know if you got there because the display will be faster and wifi will actually work. You want wifi working first.

Step 1:¬†Download the touchnooter rom. Use a high quality SD card (go buy one). If you’re using a mac or Linux do something like dd if=touchnooter of=/dev/sdb bs=1M and you windows guys are probably screwed.

The nook will derp around for about 10 minutes then it will turn off again. Remove the memory card.

Step 2: The nook will boot and prompt you to sign into google. You did configure wifi before you did this, right?

Step 3: Open up NookTouchTools. I map my right hand buttons to “options” and “back”. You can actually hit “options” from the menu bar up top but it tends to be glitchy and not display. I make my “n” button map to “home”. When you hit it, it will prompt you to use ADW Launcher or the B&N bar (I forget what it’s called). I set mine to the B&N bar. Observe the right hand side. You will very faintly see an arrow. This is ButtonSavior. Tapping it will always launch ADW from the “home” icon.

Step 4: Open NookColorTools, uncheck and recheck the “allow non market apps” checkbox. Not sure why but it gets screwy quickly if you don’t.

Step 5: Open YouTube, sign in (if prompted). For whatever reason until you sign in you can’t send apps to the nook from google play.

Step 6: Install the eink debug app from this thread. You have to register to see and download attachments. I prefer the regular one. This changes the screen to monochrome, which is really nice for reading text and scrolling it. This is important in google reader and opera.

Step 7: Install opera mobile. Not the one from the google market. Use that link, it goes to my dropbox. It will install Opera Mobile 12.0.2, which is the last version. Using the eink toggle gesture and opera you get that buttery smooth scrolling. The opera baked into the ROM is too old and does funky stuff. Alternative: Install Maxthon.

Step 8: Install vending.apk (google market) to enable updates. Again that’s the known-good version from my dropbox. You want updates.

That’s it. You now have a fully functioning nook tablet and ereader which will work with all the stock stuff (including in store lending) and also read email, read RSS feeds and view PDFs.

Android 4.0 (Ice Cream Sandwich): How to Block Calls

This tip will work for Android 4.x phones running Ice Cream Sandwich of all flavors. It works on numbers which you know, don’t know and existing contacts. Between Android 2.x and Android 4.x google changed the procedure. The old way was to long press on a contact and select “add to blocked list”, which also gave you another icon (a blocked list) in the contact list. Google has gotten rid of this.

Unknown Callers: Press on the number and create a contact called “Blocked Callers”. I like to set their picture to an “Do Not Enter” sign but whatever you want. If you have this contact already you can simply press on the call in the call log and choose “add to contact” and then select “Blocked Callers”. Eventually you’ll end up with “mobile 1” “mobile 2” “mobile 3” … and so on but who cares. Now proceed to reading the next part….

Known Callers: Don’t feel like hearing from someone? Open their contact and press the properties button (or menu on some phones). The menu will open. Google added a check box called “All Calls to Voicemail”. You guessed it, it sends all calls from this caller to voicemail until you uncheck it. For unknown callers, I add them to the list and they go into voicemail. For known callers, this is an easy, temporary fix. What if you want all calls to go to voicemail for a particular period?

Turn your phone off.

Ubuntu For Android: A Lose-Lose

Ubuntu for Android has been the talk of the town for the last few days. What is purports to do is bring a Linux desktop experience to you from a phones docking station. It looks like they’re seriously pushing it for the motorola atrix. Reason being the motorola has HDMI out (something standard on androids nowadays) but it also is one of the few phones with a keyboard and dock. Sounds great, right?

Well, no actually.

For the power user, it’s a lose-lose because the power user probably has a linux desktop. There’s really zero incentive to run ubuntu in the background except to eat your battery and storage because you can’t access it while your phone isn’t docked. For the people that do actually use this sort of device, they probably already own a tablet or a laptop. More on the point, there’s two ports of openoffice to the droid, and there’s google’s own office offering along with document storage in the cloud. The services are already there for android without having to switch out from android to another OS.

The second glaring problem for power users is that you can’t install another Linux on the phone. Say my preference is RedHat’s desktop (which is actually the defacto linux desktop in business). What do I do with a phone with ubuntu installed on it? Not a lot, clearly. What if I want to load another OS on it? Too bad. What if I want to run a second android OS on the phone? Too bad.

That last bit is really important. The way the Android OS is engineered there’s a setting for the screen size (pixel density) to determine which apps run in which modes or which apps are compatible for a given device. What I would do if I were Motorola is instead of entertaining Ubuntu on the phone (which really doesn’t bring any value to the device) I would run a second android on the phone and leverage googles sharing services. The first android would be configured for battery savings (no HW acceleration) and the second android would be configured for speed (all HW acceleration). Dock it and you bring up the second android, which looks just like the first except all the settings are geared towards making it a tablet or desktop.

What about the casual users? Casual users will first notice a several GB partition missing from their phones which supposedly have 16GB of storage. Unlike the dual android setup above, each OS in this ubuntu-phone shit sandwich needs it’s own resources. Secondly they’re going to notice the apps don’t run correctly without pixel density being set correctly. Games, which you would reasonably expect to work nicely and look better on a PC screen simply aren’t going to work because their UI isn’t geared towards a keyboard and mouse. Finally why ubuntu at all? Casual users want either a Windows PC or a Mac. They won’t understand why the resources (documents, spreadsheets, etc) aren’t available in both. Ubuntu can use google’s cloud storage, but Android can’t use Ubuntu-One, which makes the biggest sellingpoint of an ubuntu tablet a liability instead of a bonus.

Finally, why a 2.x series android OS?

Ubuntu needs to stay the hell off my phone.

Mobile Apps and I Wish I Was Anthony Bourdain

I wish I was the Anthony Bourdain of technology. William Gibson came close with No Maps for These Territories but it lacked the right vibe. I think it was because of Bono. Anyway, a tech tourist show with a post modern host is something I would love to do when I retire. Drink beer with project managers, wear dark sunglasses, smoke their clove cigarettes and just jam out with the platform. Who cares if it crashes? Shitty local bands provide the backdrop in the smoke filled bars as we just brainstorm cool stuff over the local deep fried dish.

We’re at the cusp of a new revolution, we’re at the cusp of the old revolution. Sun Microsystems said 10 years ago “the network is the computer”. We saw the tadpole notebook die. “Who would run UNIX on a laptop?”

Who would run Linux on a cellphone?

Solaris and Linux are old news, crushed under the terribly irony of their own success and android is really the dragon risen. Solaris did oracle so well that oracle bought it and made it from a wonderful garden into a toaster. Linux continues on as a desktop, or a server, but Nokia championing a full Linux on a phone never materialized with any success. Google came in the night and hammered it into a legitimate mobile platform by throwing out the trappings of the OS while keeping the enterprise level Java ideas (something lost on Apple) and what do we have now?

We have a mobile app delivery platform. Mark my words, this is huge. It’s so big Ubuntu has been pretending it was their idea and completely missed the boat. Protip guys – your desktop browser doesn’t belong on a tablet. But who’s to say thats not going to change into a mobile browser through theming? Who knows what goes on in their heads at all?

The new internet isn’t going to be made from webpages, it’s going to be made from applications. There’s two particular forces here which caused this: HTML is junk and the OS always got in the way. Cellphones, today, aren’t that different from enthusiast computers of yesteryear. They play games, they capture video, they play music, they take pictures and they do it wirelessly. Think about that for a moment. To make a computer do this, you need a webcam, you need a graphics card, you need fast storage and you need sound. The computers biggest problem was that it didn’t come with these things. Windows always insisted it needed updates, driver disks, etc. The problem was always the OS. Apple ended up going way over the mark and also branded the heck out of an OS. People line up around the block for it, it’s completely bizarre to me. Apple too misses the mark, applications you purchase on your device don’t work on your computer. In a lot of ways apple did these things, but I also think they priced themselves back into the enthusiast market. There’s no reason to use them when only a small minority of people have these features. We were missing the important part of the puzzle – Cheap, Complex Devices.

You get cellphones which do these things for free. Sign a two year contract, pick the carrying case color of your choice and out the door you go. It plays video. It captures video. It’s a camera. Its an audio recorder, a music player, and it surfs the web, all wirelessly.

Why doesn’t it do this on the web? HTML.

HTML has made awesome strides over the years for client side execution, the problem is that the clients have made great strides over the years not to be the executors. Phones are still ARM9, 1ghz (if you’re lucky) devices with processors the size of your thumbnail. While things like terga have gone a long way towards specific work units (nVidia’s GPU, etc), there’s no hardware accelerator for HTML. It just doesn’t exist. Dalvik, of course, is hardware accelerated. See what google did there? Instead of using a presentation language for applications and trying to accelerate that, full well knowing MS was going to stomp them to death with IE, they accelerated the language you can write your presentation layer in. Suddenly, the camera, the audio, the recorder, and the phone don’t require a stack of driver disks. They have very elegantly end-run the presentation problem by making the OS go away. They catered to the idea that no-one cares what their phone runs. A phone is a phone the same way a TV is a TV or a car is a car, except when your TV can play on your phone because of the netflix app and your car gets it’s maps from google via bluetooth. People don’t care, per se. It’s a phone. Netflix is a neat trick. Netflix keeps your eyes on the phone. How many ads does Netflix run? Zero, you pay for it. How many ads does the CNN app run? A lot. You pay for the service with ads like TV, but instead of channels now you have apps.

This is uninspired, insipid horseshit. It doesn’t change how we do things, it merely reassigns TV channels to applications. Instead of tuning to the channel, you click a button. All that’s done is make the phone into the remote control and the TV, or you could think of it as a TV without a remote control. It’s boring. It’s the thing legislation is made of to “protect the rights of consumers” because the MPAA and the RIAA don’t get it, they don’t come up with new ideas.

Here’s an idea, take the device and do something with it. Make an Autozone app which lets you pay for a mechanic to connect to your phones camera so you can show him where you’re stuck on the project. They can sell you special phone soap when you’re done because you didn’t wash your filthy hands before touching the display. Make a social network app which lets you define public content you will share with people in an area, then walk around the building with your GPS on to define an area people will exchange info with you. Enjoy the particular vibe of a movie or song? Why not a music player which correlates where people hang out to enjoy the music? People who list their activities as “sports” and listen to upbeat jazz while running a route may have a route which attracts amateur athletes who don’t enjoy complex terrain but want to run for fitness outside.

What we have driving this is association. When we coalesce these different technologies into a single platform, we need to realize that they stop being technologies unto themselves and they can be used in a complimentary fashion. At very least I am surprised that banks haven’t set up internet tellers. Not only do people enjoy talking to tellers, etc face to face but in terms of verifying the security of the account, seeing the customer (and having a picture of them) is worth the security alone. The customer feels like the bank takes a personal stake in them, the queue can be managed by the application instead of standing in line at the bank and the bank has strong identity verification. Phones can scan barcodes too, have them hold their drivers license up to the camera to be scanned for another layer of security just in case they’re some sort of Max Headroom puppet.

The internet presentation is dead, its bones pave the way for the new internet presentation. The future always feels like it’s right around the corner.