Monday, May 13, 2013

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 ease 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 haven't stopped others from trying, though. Newer 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 a 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

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

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:
sudo add-apt-repository ppa:phablet-team/tools
Then you'll actually download the tools from that repository:
sudo apt-get update
sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot
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-serverfollowed 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.

Learning the basics

For this piece, we installed the latest Raring Ringtail-based build on a Galaxy Nexus and Nexus 10. This helped give us a taste of how the phone experience differs from the tablet experience and allowed us to see how older, slower hardware (the Galaxy Nexus' dual-core OMAP 4 SoC) runs the software. We'll be making some subjective observations about performance on both devices, but remember that the software is still very much a work in progress. There's plenty of time for it to be optimized.
Ubuntu Touch is a bit BlackBerry 10-like in that it favors gesture-based navigation over buttons for basic interactions. Unlike iOS and Android, it has no static Home or navigation buttons on-screen or otherwise. Navigating the phone's interface is the same in the 13.04-based image as it was in the 12.10 image: a short swipe from the left side of the screen brings up a Unity-style dock of applications that you can scroll through. A longer swipe from the left side will dismiss the currently running app and take you to the Apps section of the home screen (more on that in a bit).

Swipe in a little and then thumb up and down through the phone's application dock. Swipe in all the way just to dismiss the current app and return to the home screen.
Tap the top-right corner of the screen to bring up some quick settings, including controls for Airplane Mode, volume, screen brightness, connected networks, and others.

Swiping from the right will quickly switch between all of your running applications. Swiping down from the top and moving your finger from left to right switches between several quick settings and notifications panels—one for your messages (populated in current builds with dummy filler messages), one for sound, one for networks, and so on. Tapping the upper right-hand corner of the screen brings up a "device" menu with an Airplane Mode switch and access to the entire settings menu, and tapping the upper left-hand corner of the screen invokes the Search feature that will look through all of your applications and media for you. Finally, swiping up from the bottom of the screen will bring up a menu of app-specific settings.

An app-specific settings panel can be brought up for most applications.
 Using the Search function to look through installed applications.

On both the Galaxy Nexus and Nexus 10 these gestures worked pretty consistently, but animations throughout the OS are frequently choppy. Swiping from the left to return to the home screen and swiping up from the bottom to access application settings will probably be the most difficult to teach new users; when swiping from the left, the application dock always comes up momentarily even if you're swiping past it to get to the home screen. Swiping up from the bottom only invokes the settings menu if your finger lands on the magnifying glass icon that appears in the middle of the screen as you swipe.
If you're having trouble understanding how these gestures work, it's because they're a bit complicated to explain. This isn't to say that they're impossible or even especially difficult to get used to, but the relationship between an input and that input's effect on the software is a bit muddled. Compare the above instructions to something like "tap a button to return to the home screen" from iOS or Android, or even the swipe-up-to-go-home gesture from BlackBerry 10. It's not hard to get it right when you've used Ubuntu Touch for a few days, but it may be a bit confusing to a layperson poking at display phones in a store.
Jumping to the larger screen of the Nexus 10, all of the basic interactions and functions are the same as they are on the phone, only larger. Each of the home screens can obviously fit much more information than the corresponding phone screens, and you'll have to do much less scrolling to get at everything. There are a couple of instances where the tablet differs from the phone, though.

When installed on the Nexus 10, Ubuntu Touch allows for multiple user profiles.

The first and most obvious is in multi-user support—the tablet software uses a sign-in screen that looks like the one in the desktop versions of Ubuntu. It's possible that the phone will support multiple users in a similar way, but it's worth nothing that Android 4.2 also makes the phone-versus-tablet distinction for multi-user support.
The second is in how it handles certain applications. On the phone, all apps automatically take up the full size of the screen. Because there's much more screen on the tablet, certain applications—Notes, Twitter, the calculator app, and some others—will only take up the right third of the screen when launched, leaving the home screen (or other full-screen app like the browser) visible. Canonical calls this section of the screen the "side stage."

The "side stage" feature allows two apps to be run side-by-side.

The effect is visually similar to the Snap feature introduced in Windows 8, which also allows you to run two "full-screen" applications at once (the feature is implemented better in Windows as of this writing). Currently the full-screen app doesn't resize itself when you bring up the side stage, leaving part of the full-screen app obscured. Canonical's photos of the feature in action seem to suggest that this is how the side stage will eventually work.
Even in its current rough state, the Ubuntu tablet interface is another data point in a bigger trend: tablets, especially larger ones, are trying to figure out how to capitalize on their larger screens without completely sacrificing the simplicity of the one-app-at-a-time model that we've become used to. Windows 8, Ubuntu Touch, and even some Android skins (we're thinking of TouchWiz in particular) all implement similar split-screen functions so that you can keep an eye on your inbox or Twitter feed without having to jump in and out of different applications constantly. Generally speaking, it seems like a pretty good idea. We just need to wait for Canonical to finish implementing it before we can really judge it.

