A rough collections of some ideas I have for a vision of an enhancement to the internet.
- I don’t like that the current architecture of the internet has a lot more consumers than producers
- To me the internet was a solution for connect people so they can share their ideas and their personal dynamic media (software)
- Using the computers, software and networked computers should feel a bit like using a car, we don’t all have to be mechanics, learning to drive is easier than learning to administer a computer system
- Today, most software is consumed as a networked software service
- This happens to be delivered through the cloud
- Self-hosting is a concept where people run the software, usually on their own computers, but sometimes on rented cloud computers.
- There are also services provided by cloud providers that help with running software systems. What we see as a simple application, like Gmail, is not a set of systems that work together. There is a user interface, sitting in our browser, there is a web server that responds to requests from our browser, and there is a database which stores our emails and other pieces of information such as our name, email address and password.
- My vision of tomorrow is where everyone can run these software services on their own systems. Only if we control the physical properties (computer hardware) on which the software runs, can we begin to own software itself.
- Currently, even technical people struggle to host their own software. A lot of knowledge is required, many components need to be managed and any one of 1000 parts can have a fault.
- Even large software companies prefer to use the cloud to offload a lot of this work. This allows the company to focus more on its customers and less on IT administration.
- For example, I used to write software that managed Sobeys inventory for fresh food. We used databases from cloud providers, so we spent less time managing the database and more time solving problems for Sobeys.
- This is similar to how most of us would let mechanics fix our car’s AC system, instead of trying to be experts ourselves.
- The internet has changed the nature of human society. It has connected billions of people, and enabled the creation of new knowledge and art (eg. apps, gifs, blog posts, movies)
- I think we would all be richer if
- a) People had ownership over their personal digital environment. This means owning our software, and the data behind it.
- b) Managing our own software and data was stupidly easy. As easy as using a microwave.
- c) Digital art (software) was easier to create and share while respecting the ownership of the creator
I am working with a group of conscientious programmers, scientists and concerned citizens in Ottawa to further this vision.
Personally, the goal is not to make money. We will all be richer by unlocking increased communication, creation and sharing. The internet has created trillions upon trillions of dollars for human civilisation. It has forever changed how we think of ourselves and eachother. But the internet is not complete, the torch has been passed on to us to build Licklider’s Intergalactic Network (paper embedded at the end of the post).
I’ve been working on this problem for a number of years, in various ways and have realized it will be much more effective to find others and collaborate.
There are a few related problems that we can carefully thread into an empowering solution
- The internet is centralized: People need to be able to own their software and data again.
- Computers are too complicated: We need to make them as easy as a microwave. Microwaves are sophisticated, but we don’t think about that when making our butter popcorn 🙂
- The economics of software, which is really just the economics of intellectual property needs some honest work. The current model was transplanted from that of physical property and it doesn’t work. The physical is scarce and sharing is exclusive and expensive. The digital is infinite and sharing is inclusive and free.
- 99% of people are not programmers, they are not empowered to participate in the digital environment in the same way that those who cannot read cannot participate in a literate society. The nature of programming needs to be radically simplified and redesigned. The focus is not on the industrial programmer, but the mom and pop store managing an online store, or student keeping track of their project tasks.