We Will Never Live in a Hollywood-inspired Tech Utopia

We've read the books, we've played the games, we've seen the movies and the television shows. We see the future of the world as depicted in popular media. It shows one of effortless interconnection. Where your phone instantly works with the technology around you, no matter where you are. Where your VR gear transports you to another world where everyone hangs out and spends time together. Where you can expect your personal information to follow you wherever you need it to, never having to give another government/private organisation the same information you’ve given out a thousand times before. Where you can buy a smart appliance and reasonably expect it to work with the other appliances in your home to make your life easier, without hours of setup and technical workarounds.

Everything just works together seamlessly, doing nothing but helping people in living their lives and doing whatever it is they want to do. No-one ever needs to think “will my [device/service] work here?” because the answer will always be “yes”. It’s seamless and effortless.

The world that’s portrayed in our popular media is a world that we will never live in. We live in a divided world of legacy software and corporate interests, where no system will properly play nice with another, for technical reasons, profit-motivated reasons, or both. Every company wants to be “the company” in their field. Every online video game wants to be the one that everyone plays. Every payment platform wants to be the one that everyone uses. Every streaming platform wants to be the one that everyone watches. The result? Every company and every service is just another in a sea of companies and services trying to sell you the idea that they’re the only company that you’ll ever need an account with, the only service you’ll only need to use.

You know those movies where everyone is obsessed with “the thing” (usually tied to whatever the movie’s about) and no alternative even exists? Like a smartphone company or a cloud service or a video game franchise or what have you? Yeah, not gonna happen. We’ll always have far too many competing standards, systems, and services, all trying to be “the system” or “the service”, and none of them will work together in any meaningful way.

Yes, your Apple laptop will play nice with other Apple laptops, but what do you do when you want to send a file or otherwise interface with a friend who owns a laptop from a company other than Apple? You can make it work, but you’ll be jumping through a lot of hoops to make it happen.

You have tickets to an event? Your phone could display them with your other cards and passes in one location, but the event holder has decided to use their own crappy app for that, so you’re downloading yet another app and making yet another account for something that should have been effortless.

Want to video call someone using a different smartphone to yours? Get ready to download another app! Even the act of getting around the fact that ecosystems won’t play nicely with each other brings more problems. Everyone has their ‘preferred’ chatting app, so unless all your friends happen to be friends with each other, prepare to download a half-dozen apps just to be able to talk with them. It’s madness!

This might sound like whining about first-world problems coming from someone who has never faced strife or hardship, but weren’t we sold all this stuff on the basis that it would make our lives easier? Yes, it has solved some problems, certainly, but at the same time introduced brand new ones. Nothing “just works”.

That isn’t even beginning to talk about the endless bugs, glitches, or otherwise irregularities that we experience every day. Many are minor, like a small, temporary graphical error on a part of your screen. Some cause slight annoyance, like a app hanging for a few seconds before working as intended. Some require a device reboot, interrupting your day but causing no lasting damage. Sometimes things go wrong at the worst possible time, or even destroy a device for good. This still occurs in our current “technological” age, and there’s nothing we, as consumers, can do to help it.

Every company needs to be “the one”

No company simply wants to be a provider, they all want to be platforms unto themselves, even if it’s to nothing more than their handful of products. Every company needs to be the store. No-one can sell the product in another company’s store - and of course, no-one can interface with any other store.

The result? You and I need to go to multiple stores, multiple apps, multiple services, to get what we want. The corporate fantasy of users sticking to one specific service and disregarding anything that service doesn’t offer is just that; a fantasy. What fully-functioning human looks at their Google account, realises that Google doesn’t offer the thing that they need, and simply forgets about the thing that they wanted to do?

I’m sure that Google, or any other corporation for that matter, would find that just peachy, but in reality, people just go to the place that will help them do whatever it is that they want to do.

We’re living in a relatively low-tech time. We’re only on the very tip of what will be achieved in the next fifty years, at which point, I have no doubt that things will be even more fragmented than they are right now. Perhaps you won’t be able to see your friend in the real world because she is sporting a different brand of smart contact lenses and brain chip. Perhaps I’ve just been watching too much Black Mirror. I hope.

And god help you if you want to move over to another service - whether it’s your music library within a music steaming service, or your business’ project management data. Any company that provides any sort of service acts like they’re the only game in town, and that theirs is the only way to accomplish your goals. If someone else does it better than they do, you’re in for a wild shock when you attempt to move everything over.

Our Modern World was Created in the 1970s

Unfortunately, companies don’t create new systems anymore. Governments don’t create new systems anymore. Everything developed in the last thirty years is built upon old systems and old code, ‘retrofitted’ to meet our modern standards and needs. Everything around you, from the computer or smartphone you’re reading on right now, to the ATM down the street, to the MRI machine in your local hospital, has been designed with a foundation of legacy code and legacy software. Slick websites like Facebook and Instagram, “robust” operating systems like OSX, Windows, and Andriod, it’s all legacy software, built upon by crafty engineers, and held together with piles of dependencies and endless lines of spaghetti code.

Even technology of the future, like self-driving cars, will (or do) run on legacy software. You may think that this is not possible, that all these modern systems can’t be running code written thirty to fifty years ago, but you can put a fancy user interface on just about anything and make it look modern - that doesn’t mean it is.

You might ask yourself why code is being used from so long ago, when technology moves so quickly? You can’t blame the engineers who originally wrote it. I can’t imagine any of them saw their work continue to be used so widely half a century later. The blame here rests squarely on the corporations creating all of our ‘new’ products and systems. After all, why spend time and money creating new, robust code, made specifically to handle our modern demands, when old code can be retrofitted to work the way that we need it to, most of the time?

Technical people like software engineers know better, but a lot of the time, the people making decisions do not have a technical background. They see that something can be made to work, and that’s the end of it. Anything else is none of their concern.

The Minimum Viable Product

Closely linked to the previous point is the concept of the ‘minimum viable product’. In essence, a company wants to spend as little as it can developing a product, while capturing the maximum amount of profit from that product. This means that anything that doesn’t directly contribute to maximising revenue will not be given much consideration, if at all.

For example, if a company’s phone runs hot and crashes for 50% of it’s QA team, then you can bet your ass that they’ll do everything in their power to alleviate that. If then, only one in ten thousand QA tested phones experience the same issue in very specific circumstances, then that will be considered a success, and that phone shipped out. It is never about reliability, it’s about making the product work for most people, most of the time. Nothing is made to be reliable. If your drawing application crashes when a certain other application is open then that gets labelled a ‘fringe issue’ and you’re told not to run those two applications simultaneously, or to find your own workaround. Only when many users are effected is the issue addressed. Why waste money making sure that your software can be depended upon, when you can use it to add new features, capture new customers, or pay our CEO bonuses?

Software has never been about building something that’s bulletproof, something that you can bet your life and your livelihood on. It’s about making it look like it’s working reasonably well. You might make excuses, like “why do things need to be 100% reliable?” or “that sounds very expensive” but since when is it okay that companies give us inferior products and expect us to just live with it? Why is the bare minimum acceptable?

Our Future: A barely-working technological purgatory

Expect the robotic nurse in your nursing home decades from now, to run on code present in Windows 98, to malfunction upon being exposed to some specific words or images, and be unable to communicate with the proprietary robotic EMT that comes to your aid when you have a heart attack, leading to your untimely death. Thanks, technology.