From my Notebook >

Were MS Windows and its Developer Community Just Distro-maintainers for Power Users?

Above: A photo of my cat keeping me company while I work with Windows 7 Pro and Windows XP in two separate VMs, inside of Ubuntu Studio. You could do a lot with 8GB RAM in 2009.

Back when I first used Linux in the late ’90s, I was really excited by the opportunity to try out all the fancy Unix-style software, get really into the internet, and even further enjoy my exciting life as a computer user.

Oops! Did I say user?

Why fly, when you can be a pilot?

In the Windows world, I had been considered a “power user”. I started using Windows back when it was basically fancy MS-DOS software. I deeply enjoyed the existential chill zone of playing multi-channel module files on my PAS-16 while poring through the Peter Norton “Inside the PC” books to learn even more interesting things.

To my Linux friends of the time, this probably looked really dumb. I remember showing one friend that I had Fasttracker II ripping 16-bit audio samples from commercial music CDs, wasn’t that fun? He came back in an hour, panting with excitement that he had TEN instances of XMMS open on his Linux desktop, all playing .MOD files at the same time!!

Wow!

But also…WTF?

So, in Linux user communities of the time, calling yourself a user felt a bit like getting a pilot’s license and calling yourself a commuter. You were casually expected to be beyond this. Way beyond this.

In Linux, working with the combination of Linux distro and computer hardware, you might as well just call yourself an admin (or worse IMO, root) and soak in the sheer possibility of the whole situation.

Power users are not necessarily admins, though admins (ahem) ought to be power users

Still, the “admin” concept from the late 20th century and the “power user” concept, which came just a tiny bit later at the end of the same century, had vastly different connotations that I didn’t understand at the time.

And kinda-ironically, those connotations could fundamentally affect what you could do with your desktop system, and the fun you felt like you were having.

These days, I happily admit that I love, LOVE being a power user of a desktop system.

So, I want that ENTIRE experience back, and I won’t stop until I have it here once again, neatly tucked into my Linux experience.

(Plus, too often these days, titles like admin / sysadmin / root, and so on, are just not fun at all.)

You can be root here, but you can’t be a power user

As the early 2000s came and went, I had successfully transitioned to Linux, using it to run my business, including lots of creative projects involving things which people told me wouldn’t be possible. This included:

  • Using GIMP and Inkscape and even some of my own scripts in place of Photoshop and Illustrator
  • Using Cinelerra and Blender in place of Premiere and 3DS Max
  • Using two different versions of Windows (photo above) in VMs to watch Netflix and use Photoshop for those pesky huge .PSD files that colleagues sent…OK, let’s not talk about this period back in 2009 too much. But it worked.

Still, I found that despite all the power of Linux, and despite warping my distro installs to fit my daily needs, I really missed the power user “style” I was used to in Windows. Where did that go?

And what was it?

Distro experimentation is encouraged and important for users, but should it be mandatory?

Around that time, I started trying different distros, from the media-centric Dyne:bolic to the community-oriented Mepis and the tiny but powerful Puppy Linux. The newly-burnt CDs and DVDs really started stacking up around the office as I explored a huge variety of different approaches to using a Linux-powered desktop system.

I had an unexpected surprise in all of this: While trying out Puppy and Mepis, a surge of that “power user style” feeling really came back.

With Puppy, it felt as if you could act like a user again—implying that there was a set of non-admin tasks to be done, and you went about doing those things, and you didn’t need to pay as much attention to the configuration that allowed you to do it all.

Puppy offered lots of these little affordances that kept you user-minded: “I wanna surf, I wanna write, I wanna draw…” and you were off. It separated you from deeper Linux stuff, by using a simple layer of convenience. This came mainly in the form of tons of little menus and wizards with lots of reasonably helpful help text which had apparently been typed in by the distro maintainer, Barry Kauler.

But at the same time, there wasn’t just the illusion of control. You were making the same type of tweaks you could make to a regular Linux system, with the advantage that the tweaks were more visual and relaxed and somewhat limited in scope, favoring the common “user” use cases. Still, you had access to the full configuration files separately, if you wanted that.

How does your distro support users?

I started to realize that the regular, “huge” distro I was using day in and day out was offering me a lot of big-picture bonuses, but those bonuses came with strangely huge drawbacks for my daily use.

For example, the distro was broadly compatible and recognized by third-party vendors, so you could easily install third-party software.

It also had a huge community, so you could google up just about any issue and have (potential) answers within seconds.

