Rising from Unity's Ashes: The Evolution of Pop!_OS and the Birth of the COSMIC DE
In the dynamic world of Linux a new Linux distribution is nothing new, but Pop!_OS is something special. Born out of necessity when Ubuntu announced the end of its Unity Desktop in 2017, Pop!_OS has not just filled the void left by Unity, but has carved out a distinct identity in the Linux community. This journey, from an alternative for disillusioned Unity users to the creation of the innovative COSMIC desktop has created a version of Linux that has been very well received. But to understand how we got to Pop! We have to look back at what happened to Unity.
Canonical’s big idea
The Unity desktop environment first appeared back in the netbook edition of Ubuntu 10.10 in 2010. This marked a significant shift in the landscape of Linux desktop environments. Designed to provide a sleek, unified interface, Unity was a bold attempt by Canonical, Ubuntu's parent company, to streamline the user experience and make Linux more accessible to a wider audience. Its approach, characterized by the iconic vertical dock and the dash global menu, provided an interesting take on the traditional desktop. Canonical was so confident in Unity, that it became the default desktop environment 1 year later starting with Ubuntu version 11.04 Natty Narwhal, in 2011.
Only a couple years later, Ubuntu would publish a video for the Ubuntu phone, a phone that would work like a computer when docked. The phone would be running Unity, which would allow users to bridge the gap between desktop and phone. Phones were only the start though. Mark Shuttleworth, CEO of Canonical, had visions of Ubuntu running on tablets, smart tvs and IOT devices as well.
But the dream was never realized. Developing for multiple platforms was an increased burden, both in the difficulties it took to create a UI that worked for all devices, and the increased code required to support all platforms. Canonical wasn’t able to pull it off, and with the Linux phone market never reaching any appreciable size, they announced they were going to stop work on Unity, and go back to GNOME in 2017.
It’s easy to look back at Canonical’s failure with disdain. But with Apple’s strides making the Ipad Pro a more capable computer, allowing iphone apps to run on Macs, and even Windows 11’s adding Windows Subsystem for Android, it’s clear that Ubuntu was ahead of it’s time. Canonical wasn’t the only company to pull out of the mobile market during this time as well. Microsoft also announced it would stop making Windows phones back in 2017. Maybe it takes a company with as strong of a walled garden as Apple to fully realize this mobile and desktop convergence.
The rise of Pop!
Regardless, this announcement was devastating for many people, as Ubuntu was, and still is the most popular Linux desktop environment. Over the years many people had grown accustomed to Unity’s interface and its quirky designs. I definitely did, and my feelings about Unity before it’s deprecation went something like this.
Consumers were not the only ones that were surprised by this announcement. System76 an American computer manufacturer, had been shipping its desktops and laptops with Ubuntu installed since Ubuntu 5.10, and Unity once it became the default desktop. Unity was now on its way out. But there was hope. In their blog post discussing Ubuntu’s decision they felt confident they had a solution.
There was some relief. Most System76 employees were using different desktop environments at this point. Just keeping my team excited about Ubuntu had been hard for a while. We’re technologists, and we felt Ubuntu drift. I agreed with the Canonical strategy of maintaining Unity 7 while developing Unity 8 separately. But time dragged on and we were stuck between waiting for our new product, which sounded constantly just around the corner, and investing in Unity 7 that was on its way out. There were no good decisions. Just hold the line. That’s not comfortable for an ambitious company. Now, with Unity canceled, the world was wide open again. I spun up distros.
Deus In Machina is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.
After surveying the landscape of the current Linux Distributions, System76 wasn’t satisfied with what they saw. Then Jeremy Soller, a new hire at the time, made a suggestion to the CEO of the company one day. “What if we made a GNOME spin with a newer kernel and graphics drivers so we had an easier time shipping hardware?” Everyone was on board and further down the post they outlined their reasons why.
The desktop is what we work on every day. We survey and listen to our customers. We know them well. Our engineering, marketing, sales, and support are already aligned to offer a Linux desktop. I started thinking that Canonical can focus on the enterprise—where they excel—and we’ll focus on the desktop where we excel. Our direction was taking shape.
The post ended with a link to the first beta of Pop!_OS, and the rest is history… Or so it would seem. Over the next 5 years Pop!_OS would continue to improve by building on top of GNOME with extensions. One of their main focuses was their Byte Sized Bugs program, modeled after Ubuntu’s One Hundred Papercuts. The focus on sanding off a lot of the rough edges and gotchas that come with using Linux as a desktop environment, have made the Pop!_OS experience an enjoyable one. This directly contributed to my look at Pop!_OS a few months ago. While at the end of the article I said I was going back to KDE, I actually found myself missing the Pop! experience, and switched back. This is a pretty big deal as KDE is the desktop environment I’ve spent the most time on, and is a testament to how great Pop! is.
The decision to create Pop! was also a huge benefit to System76’s hardware business. With Ubuntu it was always difficult to support new hardware because the releases were so slow. This meant that System76 would frequently have to modify the images so that they could run the hardware they were selling. With Pop!_OS this could all be done right in the installer, without a lot of the ceremony that comes with updating kernels and drivers.
The birth of COSMIC
Pop! was well received and people started asking where it would go next. In 2021 reddit user u/foundfootagefan asked “Will Pop!_OS ever do an officially KDE flavor or will it forever be GNOME-only?”. Everyone was surprised by Michael Murphy a System76 engineer, when he said…
It will be its own desktop.
and later down the page…
No it is its own thing written in Rust.
System76 had had a few public disagreements about the direction of the GNOME project over the years, but he clarified later in the thread that these disagreeements played no part in there decision to create a desktop from scratch. It was just that they had reached the limits of what the GNOME shell could do.
There are things we'd like to do that we can't simply achieve through extensions in GNOME. Extensions in general feel like a hack. And what we want to do with our desktop differs from GNOME, so it's not like the option to merge pop-shell and COSMIC into GNOME Shell would be a welcome thing.
The new desktop environment would also be called COSMIC. But while COSMIC refers to the pop shell extensions on top of GNOME, COSMIC DE would be the from scratch rust based desktop. System76 is trying to incorporate Rust where ever it can in COSMIC, even using the Iced Gui toolkit, A cross-platform GUI library inspired by Elm instead of GTK.
The hype around COSMIC continues to grow as we get closer and closer to its slated 2024 release date. While it is not ready for primetime yet, System76 posts insightful monthly blog posts about COSMIC’s progress, with the most recent one being less than a week ago. If you want to be on the bleeding edge, you can even build the current alpha version yourself. For me I’ll just stick to the YouTube videos that cover it.
If the original Pop!_OS is any indication, the bright minds at System76 will surely create something special. I for one am exciting to see what they make, and I will definitely cover it when it gets its full release.
Call To Action 📣
If you made it this far thanks for reading! If you are new welcome! I like to talk about technology, niche programming languages, AI, and low-level coding. I’ve recently started a Twitter and would love for you to check it out. I also have a Mastodon if that is more your jam. If you liked the article, consider liking and subscribing. And if you haven’t why not check out another article of mine! A.M.D.G and thank you for your valuable time.