Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Good software knows when to stop (writizzy.com)
451 points by ssaboum 21 hours ago | hide | past | favorite | 230 comments
 help



>Ignore feature requests — don't build what users ask for; understand the underlying problem instead

not quite in the same area, but this advice reminds me of blizzard and world of warcraft. for years and years, people requested a "classic" WoW (for non-players, the classic version is an almost bug-for-bug copy of the original 2004-2005 version of the game).

for years and years, the reply from blizzard was "you think you want that, but you dont. trust us, you dont want that."

they eventually caved and launched classic WoW to overwhelming success. some time later, in an interview, ion hazzikostas (the game director) and holly longdale (vice president & executive producer), admitted that they got WoW classic very wrong and that the people "really did know what they want".

anyways, point being that sometimes the person putting in the feature request knows exactly what they want and they have a good idea. while your default mode might be (and perhaps should be) to ignore feature requests, it is worth recognizing that you may be doing so at your own loss. after all, you might not not be able to fully understand every underlying problem of every user of your product -- but you might understand how to code the feature that they asked for.


I have been in situations where a user makes a feature request and I don’t think it makes sense, but because they’ve been polite and understanding I decide to take the time to explain exactly why it wouldn’t work, but while doing so I basically rubber duck and come up with solutions to the problems I’m describing (which the user hasn’t foreseen yet). Sometimes that ends with me discovering yet even stronger reasons to not implement the feature, but other times it makes me delete the whole reply and work on it instead because I have worked it out. Sometimes doing so ends up taking less time than writing the full reply. Often the feature ends up being even better than what they originally requested.

In contrast, if a user has been rude, entitled, and high maintenance, I may end up not even trying to reply in the first place because I know they’ll just be combative every step of the way, and giving them what they want just makes them demand more, seldom being appreciative. These tend to be users who want something a very specific way and refuse to understand why the thing they are asking for is profoundly selfish and would shit the interaction for everyone else to satisfy their own desire. So I don’t do it.

This has been a bigger sidetrack than I originally intended. I guess the moral of the story is don’t be a prick to the people you’re asking something from.


There are few things so valuable as a good user who is willing to work with you. Many years ago I worked at a company that was going to shutdown a very buggy product. There was one user who relied on it heavily and convinced the CEO to make one more release, and I was tasked with working with that customer to make it happen. Over the next month, we fixed the bugs (I coded, he tested). We wound up making a stable and more user-friendly product. It was a real pleasure to work with that guy. The company still mothballs the thing, but I know we had at least one happy customer in the end.

A variant of the first is the highly imaginative user who keeps coming up with new variations or expansions of their idea. It’s not malicious but it can be exhausting.

Especially if you try to address their core need but their imagination doesn’t extend quite far enough to see how your effort would help, because they love their ideas.


I would describe those as a variant of the second, not the first. Those imaginative users may be polite, but they’re not understanding. While not rude, they are their own brand of entitled and high maintenance (I like your description of “exhausting”). One major reason I put them in the second category instead of the first is that the result is the same from my side, i.e. I interact with them as little as a I can.

To the first kind, in contrast, I’m happy to answer any question, no matter how silly it may seem, because I can be confident they’ll trust my judgement, that they’ll learn from the interaction, and that the next one will be even better. Just about the only thing I’m sad about regarding those users is that as they grow they start interacting less because they don’t need it as much, as they are able to help themselves.

Now that I think about it, that seems like a good way to differentiate: The good users delight you and demand of you less and less; the bad users drain you and demand of you more and more.


I can imagine the kind of person you're describing, and I find the idea of the burn they get from reading this hilarious. They sound innocent and quirky.

Fortunately there's significant correlation between quality of communication and quality of ideas, so your approach might just be optimal!

Due to the XY problem what they ask for often isn’t what they need. And what they yell about won’t make them happy.

By and large I’ve gotten better feature requests out of looking at patterns of frequently asked questions and turning them into tasks instead of reacting to negative feedback.


To be fair on the Blizzard example, I think Blizzard could have also made the player base just as happy by, doing as your quote said, understanding the underlying problem.

It wasn't only a "we want WoW classic bug for bug," it was "the modern game has become so unrecognizable that it's basically WoW 2.0, you ruined it with the modern systems"

Blizzard could have rolled back LFR/LFG, class homogenization, brought back complicated and unique talent trees, remove heirlooms, re-add group guests and world mini-bosses, remove flying, etc. and players likely would have been happy.

Classic will only save them for so long without them making new content, but using classic's systems. So in a way, I think the point still stands, you have to understand what the underlying problem is. Users do generally know what they want, but they don't always know how to ask for it.


> Blizzard could have rolled back LFR/LFG, class homogenization, brought back complicated and unique talent trees, remove heirlooms, re-add group guests and world mini-bosses, remove flying, etc. and players likely would have been happy.

That would be a tremendous failure. There are millions of players who love LFR/LFG, who love somewhat balanced nature of the game, etc. You would lost all of them in favor of Classic players.

The truth is, a lot of changes Blizzard made to the game, were good ones. If you would browse WoW Classic forums, you'd find plenty of players requesting retail features to be added to Classic game. They want LFD because they're tired sitting for hours being denied for dungeons, because their class is not very good. They want class homogenization, because their beloved class is genuinely lacks tools to be useful.

When you make any change to the game, some player will love it and some player will hate it. Over time more and more players will feel alienated. But other players will come and they won't know other game. There's no simple solution here, other than maintain several versions of the game for different players. One size does not fit all.


We shouldn't discount nostalgia. Sometimes an otherwise objectively worse product is better because it reminds people of the past.

But there are people who didn't play WoW back in the day who still love classic, so it can't just be nostalgia. Vanilla WoW really did have a different design ethos than the later expansions did, and some people prefer that experience.

> Vanilla WoW really did have a different design ethos than the later expansions did, and some people prefer that experience.

Right, and that's my point. When you take away the nostalgia for the content, you reveal what players are asking for, which is a reversion to what is effectively a previous game as modern WoW lost all of what made it a good game, to those players, in the first place.

So yeah, there was definitely a group of players that literally did want Classic WoW, original content and all, but I also feel like Blizzard would have saw success continuing that Classic formula with new content. Blizzard sucked the soul and charm out of WoW. For all intents and purposes, modern WoW is a completely different game.


Yes. I've watched some videos on wow by Kevin Jordan, who was on the original team. He said the original game was built on 3 pillars:

1. Advancement over time.

2. Player interaction. Hard content should be hard in order to push players into working together to overcome challenges.

3. The world is a character in the game. Even when you eventually got mounts later in the game, they made it so mobs can knock you off & daze you. The world is big and full of wonder. Especially at earlier levels, just getting from point A to point B can be a journey in itself. Wanna play with your friends who started in a different zone? Fine, but just getting there will be an epic journey.

They abandoned those principles later on. Eg, by adding "sidekick" characters you can summon when you're playing on you own, to overcome hard content. The point of that content was to push you into making friends with other players. Flying mounts made the world small and safe. Just point in the vague direction you wanna go and go AFK for a few minutes. They also added more and more teleports, so you don't have to schlep overland yourself. And the LFG system.

It was a really different game back then. I didn't get that much out of classic wow. But I'd enjoy playing a new MMO built around those same principles.


> And the LFG system.

The LFG system basically killed most social interaction in WoW.

So if you played for that, you got excluded.

They also sort of killed build diversity, but there was no build diversity in classic either, at least if you wanted to raid.

The grinding... I don't miss it. That could have used toning down.


> The LFG system basically killed most social interaction in WoW.

I started playing Anniversary vanilla one year ago. I played through it all and now I'm playing Anniversary TBC. I visited many dungeons. There's no LFG system, yet I didn't find any social interactions in dungeons. I'm pretty sure the whole social interactions thing is overblown. 99% of dungeons is like leader silently invites you or you write "inv holy pala GS 1400" and he silently invites you. You silently run through dungeons, silently leave. That's about it. There are no interactions. Zero. Some people write "hi" and "ty", some don't bother.


