| ▲ | Craft software that makes people feel something(rapha.land) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 166 points by lukeio 7 hours ago | 79 comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | mmooss 2 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> created solely for myself; I never had the intention of making it [...] mainstream This is how many artists have worked. They make something for themself, and one day they show it to someone else ... or they just get the urge to share it more widely, often without the hope that anyone will really be interested. Or they keep it for themself. I think Tolkien is in that group, for example. But don't get the wrong idea from an extreme outlier: much of the time, others aren't interested, or not many are. Sometimes, nobody is interested until after you've forgotten about it or passed away. Who cares? That's one reason you need to make it for yourself. Also, I think that otherwise it provides much less expression and insight into another person, which is at the core of art. There is a fundamental human need to 'externalize the imagination'. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | pedrozieg 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There’s something refreshing about explicitly saying “this editor exists to delight me, and that’s enough”. The default script now is that every side project should either be open-sourced or turned into a SaaS, even if that pressure is exactly what kills the weirdness that made it interesting in the first place. Some of the best tools I’ve used felt like they started as someone’s private playground that only later got hardened into “serious” software. Letting yourself park Boo, go build a language, and come back when it’s fun again is probably how we get more Rio/Boo-style experiments instead of yet another VS Code skin with a growth deck attached. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Minor49er 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> When programming becomes repetitive, the odds of you creating something that makes people go “wow” are reduced quite a bit. Unless you're working on something with a lot of breadth, of course. A great example is yt-dlp which works on a huge number of sites. The wow-factor is high because it feels like it just works everywhere. That's only possible through a huge number of data parsers, many of which are not terribly different from one another | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ozim 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yeah I make software that makes people feel something - rage - there are 2 types of software one that no one cares about and software that people use and voice their opinions about :) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | devinprater 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Emacs and Emacspeak make me feel something. A lot of something. This kind of "playground" feeling where I can dive into a manual that's just sitting right there. The the entire Emacs is a manual. C-h m and boom, all keyboard commands for that mode are right, feaking, there. No hidden bullcrap, no patchwork HTML tables to drudge through, nothing. And if something doesn't work with Emacspeak, I can Codex it into working. Maybe. Enough to get what I want done, done. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | brailsafe 21 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is what my nostalgia for native macos editors rests on. I've wanted to buy Coda despite VSCode and other derivatives being more productive, and where would editors now be without BBEdit, Textmate, Espresso/CSS Edit, which all did particular things very well, given the constraints at the time. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jesse__ 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> created solely for myself; I never had the intention of making it [...] mainstream This is a habit I picked up from two people I respect greatly as programmers; Casey Muratori and Jonathan Blow. Those guys both built their own little lands; Jon went as far as building a new language, a 3D game engine in that language, and has multiple game titles in-flight in the engine. I have a handful of projects that are similar in spirit. I'm largely the only, and target, user of these projects. It's joyful to work in an environment you control completely. No deadlines, no feature requests, no support tickets, no garbage collector, no language runtime .. just me and the OS having a party. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | jamesgill 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I agree with the title, but disagree with this: "When programming becomes repetitive, the odds of you creating something that makes people go “wow” are reduced quite a bit. It isn’t a rule, of course. You need to be inspired to make inspiring software." The purpose of software for other people is not to make them go 'wow'; it's to help them with their jobs to be done. That's it. The software is always in service to the job the user wants to get done. Can that make them go 'wow'? Sure, but you can't..aim for 'wow'. That's the wrong goal. As far as 'inspiration' goes, I'm with Stephen King: "Amateurs sit and wait for inspiration, the rest of us just get up and go to work." For those that might disagree (hey, it's HN), I would ask: how do you know when 'wow' occurs? Here's a clue: 'wow' can only happen when something else occurs first. That 'something else' is described above. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | PTOB 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In so far as it makes me feel the relief, awe, and pleasure of picking up a good tool, then by all means. The mouse trail made me feel something else. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | trashface 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I've done this, but the product I made is prohibited by the terms of service of the application it works with, and that industry is litigious and authoritarian. So I'm never going to release it, or even talk about it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | css_apologist 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
i remember making the switch from atom to vscode felt so cold i can’t explain what, it wasn’t just the colour scheme atom was objectively worse on performance and a few other things i forget, but it felt so good to use | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ChrisMarshallNY 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I love that essay. I tend to do things the same way. I write software that I want to use. I do tend to go "all the way," though. Making it ship-Quality, releasing it on the App Store, providing supporting Web documentation, etc. Makes me feel good to do it. I always used to say "My dream is to work for free." Livin' the dream... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | amelius 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I don't know what the article was about because I got distracted, but the mouse animation looks great! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | bodhi_mind 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I’m stuck on the opening sentence. Family went to sleep in the morning so rest of the day is free? I must be missing something but that doesn’t make sense. Did the author chloroform them? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | tarkin2 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Making people something for software rather than helping them interact healthily with real people in their surroundings feels irresponsible at this point in time, given all the damage social media, short form videos, and the rest have done to the world at large. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | PaulHoule 6 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Love how the mouse trail effect is using O(1) memory no matter how fast you move the mouse so it won't blow up your browser. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | barrenko 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Craft software that makes you feel something. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | deadbabe 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dread is a feeling. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | aeblyve 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I find that the software that evinces a feeling of admiration in me is itself as devoid of feeling as possible, RE the observation that aesthetics are created out of pure functionality. The more "sentimental" or "egotistical" a piece of software is in itself, the less I like it. Taken to the limit, the title of the article commands us to generate Skinner boxes to maximize user engagement etc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | crumpled 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Looks like they disabled the mouse effect thing everyone is talking about, for the articles. So if you want to see it, go to the homepage of the site. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | runtimepanic an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Zelda example is a good reminder that emotion in software often comes from consistency and responsiveness. Those games feel immersive because the underlying systems behave predictably, inputs map cleanly to actions, and the world reacts without friction. That same principle applies to non-game software too: tight feedback loops and coherent internal rules make tools feel “alive” in a way users notice even if they can’t articulate it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | susam 28 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
On the topic of sharing personal, hobby software and making it open source, let me share a small story. I usually do not shy away from sharing my hobby tools and experiments. Even if I am the only user of something I built for fun, if I have the time and inclination, I try to package it properly with a README.md, LICENSE.md, etc. and share it on GitHub or Codeberg. There was, however, one piece of software I hesitated to share. It was a small set of Emacs functions that let me use the comma key (instead of the Ctrl key) to type Emacs key sequences. For years it lived directly in my ~/.emacs. I hesitated because I felt the idea would seem outrageous to experienced Emacs users. It didn't have a separate mode like Vim where the comma key would function as the leader key. The comma key acted as a leader while you were typing normally. So when you typed 'I like eggs,', the moment you hit the comma after 'eggs', my code would kick in and start reading an Emacs key sequence, with each comma standing in for Ctrl. For example, ',x,f' behaved like Ctrl+X Ctrl+F. So how would you type a literal comma? In most cases, we don't type a comma by itself. A comma is usually immediately followed by a space or newline and the tool takes advantage of this pattern. So ',<space>' and ',<newline>' produce literal ',<space>' and ',<newline>'. On the rare occasions you need a comma by itself, you type two commas, i.e. ',,' to escape the special behaviour of comma. Why did I feel some users might find this design to be outrageous? First, you could not type a comma in the usual way, since every comma triggered this leader key behaviour. Imagine mapping your comma key to Esc in Vim! It is disruptive. Second, why choose the comma at all instead of something less common like the semicolon? Third, having to type the comma twice for sequences like Ctrl+X Ctrl+F could seem awkward. Despite all this, I had reasons for each choice, and it worked very well for me for years. About two years ago, I finally took a leap of faith and published it. I pulled the code out of ~/.emacs, turned it into a proper package, wrote a manual, shared it with the Emacs community and waited. To my surprise, the response was mostly positive. A few kind people sent pull requests that improved the package a lot. What started out as a quirky tool with unusual features ended up with a small community of users. I have written more about the package here: <https://susam.github.io/devil/>. This tool was never meant for anyone but me, yet I find joy in knowing that there are some people out there who use this tool and the quirky and questionable design choices I made for myself work for them too! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | militanz 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Very interesting, I learnt Rust for the same reason: having fun doing something that I need and learning new things in the process. Good luck for your new project! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dzink 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
That was the thought when I designed https://dianazink.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | beanjuiceII 6 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rage after moving my mouse on that site...great work ! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | flemins an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Does anger count? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ghjv 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
habitually move my cursor while reading things... so Feels Bad for sure | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ranger_danger 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Love the mouse cursor, it made me feel happy. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | ZebusJesus 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Boo is an interesting name for an editor what feature were you looking to make that others didn't have? I like your website by the way, the blue square that turns the mouse cursor into a tracer is a neat effect and makes interacting with your content fun! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | smm11 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Circus Ponies Notebook. That was a look into a world we steered away from. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | imiric 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> I don’t really feel I need to follow people’s cake recipe for success. That's great, but then what's the point of this article? The author is seemingly offering advice about why and how software should be built, but then claims to not follow anyone else's advice. Cool. Just do whatever makes you happy. If you want to work on proprietary editors and programming languages, go ahead. I would argue that doing that in the open would both improve the projects and make the world a better place, far more than blogging about them does, but this doesn't matter if you're optimizing for personal happiness. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | torginus 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The title sounds like the Chinese curse of software development. Fun tidbit: Just to make sure I got it right, I quickly googled the phrase. Gemini's elaboration on the topic truly made me feel something. Gemini's answer: A "Chinese curse" often refers to the phrase "May you live in interesting times," though it's not actually Chinese but a misinterpreted English saying, while actual Chinese curses involve direct insults like "Cào nǐ mā" (Fuck your mother(sic!)) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | swader999 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I think with tools like Claude code you can more easily tackle niche areas that would benefit from custom crafted features and then using the app would feel like it was purpose built for the specific task at hand. Sure the code might not look hand crafted, but if it works and solves problems in the world... | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | Xenoamorphous 4 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kinda tangential but in the advent of AI I feel like there won’t be a niche for “handcrafted software”. When quartz watches came up the makers of mechanical watches struggled. Quartz watches are cheaper, more accurate in many cases and servicing is usually restricted to replacing a battery. However some people appreciate a good mechanical watch (and the status symbol aspect of course) and nowadays the mechanical watch market is flourishing. Something similar happened with artificial fabrics (polyester, acrylic) and cheap made clothes, there’s a market for handmade clothes that use natural fabrics. Nobody (well, barring a few HN readers) will ever care if the software was written by people or a bot, as long as it works. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||