Skip to content

Sunday, 14 November 2021

My goal of KDE Plasma World Domination is not a secret at this point. But what does it truly take to get there?

Let’s look at the existing market leaders in the OS space: Microsoft’s Windows and Google’s Android. Neither was the first to market, but they were the first to successfully serve the mass market. Neither is picky about what kind of software you run on them or write for them, so they are used on a wide range of devices by lots of different people. Both work with others in adjacent industries, rather than taking a “my way or the highway” approach. They are flexible.

Before KDE, I came from the Apple world, which takes a different approach. Apple identifies distinct use cases and focuses their efforts like a laser on making them as polished as possible. This works very well, but it requires ignoring, abandoning, or explicitly blocking other use cases, and sometimes inventing new things that conflict with what others are doing, in the hope that their new thing takes over. It requires saying “no” a lot and being opinionated.

Apple’s opinionated approach worked well for me with my own personal use cases in my pre-KDE days, as it did for many millions of other people. But evidently it doesn’t work for everyone, as Apple’s products routinely fail to crack 15% market share. And when they do, they often fall back down to that level after competitors emerge. But that’s okay, because Apple isn’t going for the mass market anyway; they’re happy in their profitable and opinionated boutique niche.

But that’s not KDE, and it never has been; we’ve always dreamed of a broad scope and being useful for everyone. This is what’s behind Plasma desktop’s extreme flexibility; Plasma Mobile for phones; Plasma Bigscreen for TVs; and Plasma Nano for embedded devices. It’s why the Steam Deck handheld gaming console, PinePhone smartphone, and JingPad A1 tablet are built on top of KDE technology.

To be the market leader, you must be flexible enough to accommodate everyone’s weird and random use cases. This includes grandmas, gamers, businesspeople, students, teachers, phones, tablets, shared family PCs, kiosks, and everything in between. It means you have to give up a certain amount of that laser-focus on making a particular use case bulletproof, in favor of flexibly accommodating everyone and working with partners to support their needs so that they can build their products on top of your platform. Windows and Android do this, and so does KDE.

This, fundamentally, is why I believe KDE can and will take over the world. We share the market leaders’ winning strategy and culture of flexibility, and we can supplant them by leveraging our advantages of being free and eternal, our resistance to turning evil because of our diverse stakeholders and decentralized leadership model, and our philosophy of keeping the user in control rather than exploiting them for ad or upgrade revenue.

So I think ultimately we will become the Windows or Android of the Free Open-Source Software world, with projects like GNOME and ElementaryOS competing to be the Apple of FOSS. I think there will absolutely be room for projects like theirs; in fact I think it’s highly likely that they’ll offer a better user experience than we do for people who fit within the usage paradigms they focus on–just like Apple does.

None of this means that we actually have to make our stuff look or behave like Windows or Android, of course. But it means we need to retain their philosophy of not shutting anyone out. We need to stay willing to make changes for vendors who want to ship our software and developers who want to write apps for our platform. We need to keep listening to our users and trying our best to make our software work for them. We need to remain flexible.

And I think we’re doing this. Which is why we’re going to win.

It may take a few decades, but I believe it’s going to happen. If you agree, help get there faster! This crazy thing only works because of people like you and me and all of us. There is no “they” in KDE. So c’mon, get involved and let’s take over the world together.

Saturday, 13 November 2021

A week has passed since our first release and we are back with another one! We’ve worked hard to go through your bug reports and suggestions, and thanks to these we have a new version of Kalendar that is more stable and powerful than ever. Note: Kalendar is still under heavy development. You’re free to …

I just got myself a 3D printer. It is my second one – I built a reprap back in 2013 – but this one is slightly more convenient to use. I went for the Creality CR6-SE. It works good enough for me out of the box, even though 3D printing is a topic where you can spend infinite time tweaking things.

I used to use OpenSCAD to create my models, as it maps well to my way of thinking (i.e. coding). However, I’ve decided to take some time to learn some new skills and this time around I went for FreeCAD.

FreeCAD is a free, as in freedom, parametric CAD program with a vibrant community. I’m new to CAD – parametric or not – so this is a learning experience for me.

I decided to create a case for my Raspberry Pi and PiTFT based home automation control panel shown in the video below.

To make this happen I first drew the important parts of the Raspberry Pi and the PiTFT hat, to be able to check that the case actually fits the contents. Then I dove into the creation of an enclosure.

The process of sketching, padding, rinse, and repeat is easy and somewhat tedious. I bet there are lots of ways to optimize this. E.g. by parametrize some dimensions to avoid having to “hardcode” them into each sketch. I guess smarter people can share some reference points between sketches too, e.g. to align the holes in the Raspberry Pi to the pegs and peg feet. I’ll learn this the next time around.

Having designed a bottom half, I decided to test fit it, so time to slice it up and then print it. Yes, I use the slicer that came with the printer, as I don’t want to tinker with the printer, but rather with the things I print.

Slicing the bottom of the case

Below, you can see the end result from the first test fitting. Hopefully the picture below shows something that fits as I bravely wrote this while printing. If not, then I really learned something, because I made a mistake.