Dedoimedo interviews: KDE's pointiest stick, Nate Graham

Updated: June 25, 2021

Today, I have something new and fresh for you. Back in 2016-2017, I conducted a number of interviews with interesting people in the tech world (Linux and the Internets), shedding light on their endeavors, projects and passions. Then, there's been a quiet period, interviews wise, and now, it is time to do so again. Today's voluntary scapegoat is Nate Graham.

If you're a Linux person, and you happen to be using KDE, then you must have come across Nate, most likely on his personal blog, Pointiest Stick, where he shares big weekly updates on all the good, cool, new, fun, and adventurous stuff going on in the KDE world. I have had brief online encounters with Nate here and there, and I have always liked his cheerful yet punctual approach to software. So I thought, why not interview Nate, and have him share his views, ideas and some of that sweet insider knowledge from behind the Plasma curtain. You should find this article doubly interesting, as I've already had an interview session with KDE's Seb and Bhushan five years back. Perhaps Nate can give us a perspective of what happening in the past few years, and what's coming. Commence to start.

Teaser

Hi Nate, can you introduce yourself?

Hi, I'm Nate Graham, and I work on KDE stuff! I live in the USA, and I'm employed by Blue Systems as a QA manager for internal projects and KDE software in general. I've been contributing to KDE since 2017, and employed full-time to do so since 2019. I managed KDE's Usability & Productivity initiative and my secret master plan that I'm totally not telling you about right now ends with KDE world domination.

DM: Cue Dr. Evil's little finger gesture.

What does a day in life look like for Nate? What's your work method/routine like? How do you cooperate with other members of the KDE team?

NG: I pretty much do KDE stuff every day, though my wife is trying to encourage me to have a healthier work-life balance. Part of the problem is that KDE stuff mostly doesn't feel like work to me; it really makes my heart sing. There is something magical about the KDE community that just magnetically attracts me.

On weekdays I typically start at around 7 AM. First thing I do is kick off a build of all KDE software. I live on the git master version of everything so that my daily usage constitutes some basic QA. Then I launch my email client and open all of the notification emails about relevant KDE things in my browser window; the rest get deleted. Anything that needs an email response gets tagged as such, to do later. Then I go to the browser window and start actioning all the tabs I opened, starting from the left. A lot of this work consists of reviewing merge requests and responding to bug reports.

After that I open my chat client and check on the discussions to see if anything involves me. On lighter days, I participate in chats to offer my opinions and try to guide VDG discussions in productive directions. Communication takes place here, in merge requests, bugzilla tickets, and Phabricator tasks. Then I answer emails that need answering. After this I'll triage the day's new bug reports, which sometimes involves sending merge requests for any that I know I can fix quickly.

After I pry myself away from KDE in the mid-afternoon, I'll often go for a walk to clear my head, then spend some time with my kids and wife in the evening. I used to have hobbies before KDE, but KDE has slowly devoured them, though my wife always encourages me to pick some up again. I'm getting into astronomy recently, but KDE even has software for that (KStars), dangerously enough! Apparently KStars is considered by astrophotographers as one the preeminent pieces of software. So far I've just been doing the low-tech version with no software, just a small telescope and a manual tripod.

I have personally noticed a great revival of the Plasma desktop in the past few years, with steady, significant improvement in quality and consistency. There must be a reason for that ...

NG: Well that's good to hear! I'd like to think that the Usability & Productivity initiative had a lot to do with it. This initiative seemed to capture the interest of the community, and people really focused on polish and quality in a big way. Today we have the Consistency initiative which is its spiritual successor. So it feels like we have been successful in ingraining a quality mindset in the development and design groups.

I also think the revival of KDE's Visual Design Group (VDG) helped. The VDG was rather dormant at the moment I started contributing in the middle of 2017. Not knowing this, I joined the VDG and started doing VDG-related things, in the process accidentally re-activating the group and causing people to re-engage. This was complete random chance on my part, but the VDG started to attract more contributors, including a lot of really talented young people. Today the VDG is one of KDE's most active and vibrant groups, and a lot of great work comes out of it.

