Random Thought 0002 – Retron HD Review

Figuring I’d invest a slight amount of money in myself this weekend yet not having conceived of a target, I walked the aisles of a local pop culture brokerage. This lead to an impulse purchase of a retro gaming console and a handful of games to compliment it. However, this console was a little different for me. It was a Hyperkin console. I’d long strayed from these devices since I’d always been concerned about overall quality of the playback, but I’m pleased to say that for the most part, I’m satisfied. Not just with the price, but with the overall performance, capabilities and features of the console itself.

The console I purchased is marketed as the Retron HD, although Hyperkin categorically refers to this device as the RetroN 1 HD (SKU M01888-GR, the SKU M01888-BK is listed on their official website and from what I can tell the only discernible difference is the chassis color; mine is grey and the other is black). It’s a pretty focused console only being able to play NES games. Most of the Hyperkin lineup looks to be multi-platform focused, but they also seem to offer alternatives in their fleet like the Retron HD that are specific. This was fine for me since I’m really only interested in playing the NES titles, but keep in mind that if you want something a bit more versatile in terms of target platforms, then this console isn’t for you. The MSRP from Hyperkin is $39.99 USD, but I managed to get mine for about $10 cheaper, new.

Hyperkin Retron HD Retail Packaging.

Physically, and I hope this isn’t too odd of a comparison, the device reminds me of some larger Raspberry Pi cases you’d see if you had a project that demanded a larger enclosure for either cooling or internal storage reasons. It’s certainly more compact than the original NES, and is a bit smaller in terms of length and width than my Mac Mini. The battleship grey color really brings back a tremendous sense of nostalgia, and in my opinion is the better option cosmetically than its all black contemporary. It weighs a little under two pounds without a cartridge inserted. When a cartridge is inserted, you get the look and feel of the NES top loader, and the unusual weight distribution that brings with it.

Top-view of the Retron HD without a cartridge inserted.

The controller ports are right next to each other as was the case with the original NES. With this arrangement, I suspect the NES Four Score might be an option here, but I don’t have one in my arsenal to try this out with. Inserting a controller connector into a controller port feels good. I’ve never felt like I had to force the connector into a port using either an unusual amount of force or an awkward hand positioning. The power and reset buttons are nicely pronounced for easy access, and have good feedback when pressed. I can’t really remember how the original NES felt with these buttons, so I can’t make a comparison.

Front-view showing the two controller ports alongside the power and reset buttons.

The console comes with one Cadet model controller. This controller’s design derives from the original NES controller design but takes some liberties to cater to a more comfortable experience. Two of the aspects about the original NES controller that have always bothered me were the size of the controller – it felt too small – and the manifest lack of ergonomics. As a kid, this clearly didn’t bother me all that much, but as an adult, this really stinks after playing for about thirty minutes. The Cadet controller bevels down on the two corners that will principally rest in your palms, and on the opposing sides of the rear are large bumps that fill the gaps in your palms. I really like holding this controller, a bit more than I do the original one.

The Cadet model controller, standard with the Retron HD; Front-view.
The Cadet model controller, standard with the Retron HD; Rear-view.
Side-by-side front-view comparison of the original NES controller (left) and the Hyperkin Cadet controller (right).

The console is powered by a very modest 0.4A 5V AC adapter. The console expects a micro USB connection as a power source. Although USB-C is slowly ebbing its way as the dominant connection type nowadays, you should be able to scrounge one of these kinds of cable up from somewhere in your house. The console, at least in the US market it seems, should already come with a wall brick and a 6’ cable that will do the job.

Power brick found in the Retron HD box (might be for US markets only).
Micro USB cable that connects to the Retron HD to provide power. The cable shown was found in the Retron HD box and is 6′ in length.

The bottom of the console features the obligatory regulatory information, but there’s also a switch to toggle between NTSC and PAL operating modes. I imagine this would be good for those of you who import titles. I don’t actually know anything about the Retron HD and its region-related functionality since I’m strictly a NTSC/US player, but evidently the option is there.

Bottom-view of the Retron HD console. Regulatory information and the region switch are shown.

