The site uses cookies that you may not want. Continued use means acceptance. For more information see our privacy policy.

Where is the Future?

Wondering what happened to the future, as it seems to have disappeared.

Back in the late 1990s, the internet was the future. Middle-class households were starting to get computers, get online, the dot-coms were booming, and the future was a bright light we were following.

Then came the bust, Web 2.0, the rise of smartphones and an upheaval in journalism, the rise of Facebook, and all that. We got a bit turned around, and surrounded by blinking lights, we cannot tell which way to the future. We do not have the old, strong voices of media to help guide us. They are as confused as we. The juggernauts of the new technology like Google stopped pointing a way forward, became too focused on their own limited vision for their own business. The old guard of IBM and AT&T and the like? Bah, they can barely chart their own future. The old AT&T commercial’s refrain that “You will…” is long gone. Microsoft no longer asks “Where do you want to go today?” Apple Computer just wants to sell you the next slightly-updated iPhone, or maybe a wristwatch.

Sure, maybe autocars will come down the turnpike at some point, but by that point will we even care? Is the future anywhere anymore?


Part of the reason that Elon Musk and Bitcoin get attention (besides money) is their ability to sell a future. Once upon a time, an unknown “It” was touted by advertising from Amazon-dot-com, and it turned out to be a self-balancing two-wheel scooter that didn’t revolutionize anything. But hyperloops, Martian fever-dreams, telescope-blinding satellite constellations, and anonymous climate-destroying cryptocurrency? Sounds future!

There’s still a strong expectation that there will be a future, and we want to know about it. But lately the strong visions of future have evaporated along with the reservoirs out west. We can’t find it! It was here somewhere! Who had it last?!

It’s been awhile since I heard any buzz about Graphene, for example. What the heck, Graphene! You were supposed to make everything…more… grapheney?

And before you say it, pandemics don’t count, and neither do supervillain-rich folks skimming the edge of space! Sure, they were both predicted to be part of the future, but that was supposed to be along with the good things, too. We were supposed to have candybars that gave us an hour of superpowers or dogs that could beat us at chess, weren’t we?! Reanimated dinosaurs that breach containment? Aliens, laser guns, meals in pill form? Something? It was all so hazy back before it arrived—the future—and now that it’s here, I think it’s broken.


Some ideas to reconstitute the future include greater investment in basic research, even more blinking lights, and reducing carbon pollution so that the future can exist.

Others include:

New physical non-volatile media formats

We should have some kind of weirdly-shaped storage. Make it 3D, like marbles or little Rubik’s cubes. It should be rewritable and high-density.

Committee for Development of Youth Slang

Let’s face it, kids of today aren’t coming up with cool new words enough. Cheugy is itself cheugy AF. Come on, kids, you’re not even trying! All cool futures have lots of weird words, like in A Clockwork Orange or 1984. It’s the duty of youth to make them up.

Non-fashion clothing improvements

Fashion constantly invents new looks that never last. Instead, the average person’s wardrobe needs some updates. Better hats, pants that fit, new fabrics, something.

Music that I Hate

The music of today doesn’t make me want to scream. I don’t listen to much of it, but it’s mostly okay. That’s a big red flag. Adults are supposed to inherently grate at modern music. Not future enough!

False Futures in Technology

Commentary about the tendency for mobile devices and other technologies to give us a false sense of the future.

One of the big selling points for certain companies isn’t the actual product, but the cachet it carries. Some of that is and will be social exclusivity or stylistic. But some products have a futuristic quality.

The problem is that society can tend to gorge itself on false futures and avoid any real social progress. Futures where the only thing that changes is that our shoes buckle themselves, or we colonize other planets with our white picket fences.

It can be harder to see real future, in part because it’s so easy to forget the past. By the time I came around, and probably you too, segregation was gone. That’s a hard thing to know: that if I aged backwards through time instead of forwards, society would have developed segregation by now.

There is still progress on social justice, though, and it doesn’t come with a wall charger.

False futures like digital media with severely restricted markets. An electronic book reader would be a great thing, if the market were there for it. If the publishers competed on price, quality, anything but exclusivity and DRM.

The real future comes first in places where industry beckons it, as industry does not feel impeded like many individuals do, by laws made to prefer industry over people.

Drones are being touted as revolutionizing search and rescue operations. I have no doubt they will. Overall I do see drones and robotics as positives for the future, both for safety, but for efficiency and versatility as well.

But we need the laws and systems to avoid abuse, and we need to ensure that their use does not numb us to risks we shouldn’t take.