Home screen(s)

The Ubuntu Touch home screen isn't directly comparable to any single mobile OS, but draws elements from several of them (and is vaguely reminiscent of the Unity Dash from the desktop version of Ubuntu).

When navigating between the home screens, a small navigation bar pops up at the bottom of the screen. This bar re-hides itself after a couple of seconds of inactivity.
The whole interface is more than a little reminiscent of the Unity desktop environment.

There are five different sections of the home screen, which are navigated between by swiping from left to right. We'll start at the Home screen itself, which presents a grid of the most frequently used apps, a list of recent and frequent contacts, a list of recent music, and a list of popular videos. The contacts, music, and videos on this screen are all placeholders at the moment, but the current layout implies that the Home screen will let you access most of your most frequently or recently used applications and media without needing to dive down into each app.
From the Home screen, swipe once to the right to get to the People screen, which lists the most frequent and recent contacts (as on the Home screen) above your newest contacts. Scroll down to see a complete list of contacts, arranged alphabetically.
Swipe to the right again to get to the Music screen, which displays “Featured” music (one assumes from Ubuntu’s own store, but because all of the icons on the screen are non-functional filler it’s difficult to say) as well as recently played music and new and popular releases.

The Apps home screen, where you can launch, switch, close, and download new applications.

Swipe once to the left from the Home screen to get to the Apps screen, which is probably where you’ll spend most of your time on the phone. At the top is a grid of thumbnails representing your running apps; tap a thumbnail to switch to that app, or long-press the app and then tap the X's that appear to close them. Scroll down to see your frequently used apps, the full list of applications you’ve installed, and apps available for download from the Ubuntu Software Centre (these icons are also non-functional).
Finally, swipe once more to the left to reach the Videos screen, which roughly mirrors the Music screen with recently watched and featured videos as well as new and popular ones. How useful both media-focused home screens ultimately are will depend on whether third-party applications can hook into them. I do the majority of my music listening through Spotify and Pandora, for instance, so the Music screen won't be of much use to me unless those apps can populate the various categories.

The Home screen on a tablet. Note the larger icons and the Cover Flow-esque area for frequent contacts.

As with basic OS interactions, the home screens are consistent in look and feel across both the phone and tablet interfaces. The tablet's large screen gives the interface some room to breathe, which means there are usually more and larger icons in the tablet's interface than on the phone's. There's also a little less vertical scrolling—elements like the "favorite people" section have been replaced by a Cover Flow-esque row of pictures which you can navigate by swiping left and right.
Overall, the basic design and function of the various home screens as they stand is encouraging; they try to put the stuff you'll need the most front-and-center without making you dive into multiple applications to get at this data. The performance of the home screens was also by far the smoothest and most stable experience we had while using the operating system on both the Galaxy Nexus and Nexus 10. It's clear that these current builds are being tailor-made for quick, guided demos like the one we got at CES.

Miscellany: The keyboard, copy and paste, and notifications

The last things we'll be looking at in our guided tour of the OS are some of the most essential facets to a good touch operating system: the keyboard (and text entry in general) and notifications menu.

 The tablet version of the software keyboard. What you see is what you get—there's nothing under the surface here.