This has taught me the importance of maintaining positive energy in a volunteer project. When cool things seem to be happening, it excites people, and they want to join and participate. But if that energy fades, people feel demoralized and drift away and the project starts to stagnate. It's completely preventable by ensuring that activity isn't blocked too frequently. Sometimes you need to put the brakes on a technically incorrect change, but it's super important to avoid excessive gatekeeping in the name of quality. You may think that you're preventing negative changes, and this may be true. But you're also stifling the energy and excitement that are needed to sustain a volunteer-based community. People will stop contributing if they stop having fun and it starts to feel like a job with too much bureaucracy and technical politics. So there is a tough balance there. But ultimately I think more contribution of a lower average quality level paradoxically makes a better product compared to less contribution of a higher average quality level. It's The Cathedral and the Bazaar thing. I really believe that the bazaar model enthusiastically embraced by KDE is the only sustainable long-term way to run a volunteer-based open source project.

So today I see one of my roles as helping to maintain this necessary energy in the KDE community, by every means possible. My weekly blog posts are a big part of this. Another part is actively triaging bug reports so that users and bug reporters don't feel like the bug tracker is a black hole that's ignored by developers. Reviewing merge requests is another, and then there's outreach on social media. You get the picture. The level of energy needs to be sustained. I think as a community, as long as we can keep up our energy level, the great revival you've noticed will continue.

Back in my first interview with the KDE team, I asked Seb and Bhushan what Plasma will look like in 2020. Their answer was pretty accurate. Now, Nate, what does Plasma look like in 2025? And what about 2030?

NG: I think it looks like Plasma Mobile being a vibrant niche environment pre-installed on a variety of mobile phones you can buy, and Plasma Desktop included by default on an increasingly wide assortment of niche desktop and laptops. It looks like KDE technology being used as the backend plumbing for an increasingly vibrant assortment of distros and devices, particularly those coming out of China as the Chinese work to reduce their technological dependency on proprietary western tech. For example, the JingPad A1 tablet is a re-styled Plasma Mobile. Deepin uses our KWin compositor. And so on. We get contributions from them, and I hope to see more in the future.

I also think you will see an increasing professionalization of KDE in the form of more paid contractors and employees, hired directly by the KDE e.V. itself. We already have a few, and I see it accelerating over time. This will incentivize more donation and financial contributions because people will understand that their money goes towards paying for the development of the product. With more money, we can hire more people, and it will become a virtuous circle of improvement. This is already working well for Krita and Blender, and I see no reason why it can't also work for KDE in general. I think this is so important because of the extremely broad scope of KDE and its software. We have always suffered from "having eyes bigger than our stomach" so to speak, lacking the development resources to sustain the breadth and scope of our software. I think FOSS projects in general face this constraint, because writing code is easy, but maintaining and debugging it is hard. One approach is to limit the scope of your ambitions to match your resources, but in KDE I think this cannot work because people love us for our breadth! If we sacrifice that, we destroy our uniqueness and therefore our appeal. So our only path forward is in the opposite direction of expanding our personnel resources to match our broad vision. If we can manage this, I ultimately see KDE software powering most devices on the planet. That might be a 2040 goal though.

Are there any plans for KDE or Plasma to go commercial? Laptops preinstalled with Plasma or neon or both? Any mobile devices?

NG: Not only are there plans, but there are products! Today you can buy a KDE Slimbook laptop with Neon on it, and my wife is happily using one of these as her only computer. There is also the PinePhone, which comes pre-installed with Manjaro running Plasma Mobile. These are super important developments because they only only prove that it works, but they give KDE valuable institutional knowledge about how to work with vendors, do hardware-software integration work, advertise real products, and so on.

DM: I bought a Slimbook Pro2, and have been using it happily for the past 2.5 years.

Name three best Plasma features.

NG: KRunner-powered search (both in KRunner itself and Kickoff) is a super productivity monster machine. It's one of the things that drew me to Plasma in the first place.

The digital clock is an under-appreciated powerhouse as well, able to display your events and show time zones for multiple regions of the world. I use this all the time to quickly see the local time for KDE people I'm working with, due to the disparate locations where we all live.

I also really love Plasma Vaults. I use it to store sensitive personal and family documents like tax information and scans of birth certificates in an encrypted bucket. Nothing on any other platform is as easy and well integrated.

DM: Some lovely stuff there, much like I've outlined in my Plasma is the best article ...

Teaser

Vaults, working

Name the worst ...

NG: The bugginess. We have made great strides here but it's not good enough. Something breaks during every upgrade, and even though we often fix regressions quickly, it's unacceptable that they happen to begin with. What we need is more core Plasma developers who are able to look at issues and fix stuff every day. At this point we get enough bug reports and our QA is pretty good, so the bottleneck is actually having enough developer time to investigate and fix issues. Everyone is stretched super thin. Even one additional person working on something is a godsend.

