INTERVIEW ELEMENTARY OS: The distro of effortless design
There’s a bewildering array of Linux distros to choose from, but one distro has always set the bar high in UX and design terms. We spoke to Cassidy James Blaede, co-founder of elementary OS, about its latest release
How old is elementary OS? We had our first release in 2011 and that was elementary OS Jupiter. That’s how old the OS is as far as releases go. Daniel Foré, the founder of elementary, actually started work on [it] back in 2007, almost ten years ago. Of course, he started work on the icon set and the GTK style sheet and that point it was really small – his pet project to help him make his Linux install look better – and from there it grew into the applications that were designed to work with the style sheet and icons.
In about 2010, we realized the best way to deliver these applications, style sheet and icons to people was by putting it all together in one OS.
If you wanted to encapsulate what elementary OS stands for as an operating system, how would you explain that to someone who’s never used it? That really depends on where that person is coming from. If they are a Linux user already, it’s almost harder because being a Linux user and used to the whole Linux ecosystem and community, you have a lot of preconceived notions of what a distro is. If I say “elementary OS, it’s a distro that’s focused on UX,” for an existing Linux user that’s probably enough information right there […] our target isn’t really existing Linux users. People on Linux who are used to it love elementary OS because it’s Linux based and it’s got the Ubuntu LTS core, but really we’re focusing on people coming from macOS and from Windows and providing them with an alternative to their existing operating system. So for them it’s more explaining open source, which may be something they aren’t familiar with. It’s “Hey we’re an alternative operating system, all of the code is available, it’s open and freely redistributable and also this operating system has been designed to be very cohesive and beautiful,” so you don’t just talk about the design and UX part of it, you talk about open source as well.
Is it the case that some people within the Linux community don’t understand where the elementary OS project is coming from? There have been instances in the recent past where people have got upset about the payment models and it’s often described as an Ubuntu derivative.
We’re a Linux-based OS. Yes, it’s based on Ubuntu, but we’re pretty unique among Linux-based OSes, where we design [and develop] all of the applications that we ship. We develop all of the applications that we ship. We use one programming language; we use one toolkit; we use one set of human interface guidelines. With distributions like Ubuntu, or even to an extent, Fedora or Ubuntu MATE, are focused on – here’s the core OS, a desktop environment and a grab bag of the greatest hits of applications.
Here’s the most popular web browser, video player and while that’s great for delivering open source applications to existing Linux users, as a new user coming to that platform there’s not that shared sense of design from the login screen through to the applications. Across different applications there aren’t the same UI patterns being used, whereas with elementary OS, our app store and our music player are two very different applications, but there are a lot of shared elements between them and so once you know how to use one, you have an understanding of how to use all of the other apps.
How long have you been involved in the project? Have you ever felt that what you’re trying to achieve may be a stretch too far for a small team? I’ve been involved for six or seven years since right before Jupiter came out. A stretch too far? Like too lofty a goal? … I think the important thing to know is that […] Elementary LLC, which supports and develops elementary OS, is a profitable company. We have people on salary now and 100% of the money that comes in is from our users. So that’s from purchasing the OS, which is why it’s a pay-what-you-want download, and it’s from swag and whatnot to help support the project and now from the AppCenter as well, so we’ve reached this point where we’re able to bring people on board with salary and we’re really focused on the laptop and desktop OS.
Once you know how to use one, you have an understanding of how to use all of the other apps
I think what you see with other companies, such as Red Hat and Canonical, is that they have approached it from how can they be a profitable business regardless of the end product. They didn’t set out to make a desktop OS and make that profitable. They set out to be a company that supports Linux and you can see that they have both shifted into the servers and cloud. Elementary OS doesn’t have a server OS, because that would be Ubuntu, basically […] We’re not focused on making a server OS or selling support contracts to companies, we’re focused on making the best desktop OS we can and in doing so we’ve been able to become profitable and continue churning out updates.
So is the game plan to work with hardware manufacturers? Yes, I think it was Steve Jobs who said that “People who are serious about software have to be serious about hardware [Note: the quote is “People who are really serious about software should make their
And a good example of this is Vocal (http://vocalproject.net), a podcast client that uses a purple header at the top and purple widgets, instead of elementary OS’s default blue and grey. Elementary is an OS that uses a specific style sheet and toolkit and as a third-party app developer coming to the platform, Granite guarantees that all elementary OS’s parts are going to work well together.
Granite offers all sorts of widgets, including browser-class tabs. The tab widget is used for a number of components of the distro such as its default web browser, Epiphany; Pantheon Files, its file manager; and code editor, Scratch. The tabs resemble those found in Google Chrome or Firefox and support features like double-clicking an empty space to open a new tab, middle-clicking to close a tab and undoing closed tabs.
The beauty of such widgets, Blaede told us, is that each widget can be pulled into an app by a third-party developer, so they don’t have to re-implement all of those features themselves.
own hardware” and it was an Alan Kay quote that Steve Jobs quoted, but the sentiment still applies.] Hardware is also a very tricky business to get into because of economies of scale and we’ve played with working with smaller OEMs of laptops and desktops, for example, Tuxedo Computer [www.tuxedocomputers.com] now ships elementary OS by default on its Tuxedo Book. Slimbook, I believe, [https://slimbook.es/en] offers elementary OS as an option.
There are several of these smaller OEMs that are Linux focused and often they offer multiple distributions, but it’s a very hard market to get into and we’re not at the scale where we can produce our own laptop, but we are growing. […] I see hardware as an eventual goal, but it’s a ways off for us now. […] We would want to be careful to ensure that the hardware and software are designed in concert together. What you see right now with some companies that put Linux on their existing hardware that wasn’t made to run Linux is that it doesn’t work great out of the box or that all of the features of the hardware [don’t] work correctly, so I don’t think it would be a matter of throwing elementary OS on an existing piece of hardware, but I think working closely with a hardware OEM and having the one, true hardware OEM would be ideal.
We would put our focus in on the one thing and make that one thing really good.
Talking about 0.4.1, am I right in thinking that this version has the new AppCenter? Yes, elementary OS Loki 0.4.1 is a major update to Loki; it ships the AppCenter with third-party apps in it. Apps that have opted in now can accept payments through that – pay what you want, like the download payment method itself. It also brings the new hardware enablement stack from the Ubuntu Core, so it does things like improved Kaby Lake compatibility, improved graphics support and a new Linux kernel, 4.8. So it’s like a combination of a LTS update with a lot of features as well. These features have been rolling out over the past few months since the release of Loki, but this is an easy way to get them all in one download if you do a fresh install.
Was the recent Denver sprint for the AppCenter the first one you’ve done? It was the first time we did just an elementary sprint. In the past, we’ve attended the Gnome West Coast Summit, which was really awesome and productive for us. It was really nice to work with the GNOME guys. We use a lot of GNOME technology such as GTK, GSettings, a lot of the underlying GNOME stack, so being able to work with them and work directly on the future of Mutter, the windows manager/library that we use, and help design the future of GTK and talk about some specific bugs that we’ve experienced – that was really productive.
We’ve also attended the Ubuntu Developer Summits, when they were in person. […] We’d use that week as an opportunity to rub shoulders with the Ubuntu community and also hack on our own things off on the side on our own as well. But the Denver sprint was the first one we’ve done ourselves and it was really productive.
If someone was interested in getting involved, what would be the best approach? We have https://github.com/elementary. That’s our organisation page. You can jump in there and check
“It shows an app that fits in perfectly with the OS,” says Blaede. “It’s really smart […] and it came to elementary OS instead of any other platform.”
out all of our projects. All of our software, everything that we do on the web side and the desktop is all completely open source. There’s a link where you can see all of the organisation-wide issues, so even if you don’t know what project you want to specifically jump into, you can just look at all of the open issues, check the byte size label we use – we also have a bounty label, which means there’s a monetary value bounty through Bounty Source [www.bountysource.
com/teams/elementary] – so it makes it pretty easy to jump in and find something you want to work on and hack on.
We communicate a lot with people who contribute through GitHub, right through the GitHub UI. That tends to work really well.
With the growth of container-like package formats, such as Snaps and Flatpak, what’s your feeling on that as a way of bringing in more developers and more apps? Those containerized packaging formats are interesting. They have two different things they solve. One is sandboxing, putting your app in a container and sandboxing it from other apps and protecting user data, which we’re all for. That’s absolutely the way that computing is moving in general and we’re definitely looking at that and interested in that.
The other thing they claim to solve is that you can write an app once and put it out on every operating system ever. […] That side we’re less interested in, the reason being that we’re designing and developing a whole platform; we design and develop the desktop environment, the applications, the APIs and the toolkit. There are platform-specific features like rich notifications and a progress bar and a notification icon on your dock, integration with the app launcher and eventually more integration with multi-touch, multiple workspaces – all of these features are hard to use as an app developer if you’re trying to use every OS ever. You end up catering to the lowest common denominator or there’s a lot of work in your cross-platform toolkit to support every toolkit ever. That part of these new packaging formats is a lot less interesting to us. We still think the best apps on elementary OS are the ones that are built for elementary OS.
Do you have a public road map? What’s the next big thing on the feature list? We were using Launchpad blueprints, but we’re looking to use the GitHub Projects feature, so all our issues and milestones are tracked on GitHub now.
[…] We are really focused on AppCenter and doing some pretty intense feedback with our beta testers, both developers and users. Once that stabilises and we open that up out of beta and a public service, there’s work going into new versions of GTK and Wayland, which is something we’re really interested in. That will help enable things like scaling factors for HiDPIs, so we can really nail that HiDPI support.
Elementary OS supports HiDPI really well on one display, but while we’re using the X stack it doesn’t work well over multiple displays. HiDPI is quickly becoming the standard for laptops, so we want that.
Wayland is the plan, Ubuntu is offering it – I’m not sure if that’s by default, or an option, but in 17.10, Ubuntu is offering it and a lot of work is going into it and now with Ubuntu switching over to GNOME, elementary is more aligned with that technology stack than in the past. Unity wasn’t technically a fork of GNOME, but they did fork a lot of GNOME technologies to enable Unity and now they are coming back closer to GNOME, and they are coming back closer to elementary OS as well. I’m not committing to an exact release date, but the next release of elementary OS will be based on Ubuntu 18.04 LTS and if Wayland is ready by then, that would be a very clear goal for us.
Ubuntu is aligning more with the standard GNOME stack, which helps elementary as we use a lot of GNOME technologies and the more they are patched for Ubuntu, the harder it is for it to be imported to other OSes as well.
There’s an effort to port the elementary desktop environment [Pantheon] to Fedora, openSUSE and Arch [Linux].
The more Ubuntu gets aligned with GNOME, the easier and more portable it is for elementary technologies to be used elsewhere.