Another example is Old School Runescape, who reverted back to an earlier save and has now diverged as an entirely separate game running with older systems as they lost a ton of players with their "Evolution of Combat" update. While nostalgia is definitely a powerful tool, I agree with the previous commenter that the original WoW was a very different game than the modern version and it seems like that is one of the core aspects of what people desired.

> I think Blizzard could have also made the player base just as happy by [...] understanding the underlying problem.

I'm reminded of the 1995 interview in which Steve Jobs elucidated the fundamental reasons that Xerox missed its golden opportunity to own the computer industry and why former PepsiCo CEO John Sculley later ultimately failed at the helm of Apple.

It's fundamentally the same issue with a number of gaming conglomerates nowadays. These companies are more interested in increasing the sales of sugar water than making great games. Perhaps, then, it's not surprising in the least to learn that former Activision Blizzard boss Bobby Kotick was on the board of Coca-Cola for a decade.


I spent some formative years helping people run MUDs and applying my pattern matching brain to the problem of how to make a multiplayer game succeed.

I played WoW precisely because they dodged the first bullet, which is inflationary or deflationary economies caused by each content creator trying to leave their mark by making better gear for their quests than are already available. The whole thing with used equipment only being for to be scrapped guaranteed that low level characters weren’t all carrying the third best helmet in the game.

But they still had the same problem with expansions - the need to change things in order to declare, “I made that”. They wouldn’t have needed classic if they followed your conclusions.

However, without those changes would they have stayed on everyone’s radar as long? Hard to say. Balancing in LoL and friends seems somewhat easier because the mechanics change less frequently. So maybe they would have been fine or maybe they’d be on WoW 2.0 now.


Other than a brief huge burst of interest at the launch of WoW classic, retail WoW has consistently been significantly larger than Classic. Classic WoW has been a success, but killing the modern game in favor of something more like Classic would have been an astoundingly bad idea.

They knew exactly what they wanted and they knew exactly how to ask for it. That’s the point.

engineers love announcing that nobody but engineers knows what’s important in software; that’s complete and total bollocks. wow classic is a perfect example because it is exactly the sort of thing that the business unit and the engineers and the designers would not want to do. We don’t need to assume that because we have hundreds of Internet posts indicating exactly that. Not only did they not want to do it, but they argued that users didn’t know what they wanted for the sheer fact that making it was not something that was desired by either the business unit or the engineers.

Also, the point is not that classic saves them from making new content. It’s probably the case that the more content they make the more of a value proposition classic appears to be. Is there some new race in the new expansion that’s stupid? OK hop on over to classic.

Kill the part of your brain that makes you assume users are stupid.


> Blizzard could have rolled back LFR/LFG, class homogenization, brought back complicated and unique talent trees, remove heirlooms, re-add group guests and world mini-bosses, remove flying, etc. and players likely would have been happy.

100% nope. Classic is what we wanted. All of what you just said is you saying: "you think you want that, but you dont. trust us, you dont want that."


Agreed. Current WoW has done some similar things to what the prior poster suggested, and while I personally find the current game better that it was for a while, it remains a very different experience from Classic.

Classic is what we wanted, not that we wouldn't want "other things added in Classic-style" perhaps, but the problem with that is it becomes a whole new ballgame.

Classic WoW wasn't perfect, but it was amazing, and it's NOT all just nostalgia-glasses.


Users usually don't know what they really want. But neither do developers or product managers. The "understand the underlying problem" part is hard, and easy to convince yourself of incorrectly.

There are also shallow wants and deeper wants. I don't have the experience to know, but my guess is that classic WoW was more of a shallow want, where people were very happy to get it, but the deeper want was more about a style and feel of gameplay. The players would be happier with new stuff that kept the magic of the classic game, but they justifiably knew they couldn't trust Blizzard not to add anything without messing it up. So the only practical way to satisfy the desire was to just roll back all the way to the classic version.

In a perfect world, some designer would come along and incorporate carefully selected bits and pieces of the new version, probably with some novel changes to balance it out, and end up with something superior to both classic and new WoW. But that would be really hard to get right, and distrusting players would fight it (with very good reasons for their suspicion), and you would have a giant mess of different people claiming that they know what to keep and what to discard, except nobody would agree on the same things, etc.


>I don't have the experience to know, but my guess is that classic WoW was more of a shallow want, where people were very happy to get it, but the deeper want was more about a style and feel of gameplay. The players would be happier with new stuff that kept the magic of the classic game, [...]

>In a perfect world, some designer would come along and incorporate carefully selected bits and pieces of the new version, probably with some novel changes to balance it out, and end up with something superior to both classic and new WoW.

this is exactly what they put a lot of effort into for 5-10 years or so. years! blizzard convinced themselves that the players asking for classic didn't really want classic, they just wanted some of the feeling of classic bolted on to the current game.

but players actually, really, 100% truthfully, no exaggeration, wanted classic WoW. not retail WoW with some classic-feeling bits. they wanted (basically) bug-for-bug classic.

and it worked out great in the end! classic is thriving. retail is thriving. no balancing act between the two player bases needed.


> but players actually, really, 100% truthfully, no exaggeration, wanted classic WoW. not retail WoW with some classic-feeling bits. they wanted (basically) bug-for-bug classic.

You're speaking in the same manner of absolutes like most gamers tend to speak on discussion forums. It makes you unbelievable tbh.

Get this: The playerbase for retail is still larger than classic. And those who advocate world PVP have their servers eventually trend towards one faction. These are the just effects of the vocal minority. It doesn't mean the vocal minority are right for all instances. Just that the incentives lined up.


The counter-example, in classic MMO terms, is Ultima Online adding non-PVP game instances in response to player feedback. Without the dramatic threat of PVP conflict at most times, UO was less emotionally engaging. The non-PVP players were bored without the emotional excitement (stress, danger, whatever) of ad hoc PVP. The PVP-focused players were bored when all the reputational mechanics became more or less meaningless in a world only occupied by PKers.

The release of Arc Raiders captured that original UO social dynamic perfectly. Players flooded forums with requests to make PVP optional. In that case, the devs knew better than to listen.


Arc Raiders and other involuntary pvp games will miss out on players like me who will not try it until pvp is optional and voluntary.

Involuntary pvp is the long term death sentence for a game. It punishes new players by making them easy prey for veteran players. Player numbers will fall hard and fast, like every other involuntary pvp game does.


"I may play your game if you trim away a core appeal factor for the people who already play your game by splitting the active player base" is not that convincing a feature request to a gamedev.

Many live service games that are punishing for new players are still thriving like LoL and DOTA2. Much that punish-factor can be resolved by good matchmaking, putting new players mostly with each other.


Plus, not every game needs to appeal to every player, which I think is where games like that eventually have their downfall. WoW was talked about earlier in the thread, and Blizzard continuously trying to make it appeal to other types of players is what kept killing it.

It's OK for a game to exclude entire demographics of players. A PvP first game shouldn't try to force itself to appeal to PvE only players.


I thought the core appeal was the loot that you get from the PvE.

But I'm just an interested outsider, waiting for the crashing player numbers for the devs to come to their senses.


The loot itself is - quite literally - mostly trash. Sometimes you may find a high end weapon (although usually that comes from PvP…) - but typically you’re just bringing stuff back to put in your scrap hoard. The PvP is really the highlight - which is not to say it’s all about fighting to the death (certainly you can do that) but instead making friends with morally ambiguous strangers to fight the biggest robots. They may be a friend, they may be a jerk, they may be YOUR jerk. Sometimes the entire map will come together to take down a gigantic robot - but after that robot dies? It may be every man for himself in a huge firefight - or it might be a big party.

That’s the core draw - and it’s not necessarily for everyone.