Before getting to the part that most anyone would care about, I’d like to talk about the cartridge slot and the process of inserting and removing a cartridge. This aspect is one of the very few complaints I have about this product. Pictured above is the top-view of the console. Following is a Metal Gear cartridge inserted into the cartridge slot.

The Retron HD console with a Metal Gear cartridge inserted into the cartridge slot.

Inserting a cartridge feels really good. You don’t have to press very hard to insert it, but once inserted, the cartridge feels a little wobbly. There’s definitely some play on the front and rear of the cartridge to wiggle in the slot. I don’t know if this was also the case with the original NES top loader or not since I never owned one of those, but this really means that I have to keep this thing away from the kids while they’re out and about and daddy is looking to get some game time. The other complaint I have here is how truly difficult it is to remove the cartridge. It’s tough. I haven’t yet encountered a situation where I don’t need to physically lift the entire console with my left hand and pull incredibly hard in the opposite direction with my right hand. I can promise you that with the force I’d exert to get a cartridge out, if I’m not careful, I could easily put either the console or the cartridge through a wall. I hope that repeated removals will wear the connectors down a little to the point where this won’t be necessary, but it does worry me some. I don’t remember the top loader having this issue, and I don’t know if this is a problem that manifests across the Hyperkin line, but it’s something to be aware of all the same.

Now let’s look at the rear of the console for the video and power connectors.

Rear-view of the Retron HD console.

From left to right, we have the power port (micro USB), HDMI port for HDMI output, component output, and a switch to toggle 16:9 or 4:3 aspect ratio support. The console ships with both a component cable and a HDMI cable, so if you don’t have one of those lying around you should be okay. I’ve played the console with both connection types, and both on 16:9 native aspect ratios and 4:3 native aspect ratios (a CRT specifically). My personal preference is to use the console in 4:3 mode regardless of the display it’s connected to. Both my nostalgia and brain have trouble dealing with upscaling and/or stretching of an image from one aspect ratio to another. The HDMI output is pretty crisp as is the component output, however, with some of my TVs, the ability to adjust settings on HDMI rendered a bit more of a vibrant display than the component was capable of. This has more to do with the TV than with the console itself, but I thought it worth mentioning. The Retron HD is capable of up to 720p for HD, but again, just using the 4:3 ratio is good enough for me.

What I don’t have photos of are the actual gameplay. Despite that, I have quite a bit to say about this.

My NES collection is limited, and I don’t consider myself a collector (not that I’d want to in this climate), so my experiences may not reflect what a true collector would likely be capable of doing simply because of a larger assortment of games to choose from. I tested with three games: Metal Gear, Anticipation, and Xexyz. I’ll examine three aspects about the gameplay and try my best to gauge them against what I remember were my original experiences and thus expectations from the original NES. I’m not entirely sure how the Retron HD is facilitating the NES (i.e. FPGA or emulation), so if some of my ignorance shines through here, just be patient with me. These aspects are audio, frame rate, and control.

Regarding frame rate, I believe the Retron HD is pretty frame accurate in terms of graphics. I didn’t really notice anything here that seemed untoward. All three of my test games were just as I had remembered them in terms of graphical fidelity, and the places where I’d expected a slow down for one reason or another were there perfectly.

Related to the frame rate to an extent is the control, but the additional factor here is the physical controller itself. Although the Cadet controller is really well built, I do feel like I can’t be as efficient with it as I can an original NES controller. I’m not sure if it’s the pads under the buttons, the buttons themselves, or my old age and/or lack of practice, but sometimes it feels stiff. I’m sure I’ve encountered a few scenarios where I’ll be mashing during a shooting scene in Xexyz, completely in rhythm with the fire rate, and I’m visibly missing shots in what would otherwise be a harmonious stream of fire. I’m confident in my ability to pull this off every time, but I’ve seen this happen on more than one occasion and it’s cost me a life or two. The same thing happens in Metal Gear. There’s a rhythm one can get in with the punching to make it pretty efficient for dispatching foes quickly. That rhythm sometimes doesn’t seem obtainable, and I can’t figure out why. The symptom here is that a button press doesn’t yield the expected action in the game. This happens with the original NES controller as well, so I’m not sure what the deal is here. Overall, it’s not a deal breaker. I’m not really striving for frame-perfect gameplay techniques here. However, I do have a set of techniques I’ve developed over the years concerning the rhythm of limiters, and I’ve noticed this a few times.

