From Idea to App Store Thank You for being a part of SharePoint Saturday Nashville! Remember to follow @SPSNashville and tag #SPSNashville in your posts! Platinum Sponsors Gold Sponsors About Me Bill Crider Director, SharePoint products for Ascendum Solutions / BlueSpring Software Website (http://drsharepoint.com) – under remodeling – Thanks Microsoft Blog: http://drsharepoint.wordpress.com/ Twitter: @Bill_Crider_ (note the underscores) 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 2015 2. 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 1B users in-product exposure Instant credibility Choice of distribution channel SharePoint or Office Client FREE/ TRIAL/ PURCHASE APP VALIDATION Store Momentum – SharePoint Conference 2014 International Expansion Store facts and figures (April 2015) Active add-ins 1000 960 800 600 400 377 200 0 72 82 Mail Content Task Pane SharePoint Betterwith.Office.com Office-hosted site to tell your story Office will promote your add-ins Vertically-focused site: SMB first Future: scalable partner model Marketing Tools / Store front improvements Improved Acquisition https://store.office.com/insightly-WA104058309.aspx?assetid=WA104058309 App Awards Market Localization Lionbri dge https://intlapps.lionbridge.com//office http://dev.office.com/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: http://technet.microsoft.com/en-us/library/fp161234(v=office.15) • 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 4. Approval (or not) 5. Tax and Bank Info https://msdn.microsoft.com/enus/library/office/fp179924.aspx#o365_signup https://sellerdashboard.microsoft.com Requirements 1. Typical personal information 2. Website 3. Logo 96x96 and <= 250 KB 4. W-9 Tax form 5. Bank or Paypal account Demo – Setting up an account Developer Tools 1. Visual Studio 2013 2. Visual Studio 2013 Update 4 http://www.microsoft.com/en-us/download/details.aspx?id=44921 3. MS Office developer tools for Visual Studio 2013 http://blogs.msdn.com/b/officeapps/archive/2013/06/26/office-developertools-for-visual-studio-2013-preview-released.aspx 4. JavaScript tools • http://knockoutjs.com – MVVM pattern coding • Node.js https://nodejs.org/ • Jquery included in App project type • Minify –MS AJAX Utility to compress js files • http://ajaxmin.codeplex.com/ 5. TFS – Cloud based http://tfs.visualstudio.com/ • Available from within Visual studio as well 6. Bootstrap framework http://getbootstrap.com/2.3.2/getting-started.html Useful links 2 – This time, its REALLY useful • Yammer group https://www.yammer.com/itpronetwork/#/threads/inGroup?type=in_group&feedId=4597220 • PnP - http://dev.office.com/patterns-and-practices • GitHub Wiki - https://github.com/OfficeDev/PnP/wiki/contributing-to-Office-365-developerpatterns-and-practices • Videos - app marketing - betterwith.office.com • Licensing - https://msdn.microsoft.com/EN-US/library/office/dn456317.aspx • App guidelines - https://msdn.microsoft.com/library/office/jj220035.aspx • Validation checklist - https://msdn.microsoft.com/EN-US/library/office/jj938162.aspx • Msdn content - https://msdn.microsoft.com/en-us/library/office/jj164080.aspx • Twitter - @OfficeDev • New content - http://dev.office.com/latestnews • Office Dev blog - http://blogs.office.com/2015/05/21/office-365-monthly-dev-digest-for-may/ Useful links 3 – out of original ideas, stealing slides from Build conference Star t https://www.yammer.com/itpronetwork @OfficeDev [ms-office] http://dev.office.com/podcasts http://officespdev.uservoice.com/ 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 - http://msdn.microsoft.com/en-us/library/jj193034(v=office.15).aspx Basic operations - http://msdn.microsoft.com/en-us/library/jj163201.aspx Ted Pattison’s blog-http://blog.tedpattison.net/Lists/Posts/Post.aspx?ID=20 Office API for JS - http://msdn.microsoft.com/en-us/library/fp142185.aspx SharePoint2013 and REST - http://msdn.microsoft.com/en-us/library/fp142385(v=office.15) Hosting Options Azure Cloud / 3rd party-hosted Provider hosted apps - Use server code - Receive SP events - Use OAuth to access SP Provide your own hosting environment Client-hosted app Use the customer’s environment SharePoint Host Web SharePoint Host Web Your Hosted Site Hosted in client network 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 SharePoint Host Web SharePoint App Web Provider hosted sample architectures 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 Language API Javascript REST C# Non-Microsoft Client Side Object Model / Javascript object model 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 https://sellerdashboard.microsoft.com 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 : http://msdn.microsoft.com/en-us/library/jj220039.aspx 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 http://msdn.microsoft.com/en-us/library/ff410028.aspx http://msdn.microsoft.com/en-us/library/office/apps/jj164035.aspx#bk_implement 4. Check for read-only mode <hostWebUrl>/_api/site/ReadOnly Licensing and Revenue models view metrics on all listed apps Session Feedback Please fill out the session feedback survey: http://SPSNashville.org/340