Thursday, August 2, 2012

Lenovo Ideapad K1 - Icecream Sandwich options

Well, this is a change.

Lenovo finally came out with the long sought after Icecream Sandwich update for their K1 tablet last week, and what appeared at first to be a major disappointment turned out to contain a major, and extremely positive, surprise.

Let's quickly get the negatives out of the way. You are very, very, very, unlikely to want their official update. Their official update is missing the Google Play Store. This wasn't originally the plan, and Lenovo intended to include it, but found their plans to get an ICS update out there quickly resulted in a version of Android that wasn't compliant with Google's standards.

Fortunately, while Google is strict about official, commercial, versions of Android and the Google Play Store, they're more forgiving when it comes to open source, third party, distributions. And that kinda brings me onto the good point: Lenovo released the source code to their version of Icecream Sandwich - and opened the bootloader while they were at it.

Essentially, the K1 is now an open tablet. And already the number of versions of ICS has blossomed from one limited version to FIVE rather good versions. And it seems probable that, thanks to Lenovo's decision to work with, rather than against, the Open Source Android community, the K1 may be one of the first tablets out there with Jellybean.

Most of the work is down to a programmer called Kreg Hanning, a regular on Lenovo's forums as well as a contributor to Rootzwiki and XDA Developers. He's done an awesome job analyzing the Lenovo code and combining it with the Google software and official Android releases, and produced four new versions of Android ICS. These are:

  • A simple distribution of the official Lenovo build but with the Google Play Store added.
  • A version of the above with "root" access for users needing advanced functionality.
  • A version of AOSP - Google's official open source distribution of Android - with the ClockworkMod recovery (I'm simplifying it a little, but essentially CWM is an OS update mechanism ) and Lenovo's drivers.
  • A version of the above with "root" access for users needing advanced functionality.
And Kreg Hanning's also working on a Jellybean port.

You can get the first two here, and the others here. All four can be installed using either Windows or GNU/Linux and come with the necessary tools to do so.

There are some problems you probably need to be aware of. On my version, at least, camera access seems to be dodgy. And most users are having problems with many apps on the Google Play store - including apps that worked fine under Honeycomb - being marked as "incompatible" with the various ICS distributions. Interestingly, it seems to be an entirely different set of apps - the versions derived from the official Lenovo distribution will not run Google Maps, and the versions derived from AOSP will not run Google Play Music, and none of them will run Chrome.

So... which one do you want to run? Well, it's fairly easy:

  • If you're reliant on your existing apps, wait. There's no rush and there really are problems with the compatibility thing.
  • If you want to make the jump, and you know what root is, enough to know to reject it if an app asks for it for no reason, get the AOSP version with root. Otherwise get the AOSP version without it.
Why the AOSP version? Well:
  • All five versions will wipe your tablet. Completely. None of your old apps or data will survive. However, ClockworkMod Recovery in the AOSP versions will ensure you at least keep your data (and sometimes, if rarely, your apps) between updates in the future.
  • The AOSP versions seem to be slightly more compatible with apps in the Google Play Store.
I'll keep writing about this here if nobody objects... ;-)

Killing a project

One of the nerdy things I'm fairly interested in is computer security, and I've been banging on about the need to get people to understand, and in the case of Ubuntu, implement domain management as part of an overall security system for IPv6 networks. The reason is fairly easy to explain: it's an established model that is going to become extremely necessary when every computer can "see" every other computer. You're going to need to implement IPSec - encrypted connections between identifiable computers - in that environment, and without a domain system, IPSec is hard.

One of the projects I was working on was a "Download, install, and forget about it" system I called "On my 6". The idea was that you'd be able to install a simple tool on each PC that would do the hard work of configuring and setting up the security aspect, and use a common login system across all the computers you use.

There were, however, one or two problems with the approach:
  • My personal favorite was that it was a "security in the cloud" system, which seemed inherently... well, just wrong! I mean, I trust me, but why would a stranger do so? And while I could see people using it anyway there was always reasons to be concerned anyway. If a law enforcement group, or goodness help me, one of the more extreme copyright holder rights enforcement organizations, came at me with a warrant to force me to help them hack into someone's system, could I say no?
  • A more traditional problem: feature creep. Do we limit this "common logon" to just letting users use network shares on each other's PCs? Or do we, say, add email, and instant messaging, and voice over IP, and...? It's a more legitimate question than you might at first think - all those features do require authentication, they're all cases where computers need to identify one another and the users of those computers.
  • Explaining it - the marketing of the site needed to explain how this would actually be helpful. I can see how it's helpful, but unless you're using it it probably looks like nerdy mumbo-jumbo, and probably makes it look more complicated than not using it, even though, actually, the idea is to make things less complicated.