The audio playback is pretty good, but there’s something not quite right about it. For example, the first level music in Xexyz seems to be playing some notes in either an entirely different octave, using a different instrument, or with a different pulse rendering. This is also noticeable too when Apollo shoots any of his weapons; the sound effects for these events just sounds like it’s missing something. Generally, some of the bass instruments seem weaker than I remember them being on the original NES. A great example of this is Anticipation. Each track in this game has a pretty aggressive bass presence, but on the Retron HD, these frequencies seem a bit muted, if not diluted slightly.

In summary, I’m very pleased with this device. NES veterans can appreciate it, despite picking out aspects about it that differ from the source material. But playing the game with an acceptable level of quality is all that matters here, and the Retron HD fits that bill at an extremely affordable price.

Random Thought 0001 – Mobile Gaming

Foreword: I’m trying out Anchor to see how it works in relation to my WordPress blog. I’ve made an automated audio recording of this post and it’s available here: https://anchor.fm/gregory-martin7/episodes/Random-Thought-0001–Mobile-Gaming-e15kvqa

Being a recent Apple convert, I’m still coming to terms with the idea that gaming on a Mac isn’t quite what it used to be in the Windows world. I’ve spent so many hours in the past on Steam – and with a considerable number of independent games – that are truly Windows exclusives, and this makes it painful when I open Steam on my Mac only to see that maybe 10% of my library is available. As discouraging as this is, I’ve considered it a temperament of sorts. With my family growing in size, any time I can dedicate to gaming is fast dwindling. So I’ve been spending more time gaming on my iPad, which has proven a rather stalwart companion in this regard. One that I’m quickly growing rather fond of.

None of that is to say that Apple doesn’t have good games at it disposal. But if you’re a classic gamer such as myself who desires a specific set of games, you need to be prepared to walk away disappointed most of the time. Apple Arcade is a pretty good service for those who’re willing to pay for it and are invested in the Apple ecosystem. There are some gems on there, and the fact that you can seamlessly transition from iPhone to iPad to Mac and – even in some cases – Apple TV, makes this a worthwhile service itself. However, the severe drought of Triple-A titles and the overwhelming sense that most of these games were created by frustrated art students leaves an uncomfortable itch on your mind. I can say with honesty that there have only been maybe four games in the total lot that I’ve been interested in, and even in that set only two that I’ve been able to spend any serious time with: Fantasian and Shante and the Seven Sirens. I’ve long been bored with the traditional mobile gaming experience, and most of these games trend toward that scheme: controls that a toddler can master with ease, and shallow gameplay that either can’t escape said control scheme confines or require a micro-transaction to expand upon.

All these years later, and to my amazement, some of the publishers that I’ve come to know and love on consoles and PC have started to put some of their greatest titles on the mobile platforms. I had fair reservations when hearing that SquareEnix would be releasing Chrono Trigger on Android, but there it was right in the Play Store. Konami has Castlevania: SOTN up there. And these titles are also available in the App Store too. Several years ago, when I was still playing largely in the Android space, I ponied up for Secret of Mana, one of my all-time favorite games. Thinking I’d stumbled upon a way to relive my childhood with this amazing title, I was soon completely and utterly disheartened. This was my first experience with on-screen digital controls and man did they not map onto the clean experience that the analog version once had. A game like Secret of Mana requires a certain amount of precision in controls to truly enjoy, and these touchscreen controls failed in every way to live up to that basic expectation. Map navigation felt slippery, and handling platforming sections was dubious at best, especially when trying to avoid floor hazards. Combat required an entirely new approach. Instead of advancing confidently either with gusto or tactically, each action now started with reservation. Not because the opponent demanded a change in default tactics, but because there was a more than uncertain chance that you’d miss your target because the controls were grossly inaccurate. Of course, this says nothing about the action buttons. Because you get no feedback from the “buttons” on a touchscreen, I’ve often times found my right thumb drifting away from where it should be to press on a button. In the middle of combat, I’ll be frantically tapping on the screen thinking I should be executing an action only to see my avatar doing nothing but standing idle getting clobbered. It’s only when I’m certain that the game is ignoring me do I realize that I’ve been tapping in the void this whole time. It’s one thing to feel like an idiot because you made the wrong move or poorly planned for the next section. It’s an entirely different thing to know that you’re hindered from standing a chance because you tapped in the wrong place.