…but my distro also didn’t take quite the same approach in terms of the direct user experience.

There weren’t any of these GUIs and scripts that were 1) desktop-user-focused and 2) provided as default considerations on top of the normally-expected desktop experience.

And nobody in the distro’s dev community was really filling those gaps, either. If they tried, it seemed all but impossible to hope that their applications would become part of the default install, rather than hidden in some obscure repository.

Strange!

Q4OS Trinity and TDE

Eventually I tried Q40S Trinity, with TDE (Trinity Desktop Environment) and just about lost it, as I checked out all the customizations that were done for the desktop experience. I had this thought:

“This is really close to how the truly ideal Microsoft experience worked, for power users like I was.”

A lot of distro experiences had these kinds of discoveries tucked in, here and there. Mepis was like that in a lot of ways, even Puppy was too despite its constantly-changing appearance and surprisingly colorful bent. TDE was the straw that broke my curiosity’s back.

To be clear, I didn’t want to go back to using Microsoft systems, and I didn’t necessarily want to go all-in on TDE (how exactly TF does one mentally migrate away from a multi-decade distro choice including their own hundreds of pages of notes, anyway?). But I DID want to understand this situation better.

What made TDE special to me?

First, TDE has its own unique Control Center setup for desktop configuration. And this part is also what Microsoft’s internal developers really did well, at least they did back in the day. I have something like a control center, in my distro’s version of XFCE, but this one in TDE has quite a different feel.

TDE really nails the sense of visual hierarchy in the Control Center. There’s also a very generous offering in the level of control that one can have via settings exposed in the UI.

I have…a particular set of desktop-user affordances

With that first finding in mind, I reflected on more of what I was seeing in various distros which created this nostalgic overlap with my favorite Microsoft Windows days.

Here are some things that Microsoft and its dev community always did well:

1. Imposed Hierarchichal Organization

First, they generally imposed a qualitative system of hierarchical organization. If things could be organized out of the box in lines and rows and sections, they would be, most of the time. And it would be done thoughtfully, subjectively, in the good way. Not simply organized automatically by some objective property of the data.

In case you’re wondering what it’s like to not have this, think about some of those really disorganized computer desktops you’ve seen, with hundreds of files milling about as if condemned to a cramped prison life of icon anarchy.

But also, you may have met data-anarchists who will tell you they just want tags and a wiki, or free-floating windows which they can organize by themselves, and THEY will manage the organization from that point, thank you very much.

(You may also not have met those people, but I have. Quite a lot of developers think this way, and they design software that you may hate, or love, depending. And I believe that within desktop computing, this style of thinking is an understated psychological yin to Microsoft’s organizational yang which was offered to Windows users. Eventually it’ll smooth out but for now it can be a huge pain to work with whatever side is not your preference.)

2. Consideration for, and Imposition of, Depth of Hierarchy

Microsoft and its Windows dev community were generally always happy to expose you to 3+ levels of depth in your visual GUI hierarchies (like lists with those little + icons), if you went looking for settings to tweak.

This one is friggin’ huge, in my opinion. It basically opened psychological flood gates, and forced the experience to be as tweakable as it could be. It also encouraged developers to make settings more tweakable if they saw fit.

I remember that this factor quickly split my friends into the Mac camp or the PC camp very early on.

I also remember watching some of my artist friends roll their eyes when they got three levels deep into any organized hierarchy, computer or no.

As a website designer, it also became clear to me that the dislikes-deep-hierarchy group typically also feels the same way about letting you have more than two levels of website menus when you visit their website.

(Which, IMHO, should really depend on the audience…shouldn’t it? OK, I admit to liking hierarchy, and I don’t mind learning others’ hierarchies, and would prefer to have that rather than not…along with a search engine option of course.)

3. Selected Affordances for Depth of Configuration

Microsoft also apparently understood that you might want to fiddle with stuff in depth, but not necessarily at the sysadmin level.

This allowed Microsoft to save time, so they could focus on helping you fiddle with certain things in depth. They were able to narrow it down.

You want to game, great. You want to edit documents, here you go. You want to make movies, paint, and sing? OK, and also look at what the developer community is building. OUR developer community.

I also think that’s really big.

4. Selected Apps We Bundle for Normal Desktop Stuff

Most Linux distro maintainers don’t do this: They don’t narrow down what they will help you tweak in depth, pick a set of things, and then add a bunch of customizations to help you with those things.

