My Google Summer of Code project, “Codename: Marblecloud”, will help Marble users synchronize their routes and bookmarks between their devices using ownCloud. Sounds cool, right? It will also pave the ground to synchronize all user data in the future when it is complete. To accomplish this breathtaking mission, a 3rd party ownCloud application which provides an API needs to be created along with necessary classes and interfaces for Marble. Andrei Duma, another Summer of Code participant, is developing Marble’s ownCloud application while I develop the client side.
You can follow Andrei’s work on GitHub.
We first started implementing route synchronization. It is easier than bookmark sync, because bookmark sync requires merging and conflict handling. So far Marble can upload routes to cloud, display a list of cloud enabled routes and download routes from cloud.
You can see Marble’s new cloud buttons residing right next to the save button. The one on the left uploads the route currently displayed to cloud while the other one brings up cloud routes dialog.
This new dialog lets users view routes on their cloud. Users can download the ones they like or uninstall routes from their devices by simply clicking to “remove from cache”. If they want to get rid of the route completely, they must press to “remove from cloud” button after removing the route from cache.
The next step will be implementing an ownCloud account manager. For now Marble communicates with a dummy API but after the creation of account manager, testing will be made with the real API which Andrei develops.