Saturday, August 20, 2011

Developing Microsoft's New SkyDrive Architecture

News

Developing Microsoft's New SkyDrive Architecture

Microsoft has redesigned the file browsing features in SkyDrive using "intelligent AJAX" technology.


Microsoft has redesigned the photo viewing and file browsing features in SkyDrive, the cloud-based storage and file sharing service.

The new architecture is based on AJAX technology, according to Steve Bailey, a development manager for Windows Live, who described the client-side page loading improvements  in a blog post on Thursday.

Microsoft had tried using AJAX in past years but found that approach to be too slow due to browser limitations. Other problems in the past included slow end-user connections, slowness with JavaScript and XML parsing, plus "a lack of client-side caching," Bailey explained. The new SkyDrive is particularly focused on improving client-side caching as a way to speed up the experience for users. Techniques include an "in-memory cache" for a current SkyDrive session, plus pre-caching of some items to improve file views.


For accessing user data, Microsoft's new SkyDrive architecture uses a protocol based on HTTP and JSON, which filters some data for caching on the client side. The Microsoft team is currently trying to make this approach "work well across all of the major browsers," Bailey said. He added that the data format approach in JSON "is network efficient, and browsers can cache it really fast." Microsoft previously used a method that pulled a bunch of data from SQL Server and ran it though ASP.NET servers before delivering the data to the client, Bailey explained, but that server-intensive approach was less efficient.

SkyDrive also supports "virtualized list views," which will pull only the data or HTML that's needed for a current view in a browser. This technology will work as the user scrolls through lists on the screen by "dynamically fetching data and rendering the list view," Bailey stated.

Microsoft is using HTML5 capabilities to improve animations in SkyDrive, but it has stuck with Silverlight for upload controls "because it allows us to resize a photo to a smaller size before it's uploaded," Bailey explained. In addition, Microsoft likes to build JavaScript on top of the open source JQuery JavaScript library simply because its developers find that approach more effective.

SkyDrive is turning out to be a prominent part of Microsoft's connected devices architectural approach on the consumer side of its general cloud computing push. For instance, the "Mango" update to the Windows Phone 7 operating system, planned for this fall, will add SkyDrive access for smartphones, allowing photo storage and file sharing via Microsoft's cloud. According to Bailey, Microsoft reuses its SkyDrive code between the PC and mobile SkyDrive views, so users get performance improvements across both devices.

SkyDrive also serves as a hub for document sharing using Microsoft Office Web Apps, which are free for use by consumers but not so for organizations. Earlier this month Microsoft enabled Word Web App coauthoring for SkyDrive users. Real-time collaboration is currently possible using the OneNote Web App over SkyDrive. In addition, simultaneous editing is possible using the Excel Web App via SkyDrive.

Office Web Apps are still limited compared with their full-featured Microsoft Office cousins, but Microsoft has been slowly adding improvements.