Rotki's New Year Resolutions

Introduction

As 2019 draws to a close, a lot of users have been asking us when will certain features be implemented, which features are in the pipeline and generally what’s the roadmap for the future of Rotki as an application. This short post attempts to serve as a go-to answer for these questions, clarify the short-term roadmap and give some hints on what will come in the long-term future.

Short term

Very recently we have created a develop branch in Rotki in order to facilitate all the big breaking changes that are coming. All PRs by default will now be done against develop and thus all big changes that need to be done will stay in that branch. Once a release is done, develop will merge to master and binaries will be published. PRs against master will be reserved for quick patch fixes that can be done independently of any breaking changes in develop.

The next release coming out of will be v1.1.0 and it will contain, among other things, two major features.

Release v1.1.0

Modern UI

The entire UI is being rewritten and turned from the old-school hand-made CSS + bootstrap abominaton to a proper modern framework thanks to the tireless work done by kelsos. At the time of writing this post the work is almost done and the PR is about to be merged.

What does the average user care you may ask? By far the most important advantage of this change is that adding new UI components and thus features will become much easier. Vue.js is a modular framework which makes it trivial to add new components or modify the looks of the UI. In short adding new features is now going to be made easier. God knows there is a lot in the pipeline that needs to be implemented!

Apart from that the looks of the entire app are getting modernized. All components are now more sleek and pleasing to the eye. For example here is the ethereum token selection.

Proper REST API

The current version of Rotki uses the ZMQ protocol in order for the front-end (UI) to communicate with the backend. The API developed for that communication was crude but what’s worse ZMQ libraries for both python and javascript are not kept up to date and are pulling very old dependencies. The ZMQ library is why rotki is stuck in an old version of electron and also why we maintain our own fork of an abandoned node project, the node-zerorpc client.

The entire ZMQ messaging layer is getting rooted out and replaced by a proper REST API.

What does the average user care about this you may ask? Higher electron versions allow us to have more security in the application and take advantage of all the new electron features. Also with ZMQ no longer being a dependency, a very big and fat dependency is out and final binaries would probably be smaller in size.

But more importantly this opens up the way to be able to run Rotki in a headless machine and communicate with it only via the API. That would also enable you to run rotki’s backend in a different machine than the UI.

Finally with this change Rotki will be getting a very good, well documented and tested REST API. Users will now also be able to work with Rotki via command line interfaces. Below is a screenshot of the docs in the work in progress PR that implements the ZMQ to REST API switch.

When?

When it’s ready. Soon ™.

Other releases after v1.1.0

The next big feature planned after that is implementation of support for Coinbase PRO which should hit in the release right after v1.1.0, presumably v1.2.0.

Apart from that there is a lot of issues and feature requests in the backlog that should be handled. Priority will go to supporting new exchanges such as Bitstamp and generally fulfilling user’s wishes such as support for staking in PoS cryptocurrencies.

What would you like to see in the near future implemented in Rotki? Don’t be shy, join us and write up a feature request as a github issue here.

How can I follow the evolution of the roadmap?

As an opensource application, transparency is in the core of Rotki’s ethos. As of the writing of this post our milestones are tracked by Github projects. You can see the current milestones here and inspect which features will be implemented and which bugs will be fixed in which releases.

The current milestones are:

Long term

The long term vision for Rotki is for it to become the best portfolio management, tracking and accounting application for both crypto and traditional assets. The tool that not only enables you to manage your finances but also does this in an opensource, transparent way allowing you to own your financial data and not have them lying on a centralized server somewhere in the cloud ready to fall into the hands of malicious actors.

In an ideal future it would also be able to track not only one’s investments but also everyday expenses and provide insight and analytics about the entire spectrum of a user’s finances.

There are no specific Github issues made yet for the various things that we are thinking about the long-term future but as a general idea:

What else would you like to see implemented in the long run in Rotki? What would you require from an application that is supposed to be the constant and trusted companion to all your financial analysis needs?

Naturally all the above largely depend on how the current userbase of Rotki grows and how succesfull is the monetization of the application. Without any steady revenue stream or funding all of the above are probably really hard to accomplish.

Conclusion

The future of Rotki is bright! There is a lot of demand in the form of feature requests, and the userbase is steadily increasing. Stay tuned for more updates and please help us in building the best transparent financial tool that enables you to take ownership of your data. Ways to do that are: