制作能触动人心的软件。
Craft software that makes people feel something

原始链接: https://rapha.land/craft-software-that-makes-people-feel-something/

作者解释了暂停开发 Boo 的决定。Boo 是一款高度个性化的代码编辑器,最初是为自己创建的。现在他们选择专注于构建一种新的编程语言。尽管有其他人感兴趣,但作者对开源 Boo 并不感兴趣,因为这个项目是出于个人乐趣,而非追求广泛的成功。 作者将软件开发比作用乐高积木搭建——乐趣在于创造自由和实验,而非重复的任务。为了保持这种灵感,他们将重心转移到一项充满激情的项目上:设计一种编程语言,最终目标是用它来重建 Boo。 这并非关于效率或市场需求,而是关于追求令人满足的爱好,并努力创造一些真正令人难忘的东西,比如《塞尔达传说:旷野之息》。作者强调他们不寻求利润或复制现有的编辑器,而会在获得创作灵感时再回到 Boo。

## 打造能触动人心的软件 (Hacker News 讨论总结) 一篇关于创造“能触动人心的软件”的博客文章引发了 Hacker News 的讨论,探讨了软件开发的动机和现实。原作者强调为个人乐趣而构建项目,呼应了托尔金和凯西·穆拉托里等艺术家和程序员的做法,优先考虑内在满足感而非主流吸引力。 对话演变成关于通过 GitHub 等平台实现赞助民主化的争论,与历史上的财富赞助模式形成对比。有人担心,最大化点击量和收入的压力会扼杀创造力。另一些人强调了在日常工作之外进行个人项目的重要性,并举例说明了艺术家和程序员即使在经济限制下也能保持创作渠道。 一个反复出现的主题是人工智能在软件创作中的作用,一些人预测它会降低“手工”代码的价值,而另一些人则认为它将*促进*更个性化和利基软件的开发。讨论还涉及可用性和情感影响的重要性——超越单纯的功能——以及软件唤起超出积极情绪的情感(例如对设计糟糕的应用程序的挫败感)。最终,该讨论强调了激情项目和纯粹为了创造的乐趣而构建软件的价值。
相关文章

原文

So, I woke up today. Got my coffee, family went to sleep, and I have a free afternoon.

I thought about writing something. I may delete this article, but if you are reading this, it means I went through with it.

Recently, people have been asking me why I’m pausing Boo to work on a programming language. I think it would actually be cool to write down how I feel.

Boo is a code editor I created solely for myself; I never had the intention of making it a mainstream editor. Of course, it would be fun if people used it, but that was never my goal. This year I got it working in a functional state, where I can actually use it for my daily work. It has innovative human-keyboard navigation and replaces the LSP system with something faster and less costly for the OS. So why on earth am I not open-sourcing it? That’s what people keep asking me.

First, let’s go step by step.

My mind isn’t really moved by the idea that it would be a success or a failure — the end user of Boo is me. I don’t feel it’s there yet; in fact, I think software should inspire us. Working on Rio Terminal and Boo in my free time — both written in Rust and sharing many similarities — affects my joy, because it starts to become something automatic. Both have similar architecture, language, release process, and etcetera.

Since I was a kid, I liked to build Lego blocks. That’s probably what I did the most besides playing football or video games. The fun thing about Lego is that one day you can build a castle, and the next day you can build a ship. Not necessarily using the same pieces and colors — you can actually add a lot of stuff that’s external to what you have, like a wood stick.

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.

I always use the example of The Legend of Zelda: Breath of the Wild. This game is so well crafted that I know people who don’t even like video games but bought a console just to play it — and once they finished, they sold everything. This is what I’m talking about: taking time to build something so that once people try it, they remember it for as long as they live.

Boo isn’t a business. I don’t need or want to make money out of it. I don’t have a deadline, nor do I want to create another VS Code. I don’t feel like forcing it to happen.

In that case, I don’t necessarily need to stop building Lego blocks, right? I’ll just park it there, and when the inspiration comes back, I’ll pick it up where it was. That being said, I paused Boo, and I am working on my own programming language. Eventually, my idea is to rewrite Boo to use it.

“Wow! That’s a lot of work.” Indeed. But it’s my hobby stuff. I’ve always loved programming languages, and I am having a blast learning more about binaries and compilers. So, I don’t really feel I need to follow people’s cake recipe for success. That’s how my mind works, and I will stick with it.

By the way, this article was written using Boo.

联系我们 contact @ memedata.com