anatomy of a mail app

20
Anatomy of a Mail app

Upload: sharepoint-saturday-new-jersey

Post on 18-Dec-2014

148 views

Category:

Software


1 download

DESCRIPTION

Apps for Office introduces a new programming model that is so flexible, you may not believe it unless you see it with your own eyes. You might say it is dangerously simple to enhance the functionality of Office. Apps for Office allow you to enhance the user experience for Access, Excel, Outlook, PowerPoint, Project and Word, most likely using your existing skills. Starting with a brief discussion surrounding the road-map for the various types of Office apps, this talk will focus primarily on Mail apps and how you can use them to provide very valuable enhancements to the message and appointment (reading and composing) experiences. You will learn about what if takes to develop a Mail app (a real app, currently under development will be shown), what the infrastructure looks like to deploy a mail app, what the licensing process looks like and how easy they are to monetize. After the discussion, you will likely be beaming with ideas and be rushing home to begin building your very own App for Office.

TRANSCRIPT

Page 1: Anatomy of a mail app

Anatomy of a Mail app

Page 2: Anatomy of a mail app

Who am I?

• I am the founder of the Atlanta SharePoint User Group and have been a staple in the local .NET and SharePoint communities since the days of SharePoint 2003. I have been working exclusively with SharePoint since 2005 and am an 8 time SharePoint MVP. My IT career began in 1999 when I first moved to the United States from Canada after being recruited by an international consulting firm. After getting settled in, I started putting in my time (roughly 10 years) at various local firms, including Definition 6, Intellinet, and Slalom Consulting. My current employer, B&R Business Solutions, is a New Jersey based consulting company with a deep focus on SharePoint. My specialty is custom development, but I have worked in many other areas, including product development, architecture, project management and business analysis to name a few.

• When not sitting in front of my multiple monitors in my home office, coding away like mad, I enjoy spending time with my exceptionally awesome and beautiful daughter Lily and gallivanting around the globe (mostly just back to Canada) to visit and spend time with my fiancé Gillian.

• You can find me moderating or speaking at the monthly meeting of the Atlanta SharePoint User Group (@atlspug, #atlspug), online via Twitter (@jdattis), LinkedIn (www.linkedin.com/in/jakedanattis/), at a SharePoint Conference or SharePoint Saturday, or on Skype (jdattis).

• I live in Roswell, Georgia, where the sun is hot and my [cool weather] fescue lawn is both my love and my evil nemesis.

Page 3: Anatomy of a mail app

What could possibly happen?

My car…

Page 4: Anatomy of a mail app

Agenda

• Roadmap for Apps for Office, VSTO, and VBA

• Mail apps for Outlook

• Types of Mail apps

• Demo – A Mail app

• Demo – Manifest & API

• Adding an attachment

• Modifying message body

• Managing user settings

• Demo – Putting the puzzle together

• Resources

Page 5: Anatomy of a mail app

Roadmap for Apps for Office, VSTO, and VBA

Page 6: Anatomy of a mail app

Visual Basic for Applications (VBA) macros• In-product experience

• Visual Basic 6

• Decade+ old technology

• Limited in terms of UI customizability, tooling and framework support

• Code is typically stored and distributed directly in a document

• Application-level solutions are possible, but not the norm

• Involves IT and Group Policy

• Maintenance virtually impossible after initial distribution

Page 7: Anatomy of a mail app

Managed add-ins built with Visual Studio Tools for Office (VSTO)• Full language support of C# and Visual Basic

• Tight integration with the Office client applications

• Rich APIs

• Customization of the user interface

• Can also target Office 2007 and Office 2010

• Can deeply interact with other programs or resources on the host computer

• Requires an “installation”, therefore likely involves IT

• May have upgrade requirements and other dependencies

• Runs with the same security privilege as any other desktop program

• Might affect performance and/or stability of the host Office application

Page 8: Anatomy of a mail app

Apps for Office

• No need to install an add-in

• No need to enable a macro

• Download, install and use from Office Store or corporate app catalog

• Friction-free ease of distribution

• Run in a sandbox (no, not the SharePoint sandbox )

• Use in Office 2013 and a growing selection of Office Web Apps

• Built with “any” web technology

• Leverage your existing development skills

• Connect rich web content and services contextually with Office

Page 9: Anatomy of a mail app

Comparison

Apps for Office VSTO VBA

Automation and interaction with the host computer

Interaction with the web

User Interface customization

partial* partial

Interaction with the Office client object models

partial*

Offline Availability partial**

Support for latest tools and technologies

Support for team development and source-control

Page 10: Anatomy of a mail app

Comparison

Apps for Office VSTO VBA

Ability to target multiple host applications with one codebase

Ability to run code at application-level, across documents

partial

Security and sandboxed environment

Ease of distribution, lifecycle, and telemetry

Built-in monetization opportunity

Cloud and Desktop Compatibility

Office 2013+, and web-based O365 clients

Office 2007+(desktop only)

Office 2000+ (desktop only)

Page 11: Anatomy of a mail app

Mail apps for Outlook

• A web page that is hosted inside Outlook

• Made available by Outlook contextually with respect to the item the user is currently viewing or composing

• Started by the user

• Purpose is to enhance the browsing or authoring experience

• Runs seamlessly across the Outlook rich client, Outlook Web App and OWA for Devices

• Installed once per mailbox, available in all of the above

• Supported by email messages, meeting requests, responses and cancelations, and appointments

Page 12: Anatomy of a mail app

Types of Mail apps

Page 13: Anatomy of a mail app

Read

• Activated when the user is viewing a message or appointment

Page 14: Anatomy of a mail app

Compose

• Activated when the user is composing a message or appointment

Page 15: Anatomy of a mail app

Architecture Components

• An Exchange Server

• The user’s mailbox

• App manifest

• An Outlook client

• User views or composes a message or appointment

• A web server

• Mail app source files

• Just a plain old web application using the technology of your choosing

• CDN

• JavaScript API for Office

• Other (if needed)

• SharePoint

• SQL

• etc...

Page 16: Anatomy of a mail app

Component interaction

Page 17: Anatomy of a mail app

Demo – A Mail app

Page 18: Anatomy of a mail app

Demo – Manifest & API

Page 19: Anatomy of a mail app

Demo – Putting the puzzle together

Page 20: Anatomy of a mail app

Resources

• Roadmap for Apps for Office, VSTO, and VBA

• http://blogs.msdn.com/b/officeapps/archive/2013/06/18/roadmap-for-apps-for-office-vsto-and-vba.aspx

• Mail apps for Outlook

• http://msdn.microsoft.com/en-us/library/office/fp161135(v=office.15).aspx

• Apps for Office

• http://msdn.microsoft.com/en-US/office/dn448457

• Apps for SharePoint

• http://msdn.microsoft.com/en-US/office/dn448479

• Office Dev Center

• http://dev.office.com/