Exploring Ubuntu Touch, the other Linux OS for your phone

It's far from done, but Canonical's mobile work-in-progress has some good ideas.

The chances are good that if you're buying a smartphone or tablet in 2013, you're buying something with iOS or Android on it. The two operating systems loom so large over their competitors that even the entrenched, deep-pocketed Microsoft has had trouble making headway into this market with its Windows Phone, Windows 8, and Windows RT systems.

Google and Apple's combined dominance hasn't stopped others from trying, though. New mobile operating systems have been springing up like weeds in the last six months. RIM (now BlackBerry) finally launched the long-awaited BlackBerry 10 and BlackBerry Z10 in an attempt to overhaul its image. Mozilla is making Firefox OS in an effort to tackle developing markets and prove that a browser is all you really need. And Canonical wants to take Ubuntu beyond the desktop with Ubuntu Touch.

We got a not-quite-hands-on test drive of a 12.10-based version of Ubuntu's mobile operating system back at CES, but the OS images were recently updated to Ubuntu 13.04 when Raring Ringtail was introduced at the end of last month. Though Ubuntu Touch won't be available at retail before the end of this year at the earliest, we figured now is an opportune time to check in and see how things are going.

It can't be stressed enough that even in this updated form, Ubuntu Touch is nowhere near usable as a mainstream mobile operating system. Canonical makes no claim that it is. For now, the software is about half development environment and half proof-of-concept tech demo. As such, we aren't going to be evaluating Ubuntu Touch using quite the same criteria we'd use for a shipping product—we're going to be focusing more on how the OS looks and works and less on how it performs. As we get closer to Ubuntu 14.04 and presumably Ubuntu Touch's retail availability, we'll certainly be revisiting it with a more critical eye.

Smell you later, Android: Installing Ubuntu Touch

Enlarge/ After many frustrating hours, I realized that this wasn't the right way to install Ubuntu to the Galaxy Nexus.

Andrew Cunningham

Dedicated Ubuntu Touch hardware isn't here yet. If you want to run the operating system, you need an Android device with an unlocked bootloader. We ran through the complete installation instructions several times on our devices, and we'll present a condensed version here for your convenience.

Today there are four devices onto which you can easily load Ubuntu Touch: the Galaxy Nexus, the Nexus 4, the Nexus 7, and the Nexus 10. As Android reference devices, these phones and tablets are all pretty easy to unlock and manipulate, and their software and drivers are all readily available from Google and the Android Open Source Project (AOSP). Because Ubuntu Touch relies on a few low-level parts of Android to work—the Linux kernel, graphics and audio drivers, and software for using the phone's cellular radio—porting the OS to any other device requires that software to be available.

A considerable amount of work has been done to port Ubuntu Touch to a smattering of other phones and tablets, the full list of which can be found on this Devices page. Images for these devices aren't hosted by Canonical, but the flashing instructions and status pages are all linked there. At the time of writing, the instructions that we cover here won't apply to any non-Nexus devices.

You only need a few things to get started: a working Ubuntu computer (or Ubuntu VM with USB passthrough support), a micro-USB cable to connect to your phone or tablet, and a Nexus phone or tablet that you don't have any important data on. This particular flashing process is potentially destructive. Canonical warns that you can "potentially brick your device," so it would be best not to install the software on hardware that you rely on from day-to-day.

First, you'll need to grab the appropriate Android development tools for your Ubuntu computer, which can be executed through a couple of simple terminal commands. Start by adding the Ubuntu Touch PPA to your list of repositories:

This will add both the Android Debug Bridge (ADB) that you'll need to communicate with the device and the phablet-flash tool used to flash it.

Next, you'll need to unlock the bootloader on your phone or tablet and enable USB debugging. The standard warnings about unlocking your bootloader apply here: a device with an unlocked bootloader can be made to run malicious code at boot, and unlocking your bootloader also makes it easier for anyone with physical access to your phone to bypass any PIN or password you may have set.

Unlocking the developer-centric Nexus devices is pretty simple. First, power the device off, then power it on while holding down the power, volume down, and volume up buttons. Once you see the bootloader screen, plug the phone or tablet into your Ubuntu PC, open up a terminal window, and type sudo fastboot oem unlock. Accept the terms of service, and then unplug the device from the Ubuntu PC and reboot.

When the device reboots, tap through the first-time setup stuff until you're on the Android home screen. Go into the Settings app, scroll all the way to the bottom, tap "About [device]," and then tap repeatedly on the build number until the device informs you that you're now a developer. Tap the back button, tap the now-visible "Developer Options"menu, and check the "USB debugging" box.

