From Idea to App Store
Remember to and tag #SPSNashville in your posts! Platinum Sponsors Gold Sponsors Thank You for being a part of SharePoint Saturday Nashville!
About Me Bill Crider Director, SharePoint products for Ascendum Solutions / BlueSpring Software Website ( – under remodeling – Thanks Microsofthttp://drsharepoint.com Blog: (note the underscores)
Tweet to Compete Drawing at end of talk Tweeting about the session is your entry Hashtags #spsNashville
Agenda Assume you want to make some money selling apps Not a deep technical dive on development technique What you need to get started and what you should consider before you start Topics 1. The app opportunity in Setting up an account 3. Tools and support 4. App development design decisions 5. Deploying and maintaining your app 6. Licensing
A huge business opportunity in- product exposure Instant credibility 1B users
Seller Dashboard Office Store SharePoint/ Office Ribbon Direct Negotiated deals/ IT projects App Catalog FREE/ TRIAL/ PURCHASE SharePoint or Office Client Developer IT admin End user APP VALIDATION Choice of distribution channel
Store Momentum – SharePoint Conference 2014 International Expansion
Marketing Tools/ Store front improvements Lionbri dge Improved Acquisition Market Localization App Awards
Demo – app store and corporate catalog Tenant administrators and SharePoint 2013 web application administrators can shop for apps for SharePoint on the public app store. They can also add apps to the corporate app catalog Users install apps from the Your Apps page (Site Settings). A user must have the Manage Web site and Create Subsites permissions to add an app for SharePoint. By default, these permissions are available only to users who have the Full Control permission level or who are in the site Owners group.
On-Prem App catalogs How – to: Notes: 1. 1 app catalog per web application 2. Separate domain name for the catalog site 3. If using SSL, need a wildcard certificate 4. Build in the Apps page in Central Administration 5. Upload.app packages to the library 6. Can create categories
DEMO - Installing an App The user who installs the app must grant all the permissions that an app requests or not grant any permission If a user without sufficient permissions is prompted for consent by an app that a user is trying to install, an error message displays to the user informing them that they don't have sufficient permissions to grant the app its request.
Setting up a developer account 1. Windows Live account 2. Seller Dashboard 3. Individual Details Requirements 1.Typical personal information 2.Website 3.Logo 96x96 and <= 250 KB 4.W-9 Tax form 5.Bank or Paypal account 4. Approval (or not) 5. Tax and Bank Info us/library/office/fp aspx#o365_signup
Demo – Setting up an account
Developer Tools 1.Visual Studio Visual Studio 2013 Update MS Office developer tools for Visual Studio tools-for-visual-studio-2013-preview-released.aspx 4.JavaScript tools – MVVM pattern coding Node.js Jquery included in App project type Minify –MS AJAX Utility to compress js files 5.TFS – Cloud based Available from within Visual studio as well 6.Bootstrap framework
Useful links 2 – This time, its REALLY useful Yammer group PnP - GitHub Wiki - patterns-and-practiceshttps://github.com/OfficeDev/PnP/wiki/contributing-to-Office-365-developer- patterns-and-practices Videos - app marketing - betterwith.office.com Licensing - App guidelines - Validation checklist - Msdn content - Twitter New content - Office Dev blog -
StartStart [ms-office] Useful links 3 – out of original ideas, stealing slides from Build conference
Demo –TFS in the Cloud Demo – Deploying an app with Visual Studio
App Development & Architecture considerations Where to host the app How to present the UI with SharePoint Which Programming model(s) to use Support and Maintenance Tool Useful links Javascript API - Basic operations - Ted Pattison’s blog- Office API for JS - SharePoint2013 and REST -
Hosting Options SharePoint App Web SharePoint Host Web SharePoint-Hosted app Provisions an isolated sub web on a host web - Use SP artifacts & out-of-box web parts - Use HTML & JavaScript for UI & client-side logic - Use Workflows for middle tier logic Cloud / 3rd party-hosted Provide your own hosting environment - Use server code - Receive SP events - Use OAuth to access SP Provider hosted apps Your Hosted Site Azure SharePoint Host Web Hosted in client network Client-hosted app Use the customer’s environment
Provider hosted sample architectures Office 365Azure Virtual MachinePrivate Hosting On-premAzure Web Site License Sample App Visual Search
UI Options Full page Implement complete app experiences to satisfy business scenarios App Parts Create app parts that can interact with the SharePoint experience UI command extensions Add new commands to the ribbon and item menus Remote Provisioning Provision branding, script, and other elements from the remote app
Demo –Full Page UI Demo – App Part UI Demo – Remote Provisioning UI
Programming models Javascript Client Side Object Model / Javascript object model REST C# Language API Non-Microsoft
Support and Maintenance Cost of Azure servers for provider hosted Maintain a place to answer questions / support end users – especially during a trial Upgrade issues
Demo – User engagement
Deploying to the Office store 1. Build the app 2. Upload 3. Input Details 4. Approval (or not) 5. Approved! Build command, creates.app file Requirements Title and description Logo, exactly 96x96 1 screenshot minimum Website for support Testing details (optional) Licensing document (optional) Price and Licensing structure
App Guidelines for submittal Full article : Highlights 1.Must include link back to host web SharePoint hosted app – uses app.master – DONE! Chrome control – add to page, creates SharePoint UI and link Roll your own – must have a link to the host web. 2.Use styling that is familiar to the SharePoint experience host CSS 3. Managing licensing issues in the UI – use the status bar SP.UI.Status.addStatus(strTitle, strHtml, atBegining) Method Check for read-only mode /_api/site/ReadOnly
Licensing and Revenue models
view metrics on all listed apps
Please fill out the session feedback survey: Session Feedback