Unity Forever
A few weeks ago I was chatting with the admin of The New Leaf Journal through email, and in the email we briefly discussed one of the admin's recent articles titled Leveling up Yamada-kun at Lv999 to Linux. In the article, the author wrote that, while watching the anime Loving Yamada at Lv999!, they had noticed that the protagonist of the anime was playing a fictional MMO using the operating system:
Figure 1. Akane's Windows Machine
Windows :(. Specifically, a fictional Windows 10 machine with a Windows 95-style boot logo for some reason. Anyways, it got me thinking about operating systems and software in anime. A popular pastime of mine when watching anime is to pause whenever I see a computer or phone in an anime and attempt to identify the hardware, operating system, and software the characters are using. Oftentimes, this gives me some reasonable idea of which technologies the animators and artists were familiar with when animating the anime or writing the underlying manga that the anime is based off of. For me, it's a way to connect more deeply with a manga and anime since, well, I like and use a lot of technology.
In our email conversation, I had told the admin that occasionally one might spot a GNU/Linux distribution in a manga or anime, and sent a link to an article from the Ubuntu fan site OMG Ubuntu. The article, Ubuntu’s Unity Desktop Lives On ...in Anime!?, shows a couple of screenshots of computers in an anime that are running Ubuntu with the Unity desktop. The whole conversation gave me a bit of nostalgia for the Unity desktop and that whole era of desktop Linux in general, and so I decided to go back, revisit Unity, and see what we can make of it today.
The Era Of Unity
Figure 2. The Ubuntu 12.04 Desktop (CC BY-SA 3.0, Wikimedia Commons)
Briefly put, Unity is a desktop environment developed by Canonical, the corporation that created and currently develops the Ubuntu distribution of the GNU/Linux operating system. It was the default desktop environment on mainline Ubuntu from 2011-2017 (releases 11.04-17.04). After the 17.04 release, Canonical replaced Unity in mainline Ubuntu with the GNOME 3 desktop environment, effectively sapping any of the remaining momentum from the Unity project and ending a chapter in Ubuntu's history.
The source code for Unity is still available at Canonical's launchpad instance. Using a bit of command line magic, we can clone the repo and plot the commit history over the years:
git clone https://git.launchpad.net/unity
cd ./unity/
git log --pretty=format:'%as' \
| awk -F '-' '{print $1}' \
| sort -r \
| uniq -c \
| awk '{print $2" "$1}' \
| feedgnuplot --domain --with 'boxes fill solid border lt -1'
Figure 3. Unity Commit History
The repo was quite active from 2010-2014, with >2K commits in all of those years. In 2015 and 2016, the number of commits drops below 1K, but is still quite sizable at >500 commits each year (also remember the software has had a few years to mature at this point). However, by the time we hit 2017 the number of commits drops quite dramatically (a -70% change in commits, the largest annual decrease to date), and plummets again in 2018, (-80% change), down to only 36 commits that year. 2017 was quite an unfortunate year for Canonical overall; during Q1 of 2017, Canonical had announced that the company was laying off staff, including more than 50% of the Unity team.
Figure 4. Canonical Staff Layoffs
Year | Commits |
---|---|
2009 | 251 |
2010 | 2911 |
2011 | 4826 |
2012 | 7723 |
2013 | 3504 |
2014 | 2078 |
2015 | 801 |
2016 | 615 |
2017 | 182 |
2018 | 36 |
2019 | 21 |
2020 | 8 |
2021 | 24 |
2022 | 21 |
2023 | 16 |
Prior to Unity, mainline Ubuntu was using GNOME 2 as the default desktop environment (this was the default since Ubuntu's inception with the 4.10 release). So you may be wondering, since Canonical choose GNOME 2 as the default before Unity, and GNOME 3 after, why even build Unity in the first place? The short answer: Netbooks. Netbooks are essentially low cost, low powered computers whose primary purpose is to connect to networked resources (such as email, instant messaging, web browsing) instead of computing locally. You see, during the time when Unity was initially being developed (in the early 2010s), Canonical had a large presence in the Netbook market. According to a 2009 article from Computerworld, ~32% of the expected 35 million netbook shipments in 2009 shipped with a GNU/Linux-based operating system, putting the number of copies shipped at ~11 million.
Figure 5. The Ubuntu 4.10 GNOME 2 Desktop (CC BY-SA 3.0, Wikimedia Commons)
Figure 6. GNU/Linux 2009 Netbook Market Share
The data from which the author of this article is citing is from an analysis tracking sales of netbooks and other low powered and cost computing devices by ABI Research. I've tried to track down a copy of the analysis, but unfortunately it's no longer available on their website, and when it was available it was behind a paywall. A basic summary of the analysis is still available on Wayback Machine.
Figure 7. Netbooks, MIDs, Media Tablets, and Mobile CE Market Data
Mark Shuttleworth, the founder of Canonical and Ubuntu, also wrote about the rationale for developing Unity and key design objectives of the DE. In a 2010 blog post on his personal site, Shuttleworth states that Unity was designed to:
From the blog post:
A few months ago we took on the challenge of building a version of Ubuntu for the dual-boot, instant-on market. We wanted to be surfing the web in under 10 seconds, and give people a fantastic web experience. We also wanted it to be possible to upgrade from that limited usage model to a full desktop.
The fruit of that R&D is both a new desktop experience codebase, called Unity, and a range of Light versions of Ubuntu, both netbook and desktop, that are optimised for dual-boot scenarios.
...
We focused on maximising screen real estate for content. In particular, we focused on maximising the available vertical pixels for web browsing. Netbooks have screens which are wide, but shallow. Notebooks in general are moving to wide screen formats. So vertical space is more precious than horizontal space.
We also want to embrace touch as a first class input. We want people to be able to launch and switch between applications using touch, so the launcher must be finger friendly.
Those constraints and values lead us to a new shape for the desktop, which we will adopt in Ubuntu’s Netbook Edition for 10.10 and beyond.
Figure 8. Mark Shuttleworth's Blog Post On Unity
And thus, Unity was born.
A Look Back At Unity
Unity was the default desktop environment on 13 mainline releases of Ubuntu, from the 11.04 release to the 17.04 releases. Of those 13 releases, 3 of them (12.04, 14.04, and 16.04) were Long-Term Support (LTS) releases, making 16.04 the last mainline LTS release of Ubuntu that used Unity as the default desktop. Given 16.04's position as the last Unity LTS and that:
- According to Canonical's data, ~95% of Ubuntu installations are LTS releases, and
- Canonical provides up to 10 years of extended support through their Expanded Security Maintenance (ESM) program, which means that you can still get security updates for 16.04 for ~3 more years (until 2026),
16.04 would be a great version to check out. And so, let's download a copy and start exploring Unity!
Note: |
Aside on Ubuntu Release Schedule
Canonical releases a new version of Ubuntu every 6 months (in April and October), with every 4th release (currently occurring on even numbered years) being an LTS release. The version number is actually the year and month of the release. For example, 16.04 was released in April of 2016. Throughout Ubuntu's entire history, there has only been a single exception to this release schedule, the 6.06 release. 6.06 was the first LTS release and, following the logic above, was released in June of 2006. |
Xenial Xerus
We can download a copy of Ubuntu 16.04 from Canonical's old release archive. If
you need an old release of Ubuntu, then it's almost certainly available in the old release archive; even the first release, 4.10 Warty Warthog, is
available in the archive. However, since 16.04 is still available under ESM support, the most recent release of 16.04 (version 16.04.7) hasn't yet
moved to the archives. Instead, it's available on the main Ubuntu release site. Since I want
to experience Unity from the perspective of 16.04's release, I'm going to download and run 16.04.0. To download a copy of this release, you can use
the following wget
command:
wget https://old-releases.ubuntu.com/releases/xenial/ubuntu-16.04-desktop-amd64.iso
Canonical also includes hashes with each release. We can download a copy of the hash file and use the hashes to check if the ISO file that we downloaded has been tampered with or corrupted in transit:
# Download the hash file.
wget https://old-releases.ubuntu.com/releases/xenial/SHA256SUMS
# Verify file integrity.
sha256sum -c SHA256SUMS
If the hash of the ISO matches the hash in the file, you'll receive an OK
in stdout
:
# ubuntu-16.04-desktop-amd64.iso: OK
Since it's possible for a hacker to break into a server and upload a malicious ISO along with a hash for that ISO, checking the hash alone doesn't
necessarily ensure that the ISO we downloaded is the one that Canonical intended to release. And so, to verify that the hash hasn't been tampered
with, we can download Canonical's public key from their keyserver and verify the signature on the hash with gpg
:
# Download signature file.
wget https://old-releases.ubuntu.com/releases/xenial/SHA256SUMS.gpg
# Download the public key from Canonical's keyserver.
gpg --keyserver keyserver.ubuntu.com --recv 843938DF228D22F7B3742BC0D94AA3F0EFE21092
# gpg: key D94AA3F0EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" imported
# gpg: Total number processed: 1
# gpg: imported: 1
# Verify the hash with the public key.
gpg --verify SHA256SUMS.gpg SHA256SUMS
# gpg: Signature made Thu 13 Aug 2020 12:09:47 PM EDT
# gpg: using RSA key 843938DF228D22F7B3742BC0D94AA3F0EFE21092
# gpg: Good signature from "Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
Installation
Now that we have have the iso, we can use virtualization software, such as kvm+qemu
, to install the operating system
without requiring any spare hardware. If you aren't familiar with virtualization and setting up virtual machines, I recommend using a GUI tool manage
your virtual machines. Both virt-manager
and gnome-boxes
provide a convenient, high-level
interface for managing kvm+qemu virtual machines, and both applications are available in many package repos.
Once we (virtually) pop in the ISO, the system should boot into the Ubiquity installer. I'm actually a fan of Ubiquity, it is a fairly approachable installer even for new Linux users, and, in my opinion, Ubquity + live boot CD were some of the key innovations of Ubuntu that helped the distro gain some quick momentum.
Figure 9. Ubuntu 16.04 Ubiquity Installer 1
Figure 10. Ubuntu 16.04 Ubiquity Installer 2
Here is one of the images in the carousel during the installation. The version of Firefox in this screenshot is using the Australis interface, a GUI interface change that garnered some controversy among a group of Firefox fans due to its placement of tabs (the tabs were moved above the URL bar, and have remained that way ever since). You can also see a link to a video about the Ubuntu font family in the browser; I was curious to see if the video is still up, and sure enough it is.
Figure 11. Firefox Screenshot In The Installer
Video 1. Ubuntu Font Family Marketing Video
The installation completed after a couple of minutes:
Figure 12. Completed Installation
And here it is, a fresh boot of Ubuntu 16.04 and Unity!
Figure 13. Ubuntu 16.04 Desktop
Exploring The Desktop
The Unity desktop is actually quite easy to navigate. There are 2 primary widgets that the user can interact with: the top panel and the Launcher.
On the left of the screen is the iconic Unity application Launcher. By default, it includes some popular applications and file locations, such as a file manager, browser, settings, app store, and office suite. However, it also includes a controversial application:
Figure 14. The Amazon Application
Clicking the application icon will run unity-webapps-runner
and open the Amazon home page in a webview.
Figure 15. Amazon In Unity Webapps Runner
During the Unity era, Canonical caused quite the controversy due to their relationship with Amazon. Very notably, in the 12.10 release of Ubuntu, Canonical added a feature to Dash (essentially Unity's desktop search facility) that allowed it to search for not only local files, but also online resources. One of those online resources, by default, was Amazon's store. And so, your search queries in the Dash would be sent to Canonical's servers and then passed on to Amazon; in return, you would receive product listings from those queries. The privacy implications of this feature caused a backlash among privacy advocates and the Free Software crowd, with both the Electronic Frontier Foundation and Richard Stallman of the FSF writing articles in response to criticize this feature. Fortunately, in the 16.04 release Canonical disabled the online search functionality by default, with an option to enable it is the user desires. Some have speculated that Canonical made the choice to disable online search functionality due to the pressure from this backlash, but in reality it was technical decision. In a 2015 blog post by Will Cooke, Canonical's directory of engineering for the Ubuntu desktop, Cooke states that change was motivated by technical differences between Unity 7 and Unity 8; Ultimately, these differences would have required additional infrastructure to maintain the service, and so Canonical decided to phase out these Unity 7 services in favor of transitioning to new services for Unity 8:
Why Now?
By making these changes now we can better manage our development priorities, servers, network bandwidth etc throughout the LTS period. We allow ourselves more freedom to make changes without further affecting the LTS release (e.g SRUs), specifically we can better manage the eventual transition to Unity 8 and not have to maintain two sets of scope infrastructure for the duration of the LTS support period of five years.
Anyways, we can delete the desktop icon with this command:
sudo rm /usr/share/applications/ubuntu-amazon-default.desktop
The top panel is very similar to the panel found in other desktop environments. It includes a clock, settings, volume slider, etc. One notable difference, however, is the inclusion of window titles and some widgets in the top left of the panel (more about this below).
Applications
Like many GNU/Linux distributions, Ubuntu ships with a pretty useful set of applications by default, covering perhaps the majority of use cases by the typical computer user. The default applications are:
Firefox 45.0.2
for the web browser.Nautilus 3.14.3
for the file manager.Libreoffice 5.1.2.2
for office applications.Shotwell 0.22.0
for viewing images.Rhythmbox 3.3
for listening to audio files and internet radio.Totem 3.18.1
for viewing videos.Evince 3.18.2
for viewing various document formats such as PDF.Transmission 2.84
for downloading files via bittorrent protocol.
The applications also integrate fairly well with the default theme, providing a more consistent look across the desktop. For example, selecting cells
in Libreoffice Calc
highlights the cells in Ubuntu orange
(hex value #E95420
).
Figure 16. Application Theme Integration
Note: |
Ubuntu Color Palette
Canonical's design team maintains a page with the core color palette used in Ubuntu and other Canonical projects. A copy of the color palette is available at this archived page or at their current color palette page. |
For technical users, applications can be downloaded via the command line through the familiar apt
and apt-get
tools. For users more comfortable with GUI tools, 16.04 includes ubuntu-software
(essentially
just an app store front end to apt
).
Figure 17. Ubuntu Software
To test it out, I downloaded Akregator
from the store. links:https://invent.kde.org/pim/akregator[Akregator] is a Qt-based
RSS feed reader by the KDE project. Installation is a fairly simple, one click process. And, once
installed, the application will be automatically added to the Launcher.
Figure 18. Downloading Akregator
Figure 19. Akregator Automatically Added To The Launcher
With Akregator installed, I'll add my own RSS feed and see how it renders. You'll notice that Ubuntu's default theme also works with Qt applications, providing some consistency between the GTK and Qt GUI toolkits.
Figure 20. Adding My Feed To Akregator
Figure 21. Viewing My Feed In Ubuntu 16.04 Akregator
And of course, last but not least, let's test out the web browser. The first release of Ubuntu 16.04 shipped with Firefox version 45.0.2
, which is still a pretty capable browser. Here are a few pages that I navigated to, all of them rendering quite well:
Figure 22. Ubuntu Home Page From 2016 Via Wayback Machine
Figure 23. Wikipedia Home Page
Figure 24. My PhpBB Forum
If you regularly use a site (such as that video site) that requires a later browser version, then fear not, Canonical has you covered. The last
version of 16.04 that was released, 16.04.7
, released on August 13, 2020, shipped with Firefox version 88.0
.
Figure 25. Video Site Page On 16.04
Finally, one last thing I'll say about applications in Unity, you'll notice that the application menu bar has been moved from the application's window to the left of the top panel, providing the user a bit more vertical space on screen for the application (remember, Unity was designed to provide more vertical space for lower resolution netbook screens).
Figure 26. Application Menu Bar On The Panel
The Dash
Figure 27. The Unity Dash
One of the core features of Unity is the Dash. The Dash is essentially a desktop search tool that can be used to find offline applications and files, and online resources from a single interface. I spoke about the Dash briefly when discussing the controversy with Amazon.
The functionality of the Dash revolves around 2 core concepts: Lenses and Scopes. Lenses are essentially interfaces for a collection of similar content, while Scopes are backends for finding content. For example, suppose you wanted to search for online videos from a video sharing site. To do this, you would write a Scope for that site and add it to the video Lens. The Dash is a neat idea and potentially provides a lot of power to the user if they customize the Dash for their own workflow.
Figure 28. Dash Scopes And Lenses
Final Thoughts On Xenial Xerus
It's been ~7 years since the release of Ubuntu 16.04 and ~6 years since mainline Ubuntu shipped with Unity as the default desktop. Despite a bit of
age, Ubuntu 16.04 and Unity still hold up very well, at least in my opinion. For people currently using 16.04 as a daily driver, I would say keep
using it; if you need newer applications then consider upgrading to 16.04.7
or getting ESM support through Ubuntu Pro.
Unity Today
At the height of it's development, Unity was very much a Canonical-centric project, largely being designed around a market that Canonical saw some success in at the time. And, as we saw when looking at the commit history, the Unity source code repo received only a minimal amount of commits after the 2017 layoffs. And so, one may conclude that the Unity project is dead, right? Wrong, Unity still lives on! You see, Unity was released under 2 licenses, the GNU GPLv3 and the GNU LGPLv3. What is interesting about these licenses is that both are copyleft licenses; I won't go into detail on the full legal implications of these licenses (I'm not a lawyer after all), but suffice it to say that copyleft licenses essentially provide a legal mechanism that nearly guarantees a software project can continue forever.
Note: |
Copyleft Versus Copycenter
Unlike copyleft, copycenter licenses (such as the MIT license), do not provide any useful guarantees of project continuity, as those licenses allow forks to close the source code. This may lead to competing open and closed forks that, over time, may substantially diverge, resulting in poor interoperability between the forks, a fractured community, and an unfavorable environment for development of the project. Copyleft's legal mechanisms prevent competing open and closed forks (but doesn't prevent multiple competing open forks), producing a much healthier environment for the project and continued ability to share innovation. In short, copycenter software is closed software on borrowed open time, while copyleft is permanently open. |
Today, Unity lives on largely in the form of 2 projects: Ubuntu Unity and Ubuntu Touch.
Unity 7 and Unity 8
Ubuntu Unity and Ubuntu Touch both continue the legacy of the Unity desktop environment. However, both projects aren't continuing the same branches of Unity. You see, towards the end of Unity's height, Canonical was working on the next version of Unity, named Unity 8, that was supposed to take over Unity 7 as the convergent interface on both desktop and mobile. The tech stack between these 2 Unity's differed quite significantly: Unity 7 is based on the X11 and GTK, while Unity 8 uses Mir, Qt, and QML. Canonical had planned to ship Unity 8 as the default for Ubuntu 16.04, but this ultimately did not happen; Unity 8 never shipped as a default desktop environment on mainline Ubuntu (however, users were able to download a preview version of it), and Canonical wound down the entire Unity project. In the end, the community ended up stepping up and continuing both branches of Unity:
- The Ubuntu Unity project continues to develop Unity 7 for the desktop and ships it as the default for the Ubuntu Unity distribution.
- The nonprofit UBports Foundation was given the source code for Unity 8 and continues to develop it as the interface for the Ubuntu Touch mobile operating system.
Note: |
Unity 8 was renamed to Lomiri. The source code for Lomiri can be found in UBports' git repo. |
Ubuntu Unity
Figure 29. Ubuntu Unity
After the 17.04 release, Unity lay dormant on the Ubuntu desktop for a few years, until in May of 2020 a developer had released a copy of Ubuntu 20.04 LTS that used Unity version 7 as the default desktop environment. Dubbed Ubuntu Unity, this distribution of Ubuntu would continue to be developed as it's own independent project until in August to September of 2022 a vote was taken to make Ubuntu Unity an official flavor of Ubuntu. Roughly a month later, the Ubuntu Unity project shipped their first release of Ubuntu Unity as an official flavor, Ubuntu Unity 22.10. As of this writing, there are no official LTS releases of Ubuntu Unity, but if the project remains active we should see the first official LTS with the 24.04 release.
Note: |
Ubuntu Flavors
Ubuntu Flavors are officially recognized GNU/Linux distributions that are built on top of Ubuntu. Typically the flavors differ in terms of the desktop environment that they offer (such as Ubuntu MATE's use of the MATE desktop environment), but some flavors are instead designed around specific workflows (such as Ubuntu Studio, which includes software intended for creative professionals). |
Exploring Ubuntu Unity
Since Ubuntu Unity became an official Ubuntu flavor, the Ubuntu Unity team has access to some of Canonical's release infrastructure. As a result, we
can download a copy of the most recent release of Ubuntu Unity (as of this writing, version 23.04
, codenamed Lunar Lobster
) from Ubuntu's CD image
release site:
wget https://cdimage.ubuntu.com/ubuntu-unity/releases/23.04/release/ubuntu-unity-23.04-desktop-amd64.iso
wget https://cdimage.ubuntu.com/ubuntu-unity/releases/23.04/release/SHA256SUMS
sha256sum -c SHA256SUMS
Installation is a fairly easy, point and click process, as Ubuntu Unity ships with the Ubiquity installer by default.
Figure 30. Ubuntu Unity GRUB Bootloader
Figure 31. Ubuntu Unity Installation Language Screen
Figure 32. Ubuntu Unity Installation Welcome Screen
The image carousel shown during the installation process still has a "Make the most of the web" screen, but with Flash removed from the software recommendations and Thunderbird added. The browser in this screenshot has Ubuntu's desktop landing page loaded.
Figure 33. Ubuntu Unity Make The Most Of The Web
Once the installation process finishes, reboot the machine and we'll have a fresh Unity desktop.
Figure 34. Ubuntu Unity Lunar Lobster Desktop
The default applications that ship with Ubuntu Unity are a mix of GNOME applications (Rhythmbox), MATE applications (MATE Calc, Pluma, Atril), and your typical LibreOffice suite and Firefox browser.
Figure 35. Ubuntu Unity Applications
Also you'll notice that Dash in the above screenshot. It works in essentially the same way as the Dash in prior versions of Unity 7.
Theming Ubuntu Unity
Ubuntu Unity largely following a newer design paradigm that is more emblematic of present day Canonical and Ubuntu. However, many desktops and GUI
widget toolkits on GNU/Linux systems have extensive theming support, and Ubuntu Unity ships with the classic Ambiance
theme,
so with a bit of tweaking:
Figure 36. Changing The Theme With Ubuntu Unity Tweak Tool
We can make the desktop look fairly close to Unity in the 16.04 release!
Figure 37. Ubuntu Unity Desktop With Ambiance Theme Desktop
Figure 38. Ubuntu Unity Desktop With Ambiance Theme
Final Thoughts On Ubuntu Unity
For users who are comfortable with Unity's workflow, Ubuntu Unity should be a fairly approachable experience. With a few theme tweaks, Ubuntu Unity provides a viable path forward for the classic Unity 7 desktop experience after the ESM support expires for 16.04 in 2026.
Unity On Mobile
Figure 39. UBports Logo
Figure 40. Ubuntu Touch
The 2017 layoffs affected not only Canonical's desktop ambitions, but also their mobile ambitions as well. You see, in 2013 Canonical started work on their own Ubuntu-based mobile operating system called Ubuntu Touch. The operating system never took off in the mobile market, and was only available on a small number of phones compared to AOSP-based operating systems. And so, Canonical reduced headcount on the team and shelved the project. However, a group of former Ubuntu Touch developers took the source code for Ubuntu Touch, including the Unity 8 code that was used for the mobile UI, and built a nonprofit (the UBports Foundation) that continues the project to this day.
Note: |
I daily drive an Ubuntu Touch phone. If you have any interest in mobile GNU/Linux, I highly recommend checking out Ubuntu Touch. It's such a polished mobile operating system experience, and is too often overlooked by the GNU/Linux community. |
Exploring Ubuntu Touch
Figure 41. Ubuntu Touch Unity 8
At a quick glance, you'll notice how similar Ubuntu Touch and the Unity 8 interface is to Unity 7. To the left of the screen is a large application Launcher, and at the top is a small panel. Applications can be launched from the panel, or if you swipe right from the left edge, an application grid will appear with all of your applications. Swiping left from the right edge will open up a carousel with all of your active applications, and you can swipe up on the application window to close it. If you've acquired a bit of muscle memory from other mobile operating systems, then it will take a little bit of time to get used to UT workflow, but other than that it should be pretty comfortable experience.
Figure 42. Ubuntu Touch Application Menu
Ubuntu Touch ships with a basic set of useful applications, such as a web browser, audio and video players, a camera app, clock, calculator, call and text apps, and the OpenStore for download new applications. Ubuntu Touch apps are packaged using the Click package format, and packages can be downloaded and installed offline (similar to apk packages on AOSP).
Figure 43. Ubuntu Touch OpenStore
Note: |
The source code for the core UT apps is available at UBport's repo on GitLab |
The default browser on UT is the Morph Browser. The browser is
written in primarily C++ and QML, and built off of QtWebEngine (which is based on Chromium). It doesn't support WebExtensions (so no uBlock Origin
unfortunately), but there is an option to enable domain whitelisting, preventing the browser from connecting to any domains that are not on the
whitelist. Combine the browser-level domain whitelisting with the system-wide ad blocking app, uAdBlock (which works by modifying the hosts
file to block domains), and you can get a pretty good web
browsing experience on UT.
Figure 44. Morph Browser On My Site
Ubuntu Touch also has a pretty decent privacy and security features. By default, only the app currently in the foreground has access to hardware such as the camera and microphone, background apps do not have access. UT also has a permission system that prevent apps from accessing the camera and microphone unless given permission. And, UT uses a read-only file system, preventing malicious apps from doing damage to the system (unless you give the app root access, which would allow it to disable read-only and make permanent changes).
Final Thoughts On Ubuntu Touch
Overall, Ubuntu Touch is a pretty good experience, and fans of Unity who want to see Unity on other platforms outside of the desktop may be interested in checking out UT. You can find a list of devices that are compatible with UT on the Ubuntu Touch devices page.
Unity On The Outside
Since I want this article to be a comprehensive look at Unity, It would be remiss of me if I didn't include some appearances of Unity outside of the software world. After all, technology has been featured in media for decades, so it shouldn't come as a surprise that Unity has occasionally been spotted out in the wild. And so, in this last section of the article let's look Unity on the outside.
Unity In Anime
Figure 45. Unity In Anime
As I mentioned in the beginning of this article, Unity has been featured before in anime. In January of 2020, the anime Science Fell in Love, So I Tried to Prove It first premiered. Based off of the manga of the same name, this romantic comedy anime revolves around 2 graduate students who have fallen in love with each other. But, being diligent researchers, they conclude that they need ample evidence and sufficient testing to prove that they are, in fact, in love with each other. As expected, antics ensue and relationships are formed.
Very quickly on in the anime (in the first episode in fact), you can see the main characters using a couple computers for their research, and those computers are running Ubuntu and Unity! I watched both seasons of the anime, and as far as I can tell none of the characters mention Ubuntu by name, it's mostly in the backdrop.
Here are a few screenshots of scenes from the anime with a visible Unity desktop:
Figure 46. Unity In Science Fell In Love 0
Figure 47. Unity In Science Fell In Love 1
Figure 48. Unity In Science Fell In Love 2
And a short video from the anime:
Video 2. Science Fell In Love So I Tried To Prove It
Now you may be wondering to yourself "if the anime was created in 2020, and Unity was no longer shipped with mainline Ubuntu after 2017, then why are the computers running Unity?" That's a good question, and one that I myself pondered while watching the anime. My initial thinking was that the manga may have been written when Unity was still the default. And well, it was; the manga was first serialized in 2016. However, if we dig a bit deeper and actually look at some of the panels from the manga (a sample of which is available here):
Figure 49. This Is Not Unity
If we zoom in a bit:
Figure 50. Those Look Like Windows Icons
Figure 51. Windows 10 Icon For Comparison
And so the plot thickens. Anime News Network has a page on Science Fell in Love that lists the staff involved with the production of the anime. Odds are somebody on the team was using Unity at some point, or at least knew about it in passing. Maybe one of these days I'll try reaching out to a few of them and see what we can find out.
Unity In Manga
Figure 52. Ubunchu Chapter 10: Outbreak of an interface war!?
Unity is not just in anime, it's also in manga too! Unity features prominently in chapter 10 of Ubunchu!, the World's First? Ubuntu Romantic School Comedy. If you haven't heard of Ubunchu before, it's a small, lighthearted manga about Ubuntu that was periodically released from 2008 to 2013 in Weekly ASCII and Ubuntu Magazine Japan. I'm really fond of this manga, so much so that I was the one who typeset (and did a very, very small amount of translation for) chapter 14, and have an archive of the English translated chapters available on this site. You can also learn more about Ubunchu on the Wikipedia page.
Chapter 10 of Ubunchu, titled Outbreak of an interface war!?, pokes a bit of fun at the controversy from the initial switch from GNOME 2 to Unity as the default desktop environment. The switch annoys Masato, the vice president of the sysadmin club and traditional Windows user of the group, who complains about the interface change:
Figure 53. Masato Criticizing The New Unity Desktop
Akane, the president of the sysadmin club and the traditional command line *nix user, rebuffs Masato's criticism (this happens a lot in the manga) and attempts to show him the power of Unity:
Figure 54. Akane Showing Off Unity 0
Figure 55. Akane Showing Off Unity 1
Of course, this doesn't convince Masato and the students that the new interface is better than the old interface. And so, it's up to Risa, the likeable traditional Mac user who introduced the sysadmin club to Ubuntu, to save the day and show everyone the benefits of Unity and the Dash:
Figure 56. Risa Showing Off The Unity Search Functionality 0
Figure 57. Risa Showing Off The Unity Search Functionality 1
In the end, there was some peace among the sysadmin club and the students, hooray!
Conclusions
This article took me a while and required a lot of background research, so I hope you all enjoyed it. If you used Unity back in the day, still use it, or have some nostalgia for it, definitely check out Ubuntu Unity and Ubuntu Touch. Ubuntu Touch especially can use some love from the larger GNU/Linux community. It's one of the few mobile operating systems run by a non profit, and they are actively working on Unity 8 (Lomiri). Ubuntu Touch can always use more applications, so if you have some spare time try developing an app for it and releasing it on the OpenStore.
To many more years of Unity!
Figure 58. Unity.png