Gomix and the Evolution of PaaS
Once upon a time, a long time ago, like all the way back in the 90s… the internet as we know it began to emerge. Back then we didn’t just visit a few sites or apps every day — there used to be tons of new, interesting and weird things made by people, companies, and communities.
If you found a website that you liked, you could just ‘view source’ and see the code used to build it. Creating your own site, however, was harder.
You had to run a web server on your own hardware and open it up to the internet. This could be expensive, and if you didn’t know what you were doing your server could end up being the target of spammers and ne’er do wells. So some smart folks began to offer web hosting services where you could rent space on a server that they ran instead.
Now all you had to do to run your own site was upload your files with FTP, make changes, and save them back to the server while refreshing your browser to see them. It wasn’t pretty, but it worked.
This was the start of “Infrastructure as a Service” offerings. The model was: click, get server, configure, deploy and scale. And that worked better… until it didn’t. When it broke you had to play Sys Admin, and if it suddenly got popular then your site would go down or you’d get a huge hosting bill. So some other smart folks began to offer to manage and scale the services on top of providing servers, and “Platform as a Service” (PaaS) was born.
Fotango is widely credited with launching the world’s first PaaS back in 2005, but soon everyone from Amazon to Google, IBM and Microsoft had all launched their own services. Nowadays these are powerful platforms aimed at professional developers with a model of: click, get server, configure, deploy. But have you seen the AWS dashboard lately? It’s acronym soup. There’s S3, SNS, RDS, and of course DynamoDB, SES, SQS, EC2, and it goes on. But while it’s great that these services are available, most of us won’t ever need to use many of them.
So that has been how PaaS has evolved to date — almost entirely along a technological axis. They’ve become increasingly powerful but at the cost of alienating all but power users.
The problem with that is, it’s not just professional developers who have ideas and want to use code to solve problems and create stuff. In fact, there are only an estimated 12M professional developers in the world, yet 45M people hit Stack Overflow each month looking to solve their coding problems.
And our modern view of who a coder is has proven to be just as alienating. The makeup of coders has rapidly changed over the last 30 to 40 years, the result of which has left whole groups of people underrepresented in tech.
This is where Gomix can make a difference.
Gomix exists to make coding — creating apps, bots and sites — more human and accessible. We’re proud of the underlying tech, but you don’t have to know it to use and enjoy the platform. We think of it as being a bit like IRC — it’s a great technology, but what it needed was a Slack type offering to drive that type of thing into the hands of a much wider audience.
So Gomix provides almost all the core benefits professional devs get from AWS et al. just without complex configuration and the overhead of keeping track of lots of moving pieces. It frees professional developers to focus on their unique talents and welcomes a whole new group of users — perhaps an order of magnitude more users — to join in. While both groups are still able to leverage the full power and flexibility of code, just in a more usable manner.
The creation of Gomix is another stage in the evolution of PaaS, and one that differentiates us from other PaaS offerings, like Heroku, Engine Yard, etc. They do a good job of hosting apps that are already built with a model that’s more like: click, get server, deploy. But unlike Gomix, they don’t provide the ability to discover new toolkits, to remix working apps, or to collaborate in a live environment with other developers.
The Gomix model is: just click. And in that respect, we have much in common with developer playgrounds like CodePen and JSFiddle. They too are fun for trying things out, and a nice way for developers to share ideas. But they don’t provide any ability to run back-end code, which greatly limits the types of things that you can build with them. What’s more, key features like realtime collaboration between multiple users are often limited to only paying users, putting up a barrier for educational use or simple pair-programming scenarios.
By providing working example apps to remix, a code editor to modify them, instant hosting and deployment — anybody can build a web app on Gomix, for free. We are breaking down the barriers that have hitherto restricted coding to just code monkeys, and we’re opening coding up to a wider audience by making coding itself more human. If that has the effect of helping to change our idea of who a coder is, or can be, then that will be an evolutionary step in the right direction.