There are much better games for PvE looting, honestly. My recommendation is the STALKER: Anomaly modpacks like EFP and GAMMA, both of which are free downloads.

Trying to make ARC Raiders into a PvE shooter would require every map and enemy to get reworked for low-population gameplay. The game just isn't built for it, and their effort is better invested in catering to the preexisting playerbase.


That's ok. They are also missing out on all the players who won't try it until it's a dating sim. Or a turn-based-rpg. Or a third thing.

Everything doesn't have to be for everyone.


Same. I don't play any PVP. I play co-op. I play co-op vs npcs. If PVP is the only option I'm not playing.

I'm not a WoW player, so perhaps speaking out of turn — but doesn't that example show that users know what extra features they don't want, not extra features they do?

that distinction sort of misses the point i was trying to make.

sometimes users want something. that something might be a feature request, or it might be a feature removal. it doesnt really matter for the sake of my point(s):

a) ignoring your users requests can sometimes be a bad choice.

b) you might not necessarily understand every underlying problem that every user has. worse, you might think you understand the problem when you dont.

expanding on b: blizzard thought they understood their player base and the underlying problems of retail WoW. on multiple occasions, ion explicitly said stuff like "you think you want this, but you dont". they kept making changes to retail WoW to try and stop the hemorrhaging of players.

eventually they said "fuck it, we dont know why you want this, but here" (not a verbatim quote). it ended up being very profitable.


Sid Meier has talked about something similar: he likes to tell designers at Firaxis that "feedback is fact". That is, no matter how strongly you (the designer) believe that something is a good design, if the player says "this isn't fun" then that needs to be taken as the gospel truth. The players might not be able to explain why it isn't fun, and you might be able to tweak the design to make it fun, but what you can't do is insist that the design is for the best while players are telling you "no, really, this isn't fun".

Unfortunately Blizzard has had a problem for a long time where they are too stubborn to listen to player feedback about WoW. They will put systems into the game that people hate, and for years they will insist that the system is fine and meets the team's design goals, despite all the people telling them that it sucks and isn't fun. Then, finally, in some future expansion they will go "yeah guys that really did kind of suck" and remove or overhaul the system. They really don't have a culture of listening to player feedback, and it drags their games down.


Blizzard did the same exact thing with Diablo 4 too, and D3 also famously sucked at release.

You'd think they would have learned by now, as they repeat the same exact mistakes over and over again. It's like they hate their playerbase.


The biggest problem I remember from D3 release was that they listened too much to the "this is way too easy, not hard like D2 was" from the beta feedback. Inferno difficulty was absolutely ridiculous. I know people also were unhappy about the AH, alleging that the item drop rates were lowered to drive people to use the AH, but I don't know whether or not that was true.

What I’ve found is key to UI design is to take this a step farther. Users will often try to explain why it isn’t what they want and they will be wrong about the explanation.

>Ignore feature requests — don't build what users ask for; understand the underlying problem instead

That sounds like good advice on the surface but it should be "understand what the user is asking for" then see if it is a valid thing, after which you can decide how to accomplish it. Users usually come to you with the last bit. They ask you to do it in a particular way.


That's reinforcing the author's point: the classic game already existed, users just wanted the same game with some maintenance updates - not a new game with new features.

In this case it was the producers (not the users) that were wrong in wanting to throw away something that already worked.

I believe his point isn't exactly about users not knowing what they want, but instead the tension between evolutionary design vs. "keep piling features".


>users just wanted the same game with some maintenance updates - not a new game with new features.

this is similar to the comment by treetalker, so i dont want to just copy/paste my reply to them, but focus on "add" vs. "remove" is sort of beside the point(s) i was trying to make.


Runescape has a similar thing going on. What everyone's not understanding is not that improvements are bad, lots of the player base also want to see games evolve. It's just that a significant proportion of the audience also like The Old Thing and they're often more engaged as an audience in the first place.

You hear this story over and over about every kind of software.

There are two audiences every successful developer needs to cater to: the "I wish this did X, I want new features" side and the "I liked it the way it was" crowd and they're distinctly different groups.

For a long time I produced a popular technical art asset for video games and even I realised I needed to include every single version of the tool with every single installation. If a developer has to go and find out how to get "the right version" at all then I'm 90% likely about to lose a user.

Focusing on the "we did this right just keep going like that" and really understanding WHAT you did right and WHAT people like is really important. It's really hard to be impartial when you made the world rather than consumed it, but always take the win.


But in your example the version with less features that "knew when to stop" actually turned out to be more desirable, so...

Well to me it sounded like they followed the first part (ignore feature requests) and failed at the second part.

Just build the feature is the wrong lesson to learn. The right lesson is to expend more effort to understand; and yes, part of that _could_ involve shipping the feature in order to get data/feedback.


This is a good point, though maybe means that "understanding the underlying problem" requires a degree of humanity.

I think it's fair to say that Blizzard at a certain point went corporate and "lost the plot", so they thought they knew what people wanted, even though they really didn't (don't you guys have phones?).


Same with Old School RuneScape.

Jagex thought they knew better than the players what the game should look like, and overhauled the whole game to the point it was unrecognizable. It took a massive loss of paying members to get them to finally release 2007 version of RuneScape back.

Even now, OSRS has double the amount of players that RS3 has. Lol


This isn't even true. OSRS was on life support with very few players for years until they started giving it updates.

Turns out the 2007 version of the game was ROUGH for a lot of reasons - they picked the time because, IIRC, it was the most complete backup they had.

OSRS has now had nearly a decade of consistent updates, a large team, and typically 10x the online player count of the "modern" game. The catch is that OSRS is not the 2007 version of the game, it's an alternative update timeline which broke off at the 2007 version of the game.


That's not quite how I remember it.

But I can't think of a way to verify those numbers, so agree to disagree.


The irony of your WoW example is that "retail" WoW basically evolved by Blizzard adding features in response to player feedback where each step when viewed individually seemed reasonable.

And eventually the situation got so "bad" that players realized they actually didn't want any of this (a lot of people have lengthy commentaries on how more in-game friction somehow makes the game better), and then the demand for Classic actually became overwhelming. And even so, I'm not sure Classic consistently has more players than Retail. Probably just two different player bases.


>WoW basically evolved by Blizzard adding features in response to player feedback

blizzard is notorious for not responding to player feedback, as my original comment serves as just one example of, so i am not sure where you are getting this idea from. there is probably a super compilation somewhere of ion telling the player base that they are wrong about wanting X.

(to be fair to blizzard, they have been better at listening to feedback in the last ~2 years, but that is a very recent change.)

>and then the demand for Classic actually became overwhelming

this is the point in time where my comment starts. demand for classic became overwhelming, and yet they ignored it for years, while telling everyone "no, you are wrong, you do not want classic".

this is the key part: blizzard eventually released classic, and publicly admitted "we should have listened to you guys. you really did want classic.". turns out the player base did actually know what they want.

>And even so, I'm not sure Classic consistently has more players than Retail.

i am not sure what the relevance of this is.


Does it matter if classic doesn't have as many or more players than retail? Nobody said it would. Just that some players would prefer to play classic and that has certainly held up.

I got out of my WoW addiction, but I think in this case "Classic" was people asking specifically for LESS features in their game

And the people owning the product were convinced players wanted more features.


On this note, I'm seeing this pattern crop up in retail WoW addons. (It's maybe an even more literal interpenetration of the title.) Many of the newer addons are heavy vibe-coded due to last-minute WoW API changes, like ArcUI.

The addons have _so_ many ways to customize displays that their configuration menus look like lovecraftian B2B products with endless lists of fields, sliders, and dropdowns. I hear a lot of complaints from raiders in my guild about how hard it is to put together a decently functional UI. I wonder if these tools are allowing and/or causing devs to more easily feature creep the software that we build.


the sudden influx of low quality UI addons has certainly been interesting to watch!

