About Archives RSS Kinopio
design
life
biz
learning
engineering
glitch
kinopio
tools

Subscribe to New Posts by Email

 
Subscribing…
Subscribed
Error
  • Jul ’25 How I Do Support and Community
    tools

    I could see myself running a hotel. A little world where the architecture is otherworldly. And of course, the service is impeccable – because nothing matters more in any business than how customers are treated.

    Agbaria-House-by-Ron-Fleisher-Architects
    (source) I collected this photo as inspiration ~14 years ago. Feels good to finally use it.

    But while it’s normal for one night in a hotel to cost ~$300, most people expect the price of a month of using pro-grade software – some of which cost millions of dollars to produce and maintain – to be closer to a cup of coffee. That’s because software is inherently a volume business. While I’m busy fixing something, the app is still being used by everyone else. And when I ship improvements, everyone benefits.

    Does it make me feel better when Kinopio is more reliable, lighter-weight, simpler, more powerful, and faster? Well, I’ve been happily doing this kind of tuning all month. And honestly, if I could afford to, I’d keep doing it forever.

    When it comes to volume, Kinopio is in this awkward puberty phase, where it doesn’t have enough paid users to be completely self-sustainable yet. But I also get bug reports, feature requests, student discount requests, and emails from really nice people telling me how much they love Kinopio, everyday.

    So as much as I enjoy improving code, I also know that my primary focus right now really should be on helping new people find Kinopio – and giving them a really inviting first-impression when they do.

    Switching my brain from coding-for-computers to writing-for-humans is a violent gesture. It takes a lot of force and focus to pull that rusty mental switch. So when writing mode finally does click on, I’d like to stay there for a while.

    But staying away from code gets tricky once daily support requests start rolling in.

    People have this perception of a founder or a CEO as someone who floats above the business, separated from the day-to-day so they can think high-level thoughts about high-level things. But especially if you’re building organic software, you’ll be sneaking peeks at the sky, while wading knee-deep through mud. The way I do it, it’s not a glamorous job.

    1913 pixel art

    How influencers picture founder life.
    (I
    hand-traced this from it’s 1913 source using Dottie)

    It’s all too easy to over-optimize the support process. With the incantations provided by enterprise help-desk software, you could cast a barrier that only lets people contact you if they’ve searched the docs first. Or you could make them go through an annoying chat bot trained on those docs. And if someone is patient enough to clear the hurdles, you can effortlessly respond with a fully automated reply.

    ff7 materia playing card
    In Final Fantasy 7, the Barrier spell protects you from physical damage. In 2025, help-desk software protects you from your customers.

    But treating support like a bean-counter really is missing the forest for the trees. One of the major benefits of buying products made by actual people is the expectation of being able easily to reach out to a real person if you need help.

    If you’re not beholden to short-sighted investors, and you’re willing to consider the unmeasurable, and act long-term, then support becomes an opportunity to grow a community which changes the relationship between creator and customer from 1:many to many:many.

    I don’t know how unique or interesting my approach is, but here are the tools and habits I use to stop support from becoming overwhelming, without compromising quality.

    Embrace Contact

    The primary purpose of the help site isn’t to reduce support – it’s to have URLs that I can point people to for commonly asked questions. Some people prefer to use the site to look for answers on their own, while others prefer direct contact. Both are okay.

    I also have a support forum and a community chat. People will choose whatever you’re comfortable with, but there are good reasons to use one over the others.

    Type Pros Cons
    Email Everyone knows email, easy to start Conversations are 1:1 and can’t be shared, hard to keep track of
    Chat (Discord) 1:many conversations encourage community and faster responses Requires a Discord account, old posts are washed away by new ones
    Forum (Discourse) Everything is public, Topics are easier to organize work around, Slower pace Functional nature isn’t the best for casual community discussions

    Making contact easy is just the start of a long road. The shape of a welcoming community, like the shape of a bonsai tree, doesn’t just happen. Without regular care, bonsai fall over and die as their branches crowd each other out for light and nutrients.

    Constant Pruning

    At least once a day, I check my inbox and read through all the latest updates on the forum and chat. When someone new joins the discord I write them a greeting. Something simple like,

    Hi @you, welcome to the Kinopio community chat

    I worry that they may think this is just a bot, which I could easily do. But I hand-type it anyways with slight variations to evoke the friendly feeling of being greeted when you walk into a shop or bar – and to show that I, and the other active people here, are listening and want to hear what you have to say.

    When you form a community you have a responsibility to actively keep it organized and healthy. When creators and moderators check out of communities, your biggest fans, feeling ignored or betrayed, may become your biggest haters. Passion cuts both ways.

    gremlins movie poster

    Abandoned places can go full gremlin overnight.

    One of the most helpful things that I do to prevent discussions from getting overwhelming is proactively proposing that they be moved elsewhere when it makes sense. Here are some examples of how this plays out IRL:

    • Someone emails in a niche feature request that may not be used by anyone else. I would ask them to share their ideas and use-cases in chat to see if others are interested.
    • Multiple people email me about the same bug, and others have reported it in chat. I would make a forum topic for the issue, containing all the repro steps and other debug clues, then share the link with everyone so they can track it’s status.
    • A non-critical bug is reported in chat that I don’t have the bandwidth to investigate right now (maybe because I’m writing a blog post). So I’ll ask them to post it in the forum so I can get back to it once I have time.
    • In chat, everyone’s sharing their hopes and hot-takes on a newly proposed feature. It’s getting spicy. I’d ask the OP to start a forum thread and continue the discussion there so that we don’t lose anyone’s ideas later when I’m ready to work on it.

    Although changing communication types comes with friction, it’s also a filter. If the user doesn’t feel like making the effort, then it’s fair to assume that they didn’t feel that strongly about their request.

    If you had to choose between chat or a forum, you should choose a forum. But if you have a chat, you need a forum. The slower-pace and more async nature of a forum acts as a blow-off valve that lets the steam escape from heated conversations.

    sweet

    Future Support

    As Kinopio grows, will I still be able to do support, and build community like this? The advantage of slower growth is that I have the time to pave the desire paths around the needs of real customers.

    I know that customer service isn’t the coolest topic. When costs are being cut it’s usually first on the chopping block. But when the world zigs, my passion zags – because why would you care about something made with the same thinking as everything else?

    If you have a problem with your 50 year old vintage Leica, Mercedes, or Tag Heuer, they’ll still service it. Even the most well-made things can break, but treating old customers as well as your new customers is what you do when you’re building a company to last beyond you.

    And of course, once it exists, you’re welcome at my hotel anytime.

    gremlins movie poster
    (source)

    Comments…

  • May ’25 Saying Bye to Glitch
    glitch

    Here lies Glitch, a place on the web you could go to write up a website or a node.js server that would be hosted and updated as you type. 🥀 RIP 2015 – 2025.

    The Glitch editor in action. Built on top of ACE, and later Codemirror.

    I co-created Glitch at Fog Creek Software. I laid out the original product vision for web development with real code that was as easy as editing a Google Doc, designed and built the editor, started the community site, and of course drew the logo and many of the illustrations.

    Now seems like the time to look back on just what a unique experience my 6~ years of working at Fog Creek Software and Glitch were, the many mistakes I and others made, and, of course, what I learned and took forward with me after

    black and white logo
    While iterating on the logo, I knew I finally had something when the silhouette was unique and recognizable.

    Working at Fog Creek Software

    Fog Creek Software is best known (by those over 40~) for being founded by Joel Spolsky to be the best place for software developers to work, and for being the company that created Trello and StackOverflow.

    In 2014, I was recruited by Fog Creek because, despite being a huge fan of Joel’s blog and their bug tracker, Fogbugz, was frustrating to use at work. So, for fun and spite, I did some concept art for how the app might work if it was designed for programmers first and managers second, and posted it to dribbble (another thing only remembered by the 40+). A senior manager saw it and a couple weeks later I was staying at the Ritz in Manhattan to meet the team.

    fogbugz for mac concept window fogbugz for mac concept quick entry panel
    Definitely not what FogBugz looked like. I did these like 20~ years ago, so they're a bit cringe to me.

    I was hired as a member of technical staff. We all were I think. I worked on Fogbugz a little bit with some of the smartest programmers I’ve ever met; and because we shared the office with Trello, some of the the coolest programmers I’ve ever met too.

    But I was primarily hired to help come up with the next big new successful product for the company, which eventually became Glitch.


    In 2019, I wrote about how Glitch started and how it evolved over the first four years. It was designed to be beautiful and functional, in its own unique way.

    Promising Early Days

    I always thought of Glitch as web development without the
    $ git how-do-I-stage-and-commit-updates-again?, and the
    $ heroku push-how-come-this-only-works-on-my-own-computer-wtf tango 💃. Of course, these are both powerful and necessary tools for experienced programmers and large projects, but what if these were optional instead of required?

    The real innovation of Glitch was in its belief in a new “middle-market” of developers that wanted the creative power and copy-paste-ability that you only get with real coding – but with the ease-of-use of the normal consumer software they were used to.

    Why does creating a new web app have to be harder than creating a new google doc? To the user, they’re both just boxes you type into.

    When Glitch launched it was really well received, with write-ups in The Verge, TechCrunch, and the other big publications of the day.

    People used Glitch in schools, to build games and apps to share with their friends, and even to learn new skills in jail. According to the Fog Creek veterans who were working at Trello and SO, the electricity in the air was just like when those products launched.

    Some experienced programmers critiqued the editor for being too simple for serious work. This was really encouraging because at the time we wanted to follow in the footsteps of Ruby on Rails: initially used by hobbyists for fun → dismissed as a toy by serious coders → right up until it becomes the status quo enterprise choice.

    We had the toy-like, easy-to-use, and approachable first part down. But to walk the rest, we discussed and wrote specs so that one day you could do things like:

    • Safely work on collaborative projects in your own branch.
    • Backup and control deploys by syncing projects with Github repos.
    • Edit how you want by syncing projects to your local text editor or filesystem.

    Alas, these were not to be. Nothing was ever directly said, but after leadership cemented it’s focus on learning and hobbyists, there was never the time or the resources to seriously iterate on the hard parts of that vision.

    Find and Replace was one of the last features that I did. Looking at this now, the density of search results could’ve been tightened up, but v1 releases were all I had time for. For better and for worse, I’ve gotten really used to designing and building UI really quickly and iteratively.

    Easy and Friendly Are the Trees, Not the Forest

    Coincidentally, this was right around the time Glitch received $30m in VC funding. My understanding is that the pitch was basically “Youtube but for web apps”. The new vision was that web apps were going to be a new kind of entertainment medium that would be virally shared. And just like Youtube, there are way more watchers than creators, so discovery and community features would be the new core of the experience.

    Despite my protests, the size of the team was doubled every year. The new employees were fans of the new vision and more excited about Glitch as a learning and beginner platform. There were now two frontend teams: the Community team which was a team of 10-20. And the Editor team – which was just me.

    The editor had a lot of technical debt that made it intimidating to work on, but it was frustrating that new development projects were almost always easier greenfield tasks like redesigning the 404 page, or adding the ability to save apps to lists – there didn’t seem to be much interest from leadership in improving the developer experience. (After I left there was a full rewrite of the editor, but I found it … not good).

    Middle-market product positioning is hard. You need power users creating inspiring projects and recommending it, so the tooling can’t be half assed. You need to be able to engage new users with a fun experience and create social or collaborative loops that keep them coming back. This balance takes a clear vision, a lot of time – and a lot of luck – to nail.

    I do believe that Glitch could have benefited from VC funding after we found that balance – but taking that much money before even having paid customers still feels like a mistake.

    Look familiar? The project loading screen was the predecessor of Kinopio’s paint select.

    Learning from Failure

    If you’re really deep in the Fog Creek lore, you might also know that the company had a long history of releasing products that were ahead of their time, but not positioned quite right, or stewarded in the wrong direction:

    Released Product Description Released Before
    2000 Fogbugz Bug Tracker Jira, 2002
    2001 CityDesk Website CMS Wordpress, 2003
    2005 Copilot Screen-sharing and KVM Zoom, 2013
    2010 Kiln Git hosting Github, 2008

    I put the release year first to emphasize how pioneering most of these were. It’s hard to know what to build when you’re early.

    I still believe there’s a market for easy and fun web development and hosting, but a product like this needs power-users and enthusiasts willing to pay for it. To build any kind of prosumer software, you do have to be an optimist and believe that enough of the world still cares about quality and craft.

    delete team UI
    I’ve always loved the little illustrations that Walter did, which were sprinkled throughout the app.

    Ultimately I’ve learned a lot more from my failures, of which there are many, than my successes. I learned that I value clear and unambiguous communication above flowery narratives that change on a whim. And I learned that what I find admirable in a leader is someone who can simply say what they’ll do, and do what they say. And if it turns out they can’t, that’s okay because they’ll tell you why.

    It’s been 6 years since I worked on Glitch and I don’t really have any strong feelings about it anymore. I just feel really grateful to everyone who created something cool with it over the years.

    Special thanks to Aneesha for helping edit this

    Comments…

  • Mar ’25 The Lo-Fi Art and Human Tools Era
    tools

    At the dawn of the industry, we needed big companies to deliver quality software. You’d buy version 1.0 because the way it worked was revolutionary, and it let you do amazing new things. You’d buy version 2.0 because it added helpful new features. Apple, Adobe, Microsoft, etc. became household names because software was hard to make, and even harder to box up and get on store shelves.

    classic mac with photoshop

    But by the time version 10~ or so releases, the product includes basically every feature possible. It’s all things to all people.

    So how do you make version 11 compelling? The answer turned out to be Lol who cares now. Once you have monopoly market share, the product (and the people that made it) are largely irrelevant. What now keeps the almighty profit line going up and to the right 📈 is sales and marketing – and predictably the relationship between user and tool metamorphoses from symbiotic to parasitic.

    The old monopolies aren’t going anywhere. But a new era of tools designed for a different fate are sprouting up out of old, analogue ideas like creativity, purposefulness, human-made craftsmanship.

    pizza gif

    Domino’s – the Microsoft of pizza – also isn’t going anywhere. But for those who know, and those who care, there’s always a way better neighborhood spot.

    Chasing Good Friction

    I spend a lot of time thinking about tools for thinking and creativity, and how they’ve changed. If you’re not used to drawing or writing – and even if you are – the scariest thing in the world is a blank page.

    paper notebook open to blank page
    “Eeep”

    The first sentence, or the first brush stroke, is a high anxiety situation. Full of potential, full of unknown pain.

    So to help with the blank slate problem, software tools added Templates. File → New turned into File → New → Do You Want to Make a Portfolio? Or a Résumé?. This more recently turned into File → New → Ask AI to Do It. These features help some people, but also create new problems.

    These tools can generate almost effortless outputs. They unburden us from the abrasion of creativity and their generic-by-design results keep us cocooned from the risks of standing out. No one wants to make ‘ugly’ art, or a ‘bad’ website. But struggling and making mistakes is an important part of developing skills and – increasingly important – finding your own voice.

    ‘omw to get a lil treat’ badge
    (source)

    We don’t talk enough about the many-years-long rite of passage that every creator goes through.

    Everyone can draw or write, but only the smallest sliver will decide that they want to earnestly make things to share with other people.

    At whatever age it grips you though, the urge to create pulls you into a world of frustration, where your skills don’t yet match your taste and everything you try feels not good enough. Unfortunately, the first step to being good at something is to suck at it.

    But the expedition is especially dispiriting when your tools constantly wink at you to generate ‘perfect’ results instantly.

    Why did I spend two+ painful weeks writing a blog post?

    For the Journey

    I don’t write very often, so I’m not sure if my pace is glacial or merely tortoise-like. Then again Tolkien took 12+ years to write The Lord of the Rings.

    Speaking for myself, even after I plan things out, the shape of an essay (sometimes even my whole argument) changes as I write.

    I type with two IA Writer text editor windows open. One for the post, and one where I throw rejected or tangential paragraphs and ideas that don’t quite fit. So far, each file contains ~2000 words… implying that I throw away ~half of what I type.

    david lynch teaches typing game

    (source)

    From a short-term-results point of view, this process may seem inefficient, painful, and somewhat savage. I wouldn’t really disagree – but, like working out, or eating well, the sweat and tears are worth it in the long-term because I solidify my ideas with every new post I write.

    Even after all that work, it’s never as good as I want to be – especially considering the effort. I’m still always a little bit embarrassed to share my work, because it’s never ‘perfect’.

    But it’s better than perfect, it’s imperfect.

    Struggling is an important part of developing skills and finding your own voice, and having an audience that’s watched your work evolve over years is a slept on privilege.

    The Human-Tools Era

    When you’re excited about a new hammer, everything looks like a nail. In the case of LLMs, just a year or two ago investors couldn’t catapult money fast enough at anyone incanting the magic letters A and I. Now that the dust is settling, I suspect we’ll look back at AI as something that was good(ish) at summarizing text and image recognition – but was used to make everything in the world harder to understand, less fun, and worse.

    More so now than ever before, making something yourself that you fully understand is deeply empowering. As the world gets noisier, glossier, and more fake, the more valuable the human-touch becomes in both the real world and on the real web.

    LLMs are the new normal. “Easy to use” became “let me tell you what to write and how to draw”, “here’s what you’ll watch next”, and “here’s what you believe”.

    But there is always be a market for understandable, engaging, and fun-to-use tools.

    What Most People Use What Enthusiasts Use
    Phone camera Dedicated camera
    Whatever pen is nearby Fountain pen
    The keyboard that came with your computer Mechanical Keyboard
    Coors Light™ Craft brew
    Smart watch Non-smart watch
    Fast fashion hand-made knitwear
    field quilt
    (source)

    In your heart, you probably can’t be an enthusiast for everything. I like cool cameras, I don’t care about wine (TBH I’ll happily drink Coors Light™), and obviously I care about good software. Let me add a row:

    What Most People Use What Enthusiasts Use
    Software that generates quick results for you Software that gives you the time, space, and encouragement to do your best work

    When it comes to thinking through problems, working through projects, or expressing yourself, special tools aren’t a necessity – but they can make the journey a lot more fun.

    Doing things a little differently makes the results more imperfect and personal. Being authentically you is what makes the journey worthwhile.

    Special thanks to Aneesha and Ben for helping edit this.

    Comments…

  • Oct ’24 Digging Into PlantStudio, a Bit Late
    learning
    design

    This aesthetic screenshot of an old windows app has been in my inspiration space for ~5 years. Until recently, I assumed that it was just a nostalgia bait concept.

    The calm, serene life associated with gardening pairs suspiciously well with rose-tinted wistfulness for a simpler time in computing. I’m happy to be wrong though, because software doesn’t get more real than PlantStudio.

    Written by Kurtz-Fernhout Software, PlantStudio is a surprisingly deep botany simulator for creating and arranging 3D models of herbaceous plants based on how real plants grow, change, fruit, and flower, over their life cycles.

    How to Install

    Because the last release of the app was in 2002, and it was for Windows 95/98/2000/NT4, we’ve got a little bit of work to do to get it running on macOS:

    1. Download PlantStudio210.zip and unzip it
    2. Download Whisky to run windows code in a container called a bottle
    3. In Whisky, click + button to create a new bottle (I set it to Windows 10)
    4. Click Open C: Drive and copy the PlantStudio210 folder into Program Files
    5. Click Run and open Program Files/PlantStudio210/PlantStudio.exe

    PlantStudio lives again 🌱🌺

    Let’s Grow Some 3D Plants

    After you read or skip the tutorial docs, you’re be greeted with an empty window, which is kind of like the ‘garden’ that your plants will live in. One way to jump in is to File → Open some sample files.

    The interface is full of unlabelled and unfamiliar icons, but the hover tooltips in PlantStudio are the most verbose I’ve ever seen – which helps a lot.

    Rotate mode tooltip

    To fill the garden with our own herbs, shrubs, and flowers, use Plant → Create New… which opens the thorough 10-step Plant Wizard, and teaches us some biology terms along the way.

    Going through the Plant Wizard…

    Each option button has a detailed little illustration that makes the impacts of technical concepts, like ‘inflorescence’, easy to understand.

    I also love the wizard progress icons in the footer. Because the colors match the button illustrations, it’s easy to jump from editing stems and leaves (green icons), to editing flower related options (purple icons). The start and stop traffic lights for the intro and confirmation steps serve as cute bookends.

    Designers can use color to conceptually link related interfaces together. I did this when I redesigned Futureland a couple years ago.

    One thing I kept wishing for while creating plants was the ability to see a live preview while I was selecting options. Maybe they didn’t think of that, or maybe the performance impacts would’ve been too much for the minimum required 100MHz CPU of the day.

    Cultivating a Garden

    As you create plants, they’ll appear in the garden area, where you can arrange them by scaling, rotating, editing, posing, and even changing their age.

    It took awhile, but by repeatedly creating plants in the wizard and arranging each one, even I could make something pleasant enough:

    I could’ve probably saved some time by selecting one or multiple plants to Plant → Breed to create offspring. The Breeder lets you define how similar the children are from their parents, and adjust the amount of mutation (random chance changes).

    Export Options

    You can be creative with your plants models by exporting jpg, 3ds, or obj files into other art apps. The official Gallery has a couple y2k-era masterpieces that were composed with whimsical 3D tools like Bryce, and then polished in 2D art tools like Paintshop Pro and Photoshop.

    Artist's note: "I created this picture with Metacreations Poser3, Bryce3 and Photoshop5. I used Photoshop5 to give the violet leaves some texture, and refined the shape of the leaves and petals..." (source)

    The process for making these images is strikingly similar to what landscape architects do today. Much like how software designers use mockups, architects use 3D renderings to convince clients, to market their work, and as a starting point for working with contractors.

    (source, Plantkind)

    Also, plants look really cool inside Kinopio spaces. Maybe I’ll figure out some kind of ‘integration’ in the future…

    So Why Am I Only Finding Out About Plantstudio Now?

    The husband and wife duo Paul Fernhout and Cynthia Kurtz were the authors behind Kurtz-Fernhout Software. Unsurprisingly, both have degrees in Biology and Ecology.

    Their original goal was to build a gardening simulator to “help people understand how to garden in a more sustainable way in their own backyards”. The simulation was based the EPIC (Erosion/Productivity Impact Calculator) agricultural model by the USDA Agricultural Research Service.

    We worked as a team on most design phases of the project. Paul did most of the low-level coding, the general architecture, the undo/redo system, the file system, the graphical display, and the 3D turtle engine. Cynthia did most of the translation of the EPIC model, the flowering/fruiting submodel, the plant drawing algorithm, the various window designs, and the artwork, music, and documentation.

    PlantStudio was originally built to draw plants for the gardening simulator, but they “found that everyone tended to like the plant designer so much they wanted to play with it instead of with the garden simulator”, so released it separately.

    Not entirely dissimilar to the story behind SimCity,

    While developing his first commercial game […], Will Wright noticed that designing city maps for the player to fly over in a helicopter was more fun than actually [playing the game]. He began expanding his world-building tools as an experiment. He applied various urban planning and computer modelling theories, implementing whatever ideas he’d been reading.

    Sticking to the theme, SimCity for Windows (source)

    Unfortunately, PlantStudio was discontinued in 2002,

    What happened to our old software and the plans for it? We spent years working for other people to pay off money (with interest) we borrowed to finish it and free it.

    I empathize with their story because the world is rarely kind to organic niche creative consumer software. I’m sure the market at the time was a lot more developer friendly overall, but businesses need to always be reaching new people to sell more licenses.

    In an alternate universe, maybe PlantStudio could have survived by evolving into a game in the vein of SimCity and SimEarth, e.g. ‘SimGarden’.

    Incidental Beauty

    There’s something appealing about objects and interfaces built for purpose, like race cars and professional-use espresso machines. In cases like these, beauty feels like a byproduct of an object built to do it’s job well – and there’s something appealingly genuine about that.

    Back when I worked at Fog Creek Software there was a $10k Marzocco professional espresso machine in the break room that we were trained on as part of our onboarding. I don’t even like espresso, but I do miss using it sometimes.

    I’d describe PlantStudio the same way. It doesn’t look or work like a modern app, but anyone can figure it out because it’s interface elements are delightfully chunky, unfussy, and well documented by illustrations, inline text, and tooltips.

    It’s definetely not for everyone, but the best things rarely are. Creating those gardens gave me a new perspective – and some new ideas – for my own design work.

    It took a while, but I’m glad I found PlantStudio.

    Special thanks to Lily from Plantkind for giving me a bit of insight into his landscape architecture practice for this post.

    Comments…


Subscribe to New Posts by Email

 
Subscribing…
Subscribed
Error

I make Kinopio, the thinking canvas for whiteboarding, research, moodboards, and note-taking that works how our brains work.
No sign up required.

Connect your Thinking →