> Even if we did see then (and we mostly didn’t) that small, frequent releases were better in a whole bunch of ways, we couldn’t really do it. It was expensive to ship on physical media, and disruptive to our customers to have to do frequent installs.
It's still disruptive to customers. As a software engineer I love CD/CI. It makes the entire process much smoother and more efficient.
As a customer / end-user, though? Nope. I absolutely hate it. Maybe I'm just getting old but I'm extremely nostalgic for the days where I got to decide if I the upgrade was worth it to me or not. These days things will change and move you on without any notice or opt-in what-so-ever.
This is why I turned off auto updates on my phone. I do update stuff periodically, and sometimes I'm forced (and certainly I do OS updates when there is a security issue), but I don't want my apps randomly changing out from under me overnight. Rarely these days are the "bug fixes and performance improvements" actually an improvement for me as the user. I especially hate it when a developer says something like "we update the app as often as possible to make it better for you!" No, updating it "as often as possible" is not better for me. It might be better for YOU, but it's just annoying to me.
Sometimes when I play a retro game, I'm completely in awe of programmers of that vintage.
Games took a year or two to make, on massively constrained hardware, in assembly language, with no engines, all original artwork and music, and no bug fix updates after it was complete.
People like to pretend the future is always better and everything is advancing, but surely they had more talent than we do.
I feel like you're cherry-picking. Games have gotten way bigger content-wise and way more intense in many design aspects. Many retro games had massive teams and utilized earlier frameworks and content to release faster.
There are many old school techniques which are amazing and quite a few talented developers, but I wouldn't make a sweeping statement that "they" had more talent than "we" as a whole.
It's funny, though. Maybe it's just my age and not a comment on the quality of games, but I don't even play newer video games anymore. Every once in a while I'll start a game of Civilization IV (from 2005) if I have a lazy weekend and need a change of pace. I played a lot on the PS3 and then my PS4 was a dust collector. Complete buyers remorse there (and don't get me started on the fact that I needed an Internet connection on first boot to set it up. WTF?!!?!!!)
And I'll still sit and play Tetris for hours and hours and hours on my retro NES. The newer versions, not so much.
I've had this sense over the decades that as video games have grown in scope and graphics they've gotten less fun to the point where I tell people when they ask me "I don't play video games." It's probably been about ten years since I've paid for one.
Many retro games had massive teams and utilized earlier frameworks and content to release faster
I think you and the previous commenter have different ideas of what constitutes "retro."
The people I knew who worked on retro games usually were in "teams" of one or two, even if they worked for a massive company like Atari. If there were three people working on a video game, it was a huge deal. And "frameworks" weren't even a thing. Each game started from the ground up, with the exception of code clips that you printed out and saved in a binder.
You'd still need to name specific examples. All the way from the NES to the current gen, you can name examples of both big teams and small teams / individuals having some form of success.
The coding got easier per content unit and the skill floor is lower, yes. But the ceiling is still high, the demands are far higher and you'd need to be far more skilled in various disciplines to deliver the equivalent of a few decades ago. Those hours you gained no longer coding? You better have spent them figuring out how to do VFX, some decent pixel/line art, or make some stellar sound tracks. If not, maybe be able to do marketing or know how to make your game function in multiplayer online.
>And "frameworks" weren't even a thing.
Using virtually the same frame across a wide variety of processes is the very definition of a framework, even if it isn't a software framework in the modern sense. Many big games on the NES and SNES were built off of one another, you can tell by the similarities between developers and their work. Square being the most notorious.
There's an amazing interview series with Nasir Gebelli, who made some of the first Apple II games, coded the first three Final Fantasy games and a 3d game in assembler, as well as Secret of Mana game for SNES. Highly recommended!
> As a customer / end-user, though? Nope. I absolutely hate it. Maybe I'm just getting old but I'm extremely nostalgic for the days where I got to decide if I the upgrade was worth it to me or not. These days things will change and move you on without any notice or opt-in what-so-ever.
Yeah, even as someone who works as a developer, it seems that in all but a few cases the development organizations have a massively more control about how things are done than they should (which usually manifests as a veto by saying X is too hard/expensive). The overall effect is to make software crappy and annoying in ways that are less technical, and thus less likely to be fixed. Shipping on physical media put a technical constraint that helped keep that social problem in check.
Yup. In most businesses it seems the path to promotion for a Product Owner is to come up with that killer feature that will garner massive new adoption and launch the company into hyper-growth. This leads to existing end users being the sacrificial guinea pigs in a never ending experiment that place hypothetical (and almost never realized) future users over the immediate interests of those currently paying for the product.
I love it as a customer. There's a lot of excitement when new changes come out, and I want them right now!
Beyond business software, I can think of the way that indie games are delivered as early releases on Steam. Most recently, I would get excited for every little Valheim update. It extended the life of the game, which probably won't be truly done for many more years. If they were limited to a single boxed physical release, the game would be left with a shorter development cycle limited by the production budget. Now, the game's sales more directly dictate the level of attention the game gets. Concepts are validated earlier and customers get to more frequently provide feedback rather than developers spending years building something and hoping that people like it.
That particular developer also did a great job of generally not breaking your world and save game (somewhat unlike similar creative/survival games like Minecraft, where you'd be missing out on a lot of things by not starting fresh for each major update).
Sure, frequent updates can break things...but back in the day, there were still plenty of bugs on formally released products, and then you're stuck with those broken things for months or years waiting for the next version to physically ship to you.
One of the things that makes CD/CI possible in the first place is that testing has become far more automated and sophisticated. No one would tolerate CI/CD if it didn't have that additional level of automated quality.
When I see someone who claims not to like when software gets frequent updates, I ask myself: "Do you even like software? I thought new functionality was supposed to be exciting!" I personally see resistance to change as a generally negative personality trait (obviously, there are limits, not all change is good change), and I think that's why I don't understand the romantic nostalgia for the days when we'd buy a piece of software in a box off of a shelf.
> When I see someone who claims not to like when software gets frequent updates, I ask myself: "Do you even like software?"
I used to. That's why I've dedicated 30 years of my life to making it.
But to be honest, not so much anymore. It's not just about breaking things, it's about CHANGING things. Things you paid for. Things you agreed to purchase in a certain shape and form. Forget video games, I'm talking about every day tools you use and depend on to do your daily job or life functions. Things like online banking - my bank suddenly rolled out a complete UX overhaul of their online system and omfg is it ever worse than it was before... I now need to take multiple steps and clicks to do something I used to be able to do in one step. They also broke the browser's back button etc.
And why does this happen? Not because brilliant teams of seasoned experts sat around the table, did focus groups and market research with existing customers to figure out how to make the product better. But because a lone Product Owner sees a path to promotion if they can figure out that one single killer feature that will get a massive new adoption of hypothetical new users (hardly ever realized). And so we, the end user, end up perpetual sacrificial guinea pigs in a never ending experiment that throws us under the bus because the business is chasing a hyper growth they are very unlikely to see.
If you're dealing with something like an indie video game, made by an individual or a small team of passionate people who actually care about their existing users and what to make things better for them then you're going to have a different experience. 99% of the tech industry today is not even in the same universe, let alone ballpark, as that.
To me, disliking greedy corporations and bad management isn't very connected to the method of delivery of products. Frequent and often automatic updates just represent that delivery method.
In contrast to your bank, my bank's website has added numerous improvements and modernizations that have made it easier, more useful, and less frustrating. Perhaps it's just time to switch banks?
There are plenty examples of badly managed products in the pre-SaaS era. If you bought Windows Me, it shipped as a terrible product and it never got better. As soon as you opened the shrink wrap you had no recourse but to wait for Windows XP to fix those problems.
Grand Theft Auto: Vice City featured a bug where saving at the ice cream factory was very likely to corrupt your save. The PS2 had no ability to apply patches or updates to games, so you were just stuck with the software that way forever.
So, you "agreed to purchase it in a certain shape and form" – but just like any other product you never truly know what you get until you made the purchase.
I have no problem with greedy corporations. What I don't like is people changing stuff on me when I didn't opt in to that change. Imagine if someone broke into your house and rearranged all your furniture. That's what it feels like. I don't like not owning my software and not being in control of things I pay for. I don't like not getting to decide if/when I upgrade and what I upgrade to. No one had to upgrade to Windows ME. That's my one and only point.
I don't know why you keep trying to shift the conversation back to video games. Video games are a very different type of software from most and I don't play them or have any interest in them. They're completely irrelevant to the conversation as far as I'm concerned.
Respectfully, I'm not straw-manning nor am I shifting any goal posts. Whether or not you agree with my arguments, I believe I am making them as consistently I can and in good faith.
I'm using video games are an easy example because it's simple to point to a specific gameplay bug that every player will encounter in those boxed games. Those kinds of experiences aren't as well documented for older productivity software. I understand you don't like video games but you should be able to understand the concept of my argument, for all purposes of our discussion these games can be considered to be generic software.
My overarching argument revolves around my belief that the bad things about software revolve around its business model, not from its delivery method in isolation.
>But because a lone Product Owner sees a path to promotion if they can figure out that one single killer feature that will get a massive new adoption of hypothetical new users (hardly ever realized).
This++. It's also the young hotshot phenomenon, where they come in and decide they can do everything better than the old timers (the previous hotshots 3-4 years ago), and change everything they can. We've all been there.
I have elderly family members, 85-plus, who can't understand why the UI changes all the time and they have to continually relearn. Explained this way, they get it, but still say, "they need to remember that not everyone wants to relearn everything every couple of years".
Yeah, I get frustrated about this A LOT. "Change for the sake of change", and chasing meaningless KPIs and metrics that involve ZERO value to users and only serve to benefit the vendor (usually at the expense of users, in fact).
> I love it as a customer. There's a lot of excitement when new changes come out, and I want them right now!...
> When I see someone who claims not to like when software gets frequent updates, I ask myself: "Do you even like software? I thought new functionality was supposed to be exciting!" I personally see resistance to change as a generally negative personality trait (obviously, there are limits, not all change is good change), and I think that's why I don't understand the romantic nostalgia for the days when we'd buy a piece of software in a box off of a shelf.
You seem to be thinking about this through the lens of computer games, which is probably not the right one to bring the problem into focus (then you pile on a bunch of personal judgement, which is frankly irritating).
Also, why should anyone "like software" (as a broad category)? That seems like putting the cart before the horse. I use software because it solves a problem I want solved (ideally with minimal effort); I don't find problems just to put software to use because I "like software." You don't seem to realize that "update" does not necessarily mean "improvement". Often an update is actually a regression to the user (most obviously because of bugs, but more perniciously through annoying changes like unnecessary UX redesigns or dropping features). I'm not "excited" when my workflows get broken or having my knowledge invalidated (e.g. changes that force me to waste effort re-learning how to do things I already knew how to do).
The nostalgia about buying software in a box off a shelf is nostalgia for having problems that stay solved. If that software worked, it would almost certainly continue to work until you made the decision to change something. Not anymore.
I think it’s easy to exaggerate how often updates are regressions, because the ones that don’t turn out so well are going to sit in our memory more strongly than all the other ones that worked fine.
It’s like if you go to Starbucks every day, and in 20 visits your coffee was prepared correctly. Then on the 21st visit, something was messed up.
Which experience would be most memorable? The one where they messed up, not the 20 other experiences where everything was fine.
Most updates to most software
are made in good faith. Companies (at least, the ones not in a complete monopoly) don’t try to scam their customers, they want to keep you happy so you keep buying. They’re not trying to mess up your workflow.
And this is why resistance to change is such an unattractive trait to me: if you’re learning every day like you’re supposed to, having to re-learn something shouldn’t be such a big deal, and it’s not like most software updates are going to just completely change how everything works (especially when they’re frequent and incremental). I think boxed software is actually worse in this regard. I always hated having to shell out a bunch of money all at once for the next version and then go through a more jarring migration process, because each update contained years of changes all at once.
Arguably, Microsoft’s ribbon interface in Office would never had happened if Office 365 existed at the time. They needed a big visual change they could show off in screenshots to stimulate discrete sales.
Apple managed to do something as extreme as changing the underlying file system of my computer with a routine update, no clean install or data migration required. If I wasn’t a tech enthusiast, I would have had no idea it even happened! Can you imagine how mind-blowing it would have been if we could have had that experience in 1998? For most people in the 90s, upgrading your OS meant buying an entirely new computer because it was just that difficult.
I’d personally rather not sit around being bitter and cynical about things being different now, maximizing the bad and minimizing the good.
> When I see someone who claims not to like when software gets frequent updates, I ask myself: "Do you even like software? I thought new functionality was supposed to be exciting!"
Taking away a much loved feature is exciting? Losing more and more control over your own computer, over things you paid for, is exciting? Waiting an hour for your PS4 to install mandatory updates because you haven't turned it on in a few months is exciting?
Good god this is such a naive opinion. I suppose you think all change is good? Even if the people implementing them are greedy assholes in search of ego strokes or power trips?
What if I changed the balance of your checking account to $0? Would that be an exciting change?
For every update that delivers on its exciting new promise, there are four others that have made the life of its developers easier at the cost of their users.
Developers are the ones getting paid beaucorp bucks here, making their life easier should not be a higher priority than supporting things that users want.
Speaking as a developer and lifelong computer nerd of 30+ years.
Interesting example because the PS4 can update games automatically in rest mode while you sleep. It’s so much better than downloading patches manually like we used to do over our dial up connections.
I don’t think all change is good. I just think the anti-updates crowd are minimizing the good and maximizing the bad. Most software updates in our life are so seamless and uneventful that we might as well forget they exist.
You don’t remember the 20 times Starbucks made you a perfect cup of coffee, you remember the one time they messed up.
I think developers and lifelong computer needs like us completely forget that the regular person doesn’t give a shit about any of this. They just want it to work, and they like getting new stuff.
Seamless updating for most things is a relatively recent development. And yes, I notice it all the time, it's annoying as hell. Again, only occasionally do said updates actually improve anything. If we're lucky it will be as good as before. But often we're not, and something is lost.
(And rest mode or no, whenever I turn on my PS4 -- every couple of months -- there's always a stack of updates to deal with. And it always takes forever)
And Starbucks has never made me a perfect cup of coffee. Their beans are perpetually burnt and their process sucks. Back when I was a customer of theirs I had make my order so complicated it's frequently the butt of jokes. In all their haste to serve me and a thousand others every hour, they've stripped coffee down to the barest of essence, robbing it of any character that might have saved it.
Perhaps you've never known what it is like to truly master something, only to have it ripped out of your hands because reasons. I truly hate not having control over my software.
Yeah, we like software. Probably every single person reading this site does. What we don't like is having constant new crap added that doesn't actually benefit us as users (like constantly-shifting user interface, new limitations that didn't exist before, "overhauls" that remove functionality we relied on or expected or were otherwise intimately familiar with). It's a waste of our time and energy, and causes stress.
Yeah, new functionality is neat, but it's an ignorantly-optimistic delusion to believe that frequent updates strictly involve new functionality. It's extremely common that updates involve literally zero benefit to the user, instead introducing some bullshit we didn't want like a "What's New?!" popup that now harasses every time you open the software (Miro, Discord, etc.), or a new notification icon that glows blatantly every time there's a new Awesome Sale available (looking at you, Guild Wars 2).
In many cases, no. It's an adequate tool for some task I need to accomplish. And while some updates are genuinely useful and appreciated, others are regressions or just a change that I now have to get used to and which IMO doesn't make the software a better tool for the task at hand.
I turned off automatic app updates on my phone. It turns out some apps, especially Google ones, do get whiny at you for not updating. Other than that, changes at least happen when I expect them. Nothing can save me from A/B testing though...
It's still disruptive to customers. As a software engineer I love CD/CI. It makes the entire process much smoother and more efficient.
As a customer / end-user, though? Nope. I absolutely hate it. Maybe I'm just getting old but I'm extremely nostalgic for the days where I got to decide if I the upgrade was worth it to me or not. These days things will change and move you on without any notice or opt-in what-so-ever.