but, i dont think it is really an ai problem in this specific case. the biggest addons in wow have been like that since way before ai was a thing (elvui, weakauras, plater, etc.). they all have a thousand settings.

and, to be honest, in the specific case of WoW, i am totally fine with it. i dont want 10 different addons to change how my UI looks. i want 1 addon to do it. and there is just so much stuff to edit that of course you are going to end up with a thousand settings.


WoW at least figured out sometime around Pandaria or the previous expansion that they needed to launch the game engine changes a month or so before the full release and do beta servers so add on designers had time to adapt to api changes before everyone was trying to make World First achievements happen. It also probably saved their download servers from being slammed.

I think there's possibly more to it. Many, many years passed and the people asking for it changed over time. There's a big difference between, "I wish I could go back 4 years and re-experience it all" and "I wish I could go back 20 years and re-experience it all."

I also wonder if maybe they were generally correct. What percentage of people asking for WoW Classic back in the day actually ended up there?

It's kind of like if my dad encouraged me at 17 to get a minivan because I'm going to want a minivan. And then I'm 35 with kids and I get a minivan and he says, "see? I was always right!"

Another way of reasoning about it is to reframe it as a shared problem: "What should we do with the resources we're committing to WoW?" "Do WoW Classic!" probably was a wrong answer for a long time if the goal is to make the most people happy (and make the most money) rather than make the loudest people happy. This quickly gets into how users (especially tech savvy ones) generally have no clue how things work and have zero sense of the associated cost. WoW was constantly full of people with quick opinions on how hard it should be for a multi-dollar company to do certain things. No appreciation for the mythical man-style difficulties associated with distractions and pivots and whatnot.


This is such an odd line of argument. They continue to put a lot of resources into classic. Clearly it's paying off for them and there is a large enough demographic that it's financially sensible to do so. They don't run a charity.

There's a decent video of someone playing WoW Classic for the first time - https://youtu.be/NjQgoaagS-E

And it basically came down to "classic WoW was simpler and for new players provided something that modern WoW doesn't/can't really - especially the spontaneous community.

WoW started out as an MMORP, but it's really a massively single player game until you're top level anymore.

The demand for classic wow got much, much stronger after cataclysm, because then you couldn't even "pretend" anymore.


This reminds me of Origin Systems and Ultima Online. The number of player-run shards over the years promising Classic UO gameplay and the number of player hours spent on them is enormous.

Similar thing happened to Diablo II recently as well. Blizzard added a new class and couple of quality of life updates, after not touching it for over two decades other than the pretty authentic resurrected remake. Some of the QoL updates such as loot filter are very long overdue (integrated by competitors and have been asked by the community for years). Blizzard even sent surveys looking for player opinions about further updates for this 25 years old game. All these while D4, the one that should be their flagship product has its expansion announced. I believe there is something other than nostalgia that makes D2 superior than all successors. I don’t believe current Blizzard is capable of adding contents without breaking that authenticity though.

There an interesting series on the modernization of diablo[0] that dives deep into the game mechanics that makes d1 and d2 "better" games than d3 and d4. Basically it all comes down to creating tension, power variable spikes, and meaningful itemization.

https://youtu.be/bcdHPZzyCxQ?si=a8_mDLFTcMrKFV_s


There was a similar situation with Old School RuneScape.

If I recall correctly, at some point a pirate server running an old version of RuneScape became more popular than the actual game. So then they made their own official "classic" version of the game. I think it's more popular than the "main" one now.


Asking for WoW Classic isn't a feature request, that's asking for an entire game. People asking for it want to go back to how WoW was a decade+ earlier. The issue about "ignore feature requests" is talking about features for the existing software that distract from the overall goal/purpose of the software.

please read the last paragraph of my comment.

(you could also note that in the first ~10 words, i say "this reminds me of blizzard" instead of "this is exactly like blizzard".)


I would actually argue that Classic WoW and OSRS are not good examples. These games already existed. For OSRS, the mass cancellation of subscriptions immediately following game updates was a clear wallet vote. Most feature requests aren't asking for the return of something people already liked.

Classic WoW is also not as successful as OSRS, which is why they're exploring Classic+. Even OSRS, which was born on nostalgia, also gets significant new content updates (albeit polled).


As always the answer is… both. We make things that people didn’t know they wanted, and then they have good ideas about them that we didn’t think of. A truly great product finds the balance between developer creativity and user satisfaction

I think a large part of that is that Classic Wow is possibly not in the business interests of the bean counters. If it's classic, you can't sell new expansions, new MTX etc. I don't know how honest Ion was about the actual reasons Classic didn't happen sooner.

Still, by volume, there are thousands of examples of bad ideas and feature requests on the wow forum too.


That's also a good case of the difference between a "Yeah, it'd be cool if you added this feature for free" type of feature request vs "I'm actively paying a company making a hack version of what I'd like from you - would you please let me pay you instead - for the love of god, please please please take my money?"

Speaking of classic WoW... found this gem recently where a guy talks about his experience playing classic in 2026 without any nostalgia: https://www.youtube.com/watch?v=NjQgoaagS-E TLDR classic is pretty damn good!

But they didn't actually build WoW classic. They just built another version of the game. Gameplay wise it is drastically different.

Economics & business wise it is very simple while it is popular: monetization.


>But they didn't actually build WoW classic. They just built another version of the game. Gameplay wise it is drastically different.

what?

i played vanilla in 2004, and i played classic when it released. your description is extremely inaccurate.


Explain. Classic is nigh identical to the old version in all the ways that matter, primarily gameplay, with fairly minor improvements.

Drastically? What are you talking about?


Exception that proves the rule, IMO.

Warcraft III remake was bad

The "underlying problem" here, for Blizzard, is shareholder value, and they understand it well. The decision to dedicate developer resources to re-releasing old content is driven by careful assessment.

In most cases it's probably driven by falling new player acquisition numbers, and so the equation switches to favoring player retention or luring back veteran players.

Every profile of player has their own preferences (some just want to see big boob textures, etc.) but that doesn't mean they are driving product decisions, except in the case that this demographic becomes core to the business model. But it has nothing to do with the particular preference.


And the underlying problem is that newer world of warcraft sucks, no ? So when people ask "give us wow classic", what they really want is "give us a nice version of the game"

And the team failed to do that multiple times

Is this wrong ? Probably


>And the underlying problem is that newer world of warcraft sucks, no ?

no. retail has more players than classic. they just had a massively successful expansion release.

>So when people ask "give us wow classic", what they really want is "give us a nice version of the game"

no, they want classic. you are re-learning what blizzard finally learned. people literally just wanted classic wow.


So what, they want nostalgy ?

Classic represents a different design philosophy. One that still appeals today. It has nothing to do with nostalgia. Or games like Project Gorgon wouldn't be so appealing to people.

So we are back to what I said earlier :p

People do not want "classic": people want a "good" game that has some specific characteristics


>People do not want "classic": people want a "good" game that has some specific characteristics

as long as those "specific characteristics" are literally and exactly what classic wow is, sure.


Kinda. I think people want "classic WoW" because they aren't able to articulate what, exactly, would need to change with WoW to make them happy again. But they can pretty easily paint to the old version and say "I liked that, bring that back". I think it's plausible that you could (with time and effort) design something that isn't the same as classic WoW while keeping the players happy.

>I think it's plausible that you could (with time and effort) design something that isn't the same as classic WoW while keeping the players happy.

blizzard tried to do this with the retail version for literal years while people kept saying "please, i just want classic wow."

now, if you mean that it is plausible that those same people would play a different non-wow mmorpg that shared some aspects of classic wow, sure. but that is drifting pretty far from my original point.


We should normalize "finished" software products that stop feature creep and focus strictly on bug fixes and security updates.

It takes real courage for a builder to say, "It’s good enough. It’s complete. It serves the core use cases well." If people want more features? Great, make it a separate product under a new brand.

