Presentation is loading. Please wait.

Presentation is loading. Please wait.

B8093 Nextgen UWP app distribution:  Building extensible, stream-able, componentized apps John Vintzel, Principal Program Manager Lead Sandeep George,

Similar presentations


Presentation on theme: "B8093 Nextgen UWP app distribution:  Building extensible, stream-able, componentized apps John Vintzel, Principal Program Manager Lead Sandeep George,"— Presentation transcript:

1

2 B8093 Nextgen UWP app distribution:  Building extensible, stream-able, componentized apps John Vintzel, Principal Program Manager Lead Sandeep George, Senior Program Manager @jvintzel -

3 More information at: http://aka.ms/AppInstaller
Recap.. Since we last met What did we launch in the Anniversary Update? App Extensions (Edge Extensions) Improved app experience for first login App Installer! Developer Controlled App Updates More information at:

4 Problem: Apps are not flexible and monolithic
Feedback from developers: I want to engage fast with my users I want to be able to sell additional content that is not part of my main distribution package I need multiple apps to function as one app I want to offer optional components for my users to install like I had with Win32 installers

5 Componentizing your app
What we have today? App services App extensions Resource packages Now with the Creators Update!! App streaming installation Optional packages Great 2016 Build Session!! #B808

6 UWP App Streaming Install

7 Traditional App Installation
Users acquire the app in the Store App starts download App finishes download App is registered Users can launch the app

8 What is App Streaming Installation?
Streaming Install allows users to launch apps before they are fully downloaded Apps continue to download in the background after launch Users get to enjoy their apps/games faster

9 Dividing App into Content Groups
Automatic Automatic Automatic Automatic Separate the remaining files across 1:n automatic groups Take your app and separate it groups Define the files required to launch the app Automatic Required

10 Dividing App into Content Groups
Automatic Automatic Automatic Automatic While App is running… App can be launched! Automatic Required

11 Streaming App Installation
John Vintzel

12 Content Group Map (CGM)
Defines install order of contents Can stream content + native code. Existence of CGM identifies the app as stream-able Requires Windows 10 Creators Update Tooling available to create and validate CGM

13 Content Group Map Sandeep George

14 Authoring the CGM Manual creation of AppxContentGroupMap.xml
Start with SourceAppxContentGroupMap.xml Ability to wildcard resources Convert to final CGM Supported in makeappx.exe & Visual Studio 2017

15 Easy Developer Debugging
Loose File Layout Programmatic support SetContentGroupStateAsync api available in PackageManager.DebugSettings Set state to Not staged’/ ‘Staged’ or ‘Staging’ with a percentage. App Package Install required only with Add-AppxPackage – RequiredContentGroupOnly <package> Setup a debugger Install remaining Double Click package or Add-AppxPackage <package> Windows Developer Portal support coming soon...

16 Support Streaming Install within the App
File access preceded by a check for content group availability If a content group is not available, it can be triggered for download During download, App can get notifications of progress Users should be notified of content group download if they are waiting Pro Developer Tip: As part of your initial app design, plan for how you will create content groups!

17 Optional Packages

18 What are optional packages?
A way to componentize a UWP App Packages that can separate licensing and acquisition from the main app Package that can be content only or run native code Require a main app present to be installed Inherits the main apps capabilities Runs in the app identity of the main app, like it is one app

19 Extending with Optional Packages (no code)
Start with base app Add content only package All runs in the same app container No version dependencies Can be multi-publisher FaceAnalysis App Identity FaceAnalysis v1.0 Filter Pack (no code)

20 Extending with Optional Packages (w/code)
FaceAnalysis App Identity Add App Package with code Code package require specific versioning Serviced atomically with main app and other optional packages – Related Sets Can be multi-publisher FaceAnalysis v1.0 FaceAnalysis v2.0 Filter Pack (no code) FaceUtility Pack v1.1 (code) FaceUtility Pack v1.0 (code)

21 Extending across Multiple Apps (no code)
Second App introduced Package defined for FaceAnalysis and FunWebcam (no code) All runs in the same app container Cannot run code Can be multi-publisher FaceAnalysis App Identity FunWebcam App Identity FaceAnalysis v2.0 FaceUtility Pack v1.1 (code) Filter Pack (no code) Filter Pack (no code) FunWebcam v1.0

22 Optional Packages Sandeep George

23 Design rules Functionality In a related set Outside related set
Load native code Yes No, content only Relationship Exact versioning Loosely coupled App List Entry/ Tile on Start Yes No Support multiple main apps No Yes Experience while updating optional packages Main package termination is required. Can update optional when main package is running.

24 Submissions to the Windows Store
Streaming Support – Available for general submission! Optional Packages - Limited partner onboarding

25 Windows 10 Fall Creators Update and Beyond...

26 Windows Device Portal (WDP) Integration
Support to debug stream-able apps using a loose file layout on a remote device Configure content group state Set custom staging percentage

27 Consistent WDP App Install experience
Added support for: Register from network Optional Packages

28 App Updates for non-Store Apps
Developers declare update intent via metadata Metadata can exist with app and/or externally Internally allows for all inclusive install Externally allows for hassle free metadata changes Doing both allows for superseding internal metadata Metadata specifies key details for updates Location of future metadata Location of app update All app packages (including dependencies or optional) Required-ness of app update App knows when an update is pending and after an update has been applied (via PackageCatalog APIs)

29 AppInstaller Updates App Install support to install related sets with One Click Launch the app immediately after install

30 More Fall Creators Update and beyond….
Runtime SMB Access for Packaged Apps Adding new Resource Pack types Developer experience geared for fast iteration of larger packages Windows Desktop ‘Install for All Users’ API

31 Demo John Vintzel

32 Feature Recap Scenario Streaming install Optional package
App extension Resource pack App service Optimize install time UX assets (strings/images) In-proc code (plug-ins) On-demands content Separate licensing and acquisition In-app acquisition 3rd party plug-ins

33 Call to Action Use any combination of the packaging and deployment technologies to offer the best experiences for your users Resource Packages App Services App Extensions App Streaming Installation Optional Packages

34 Links Team Blog: http://aka.ms/AppInstaller

35 Related Sessions Speaker Session Code Date and Time
Microsoft Build 2017 2/12/ :34 PM Related Sessions Speaker Session Code Date and Time John Sheehan, Peyman Zanjani B8011: Bring your desktop apps to UWP and the Windows Store using the Desktop Bridge Wed 5/10 11:30AM-12:30PM Andrew Clinick B8004: App Model Evolution Thu 5/11 10:30-11:30AM Vikas Bhatia, Carmen Forsmann B8025: Cross-device and cross-platform experiences with Project Rome and Microsoft Graph Thu 5/11 12:30-1:30PM Shawn Henry B8108: App engagement in Windows and Cortana with User Activities and Project Rome Thu 5/11 5:30-6:30PM Stefan Wick, Ginny Caughey B8012: Tip, tricks, and secrets: Building a great UWP app for PC Fri 5/12 9:00-10:00AM Matt Hidinger B8002: Introducing Adaptive Cards Fri 5/12 12:30-1:30PM Andrew Clinick, Kevin Gallo, Albert Shum, Scott Evans B8908: Open Q&A – Windows 10 UWP, Mixed Reality, Design and Project Rome Fri 5/12 2:00-3:00PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

36 Questions?

37 2/12/ :34 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "B8093 Nextgen UWP app distribution:  Building extensible, stream-able, componentized apps John Vintzel, Principal Program Manager Lead Sandeep George,"

Similar presentations


Ads by Google