The same can be said for object printers or three-dimensional printers. As they grow larger, and we begin structural printing, we need to empower people with the tools to make sure the structures they build remain safe.

Taken together, within a few decades we may have the ability to build a new city in a matter of weeks without a person on the ground there.

But will that new city be subject to the same limitations we feel in society today? And will its newly relocated denizens still find the future in their mobile device or screen? In their ability to teleconference or have a robot vacuum their carpets?

I hope not. That sort of kick is false future to me. Technology that makes you feel like you’re in the future, instead of fading into the background, seems like a waste.

Literature and music can give you the same kick, without the high price tag. And it does a better job, because a song never crashes. A good story can take you places we will never go, places you are glad to visit but wouldn’t want to live in.

But as long as the device makers and technology companies have limited visions for the future, they will try to sell you a device to make you feel like you’re holding a piece of the future. All you’re really holding is a ticket to a false future.

Future Software

A look at some ideas for better computers.

Occasionally you read interesting ideas for the future of software. Here are a few to ponder.

docopt

docopt is basically a domain-specific language. The language is the standard Usage output of a command-line program. By simply documenting a program’s usage, it aims to provide the functionality of parsing the program’s invocation.

This is a great step forward in finding ways to reduce duplicated effort in an elegant way. Before, you might programmatically add or modify the argument handler, and that might generate the Usage. But it was still tedious, as it required keeping what was a messy bit of code as clean as you could. Messy because you had to do a lot of thinking about the basic form of your command line API, and then translate it to code.

Instead, with docopt you should be able to purely focus on the form of the Usage.

I think that this will be a common theme for future computing, without relying on more complex systems like SOAP.

Why do we need modules at all?

Erlang.org: Erlang-Questions: 24 May 2011: Joe Armstrong: Why do we need modules at all? was an interesting post I remember reading a few years back. It questions the basic assumption of building software hierarchically and statically.

This is akin to the age-old (at least since birth of UNIX) desire to have programming be a set of pipes thrown together at will, with the elegance and wisdom of a seasoned hacker behind it.

What it really seems to suggest though is a move toward a way to let computers program themselves. The desire to let evolution play a key and direct role in how a computing system operates. If some given function is replaced by a more efficient function, all software depending can be faster. If you have some chain of functions A->B->...->ZZ, and someone writes a better chain, the whole can be replaced.

We already get some of this with packages/modules and dynamic linking, so the question (short-/mid-term) is really whether a kind of function-level alternative would replace modules/packages, or work alongside them.

Why do we need GUIs at all?

This is a spin on the previous. It’s the basic question of whether larger elements of the GUI can be easily reused. At present the basic unit of the GUI is the widget. The widget is some semi-small piece of the GUI, like a button or a text input.

If you want a more complex GUI, it’s a matter of assembling widgets together. This is equally true for a native application as it is for a webpage or web application.

Reuse is dependent upon some human brain recognizing the opportunity, and wiring the whole thing up for reuse. That’s opposed to something like the hypothetical functions database above, which in theory would have enough metadata to be able to say, “takes in a list, outputs a sorted list, stable, memory use, complexity.”

But if you can do it with functions (which seems likely enough), you can do it with larger pieces, including GUIs. So you can have a GUI that’s designed separately from the consuming code, and it can say, “presents a list, allows reordering, sorting, adding, deleting,” and you might specify some constraints on the adding/editing portion, so it could select another GUI component (“unique (name, number) pair”, or “unique name, non-unique number pair”, or whatever).

The initial versions of this can probably be written off of docopt, where by the same magic of parsing Usage a GUI could be created for any command line API. This is a project I’ve been meaning to work on, but haven’t done it yet.

Common theme

The common idea is reducing duplication of work, increasing productivity, removing friction to create. Making the computer figure out more of the work. Automating more. Instead of having to spend so much time doing analysis of tradeoffs and pondering why something broke when it shouldn’t, we should be building more.

That leads to the last one: moving away from pure-text programming. That doesn’t mean we write it out to binary; the text layer can persist. But it does mean that to some extent we stop doing everything as text. We can already extract interaction diagrams from text, but we currently do the editing in text and only get the diagrams when we want a conceptual view.

It will take some time before we see these last sorts of changes take place. But it’s likely that they will, if for no other reason than the benefits are there. I’d rather write the Usage once and know everything was wired up for me, just like I’d rather not muck about with every last bit of CSS and markup every time I want to add something to an application.

And as fun as it is to find the extra comma and find out that I wrote it correctly except for that typo, I’d rather that footgun go away entirely.