The internet is now a mature industry in developed countries. By that I mean that the number of people on the internet, the amount of time spent on the internet, and the amount of money spent on and through the internet, is sigmoiding out. We're moving from the pioneering days of Alexander Graham Bell to the Bell Telephone Company. That means that the frontier spirit that made a lot of people, including myself, interested in the internet, no longer fits the needs of the industry.
But that doesn't mean there isn't still unexplored territory that software can reach. Here is a list of things that I think will positively transform the way most people live and work. Not all of these are entirely software, but all of them have a significant software or data modeling component.
Making the internet work for the whole world
This problem has two pieces: connectivity, and localization.
There are some groups with very deep pockets trying to solve the connectivity piece, but their interests are misaligned with the interests of the people they're serving. Both Google and Facebook make their money from controlling near-monopolies, and we're already seeing them try to cement these monopolies early in new markets. However, there are some long-established technologies that have been deployed for 14 years that solve this problem without central coordination (and without central control). These could be built into the low-cost android tablets being made by small producers in China.1
The second piece is localization. The only way that this has been shown to work reliably is for the software to be made in-country. Yandex displaces Google in Russia, Qzone and Weibo displace Facebook in China, etc. This is something that will happen organically if the people in the countries have the tools to make their own tools, and the distribution channels to give them to others. App stores pose an obvious barrier here because the biggest app stores are run by American companies, and the scenario I'm describing completely cuts them out of these markets. But the hardware makers have no interest in ceding control over what people can run to Google, so I hope that they'll make their own app stores.
In terms of stuff to build: make a variant of android specifically designed for people who don't have reliable connectivity, who don't have reliable or cheap electricity (eg: they have to walk up the road to the guy with the car-battery-recharging business to get power), and who don't speak English. That means real localization (not just translating strings), mesh networking, applications designed to work with unreliable connectivity (maybe with CRDTs), local app stores.
There's also the problem of how to incentivize people to connect their local mesh to the broader internet (especially in places where that connection is very expensive). That might be something that happens by people self-organizing and pooling money, but it would be nice if there was a mechanism that made that happen automatically.
Self-driving cars (and, more importantly, trucks)
The benefits of being able to transport cargo over roads (paved or otherwise) without requiring human labor are obvious, and there are loads of people working on making that happen. This is important but I don't have anything to say about it that you haven't already heard.
Seamless machine translation
People have been trying to do machine translation for as long as computers have existed, and Google Translate and Fanyi kind-of work, so why is this interesting now? Recurrent neural networks (LSTM and GRU) just got cheap to train, and just started getting used for sequence-to-sequence learning. This allows building much richer language models than the ngram models people were using before; models which capture linguistic structure and not just surface tokens.
And a nice thing about neural nets is that you can take nets trained on different datasets for different tasks, stack them on top of each other, and train that new net on a dataset that represents the two simpler tasks composed. A great illustration of this is sticking a neural net trained to identify objects in images into a neural net trained to compress text and training it to generate captions for images. You can do the same trick with a net trained to do speech recognition, a net trained to do translation, and a net trained to do text-to-speech to get an automated version of the headphones they have at the UN.
I think improved machine translation is going to be the single best result of the recent progress in deep neural networks (more than computer vision, which is where the most action has been so far).
Making virtual organizations (or at least telecommuting) the default
One of the great dreams when the internet was first starting to become widespread in the 1990s was that everyone doing knowledge work would be working from home, saving on transport costs and pollution and giving people in rural Idaho or India the same opportunities as people in San Francisco.
Related to that was the following argument:
- If information and coordination costs did not exist, then it would be more profitable for people to offer their services on an open market than to be an employee of a company
- But information and coordination costs do exist, and companies exist because they lower them for their employees by gathering information and using it to coordinate workers
- Communication technologies lower information and coordination costs
- Therefore, it will be more profitable to be a free agent in a computer-mediated market than to be an employee, and corporations will disappear
This hasn't happened.
I don't know whether if we had telecommuting technology that actually worked it would end the 20th-century-style corporation. Of course they wouldn't completely disappear, and they almost certainly would be displaced some, but how much I don't know.
But that's hypothetical because we don't have telecommuting technology that actually works. We have text chat and email, but they miss nuance and social cues. We have videoconferencing, but that still misses nuance and when you're on a videoconference you're very much aware that you're on a videoconference. We have telepresence robots but they're very cumbersome to move around.
I think the best hope we have for solving this problem is figuring out what important information the communication media we have now are missing, and then try to build media that capture those. This is as much a psychology problem as a technical one. Maybe we need to capture people's faces and joint movements in three dimensions and project them into the room (through AR or something else). Maybe we need 3D sound. I don't know what a solution would look like, but solving this will be hugely beneficial.
Automated synthetic chemistry
Modern NLP techniques should make it possible to extract chemical syntheses from academic papers as statements of the form: "mixing X with Y produces Z". Once you have a database of those statements figuring out how to make something is just graph search. Once that tool exists everyone can be a synthetic chemist without knowing what they're doing. People are working on this but it seems like a backwater compared to genomics.
Someone will be the Microsoft of Shanzhai Android, standardizing the cobbled-together android variants they're currently using, and it won't be Google. And computing in the currently-developing world won't be Apple or Samsung, it'll be no-name beige box (or, pink tablet?) with Mediatek chips inside. Or maybe some of the producers that are currently no-name will build a strong brand in India or Nigeria. This will be interesting to watch. ↩