They definitely can’t point to their developer community, in most cases, though I’m including tons of small, experimental distros here.

And they DEFINITELY can’t point to their own set of desktop apps, usually. Solitaire, paint, calculator? “Why reinvent the wheel,” I hear people wondering.

But also yes, DO reinvent the wheel, especially if it’s YOUR wheel and YOUR car looks great and you like looking great, is what I’m kind of thinking.

TDE and Puppy and others are very close to this higher standards. They got apps to fill huge gaps for a lot of cases, and it’s really nice.

But I do wonder about the rest of those gaps. Lots of weird questions come up.

Weird questions

What’s the Desktop application:: equivalent to Linux::Distro, for one? Hmm?

Not a distro containing a single application, but a single application that’s basically open to repackaging for various distros.

This is the kind of question that interests me. That seems like it could be an extremely powerful concept which would have a huge impact on users.

Because if software like TDE is helping you set up your desktop experience, but we know there are also many experiential gaps to be filled by application developers, then where is the gap-filling leverage to be found, if developers are already creating apps, just not for the TDE mindset in particular?

Could it be even easier for somone like an “app-maintainer” to more easily package specific iterations of applications and particular interfaces which match the distro’s style? Could those interfaces avoid the trap of becoming unusable from distro to distro? (Sure, I think that’d even be easy)

Barry Kauler once packaged “Inklite,” a really neat, stripped-down version of Inkscape, along with Puppy. I enjoyed using it.

But not every distro maintainer can be expected to do this, and certainly not for every app. A standard would need to be accessible and usable without too much effort.

To go into some ridiculous detail, the standard would probably need to be so cool that users would be begging, “please, could you package your app as a generic node, for compatibility with my desktop’s node-based system for helping me work with apps the way I want to work with them?”

And maybe even

“I could then connect all my (accessibility, usability, extra features, extra inputs, extra outputs, meta) nodes to your app and I can’t imagine how cool that would be…”

So to sum up

So those are the first big things that come to mind, these huge leverage points I see in the the current decade of the Linux desktop experience.

There are more, like “what does it imply for your power users if your distro doesn’t come with its own manual?” and “what neat admin-level experience could you also provide, if you only officially supported like a couple server packages, but supported and integrated them really tightly?”

I’m convinced that the equivalent to being a desktop Windows power user is not even close to “Linux power user.”

No, none of those three things above really have anything to do with the Linux concept. None of them are even a distro thing necessarily; distros aren’t cleanly or officially separated by their varying opinions on those particular aspects. We might even guess with confidence that most distro maintainers don’t even think about that stuff.

But we can call all of it a really important part of the user & power user experiences.

Do you want Windows as your distro? Or some of it…in your distro?

So I’d submit that for comparison purposes, Microsoft Windows wasn’t really competing with Linux, where desktop users were concerned. In fact the members of the Windows development community were more like the equivalent of maintainers of a very specific, power-user-friendly Linux distro.

If you compare Windows, Linux, and Mac OS straight across then, it quickly becomes a sloppy mental model that can ultimately really hurt the subsets of the Linux community that think desktop users are important.

But how do you track that, and improve it? How does a distro maintainer really tighten up this situation?

How do we start talking about distro-experiences at a higher level, and develop workable, high standards appropriate for badging a distro as excellent for user-people, including non-root-type power users?

We desktop users have been taught to look so hard at “distros” in Linux, but it also may be time to redefine the boundaries, come up with a term that connotes a combination of a distro’s desktop and application philosophy, and allow people to filter by those sorts of things.

“Oh, you don’t want a distro. You want a…(whatever)…which will make your life so much easier. Forget about Linux, forget about the distro term, it’s in the background and just complicates things.” (Which is exactly how the most passionate Linux distro communities talk about their favorite distros anyway)

Closing pout

Windows was never Linux, in so many ways. Not even close.

But there were a lot of things classic Windows desktop power users had decades ago, that a lot of today’s desktop Linux power users are still dying to see.

Especially if those users are like me, and they traded a friggin’ huge mainstream distro with great third-party support for a complete lack of interesting stuff in the distro-maintained user-affordances space.

Unfortunately, many of those things are hidden in nuances that will also take specific efforts to isolate and address.

I do wonder though, after trying Haiku OS, if this power-user aspect of the way it naturally works will be tempting to some Linux distro maintainers looking to modify the user experience.

When was the last time you opened QMMP in your distro and found a custom skin, styled to match the desktop environment?