With the upcoming release of Microsoft Office 13, Microsoft is encouraging developers and administrators to use open Web technologies such as JavaScript, CSS and HTML to build their add-on apps.
Microsoft wanted to "modernize the way the platform is accessed by developers," said Richard Riley, a Microsoft director in the Office division. "We have made some of the most significant changes on the developer side of Office in the last 15 years."
"We saw that people were building a lot of internal and consumer solutions as Web applications because they were easy to deploy. Just set up a server with some HTML pages and everyone could go and get that" app, said Brian Jones, principal group program manager for Microsoft's Office solutions framework team. "That's the model we followed."
For the past 20 years, Microsoft has offered VBA (Visual Basic for Applications) as a tool for developers and administrators to add additional functionality into Microsoft Office. While VBA will still be offered in the next version of Office, now available in preview form, Microsoft will also offer the Office Cloud App Model, which uses Web standards such as HTML, CSS, OAuth, REST and Microsoft's own OData.
"There's nothing proprietary or new here. If the developer knows how to write Web apps, they can write Office apps" Riley said.
The company endeavored to apply this model consistently across Office as well as for SharePoint, for both the hosted and in-house versions of these products. "We focused on having a consistent set of APIs, so a lot of apps built for Word can also run for Excel," Jones said.
The range of apps that can be created with Web technologies equal the old style plug-ins that could be created within VBA. In a demonstration, Jones showed off a number of apps built using Web technologies. One for Outlook provided a map for any addresses that are in the text of an e-mail. Another Outlook app allowed the user to add commentary to an email. An Excel app downloaded data from the Olympics, visualized the data, and allowed the user to parse the result by country, athlete or some other attribute.
Unlike previous versions of Office, apps are stored externally, not within the local copy of Office. Office will keep URL pointers to where the organization's WebApps are stored. Office WebApps can be stored on any Web server, Jones said.
By storing apps on a server, an organization's administrators have more control managing and updating the apps. No longer will each copy of an updated plug-in need to be replaced on every work computer. Instead the copy on the server is updated and the user will get the new technology the next time it is called from Office.
Microsoft offers the ability for enterprises to run their own in-house app stores for users to find and download internal apps, and Office will also offer connectivity to a new app store that Microsoft will open for Office and SharePoint as well.
Also, moving apps to the server side expands the range of supporting technologies developers and administrators can use. "The app developer can use whatever Web technology they like -- .Net, PHP, SQL Azure," Jones said.
Structurally, each Office and SharePoint app will be a package, consisting of an HTML interface, a simple XML manifest file that describes how the app can integrate with Office and SharePoint, and JavaScript code for functionality that needs to be run on the local machine. The next Office will come with a built-in engine to run the JavaScript code.
Web technologies offer another big advantage, Jones said, in the ease in which data can be imported and exported to and from Office. "We found that finding data and getting it into Excel is a big hurdle for folks. Once you get it in there, there are so many people who can build amazing visualizations for the data," Jones said. With this model, any data that can be carried over the simple REST (Representational State Transfer) protocol can be used with Office.
Office data can also be exported to other apps. In one demo, Jones showed how state-by-state cost-of-living data in an Excel spreadsheet can populate a Bing map of the United States. Each state's data is represented by a bubble, the larger the bubble the higher the cost of living. Another demo app could search a phrase highlighted in Word on the Bing search engine. The pop-up windows for both of these apps were formatted in HTML.
To help developers and administrators get started, Microsoft set up a new Office developer center to offer documentation, discussions, tutorials and samples. The site also offers a workspace with areas to test apps against Microsoft Office, SharePoint and Exchange. And when an app is finished, it can be easily submitted to the Microsoft app store for Office. Using technologies borrowed from Visual Studio, Microsoft has also released a new browser-based developer environment code-named Napa that allows developers to build apps.
In addition to encouraging organizations to build their own apps in-house, Microsoft is also hoping that third-party software vendors will build interfaces for their own Office and SharePoint products through the new Office Web API.Nintext, for instance, has formatted its workflow add-on for SharePoint as a Web app. "It makes it much easier to reach a new set of customers, and to have easier deployment and management," Jones said.