Evernote and Dropbox were perfect in 2012. Adding more features just to chase new user growth often comes at the expense of confusing the existing user base. Not good


You are basically describing all software ever shipped before webapps and online updates became a thing.

Companies wrote software and sold them in boxes. You paid once and it was yours forever. You got exactly what was in the box, no more and no less.

The company then shipped a new verson in a different box 1-3 years later. If you liked it enough, and wanted the new features, you bought the new box.


And people liked that model, see the huge backlash when Adobe went subscription for creative suite.

I do wedding photography as a side hustle, I upgrade my camera maybe once every ~7 years. Cameras have largely been good enough since 2016 and the 5D Mark IV. I have a pair of R6 mk II that I'll probably hold onto for the next 10 years.

Point being, Lightroom has more or less been feature complete for me for a very, very long time. For about the price of 1/year subscription, I could have purchased a fixed version of Lightroom with support for my camera and not had to buy it again for another 10 years.

We are getting milked for every nickle and dime for no reason other than shareholder value.

It actually discourages real improvements. Before the subscription model, if Adobe wanted to sell me another copy of Lightroom they had to work really hard to make useful features that people actually wanted, enough to the point they'd buy thew version.

Now, they don't have to. You have to keep paying no matter what they decide to do.


> And people liked that model, see the huge backlash when Adobe went subscription for creative suite.

That backlash was short lived. Adobe went from $4.4 billion in revenue in 2021 to $23.7 billion. It used to cost $2500 for the "master collection". Now it's $50 a month.

I was one of those people that disliked switching to subscription. I stayed on CS6 for years. I'm also only a relatively casual user though. I once tried Affinity Photo for some work. Their workflow, for my needs, would have made me take ~6hrs more time than the similar workflow in Photoshop. So I paid the $120 a year for photoshop/lightroom because $120 is way less than 6hrs of my life. If of course that was my specific case. It might not be true for others. The point was though, $120, at least for me, is not that much money relative to what I charge/get-paid. So I gave in.

Further, Photoshop is a good example (to me) of software that can't stop updating. New formats come out HEIC for example. New cameras with new raw formats come out. New tech comes out. HDR displays are ubiquitous at this point (all apple products, some large percent of Android, PC, and TVs) (which BTW, Photoshop does not yet truly support so expect an upgrade).


It appears to be $69.99 per month with an annual contract, $104.99 per month if month-to-month. But the point of subscription-based things is to make you forget and not notice the price increases.

> That backlash was short lived. Adobe went from $4.4 billion in revenue in 2021 to $23.7 billion

So? Anecdotally, the vast majority of Adobe product users are still upset about the subscription model (but not upset enough to switch to worse software)

> It used to cost $2500 for the "master collection". Now it's $50 a month.

Illustrator-filmmaker-animator-publisher-photographer-web-designers everywhere rejoice!


They're upset, yet they're paying for it. It sounds like the software was underpriced, because people are still using it. Honestly, blame the consumers, not the businesses in these scenarios.

For lightroom at least, no, because there are very few or even no good alternatives. It looks like there are a lot of photo editor apps out there, but most of them are crap or designed for different workflows. I can say because I evaluated various options before begrudging accepting lightroom was the only decent choice.

The subscription model irks me because it's a bit overpriced and they keep trying to shove subscription features on us. No, I don't, and will never care about ridiculously overpriced cloud storage nor generative AI tools. How about adobe fixes issues in the core product first? If given the choice, I would definitely choose a pay-once, no-upgrades licence. But adobe saw their opportunity and started squeezing us for more on a product that was fine.

The plus side of this is it's motivated me to consider building my own photo editing software.


> Before the subscription model, if Adobe wanted to sell me another copy of Lightroom they had to work really hard to make useful features that people actually wanted, enough to the point they'd buy [the new] version.

Not quite: https://dilbert-viewer.herokuapp.com/2002-06-11


How did Adobe manage to change your previous installation of Lightroom? If you bought it, can't you still use the version you bought?

Yes, but no support for CR3 files, only this time I didn't have the choice to buy a new standalone version, I had to subscribe.

Yea, good old days :)

The catch was that old boxed software eventually breaks on new OS versions or devices.

However, SaaS has the potential to "freeze" features while remaining functional 20+ years down the road. Behind the scenes, developers can update server dependencies and push minor fixes to ensure compatibility with new browsers and screen sizes.

From the end-user's perspective, the product remains unchanged and reliable. To me, that’s very good!


My experience is actually the opposite.

In the old days there was no expection when and if users would upgrade anything, so vendors had to take extra care to ensure compatibility or they would lose business. People in a single office could be running 6 different versions of Microsoft Office, and the same file had to be viewable and editable on all of them. A company could decide to upgrade to Office 2010 but stay on Windows XP, so the Office division had the finanical incentive to ensure that newer versions would work on an older OS.

Nowadays the standard is "you must be on the newest version of everything all the time, or the app won't work". Don't want to upgrade to Win 11? Want to use Firefox instead of Chrome? Don't want all the bells and whistles that come with the newest version of the software? Too bad.


Which resulted in businesses holding on to extremely old software and OSs because migration to the latest system was expensive and difficult. Now it's effortless.

More like "you must be on the newest version of everything all the time, or you will get hacked".

Because security fixes don't get backported, when they could, and few are still doing separate security vs. feature updates.

Even Windows is doing it now with CUs, bundling feature & vulnerability patches together, then deprecating the last version. You don't have a choice anymore, it's "accept the features or else"


SaaS has that potential but the reality is more often that the vendor gets acquired, or they just decide to stop supporting it, and shut it down. You have no options to keep running what you had, only to migrate to a replacement, which is likely another SaaS which will do the same thing.

Or, as in the case of Microsoft Publisher, announce that it will be going away on a certain date with no recourse.

Before 10/26 I have to re-work my desk position manual and a deposit sheet which use Publisher and which MS Word is _not_ suited for. Probably will do them in LyX or LaTeX.


This is one of the biggest issues in software development: So few projects are willing to admit that they are finished. I can probably count on one hand how many software products I use every day that actually get better (or stay the same) on update. The vast majority of them peaked somewhere around v1.0, and are just getting worse every time the developer touches them.

I can understand the incentives for professional software. If you admit the software is done then management will question why they need you anymore.

For OSS it’s more psychological: admitting you’re feature complete is cutting off the dopamine hit of building new things.


Dropbox is a great example. It's now a fundamentally different product than the original, and has re-created exactly the problem the original solved. There's no longer a good cloud-synced folder tool; everybody has gone back to implementing network filesystems that are much more complex and a badly leaky abstraction.

I remember the first time I experienced this was an iOS app called Task Eater. It was simple To-dos. Attractive, snappy, everything you could need. The dev released a "final update" where he basically declared it was done. This was pretty early iOS (iPhone 4 era?).

The only problem is he never updated it to roll forward to future iOS version/iPhone models and it hasn't been usable for years (and years).

This made me search it up - the world moves so fast it's difficult to find any information on it whatsoever.


I wrote my comment before I read yours, but it perfectly explains why software doesn't do that. Sadly I can't take credit for the core idea: https://news.ycombinator.com/item?id=47272024

I think it's common in libraries of small to medium size. I often see Haskell and Rust packages that are not updated because full functionality achieved, no bugs and 100% test coverage.

Absolutely not the case with enterprise software. Zawinski's law is truer than ever: https://news.ycombinator.com/item?id=20165602


It’s funny, Express.js tried this. 4.x was basically a complete piece of software. There weren’t any great reasons to change the API.

But people hated that. They considered it “unmaintained”. They moved to Koa and Hono because they appeared to be more “actively maintained”.


I think the hard part is understanding if “finished” software is still maintained.

