Microsoft has announced a One Drive API that can be used to post and access data on One Drive from within mobile apps and any software system that can access the Web. This is huge for those with non-sensitive information who hope to speed up the development of solutions that can access that information. One Drive, like Google Drive, becomes a universal file system accessible on the Web. The announcement is covered by VentureBeat.
It interests me because I once created a content management system from scratch that took me another 3 years to polish. That was a solution defined using Microsoft technologies and was effective for what it did. Although it was probably replaced with other solutions, it taught me much about Internet file systems such as One Drive, Google Drive, DropBox, and others.
My Brush with Content Management
Many years ago I created a custom content management solution using Microsoft SQL Server, WCF, WPF, and ASP.NET technologies. It was a great solution at the time that I defined from the ground up. Imagine something like Drupal or DropBox a few years before they existed. That is what I had created. The benefit was that I could accelerate IT projects with this in-house solution. Given the good, a few problems existed with that solution.
- Ready to go on day one but not very polished from and end-user standpoint.
- Defined using Microsoft SQL Server, WCF, WPF, and ASP.NET requiring much hand tuning.
- More than sufficient technically for performance and reliability of the audience but scale untested.
- Took 3 years to polish it to an acceptable level since it was my side project that became infrastructure/toolkit.
- An API that I created and understood but not so standardized that a new person could drop in productively.
Years later, I understood this solution was probably replaced by others with DotNet Nuke and SharePoint. DotNet Nuke and SharePoint seemed far more productive and are standardized, polished, out-of-the-box solutions. What I liked about the solution I defined was how lightweight it was. That meant that, despite being defined using Microsoft technologies, solutions on other platforms could access it in theory.
I tested that theory out when I built a number of user interfaces in Adobe Flash. The REST-based web services API that I defined was accessible by the technology and thus I had realized expanded reuse. I built many software applications in-house atop that solution. Later on, I would have a chance to integrate it with Oracle CRM. It was a winner in terms of data management, bringing PDF, Word, image files and spreadsheets to a wide variety of contexts.
The Value of Universal Access to Data
While I was greatly pleased with the results of the solution I defined, it may not have been the right level of effort for business software development. The possibilities of the idea initially drove me to create it. The reality of years managing it gave me the perspective to avoid recreating it ever. What I think the One Drive API will deliver is convenient access to specific documents, spreadsheets, images, video, and any file type it supports from within a software system (mobile app, business software, anything web connected). The ability to create those solutions that have this feature will accelerate.
A solution like this also speeds up coordination among IT project participants. Those with the data in a file format can post it to an appropriate area of a shared repository. Those that need to integrate that data into software have precisely straightforward way to link that data in, in a polished and user accessible way.
Who Will Use This?
Obviously, if you are fully invested in Microsoft software technologies and you could use a solution like this. It can broaden out certain aspects of existing solutions based in SharePoint into the sphere of cross-platform mobile and cloud based access. Of course, I would advise caution in terms of the sensitivity of the data. Otherwise, this is a great tool for those situations in which Microsoft technology is actively in use.
What I like about Microsoft’s approach is that the entire API is on GitHub. You can reference and examine it directly. The API is how software programs access One Drive whereas people use web interface or the built-in Windows App. I would still lean towards Google Drive because it is more mature at this point and does have features I like that I do not recall seeing in One Drive. I suspect the reverse is true. Google has the Web fully in their DNA and are leading efforts in HTTP standardization which adds further weight to their solutions. That is me. Again, the Microsoft solution is very appealing and I will be studying their API in detail as it may prove useful for the future.