The last 10%: revamping the Raspberry Pi desktop

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.

The PIXEL desktop on Raspberry Pi

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.

The 2014 updated desktop

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.

Simon Long Raspberry Pi

Simon Long, Senior Principal Software Impostor

UI experience

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…

Raspberry Pi desktop circa 2015

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.

Final polish

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.

Stu Ayres on Twitter

A whole new #computersciences suite of @Raspberry_Pi computers at @MyddeltonCol ! So excited to start teaching some physical computing!

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.

22 comments

Avatar

It’s way better than what it used to be and more user-friendly. Great work

Avatar

That 10% is very important especially when you are trying to attract a wider audience. It can make the difference between the user being switched off, because it looks dated and doesn’t feel user-friendly, and making a postive impression on them.

I look forward to seeing what other improvements are made in the future. Just so long as that doesn’t involve Wobbly Windows!

Avatar

I too am pleased with the work to improve the Desktop experience. However I also look forward to more improvements in the design (especially the icons), and maybe a move to either XFCE or LXQt.

Avatar

Simon – it a massive improvement on the early days – keep polishing.

Avatar

It’s the last 10% that turns a good product, into a great product ??
I think the changes have be amazing, thank you ?? ?

Avatar

The desktop is the thing that gives me the most performance problems on the Pi. It’s just too laggy for me….. any config guides that someone can point to?

Avatar

I can relate to that as an user of dwm.
The scripts one makes for dmenu, and the things one puts into slstatus and other configs make it the best UX.
Also, on the Pi one has limited resources, so saving 60mb ram using dwm vs lxde is quite useful!

Avatar

The sdcard interface is a bit slow. I doubled the speed of a lot of operations on my B3+ by booting from a good USB drive. In my case a spare SSD I had connected to a converter. But I am sure there are some USB pen drivers that would do a better job. I just used what I had to hand.

Compiling of c++ apps was nearly twice as fast.

Avatar

Right direction, but I find the default wallpaper rather drab. Unsplash have some great images for free, it is a low hanging fruit for the 10% difference to get the “wow” out of the box experience.

Avatar

I use my raspberry pi mostly as a desktop computer for fun, learning and experimenting.

I’ve only got it 8-9 months ago and i was surprised at how nice the raspbian desktop is. It is one of my favorite desktops of all platforms. Very easy to use, everything is simply laid out and you can figure out most things simply.

I hope that changes will keep on happening in an incremental way. Things are really good as it is now.

Keep it up, can’t wait to see what comes in the future.

Avatar

For me the number one important must have is responsiveness. I’ll take that over everything else. If it looks pretty and is easy to use but is laggy then it’s absolutely useless to me. Speed is of the essence. For this reason I can’t use the pi for a desktop. It’s wonderful as a general purpose project board though. Nothing else is close.

Avatar

My Pi has done all my 1st year undergrad work for me. Some of it was a challenge (PSPP as alternative to SPSS cannot be really used as a direct replacement 100%, web browsing quite challenging in research environment without running out of RAM). Because of that I have just bought a laptop for year 2 starting in a week. However, my Pi is still and will be throughout my school (and maybe beyond?) my principal writing machine for essays, stories, reports, etc. I have enjoyed all of the updates to the desktop and user experience and look forward to seeing the OS evolve. I love it! It powers my ‘computer-ed’ typewriter! Great job Simon and I look forward to the future !

Avatar

The Open Source world has this sacred motto which is “Scratch Your Itch”. But the problem with that motto is that just because you might have scratched your itch, it doesn’t mean you have scratched it with **taste and style**. A large pile of itch-scratchings do not an elegant solution make.

The Linux world needs a hundred more of you, Simon. Please Rock On! Completing “that last 10%” is needed in so many areas of the Linux world. Indeed, I would daresay it is the very thing which is holding it back from mainstream adoption.

Avatar

Great work. Thanks from a grateful user.

Avatar

Is desktop accelerated somehow via GPU?

Avatar

I cant count the times I heard this, is the year of linux on the Desktop… but It still feels sluggish and unresponsive.

Examples:
Clicking icons, often lead to launching program 2 times, because of missing hour-glass or other indicator that somthing is happening.
Everytime you do somthing on the desktop, It looses focus, create, delete, rename a file.. and you need to click the mouse on the desktop to continue working with the keyboard.
And It gets even worse when running low on memory or if the pi is overheating.. everything just stops.. and then maby you can move the mouse.. The sheduler in linux are simply not build for desktop.. mouse or keyboard lookups and the OS has failed its most basic job of input and output control.

So I would say we need more than just polish.

Avatar

The PIXEL desktop looks great. It still needs some fixing under the hood, as I reported in previous comments, but overall I think it’s beautiful, consistent and functional.

The only thing bugging me – terribly – is that the WiFi password is not hidden by default, with a toggle to display it if you want.

Also, I keep waiting for a Raspbian release with the VC4 driver enabled by default. It’s not a huge priority for me, but I would still like to rely on 3D acceleration by default, which means the driver is stable enough for the job. :)

Avatar

“The only thing bugging me – terribly – is that the WiFi password is not hidden by default, with a toggle to display it if you want.”

Try a sudo apt-get update / sudo apt-get dist-upgrade – or just a sudo apt-get update / sudo apt-get install lxplug-network… ;)

Avatar

Simon…. I am about to become unpopular with my comments, lol. First, I love the PI! I am currently trying to utilize it in an astronomy application and I am really new to both astronomy and this SBC and it’s language. The major gripe, yes, gripe, from me is the toy like atmosphere that surrounds it and its applications. I am a user, not a developer or hobbyist. The amount of fiddling to get stuff up and running is dreadful. Yeah, I know that likely most owners love to fiddle and oohh and ahh over making LEDs light up or a home security system work. But, if you want to bring this into the modern world and reach the planet’s users and developers, then you need to make it easy for them to do so. Put out requirements that software and hardware developers need to build the software code and hardware for ease of installation and use by people who do not want to learn all the various languages and coding necessary to build their project. Both hardware and software need to be in the form of application (apps) for install and use. When shield or board makers start supplying the code to install and use their product only then will Pi become a universal product appealing to everyone. And it will really take off… I really don’t want to learn Linux, C++, Java, Python or any of the other compatible languages in order to use it. I want to plug it in, run the install and use the software (preferable from a USB drive) and finish my project.

See, I told you it would be unpopular, lol…

mayf (my nickname)

Avatar

There are tens of thousands of pre-built applications available to download and run on the Pi – look in the “Add/Remove Programs” entry in the Preferences section of the Main Menu, or you can install them using “apt” from the command line. No need to learn programming languages, build software, or anything like that, and these applications, unlike those for most other platforms are all completely free of charge.

If there are specific astronomy applications which do not appear in the catalogue of applications available in this manner, that is a matter to take up with the authors of the applications themselves – we really cannot be expected to maintain every application under the sun in addition to the desktop itself, any more than Microsoft or Apple do.

Avatar

I’d Like to report a difficulty I had when updating the software. Using a Terminal I did the usual update and said “y” to all the stuff to be installed etc. And then I opened up a utility to do something else. Up poped a small window saying that I’d need to reboot the system. Now I subsequently realised that when I closed the pop up the Terminal restarted and it was still updating but because I had a window on top I want ahead and rebooted. It only went as far as the rainbow screen and I had to reinstall the operating system on the corrupted MicroSD card. I suggest that the pop up window should say that a reboot should be performed after the update is finished.

Leave a Comment

Comments are closed