When the Eee Transformer was announced a year ago, I thought that the it was a brilliant idea. There had been some earlier attempts at Android netbooks (e.g. the Toshiba AC100), but they were clearly not serious devices. They had no access to Google apps, were running Android 2.x for small values of x, and had no touch input. A fully supported Honeycomb tablet with an optional full laptop keyboard looks a lot more reasonable.

So I got one as soon as they became easily available around here. Here's my impressions of the device after over half a year of using one, including a couple of weeks of trying to use it as my main computing device.

You might wonder what the point of a review for a device that was announced a year ago is, especially since it has already been obsoleted by the Transformer Prime. Mostly it was written a while back and never posted, but the subject of Android on laptop-like devices seems to be in geek news a bit these days (see e.g. Ubuntu for Android or How to use the Galaxy Nexus as a desktop replacement. And I expect that many of these observations carry over to the Prime, or other future Android devices that use the same form factor.

The tablet

The Transformer is a perfectly fine Honeycomb tablet for its generation when it comes to hardware. It's maybe got a slightly larger bezel than normal due to needing to be as wide as the keyboard dock, which in turn needs to be of a certain size for the keyboard to be usable. My unit did have some bad RAM making especially the browser crash a lot, but diagnosing and fixing bad RAM is easy enough.

On the software side Asus seems to be much better about getting updates out than other manufacturers, and instead of skinning the system try to differentiate by merely installing some random crapware that doesn't interfere at all with normal use. The upgrade to Android 4.0 has been a long time coming, but no other vendors seem capable of pushing it out either.

Overall, I use the Transformer as a tablet daily and am really happy with it. Any complaints I have would apply to all other Android tablets as well.

The dock

But then again, as a pure tablet the benefits of a Transformer over other tablets aren't that major either. Transformer's big differentiator is the keyboard dock, which converts it from a tablet to a netbook. The dock has three functions: it doubles the battery capacity, has a multitouch trackpad for using touch-based applications without touching the screen, and of course it can be used for typing.

The battery

The extra battery life is just awesome, especially when traveling. It's like a super-light laptop that gets 16 hours of active use and is instantly usable after opening the lid.

The trackpad

The trackpad is totally useless. First, it doesn't seem to have reliable detection for accidental touches, e.g. with the palm when typing. Unless you're very careful, random touch events will be registered all over the place. It's way worse than with a normal trackpad. Second, mapping touches on the trackpad to touches on the screen just feels unnatural and hard to use, even with on-screen indicators for where the machine considers your virtual fingers to be located.

Unfortunately this touch emulation might be the lesser of two evils. If you plug in an USB mouse it'll work as a normal mouse, moving the cursor around on the screen. But apps built for touch just won't behave the way you'd expect them to when used with the pointer. It's easy to see why Asus decided to default the trackpad to work like a touch screen rather than a pointing device.

In practice I've had to toggle the trackpad completely off when the Transformer is docked. But that means using the screen for touch input, which isn't much better when there's an intervening keyboard. It's not at all comfortable to use due to gorilla arm syndrome.

The keyboard

The hardware of the keyboard is pretty reasonable for typing. The keys are a bit too small, but I got used to it quickly. A bigger issue is that the keys also don't feel like they have enough travel, and the flat profiled chiclet keycaps are pretty horrid compared to e.g. the contoured keys on the Thinkpad x100 series. But all of this is easy to justify due to the design constraints. E.g. making the keyboard larger would also require making the tablet part larger. Likewise more keyboard travel would presumably require a thicker device.

From a software point of view the keyboard situation is less good. The keyboard support is undocumented, minimal, and occasionally flaky even in Google's apps. Third party apps tend to be even less keyboard-friendly. The browser app has some minimal shortcuts, but a lot of things you'd expect in a real browser are missing. For example you can't do some basic tasks like switching tabs using the keyboard. In the gmail app the normal shortcuts from the web UI might work as expected in one view, but then suddenly not in another view. The task switcher has no keyboard support at all. And so on - I don't think I've been happy with the keyboard support in any software.

This might seem like nitpicking. But since using the touch screen is so uncomfortable when the tablet is docked, this is actually a major issue.

The Transformer as a netbook / laptop

After having had the Transformer for a while I noticed that the only way I was using the dock was as a case. So as an experiment I resolved to use it as my main computer while going on vacation. It took a lot of preparation to get the system into a state where I thought it would be usable, and in the end it still didn't work very well.

Some of the issues were esoteric things won't matter to most users (my Mom isn't going to care about Emacs keybindings). But I don't think it's just a matter of me looking at it from a hacker viewpoint. Even mundane tasks that technically are possible on Android - for example using gmail or Skype - were just incredibly annoying compared to doing the same task on a laptop. I was very happy when the experiment was finally over and I could use a real computer without feeling guilty.