The keyboard is extremely barebones—it doesn't feel much less accurate than the stock Android keyboard in Jelly Bean, but it lacks predictive (and corrective) text. It doesn't dynamically change around as you navigate between different kinds of text fields (adding a number pad for number-only fields, for instance, or adding a ".com" when in an address bar). It also frequently fails to dismiss itself, hanging around when you're trying to navigate the home screens or launch other apps. On the Nexus 10, the keys are very wide and squat in landscape mode, which causes more typing errors than on the phone. This is, at best, the foundation for a modern software keyboard. It pales in comparison to the versatile, full-featured keyboards you can get in Android.

 You can't copy and paste anything smaller than a paragraph. Like so many other things in the OS, the Share and Save buttons don't appear to do anything yet.

The same is true of the copy-and-paste functionality, which is there but not particularly useful. The usual long-tap-over-text activates the feature, but at the moment you can't highlight a block of text any smaller than a paragraph, making it impossible to copy sentences or individual words. It is, again, basic functionality that needs a lot of polish before it can stand up to the competition.

 The Messages menu looks like it will be quite useful. You can receive and send messages over several different applications and services, all without ever leaving this screen.

The Messages menu, which is roughly equivalent to the notifications center in other operating systems, is much more promising. It aggregates notifications from multiple applications and services in one place and will let you reply back to those people through the same applications and services without leaving the Messages menu. Android is slowly moving this way—each new version allows you to do just a bit more with things like Gmail messages from the comfort of the notifications shade. Ubuntu's approach is also vaguely reminiscent of the BlackBerry Hub (though perhaps not quite as all-encompassing). I really like the simplicity and cleanliness of the Ubuntu implementation, though. Small icons make it clear just how the people in question contacted you, and the interface for replying is simple (as befits the short messages you're often firing off to people from your smartphone).

Gotta have apps

Independent developers are working on a number of apps for Ubuntu Touch, but we'll be focusing on the applications included with the system. Many of the icons on the various home screens don't actually do anything yet. But the built-in apps give us some idea of what Ubuntu Touch will ship with when it's done, plus the kind of design language we can expect from finished first- and third-party applications.


The Ubuntu Touch browser pretends to be mobile Safari running on an iPhone running iOS 5.0, according to the user agent string. This isn't uncommon, especially in the less-popular mobile platforms—by presenting themselves to sites as mobile Safari, they can run the same mobile layouts and benefit from the work that Web developers have done to support the iPhone. BlackBerry 10 takes a similar route to improve compatibility.
As it stands, the browser is probably the most fully realized app on the phone, though as with most of the operating system performance, it was a bit choppy on the Galaxy Nexus. Crashes weren't entirely uncommon. The most impressive thing about it at the moment is its scrolling performance, which is silky smooth on just about every page you can throw at it.

When launched, Web apps like Twitter and Gmail will be able to run independently of the main Browser app.

The browser will end up being very important to the operating system as a whole, since many of the phone's "apps" are actually just links to mobile sites (Twitter, Gmail, and Amazon all fit this description). Ubuntu Touch will allow these Web apps to be "installed" and run independently of the browser, even giving them access to system services like notifications. This is relatively similar to how the Firefox Phone's apps function, but with Ubuntu Touch you'll still have the option to code native apps rather than relying on browser apps for everything.


 The Phone app handles a few other things in addition to the dialer.

The Ubuntu Touch Phone app combines a few different pieces of functionality that generally reside in separate apps in other operating systems: the phone dialer (obviously), a list of your contacts, and all of your (fully searchable) text messages. As in other areas of the OS, the screens are populated with a lot of filler data.
The Phone app is also a good introduction to another one of Ubuntu Touch's common navigation methods: put your finger on the screen up where it says "Call" and swipe from left to right, and then tap Contacts or Conversations to change screens. Again, Ubuntu Touch relies on (potentially non-obvious) gestures rather than persistent buttons for navigation. Moving around within apps like this is pretty common in many of the other applications shipping with current Ubuntu Touch builds.


 Notes: as simple as it gets.

