Just a few months ago, Microsoft officially launched Office 2013 and with it Apps for Office. These Apps represent a very exciting new era for Microsoft and its partners.
What is Apps for Office
Apps for Office allows you to enhance supported Office 2013 applications by using web technologies like HTML5, XML, CSS3, JavaScript, and REST APIs. An App for Office is basically a web page that is hosted inside an Office client application. You can use these applications to extend the functionality of a Word document, Excel spreadsheet, Project plan or mail message. Apps for Office are currently only supported within the Excel 2013, Word 2013, Outlook 2013 and Project 2013.
Apps for Office integrate seamlessly into the host Office application. These applications can act immediately based on actions performed by the Office user. For example, if a user selects a new task in Microsoft Project the application will immediately update to show recommendations that are relevant to that selected task.
The following diagram from Microsoft provides a good overview of the technologies at play.
There are three types of applications supported in Apps for Office:
- Task Pane
- Content
Task pane apps dock at the side of the document and display contextual information to enhance the user’s experience. In the example below from the Sensei Task Analyzer™ compliance recommendations are provided to the project manager when a task is selected. The recommendation changes immediately when a new task is selected.
Content apps allow content do be added in-line with the document. Content apps let you integrate rich, web-based content such as graph, picture gallery and video.
Mail apps display additional content with the current Outlook item. These applications can access contextual information from the email message to provide additional content. In the example below, the application checks if an email message contains an address; if an address is found, the application displays a map with the location of the address.
Much Has Changed
The idea of using applications to enhance the functionality available in Microsoft Office is not new. Since Office 2007, Visual Studio developers have been able to use Office add-ins to add functionality to Microsoft Office. Before Office add-ins this custom functionality was accomplished by using Visual Basic for Applications (VBA). Despite this long history of Office customizations a very large percentage of Office users have never taken advantage of this functionality.
There are a number of reasons for this lack of acceptance.
- VBA applications could be difficult for the average user to install.
- Office Add-ins could access the user client system, and therefore installation was not permitted by many organizations
- There was not a central location to find Office applications that users might find helpful.
Apps for Office addresses these issues.
Applications are much simpler to find and install with the use of the Microsoft Office Store. The Office Store can be accessed directly in the Office application’s ribbon: in the “Project Tab” for Microsoft Project and in the “Insert Tab” for Word and Excel. Users may easily find applications they are interested in, then seamlessly install them. Once the application has been added it can be started from this same menu item.
Since these applications are created using existing web technologies they no longer have access to the user environment. The applications can communicate with the hosting Office application and document only by using well defined JavaScript libraries. In fact, the only portion of the application that is installed is a small manifest file that points to the location of the web site that hosts the application.
Some Things Stay the Same
Microsoft Office Developer Tools for Visual Studio 2012 provides an App for Office 2013 template. This template quickly configures an appropriate solution for the selected Office environment. By using this template developers can leverage their experience with the Visual Studio 2012 environment.
The team at Microsoft has provided a nicely integrated F5 debugging experience when using the App for Office template. Applications are provided with a full debugging experience within the hosting Office application.
After installing the developer tools you may notice that the Office Add-ins templates still exists. Although the trend is toward Apps for Office, the traditional Office Add-ins are supported in Office 2013 and will likely continue to be supported for the foreseeable future. There is certainly no reason to abandon your existing Office Add-in, and there may even be cases where you will choose to develop using Office Add-ins rather than Apps for Office.
If your Office application will only be used internally on rich Office Clients then Office Add-ins may still be your technology of choice. However choosing this technology will prevent your solution from taking advantage of the exposure and features offered by the Office Store.
Supporting our Project Managers
Microsoft Project is one of the initial Office products to support Apps for Office. Microsoft Project Apps are always implemented as task pane applications.
During the initial version of Apps for Office these applications provide only read level access to the underlying project data. If you are looking to build an application that will allow your project managers to update their Microsoft Project plans, you are currently still required to use the Office Add-in technology. Although the read-only restriction does limit the applications that can be created, there are still opportunities to build compelling applications with the existing Apps for Office support.
If you need an application that will provide your project managers with contextual information about their projects, Apps for Office is an ideal technology. Sensei Task Analyzer™ is an example of this type of contextual application. Recommendations are provided to the project manager based on the task that is currently selected. In fact, a set of 22 checks are performed against industry standards for scheduling. The application will not directly change the project schedule but will immediately modify the recommendation based on the changes that are made by the project manager. These types of solutions can be provided to users of both Project Standard 2013 and Project Professional 2013.
Since Apps for Office can leverage web services, they can also be used in Microsoft Project 2013 to surface additional information about the project that is available in Microsoft Project Server 2013. Information about the Project Issues, Risks and additional scheduling information can be obtained from Project Server and displayed in Microsoft Project for the project manager. The Sensei Project Dashboard™ shown below displays project and task data from the schedule as well as documents and list items from the associated SharePoint Project Site.
Pushing the Boundaries
Although Apps for Office has been described as a web page hosted in Microsoft Office they really can be full-fledged web applications that take advantage of the new web technologies.
App creators explored the HTML5 Canvas to present detailed metrics and used the local storage facilities to store and retrieve user customizations. Use your own or publicly available web services to provide useful and relevant information in the Office application.
Although you are restricted to using the JavaScript libraries when communicating with the Office document, there is nothing preventing the use of server side technologies such ASP.Net when rendering the application and for server side processing.
Call to Arms
The application development trend for Microsoft Office is moving towards Apps for Office. Embrace this new technology by making compelling applications available in the Office Store. We will all benefit when the Office Store is on the radar of all Office users.
References
There is significant information available for Apps for Office and SharePoint. I have included a list of some that I have found particularly useful.
- Build apps for Office
- Developer training | apps for Office and SharePoint
- Project 2013 developer documentation
- Developing Apps for Office 2013
- App for Office and SharePoint Downloads
- Validation policies for the apps submitted to the Office Store (version 1.3)
About Sensei Project Solutions
Sensei Project Solutions is a Microsoft Partner specializing in Project and Portfolio Management (PPM) deployments with Microsoft Project and Project Server on the SharePoint platform. With extensive experience on hundreds of PPM deployments and with thousands of users trained, Sensei Project Solutions brings a process-focused approach; and support for industry standards and best practices to all engagements. Sensei’s Task Analyzer™ helps to ensure a high quality schedule by analyzing each task for potential issues. The ‘Checks’ in the Task Analyzer are based on industry standards and best practices, including Sensei’s Proactive Scheduling™ and the Project Management Institute’s Practice Standards for WBS and Scheduling. info@senseiprojectsolutions.com