Canonical Releases Beefed Up Database API for Ubuntu One
It’s no secret that Canonical’s Ubuntu One file-syncing service faces stiff competition from better entrenched rivals such as Dropbox. But recent signs indicate Ubuntu developers may be taking the service in a different direction by adding developer APIs. Will this be enough to differentiate Ubuntu One from competitors? Here are some thoughts.
Specifically, Ubuntu One developers, as they explained on their blog, are creating a database API called U1DB. Expanding on existing Ubuntu One APIs, U1DB’s purpose is to allow programmers to build features into their applications for syncing documents and other files across multiple devices and operating systems.
U1D1 represents a novel direction for Ubuntu One by potentially turning it into a service not just for sharing files and music between different machines, but also one that’s integrated into applications themselves for tasks beyond simple file storage. That’s a feature other file-sync services, like Dropbox, don’t support in any direct way.
The new API is currently available as a “tech preview,” and Canonical is seeking feedback from developers. More details about the feature, including how to test it out, are available here.
In addition to forging a new role for Ubuntu One and helping to differentiate it further from other file-syncing services that enjoy astronomically greater market share, the U1DB API is also notable for the emphasis on cross-platform interoperability and programming-language agnosticism that Canonical developers seem to be pushing. In their words:
U1DB is a cross-platform, cross-device, syncable database API. In order to be this way, there’s a philosophy behind it. Key to this philosophy is that u1db can be implemented in many languages and on top of many back ends: this means that the API needs to be, as much as possible, portable between very different languages.
Because u1db is a syncable database, it’s quite likely that an app developer using it will be building their app on multiple platforms at once. Knowledge that an app developer has from having built a u1db app on one platform should be transferable to another platform. This means that querying is the same across platforms; storing and retrieving docs is the same across platforms; syncing is the same across platforms.
That developers are concerned with cross-platform and cross-language compatibility (to the point of mentioning Microsoft Word in the blog post) may not be too surprising in itself. But in this case it’s important because it underscores Canonical’s commitment to engaging partners beyond the specific Ubuntu and open source niches.
And I have to admit I hadn’t always seen that coming with Ubuntu One. When the service was introduced back in 2009, it took quite a while for Canonical to release a client for Windows, and even longer for leading mobile platforms to see the same. And Mac OS X is still not supported. But with the direction Canonical’s API development is going, it seems the initial focus on Ubuntu One’s as a file-syncing service for Linux has given way to a broader vision in which it does much more in many more places.