SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
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/

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Kürzlich hochgeladen (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 

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/