Software will never feel the same
When I visit a restaurant, I care a lot about the food I’m being served, and I want everything I order to be delicious. But arguably, my favourite part is understanding and appreciating the decisions behind each item on the menu, as well as the menu design, the choice of cutlery, the lighting, everything.
For me, going to a restaurant isn’t only about eating, it isn’t only about having a good time in a nice place: it’s also about appreciating how harmonised everything is, and how the professionals working there have organised their respective skills to make the restaurant as good as it can be.
If I learn that a restaurant uses ready meals, and that the people working there simply reheat something they didn’t make and label it as their own because they’ve added some of their own seasoning, it would change my opinion of that place, even if the food served tastes as good as before.
But what if I never know? What if I can’t tell if a restaurant I like cheats its way to success? If I’m just tasting what’s on the plate, how can I know? It’s hard to tell.
Sure, there are signs. For instance, if the food is served only two or three minutes after I order, or if the dish served is exactly the same as a dish served in another place, these sorts of things. Regardless of the taste, regardless of the food quality itself, I would grow suspicious, disappointed. It would eventually diminish my appreciation of that place, having the feeling that they aren’t really cooking anything themselves. I would simply not go to that restaurant again.
If this general feeling of doubt occurs in most places I visit, whether justified or not, it will certainly taint my overall enthusiasm for restaurants.
Yes, you’ve guessed it, this is a post about A.I. and software development.
As much as I love good software — especially on the Mac — and trying out applications that may end up part of my digital routine, I think what I love the most is appreciating what is seemingly called “the craft”.
When I use an app for the first time, the exploration part is my favourite: to see if this app has a chance to stay on my Mac. I try to understand the design and the decisions made building the app the way it is. I actually love spending time digging through the different options and settings.
“What are your hobbies, Nicolas?
– Well, spending time in preference panels on MacOS surely is in the top 3.
– OK, weirdo.”
When I manage to grasp the extent of the app’s features, how they can be operated, and how they are laid out in different menus and toolbars, I like to imagine the debates that went on within the teams. I like to see how shortcuts are implemented, I like to find out what changes when I press the Option key. I like to think “Oh, this is clever” when something unexpected is available and yet makes perfect sense.
If the app is useful to me and fits into my “workflow”, fantastic: I get to appreciate both the craft and the app itself. If the app isn’t really for me, I can still recommend it and appreciate the efforts, the design, the features and the intentions of the team. It’s a sort of catch-and-release approach to software fishing.
At least this is what I enjoyed doing until recently; alas, the fishing part now has a strong, inescapable stink; too often with brand new apps something smells…
…suspicious.*1
To be clear, there’s nothing wrong with using A.I. in app development, but just like there are good apps and bad apps, there is good and bad use of A.I.
I know how A.I. can help some teams to reach their roadmap goals much faster, to fix bugs that were never a priority before, or to build features that couldn’t be afforded in the first place. This is great, and I’m sure this will now be the norm.
Objectively, this is a good thing for the Mac. As John Gruber writes on Daring Fireball, it can serve the platform by increasing the number of truly native apps:
The Mac has never faced a decline in popularity, but truly native Mac application development (and the skills) did. Now it’s turning around. Mac users are thirsty for Mac apps, and with A.I., they can quench their own thirst and tell the dullards promulgating Electron bundles to pound sand.
But not all uses of A.I. are ideally implemented or even well-intentioned. Some apps can appear to be “authentic”, but they are not. Some apps can appear to be native, but they are not. They can appear to be indie apps, with a small dedicated and passionate team, but they are not. Instead, most of them are imagined, created, updated and distributed in a matter of weeks by a single person and their favourite A.I. tool, without any consideration for best practices, security, good UX, or transparency.
It’s a free market, and users can decide what’s best for them, sure. Although it’s increasingly hard to tell the difference without any honesty from the developers, and this is where the deception begins.
Nowadays, I get a feeling of unease more and more often. I look at a new app’s website, and I feel like I’m being lied to. I feel like I’m in an artisan shop and I see hundreds of miniature Eiffel Towers carved in oak that are way too perfect to be handcrafted by a single person. I’m sad that from now on I may never be as trusting and curious regarding apps as I was before.
The good smell of craft is now covered by the stink of doubt and suspicion. When it comes to software, the Olympic Games have been replaced by the Enhanced Games. The sports are the same, and not all athletes take drugs, but it just doesn’t feel the same, does it?
Today, not only can we not watch a cute kittie video without wondering if it’s real or not, we now can’t even use an app without wondering if it’s vibe-coded or not.
I’ve had this feeling again this week with an app called Aphera. This RAW editing app looks great, native, fast, efficient: exactly my cup of tea.
But I have an itch. Something feels too good to be true.
Maybe I’m wrong, maybe I’m just paranoid, but when an app seems to come out of nowhere, made by a very small team in a short amount of time, I’m now sceptical. I’ll stick with RAW Power, thank you. Nothing to do with the app Aphera itself. The app could be “legit” all the way, and I may be a fool for not giving it a go. Two years ago, I would have downloaded it already. Today, I have too many doubts; I’ve even grown suspicious of an app I genuinely like: Helium Browser.
Some of these A.I.-enhanced apps are fine, I guess, and well-intentioned. Apps like Tolaria are prime examples. Not for me, but I can see the value for some people (and it’s free, so it’s hard to complain here). But most of the time, something feels off.
The other day, I received an email from a reader pointing out that the link I used in a post for the great Mac app called MarkEdit was not the one to be expected.
The link pointed to the domain where the MarkEdit app I love lived at the time of the post’s publication: markedit.app. The app developer eventually let that domain expire, and the app has been living only on GitHub since.
But when I went to check that link again, the website was indeed for an app called MarkEdit. But it was another app, not the MarkEdit I praise regularly on this blog.
This new MarkEdit has since changed its name to AnnexEdit. Not sure if the original naming was a pure coincidence or a sneaky way to capitalise on an existing brand (MarkEdit is a catchy name after all). Maybe anxiety about copyright infringement finally pushed the developer to do the right thing after a few weeks, or maybe it was a simple mistake.
This new app, AnnexEdit, is, I believe, another example of AI-generated software. Something feels off: only a few months had passed between the first alpha version and the final product, the app is built using the Rust language (nowadays it’s pretty much a tell), and overall, it lacks personality, it lacks intent, it lacks a human touch. It doesn’t lack a pricing page though, nor a “pro” version.*2
Of course, no mention of A.I.-driven development anywhere on the website. If you’re a serious developer using A.I. to speed things up, I guess you’d be transparent and honest about it, just like a good restaurant would tell its tenants that all the desserts listed on the menu come from a specific patisserie shop. When it’s not even mentioned, yet the app offers some MCP features from the get-go, colour me suspicious.
When I look at the feature set of AnnexEdit, it should excite me: it’s a text editor after all. I should be curious to download the app, and give it a go. Who knows, it could probably end up listed in one of my future blog posts about cool apps or whatever. But my suspicions and unease — whether they are deserved or not — are preventing me from doing this. The features are there, but I can’t detect the craft.
It seems like software will never feel the same. Now, I wonder: will I ever be able to give a chance to a new app again? I fear that the magic and my software innocence are gone.