The Joy of Silly Useless Software

I was invited by the wonderful organizers of the “Gamez & ruleZ” conference to speak. I’m grateful to have been given an opportunity to discuss a topic that I’m passionate about: silly software (like desktop pets or other unusual programs that are hard to classify).
Following is my talk turned into a blog post. There are a lot of recommendations here, and I hope you enjoy these wonderful, strange, silly finds…

As you may know, I’m an experimental game designer, and make weird software that kind of exists in the space between games and “something else”. It’s the type of work that is difficult to classify, or really describe because it often does not serve a “use”. Calling something a “game” means that there will be goals, a story, something larger to justify its existence. Calling something “software” means that it will serve some kind of use to the person running it. There is this very niche area of programs that you run just for the joy they may bring, the sake of a practical joke, or the novelty of how they behave, that I’m going to discuss…
I’ll go over some of that computer history that I experienced, when such software concepts were still fairly new and larger corporations were even willing to experiment with it. I think this is a formative era when it comes to games and software… It certainly informed my work, and the way I view computers.
I am talking about the late 90’s and early 2000’s… With this talk, I hope to inspire you to keep the dream alive!

Software can be silly, useless, and dumb, just like games!
Software can bring joy to our otherwise cold and utilitarian digital world. I am talking about the things that exist just to brighten up our otherwise impersonal productivity related spaces…

When this is discussed we often fall back on older examples that heavily evoke nostalgia, but I’d like to show that this is still very much current.
I’ll show some recent modern examples of what I am talking about…

While you browse the internet, you occasionally find something weird and wonderful with how a website works.
You know, some detail in the corner, something interesting a status bar or button are doing… Usually you don’t really make note of it… but I encourage you to start paying attention to that and to how that makes you feel as a user.

More likely than not, you will be delighted, which is a feeling that I think is a necessary thing to bring back to software today. Our spaces can and should delight!

Links in this slide:
* vscode-pets

A great starting example is vscode-pets.

An adorable addition to Virtual Studio that will add a tiny virtual pet to your coding editor. It even includes Clippy.
I think this is a wonderful example.
When you code, you know you are dealing mostly with just text. I would assume anyone that makes a coding editor knows that it should be purely functional, free of distractions, and ideally centered around the task of coding… so I think it is novel that there would be any interest at all in something like a Virtual Pet for a coding environment. It’s fairly popular too!
If it were true that people don’t like these things, that digital spaces should “just work”, and be centered around optimizing a certain behavior (like user output, in the case of creative software), then why do people like this?
Why do we desire things like digital pets?
Things like this serve the wonderful function of making our digital spaces feel less alone.
They have a transformative quality to them. I’ll be saying that word a lot…

I would go so far as to contend that it even helps “productivity” when there are these tiny intentionally sought after distractions: like a digital friend that you chose to run.

It also speaks to the power of something like Clippy that, even with how people joked that it was annoying, it still is remembered. There is something to that. Why don’t we necessarily remember the word processor, but we remember this silly annoying little digital entity?

Links in this slide:
* Wikipedia “Office Assistant”

For those that don’t know… Clippy was an office assistant for Microsoft Office. It would offer tips for writing, or navigating through software, by giving you these little prompts.

According to the Wikipedia page:

“The feature drew a strongly negative response from many users. Microsoft turned off the feature by default in Office XP, acknowledging its unpopularity in an ad campaign spoofing Clippit. The feature was removed altogether in Office 2007 and Office 2008 for Mac, as it continued to draw criticism even from Microsoft employees.”

That failure is worth highlighting. It also highlights the failure of many of these virtual presences at the time.
Clippy came WITH Microsoft Office. It was a default, and kind of felt like it was forced on people, therefore it garnered the reputation of being “annoying”. That’s an important distinction to make when discussing these things, and why they may have failed in the past…

I think it’s important to underline that something like VSCode-Pets, or really any digital pet project, has an advantage over Clippy in that we seek it out and therefore give it permission to run in our environment.
They are an extension to our digital world, not necessarily included in it.
If you view them as a type of customization, then you understand why people want them.
The same reason that Winamp Skins were so popular. We want to customize our digital worlds. Things like desktop pets, or other useless silly software, empower us to do that.

Links in this slide:
* @ChristianSelig’s Tweet
* Appolo for reddit
* Winamp Skin Museum

Another great newer example, that exists in the mobile phone world is Dynamic Island Zoo.
This adds a cute little virtual pet to your iPhone’s island…

I think this is important to highlight too because this isn’t just a desktop phenomena. People have a desire to extend what they have. To add some life to these spaces. This desire manifests anytime you give someone some digital environment they should exist in.

