Go back and buy a computer from the 80s, and it's about as useful now as it was then. Buy one from the 90s, and that's still true for tasks that can be done entirely on that computer, but not so much for getting online.
Your iPad 1 is about as useful as it ever was when it comes to doing things that only involve the iPad. It's just that most things it could do want to talk to other computers, and those other computers haven't stayed static.
Find a computer that doesn't need to talk to the world, and you'll find a computer that can stay relevant for a long time. Every 20-year-old car on the road has 20-year-old computers in it still going strong, for example. But if you want a computer to both stay useful and derive its usefulness from the world, then you need the world to stop changing, and that won't happen.
It makes sense that you'd have to upgrade hardware to use new software...
- CPU clock rate has leveled off, mobile processors have been 2-4 threads for a while now and focus more on power efficiency
- 600MB/sec SSDs are kind of 'fast enough' with regards to app loading and boot times
- retina displays are as good as anyone can see
- the GPU is fast enough to draw a moderately 3D GUI
- battery life is longer than an 8 hour work day
- these days the power adapter is heavier than an ultralight
I think computers are starting to last longer and longer before going obsolete on a practical level. What we're seeing now is more like planned obsolescence, where new designs and form factors are getting introduced but the computer is more or less the same.
There are also some classic designs that last multiple years with minor refreshes much like a calculator: MacBook Air, XPS13, some thinkpads, the 10" and 7" iPad
Don't worry, Electron apps are working hard on saving us from 60 Hz.
Two months ago, there was a text editor benchmark on the front page, wherein Atom and VS Code were multiple magnitudes behind all the other editors, leading to this conversation:
Commenter: "Can anyone speak to the difference the underlying hardware makes with Atom or Code? Presumably a top-end desktop processor (~4GHz) and latest-generation NVME storage would offer really good performance, but perhaps not."
Me: "A year ago, people made fun about how programs will get proportionally slower once all the developers have switched to SSDs. Now we're already talking about having to upgrade to NVMe disks for a decent code editing experience."
I understand that abstraction comes with a cost. You tend to lose a little bit of control of exactly what your code does, and there will likely be more cycles used (sometimes trivial, other times not so much) to accomplish the same task. It's one thing to push the boundaries of existing hardware for the sake of productivity. It's another to say, "Yeah using Electron apps for text editing is fine. Just make sure you can bankroll bleeding edge computer builds, and you won't see any performance degradation."
How does that seem like a sane line of reasoning to anyone?
I see something similar in the hobby hardware space. Everyone using microcontrollers (and some really powerful ones) for tasks like homemade smart lights. It's way overkill, but it gets the job done and done quickly. And as a hobbyist it's great because it's infinitely reusable. But that doesn't make it the right thing to use for a shipping product.
EDIT: Ok, to expand on this. Running a small number (< 5) of Electron-based applications on my MBP with 16GB of memory feels like running the same number of instances of Eclipse circa 2005 on my shitty, cheap HP laptop. Nothing else can run alongside them because they're so memory/CPU hungry. But here's the thing, computers have gotten better since 2005. What's the rationale for such poor performance with these apps? my computer has 8x the memory today (maybe more) than that one had. The clock is up by 2-3x. Cores increased by 4x.
There's no excuse for this in final, deliverable products.
There is an excuse for it if you aren't willing to pay for faster software. Cheap is more important than fast for most software products.
Since CPUs and soon GPUs will level out, then at least crypto and video will be pushed into hardware blocks meant to encode/decode them. Churn in functionality requiring hardware assist will probably keep us buying some new hardware at least once and probably twice a decade.
Something that is downright crazy given how long NTSC and PAL stayed in use.
But then i live in Norway, where we are in the process of shutting down FM broadcasts in favor of DAB. Except that DAB has already been superseded by DAB+, and if you go a DAB radio early on you will have to toss that one and get a new one.
How many more computers will we probably buy before mixed-reality jumps the chasm and goes mainstream? I don't think it's more than 2.
We're currently in the modern equivalent of the mid-90s DOS plateau, where an experience that's actually quite mediocre has become the default user expectation.
Getting past this requires an order of magnitude increase in processor power. Given what's happening in hardware that seems unlikely any time soon.
It's more likely tablets will gradually catch up and merge with desktops - but there won't be any dramatic change in the UX offered by either. That needs speed and UI technologies that are at least a generation away.
The new UX will come from voice, AI, and robotics, which will make computing more physically interactive, and less tied to the glass typewriter/document library model.
Given the gargantuan data/compression requirements of light-fields (Lytro's cameras capture >300GB/sec of lightfield data!!!), plus rendering, persistent SLAM, etc, we'll need the power of a GTX1080Ti or better, but able to run flat out using only 1-3Watts of power instead of ~250W.
The good news is this is what the global smartphone manufacturing ecosystem is working towards, with a relatively short device life-cycle to finance the huge effort that will be required to get there. But mid to late 2020s will be all about mixed reality. I am convinced that it will be so incredibly compelling, that any 2D screen, no matter the size, resolution, dynamic range, or refresh rate, will be like command line compared to GUI today.
When we really want to get things done with a computer, we keep coming back to the keyboard and the CLI.
Even high end math/design/engineering packages have a CLI in them.
At the same time, there are ways that you can program a computer that do not rely on pure text input. We've already seen things like Scratch, GameMaker, and Unreal Engine's blueprint system explode in popularity. When the tools are built, people will use them, and they can supplant the previous paradigm.
I think there are advantages VR/MR can have for simple text input, too. I would love to have a virtual work environment where my files live in "physical" locations, where I can visit them as if they were sheets of paper or trinkets, arranging files or bits of code in front of me into graphs I can walk around and draw on like a whiteboard.
Imagine if computers cost $10000 and I got a core2duo machine years ago. I would be very reluctant to get it originally because of the cost and because I know there would be faster systems on the market in a few years. Engineering devices to have a limited lifetime has supported innovation by helping companies make money and by making things affordable so that normal people can buy the latest gadgets.
I know this has been bad for the environment and for those of us who would like things to last forever (I'm one). But, we can't discount the fact that a lot of tech innovation today is due to this very reason.
The main problem is that computers improve much more quickly than musical instruments, or cars, or whatever. I have computers that are nearly 40 years old that work just as well today as the day they were made, the only problem is these old computers don't run the modern apps we want. They don't have music players, or web browsers, or even convenient Internet access.
The computer didn't get worse, the world just moved on. Likewise, your old Core2Duo machine from ten years ago is just as good today, except it was made for an era when Windows fit inside of 256mb of RAM, and javascript was only used to make your cursor a weird color.
Computers don't get slower, we just ask them to do more things.
Now that the Moore's curve has started to flatten, I would not be nearly as opposed to a 30 year machine (especially a repairable one) today as I would have been even 5 years ago.
New processors and RAM are not making the previous generation processors obsolete anymore, which leads me to believe that a 30 year computer is now something which could be realistically considered.
I buy from the local college surplus when they life-cycle their desktops. For what I do at home (browsing, email, youtube, ssh for work) they are more than adequate.
So despite my plan to replace components constantly, I haven't actually had to do it. This has made me realize how little practical value constant upgrades to these components now provides.
I like to play with 8-bit machines, BBC Micro, C=64, Atari 800 and the like, all 30+ years old, the only repair they need is when a capacitor dries out and thats easy to do with the manual and a soldering iron. The constant upgrade cycle of so-called modern machines is clearly, totally artificial.
The hours I spent trying to learn basic with no book and no internet on that thing. Just typing random things into that blue console trying to figure out what secrets it held.
I have used my early-2009 octo-core Mac Pro for 8 years now and I am about to do a set of upgrades to it[1] that I believe will make it useful with no caveats or sacrifices for at least another four years.
I can't believe this is the case - I would never have imagined that that 2009 computer purchase would last 12+ years.
Also, I used my original 13" MBA for almost 7 years before the speakers stopped working. 2GB of RAM was getting a little cramped for my style of 20-tabs-open web browsing, but it wasn't unusable ...
Finally, I have, powered on in my office (and used regularly) an SGI Octane2 which is quite a bit older than all of the above and is a wonderful, wonderful computer - one of the best ever made.
[1] Max out the ram, PCIe based bootable SSD, USB3 card.
This is like comparing sound cards to graphics cards. Good quality sound cards will pretty much last forever because we've reached the peak of human hearing and the latency can't get any lower, (I've had the same sound card for production for over 10 years). GPUs however have loads of scope for improvement and so new ones are constantly coming out all the time, making old ones obselete.
With General Purpose Computers, there is a ongoing Jevon's paradox. As hardware improves, software is changed or introduce that gobble up said improvements and then some.
Thus software outpaces hardware to a massive degree.
We can see this in how as time march forward, what used to be done using dedicated chips are done using a GPC and software that emulates the dedicated chips.
Well, hang on now! That may be true of electronic instruments, but if you buy a piano and don't have it regularly tuned and maintained, that's how you end up with a honky-tonky toy piano. :)
My Lenovo T61 is almost 10 years old and I still use it daily. I hope it will last another 3-5 years.
Stagnation is the only thing that will stop it.
A high quality Moog synthesizer has a barrage of technical capabilities and is engineered and manufactured to the highest standards and tightest tolerances. The same can be said for a Macbook Pro.
The difference between them is that we expect the Macbook Pro to evolve over time. We expect it to connect to an ever-evolving network of other computers, where new threats and opportunities arise every day.
If you take that Macbook Pro and never connect it to the internet, I suspect you'd still have a wonderfully working machine in 10-20 years. If an issue comes up it would almost certainly be the SSD - which, since it's soldered in, can't be replaced.
Take my favorite Macbook though, the 2010 Pro - with its user-replaceable RAM, disk drive, and available optical drive. If I take care of it there's no reason I won't be able to get it to boot in 10-20 years.
I imagine video game consoles and other forms of electronics, at least up until recently probably were build as you say.
Computers, not so much.
Source: Also collecting synthesizers. :)
(This isn't on the same axis as fixability, but capitalism is usually able to deliver many variants and niche products, so fixable, expandable computers should exist at some price point, while Chromebooks/appliances you don't really ~own~ still have a thick piece of the market.
I look around me in the room I'm in currently and I see a massive collection of much-loved, very respected, well-used hardware: synthesisers. But I'm typing this message on a machine (MacBook) that is inevitably going to end up being replaced by something else, just because after a few years its not going to be as much use as it once could have been. This has happened already - with many a MacBook/tiBook, my iPad1/iPad2 collection, and so on.
But yet, the musical instruments still remain, even 30 years after their release, and even long after official support has ended. I chalk this up to completeness: musical instrument manufacturers know that a musical instrument that needs repair/maintenance/upgrades on a regular basis, isn't a musical instrument. (Its more of a toy.)
I wonder what could happen that would bridge this gap between these two worlds - on the one hand, effectively 'finished' products that are always very reliable and still work the way they were intended, decades on - versus on the other hand, 'unstable' products that will, basically, still work on a fundamental level 10 years from now, as long as I'm willing to do the work myself to keep them running.
I wish the computer manufacturers treated their products more like refined, finished, musical instruments than half-finished/never-finished sort-of tools whose functionality is never, really, set in stone for the ages.