Derek Lakin

Is Your Head in the Clouds?

After a break of something like 2 years(ish), I’m finally making a return to the world of blogging. The primary purpose of this particular blog is to introduce and to talk about a project I’ve been working on in my own time, called Titan. I’ll blog about the development hurdles and discoveries that I come across as I continue on my path to release and maintain a software product.

What Is Titan?

Titan is a desktop application, built using WPF/.NET 3.5, that enables you to synchronise your files between your desktop and any "cloud file system", which enables you to store your files "in the cloud" and access them wherever you are in the world, whichever PC you are on.

I’m using the term cloud file system to refer to any online storage provider that exposes a public API. Part of the Titan application is a synchronization library that provides some core synchronization services and then there is a cloud file system-specific assembly that provides access to that service provider. At the moment, I am writing a service provider for the local file system (which is treated the same way as any other service) and one for the excellent Box.net service. I also have plans to provide service provider assemblies for Digital Bucket, Files Anywhere, XDrive, and Omnidrive. My original intention was to use Skydrive as the primary cloud file system, but at the moment there is still no public API smile<em>sad. As soon as there is one, I’ll code up the service provider assembly, though. You can’t argue with 5GB of free storage smile</em>regular.

Progress

At the moment, I have the core architecture in place to deal with uploading and downloading individual files and displaying the merged contents of two services (Box.net and the local file store). I will shortly upload a screen shot or two of where it’s at.

On the horizon:

  • Automatic synchronization (with a configurable interval).
  • Synchronization running as a Windows service.
  • Upload/download of multiple files and folders.
  • Synchronization between cloud file systems (i.e. skipping the local disk completely).
  • Synchronization of different folders to different services.
  • A logo!

If you’re interested in beta testing (when I get that far) Titan, or you’re an online storage provider with an API, feel free to get in touch.