SlideShare a Scribd company logo
1 of 20
Download to read offline
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 Ifirst moved to the United States from Canada after being recruited by an international consulting firm. After getting settled in, Istarted 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, Ienjoy 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). 
•Ilive in Roswell, Georgia, where the sun is hot and my [cool weather] fescue lawn is both my love and my evil nemesis.
What could possibly happen? 
My car…
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
Roadmap for Apps for Office, VSTO, and VBA
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
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
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
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
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)
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
Types of Mail apps
Read 
•Activated when the user is viewing a message or appointment
Compose 
•Activated when the user is composing a message or appointment
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...
Component interaction
Demo –A Mail app
Demo –Manifest & API
Demo –Putting the puzzle together
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/

More Related Content

What's hot

Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search engines
Mavention
 

What's hot (20)

O365con14 - develop, build, package and deploy apps for office 2013 with visu...
O365con14 - develop, build, package and deploy apps for office 2013 with visu...O365con14 - develop, build, package and deploy apps for office 2013 with visu...
O365con14 - develop, build, package and deploy apps for office 2013 with visu...
 
SPSOrlando - InfoPath 2010 Jumpstarter
SPSOrlando - InfoPath 2010 JumpstarterSPSOrlando - InfoPath 2010 Jumpstarter
SPSOrlando - InfoPath 2010 Jumpstarter
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
 
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
 
Chatbot Success Factor - Microsoft 365 Saturday Sydney
Chatbot Success Factor - Microsoft 365 Saturday SydneyChatbot Success Factor - Microsoft 365 Saturday Sydney
Chatbot Success Factor - Microsoft 365 Saturday Sydney
 
Mobile devices and SharePoint
Mobile devices and SharePointMobile devices and SharePoint
Mobile devices and SharePoint
 
SharePoint Online - Friend or Foe
SharePoint Online - Friend or FoeSharePoint Online - Friend or Foe
SharePoint Online - Friend or Foe
 
SPCA2013 - SharePoint 2013 Office Integration
SPCA2013 - SharePoint 2013 Office IntegrationSPCA2013 - SharePoint 2013 Office Integration
SPCA2013 - SharePoint 2013 Office Integration
 
What's New and Different in SharePoint 2013
What's New and Different in SharePoint 2013What's New and Different in SharePoint 2013
What's New and Different in SharePoint 2013
 
Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)Developing social solutions on Microsoft technologies (SP Social and Yammer)
Developing social solutions on Microsoft technologies (SP Social and Yammer)
 
Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search engines
 
DIWUG.nl: How We Did It
DIWUG.nl: How We Did ItDIWUG.nl: How We Did It
DIWUG.nl: How We Did It
 
Advanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath DevelopmentAdvanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath Development
 
Building solutions with Office Graph
Building solutions with Office GraphBuilding solutions with Office Graph
Building solutions with Office Graph
 
SPSLondon 2015 Evolving with Office 365 and SharePoint Online Collaboration T...
SPSLondon 2015 Evolving with Office 365 and SharePoint Online Collaboration T...SPSLondon 2015 Evolving with Office 365 and SharePoint Online Collaboration T...
SPSLondon 2015 Evolving with Office 365 and SharePoint Online Collaboration T...
 
Sydney Microsoft 365 Meetup Microsoft teams
Sydney Microsoft 365 Meetup Microsoft teamsSydney Microsoft 365 Meetup Microsoft teams
Sydney Microsoft 365 Meetup Microsoft teams
 
Why SharePoint is critical to SMB
Why SharePoint is critical to SMBWhy SharePoint is critical to SMB
Why SharePoint is critical to SMB
 
Using SharePoint / Office 365 as Learning Ecosystem
Using SharePoint / Office 365 as Learning EcosystemUsing SharePoint / Office 365 as Learning Ecosystem
Using SharePoint / Office 365 as Learning Ecosystem
 
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
Tutorial: Building Business Solutions: InfoPath & Workflows by Jennifer Mason...
 
SharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magicSharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magic
 

Similar to Anatomy of a mail app

Introduction and What is New: Microsoft SharePoint 2013
Introduction and What is New: Microsoft SharePoint 2013Introduction and What is New: Microsoft SharePoint 2013
Introduction and What is New: Microsoft SharePoint 2013
David J Rosenthal
 
Sumit_SharePoint
Sumit_SharePointSumit_SharePoint
Sumit_SharePoint
Sumit Y
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
BIWUG
 

Similar to Anatomy of a mail app (20)

MindSurf 2013 - Improving Business Productivity with SharePoint 2013
MindSurf 2013 - Improving Business Productivity with SharePoint 2013MindSurf 2013 - Improving Business Productivity with SharePoint 2013
MindSurf 2013 - Improving Business Productivity with SharePoint 2013
 
Introduction and What is New: Microsoft SharePoint 2013
Introduction and What is New: Microsoft SharePoint 2013Introduction and What is New: Microsoft SharePoint 2013
Introduction and What is New: Microsoft SharePoint 2013
 
Sumit_SharePoint
Sumit_SharePointSumit_SharePoint
Sumit_SharePoint
 
How to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsHow to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer Apps
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
 