Shortly after jumping into the “Walled Garden,” I learned that the iPad could support pairing with either an Xbox or PlayStation 4 controller. Not only that, but that some games actually supported in part or outright required a paired controller to play. Finally!, I thought. This is how games are meant to be played! A controller in hand. Not some goofy DPI-scaled tap range that had no way to tell you “You missed that button!” This is when I started diving deep into Shantae and the Seven Sirens. It’s also when I learned to love the ability to transition between my several Apple devices for a truly seamless gaming experience. At home, I could pair my Xbox controller with my Apple TV and play Shantae on the big screen. With the data always synchronizing to the cloud, I could take my iPad with me to work, pair up my Xbox controller to it, and play during my lunch break. Not only that, but also play by picking up from the same exact place I left off with at home on the Apple TV. But then, if that weren’t enough, if I wanted to cut loose and play a little on my Mac while taking a break, I could easily pair my Xbox controller to it and play Shante there with the same data availability as before. Wayforward seriously nailed it on the head with this title in Apple Arcade. They took advantage of all the technologies Apple has to offer and made one hell of an experience. It made me realize that this is what Triple-A gaming should be like, if not everywhere in principal, then at least on the Apple platform. My games should be playable on all the devices I own, especially the Apple TV, should support a controller as either an option or strict requirement, and if a multiplayer mode is available, certainly have an online option but also support a local option too, reminiscent of days of yore where two or more people were huddled around the TV, each with a controller.

To my dismay, it seems like many game developers and publishers are missing this aspect horrendously, and it bothers me. First of all, there’s incredibly limited support for Apple TV versions of games, and I’m not quite sure why. I’ve recently started developing on Apple platforms, but have been doing so with SpriteKit and Metal – and maybe this is the reason why – and my demos seem to work quite well on any device that I deploy them to. Further, SquareEnix didn’t seem to have any issues making Chrono Trigger work on the Apple TV as well as the iPad and iPhone (no Mac oddly enough). So why does the Apple TV get neglected so much? I just recently purchased Trials of Mana for iOS and not only does it not support a controller, but it also doesn’t support Apple TV. Why? It’s unplayable on my iPhone and barely passable on my iPad. The whole experience would be so much better if a controller were supported and the Apple TV were a viable host to play on.

Second, and I’ve already hinted at this, is the lack of controller support from the gate. As I’d mentioned previously, the newly released Trials of Mana for iOS doesn’t currently have controller support, meaning you’re relying entirely on touchscreen controls. For a game of this sort, you absolutely need a controller. I’ve plenty of recorded video where moving the camera with my right thumb is needlessly complicated and cumbersome because there’s no way to wrap the action. Genshin Impact, which I absolutely love, didn’t launch with controller support either. It only came to iOS several updates later after its launch. That game features fast-paced high adrenaline action, and you’re supposed to handle that with touchscreen controls? One game that had it right, I feel, was Call of Duty Mobile. They had touchscreen controls to be sure, and they’re pretty solid if still a little clumsy, but they also supported controllers right from the gate, changing the whole experience for the better. The thing that baffles me is that you have publishers and developers whose lifespan is well older than these mobile platforms, meaning that within their veins flows the blood of a controller-based interaction scheme, and when porting their legacy titles to newer platforms, it’s almost as if they’ve forgotten completely about having a controller in the mix.

Third, and finally, why does it seem like most of these game publishers and developers can’t handle cloud synchronized data? This is one of the aspects about Apple Arcade that I love a lot, especially because transitioning between devices is a necessity. The landscape seems to be a bit of a mess still. A few games I own flat out don’t support synchronization of any kind, requiring you to manually back the files up to your computer and move them to another device or back onto the same one should you need to DR the thing. Others will still only synchronize with a third party like Facebook, which was usually the result of not supporting synchronization in the first place and then tacking it on several updates down the line (and who the hell wants to use Facebook these days?). Bizarrely, some games do support synchronization, but it’s a manual action relegated to the title screen which is inaccessible in-game; you need to close the app and reopen it to have the option to trigger the action.