Things like this also highlight that in many ways we lost an understanding on how important “customization” is to people. In the early 2000’s, when Windows XP was new, people would customize the desktop to no end. They would seek out themes, ways of changing the bootup screen to some silly Simpson’s picture, share tips on how to change the “Start” menu word to something silly like “Fart” so it would be the “Fart” menu… Whatever ridiculous combination of things to “glow up” your digital environment.
MySpace themes came out of that. People would customize their MySpace pages to no end. Websites still allowed people to differentiate and show their identity in that way.
However… modern social media, and most modern environments like the iPhone, have shifted to be a space that protects the brand of whatever you are on. It’s harder to make a space “your own”, and you get a sense that when you are on Twitter, you are browsing Twitter, not necessarily your corner of the web.

So things like the type of software that I’m describing, still allow people to take some of that power back and inhabit their virtual spaces the way they want.

Links in this slide:
* Touchbar pets
* Touchbar pet on Github
* Daisy – Dock Companion
* RunCat

Also relevant to MacOS is Touchbar Pets.
These are pets that live in the little touchbar above the MacOS laptop keyboard.

As you can imagine by now, there are so many examples like this. There is a little dog called DAISY that will live in your macOS icon tray. There’s a cat that can live in the macOS menu bar…
You can essentially collect these things and have something cute living in any part of your computer… at that point you’ve constructed your own world inhabited by many little delightful things!

I think it’s worth underlining again how relevant these things continue to be. Desktop pets have been around for a long time. Talking about them has come and gone out of style, but people still search them out, make them, and communities still exist around them.
Once you start digging into what exist out there, you fall down a rabbit hole of silly useless software that is relevant just because it is useless.

Links in this slide:
* desktop pets & virtual companions collection
* About desktop pets & virtual companions: discussing the inhabitants that fill the void of our digital spaces
* Make Tiny Weird Software, Please! (all about desktop pets, old computer eras, and virtual toys)

I have a collection on that tries to keep track of what indies are doing… It seems endless. There’s so much.
I’ve also done a lot of writing on the history of desktop pets, and such software, so if you are interested in something more in-depth the links are in this slide…

* Demo of the Rive App “get started” button

Occasionally while browsing the web you find things that stop you and delight you with an adorable presence.
An example like Rive App’s “Get Started” button which has a tiny cat paw that chases the mouse around if you get too close.
The “Get Started” buttons on Rive’s website serve to illustrate the capabilities of the software. Rive is an animation software for the web. You can use it to make interactive animations. Outside of demoing what is possible, the buttons are unobtrusive, but still manage to delight. It’s a great example of one of those little “gems” that you sometimes encounter when browsing websites.

Or, in terms of actual software that implements some of the design philosophies that I’m discussing here, you have the new StimuWrite.

StimuWrite is a companion writing app for people who are neurodivergent, addicted to social media notifications, or would benefit from extra stimulation and feedback when they draft and take notes.

While you write, StimuWrite provides visual feedback in the form of a progress bar and emoji that evolve as you hit your word count milestones. If the enviroment is still too calm for you to focus, you can add a video background to simulate being in a cafe or floating in space.”

When StimuWrite was announced on Twitter I was blown away by its reception. People loved it. Not only was there interest, but a need for it.
It’s worth underlining that it’s a writing app with lots of visual feedback. In itself, if you said that out loud, it would sound like a bad idea, but it’s necessary. It offers an environment that is visually stimulating, the opposite of calm, to help people that need extra stimulation.

This one I think is valuable because it’s a very self-aware solution to help neurodivergent people who need this type of space to make work in, and it also underlines how standard software can fail. The one-size-fits-all solution to UX and our usability rules are often not as inclusive as we think. So this is a wonderful example to delve into for exactly this.

Sometimes “breaking the rules” is necessary because you have to ask who these rules are even designed for. Not everyone can thrive in these very standard environments. This is a big reason why I think it’s important to look back at older era software and kind of re-examine what we lost in our march toward progress.

Is uniformity progress?
Who are we alienating?
Sometimes making things goofy is more user friendly than you think!

So all these examples underline just why diverging from our commonly understood usability rules, UX guidelines, and all these conceptions about what is or isn’t approachable software design… that an environment needs to be purely functional… can maybe be too alienating.
People have a desire to play. Software can be this too.

This is that wonderful intersection between game design and software design!

In terms of my own work, as software design, I have explored concepts similar to StimuWrite too. My best example is The Electric Zine Maker… You can download it here, or watch the short demo below…