Microsoft's Windows 8 appears to have features that pretty much seal On My 6's fate - the operating system already comes with the ability to log in to a PC via a cloud based identity. Either they've implemented, for the most popular OS on the planet, the system I was working on, or they've made it very difficult for me to do so in a way that doesn't make things even more confusing, but either way I think they've killed it!

So... time to think of something else.

Saturday, July 21, 2012

Galaxy Nexus with Jellybean

I've been hesitant to recommend the phone I have for a fairly major reason which I'll come to in a moment, but I'm going to give a cautious thumbs up to it now that I've updated my Galaxy Nexus to Jellybean (Android 4.1.)

Here's the deal. The Galaxy Nexus is a "pure" Google phone, which means that it runs a version of Android that gives you what Google considers to be an ideal Android experience, or at least as close as possible as Google can manage.

The GN is a deceptively simple device with three buttons - Volume up/down, and Power on/off - together with the touchscreen itself. There's a headphone jack, and a micro USB port (that can also serve as an HDMI out.) The screen is a totally beautiful 720p (1280x720) affair with excellent color resolution, and there's front and back cameras. 


Why only three buttons? Well, since 3.0, Android tried to move to a buttonless user interface. The functions of the older Home, Back, and Menu keys has been moved to icons that are semi-permanently on-screen. I'm not sure whether this is a great idea in practice, but Google probably wants to simplify the hardware Android runs on, and improve the look and feel of Android devices at the same time. Me, I personally would like to see a hardware "End call" button, so reducing the number of buttons seems like a retrograde step, but the buttons being removed aren't that important.


Jellybean? Love it. While the jump from Honeycomb to ICS wasn't as dramatic as I'd read it would be, ICS to Jellybean is a huge step. It's much faster (or at least slicker), there's some great new functionality, such as Google Now, which attempts to provide constant relevant information (from weather forecasts to driving directions and times) without the user needing to ask for it. The Notifications bar is much more useful, providing more information (such as summaries of received emails) than simply one line notification counts.

The camera UI has been completely revamped and it now feels much more intuitive and much less clumsy than previous UIs. The GN was already good when it came to taking pictures, they're almost instant. You can easily take a lot of photos in quick succession, almost by accident, and you can swipe left to get the photo you just took. It's easier to see the improvement if you use the phone than it is to understand from the description!

Essentially the impression I get is that real thought went into Jellybean from the point of view of asking "How can we make this more helpful" rather than a simple "Let's add a feature that'll be hidden in some app somewhere" approach as might have been done in the past.

So... what are the downsides? Well, I have one big one, and two smaller problems.

Minor problem: No SD card slot. None. All the memory is on the phone. If you reset the phone, you wipe the "SD card" equivalent (something that doesn't happen on a phone with a removable card.)

Less minor, important to about 50% of the population: No keyboard. I'm sorry, but while on-screen keyboards are becoming excellent, there are still times I find myself pining for a real pull out thing, one where if you press a key, that's the key that'll register, not the one next to it, and not one that some software keyboard thinks you meant to type.

Really important: OK, here it is, the big reason I didn't want to recommend this phone at first, and still the issue that makes me wary of giving it a full recommendation: the battery is awful. Utterly abysmal. How bad is it? Try TEN HOURS with moderate usage. Not over the top usage. Just, say, 15 minutes of calls, the web for ten minutes during lunch, and occasionally checking emails or text messages.

It's terrible. Reportedly when one Google exec was questioned about the battery, he admitted to carrying a spare. Why, Google, would you bless this design when you know damn well that the battery life is this bad?

My solution to this is to buy a new battery. I bought the QCell Samsung Galaxy Nexus GSM i9250 3850mAh Extended Battery (sponsored link) which means the phone can last just over a day with moderate usage without running out of juice. Amazon lists a range of extended life batteries, all I can tell you about this one is that it works. It does, however, require its own battery cover, which adds a small bulge to the back of the phone.

Even this battery didn't quite last the day when my daughter was born. After a lot of calls and quite a few photos, the battery was close to dead by early evening. Fortunately I took a charger...

So, a qualified thumbs up. The battery thing is important. Get a long life one when you order the phone. Otherwise you'll probably hate it.