Even as my relationship with gaming metamorphoses from a serious to a casual one, I still feel a need to demand a bit of quality out of the games I play. This is doubly true both from publishers I have a tremendous amount of history with and from titles that I have respect for. These recent ports to mobile platforms don’t seem to do them justice, even if the justification is preservation into a new era of gamers or quick cash grabs. If the latter, at least make it seem like you’re making an honest effort, especially when you’re selling a game whose source material is at or over twenty years old. I start to buy into the memes that publishers and developers can grow tone-deaf to their audience, and images of the infamous Blizzard Diablo Immortal fail-conference creep in. I truly don’t mind paying a premium for software, especially since I know what it’s like to try and live off $1 per download for an app you spent months of man-hours creating. But is it too much to ask for a little more care and attention to your products?

Gist Publishing

I’m digging my way through the SFML.NET bindings, and creating a series of GitHub Gists along the way to illustrate both how to use the binding and patterns that I may employ whilst using them. These will all lead up to some shareware thing, eventually.

At a minimum, I figured I’d get these out there. It’s not clear to me what the user base of the .NET binding for SFML is, but I’ve been having some fun with it.

The gists on my page are all condensed into one file, but the solution file has them all broken out into individual class files. Further, SFML.NET is incorporated into the solution via NuGet. I have a two VS Templates: one that serves as a really quick demo base, and the other that uses my Game Core object as the launchpad for future endavours. If desired, I can share these templates as well.

The gists can be found at my GitHub Gists page.

Cheers!

VMware Workstation Pro and Device/Credential Guard Incompatibility Fix

Just wanted to throw up a quick distillation of how to accomplish this since it seems to crop up more often than naught.

The observable issue is outlined in this KB from VMware. It usually happens if one had Hyper-V installed on their computer, or any feature that relies on modern virtualization features such as Windows Sandbox (I think WSL leverages these features as well), and one wants to use any of the VMware Type-2 hypervisors.

The aforementioned KB references a KB from Microsoft that’s pretty convoluted and glosses over a lot of different scenarios for local and enterprise contexts. The local context is the one I want to distill here since I feel it’s buried.

The gist here is this: There is a PowerShell script you can download and run that will disable Device/Credential Guard automatically. You can download the PowerShell script here. Once downloaded, you’ll want to run the script with the following switches:

.\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot

Why Year of the Linux Desktop is Bullshit

The title of this alone speaks volumes greater than the exposition that’s to follow, and I’m sure that some of my peers are already bounding from the sheds with pitchforks and torches in hand, but I’ve never been one to not voice a concern even when the house is burning down.

Yet again, we in the Linux users community find ourselves at an interesting juncture. Microsoft has as of 14 January 2020 officially EOL’d Windows 7. As with XP before it, this will likely be a major issue for the immediate future considering how prevalent its use is in the desktop market (Gartner estimates still have Windows penetration at greater than 90%). As expected, most of the podcasts and reporting sources are cobbling together pieces to launch yet another slew of volleys, perhaps to rally the uninitiated to take another look at Linux if they haven’t already done so.

But, who listens to or reads these sources? Non-Linux users?

This nonsense of the Year of the Linux Desktop has been going on for as long as I can remember. And from working with those who have vastly longer tenures than myself in the Linux world, it seems as if it caught on well before my dive nearly fifteen years ago. From the gate, I too shared this sentiment. I had been a Windows user from the start, and although Linux was a monstrous beast to handle back then, I still loved it with all my silicon heart. And I, like every other witness, wanted to espouse my love to the world in the most compelling and boisterous method I could imagine. I’d rake myself through the coals of Hell to learn all I could about Linux, and while still salving my burns thought there was no way anyone else wouldn’t want to be a part of this. The computing revolution was here! Or was it?

Truth be told, the premises of either open source or free software were entirely lost to me until about seven years after I’d taken the swan dive. The fact that I was using something that wasn’t Windows, and that I could be as hardcore of a programmer as I wanted were the only things I cared about. None of this liberty crap mattered. Software wasn’t a first class citizen having attributes of sovereignty. I just wanted to be as nerdy as I could because I wanted to. The politics of software, which would come in much later, seemed to dissolve this juvenile yearning in me to a large extent. It wasn’t about being a nerd anymore. All of a sudden, it was all patents and licenses and codes of conduct and ruination abound.