The Notes app is extremely simple: you can type and copy-and-paste text and images here, but you can't do much else. The screenshots and descriptions on the Ubuntu Touch pages imply that eventually you'll be able to drag elements from other apps quickly and easily into the Notes app on tablets that support the side stage area. Sadly, that feature isn't quite ready to go in this build just yet.


The Camera app does what it needs to do, but not much else.

The included camera app is basic but functional. It currently supports shooting photos and video, switching between the front- and rear-facing cameras, and turning the flash on and off. A few other settings (like white balance) are hidden in the not-yet-functional settings menu. One other current wrinkle is that the pictures you take with it don't actually go anywhere, since the gallery app is currently non-functional. Given that this is preview software, we don't anticipate that this will bother too many people just yet.

Calendar, Calculator, Weather, and Clock


These four are only worth quick hits: the Calendar app is a monthly view calendar that supports the creation of meetings and to-dos, but it is currently limited in its usefulness by an inability to integrate with whatever calendar service you're using. The Calculator app is a basic non-scientific calculator, and the sole interesting fact about it is that you can swipe up to clear the current calculation and start a new one. The Weather app gives you the current weather and temperature as well as the forecasted minimum and maximum temperature for your current location plus any other locations you add. The Clock app includes an alarm, a timer, and a stopwatch.
These applications are more interesting for what they tell us about Ubuntu Touch's design philosophy rather than their actual functionality. As with the keyboard, Ubuntu favors whites and light colors to the blacks and dark colors used by something like Android. The graphics are very clean and "flat" as opposed to the skeuomorphic designs favored by current Apple software (but not, reportedly, by upcoming Apple software like iOS 7).

The foundation looks solid, but it’s not done yet

Even a few months in, the majority of the front-facing stuff in Ubuntu Touch is filler. The lock screen, most of the items on the home screens, and many of the apps themselves all fit this description. A slew of crucial applications (a mail client and the planned Terminal app, for example) are still missing. The third-party application support you'd need to install Emacs and start coding on your smartphone isn't here yet, either—as we've said, this is clearly not ready for your current smartphone.
But there are things here that give us hope. Once the home screens are fully populated with apps and data, they'll be able to give you access to a lot of your stuff without requiring you to dive down into dedicated apps. The general Unity look-and-feel translates well to a phone or tablet screen, and as the touch part of the OS matures, we'll hopefully start to see some of this touchscreen-friendliness make its way into the desktop version of Ubuntu (which will increasingly be asked to power touchscreen laptops, thanks to the Windows 8-fueled proliferation of touchscreens in PCs).
There are other things that we know Canonical intends to do with the software between now and the final version, at least according to the original announcement. But these things just aren't here yet. The Ubuntu Software Centre will be expanded to offer phone-and-tablet ready apps, Ubuntu One will be available to developers who want to sync information between different types of Ubuntu devices, and docked phones and tablets with sufficient hardware (a quad-core ARM chip or Intel Atom CPU) should eventually be able to output a more desktop-like version of Ubuntu to an external monitor. None of these features are ready, but we'll continue to monitor the OS as the year goes on to see if Canonical's promises become reality.
Ubuntu 14.04 will be the first version to unify the touch and desktop versions of Ubuntu. Hopefully we'll get a fully functional version of the touch OS before then—there's clearly a lot of work to do before it could plausibly be considered a daily use operating system, but it has enough interesting ideas that our curiosity is piqued. In the meantime, if you're interested in learning a bit more about Ubuntu Touch or perhaps in developing apps for the platform, the release notes are a great place to go. They'll walk you through connecting to the phone or tablet over ADB or via SSH so you can dive a deeper into the device's innards.

No comments:

Post a Comment

Let us know your Thoughts and ideas!
Your comment will be deleted if you
Spam , Adv. Or use of bad language!
Try not to! And thank for visiting and for the comment
Keep visiting and spread and share our post !!
Sharing is a kind way of caring!! Thanks again!