I’d like to highlight that, with the Electric Zine Maker, creating a playful and silly environment that stands as a strong contrast to other productivity oriented art software was important. Software has this looming pressure to create output, with the fixation on quality.
Something like the Electric Zine Maker is intentionally designed to make you feel like this is low stakes, and it’s OK to just tinker in it.
Most of the tools are designed to feel like “toys”. It’s a space that encourages you to click around, see what happens, laugh a little, then find use for the silly things. It exists in this space of balancing actual functionality expected of art software (drawing, writing text, importing images), but offers extras that encourage you to play (glitch tools, a water feature so you can splash around in your art, animated gif brushes…). The UI is built to make you feel like this is different. There’s visual feedback…
One of the biggest comments about the Electric Zine Maker is that it has helped with writers block. The silliness of it is therapeutic.

So, I think an interesting takeaway from all these modern and current examples is: there is value to be had in embracing silliness.
People are delighted when software has these adorable little quirks. It has this humanizing transformative quality that we often lack in modern software.
Exploring why this matters, and continues to stay relevant, can span as far back as the early days of computer culture. There’s value in learning from that past and why that was such a big deal.

Another failed example worth analyzing is Microsoft Bob.

Links in this slide:
* Microsoft Bob Gets the Last Laugh
* Bob is dead; long live Bob
* Wikipedia “Microsoft Bob”

According to Wikipedia:

“Microsoft Bob is a Microsoft software product intended to provide a more user-friendly interface for the Windows 3.1x, Windows 95 and Windows NT operating systems, supplanting the Windows Program Manager. The program was released on March 11, 1995, and discontinued in early 1996. Microsoft Bob presented screens showing a “house”, with “rooms” that the user could go to containing familiar objects corresponding to computer applications–for instance, a desk with pen and paper, a checkbook, and other items. In this case, clicking on the pen and paper would open the word processor.

A cartoon dog named Rover and other cartoon characters provided guidance using speech balloons.”

Microsoft BOB is worth mentioning because this is what led to Clippy.

Overall, initiatives like this came from a desire to offer people a customizable virtual space. To turn the desktop into an actual home, and give people a space that they could fully customize and kind of “live in”.
I think it failed because of the lack of choice it offered users. Albeit, it was the start of something.

It’s a type of mentality that stayed alive well into the early 2000’s. A good example where this really flourished are Winamp Skins. Winamp Skins worked because the customization was personal to the person that chose it. It wasn’t a universal experience that everyone had to endure. If you wanted something weird, you ran it for yourself.
Unlike MySpace themes, or personal websites, something like Winamp Skins is private facing, instead of public facing.
Again, that distinction when it comes to silly software, is important.

Today, modern software and our User Experience rules, are built around the most common denominator. What the general pool of people that use it need. So you have these very refined but conformed experiences. That march toward perfecting a certain experience can be alienating to people.

There are aspects of these older spaces, even the failed examples, that illustrate a type of mentality, that can translate into the way our games or software occupy a space on our desktop… in an intelligent and self-aware manner that can better a person’s digital life.
When you make a tiny little thing that runs in the corner, making silly noises, or just built for the sake of a joke, you are empowering people to break out of that uniformity. It’s transformative.

I’ll show some examples from my own work…

* Jump Scares For Your Desktop

Jump Scares For Your Desktop presents itself as a “ghastly entity that will haunt your desktop”, and the page reinforces that this is indeed terrifying. It is not for the faint of heart!
Once you actually run it… it’s a cute little ghost that jumps around on your desktop making silly “booo” noises, occasionally talks about the nuances of being a ghost, or falls asleep. It’s unobtrusive. You can run it while you work. It cheers up your space with something built to be as adorable as possible.

*’s desktop fish is an ARG-like browser adventure game that tasks you with finding out what happened to “the fish”. You search through a series of websites, talking with silly website entities (such as a virtual vermin that is eating the site), in order to find “the fish”.
Eventually the game gives you an unlock code and leads you to an abandoned page (itch is part of the game). If you run it, it will give you a story of what happened to “the fish”. Salvaging through it’s remains you find what is left: a cute desktop friend.

I like this example because, to get this desktop friend, you play an online game to find it. This friend is essentially the reward for finishing the online game.
This way, the game can live on in this new context of “a friend existing indefinitely on your desktop”.

The little fish has a number of states. It will sing to you, “disappear” and you have to find it (like hide and seek), fall asleep… It will also be scared and you have to comfort it. If you close it, the fish will swim off screen, and then the program exits.

* The Stray Cat from is filled with hidden extras, little tangents, and silly “fantasy internet” characters to talk to. You can find an abandoned open directory when browsing Tetrageddon, and if you search through it you find a “stray cat” that is hiding between some Emoji houses… The stray cat leads you to an page where you can download it.
It’s a digital stray cat that you can adopt and it will live on your computer. You can pet it, or pick it up. It will make cute noises as it wanders around on your taskbar.

