Join the 85,000 open source advocates who receive our giveaway alerts and article roundups.
Learn about the new Pop!_OS flavor of Linux from System76
Behind the scenes with Pop!_OS Linux
Cassidy James Blaede, UX designer of System76's new version of Linux, shares information about the new OS.
Get the newsletter
In October, Linux PC maker System76 released its homegrown version of Linux, Pop!_OS, giving users the choice between its legacy Ubuntu operating system or the new Pop!_OS flavor of Linux. Recently Opensource.com gave away a System76 laptop with Pop!_OS installed, which made me curious about the company and this new version of Linux, so I spoke with Cassidy James Blaede, Pop!_OS's user experience (UX) designer.
Blaede joined System76 in 2014, fresh out of college at the University of Northern Iowa and marriage to his wife, Katie. While in college, he co-founded the elementary OS project and interned at UX consultancy Visual Logic, both of which influenced his work for System76. He started at System76 as a front-end developer and was later promoted to UX architect.
Read on to learn more about Pop!_OS, System76 and Blaede's background.
Don Watkins: What was your inspiration for Pop!_OS?
Cassidy James Blaede: Earlier this year, the news that Ubuntu was dropping Unity 7, abandoning their future of the convergent desktop with Unity 8, and moving to a more-stock GNOME base was pretty shocking to us at System76. We had been waiting for this bright, promised future for years, and it was all taken away overnight. We decided to act immediately and began the design and development process that would lead to Pop!_OS. By investing in our own platform built upon open technologies, we would have both the freedom to improve what and when we saw fit, plus the ability for tighter integration with the hardware that is our bread and butter.
[Because I contributed to] UX design and architecture in elementary OS, I have a lot of experience working to create a compelling platform for users, and it's incredibly exciting to do that in a full-time capacity.
DW: Where is the code hosted and how is it licensed?
CJB: All of the Pop!_OS code is openly licensed and available at GitHub. Different repositories' licenses may vary due to the complexity inherent to an OS, but generally our code is licensed under the GPL.
DW: You're a founder of both Pop!_OS and elementary OS. How does that work?
CJB: Elementary OS predates Pop!_OS by several years, but there is definitely a lot of cross-pollination of ideas and work. For example, elementary and System76 have worked together on a new OS installer, the Pop!_OS app store is based on elementary AppCenter, and Pop!_OS ships some apps designed for or previously shipped by elementary OS. Whenever it makes sense, we're working together to design and implement components and ideas in both Pop!_OS and elementary OS.
At the same time, it's important for me to point out that elementary OS and Pop!_OS will continue to coexist and serve different purposes. Elementary OS is designed to be a general-purpose operating system for laptops and desktops, whereas Pop!_OS is designed to be an operating system tailor-made for engineers, developers, and those whose jobs are best served by the tools available on Linux. To borrow an oft-used metaphor, elementary OS is the general purpose get-around-town car, while Pop!_OS is the pickup for people who use their vehicle for work. Both can be designed by the same person and may overlap in some regards, but there's not really a risk of them becoming each other.
DW: How did you get into open source and UX design?
CJB: I've been using and involved in open source since before university, and my studies were quite limited with regard to open source and user experience. During that time, I did get an opportunity to intern at Visual Logic, an incredible user/customer experience consultancy in Waterloo, Iowa. That experience helped solidify my love for UX, equipped me with much of the knowledge I have and processes I follow, and taught me that I still have a lot to learn.
Outside of education, my UX and open source background revolves largely around my involvement as a core member of elementary, helping design elementary OS and its related apps and services.
DW: How did you become involved in elementary?
CJB: I started using and contributing to elementary OS around 2010, before its first public release. I had used Ubuntu and other Linux-based operating systems, but elementary OS struck a chord with me for its attention to detail and focus on coherent first-party applications. At first, I was just a passionate fanboy; I created a video series about the default apps and how to use them, started contributing to web and documentation projects, and helped in any way I could. Over time, I think the design- and user-centric approach of Daniel Foré—the founder and lead designer at elementary—rubbed off on me and I began to work with the team on user experience design.
I've worked alongside the other designers and developers to continuously improve the OS, add compelling features, create a suite of coherent applications, and build an attractive platform for third-party developers. I frequently act as a liaison between skilled designers and skilled developers. I've contributed to the human interface guidelines, helping originally write them and continuously evolving them as new features and patterns emerge. I also help in the form of wireframes and sketches to be used as a guide for developers.
From there, I just got more and more into UX. I read everything I could get my hands on (including spending entirely too much time reading design guidelines for platforms I'd never used) and continually framed the world in my mind as design problems to be solved. But my internship at Visual Logic is the catapult that launched me into this world head-first.
DW: What is the most difficult aspect of UX design?
CJB: Compromising. When solving a design problem, it's easy to run away with it and design what you imagine to be the most ideal of situations—but then reality hits. Whether it's the timeline for shipping a product, a difficult technological problem, or just the practicality of implementation, compromising is always a difficult aspect to deal with. On the one hand, you want to make something the best it can possibly be, but at the end of the day, you live in the real world and need to ship a product.
I'm proud of the elementary philosophy around release dates—When It's Ready—which helps mitigate the amount of compromise necessary, but it's always something that has to happen.
DW: What led you to System76?
CJB: In 2011, I attended the Ubuntu Developer Summit in Orlando, Florida, with a handful of contributors to elementary. We were there to build relationships with upstreams like Ubuntu and GNOME, discuss implementations, and just generally meet people. While I was there, I met Ian Santopietro, (at the time) a sales and support rep at System76.
In early 2014, System76 was looking for a front-end web developer to join the team and help rewrite the website with a brand-new design and implement any new sales pages or campaigns going forward. Ian messaged me and told me to apply; I was still in university in Iowa, but had several years of professional web development experience and was passionate about open source. I discussed it with my then-fiancé Katie. We figured it would be an interesting opportunity, so I went through the application process. We honestly didn't expect much, but [I went] through the entire interview process, and [System76] asked me to start as soon as possible.
In late May 2014, Katie and I got married in Iowa, then immediately moved out to Colorado and have never looked back! I started in early June and worked with our incredible designer Kate Hazen to design and develop the first iteration of System76.com that you see today.
DW: How can others help or get involved in Pop!_OS and elementary?
CJB: Pop!_OS is led and developed primarily by System76, but there are always great ways for people to get involved. The best place to start is through the Pop!_OS community page, where you can find information on bitesize bugs, contributing to documentation, and jumping into the community. If you're interested in contributing on the elementary side, head to elementary's get involved page. Or do both!