So if it weren’t for being able to divorce the creations from their Gods, why would I want others to use Linux? To know and embrace it the way I had?

Two words: technological empiricism. I was a fucking God amongst men, a wolf amongst sheep when it came to sheer computing skill, and I knew it, and I was more than happy to get everyone else onboard, their readiness for the transition be damned.

Turns out, this wasn’t too dissimilar of a position for young bucks in my pool at the time. The early 2000s were ripe with young technologists who, after having done whatever it was they did to make the Internet the cultural platform it ended up being, just wanted to flex on the boys and girls as much as possible. We didn’t skip leg day at the gym, because we made the gym.

Even then, it seemed as if using Linux was a horrific experience. Most all of my peers were still using Windows 2000 and Windows XP, especially those of us who fancied ourselves programmers. Hell, the first commercial software I wrote was in VB 6 and was a team effort (which was hilarious in its own right). But I ported it to Linux on my own using the customary tools of the day: glibc, GTK, Glade, MySQL (MariaDB wasn’t even a thing then), etc. And guess what? It worked! But guess what, again? The damned customer was running Windows 2000, and that silly little abstraction layer, GTK for Windows, wasn’t going to be running this shit anytime soon. Besides, who statically links?

The horror of this for programmers was one thing, but the stage was entirely different for the pedestrian user. Games? Well, if you like spending hours playing AisleRiot, then Linux was the platform for you. I mean, why wouldn’t you want to trade playing WoW or Diablo for good old GNOME Mahjong? Total no-brainer. Office? Come on! That’s easy! OpenOffice (LibreOffice wasn’t a thing back then) was the killer app that could do EVERYTHING that MS Office did (this turned out to be a colossal lie then and still is now, despite everything that The Document Foundation does with LO; don’t believe me? Try converting a SMB to LibreOffice from MSO). Internet Browser? Oh just use Mozilla, because that was super compatible back in the day. Need to install some software? Just use the terminal!

Oh… wait. THAT thing.

We’ve already stumbled upon what is potentially the largest issue with Desktop Environments on Linux. What started as a detailed thesis in the form of a borderline anthropological analysis of why the current landscape of Desktop Environments sucks was boiled down to three quintessential matters, this being the first and perhaps the largest.

You know what’s unattractive to the pedestrian computer user? Terminals. You know what contemporary operating systems do a bang up job of getting those out of the way? Windows and virtually every OS that Apple produces for their product line. You know what operating system practically begs to be used nearly exclusively by the terminal? Linux. You know what Linux software doesn’t do at the terminal? Provide a consistent or coherent interface. You know what pedestrian users are most afraid of concerning their computers? Breaking them. You know what breaks Linux computers? Using the right command in the wrong context by accident. And without the aid of a witchdoctor who bears the scars from having mutilated themselves to possess such knowledge, those people are fucked.

Short: Every single Desktop Environment, then and now, does an absolutely piss poor job of abstracting away the need for a casual user to ever whip out the terminal.