* pet_cursor.js

A while back I was exploring ways of making the website cursor behave like a “playable character”. Most things out there use javascript to hide the cursor then change it to a graphic. I wanted to use the actual CSS cursor property.
Pet_cursor.js uses the CSS cursor property to create something like a “flipbook” for your cursor, and control states based on mouse direction (the cat running up, down, left…), what it’s hovering over (the cat will scratch links or other things), or if your mouse is still (the cat cleans itself and falls asleep).

I like this because it’s just built to be absurd. It would be annoying if you used it on a “serious” website, but people will visit the page just to play with it.

Context of when you apply these things is important!

* Electric Love Potatoes

A long time ago I made this joke software that lets you run a potato in the corner of your screen. It is fundamentally useless (it’s just a potato), but the potato will twitch and occasionally shower you with compliments, sing to you (there are many songs), and generate a potato recipe.
It was a joke that really took off. Streamers were making silly reaction videos to it.
I made a version 2.0 that had more features, and even a music player.
The Electric Love Potato is also featured in the Electric Zine Maker.

* Cyberpet Graveyard

Cyberpet Graveyard is a “desktop pet” example where the concept was taken a lot further.
This one is interesting because I turns the idea of desktop pets into a “game” that you can play on your desktop… exploring a series of folders and discovering these pets. This essentially transforms the act of navigating through folders, and opening programs, into a playing field for telling a story.
By searching through the folders you uncover the “mystery behind Cyberpet Graveyard”. The folder structure is treated like a “chose your adventure” game.

Another example like it is…


A_DESKTOP_LOVE_STORY is a love story told between two files in two separate folders. You get them to fall in love with each other by helping them pass love notes between each other (little text files or images that the programs generate). The individual programs are aware of what you put into the folders and will react when they get notes. There is actual state, and a story that is progressed through. This is novel because the “game” is not contained in a single program, it’s actually played between real folders and separate programs that you run.
When the two programs finally fall in love you have to put them both in the same folder and they will live happily ever after… It’s very unique and I’m surprised it was doable at all because controlling state, and progressing through an actual story, like this was near impossible.

Links in this slide:
* alienmelon’s desktop pets & virtual companions

I’ve made many things like this.

I think the range of complexity for these is interesting. For example, the little ghost or the cat cursor are just additions to the digital space. They exist in the background and can run as you do other things.

Cyberpet Graveyard and A_DESKTOP_LOVE_STORY are different in that they use your digital space (the desktop) to tell a story. That “blurring” between the fictional OS and the real OS using the way this silly software exists on it is fascinating to explore. This is why I say that desktop pets, this type of software, can inform the games you make. Games don’t have to just exist in a standalone .exe, in their own isolated window. They can spill over. They can exist on the system in an intelligent way. This opens up so many doors!

This is the transformative power of this type of software. It changes the way we perceive our systems and exist in our digital spaces.
They delight. They exist just to bring joy to people!

There is this amazing possibility space to be found in embracing these older software philosophies of customization, play, and silliness. It amazes me that, even if features like a tiny cat hiding behind the “Get Started” button are technically useless and don’t exactly enhance usability any, people love it. They stop to play around with it. It brightens the space it exists in.
It also speaks to the value of something like a “virtual pet” when, even after the passing decades of these concepts slowly being viewed as obsolete or a dead trend… there are still people making them, and there are still people seeking them out and using them to brighten up our virtual world.

It’s fun to see that developers of desktop pets occasionally joke how TikTok found “their old pet” and suddenly it has a massive influx of interest.
People want to make a home of their digital spaces. Software can and should be more than utilitarian or purely functional.

I would go so far as to contend that software that is designed to be purely functional or utilitarian “fails at good UX” too. I’m not necessarily saying that one should go all out and make work like mine (with screaming sounds, and maybe too much animation), but I’m saying that there’s a balance to be had. That we can have silly little things and people love them.

As much as people joked that it was annoying, maybe Clippy was onto something. Maybe Winamp perfected it.
These tiny software trinkets empower people to customize their virtual environments by adding something personal, something unique to them. Just like functional software that is optimized for productive output, silly useless software is also a necessity. We need joy!

Desktop pets are an iconic example of this. They are the starting point to exploring a design mindset that can be very creatively liberating.
What is our relationship to the digital space that we are in?
What does it mean to live and exist in one?
What relationship does the software we design, or the games we design, have to this space?

We often look at work that nods back at the early web, or early computer culture, as “nostalgia” but I think it’s a lot more than that. Saying “nostalgia” is kind of missing the point.
It’s about an era who’s values we can still learn from and reflect in our current work… Bring back the weird. Make useless software.
Let’s bring joy to people’s spaces!

Thank you!!