This blog post was originally published at ClearML’s website. It is reprinted here with the permission of ClearML.
“I MAY NOT HAVE GONE WHERE I INTENDED TO GO, BUT I THINK I HAVE ENDED UP WHERE I INTENDED TO BE.” – DOUGLAS ADAMS
ClearML – The Road Ahead
Few things in life are certain, least of all roadmaps. There is a saying I love, apart from the one above, which says “if you want to hear God laugh, tell him/her your plans”. Nowhere is that more true than in software development in a startup. There are grand ideas put forward, people often vie with one another, in short, life happens.
ClearML has definitely suffered from this problem. We have grand ideas but, ultimately, are a small team of developers. We work crazy hours, as I am sure most people do these days, all in the name of getting a “well done” from the people. Yes. You. The community. That’s why we release our core platform as open source. We want people to check our work, especially since we like to think we follow scientific methods. Of course, in the case that we make mistakes, we own them.
It’s in that spirit, that I would like to show the general roadmap of where we are going. Most of these items are high-level. Sign posts along the way, to further abuse the road analogy. Our github has details on specific items if you wish to drill down, and I do encourage you to do so. This all in mind, I present my attempt at design (it’s not pretty, you have been warned)
Where We Are Today
Before we can start on the roadmap, we have to really take stock of where we are. Recently we launched community release 0.17.5. This was focused around a few annoying bugs that were lingering for a bit (tracking certain tensorflow load/saves for example) and clearing/cleaning up Documentation. The documentation is still under active development, as we near the milestone 1.0 release. I would never be as cavalier as to say that any piece of software is “bug free”, but I will say that for the most part, we are in a healthy place. We really have to be since, as I mentioned earlier, 1.0 release is on the horizon.
About Release 1.0
What does a 1.0 release mean for the community ? It means that moving forwards, there won’t be any large breaking API changes, either in the core application or the sdk. I can’t remember the last time there was one, but with a 1.0 release there come certain expectations. One of these is that addons (or packages if you prefer) can be added and built around the API. Addon’s will provide functionality that isn’t core but, for those that need it, will be vastly appreciated. We have a few of these ourselves in the wings, but I don’t want to spoil all the surprises on a roadmap. Where would be the fun in that.
Release 1.0 should have some very nice quality of life improvements around Tasks and Projects. Specifically the deletion/pruning of old items, freeing up much needed space where possible, as well as other batch operations. There is also going to be support for multiple models in a single Task. This is something that a few users have asked for, so we want to make sure to try and keep as many people happy as possible.
Future Releases 1.1/1.2
Release 1.1 brings with it the adoption/folding in of our serving offering. This means that from initial program/pipeline start, all the way through to having your model running on AWS/your own machine, deployment should take care of serving it. I believe we finally settled on KFServing. It’s a little but murky, but this is mostly due to not being knee deep in code with the devs. Experiments should also see some much needed love, with notable UI changes (the ability to add tracking meta data on projects for example)
Release 1.2 will build on the progress of serving made in 1.1 with the release of some more backends. There is also going to be initial support for callbacks from inside the pipeline, to allow easier integration with third party systems or reporting tools (I am looking at you Jenkins). There are rumours of such mysterious items as the clearml-data exploration tool, or UI plugins but, honestly, a lot of this is still up in the air. I suspect that there will be some large item that will show up unannounced, as much to me as to you. That’s half the fun of a startup in a fledgeling field. Who knows what tomorrow may bring
Ultimately, these are our ideas. We believe this is where we our community want us to go. From the voices in our slack channel, and feedback from users at conferences, all have pointed to certain areas they would like improved. You can certainly disagree, and if you do that’s good. What the past year has taught me though, is that what is better than good, is making your voice heard. Share your ideas/concerns and join us in building a platform for everyone. The only cost in doing so is a few seconds of your time.