Simon Long is a Senior Principal Software Engineer here at Raspberry Pi. He’s responsible for the Raspberry Pi Desktop on both Raspbian and Debian, and his article from The MagPi issue 73 explores the experience of revamping our desktop. Get your copy of The MagPi in stores now, or download it as a free PDF here.
It was almost exactly four years ago when I was offered the chance to work at Raspberry Pi. I knew all the team very well, but I’d had hardly any involvement with the Pi itself, and wasn’t all that sure what they would want me to do; at that time, I was working as the manager of a software team, with no experience of hardware design. Fortunately, this was when software had started to move up the list of priorities at Raspberry Pi.
Eben and I sat down on my first day and played with the vanilla LXDE desktop environment in Raspbian for 15 minutes or so, and he then asked me the fateful question: “So — do you think you can make it better?” With rather more confidence than I felt, I replied: “Of course!” I then spent the next week wondering just how long it was going to take before I was found out to be an impostor and shown the door.
To be fair, user interface design was something of which I had a lot of experience — I spent the first ten years of my career designing and implementing the user interfaces for a wide range of products, from mobile phones to medical equipment, so I knew what a good user interface was like. I could even see what changes needed to be made to transform the LXDE environment into one. But I didn’t have a clue how to do it — I’d barely used Linux, never mind programmed for it… As I said above, that was four years ago, and I’ve been hacking the Pi desktop from that day on.
Not all the changes I’ve made have been popular with everyone, but I think most people who use the desktop feel it has improved over that time. My one overriding aim has been to try to make the Pi desktop into a product that I actually want to use myself; one that takes the good user interface design principles that we are used to in environments like macOS and Windows — ideas like consistency, attractive fonts and icons, intuitive operation, everything behaving the way you expect without having to read the instructions — and sculpting the interface around them.
In my experience, the main difference between the Linux desktop environment and those of its commercial competitors is the last 10%: the polishing you do once everything works. It’s not easy making something that works, and a lot of people, once they have created something and got it working, leave it and move onto creating something else. I’m really not great at creating things from scratch — and have nothing but admiration for those who are — but what I do enjoy doing is adding that last 10%: going from something that works to something that works well and is a pleasure to use. Being at Raspberry Pi means I get to do that every day when I come to work. Every time I see a photo of a Pi running at a Jam, or in a classroom, anywhere in the world, and it’s using my desktop — the thrill from that never goes away.
If you’d like to read more about the evolution of the Raspberry Pi desktop, and Simon’s adventures at Raspberry Pi, you can access the entire back catalogue of his blog posts here.