Enhance Productivity using SharePoint
Enhance Productivity using SharePointEnhance Productivity using SharePoint
Enhance Productivity using SharePoint
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI Fabric
 
Thinakaran
ThinakaranThinakaran
Thinakaran
 
Course Tech 2013, Joe Habraken, office 365, Microsoft Office 2013 and the Cloud
Course Tech 2013, Joe Habraken, office 365, Microsoft Office 2013 and the CloudCourse Tech 2013, Joe Habraken, office 365, Microsoft Office 2013 and the Cloud
Course Tech 2013, Joe Habraken, office 365, Microsoft Office 2013 and the Cloud
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
M365 Boost Your Productivity LW.pptx
M365 Boost Your Productivity LW.pptxM365 Boost Your Productivity LW.pptx
M365 Boost Your Productivity LW.pptx
 
LW M365 Boost Your Productivity.pptx
LW M365 Boost Your Productivity.pptxLW M365 Boost Your Productivity.pptx
LW M365 Boost Your Productivity.pptx
 
Muhammad Ahsan Javed - Visionet
Muhammad Ahsan Javed - VisionetMuhammad Ahsan Javed - Visionet
Muhammad Ahsan Javed - Visionet
 
Application Insights for Integration Developers
Application Insights for Integration DevelopersApplication Insights for Integration Developers
Application Insights for Integration Developers
 
SPCA2013 - Getting to grips with a SharePoint 2013 BYOD Strategy
SPCA2013 - Getting to grips with a SharePoint 2013 BYOD StrategySPCA2013 - Getting to grips with a SharePoint 2013 BYOD Strategy
SPCA2013 - Getting to grips with a SharePoint 2013 BYOD Strategy
 
SharePoint 2013 introduction | What's new in SharePoint 2013 | SharePoint 20...
SharePoint 2013 introduction  | What's new in SharePoint 2013 | SharePoint 20...SharePoint 2013 introduction  | What's new in SharePoint 2013 | SharePoint 20...
SharePoint 2013 introduction | What's new in SharePoint 2013 | SharePoint 20...
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access Services
 

More from SharePoint Saturday New Jersey

Exchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 IntegrationExchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 Integration
SharePoint Saturday New Jersey
 

More from SharePoint Saturday New Jersey (17)

Building Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App CenterBuilding Mobile Apps With Xamarin and Visual Studio App Center
Building Mobile Apps With Xamarin and Visual Studio App Center
 
Azure Active Directory
Azure Active DirectoryAzure Active Directory
Azure Active Directory
 
The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365The Definitive Guide for When to Use What In Office 365
The Definitive Guide for When to Use What In Office 365
 
Sps2015 intro to office 365 admin nikkia carter
Sps2015 intro to office 365 admin   nikkia carterSps2015 intro to office 365 admin   nikkia carter
Sps2015 intro to office 365 admin nikkia carter
 
The anatomy of office 365 groups
The anatomy of office 365 groupsThe anatomy of office 365 groups
The anatomy of office 365 groups
 
Integrating SSRS with SharePoint
Integrating SSRS with SharePointIntegrating SSRS with SharePoint
Integrating SSRS with SharePoint
 
A Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with JavascriptA Beginner's Guide to Client Side Development with Javascript
A Beginner's Guide to Client Side Development with Javascript
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
SharePoint Saturday NJ 2014 Slides
SharePoint Saturday NJ 2014 SlidesSharePoint Saturday NJ 2014 Slides
SharePoint Saturday NJ 2014 Slides
 
Improving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous IntegrationImproving the SharePoint Development Process with Continuous Integration
Improving the SharePoint Development Process with Continuous Integration
 
10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..10 points to make a rogue SharePoint environment really, really secure..
10 points to make a rogue SharePoint environment really, really secure..
 
Insights and Monitoring of SharePoint Applications
Insights and Monitoring of SharePoint ApplicationsInsights and Monitoring of SharePoint Applications
Insights and Monitoring of SharePoint Applications
 
Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013Optimizing SQL Server 2012 for SharePoint 2013
Optimizing SQL Server 2012 for SharePoint 2013
 
Integrating Office Web Apps with SharePoint 2013
Integrating Office Web Apps with SharePoint 2013Integrating Office Web Apps with SharePoint 2013
Integrating Office Web Apps with SharePoint 2013
 
Exchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 IntegrationExchange Server 2013 and SharePoint Server 2013 Integration
Exchange Server 2013 and SharePoint Server 2013 Integration
 
Term Store Navigation
Term Store NavigationTerm Store Navigation
Term Store Navigation
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 

Anatomy of a mail app

  • 1. Anatomy of a Mail app
  • 2. 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 Ifirst moved to the United States from Canada after being recruited by an international consulting firm. After getting settled in, Istarted 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, Ienjoy 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). •Ilive in Roswell, Georgia, where the sun is hot and my [cool weather] fescue lawn is both my love and my evil nemesis.
  • 3. What could possibly happen? My car…
  • 4. 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
  • 5. Roadmap for Apps for Office, VSTO, and VBA
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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)
  • 11. 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
  • 13. Read •Activated when the user is viewing a message or appointment
  • 14. Compose •Activated when the user is composing a message or appointment
  • 15. 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...
  • 19. Demo –Putting the puzzle together
  • 20. 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/