Does the world need another mobile operating system? Canonical, the company that develops and markets Ubuntu, thought so. In 2015, Canonical released Ubuntu Touch, the mobile version of its popular desktop Linux distribution.
The idea was to create an alternative to iOS and Android. An alternative that was completely free and open source, and which was not only secure but also respected the privacy of its users.
That experiment lasted for about two years. Ubuntu Touch was available for a few smartphones and a tablet, but the market wasn't growing in the way Canonical had hoped. In April, 2017 Canonical announced it was pulling the plug on its creation.
Ubuntu Touch looked like it was going the way of Palm's version of webOS. However, during its short life a small yet dedicated and passionate community grew around the operating system. And, in true open source fashion, that community came together to rescue Ubuntu Touch.
Via EtherPad, I chatted with Dalton Durst, one of the two full-time developers with the project. He walked me through the origins of the UBports project, took me down the often bumpy road it travelled to get where it is, and discussed where the project is going.
Picking up the pieces
As I mentioned a couple of paragraphs ago, the Ubuntu Touch community snatched the operating system from digital oblivion. It wasn't an easy transition.
“UBports had been fighting on fronts that Canonical didn't have time, resources, or legal clearance to for over two years before” handing the project over, Durst said. “Those who had contributed for many months before the drop had some idea of the operating system's internals, so we were ready (but not necessarily willing or excited) when the day came. When it did, we were as surprised as everyone else.”
It definitely wasn't smooth sailing.
Durst told me that as of December, 2017, the UBports team had two choices. They could continue Canonical's work, which Durst admits would have been “nearly impossible with our team's size and the state of the work in progress. Plus, “before Canonical dropped the project, they had a huge problem on their hands. All of the apps were based on Ubuntu 15.04, and would not run on Ubuntu 16.04 or higher.”
“The other option was to take Ubuntu Touch, based on Ubuntu 15.04, and move all of the front-end packages up as far as we could,' Durst said. “We chose the latter and began work on Ubuntu Touch based on Ubuntu 16.04.”
The next eight month were challenging, to put it lightly. The UBports team faced “a series of weird bugs, frustration, and people wondering if the project had died so soon after it was born.”
But it all paid off. By August 26, 2018, the UBports team sent out their first release of Ubuntu Touch. That release was made up of “128 closed issues and the pride of a rapidly-growing community.”
Since then, there have been several other releases, both major and minor. With each release Ubuntu Touch is getting more stable and more useful.
Open source projects live and die by their communities. UBports is no exception. The community is diverse, with members of varying levels of technical skill.
“The people who lead (either tense) the community have always been of varying technical skill by accident,” said Durst. “That accident made us foster a community with the same nature. We started just like everyone else: at zero.”
According to Durst, the community's passion stems from wanting “to use Ubuntu Touch as our mobile phone OS. The passion of the community is deeply rooted in making the product that we want to use.”
UBports continues to harness that passion by providing “people with the tools they need to succeed and help them however we can. I spend a lot of time unblocking work in progress rather than create some of my own.”
As for the size of the community, Durst points out that “there is currently no exact count of contributors. There have been a few attempts at measuring the number, but the project has never been completed.”
At the moment, UBports has two paid full-time contributors: Durst and Marius Grispsgard. Durst points out that there are “at least 20 dedicated contributors. That doesn't count drive-by contributions or those who are not currently official maintainers of a component.”
When it comes to mobile operating systems, there are two rather hefty shadows looming in the background. The first of those is the devices on which the operating system runs.
The UBports project only supports a small number of devices. Those are generally older pieces of hardware, and includes the Fairphone 2, the Nexus 4 and Nexus 5, the OnePlus One, and some older tablets.
Those aren't exactly cutting edge devices. They work, and Ubuntu Touch has kept more than a few phones and tablets from becoming e-waste. That said, members of the UBports community are currently porting the operating system to a handful of other phones. It's slow going, though.
As Durst explained, the problem facing developers trying to get Ubuntu Touch running on Android-powered phones is that “Android uses its own drivers for many components, especially graphics and radio.”
That adds a layer of complexity, since Ubuntu Touch needs “to use a small build of Android to run the required services to allow us to use these drivers. Every device has different hacks on top of the standard Android source which interact with the system in a different way.”
That's starting to change. In 2018, UBports teamed up with secure device maker Purism to get Ubuntu Touch running on the company's upcoming Librem 5 phone. A few of the UBport developers have recently been experimenting with prototypes of the low-cost PinePhone.
Apps, apps, apps
The second shadow looming over a mobile operating system is apps.
If you use a phone or tablet powered by Android or iOS, you're used to having thousands upon thousands of apps at your fingertips. Many of those apps work with popular online services, making the services a bit more convenient.
Ubuntu Touch doesn't come close to that number of apps. In the OpenStore, there are just under 700 apps. Some of them are native, while many are web apps. The latter are websites that open in a browser window, but without the browser controls or address bar.
Durst likens web apps to desktop applications written using the oft-maligned Electron framework in that “Electron apps can take up more RAM or CPU cycles and don't offer the same experience as native apps. However, like Electron, they mean the difference between having apps or not having them at all.”
He added that “native apps are absolutely a priority. They can offer more platform features and a better overall experience.”
Looking to the future
UBports is now into something of a groove. The overarching goal of the project is not to “make Ubuntu Touch the privacy and freedom-respecting mobile operating system. Our goal is to make it an option for more and more smartphone users.”
By the time you read this article, UBports will be under the umbrella of a foundation. The foundation intends to “fulfill the growing needs of the community, and to support the ambition of sustaining development of Ubuntu Touch and its ecosystem.”
Like any other project, UBports is always looking for contributors. While Durst points out that UBports is “especially looking for gurus of Qt internals, content creators, and PR personalities,” the project welcomes “anyone who wants to work with a community that's proud to be friendly, helpful, and kind.”
As Durst points out “If you're good at something (or want to learn about it!), we probably need help with it.”
To pitch in, drop by the UBports get involved page. You can also join @ubports on Telegram, #ubports on freenode, or #ubports:matrix.org on Matrix.
#ubuntutouch #opensource #mobile #FOSS