I’ll pick on AppZapper here. It doesn’t need to do much, it’s a Mac app that finds the files related to an application and deletes them, for a complete uninstall. It released in 2006, with v2 coming out in 2010. The website looks like it’s still from that era and the last update was in 2020, almost 6 years ago. To be fair, it’s a cool app, from the “delicious” design era. It makes a ray gun “zap” sound as it uninstalls an apps, for no reason other than to be fun. It’s great.

Is it still in active maintenance with nothing to do, and there have been no meaningful changes in how apps are installed in the last 6 years, or has it been abandoned? I really don’t know. If I’m a new user trying to decide if I should pay $20 for this app, what do I do?

I don’t want updates for updates sake, as that leads to enshitification, but there needs to be some sign that a user isn’t throwing money at a dead product. Or in the ls example, developing a workflow around a dead tool.

A ran into a similar question with Yojimbo. It also launched in 2006. When v2 came out it was a paid upgrade and seemed fairly minor for how much was being charged (at least to a broke college student). It felt like they didn’t really care about it. But here we are 20 years later and it still seems to be going. But it was 14 years between v2 and v3, and the last release was in 2023. With 14 years of support, maybe that v2 would have been a worthwhile upgrade for me in hindsight, but when they go years without an update, I start to question if I should be looking to something with more support. Should a new user buy and invest time in putting their data into something that hasn’t been updated in 3 years, or is that a red flag?

These are the things I struggle with.


What exactly is wrong with installing an abandoned product? Just because it's abandoned doesn't mean you can't use it.

Apple tends to expect a lot from its developers. Changing processor architectures is a big one. Unlike other platforms, Apple cuts support and moves on. If an app is abandoned, it starts to show sooner on Apple platforms than anywhere else.

If it’s something that will become critical to a user’s workflow, that can be a big problem. Why invest in an app without a future?


I prefer the perspective that a computer program is akin to a mathematical constant. This was true in the old days. A program I wrote in C64 BASIC, way back in 1980s, should still work precisely the same today (even on one of the freshly-manufactured Commodore 64 Ultimates).

You've honed right in on what's changed since the old days: Platform vendors (such as Apple) now continuously inject instability into everything.

You might argue that developments such as "changing processor architectures" justify such breaks from stability (though I myself have qualms with one of the richest companies in the world having a general policy of "cutting support and moving on"). But I would point out that Apple (and other vendors) create instability far beyond such potentially-justifiable examples.

To me, it appears as if Apple actively works to foster this modern "software is never finished" culture. This is seen perhaps most clearly by they way they remove apps from their iOS store if they haven't been updated recently (even as little as 2 years!): https://daringfireball.net/linked/2022/04/27/apple-older-gam...

Shouldn't we be demanding stability from our platforms? Isn't the concept of "finished software" a beautiful one? Imagine if you could write a useful program once, leave it alone for 40 years, and then come back to it, and find that it's still just as useful. Isn't this one of the most valuable potential benefits of software as a premise? Are the things we're trading this for worth it?


I think the reasonable fear is that the product no longer works. Maybe Apple changed a required API in 2021 and poster would be purchasing a lemon.

Excellent self-owning example:

> Dropbox were perfect in 2012

You mean that dumb app that forced you to move files into a single folder instead of adapting to your workflow was prefect?

Yeah, no, we shouldn't normalize that, we should push for improvements


In 2020 I became a full time Java developer, coming from a infrastructure role where I kind of dealt with Java code, but always as artifacts I managed in application servers and whatnot.

So when I first started dealing with the actual code, it scared me that the standard json library was basically in maintenance mode for some years back then. The standard unit test framework and lot of other key pieces too.

I interpreted that as “Java is dying”. But 6 years later I understand: they were are feature complete. And fast as hell, and god knows how many corner cases covered. They were in problem-solved, 1-in-a-billion-edge-cases-covered feature complete state.

Not abandoned or neglected, patches are incorpored in days or hours. Just… stable.

All is quiet now, they are used by millions, but remain stable. Not perfect, but their defects dependable by many. Their known bugs now features.

But it seems that no one truly want that. We want the shiny things. We wrote the same frameworks in Java, then python the go then node the JavaScript the typescript.

There must be something inherently human about changing and rewriting things.

There is indeed change in the Java ecosystem, but people just choose another name and move on. JUnit, the battle tested unit testing framework, had a lot to learn from new ways of doing, like pytest. Instead of perturbing the stableness, they just choose another name, JUnit5 and moved on.


> But it seems that no one truly want that. We want the shiny things. We wrote the same frameworks in Java, then python the go then node the JavaScript the typescript.

I think that people are just afraid that if they use a library in maintenance, they will run into a bug and it'll never get fixed. So they figure it's safer to adopt something undergoing further development, because then if there are issues they will get fixed. And of course, some people have to deal with compliance requirements which force them to only use software which is still updated.


I think there's a huge "it depends" caveat. In the JS world I remember browserify, it did what it was meant to do and it was extendable. A really nice Unix-like minimal software.

The reality is that it was just a small piece in a larger ideal build chain. So for the past 10+ years, we've seen an explosion of more complete build tools that do everything.

Browserify now sits there "finished" and receiving bugfixes. Nobody uses it anymore, even if it popularized npm for the frontend.


I remember we made a switch to redis because java's memcached library was unmaintained. I made I joke that it's just feature-complete and cannot be improved upon, people chuckled, but we still did the switch.

Quite a bit of risk telescoping there...because you had the source code to the memcached library so in the theoretical case you found a bug in mature code (how many times have you seen that?), you weren't SOL. So instead you switched to an entirely new system? If you were trying to minimize risk and cost, you did the opposite unless memcached was doing something else that was a problem.

