Meadow

On the making of tools

If you found your way to my blog, then it's likely you came here from one of the tools I've made rather than through more conventional means like Bear's Discover page. While the tools have indeed gained me some exposure, that's not the reason I made them.

Why then? Well, out of sheer joy, of course. For me, there are few things as satisfying as making your own tools—being able to tell yourself, "Yeah, I want something like that," and then going ahead and creating it, watching it slowly evolve beyond your original intentions.

I'm a software developer by profession, and I do quite enjoy it. I understand that many people are not technically minded or at least don't know much about programming. But let me tell you a little secret that people in my profession might not want you to know: programming is really not that hard. Oh, it can get very complex and theoretical if you want it to, but for simple tools, you don't need any of that. In fact, all the tools I've made forgo complex patterns; their functionality is dead simple, just composed in clever ways.

Anyway, I don't intend for this to become a post about how to program. However, having given you "some rope," I'll also provide some pointers on where to begin. If you know absolutely nothing and want to create a web app in the spirit of Guestbooks, take a look at Ruby on Rails (used by Mastodon) or Django (used by Bearblog). If you want to dive deeper into programming, I know of no better resource than the free book The Nature of Code—a treasure trove of wisdom that's still useful to me after over ten years of experience.

If you need help with anything, send me an email! Really, you're not bothering me. There's nothing I enjoy more than helping people :)


I made all these tools for myself, yes, and the joy of being able to use them is its own reward. There's something freeing about creating without having to think about how you'll monetize things. In our culture, it seems we often think that if a software tool is not monetizable, then it's a failure. But that's not true! Besides the fact that adding monetization raises complexity exponentially, it also costs you your creative freedom. There's an implicit contract: if I pay you for some functionality, then I expect that functionality not to change.

Of course, I'm blessed in that I don't need to monetize these things, and perhaps not everyone can afford that luxury. And that's fine—you do whatever you have to do. What I'm saying is that you shouldn't create a tool just to make money (even if it is a viable source of income) simply because you feel it's expected.

Then there are external users. I was especially surprised when I noticed that many people are using Guestbooks on their own blogs (98 as of right now!). I visit some of their sites occasionally and am continually amazed by all the creative ways people have been using and embedding them. There's even one site that edited the embedding code slightly and created something akin to a single-threaded message board.

To me, that's truly satisfying—putting something out there and seeing people use it in ways you never directly intended. It's mind-boggling when you think about the scale. For instance, consider our own Bearblog, a project primarily developed by one person. Think about how many blogs it hosts, how many people have read them, how many lives have been impacted because of it, how many interactions, how many connections.

And that's true for every great tool. It's a tool for humanity rather than for a select few, and it "above all" enables and fosters connections.

It reminds me of a quote by Malcolm Guite about poetry, and how, when you put it out there, it becomes something other than what you intended—it takes on a life of its own.

"As soon as the poem is even conceived, it begins to take on a life of its own: even in the literary womb, it gives its mothering poet the occasional lively and independent kick, and there is certainly some labour in bringing it to birth from the mind to the page. And, just as one’s children start to grow up, make their own friends, and develop their own tastes, so it’s fascinating to watch a poem, once it’s been published, making new friends, who draw insights from it which you missed yourself the first time round."

Finally, finally, I want to say that if you're using "indie tools" made by everyday folks, then you're awesome. And if you prefer tools made by corporate giants, then you're awesome as well.

#creativity #programming #wordvomit