Outlook Online & Google Mail for developers – What’s the difference?
We’ve previously explored the different options for developing gadgets for Gmail as well as what options are available to developers to create apps that run on both the desktop and web editions of Microsoft Office. The two platforms are very different and offer varying degrees of customizations.
In this article we’ll assess the differences between the two platforms as well as what we’ve learned so far.
Let’s see what Microsoft and Gmail have to offer in terms of extensibility.
Outlook Mail Apps offers two choices when it comes to building user interfaces:
- Read apps
- Compose apps
Read apps are comparable to Gmail’s contextual gadgets, and are activated when a user opens an e-mail. All read apps are listed at the top of the message body and are activated by clicking on a name. In the following image, two mail apps are displayed at the top of the message body:
- My Cool App
- ADX Answers
Compose apps have been introduced in the second release of the Office apps platform and was something I neglected to mention in my previous blog post about Creating Outlook Apps. I am excited about compose apps, since this is the first step in getting closer aligned with the desktop programming model of Office. Compose apps are analogues to Office Task Panes as it is displayed on the right-hand side of the e-mail or appointment compose windows.
A compose app is activated by clicking on the APPS button inside the compose window, this will open a side bar with which the user can select the app to use for the specific message. In the following image, we clicked on the APPS button and the app selection side bar is displayed, listing two available apps:
Clicking on an app name, activates the specific app as illustrated in the following image, where we clicked on the My Templates app:
Google offers two customization options, namely:
- Sidebar gadgets
- Contextual gadgets
Contextual gadgets are somewhat similar to the read apps for Outlook, in the sense that they are activated below the message body. The contextual gadget is activated not by the user, but rather by contextual clues inside the body or subject of the e-mail. There are a number of pre-canned extractors provided by Google or you can write your own. In the following image, a search result from the Add-in Express website is displayed after it was activated by contextual clues inside the message subject:
Both the Gmail sidebar and contextual gadgets are relatively relaxed with UI considerations. In the above image, you can see that we used the Bootstrap framework to style the user interface and jQuery was also allowed.
Solution architectures & object models
Both platforms provide very different approaches and architectures for further development. Let’s take a closer look.
Gmail Sidebar gadgets are hosted on third party servers; it can be as simple as saving the gadget specification xml file on a web accessible server and adding the gadget by pointing to the correct url.
Gmail Contextual gadgets are a completely different story and involve the need to first log into your domain’s console and creating a new project. From there you’ll upload the manifest file and any custom extractors you’ve written. You’ll also need to grant data access for the gadget, before users can use it inside their own Gmail application.
To use Outlook Online, you need to first provision a developer site on SharePoint in order to create the app. Once the app is created using the Napa Development Tools, you can run it inside Outlook Online. Deploying the mail app involves logging into the Exchange Admin Center, which you can read more about on how to deploy a mail app on MSDN.
Unlike Google Sheets and Google Docs, Google does not offer an integrated online development environment for Gmail gadgets. Instead, you can develop Gmail gadgets as you would any standard Html web page, using your favorite text editor. The big drawback of not having an IDE to develop gadgets is the lack of intellisense and compile-time error checking, which make debugging your gadget codes somewhat more challenging.
Microsoft offers Napa Development Tools, which is a rather nice online IDE, but it does not offer much in the line of compile-time error checking, nevertheless it does offer fairly decent intellisense. Of course, you can always download the mail app project and open it inside the desktop version of Visual Studio that will provide all the functionality .Net developers have become accustomed to.
The Gmail API on the other hand does not offer much flexibility when it comes to sidebar gadgets. Side bar gadgets cannot access the user’s inbox or e-mail message, you are nonetheless able to set certain properties for the gadget like its title and preferences.
Contextual gadgets also only provides flexibility via extractors, where the extractor checks the subject, sender, or body etc. of the email message.
Gmail gadget store vs. Office Apps store
I could honestly not find anything that resembled a store for Gmail gadgets, the closest I could find was the Labs tab under my Gmail settings. There is a wide variety of gadgets, but you must keep in mind that they may change, break or disappear at any time.
With Office 365 you can add apps by clicking on the “Manage apps” link under the settings menu:
From here you have three options to add apps:
- Add from the Office Store
- Add from Url
- Add from file
Clicking on the “Add from Office Store” option will take you to the Office store where you can add a new app by simply clicking on the Add option underneath its name.
Thank you for reading. Until next time, keep coding!