What's the biggest blocker to the mainstream adoption for Linux? And then, for KDE technologies? Do you have a solution for that, or at least a suggestion?

NG: I think there are two parts, and two stages. The first is being pre-installed on hardware, because most people don't buy or install operating systems, they buy devices. At this point it doesn't matter if the product is crap and there is little 3rd-party software; after all, people bought computers running early versions of Windows and macOS, and phones running early versions of Android - and they were terrible! Missing features, egregious bugs, bizarre UI conventions, you name it. And people bought them anyway! Being good helps, but it does not seem to be required. You just need to get the product into the marketplace where people who are not super technical can buy it to solve problems they're facing. And I think we are well-positioned to solve problems like not trusting your software, losing access to your software or data if you stop paying licensing fees, and other mis-features of the proprietary software world that people grow tired of over time.

The second part is to encourage a vibrant 3rd-party developer ecosystem, which cements the product and keeps people wanting to use it, and developers wanting to write software for it. We have really see this take off with our Kirigami platform. Tons and tons of people are now using it to write apps specifically for Plasma Mobile, but because of its convergent design, they generally work pretty well on the desktop as well, and with a bit of finesse, they can be made perfect for both. This is a hugely cool thing to see in action! I feel like every day I'm discovering new Kirigami-based PlaMo apps. It seems to be a successful platform.

Right now it's a small platform, but I see it growing over time as KDE-based devices proliferate, and can serve as this critically important developer ecosystem.

Some people say Plasma is too complicated. Why do you think they say that?

NG: There's definitely truth to this, but it's also not necessarily a bad thing. Powerful and sophisticated tools necessarily have to be complicated. This is normal, expected, and fine.

However I think the embedded criticism is something slightly different: that Plasma's UI is too complicated for performing simple tasks. This is something we're all aware of and are actively working to remedy. I think we've done a great job of this over the past few years to improve on it. The trajectory is positive.

