The world is changing so fast today, and information tech is making things possible that were simply logistically unfeasible before it existed. But is technology serving us to it's highest potential, to our highest potential?
1. Software Development Complexity Bottlenecks Human Progress
The complexity and inaccessibility of software development is inhibiting businesses, education and social progress.
In businesses, especially large ones, software has become the digital nervous system that allows them to operate at scale. But because only programmers can change the software, experimentation and evolution of business practices has actually become slower and more expensive. Most employees are powerless to make even simple software changes, and yet developers often don't have the domain expertise required to write good software for someone else's job.
Education is feeling it too. The demand for programmers is quickly outpacing supply, and for students, learning computer science is becoming more and more of an essential skill. Educators are well aware of this problem, but the complexity of programming makes it very challenging to teach.
Then there is social progress generally. End users have so many great ideas for software systems that could help us all collaborate with each other in deeper, richer ways, but to create them they either need the money or the skill to bring it into reality. Software complexity is a huge bottleneck for social innovation. Not every idea has a business model behind it, and there must be so many good ideas that could exist if programming was eaiser.
We believe that it is a social imperative, arguably one of the greatest demands of our time, to make software development more accessible to everyone.
2. Today's Web Is Better At Making Money Than Fun
The web we have today was not inevitable. It was designed by humans, and the design is pretty old. We have learned a lot since the inception of the web, and when we look at it knowing what we know now, we some ways it isn't serving us as well as it could.
Conflation of Data and Presentation
Today's web is made of "pages", which conflate the data layer with the presentation layer. When we want an article or video, rather than being able to download just that content, we have to download the entire "page" that the content is on, often times containing ads, cross-promotions, etc. A more advanced architecture would give the user the power to control what content they downloaded selectively.
Trending Towards Centralization
The Internet was designed as a peer-to-peer network, where every computer could communicate directly with every other computer. Yet the way we use the web today is primarily through centralized silos of information. All our computers talk to a really big computer, say Facebook, who mediates the interaction. If I want to share a photo with my mom, there is no architectural reason why any central party needs to be the mediator.
But it's about more than just privacy or exploitation of the commons. Centralized systems are BORING.
Complexity of Systems Invention
Once upon a time there were no end-user tools for contributing to the web. "Users" just wrote HTML by hand. We've come a long way since then with GUI editors, blogging platforms, social networks etc, but still today there is a wall between the technical haves and have-nots, and that's that it is very difficult for a "mere mortal" to build a data-driven web application. In the web we invision, building data-driven web apps is something accessible by everyone.
Our goal with Aquameta is to radically simplify programming, and fundamentally rethink some of our core assumptions of what the web is and how we use it, towards more collaboration, more creativity and more fun.