My 4+ year old LG Nexus 5 smartphone, now running Ubuntu Touch OTA-7 |
INTRODUCTION
This post has been some time coming. It's been a project and product that I've been enthusiastic about doing and writing about for some time, and the day is finally here.
I'd been following the Ubuntu Touch [1] project ever since Canonical had first announced it over 8 years ago. The original product idea - an Ubuntu phone - was like a dream come true at the time. I could hardly believe it when I had first read the news, and anticipated buying one of my own upon the planned release date. The ambitious idea floated at the time, to have an Ubuntu-based mobile operating system such that "Ubuntu would support smartphones, tablets, smart TVs and other smart screens (such as car head units and smartwatches" [1] was enough to make a Linux (and Ubuntu) enthusiast swoon.
Canonical even went as far as running a Kickstarter funding project to develop their own in-house phone, but that that was eventually shelved. In the end, the Ubuntu Touch [2] mobile OS didn't go for a wide commercial release as was hoped, but was instead given over to the Open Source community to take over and move forward. That challenge was taken up by the UBports Foundation [3], which has driven it forward over the last 4+ years.
Although I was initially disappointed to hear the news that the official Ubuntu Phone was not going forward as a commercially available product, I was encouraged to read that it was being made available for developers to move forward. When I came across the news a few years ago that it had been successfully ported to commercially available devices and handsets from other manufacturers, it instantly caught my attention. One of those handsets mentioned was the Google Nexus [4] series of phones, of which Ubuntu Touch had effectively been demonstrated on the Nexus 4 [5]. I owned one at the time, but couldn't spare it for conversion. A few more years went by, during which I migrated from the Nexus 4 to the Nexus 5 [6], and then to a G4.
PLATFORM HARDWARE
It was therefore recently while I was disposing of some of my old phones, that I dug up these specimens, and upon simultaneously seeing some news updates from Ubports regarding the latest version of Ubuntu Touch (OTA-7), that I finally decided to act on the long-standing desire to have an Ubuntu phone of my own. I therefore disposed of one Nexus 4, kept the Nexus 5 and decided to take the leap and turn it into my Ubuntu Touch testbed project.
My LG Nexus 5 from Google, prior to conversion |
I have owned this particular Nexus 5 unit for approximately the last 4+ years, and having operated it extensively for 2 years in that time frame. As can be seen in the photos to the left and below, it is in excellent condition, with no damage to speak of, having spent most of its life in a protective case.
On the whole, it had been a trouble free phone, but as with the general Google policy for its Android-based phones, official OS and security updates were supplied for two years after release, and then ceased.
LG Nexus 5, running Android Lollipop |
The Nexus 5 ran an old version of Android - release 5.1.1, also known as "Lollipop". It did still receive
updates for the apps that I had left installed on it. I had left it lying around as a backup phone, in case anything happened to the G4 that I had been using. The time had finally come to give it a new lease on life, a "born again" experience, if you will.
With that in mind, I inspected the Ubuntu Touch and Ubports sites to
look at the available documentation for the Nexus 4 and 5. Of the
currently supported and promoted handsets for Ubuntu Touch, I was quite
happy to read under the section on the Nexus 5 that "From all core devices Nexus
5 is most available. At the moment it is also the best device to
experience convergence" [7]. It also had the least known restrictions
and issues with functionality and the user experience, and from what I
could see from other sources, the conversion process seemed
straightforward and trouble-free [8].
I intend to document my experience that process in the next few sections. As is my custom with my posts on this site, I made sure to take extensive screenshots and photographs at every step of the conversion and installation process, with the objective of providing effective context for analysis of the product itself, both as it stands now and moving forward from here as a serious Open Source Software project.
FLASHING & INSTALLATION
UBports Installer main screen, seen here on Ubuntu 18.04 |
The flashing and installation process for Ubuntu Touch requires the use of the UBports Installer tool, available for download from the site [8]. Installer packages are available for Windows, MacOS and Linux.
As a Linux user, I had three installer package options available:
- A .deb package, applicable for Debian and Ubuntu users
- An Appimage file, suitable for all Linux distributions
- An install from the Snap store
I decided to go with option #1, since the .deb package would open and install easily with Ubuntu's Software Center app. A short download and a couple of clicks later, it was installed on my system (running Ubuntu 18.04 Bionic Beaver) and ready to go.
At this point, I should mention an important detail that is important to take note of. The UBports installer can be alternately found in the Ubuntu Software Center, as shown in the screenshots below.
Ubuntu Software Center |
UBPorts Installer in the Ubuntu Software Center, available from the Snap Store as Beta Version |
As seen from the details in the screenshot, the installer is listed as available from the Snap store. However, it is important to note that the version listed by default is 0.1.20-beta - the beta version. The version I have installed on my system is version 0.1.21, from the UBPorts website.
UBPorts installers listed on Software Center. 0.1.21 installed |
This difference is important to take note of, because I missed this distinction.
When I initially tried the flashing and installation process, I did so with with the 0.1.20-beta version available from the Software Center. This resulted in an error message and a halt to operation during the first stage of the flashing process. As a result, I had to go back and check the software versions, install the newer version from the UBports website and then try the process again. It is recommended that users running Ubuntu 18.04 avoid the 0.1.20-beta listed in the Software Center and use the latest version direct from the project, in order to avoid any risks that might hang the flashing process and result in a bricked device.
UBports Installer: Device connection prompt |
The UBports Installer is currently configured to flash and install Ubuntu Touch for a limited set of devices, listed on the main Ubuntu Touch and UBports websites, as well as in the installer's drop-down menu. In most cases, it should automatically detect the device/handset once it has been put into "Developer Mode" and plugged into an available USB port on the host computer. This was the installer's first instruction, as shown in the screenshot on the left. For additional information on enabling Developer Mode, the installer does have a handy popup that provides more information, as shown in the more detailed screenshot. In the case of my Nexus 5, Developer Mode was enabled from the phone's System Information and settings section by following the outlined instructions. After confirming that I wanted to enable the setting and having navigated out of the System Settings, it was on to the next step.
Ubports Installer: How to enable Developer Mode on the device in question |
Ubports Installer: Successful phone detection and installation options |
With Developer Mode enabled and the Nexus 5 connected to my computer's USB port, the installer took a few seconds as the laptop mounted the device, before successfully finding, registering and correctly identifying the model of the phone. It presented the the details of what it had found for confirmation in the following screenshot, as well as presenting more advanced options for the flashing procedure - a full wipe of the existing Android OS, or preserving it and enabling a side-by-side installation, should the need arise to restore the original. I chose to perform a full wipe on the existing system.
With all options selected and confirmed, it was time to let the installer perform the download and installation of the Ubuntu Touch files. I gave the go ahead and watched both the installer and phone screen intently as the process was initiated and began to move along.
UBports Installer: Commencing the download process |
As the installer began commencing download of the Ubuntu Touch OS files, it went through sending the first and second across, and then seemed to momentarily pause. It had sent two files across, but the installation didn't seem to be progressing any further. I wondered if something had gone wrong with communication, or the system had hung. I looked down at the Nexus 5 and saw the following message on the display:
LG Nexus 5: Unlocking the factory bootloader |
The installation process had stopped because the phone's bootloader that loaded the the factory Android OS was currently locked. It required confirmation that the user wanted to commence with a factory unlock process and flash/root the existing operating system with a different one. I thought that it was a good precaution and a necessary one. If I was having second thoughts about going ahead with porting Ubuntu Touch onto this device, now was the last chance to turn back.
I followed the instructions to unlock, selected "Yes" from the menu options and then pressed the confirmation button to go ahead. We had "crossed the Rubicon", in a manner of speaking. There was no turning back now. Not that it mattered; both the phone and the Android OS were obsolete. The worst case scenario would be that something would go wrong with installation, leaving me either with a completely bricked and unrecoverable phone, or I would have to re-install both the bootloader and Android, and try the Ubuntu Touch installation process all over again.
I was not keen on the latter, but there comes a point where one has to assess the risks of moving forward with an option as opposed to turning back and playing it safe, and with all the available information at hand, take a calculated risk, make a decision and commit to the outcome. Either I wanted the dream of having my own Ubuntu Phone, or I would forego that and stay with the "safe option" of the Android experience that I had settled for. I decided that I had come too far to turn back now.
The screen went black, then the phone display came back on with the following screen, indicating that it had gone into fastboot mode, and listing the available information of the existing system:
- Product name
- Product variant, and storage capacity
- Hardware version number
- Bootloader version number
- Carrier information - stock
- Serial number
- Signing information
- Secure boot status
- Current lock state
I read through and checked all the details as best as I could, verified against what I was seeing on the terminal output on my laptop, and gave the installer the green light to go ahead with the rest of the install process. As it turned out, it did just that, as the following screenshots show.
The installer downloaded a total of 12 files to the phone, and the corresponding phone display showed a graphic as the OS and update were being installed.
LG Nexus 5: Ubuntu Touch OTA-7 Installation |
At this point, I should pause to review my thoughts as I observed the installation process play out over the next several minutes, both as an end user making use of this product, and from the perspective of the product manager and team that delivered this product to the OSS market for users such as myself.
Clearly, there is a market and demand for Ubuntu Touch as a product within the OSS universe, otherwise it would not have progressed this far and to this level of sophistication in its current iteration and release. Although the set of supported devices is currently limited, there is work going on to increase the number and type of supported platforms, and make the user experience of transitioning from a different manufacturer's product experience to Ubuntu Touch seamless and enjoyable.
A lot of effort has clearly gone into making the UX and UI aspect of the flashing and installation process as painless as possible for the end user, with as much guidance and detailed instruction that can be laid out without becoming overwhelming. I'm sure a lot more work is surely happening to make it even smoother. I was surprised to see installation packages for Windows, MacOS and Linux; I had not expected that.
In addition, from an aesthetic perspective, the choice of simplicity in the user interface both from the Ubports installer and on the device display, with a "less is more" approach to the installation process was clearly geared towards removing as much stress and anxiety from the end user as possible, providing a sense of comfort and friendliness. Placing myself in the shoes of a product user, such as a first-time user navigating the phone flashing process, I gathered that the sense of reassurance communicated - "don't worry, we'll take care of this" that comes through the installation procedure was something that has been given much attention to.
UBports Installer: Successful installation confirmation from computer and prep for reboot |
At the end of the installation process, the phone proceeded to reboot and presented itself with the Welcome screen that began the configuration process - language selection, date and time settings, and other details. It was intuitive, pleasant and exciting to go through. The end result was the opening screen seen in the final photo below.
LG Nexus5: First startup of Ubuntu Touch OTA-7 |
LG Nexus 5: Ubuntu Touch OTA-7 welcome screen |
CONCLUSION
In its product pitch on the official Ubuntu Touch site, the UBports project opens with the following questions:
"Are you tired of being dependent on
'The Big Two' and their services and apps? Do you want to regain control
over your personal and private data on your smartphone? Install Ubuntu
Touch on your Nexus 5! It It keeps your Nexus 5 secure,
because everything unsafe is blocked by default and the OS is virtually
free of viruses and other malware that can extract your private data."
k
Keeping this statement in mind, the philosophy, product marketing and for Ubuntu Touch can be summarized in the following questions, which users might raise and ask themselves:
- Is there an alternative to 'The Big Two' and their services and apps?
- Can users regain control over personal and private data on their smartphones?
- How can users best keep devices and data secure from unwanted actors/entities (human and software/malware) that attempt to infiltrate, monitor and extract information?
REFERENCES:
==========
No comments:
Post a Comment