That leaves a gulf between simple use cases (that we can make easy), and complex ones (where it's okay that they remain complicated), which is populated by intermediate-level features. Things like multi-monitor workflows, activities and virtual desktops, extensive panel and widget customization, theming with 3rd-party themes, network printing, samba sharing, screen recording, advanced screenshotting features, and so on; stuff that maybe 10-20% of users use, but it's an important 10-20%, because those people are influencers. We're already okay here but I think there are also large areas for improvement. So when you say, "Some people say Plasma is too complicated", I think those "some people" are these influencers who are complaining that the powerful-but-not-expert-level Plasma features that they use regularly aren't working smoothly enough, or at all. This is going to have to be our next big area of focus, in my opinion.

What's KDE's relationship with upstream vendors? Cough, Qt, cough.

NG: I don't have a lot of insight into our relationship with the Qt people as it's not something I'm involved in. However my sense is that the relationship is probably better than it's made out to be. The KDE patch collection was done with their blessing, so it's not like there's a hostile fork out there.

Overall I do worry about the future of Qt to sustain the kind of energy and excitement that I talked about earlier. But Qt is a huge mature commercial product used to build many well-known pieces of software, with hundreds of thousands of developers. It's graduated to the point where financial considerations can sustain it even without passionate open-source volunteers. This is perhaps not the best possible situation, but it's also not a looming catastrophe. I don't think there's reason to panic.

Wayland's been in the news lately, for a variety of reasons. On your blog, Pointiest Stick, in your weekly mega-updates, you have mentioned a range of fixes and improved support for Wayland on several occasions. Can you briefly recap the work that's been done, and then, what can Linux users expect in the coming releases of Plasma. UHD, multi-monitor support, Nvidia drivers, hybrid cards - not cars, something else?

NG: Wayland gives you a lot of really useful goodies, such as mixed scale factors and variable refresh rates in multi-screen setups, multi-GPU support, proper high DPI support, scaling up X11 apps that never gained high DPI support so that they're at least usable with a high DPI screen, centralized user interfaces for things like screen sharing and screen recording which permits better integration opportunities (for example we can automatically enter Do Not Disturb mode when screen sharing or recording), touchpad gestures, global menu search, smoother animations, lower CPU usage and therefore better battery life.

I'm actually answering this question using in the Plasma Wayland session right now, which is unusual because I'm so picky that I still use X11 most of the time. But recently the Plasma Wayland session has gotten so usable that I'm able to stick with it for multiple days at a time. The level of progress recently is really impressive to me. I believe that Plasma 5.23 will be stable enough for most people to make the switch without noticing too many Wayland-specific papercuts--and at least, the ones they do notice will hopefully be offset by no longer suffering from the unfixable limitations of the X11 session.

What's your desktop of choice? And distro of choice? It's okay, you're in a safe place.

NG: Plasma, obviously.

As for the distro, I happily used openSUSE Tumbleweed for several years but recently switched to Fedora KDE, and now I'm even more happy! In my opinion its semi-rolling model offers the perfect blend of stability and newness, and the packaging is very high quality. The DNF package manager is super fast and it integrates with PackageKit-using apps like Discover very well. A lot of people's complaints about Discover are actually caused by low-quality PackageKit support in various distros. PackageKit support is particularly bad in openSUSE, sadly. But in Fedora, it's excellent. And I appreciate that Fedora is a forward-thinking early-adopter of new technologies, just like Plasma is. They're a very good match, in my opinion.

And if you had to use a different desktop, or even an operating system, what would it be? And why?

NG: If it had to be a FOSS desktop, I would probably choose ElementaryOS. I agree with their overall philosophy and style; they understand the importance of productization and they've really got the "simple by default" part of Plasma's motto nailed. I think they would be more open to adding "powerful when needed" features than the GNOME people were when I tried that a few years ago before moving to KDE. In some ways I wonder if my involvement with KDE is a happy accident; if I had discovered ElementaryOS before GNOME, I might have had a better experience and stayed there, rather than looking elsewhere, finding KDE, and falling in love.

If it didn't have to be a FOSS desktop, I would choose macOS. I was a Mac user for decades before entering the FOSS world, and it's still an environment I find comfortable. And Apple's laptops are some of the best in the industry. I'm still waiting for any of the PC vendors to make a laptop that's as good as the M1 MacBook. All of them compromise on screen quality/resolution, speaker quality, keyboard quality, trackpad quality, or battery life. Without consistently having high quality built-in input and output devices and good battery life, a laptop totally fails at being a laptop, and I just don't understand why this is a such a hard concept for everyone other than Apple to understand. But that's getting to be a bit off topic.

Top three Linux applications!

NG: Non-KDE I presume? In that case, I would say Thunderbird, LibreOffice, and Stellarium. The first are two boringly reliable and useful, and the third is a joy to explore the cosmos with. If I could add a few more, I might also mention openSCAD and Endless Sky. Just really useful and fun pieces of software.

What's the logic behind the name of your blog?

NG: It's a reference to a Monty Python sketch in which a self-defense instructor is teaching his students to defend themselves against pieces of fruit. One of them frustratingly asks of his hypothetical assailant, "what if he has a pointed stick?", prompting the instructor's ire. For some reason this scene stuck with me, and it's become my internet username. I find that it oddly fits my QA manager role, as a lot of what I find myself doing on a day-to-day basis is poking people.

DM: You get Dedoimedo's badge of respec' for mentioning Monty Python.

Your favorite Star Trek captain?

NG: Janeway, for never giving up and being willing to go to a way more extreme place than anyone else would to keep her crew safe and advance their goals. The perfect blend of toughness and nurturing.

DM: Oh these youngsters and their youngstery taste.

As closing words, do you have a message to the community?

NG: You're part of something amazing that's changing the world, and don't ever forget that or let anyone tell you otherwise!

Dedoimedo's closing words ...

The Year of the Linux has been an annual topic since the early 2000s. Hasn't happened yet. There's always been something missing. In a way, Linux is its own worst enemy. But the one thing that is quite noticeable in the past five odd years is the strong, and hopefully unstoppable revival of the KDE tech stack, and the Plasma desktop in particular. Perhaps I'm biased, but I've embraced Plasma wholeheartedly both in my test and production endeavors, and I'm happy, maybe even mildly, cautiously optimistic with where it's going.

The momentum in the Plasma space is clearly evident, and quite enjoyable, too. The desktop is getting better and smarter by the day, more professional, too, and there's hope, just like Nate told us, that maybe in 2030, maybe 2040, we could see Plasma hold a nice, comfortable chunk of the operating system space. Today, come what may, it is definitely the most elegant, most mature desktop offering around, with tons of lovely features. Anyway, I'd like to thank Nate for agreeing to the interview and providing us with some really in-depth, eye-opening answers. I thoroughly enjoyed this. See you around. Set Plasma phasers to stun. Engage.

Cheers.