Honestly having looked at the memcached clients available for Java recently, I don't think any of the options could be considered feature-complete. None of the main ones support the meta protocol at all, meaning most of the advanced features aren't possible (and these are things that can't be emulated on the client side).

Hell, the main feature I needed (bulk CAS get) didn't even require the meta protocol or recent memcached features - spymemcached just never bothered to implement it. I ended up abandoning the change I was working on, because the upstream never looked at my PR and it wasn't worth forking over (bigco bureaucracy etc).

There are also quite a few legitimate bugs open for years that haven't had so much as a comment from maintainers.


This is why I love Sublime Text. It's so fast, it works so well. It isn't trying to be AI, it isn't trying to evolve until it can read email or issue SSL certs via ACME. It's focused on one thing and it does it extremely, extremely well.

this is why i am still on vim

Ha yes, learning vim was one of the best things I ever did. I can SSH onto a Juniper router and fix up config using vi. I still try to instill in juniors these days "Learn vim!" but everyone just wants to use nano (which I understand but nano isn't preinstalled on many network devices)

> everyone just wants to use nano (which I understand

I do not understand.

I have a very capable colleague/friend who uses nano. Unix hacker type, so I think it is what he is used to from growing up. I still find it strange, but such is the nature of preference.


Nano not powerful, but it is friendly, it shows you its keybinds.

Vim is very powerful, but also very unfriendly.

The difference in effort required to pick up Nano vs Vim is HUGE


I feel like a heathen; I'm using Neovim.

I also felt a little guilty when making the switch! Totally irrational of course, but still there's something to be said for sticking to the the original.

If you don't use emacs, you are a noob to me...

I am still on "vi"

wow that's two people, including me!

(jokes aside, if I had a choice I'd use vim/neovim, but when I ssh into a remote system that has minimal installs, vi it is)


hey don't be so hard on yourself, everyone makes mistakes!

it's okay, you're still one of us

Yeah that. Same here.

I think notepad.exe is the strongest example of this right now.

The amount of hacking required to even be allowed to re-associate text files with that particular exe on Win11 was shocking to me. I get that windows is extremely hostile to its users as a general policy, but this one felt extra special.


> I think notepad.exe is the strongest example of this right now.

It’s a strong bad example, i.e. an example of software with doesn’t know when to stop.

https://blogs.windows.com/windows-insider/2026/01/21/notepad...

https://msrc.microsoft.com/update-guide/vulnerability/CVE-20...


Yes - now I actually have to wait for notepad to start up.

A Strong Bad example? Isn't he still on DOS, rocking it command.com style?

Also from 37signals, somewhere in their first book they talked about the importance of 'evergreen' things people always want, things like 'the speed of software'. As a junior dev I didn't really get the point or thought it was not that important. I browsed further in the book looking for other gems of wisdom, and this 'speed'-thing only stuck in my head for the wrong reason, thinking it was a little obvious for such clear writers with a solid vision.

Only 15 years later - now a couple of years back - I started to realize the importance of this. The apps on my smartphones seemed to get slower and slower by the year. The fast software experiences were a real joy amidst slow apps. I now have an appreciation for their opinion on 'evergreen' things like the speed of software.


I think Signal (the messenger) is an interesting example: by being free, open source, and privacy centered, there's automatically no room for ads and it's difficult to monetize. Also they have to be very careful adding new features for security reasons.

The result: very few features. Which is exactly what I want.


Yet it has one feature I love (schedule send) which WhatsApp doesn't have, despite adding countless features I do not like or actively avoid (AI, channels)

Definitely that, a finite scope is good and finished software is beautiful.

But also, most of the modern software is in what I call "eternal beta". The assumption that your users always have an internet connection creates a perverse incentive structure where "you can always ship an update", and in most cases there's one singular stream of updates so new features (that no one asked for btw) and bug fixes can't be decoupled. In case of web services like YouTube you don't get to choose the version you use at all.


I moved to Obsidian after Evernote increased their subscription prices beyond the point I could justify and I think Obsidian is heading down the same path Evernote did. They keep adding more and more features to it when I wish they would call it complete and move it into maintenance mode.

For me, the turning point for Obsidian was their Canvas feature. That was a big move beyond the initial design of it being an excellent editor for a directory or markdown files that supported links and all the other cool things you can do with a basic directory of files and a few conventions. Nothing proprietary, nothing much beyond the directory of files aside from a preferences store. IMHO, Canvas and beyond should have been a new product.

If Obsidian was open source I would have been tempted to fork it at that point.


> beyond the point I could justify

Your accountant was calling you at late hours asking you what the hell was going on with your note taking expenses?


Yeah, I've written about this before on this site. Incentives in software licensing have gotten really stupid since the Internet (and more importantly, since the typical user's bandwidth has increased enough to allow all software installation to happen totally online). Now, too many pieces of software are a revenue-extraction optimization problem instead of attempting to serve a space or solve a specific problem.

There are great exceptions to this rule, even in paid software, where the authors are significantly poorer in exchange for producing better software. I imagine the authors of BeyondCompare or Magnet (for example) could have done a lot better financially for a while using a recurring license model.

There are also really stupid applications of this rule, such as what has happened with AutoMapper and MediatR in the last year or so, where the only meaningful commits since going commercial are the bits that check your license and try to fool you into paying :/

It seems like this shouldn't be a problem. It often only takes one developer willing to make a sacrifice to make a particular class of software available that actually attempts to solve the problem and nothing more. But in reality what we see is over time those developers that did make a stand start to look out for themselves (which I have no problem with) and try to take what they can while they have market share.

How do we find a way to live in a world where developers can build useful things and be rewarded for it while also preventing every piece of software from turning into shit? I'm not sure what the answer is.


I think it’s always worth it to consider feature requests from your users. Other comments here reference video games. This is nothing like video games. Video games have arbitrary constraints anyway and should be carefully crafted to preserve the vision. If you don’t like it, make a new game.

Software’s constraints are not arbitrary, they are attached to specific use cases and any new feature that benefits any of those use cases should be considered.

The real issue is when these companies (especially VC backed) add new features and BS that no user has ever asked for. Features that exclusively benefit the company’s bottom line or support some quiet pivot to a new audience leaving everyone else to the curb.


The more stars my personal GitHub repos have, the more likely the project was something I cranked out over a weekend to scratch an itch, and then more or less abandoned because it was good enough -- maybe even perfect for that specific itch?

This is an article Microsoft Windows, Office, Outlook and MS Teams developers and product managers should read, they continually break the working software only to come back regularly to what they have invented already, in the meantime annoying many who had to experience the experiments in between…

What’s worse is they keep rewriting working products. Except, someone gets bored or misses a deadline, so they release a half baked replacement missing features.

Stardew Valley is a great example of this, and that more is not always better.

Specifically he rolled out a "cave" system with procedural dungeon generation where players could mine through walls and other advanced systems, then undid all of it and ended with ~30 static layouts and very simplistic interactions. The entire game feels like a demonstration that simple, predictable and repeatable interactions with software have more longevity than cutting edge dynamic systems.


Stardew is an example of the opposite though? The dev has been loading more and more content via updates for 10 years now. There's so much late game content that would take a very long time to play all of. People are waiting for the devs new game to come out but he is still working on Stardew.

It's not about software, it's about money. They're chasing what they see making money and being mimetic. Simple as. It's a shame and sad to see so many get caught up in this, but it makes sense relative to where the world is at. People are desperate and this is what desperation manifest looks like.

I built a spotify music extractor called harmoni that helps you download your playlists and I feel I'm done. It does its job and it caters to both non-technicals and technical people alike.

Spotify is a moving target, however. It may change its API, remove it completely, etc. I think you can only be truly done if you don’t rely on a third party.

> I think you can only be truly done if you don’t rely on a third party.

On a third-party that changes. Making software for a specific hardware like a game console or a specific e-reader may still technically rely on a third-party but doesn’t carry the same risk and you can definitely say you’re done.


We need something similar to the Svalbard Global Seed Vault, to protect un-AI'd Linux distributions so that, in the event of an AI apocalypse, we will have access to clean operating systems.

https://archiveprogram.github.com/arctic-vault/

Of course, any AI smart enough to apocalypse us would also know about these.


This reminds me of a line from REAMDE that I'll never forget.

"Writers like having residences."

The backstory is they hire two writers-in-residence, who keep making more work and excuses for more work for themselves... so they can continue having a residence.

The same is true for writers of code, it turns out. So we bit twiddlers sometimes gin up excuses to change things, so we have an excuse to be employed and having a residence.


"We must make a full rewrite of our codebase to X architecture / Y language".

How many times I've heard that...


> `als` doesn't just show files.

> It predicts which ones you meant.

> It ranks them.

> It understands you.

This is so good I want to know whether someone generated this or wrote it by hand.


If they did they learned writing from an LLM first.

Good software isn’t always „software that makes money”.

Of course it is important to do stuff that doesn’t make money.

But if your goal is to make money you need software that people will pay for and people will use 20% of features but each one person will use different 20% of the features.


Don't forget the lifetime support subscription you bought for "ls" 2 years ago. It turns out the lifetime is for the lifetime of the software, not your lifetime.

It's the wonderful part about OSS and 'mission-driven' projects. If the mission is not to make money, then a project is free to reject addons/etc that might be lucrative but not add value to the core of the product

the problem is that user interface does not belong to user

in enterprise none of this tends to hold true at all. you need to balance the optics of what people think they need vs what they actually need.

a lot of times people with "we MUST have features XYZ to buy" and then when they actually get set up you see they use only 50% or less of the features. was it useless to build them? they wouldn't even consider you in the first place if you didn't tick the boxes for some higher up decision maker.

probably applies more to people who are already bought in. you have that "luxury" at that point, buy in, cost to switch, etc.


Maybe good software is like a living thing?

It grows and grows and eventually slows or grows too much and dies (cancer), but kinda sheds its top-heavy structure as its regrown anew from the best parts that survived the balanced cancer of growth?

Just forks and forks and restarts. It's not the individual piece of softwares job (or its community's) to manage growing in the larger sense, just to eventually leave and pass on its best parts to the next thing


Related: The growth of command line options, 1979-Present <https://danluu.com/cli-complexity/>

"To order, to govern,

is to begin naming;

when names proliferate

it’s time to stop.

If you know when to stop

you’re in no danger."


— Dao De Jing (Tao Te Ching), chapter 32

I like the fictional way the article starts!

When chatGPT first gained traction I imagined a future where I'm writing code using an agent, but spending most of my time trying to convince it that the code I want to write is indeed moral and not doing anything that's forbidden by it's creators.


"know the role and place your software fits in" yes! Probably one of the most important lessons of my career. As a junior dev starting out, I had no idea how my software fit into the company's product let alone into the entire ecosystem of what was already available and open source. Now as a senior, I see juniors making the same mistake that naturally arises out of this: needlessly doing things that have already been done or re-inventing the wheel. And now that coding ability is a cheap commodity, product development, and knowing where you fit into the ecosystem becomes the main skillset.

Coreutils gets updates regularly! https://gitweb.git.savannah.gnu.org/gitweb/?p=coreutils.git

Even `ls` gets news flags from time to time.

I think "stopping" is great for software that people want to be stable (like `ls`) but lots of software (web frameworks, SaaS) people start using specifically because they want a stream of updates and they want their software to get better over time.


The bar for adding new options, especially short options, is quite high for coreutils. We have a (likely outdated) page of rejected requests [1]. Some of the changes people have strong feelings about...

[1] https://www.gnu.org/software/coreutils/rejected_requests.htm...


A great example of good software with this definition is bspwm. I've been using it for 7 years now, it's as complete as a software can get.

Yeah, but if you vertically integrate you expand your target market, increase switching costs, and can charge rents, so everyone is trying to do it now.

At first glance, the thread title made me think this was going to be about the halting problem.

If that ever happens to "ls" I'm tossing my computer out the window

if I ran an OS upgrade and was greeted by something like this I'd immediately be swapping OS.

It’s optimistic to assume that there’ll be any better options left.

This resonates with AI coding tools. Claude Code doesn't know when to stop —it'll do 30 agentic loops for something that should have taken 3. The cost implications of a tool that doesn't know when it's done are brutal.

a lot of people need to read and understand the message here. Very, very well said!

> ready to upgrade your favorite Linux distribution and packages to their latest versions

It is "their" distribution, to do with as they wish. If this would happen to your workstation, you are a fool, for not following release notes.

I already jumped distros for several reasons, marketing BS was one of them. I do not need latest scam or flag of the month!


Good blog posts know to stop before recommending books by a fascist.

The opinions on DHH on some subjects don’t invalidate his expertise on some other subjects. See also Musk or Ford.

Oracle Database has now been renamed Oracle AI Database. But I think that in time, they will rename it back to Oracle Database. The hype will pass, but the AI will remain, and the name will no longer need to include the AI prefix. AI will just become the norm.

Not only that, but due to their pattern of putting letters after the version number the current version is Oracle AI Database "26ai".

I skimmed the video and the presenters said "Oracle AI Database 26ai" multiple times without even a glint of self awareness on their face. They must've picked the only people on the team that could say that without laughing.


That never happened to JavaScript. It still has Java in the name long after the Java hype ended. We never went back to calling it LiveScript.

Well, there was an attempt of sorts with EcmaScript.

Well no, ECMA Script exists, but it's not a language it's a standard that JavaScript runtimes implement. JavaScript today means ECMA Script version + runtime flavor.

not exactly what we're asking of database, don't you think ?

We want to maintain the status quo in technology. We want databases to remain as they were five years ago. But for some reason, Oracle implemented AI into its database. Perhaps they surveyed their customers, and most of them supported this initiative. Perhaps they surveyed the wrong audience, and real database users do not want to see AI in them. Or maybe they made this decision to get more investment or because of the hype around AI.

But the decision has been made. And if AI remains in databases after the AI hype, the next generation of developers will no longer know databases without AI. That's why I said it will become the norm. But that's just my guess. Unfortunately, I can't see the future. I don't know what it will actually be like in a few years.


Ironically, yeah kinda. In so far as fuzzy text search goes, vectorization works great.

The generative part of the AI hype is getting in the way.


Needs for actual survival and functionality do not out weigh needs for product manager promotions anymore.

The destructive forces (fire clearing deadwood) of the economy have been artificially suppressed for a long time. Most companies are zombie companies now. The US is an entire zombie economic zone.

That's what happens when you have nearly a decade of ZIRP & QE.

Money printer go brrrr.


Just like all organizations are naturally self-expanding and self-perpetuating. Same with all organizations building software. The natural pressure is to expand. It is hard to resist it.

> Good software knows the purpose it serves, it does not try to do everything, it knows when to stop and what to improve.

agree with this point. new developers should care about this.


Good software doesn't get you VC funding.

As if VC funding is a good thing.

Good software is made by individual people, nonprofits, or privately-owned entities.


Sometimes you need to pay the people who made the software. You can't steal during all your life. At some point you have to pay the others for the work they did.

Nobody is saying don't pay your developers. Just that VC funding creates perverse incentives within your business where you are pressured to do what is best for your investors, rather than your customers. But there are other business models where one can earn money and still pay the people working on the product.

And AI.

No. The optimum amount of AI in this world is zero.

VC funding gets you paid, which is a good thing.

Not getting paid is less good.


But more and more, as a user, VC funding is a pretty good sign that either the product is shit or later will become shit.

Which is great because it means whenever I can I should go with the underdogs and SMBs.


VC funding gets you enslaved. There's no such thing as free money.

> VC funding gets you paid

So does robbing a bank. But it’s far from the only option. Plenty of indie developers thrive without any VC funding, and I thank every one of them for it. VC funding is essentially a guarantee that if the software isn’t shit now, it’ll be in the future, and that the creators care more about the money than doing something good. Case in point, the deterioration of 1Password.


als: both fitting and terrifying name for that new utility...

... slowly losing all functionality until, suddenly, death.

"Good software knows when to stop, look at ls!"

ls: usage: ls [-@ABCFGHILOPRSTUWXabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]

I don't think it knew when to stop.


I notice at this time there are no comments about systemd. I figured there would be at least one comment about it and "it does not try to do everything".

Link this to the Spotify product developers

I dislike spotify but weirdly enough I can never point out exactly what's so frustrating about it...

App is slow. It plays music video content as default. Gui has many non interesting parts. I just want a list of albums and songs. I guess I just want it to be "boring but functional. :)

and messaging etc. making it a social network

Good example. Spotify today is noticeably worse.

Rediscovering the Unix philosophy?

I agree with this basically 100%.

> Say no by default — every feature has a hidden cost: complexity, maintenance, edge cases

AI-assisted development is blowing up this long-standing axiom in the software development world, and I am afraid it's a terrible thing.

Just because you can do something, doesn't mean you should.


No, all software grows until it gets email. Jamie told me that.

I’m having flashbacks to the email client built into the Opera browser back in the day.

The hardest part of building software isn't adding features, it's having the discipline to leave something alone when it works. There's a real gravitational pull toward "just one more thing" because every feature request feels like a missed opportunity.

But I've noticed the products I actually keep coming back to are the ones that feel opinionated. They decided what they were and stuck with it. The ones that try to be everything usually end up being mediocre at all of it.

The WoW comparison in this thread is apt. The early expansions had clear identities. The later ones kept bolting on systems until playing felt like managing a spreadsheet.


We've been getting complaints that your comments are LLM-generated or LLM-edited. I've suspended the account for the time being. Can you please email hn@ycombinator.com so we can clear this up and hopefully restore your account?

If anyone's curious about what the (informal to date, probably soon to be formalized) rules are, we don't allow either generated comments [1] or AI-edited comments [2] on HN. We want commenters to write in their own voice.

[1] https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...

[2] https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...


So uhm where can I get the 'als' command then? :P

It’s mostly hereditary.

I should have added /s

Yeah...


Really at this point we should stop making software as we know it, but create minimal tools that an LLM can use.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: