This is followup post for EasyEngine feedback post we published last month.
We want to thank every EasyEngine user for their overwhelming feedback and showing interest in commercial offerings. 🙂
Now, after considering all feedback and almost a month-long of brainstorming, here is what we have decided.
Next year, 2015, will be most exciting year for EasyEngine. We have decided to work on everything we discussed in last post.
Below is very rough roadmap for the entire year:
- EasyEngine 3.0 on python. Henceforth current EasyEngine project will be referred as CLI – command line interface.
- EasyEngine-CLI plugins (modules) with some premium modules from rtCamp. And marketplace to distribute other’s module.
- Premium support portal which will integrate with EasyEngine (CLI) running on your server.
- Dedicated site for EasyEngine project, documentation, tutorials and may be a dedicated blog.
- REST API layer on top of EasyEngine 3.0. This will be called called EasyEngine API (ee-api).
- Web Interface as a service which will use EasyEngine API to manage your server.
- Mobile App (android) to manage your server using EasyEngine API. Plan is to make mobile app independent of web interface.
It’s very difficult to achieve all this in a year. But we hope to scale up our development team by adding atleast 5 full-time members to EasyEngine team this month alone. Yep, we are looking for python developers!
We literally tried and tested firsthand developing CLI application in three different programming languages – nodejs, Go and Python. All languages have turned out be nice so it boiled down to practical reasons rather than technical comparison.
Below are key points that went into Python’s favor:
- Libraries: Python turned out to be favored hugely by system-admin community so there are plenty of libraries and tools already available.
- Cement: Python has Cement – a command-line application framework. It is so powerful that it comes with scaffolding (boss templates), plugin architecture, templates, hooks (yeah WordPress style hooks!). In fact Cement by itself gives us a strong reason to use Python for our next CLI project.
- Golang: EasyEngine internally does not have complex algorithms. It consists of simple automation scripts where every commands spends maximum time in filesystem and network I/O. So Go languages speed benefit are not a major factor.
- Nodejs: Nodejs’s parallel/multithreaded/async features are not required in CLI as EasyEngine does it’s work in single-thread (atleast as of now).
- Ruby: We did not code much in Ruby but it was rejected much before. We wanted a language which is explicit, gives only one way to do one thing, favors documentation over magic and finally has a coding style guide of it’s own (e.g. PEP08 for python).
- Skilled workforce: An idea without execution has no real value. And to make future roadmap reality, we need real people. Our HR survey showed, India has 10 times more skilled python developers as compared to Go language.
I know I am posting it again here. But that is just because we wish to race ahead as soon as possible! Joining early will give you many advantages.
Before anybody makes any assumptions, I would like to remind a few things we discussed before. 🙂
These are just to avoid any misconception about the project.
- EasyEngine 3.0 will have all features currently present in EasyEngine 2.x.
- EasyEngine 3.0 will have an upgrade script to migrate from EasyEngine 2.x server. So you can keep using EasyEngine as it is.
- EasyEngine 3.0 will be open-source and GPL. Though as we are coding everything from scratch, we have choice to change the license. Anybody interested in changing license?