Since the initial announcement of Apps for Office, originally code-named “Agaves”, this feature of the Office Suite has been under emphasized and all too often overlooked. Apps for Office, mini applications that extend what you can do with the new version of Office, is a highly potent platform which is built into the Office Suite that can be leveraged to increase business productivity.
During this session targeted to Business Decision Makers, we will take a look at what Apps for Office entails, how it can be used to add value to your business through real world scenarios, and understand what opportunities the platform can open up for your business to maximize your existing investment in the Office Suite. By the end, you will have learned how to unlock this powerful tool and immediately increase the productivity of your organization.
3. #SPC294
• Senior Technical Director, SharePoint
• SharePoint Server MVP
• Microsoft PTSP
• Blog: www.sharepointlonghorn.com
• Twitter: @sharepointlhorn
• LinkedIn: www.linkedin.com/in/jasonhimmelstein
• SlideShare: http://www.slideshare.net/jasonhimmelstein
• Email: jase@sharepointlonghorn.com
• Author of Developing Business Intelligence Apps for
SharePoint
– http://bit.ly/SharePointBI
Booth #2140
4. #SPC294
Learn about the Cloud App
model & its ROI
Understand the real world
value of Apps for Office
Unlock the power of
your investment
5. #SPC294
Evolution of Applications
Intro to Apps for Office
Value Proposition of Apps for Office
Demo
Real World Scenario
Discuss the newly announced
Agenda for the session
8. #SPC294
Architecture of SharePoint
customizationsFull Trust Solutions
No real control
Support is difficult
Upgrades are challenging
Securing code to run in hosted
environments is effectively
impossible
SP Code
More custom
code:
aspx, dlls, web
services, GAC
SP Code
Sandboxed
Custom
Code
Sandbox
Partial control
Way too strict for developers
Hard to maintain and expand
Managed by your self
App Model
Control, Trust, Manage
App code
(client or
server)
SP Code
Isolated
App client
side code
Host/language independent
Management and update easily
doable per app
Emphasizes reusability
No server side or sandbox code,
greatly improved CSOM
24. #SPC294
Yes, PHP & Python…
Or any other backend language you use
Agnostic to your backend,
Apps for Office can be used
to interact with your LOB
system using a web service
& JavaScript
28. #SPC294
• Analyze your businesss & existing Applications
• Create a web service layer
• Create an App for Office
• Train your users
• Track productivity
45. #SPC294
Decide on the purpose of the app
Identify the data and data source for the app
Identify the type of app and Office host applications
Design and implement user experience & user
interface
Create an XML manifest file based on the App
Install and test the app
Publish the app
Updating the app
Sunset the app
49. #SPC294
Expanding Office 365 APIs
Office 365 UX API capabilities
Better integration with Azure
Expanded tooling capabilities
with Visual Studio
50. #SPC294
Tuesday 145p - #SPC385: Building SharePoint Apps with Windows
Azure Platform as a Service with Kirk Evans
Wednesday 9a - #SPC300: A strategic and pragmatic conversation on
governance with Eric Riz
Wednesday 1045a - #SPC361: Creating Cloud Hosted Line Of
Business Applications with Apps for Office, O365, Azure, and WP8 with
Todd Baginski & Michael Sherman
Wednesday 5p - #SPC335: Rich extensions to SharePoint Apps using
Microsoft Access with Arjun Raja & Gary Devendorf
Thursday 1030a - #SPC270: When should we use SharePoint out-of-
the-box, add third-party apps or build custom solutions? with Richard
Harbridge
Atrion – New England Consultancy, Global 50 MSP, Cisco Partner of the Year, Microsoft Managed PartnerBlogTwitterLinkedInBookSpursLonghornsJags
Before looking into 2013, it’s good have look back on the history of the SharePoint to see how did we end up here and what were the options.<click> your way through the progression – don’t linger, just call out a point or two eachFinal <click> main point is that now SharePoint is opened up to extensibility using standard Web technologies – so your web developer’s skills now translate to SharePoint extensibility.
From an architecture perspective – it’s about where your code is running and what are the implications of it running there.Full trust solutionsYou’re missing control, since we basically grant full access rights for the code across our application and in servers. In previous versions you could have provided limited access, but that was difficult to do and was not used that often. In general, deployments caused service outages on the servers, since there’s really no way to update the server without at least recycling the application pool. SandboxOur customization story basically grew up a little bit or from an Administrative perspective we gained some control. This was introduced in 2010… too strict from server side API level which developers have been used to use and client side APIs were also so limited that even though you could have implement some solutions, but not many did so.App model- With the App Model, development is growing up with key objectives being on control, trust and management.
The basic components of an app for Office are an XML manifest file and a webpage. The manifest defines various settings and points to the webpage that implements the app UI and custom logic
Appetizing your line of business data
Using the Office StoreEnd-users to find apps in the public marketplace Microsoft validates & signs all marketplace appsValidates app manifest markup, that the app does not include disallowed elements & features that have a scope broader than Web“Validation Policies for the apps submitted to the Office Store”http://msdn.microsoft.com/en-US/library/jj220035.aspx“Checklist for submitting an app to the Office Store”http://msdn.microsoft.com/en-us/library/dn356576.aspxFor App publishers, monetize your app!“Microsoft Seller Dashboard FAQ”http://msdn.microsoft.com/en-us/library/dn336975.aspx
App Catalog
Decide on the purpose of the app.Ask the following questions:How is the app useful? How does it help people to be more productive?What are the scenarios where people can use its features?Decide the most important features and scenarios and focus your design around those scenarios. Identify the data and data source for the app.Is the data in a document, workbook, project, or about an item or items in a mailbox? Is the data from an external source such as a web service?Identify the type of app and Office host applications that best support the purpose of the app.Consider the following to identify the scenarios where people will use the app:Will people use the app to enrich the content of a document? If so, you may want to consider creating a content app. Currently, you can create content apps for Excel and Excel Web App.Will people use the app while viewing an email message or appointment? Is being able to expose the app according to the current context important? Is making the app available on not just the desktop but also the tablet or smartphone a priority?If your answer to any of the prior questions is yes, you may want to consider creating a mail app. Currently, you can create mail apps for the Outlook rich client, Outlook Web App and OWA for Devices, if your mailbox resides on an Exchange Server. You should then identify the context that will trigger your app (for example, specific message types, the presence of an attachment, address, task suggestion, or meeting suggestion, or certain string patterns in the contents of an email or appointment). See Activating mail apps in Outlook clients to find out how you can contextually activate the mail app.Will people use the app to enhance the viewing or authoring experience of a document? If so, you may want to consider creating a task pane app. Currently, you can create task pane apps for Excel, Excel Web App, PowerPoint, Project, and Word.Design and implement the user experience and user interface for the app.Design a fast and fluid user experience that is consistent, easy to learn, with primary scenarios that require only a few steps to complete. Depending on the purpose of the app, make use of third party APIs or web services to fulfill the scenarios.You can choose from a variety of web development tools and use HTML and JavaScript to implement the user interface.Create an XML manifest file based on the app for Office schema.Create an XML manifest to identify the app and its capabilities, specify the locations of the HTML and any JavaScript and CSS files that the app uses and, depending on the type of the app, the default size and permissions.You can specify the context, based on the selected message or appointment, under which your app is relevant and you would like Outlook to make it available for use in the user interface. You should also decide the devices that you want the app to support. In the manifest, specify the context as activation rules and the supported devices.Install and test the app.Place the HTML files and any JavaScript and CSS files on the web servers that are specified in the app manifest file. The process to install an app depends on the type of the app.Install the mail app into an Exchange mailbox, and specify the location of the app manifest file in the Exchange Admin Center (EAC). For more information about installing mail apps, see the examples in How to: Install sample mail apps in Outlook and Deploying and installing mail apps for testing in Outlook.See the following topics for more information about testing and debugging mail apps:Troubleshooting mail apps activationSample: Debug properties of Outlook itemsHow to: Extract entity strings from an Outlook itemDiagnostics objectPublish the app.You can submit the app to the Office Store, from which customers can install the app. In addition, you can publish task pane and content apps to a private folder app catalog on SharePoint or to a shared network folder, and you can deploy a mail app directly on an Exchange Server for your organization. For details, see Publishing your app for Office.Updating the appIf your app calls a web service, and if you make updates to the web service after publishing the app, you do not have to republish the app. However, if you change any items or data you submitted for your app, such as the app manifest, screenshots, icons, HTML or JavaScript files, you will need to republish the app. In particular, if you have published the app to the Office Store, you'll need to resubmit your app so that the Office Store can implement those changes. You must resubmit your app with an updated app manifest that includes a new version number. You must also make sure to update the app version number in the submission form to match the new manifest's version number. For mail apps, you should make sure the Id element contains a different UUID in the app manifest.
O365 Developer Vision has something for all developers everywhere : Engaging solutions across Office and custom mobile / web appsConnected services Open platform. Flexible Tools.
I think that for the roadmap you can count on expanding the Office 365 APIs for them to use as backend servicesyou can expect us investing in and expanding the Office 365 UX API capabilities to use as front endYou can expect tighter integration with Azure for the platform servicesand tighter integration and expanded tooling capabilities with Visual Studio :)
Atrion – New England Consultancy, Global 50 MSP, Cisco Partner of the Year, Microsoft Managed PartnerBlogTwitterLinkedInBookSpursLonghornsJags