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.