Some basic functionality like multitasking or copy-paste are in an acceptable state for a phone or maybe even a tablet, but not for a computer. For example I wanted to read a friend's PhD thesis. I tried 3 pdf readers, and the usability of all sucked. But what was even worse was trying to read the thesis and write notes in a separate app. The task switching was just unbelievably clunky, and I never had any confidence in that the pdf readers would restore its state back correctly after I switched back.

It's hard to describe just how awful the multitasking experience is compared to a desktop OS, and how much it ends up mattering for usability. Not being able to have two applications visible at the same time in bad. Not being able to reliably and effortlessly switch between applications is crippling.

You might not realize how often you're switching contexts before using a system where it's not easy to do. Reading something in a chat or on a web page and need to punch in some numbers? In X my muscle memory opens a calculator automatically in a fraction of a second, with minimal interruption to the flow. In Android? It's a ridiculous process of much tapping, swiping and delays regardless of whether you need to start the calculator from the home screen or can use the recent apps menu to switch to it. Need to quickly check some chat windows and then resume whatever I was doing? Again a fraction of a second on a computer, an ordeal in Android. This stuff piles up very quickly.

The automatic process management that Android does feels totally absurd on a device like this. It's obvious what the point of it is on a possibly very resource-constrained phone. But once you stop thinking of the device as a tablet and treat it as a computer, your applications potentially being killed and needing to restore their state - possibly imperfectly - just becomes intolerable. "Oops. Hope you didn't actually need that ssh session".

While I don't feel software-deprived on Android when using it as a a tablet or phone OS, the expectations are very different for a general purpose computer. Either the software isn't there at all, or it's very crippled since it's not really inteded for serious use.

Even some software needs that that I expected to be trivial turned out to be painful. The best example is trying edit a Google Docs spreadsheet, which you might very well expect to be an easy operation. There's an Android app for Google Docs, but it turns out to be just a wrapper for the completely crippled mobile browser version, with (once again) not even minimal keyboard support, and with only the crudest editing capabilities. It was ok for viewing spreadsheets though. There's an option to switch the wrapper to use the normal desktop browser version, but it's so slow that even scrolling to the right part of the spreadsheet took a dozen tries, of iteratively over- or undershooting the target.

On the more hackerly side of things, stuff I expected to be just simple matters of programming turned out to be impossible. For example have you ever wondered why there are no editors with Emacs keybindings on the Android market? Or terminal software that could pass all Emacs keybindings through properly? It turns out not to be because nobody wants one enough to do the work, but because it's just not possible. Sure you might get the proper keyboard event for something simple like C-a, but for C-_ you're going to just get an _ event while for M-_ you'll get nothing.

Likewise while my programming needs on vacation were pretty modest (just wanted to prototype some things), it is pretty depressing that the only reasonably way to do it was to run an Ubuntu installation in a chroot. It's almost offensive that you can't realistically use an Android computer for developing native Android apps.

Now, in the beginning Android was a lot more agnostic about the input methods used. That support has been steadily eroding as the environment has moved towards a main input method of touch, in search of slicker user interfaces. And this is totally fine. But it does mean that trying to move back towards multiple input methods is going to be a touch job. Even if you get everything right in the core OS, you'd still need to get the application writers on board.

Ubuntu for Android looks like it might bring a solve this need to have the tablet work almost completely differently in normal vs. docked modes. But it's still vaporware, and running two parallel userlands is hardly an elegant solution.

Summary

I'm happy with the Transformer as a tablet. It's good for playing games, web browsing, watching videos on the plane, etc.

As a laptop or netbook the Transformer is a total failure, and I can't see this form factor ever working out for vanilla Android. It's too different to the main uses of the OS. Nobody seems to care about this use case, and the changes to make it a serious general purposes computer would probably hurt Android on the main target platforms. The main bright spot of the Transformer in netbook form is the incredible battery life, but it's hard to be happy about that when the experience as a whole is so lacking.

It's possible that this is finally the big chance for Linux on the desktop, but it's not the kind of Linux I like using, nor the kind I like programming for.