Joyful Software

Hey folks, in the spirit of waxing philosophical, I’ve been musing over what makes software enjoyable to use and came up with the following list. Wondering how you might see it differently and/or what you’d add or take away.

  • Software doesn’t cause pain.
  • Using software over time creates a sense of mastery.
  • The software doesn’t fall short in doing what it’s trying to do, and it doesn’t try to do everything.
  • Software features elegant design, clever interactions, moments of delight.

Edited to fix typo.


I like this list a lot. The first one I thought of, even before reading your list, was CleanShot X and Permute. In the words of Marie Kondo, these bring me joy. They do what the need to do, they were pretty easy to feel like I’ve mastered them, they do what they do well, and they are relatively pretty to look at.


This is a great list. I might add software that anticipates your next action. iOS has a couple of these little interactions that bring me joy every time they happen.


Please describe!

I can give one. When in Siri Search on iPhone or iPad (I activate it by swiping one finger down on an empty space with no app icons on the home screen), Siri suggests some apps. Over time, it learns and the suggested apps take into account what you do at what time of the day and your location. It’s like the phone can read your mind. I made sure to not fill my home screen with widgets or apps just to have enough space to activate that, I launch everything from there!


Yes, I’d also like to hear more examples of this! I’m working on my first app to submit to the App Store right now and would love to try and find those kinds of moments.

Automatic wifi sharing which happens automatically with someone who is in your contacts and on your network and making text/sms verification numbers available automatically when you need to paste them into a form field are a couple I can think of.


Would this be a moment of delight? Or is it its own thing in your experience?

I had something to add, and then I realized it was really covered by your last bullet. I appreciate apps that employ some feature or user interface that surprises you (in a good way) that the developers actually thought about how a user would do something and provided a clever mechanism for making that happen. I think that is not an addition, but comes under the category of elegance.

I have two favorite apps that I think are paragons of the points you outlined: Paprika 3 and TripIt. Both of those apps do their jobs and do them so elegantly, that I just love using them. I’m never frustrated or negatively surprised by something that happens in these apps. Both of them work in quasi-mission-critical situations where it would be terrible if the apps failed you (e.g., while cooking Thanksgiving dinner or while traveling to, around, and from the jungles of the Yucatán, where I was last week!)

1 Like

I think there’s 2 parts (which upon reflection are largely a rewording of your bullets):

  1. Software designed entirely focused on the experience of the user. That every interaction makes sense on it’s own and within the context of the system an application makes up.
  2. Surprise and delight. Dunno who was the first to say this, but I think this encapsulates a couple of things.
    • Things that “just work” which fit into 1 (your desire being fulfilled by the app in the way you subconsciously thought of doing it), the fact that it worked exactly as you expected is delightful
    • Breaking user’s of the fear of messing things up. One of the things I constantly hear from less technical minded folks, is the fear of pressing the wrong button, key, and suddenly what they were trying to do disappeared, was deleted, is wildly zoomed in, etc. Software that invites users to play, explore, all without the fear of messing up lightens the weight of using it.

p.s. Another great description, “graceful complexity”

1 Like

The one that I remember that was so intuitive that I laughed out loud the first few minutes of using it was the 3D drawing program Sketchup.

It’s hard to describe the interactions, but they are what you would expect to happen (which is the exception, rather than the rule).

Draw a square.
Pull on its surface, and now it’s a wall.
Draw a rectangle on that wall and delete, now there’s a door opening.
Draw a circle, pull on the end and now it’s a cylinder.

It also seems to “know” where you want lines to match other things you’ve drawn, so if you add a second door to that wall above, it will help you make sure they are the same size.

You could describe it as so. In my own sense of that word I could apply it pretty broadly in the software context.

I enjoy it, if an app is doing routine things, like updates, syncing and so on, in the Background without interaction.
Also I like it, if I could adjust the UI to my needs. So placing often used functions where I need them, and hide functions I seldom or never use at the same time.

Such a great thought exercise @beck!

This is probably a subcategory of something you’ve already covered, but I’ve been thinking about internal search a lot lately after writing about a podcast that delved into the topic.

Software that uses search effectively and presents the data in a hierarchy that is easy to understand makes the tools more enjoyable. As I said, this may fall under mastery or another category too.

CleanShot X definitely – it’s simple, powerful, and very useful. Compared to Soviet-style apps that do screen grabs, like SnagIT, I like the graceful fell of CleanShot.

But my top joyful app is Curio. I sometimes find myself inventing reasons to open Curio because I just enjoy using it. I do some pretty complicated projects with Curio and it always seems weightless and elegant.



Everyone who I’ve introduced Paprika to LOVES it!! Even non-geeks.


What are you doing with Curio ?

Client things, for tech company acquisition analysis and strategy, the content of which I cannot describe. These projects involve concept maps (Curio calls these “idea graphs”) with cross-linkages between notes; notes linked to external files from Obsidian and DEVONthink that are dragged into Curio as aliased transcluded text (which can be edited in Curio as well as their original locations); and lots of graphing and diagraming. I also embed Numbers, Keynotes and Pages documents into the projects for composing reports and referencing them there. As well as research from PDFs stored in the Curio projects.


1 Like