But Greg, that’s all bullshit because there’s plenty of cases where a DE does what you’re saying it doesn’t! Yeah? Let’s through a few use cases here that the casual user takes for granted in other operating systems and environments that requires a terminal regardless of the DE:

  1. Installing a group of related software. In RHEL-derivatives, this is usually handled through groups in either YUM or DNF (modules in the contemporary sense). Guess what doesn’t show up in GNOME Software? Groups or Modules. In Debian-derivatives, this isn’t even a concept that APT knows about without first getting tasksel. And even after installing it, guess what doesn’t show up in GNOME Software? tasksel groups.
  2. Installing software. Despite the Windows Store being the hip place to get Windows 10 software from, it’ll never quite be the thing that Microsoft wants it to be because developers can’t distribute traditional binaries through it; they’re required to be repackaged in a fairly unintuitive manner. Ergo, with Windows having the Lion’s Share of the desktop market, pedestrian users have been habituated to installing software in the legacy fashion. And let’s face it, the Windows 10 Store is full of garbage in the same way that each mobile app store is. Guess how you can’t install software on Linux? The legacy method that every user is accustomed to. BUT WAIT, GREG! WHAT ABOUT APPIMAGE OR SNAPS OR FLATPAKS!? Bullshit, each of them. They’re great for those of us who’ve abused ourselves for years to get these programs to work otherwise, but you still run into issues with dependencies (try installing a Flatpak on CentOS 8 that requires X.264, only to find out that you can’t upgrade the base Flatpak installer because it’s about nine versions behind, or to do all of the manual hacking required to get certain Snaps permission to break their cells and access otherwise inaccessible resources on a system (virtually anything that installs with the –classic switch)). But surely, anything you install from the software store that comes with the DE you’re using is good enough, right? Yeah, it usually is, for the most part. Until one realizes that you can’t get a piece of software that you would otherwise have obtained on either Windows or Mac without incident. You want Google Chrome? Not available without downloading a DEB or RPM. Need some AV codecs because you can’t view DRM content or Flash content? Guess you’re adding some repos (you know, because EVERYONE keeps their AV in OGG or Theora, because those are solid and x-plat formats).
  3. Troubleshooting DE. But wait! Didn’t know that the DE runs atop a Window Manager? Didn’t know the Window Manager runs atop a Display Server? Don’t know how to change VTYs when the whole thing goes down the shitter? Oh well.

The next point: the DE themselves miss virtually all the targets required to hit to render a casual user experience viable. I get so sick and tired of hearing people claim that the current landscape of choices in not just Linux Distributions but DE are such a good thing because, as one Matt Hartley put it, “One man’s perfect distribution isn’t another man’s perfect distribution.” Bullshit. Total fucking bullshit. I don’t even know where to start with this.

I can’t resist the urge to address the elephant in the room here that trespasses onto the larger, slightly relevant, topic of Linux Distribution Saturation. The question is this: if I download Ubuntu and make some minor tweaks to user land, does that actually mean I have a different distribution, further that it warrants creating a whole new entity for consideration and download within the Distribution Space? The crux here? Most Ubuntu-based derivatives are still using the fucking Ubuntu repositories. I can’t stress that point enough. If a distribution is supposed to be, at its core, Linux with a swath of software available to make the user experience more concrete, and you’re not offering any different software than what’s available upstream, why the fuck are you creating a distribution? Changing a handful of packages, or forking because you’re butthurt about the init system used, isn’t a new distribution. Why do we think it’s okay to do this? Why do we have over fifty Linux Distributions to choose from? How is this indicative of offering clear choice to outside users? Plainly, it isn’t. It’s offensive to not just those in the community, but mostly to those outside.

Off the top of my head, these are the DE that I can think of that are available to choose from: GNOME, KDE, MATE, Cinnamon, Unity (if you’re still using slightly older versions of Ubuntu), XFCE, LXDE, LXQt, CDE, Budgie, Enlightenment, Razor-Qt, Pantheon, Lumina, and that one that Deepin uses, which I think is just called Deepin. Each of these expresses colloquial desktop metaphors in different ways, each has their own quirks about customization, each has their own methods for enterprise considerations (actually, most don’t even consider this, and if they do, the implementation is fucking horrible and unmanagable at best), each come with their own suite of tools that functions differently than the next, etc. I can’t go any further here without wanting to throw up. The fact that only a select few of these come close to being inviting to a casual user is appalling, and even these fall fatally short of the root objective, amongst many others.

It’s worth pointing out that although most desktop metaphors aren’t codified in anyway, that doesn’t mean that casual users are malleable to the point of wanting to abuse themselves endlessly to use their computers, and you can foist whatever you want in front of them. For fuck’s sake people, we’ve had traditional metaphors being expressed since GEM, and although it might be time for some change, tell me how well that’s worked out for you on the desktop form factor? Why take something that works, something that people are accustomed to, and not just break it, but irreparably obliterate it?

