The Road to Firetask Cloud-Syncing
We have got many feature requests since we launched the Mac version of Firetask in fall last year. There are a number of features that are requested more often, but there is only one functionality that is nearly asked for in every second email we got: cloud-syncing. So, let me share our roadmap to cloud-syncing with you...
Providing reliable and scalable cloud-syncing functionality is not trivial. However, the good news is that it's not rocket science either these days. Our main challenge in the beginning was that we did not want to setup and maintain a cloud infrastructure - simply because we knew we would not be good in this: we are lacking the skills and also the resources to do this really well.
So how do you solve this problem? Our solution was looking for an innovative, fast-moving, and reliable partner who had lots of experience in cloud-based application providing. Luckily for us, we found this partner more quickly than we had thought we would. Let me introduce you to Meisterlabs, the German-Austrian company behind the leading collaborative, Web-based mind mapping tool "MindMeister".
That said, let me take you through a number of steps we have already taken or will take during the next weeks together with the MindMeister team in order to provide you with cloud-syncing for Firetask:
- Step 1: Bulk-Syncing. Optimize our current WiFi-syncing algorithm to use only so-called bulk calls (send and receive many objects within a single call). This increases performance and scalability - especially when run over WANs (wide area networks) such as the Internet. (Done.)
- Step 2: Auto-Syncing. Provide configurable, automatic syncing on startup for our iPhone and iPad versions; use background task completion in order to make auto-syncing more reliable. (Implemented, currently being tested internally.)
- Step 3: Cloud Database. Create a lightweight and scalable cloud database that provides access via REST syncing calls. (In progress, currently being implemented by the MindMeister team.)
- Step 4: Configurable Syncing. Allow to (re-)configure the syncing options in our iOS versions and add configurable syncing to Firetask for Mac. This is required, e.g., to allow a user to reliably migrate from desktop-syncing to cloud-syncing. (Started.)
- Step 5: Cloud-Syncing. Connect the optimized, configurable bulk-syncing algorithm to the Firetask cloud database provided by MindMeister via REST. (Next; depending on step 3 and 4.)
Finally, this leads us to one question many of you have asked: When? Our answer to this is in Spring (2011 ;-). We will provide more concrete dates as we move forward. We will also do a private cloud-syncing beta, so let us know if you would like to help us hunting down the bugs!