Almost done! Next, go back to your Ubuntu PC, and in your terminal window type adb kill-server followed by adb start-server to make sure the ADB service is running properly. Plug your Android device back in via USB and tap OK when asked to allow USB debugging. Finally, type phablet-flash -b to deploy the appropriate Ubuntu Touch image to your Nexus device; this will take some time, but when it reboots your phone or tablet should be thoroughly Ubuntu-fied.

The installation wiki page has a few extra instructions that could be helpful if you encounter problems (like if your device can't make it past the boot screen after unlocking, which happened to our Nexus 10), but these steps should make your Nexus devices into Ubuntu devices without too much trouble. That wiki page will also come in handy if you'd like to get Android back on your devices when you're finished playing with Ubuntu. For the more adventurous, it's also possible to have both Ubuntu and Android installed on your device at once, but that's more than we'll get into here.

Andrew Cunningham
Andrew has a B.A. in Classics from Kenyon College and has over five years of experience in IT. His work has appeared on Charge Shot!!! and AnandTech, and he records a weekly book podcast called Overdue. Twitter@AndrewWrites

Meanwhile, I see many good UI ideas from the N9 being used everywhere (the swipe, the lack of buttons, the minimized app thumbnails with real multitasking). This means I *might* be able to replace it some day.

Meanwhile, I see many good UI ideas from the N9 being used everywhere (the swipe, the lack of buttons, the minimized app thumbnails with real multitasking). This means I *might* be able to replace it some day.

Yeah, that's what I meant, but I was expecting others to be brought up in the comments pretty quickly. :-)

Can someone summarize the appeal of this? I love Ubuntu and use it every day on my main laptop, but the main appeal is the shell, grep/sed/awk/etc, the repos, and super awesome for python/scala/ruby/LaTeX work. The GUI elements are generally not why people love Linux. So what is the draw of an Ubuntu phone/tablet OS?

I'm sorry, but for many people the interfaces (KDE, GNOME, Pantheon, and even Unity for some) is the main reason they use the OS. Whether because they love the default environment, or they enjoy customization, many use Linux to make their computing environment's feel unique to their tastes.

It should also be mentioned that Sailfish may be a better option for N9 advocates, as it inherits much of the interaction style and takes that ethos a bit further, not to mention it runs the traditional stack (X11 and soon Wayland). It's much more friendly to upstreams than Ubuntu, but the alternatives may pale in comparison if the convergence story in Ubuntu proves to be compelling.

I very much look forward to the questions this will cause consumers to ask themselves if it becomes widely available. Why they should split their computing across so many devices if they really only need one- the allure should be obvious.

I'm sorry, but for many people the interfaces (KDE, GNOME, Pantheon, and even Unity for some) is the main reason they use the OS. Whether because they love the default environment, or they enjoy customization, many use Linux to make their computing environment's feel unique to their tastes.

It should also be mentioned that Sailfish may be a better option for N9 advocates, as it inherits much of the interaction style and takes that ethos a bit further, not to mention it runs the traditional stack (X11 and soon Wayland). It's much more friendly to upstreams than Ubuntu, but the alternatives may pale in comparison if the convergence story in Ubuntu proves to be compelling.

I very much look forward to the questions this will cause consumers to ask themselves if it becomes widely available. Why they should split their computing across so many devices if they really only need one- the allure should be obvious.

Don't be sorry, the main reason I like my N9 is the UI. That's why Sailfish, for me, is less than useless. I'm especially miffed that I could install a flavor of Android on the N9 but not Sailfish, even though the Sailfish dev phones are N950s - which is 99.99% similar to the N9.

Can someone summarize the appeal of this? The GUI elements are generally not why people love Linux. So what is the draw of an Ubuntu phone/tablet OS?

... "was" generally not. The very success of Ubuntu is built on the influx of Linux newcomers who demand "userfriendliness" and attractive interfaces, and it's also why a new(ish) distro like elementary is one of the most talked about though it hasn't even seen a proper release yet - it's not 2003 anymore, your average Linux user is not a tech savvy programmer disinterested in aesthetics.

The draw for me, if it becomes stable and gains a healthy eco-system, would be a visually appealing open source mobile OS seamlessly integrated with a desktop OS counterpart.

I have nothing against Android and foresee great difficulties for Canonical in becoming even a small player, but kudos to them for trying, and best of luck.

Given that it has over 11 months to go until full convergence, not bad. I've heard they're supposed to gain bare-bones usability of it at the end of this month, though their standards of it is just stability of using certain tasks for real life.

The real proof of success for me, though, is when this technology successfully converges towards the desktop, which they call Unity-next, or Unity 8. That's really when I'll be impressed, as Ubuntu would be the only OS to truly do so. It's a real tall order, especially given that Canonical is building a display server of their own to do this...

Ubuntu touch looks a work in progress, not yet ready for the masses, but looking forward to the release product. I am still going to stay with Android, specially to see what is new in the upcoming 4.3 version.

I see many good UI ideas from the N9 being used everywhere (the swipe, the lack of buttons, the minimized app thumbnails with real multitasking). This means I *might* be able to replace it some day.

Pretty happy with my N9, here.

Me too, but if I break it, I'm screwed. I huff in frustration when I have to use an iPhone and get infuriated with my work's Android 2.3 phone. Who cares about apps if I'm going to die sooner just for using that stuff?

Pretty interesting ideas for user interface. I really like the side-app functionality for those time when you want to quickly answer a text without minimizing your browser first.I will be trying this out when it's stable. (Firefox OS too).

Huge respect to the Ubuntu team for the effort that has gone into this. However, I presonally have serious difficulty liking anything to do with Unity. Being OSS, though, I hope that some of this hard work will trickle down to other linux phone projects, even if they end up being even more niche than Ubuntu touch.

Does anyone know if the button design is final, or is still being polished?

I can spot 4 main button designs:

1. inset (numbers on the phone/dialer UI)2. outset light, without border (the keyboard)3. outset dark, with border (the keyboard buttons like shift and switch to numbers)4. flat (calculator)

Also, the inset/outset buttons have little contrast that makes it harder to see the boundary of the button.

The flat button UI in the calculator is the best design as it fits in with the rest of the UI and has the best contrast.

This seems to be an effect of the choice of QML compared to GTK+ and QWidgets, where the default platform styles of different UI elements is customised in QML. This has also been the trend on Windows with things like WPF and Expression Blend and is also a trend in the mobile space, e.g. on Android.

There are some places where a custom UI makes sense (e.g. games). But for core applications -- especially those provided by Canonical -- there should be a consistent UI and a consistent experience.

NOTE: It is possible to change the style of GTK+ and QWidgets using a CSS-like syntax. From what I have seen, though, this has not been used to create radically different looking widgets with GTK+, Qt/QWidgets and KDE applications looking native on either GNOME or KDE (provided the appropriate style libraries are installed).

Interestingly enough they're aiming for one codebase for tablet, phone and pc. That kinda worries me a bit. But, overall, I completely agree with the steps that Canonical are taking. They should have done this a long time ago.

Don't be sorry, the main reason I like my N9 is the UI. That's why Sailfish, for me, is less than useless.

I don't follow. Much of the team behind the N9 is currently working for Jolla on Sailfish. What makes it useless?

Quote:

I'm especially miffed that I could install a flavor of Android on the N9 but not Sailfish, even though the Sailfish dev phones are N950s - which is 99.99% similar to the N9.

Err, on what now?

Question 1: Sailfish is not using anything remotely similar to the N9's UI, because Nokia won't license it. The SwipeUI has become the face of the Nokia Asha phones (cf Asha 501), which are featurephones based on S40 and J2ME. Now all Nokia phones apart from the C-xx basic phones and the Lumias have a "family UI" (Symbian Belle/ Maemo Harmattan / Asha 5xx)

Question 2: I did not understand your question?

There is something called NITdroid that is an Android 4.1 which can be installed and dual-booted on the N9 but does not support telephony or power management - it can, however, run most apps and games for Android. Development is dormant since late 2012, so I'm not expecting anything new.

Jolla has mostly demoed Sailfish on N950s, which had become the dev phones for the N9. Floating around the intertubes is a Sailfish image that can be installed on the N950. That image, AFAIK, won't work on the N9.

Maybe Sailfish was very alpha stage at that time and having the N9 community play with it would break it repeatedly in public - but they should have come out and said it.

The way I see it, is that Apple will be keeping a look out for promising developers through Ubuntu that they can hire. Doesn't it make sense? And it is the same reason why Ubuntu will never be as good as OSX.

The design of the basic gestures seem weird to me. With all edges being used by the OS will there be any possibility for apps to use the edges? If not it feels like the possible navigation options inside apps will be quite limited, especially on phones with smaller screens.

When using these "previews" have you had any trouble accidentally invoking OS functions instead of app functions?

Can someone summarize the appeal of this? I love Ubuntu and use it every day on my main laptop, but the main appeal is the shell, grep/sed/awk/etc, the repos, and super awesome for python/scala/ruby/LaTeX work. The GUI elements are generally not why people love Linux. So what is the draw of an Ubuntu phone/tablet OS?

I'm hoping that this turns out to be a big boy smartphone OS. I understand there are inherent limitation with a touch interface, but Android and iOS feel like, for the most part, they are just crappy 90s shareware. Problems that have been long solved on the desktop often have limited functionality and are chock full of ads or nickel and diming you for things no self respecting OS can't do out of the box.

Can someone summarize the appeal of this? I love Ubuntu and use it every day on my main laptop, but the main appeal is the shell, grep/sed/awk/etc, the repos, and super awesome for python/scala/ruby/LaTeX work. The GUI elements are generally not why people love Linux. So what is the draw of an Ubuntu phone/tablet OS?

I dont think it's the interface that's the main appeal, but the future ability to dock your phone or tablet and get a full desktop experience that is truly the same OS. I've only seen phones docked that launch into a separate OS.

Of course the interface has to be good for people to use it and Ubuntu will not be the only ones to have this feature. Google could achieve something similar with a unification of Android and ChromeOS, and so could apple do something with iOS and OSX, which have been acquiring features from each other for years. Microsoft is heading down the same road it seems.

It's the obvious future, mobile processors are still not quite good enough to be used on a modern desktop, but they will be soon, that's for sure. Windows XP and XP era software (Photoshop CS) had much lower hardware requirements than what is already provided in most top end smart phones these days.

The chances are good that if you're buying a smartphone or tablet in 2013, you're buying something with iOS or Android on it. The two operating systems loom so large over their competitors that even the entrenched, deep-pocketed Microsoft has had trouble making headway into this market with its Windows Phone, Windows 8, and Windows RT systems.

Question 1: Sailfish is not using anything remotely similar to the N9's UI, because Nokia won't license it.

And I don't see how this makes Sailfish "less than useless," considering that we have yet to fully see what Jolla will do with it on their devices beyond the demonstrations where it's obvious they're applying what they've learned.

Hell I'll be happy if you can double tap the screen to wake it up. I do that all the time now to my Nexus 7 and get annoyed when it doesn't respond.

Quote:

Question 2: I did not understand your question?

Your grumpy statement was worded oddly, I thought were upset that you couldn't install NITDroid on "Sailfish." Do keep in mind that the N950 and N9 are different enough that the same hardware images won't work on both devices. That said, given that Mer (the underlying core Linux platform) runs on the N9 it's probably only a matter of time and interest until Sailfish will run on it.

Jolla is under no obligations to make Sailfish run on the N9, so I find your complaint silly at best.

I still have some concerns. Unless something has changed, I believe that they are not going to have their own app store, but rely on the cell carriers to have their own app stores. That is great for the carriers because they can get a cut, but not for the consumer.

What happens to your apps when you switch carriers and get a new phone? At least today if I bought an app through the Apple app store, or Google Play, I still own that app.

"UGhhhhhh, Microsoft is trying to create an operating system that runs on Desktops, tablets and phones. I don't want any stupid touch UI stuff contaminating my pure mouse desktop."

2013:

"Finally Linux is offering a singular OS experience that runs on everything from my phone to my desktop! The future is here! Long live Linux!"

The problem with Windows 8 is that it puts tiles on a desktop computer. The Win 8 UI is not desktop friendly. The Ubuntu Unity UI is, although it isn't as familiar as a start menu it works well once you get used to it.

I like the direction they're going with it. I actually like using Unity on the desktop as well, and would really heavily consider switching to this if it becomes polished enough for day-to-day use. I look forward to the full review when it's finally released.

Can someone summarize the appeal of this? I love Ubuntu and use it every day on my main laptop, but the main appeal is the shell, grep/sed/awk/etc, the repos, and super awesome for python/scala/ruby/LaTeX work. The GUI elements are generally not why people love Linux. So what is the draw of an Ubuntu phone/tablet OS?

Speaking for myself:

I've used both iOS and Android.

With iOS I always felt like Apple was trying their hardest to prevent me from doing things I wanted to do with my phone. Even simple things like changing carrier on an unlocked phone was a pain: I had to use a 3rd party hack just to make the carrier apn setting visible to get 3g data. As the locked-down, user-hostile nature of iOS is well known, I won't go on about it needlessly here.

With Android you can do what you like with your device and run what you want on your device, but much of the core functionality depends on Google services. Often there are no real alternatives (or no good ones) because the Google stuff does work and "if it ain't broke" (...although there is Fdroid, which helps). Consequently if you decide you don't want to use those services (perhaps because you are privacy-conscious) doing very simple things suddenly becomes a lot more difficult. Also, the loss of USB mass-storage makes users jump through additional hoops for no good reason (ESPECIALLY if you use an OS which does not support MTP out of the box). And a lot of what I would regard as fairly normal tasks seem either rely on rooting or involve convoluted work-arounds to avoid having to invoke root privileges. All this adds up to an experience which quickly starts to feel as restrictive and frustrating as iOS.

All in all, with both OSs I have felt that I had to struggle with my phone to get it do do what I want the way I want.

I'm HOPING that Ubuntu Touch will be more like my PC, in that 1. I'll be able to use the device as I see fit, and run whatever I want to run, 2. I'll be able to decide which online services (if any) I want to use, and 3. I'll be able to make decisions about disclosing my personal information without loosing core functionality. Basically I'd just like my phone to be as easy to use as my PC is. In 2013 that shouldn't be so much to ask.