Back to Projects

kdSuite & kdServices

Whether I wanted better utilities for my everyday PC experience, or simply wanted to practice my programming skills, I progressively wrote tiny pieces of software essential for any computer, and that I now use daily. These utilities include a calculator, a calendar widget, a networks panel, and a lot more planned.

I cannot express how much I absolutely loathe bloatware, as well as slow, horrible-looking and user-unfriendly apps. Why is it that companies desperately want to remake a perfectly working piece of software into a so-called "modern" counterpart that takes longer to start, has gigantic margins everywhere, is less snappy, destroys habits that users built and maintained for years, and requires... an internet connection!?

For all the reasons above, everything is built from the ground up, in C/C++, without using any library or dependency except the system. The UI is entirely native, running on Win32 and GDI.

My principles

Every piece of software is made to be interacted with by a person. As such, a number of guiding rules must be established :

  • Ease of use & clear goal :
    A program has a goal. That goal must be clearly presented to the user, and the controls to achieve this goal must expose the natural flow of the program's usage.
    I don't like saying "intuitive", because intuitive pisses people off, probably because intuition is largely subjective.
  • Color-coded :
    Fuck the monochrome nonsense. If you want poorly designed SVG icons that you can't even tell what they do unless a tooltip informs you, then fine. But if you want a readable UI at a glance, you gotta use all the capabilities of your very capable eyes.
  • Accessible :
    Interface reacts to system scaling for people with bad peepers, contrasts are well thought out, system settings are checked for respecting every user preference.
  • For the user :
    You deserve to have an easy time using your computer without the interface getting in your way.

The distinction between "services" and other software

I present a software "suite" and software "services". Why make that difference? Well, it all has to do with how one sees a computer and how they end up using it.

Essentially, typical software you'd call "apps" or "programs" are stuff you download from the internet. They are optional, that is, not crucial to using a computer daily, they are far more complex than just a window with a few buttons, and are usually known by their brand name.
Think about Microsoft Office (now Microsoft 365) and LibreOffice, for example.

"Services" on the other hand are absolutely necessary on any computer. Things like a calculator, a date & time panel, a wifi connections panel, a screenshot maker, a notepad, a media player, maybe a terminal... and of course, administrative tools, like a partition manager, a settings panel, task manager, firewall... Things that if they disappeared, you would notice immediately and say "uh oh... how do I [insert common action] now?"

I am aware that browsers fall into the grey area, since they are perhaps the most complex pieces of software on the planet, but you can't really do anything nowadays without one.

Small rant : UI and UX for users

If you've ever installed a Linux distro, you have probably seen those utilities, but for some reason, they are all branded : gedit? (text editor), Ristretto?? (image viewer), or Nautilus, and Thunar?????. Nautilus, my dude, you are a FILE EXPLORER.

My vision of crucial services are that : 1. every user expects one to be there, 2. there should be a unique one available and not a thousand alternatives, 3. they should be named after what they are. Nautilus??? My brother in J. H. Christ, I just want to open a file explorer. And no, the icon alone doesn't help. My eyes are actively seeking the label "File Explorer", not some weird modern name.
Before you say it, yes I prefix everything with "kd", but that prefix is removed from released versions. That is just for the internal name.

Go to your Windows start menu right now, go to "All apps" and look for "Windows Accessories" and "Windows Administrative Tools". Look at how the programs are labeled. A computer should always present important tools like so.

You know why the "year of the Linux desktop" never came and isn't coming? Because of the ecosystem. There's countless distros available, their users are defending them like cults, everyone wants to reinvent the wheel... whereas Windows is centralized and consistent.
People trust something that looks solid more easily. Even though Linux has made significant progress, its public image continues to put off the average consumer.

What happened to making software for the end-user? Everything has downgraded, it seems. Windows has devolved to monochrome, with a white background and single-color icons on top. They sort of went back on their choices in Windows 11, but still, the problem is very much not gone.
Why always feel the need to change what works perfectly? Changing user habits is the number 1 source of frustration, and even the average bumbo can tell you that. Thank God the taskbar icons can still be aligned to the left.
And don't get me started on WinUI, it looks awful. It looks like they did all of this just so buttons and other elements could use your accent color. That's not personalization, that's the absolute minimum.

People my age will ALL remember Windows XP and 7, because they were solid under the hood, but most importantly... they had personality.

The transparent "Aero Glass" aesthetic ran perfectly fine on computers of the time, and it gave a feeling of wonder, and it made using our computer feel nice. Then you take the radical shift to Windows 8 and think "what the fuck went wrong, and when did it go wrong?"
Now yes, Windows 8 had personality too. But it genuinely felt like a product released in its beta phase, and from a UX point- of-view, it was a bold maneuver, but it just didn't stick. Windows 95 through 7 have all maintained the usual formula of : desktop, taskbar, start menu. That was Windows, it worked, it was consistent, and it got the job done.

kdSuite : advanced UI technologies for power users

Before we can make professional-grade software, we have to talk about a few common designs and their technology :

IDEs & docking

Many advanced editing software will have some sort of docking system, allowing users to pop out panels from a main window, anchor them where they desire, and fully customize the layout of their program.
While the appearance changes, the formula remains the same : a "root" space is recursively divided in half by horizontal or vertical separators, creating subspaces in which sub-windows can live. This is the case for Visual Studio, for example.

This technology is still in development and is being experimented in my custom Markdown Editor.

kdServices : system essentials, but custom

The services suite acts as a set of programs appearing as tray icons, with very simple UI, and which aim to provide alternatives to the default Windows utilities.

Below, you'll find a list of planned utilities, as well as ongoing and completed ones.

Calendar

This is a small calendar + clock widget. Its main goals are simplicity, compactness and performance.

Calculator

This is a calculator app, capable of simple operations, but also featuring a programmer interface and unit conversion. UI-wise, it is closer to the Windows 10 calculator.

Networks

The "networks" utility is a panel showing nearby WiFi networks, and allows you to connect to one, see its properties, open a detailed view in Windows Settings, and so on.

Downloads

Not yet, sorry... but they are coming. You can count on that.

Index