ShelfMenu Sync & iCloud

Since I developed the first version of ShelfMenu, I have been thinking of synchronizing  the information using some cloud-based service. This would open many possibilities: having your snippets of information on multiple Macs, adding an iOS version to be able to access all the information on the go using any iDevice, and having all the information backed up offsite.

[caption id="" align="alignright" width="145" caption="Image via Wikipedia"].Mac[/caption]

Lately, when I released version 2.0, I was hesitating between Mobile Me and Dropbox. Thanks to Quora I have learnt about another very interesting service, SpiderOak, which is similar to Dropbox in terms of functionalities, but seems much more secure.

All this being said, the main reason why I have kept procrastinating and postponing the decision are all the rumors about the new Mobile Me which was expected this summer. This is old news, now we know that the service will be called iCloud and will be announced this coming Monday, June 6. The main features of iCloud will most probably be related to remote media storage; I do not expect other Mobile Me features to disappear though, and if the service is going to be more affordable than Mobile Me, I will probably go the "Apple way" and implement the synchronization using Sync Services. This will make things much easier (and will likely reduce the number of bugs and problems): Dropbox is great, but it is not easy to use it for synchronizing data used concurrently by multiple machines. I have some ideas, but it is hard to make something robust and be sure that the system will behave as expected in all situations. I do not see many use cases where ShelfMenu would be used concurrently on multiple machines, all modifying data at the same time, but this is not a good reason to assume that no users will find such a use case. Sync must be robust.

I am very eager to listen to the WWDC keynote on Monday (when I decided to go, tickets were already sold out…), and if all goes well I will start working on the sync right after.