Oh, and here’s the other hilarious spin sold as a positive about the Choice Paradox concerning DEs: if you don’t like the one you have, just get another one! Blech.

  1. This is an unbelievably moot thing to say to a casual user. None of them view this as a benefit. Being accustomed to just using the computer, it doesn’t dawn on any of them that Explorer is a shell as much as it is a file manager, and that it can be customized or even replaced (unsure if this is true for Mac). Whatever they see first is what they’re stuck with. End of story.
  2. Even if you manage to get someone beyond this point, just how do get another DE? Do you install it alongside your existing one? Do you get a fresh distribution flavor? If the latter, you better hope you partitioned your system correctly, otherwise your shit gets blown to kingdom come.
  3. Having multiple DE running parallel on a single installation is a fucking nightmare.
    1. The only real safe way to install an alternative DE is to get it through a group in your default repositories. See aforementioned point about installing software groups. If you don’t see it here, you’re already about two-thirds the way jumping the shark.
    2. Once you get it installed, you’ll likely have to compete with the idea that your distribution will have a strong preference for the Display Manager. Wait, what’s a Display Manager? Oh yeah. Forgot to mention that little bit. The program that logs you into the computer? That’s the Display Manager, which is yet again an entirely different component. Anyway, for example, CentOS has a strong preference for GNOME Display Manager (GDM). Even if one installs the KDE flavor of CentOS, you’re still going to be using GDM rather than SDDM. To put the icing on the cake, let’s say you’ve got a system with both GNOME and KDE on it with GDM as your DM. You have to know enough about GDM to know that you need to change the session type to KDE Plasma instead of GNOME Shell, because if you don’t change it, you’re going to keep using GNOME Shell.
    3. If something goes wrong, or if you just decide on a DE you like and wish to exorcise the alternate beast, good fucking luck. Pulling a DE out of a running system is like getting a steak out of the throat of a lion. Sometimes it can be easy, others run you the risk of crippling your system if you’re not paying attention to how the package manager is resolving dependencies for removal. Guess what can’t pull these out safely in some cases? Graphical software managers like GNOME Software or Discover.
    4. If you decide you want to be like Lois and Clark and go deep in on running multiple DE in parallel, you’ve now got an issue where you’ll have multiple programs that do the same damn thing. There’s nothing cooler than looking for a terminal emulator and seeing Konsole, XTerm, and GNOME Terminal all at the same time. Sometimes I want to look for files using Dolphin, but other times Nautilus gets my gutchies that day.

This had to be obvious to someone at some point, because we have distribution flavors. Ubuntu has several: Ubuntu, Kubuntu, Xubuntu, Ubuntu MATE, and Ubunty Budgie (Kylin sort of doesn’t count here). The reason why these flavors exist? Ubuntu gives you GNOME Shell, Kubuntu gives you KDE, Xubuntu gives you XFCE, Ubuntu MATE gives you MATE, and Ubuntu Budgie gives you Budgie. This. Is. The. Only. Reason. These. Exist: to isolate the DE from each other for a hopefully more gooder experience than if one were to use Ubuntu and install KDE inside it.

How is this feasible? How do you attract users to this? How is it EVER going to be the Year of the Linux Desktop? Can we please stop this nonsense madness of blindly repeating ourselves about dominating the desktop space? It isn’t going to happen when things look like this. Not. Fucking. Ever. All we’re doing is circle jerking with ourselves in a fantasy where we can finally say we came out on top. If we want desktop dominance, which may never happen, we should at least attempt to start with these goals (IMHO):

  • Standardize. There’s nothing more annoying to a casual user than too much choice; Choice Paralysis is a real thing, think buying toothpaste. Maybe this means consolidation. Maybe this means a new project whose focus is on these things.
  • User Focus. Make a product whose core philosophy is the user and their experience rather than an experiment with cool code. Software shouldn’t abuse users or require them to abuse themselves.
  • Ease of Use. This should’ve been a no-brainer, but methinks the horse died some time ago and we just agreed to leave it be and not replace it. Anything that could be done at a terminal should be able to be performed through the UI, no exceptions. Metaphors are not play things. We have established ones that work considering the form factor, so fucking use them. They work for a reason: they don’t assault the user.
  • Customization. It should be EASY to customize your environment, and it should also be EASY to sell to an enterprise for adoption. It shouldn’t be a fucking sell of a nuclear power plant to get people to use this technology.