The Blockchain on Rails
I received a tremendous amount of interesting feedback from my recent post about “6 Things That The Blockchain Needs to Become Mainstream”. One of the points that seems to be the subject of debate is the need for mainstream programming tools and frameworks. In the post, I make the point that the blockchain needs the equivalent of a Ruby of Rails movement.
The Rails movement remains one of the primary examples of transforming an already powerful technology (the Ruby programming language) into a mainstream movement. By addressing some of the main technical and business limitations for the adoption of Ruby, Rails became a movement that presented a simpler, fresher alternative for web development to established platforms like .NET and J2EE.
Today, we can trace many parallels between the path of adoption of blockchain technologies and the challenges faced by the Ruby community a few years ago. I know some of the comparisons might seem extreme but hopefully you will be able to see the analogy. Let’s explore some of the key aspects that the blockchain could learn from the Ruby on Rails movement.
Automate Fundamental Building Blocks
One of the key things that made Ruby on Rails successful was the automation of key elements of web applications such as DB access, web page rendering, etc. Similarly, a blockchain development platform should abstract key application building blocks like data storage, backend services, messaging and other prototypical parts of blockchain applications.
From the technology to the marketing messages, Rails screams simplicity. This was a key factor to attract non-Ruby developers to the platform. Functionally, the blockchain is an extremely complex technology that can result intimidating to many developers. Lowering the entry point for developers building blockchain application will be essential to improve the adoption of the technology.
Ruby gems became one of the most popular elements of the Rails framework. The ability of packaging and provisioning functionality using a simple command line tool made it extremely easy for developers to leverage new capabilities released by the Rails community. At the moment, blockchain development frameworks can really benefit from simple packaging and distribution mechanisms that streamline the modularization of blockchain applications.
Integrated Into Mainstream IDEs
Since the early days, the Ruby on Rails was incredibly smart about integrating the framework into some of the most popular IDEs in the market such as Eclipse or Netbeans. This allowed developers to implement Rails applications using a familiar set of tools and processes. Currently, blockchain applications are still missing a decent level of integration with popular IDEs and corresponding tools. Enabling this will be another step to lower the entry point for developers building blockchain applications.
Interoperability with Other Frameworks
One of the key aspects to the success of Ruby of Rails was that it was able to incorporate modules and libraries developed in other Ruby frameworks. At the moment, the interoperability between the different blockchain frameworks is limited to say the least. The number 1 goal of blockchain development frameworks today should be to streamline adoption of blockchain technologies and, for that, they can benefit for better levels of interoperability.
These are just some of the factors that, I believe, will be needed for successful blockchain development frameworks. Borrowing a few pages from successful development frameworks such as Ruby on Rails can definitely be helpful to build a development movement around blockchain technologies. At the end blockchain on rails doesn’t sound that bad, does it?