As software architects we secretly desired, the software system should not be built by, line by line of code, but rather architected more like how we play with Lego blocks. Just grab the blocks from available blocks and connect them. There you have it the system you have imagined! More at the natural form of how you have envisioned the system.
The software development has come a long way in creating abstractions over abstractions. Layers over layers! But these abstractions or layers are only understood by the techies. Not everyday users. The reason at the core is that we did not think much about the framework for building these abstractions but instead concentrated on the problem. The design patterns have solved this problem to a certain extent yet remained close to the techie language.
At Datoin we are very much opinionated about how we are building these abstractions. We have created a framework that fits these abstractions into working solutions! But we are not the alone in this way thinking. In fact, many people have discussed it. The same way of thinking has lead to quite a few Low code/No code platform.
Why did we start working on Datoin?
It started with a simple idea of how can we create software for data crunching problems in the domain of Natural Language Processing(NLP). We knew it should easier and faster to build applications. The only way we could do it is by reusing whatever we have developed so far. All of these apps followed a simple pattern. The data flows from one end of the pipeline to another end through series of transformations. What all we did was to design a framework that allows reuse of the blocks that does the transformation and strict way of defining how to stitch the blocks together. We called it as Datoin Assembly Framework(DAF). The DAF produced a simple file that described the application. Now we needed a simple execution engine that translates the workflow into executable code. We implemented the execution engine and got everything working. Once we got it working, we realized the power of such framework. We were onto something big! It was like creating a whole new language, a language for defining software in the way of building blocks, an execution engine that translates the application into runnable code. We named the engine as Datoin Application Driver(DAD).
Evolution of the Datoin Platform
The initial benefits of the Datoin platform were,
- Block reusability
- Faster solution creation.
But this did not solve our problem of creating all types of apps entirely. Some of these apps run as web services, some in batch mode with high throughput data crunching, some in streaming mode. The Datoin Application Driver was enhanced to run on multiple modes. The multimode execution forced us to think about how to optimize the same application to work on all of these modes by exploiting native capabilities of underlying platform and infrastructure. Since our private beta customers were asking for on-premise solutions, the multimode execution made it easier to deploy the apps on premise. With the second version of the platform had two more capabilities,
- Multiple modes of execution covering all the software service requirement.
- On-premise deployment for enterprise infrastructure.
Now, the only thing remained was a unified way of viewing the data generated and the visualization on top of it. While we were at enhancing the platform, we were thinking about how to make the platform usable by not so tech-savvy users. We have created and creating application templates that can be quickly tweaked to fit the bill.
What to expect in coming days!.
The Datoin Platform makes sense for essentially four types of user,
- The business executives who want to automate their business process using AI and ML
- The software programmers who wish to solve automation problems using ML.
- The data scientists who want to build an entire application, not just the model.
- The solution providers and system integrators who would like to deliver solutions at the faster rate and with better chances of success.
With more than two years in development and relentless testing with beta customers, now we are ready for opening up the platform to public beta customers.
The business executives will see ready-made application templates getting added to the platform. The innovation is happening on what are such apps that make sense to our audience. All that we can promise is that this is the space you can watch out for some exciting news about Datoin. We are working hard to make those apps solve the real business problem as well as innovative enough that push your imagination about the possibilities of intelligent automation.
The programmers and data scientists will see more buildings blocks are getting added to the repository every week.
Getting ready for future!
The Datoin is essential a generic platform that can solve many problems. The real power of platform comes in when there community supporting such endeavours. The Blocks on Datoin platform should be as ubiquitous as software libraries in maven centrals or open source projects in GitHub. The software vendors should be able to have their own private repository of Blocks that are built by themselves and monetize them. We are indeed structuring our platform to make it closer to how real software development happens in real world. There will be a release of Datoin Development Kit(DDK) and Datoin Runtime Environment(DRE) much like the famous JDK and JRE.