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

Slides:



Advertisements
Similar presentations
Configuring PHP on IIS7 Making your application rock on IIS7 Taking advantage of the Windows platform Q&A at Open Space.
Advertisements

The information contained in this document represents the current view of Microsoft Corp on the issues discussed as of the date of publication. Because.
11/8/ :31 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
11/12/ :06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
12/29/2017 2:33 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Virtual Academy
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
4/26/ :28 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Make your app a native part of Office with Add-ins
Microsoft Ignite /10/2018 3:38 AM
5/15/2018 5:43 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Microsoft Ignite /16/2018 3:12 PM BRK2119
6/2/2018 4:08 AM BRK3327 Ten things you didn't know about building .NET UWP apps in Visual Studio 2017 Daniel Jacobson Program Manager – Visual Studio.
Unit testing your metro style apps built using XAML
Microsoft /4/2018 8:21 AM BRK3082 Build solutions and apps with Microsoft OneDrive API and Microsoft Graph API Ryan Gregg Principal Program Manger,
Windows Developer Day Fall Creators Update October 10, 2017.
Discover the New SharePoint Content Publishing Experiences
Microsoft Ignite /18/2018 8:30 PM BRK2065
Windows Azure Jason Olson, Program Manager 4-142
The core value of Windows 10 apps in the Enterprise
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
9/7/2018 4:46 PM Creative Hacking: Delivering React Native App A/B Testing Using CodePush John M. Wargo © Microsoft Corporation. All rights reserved. MICROSOFT.
Building a great Metro style device app for your printer
Microsoft Build /13/2018 2:24 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Desktop App Converter (Project Centennial)
Microsoft Build /17/2018 5:42 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft 365 Business Customer Targeting 2/6/18
Modernizing App Experiences
Microsoft Azure Certified
Office Power Hour New developer APIs and features for Apps for Office
Building great Metro style apps for mobile broadband devices
Windows Store for Business
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Build /8/2018 8:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Developing and Supporting Apps in Windows as a Service (WaaS)
DotnetConf 11/14/2018 3:27 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE.
Microsoft Ignite /14/ :21 AM BRK2101
11/14/ :24 AM BRK2069 Build powerful new applications for the enterprise on Windows 10 with the Universal Windows Platform Ginny Caughey President.
11/16/2018 8:43 AM BRK2314 Improve productivity for cross platform and cross device apps using Microsoft Graph and Project Rome Tejas Patel Juan Sebastian.
11/19/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
11/19/2018 4:38 AM Microsoft 365 Business Customer Targeting Janine Brittain - EXEED 2/6/18 © Microsoft Corporation. All rights reserved. MICROSOFT.
Microsoft Ignite /20/2018 2:21 PM
Building a great Metro style device app for your camera
MIX 09 11/23/2018 6:07 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Bring existing desktop apps to UWP with the Desktop Bridge
Hosted Web Apps with Windows App Studio
Version Binding UWP Apps & Driver Packages
Microsoft Build /30/2018 2:15 AM Migrating Silverlight Windows Phone apps to the Universal Windows Platform Ricardo Villalobos Principal SDE Manager.
TechEd /2/2018 5:42 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Search: integrating into the Windows 8 search experience
Introducing the Windows Store
Microsoft Connect /31/2018 7:21 AM
Device Apps Joseph Ngari| Program Manager.
Introducing Metro style device apps
SPC Developer 1/18/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Build /23/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
2/24/2019 6:15 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Learn how to leverage the Microsoft Store for Education in your school
Best practices for packaging and distributing device drivers
Microsoft Build /8/2019 6:29 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Delivering great hardware solutions for Windows
Under the hood: Installation and updates for Metro style apps
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Build /20/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft Virtual Academy
8/23/ :09 PM #DEV332 Building Modern, HTML5-Based Business Apps on Windows Azure and Office 365 with Visual Studio LightSwitch Andrew
What’s new in Microsoft Office 2019 for IT deployment
Advanced app and driver debugging
Presentation transcript:

B8093 Nextgen UWP app distribution:  Building extensible, stream-able, componentized apps John Vintzel, Principal Program Manager Lead Sandeep George, Senior Program Manager @jvintzel - http://aka.ms/AppInstaller

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: http://aka.ms/AppInstaller

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

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

UWP App Streaming Install

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

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

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

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

Streaming App Installation John Vintzel

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

Content Group Map Sandeep George

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

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...

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!

Optional Packages

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

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)

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)

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

Optional Packages Sandeep George

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.

Submissions to the Windows Store Streaming Support – Available for general submission! Optional Packages - Limited partner onboarding Email opstoresubmit@microsoft.com

Windows 10 Fall Creators Update and Beyond...

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

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

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)

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

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

Demo John Vintzel

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

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

Links Team Blog: http://aka.ms/AppInstaller http://aka.ms/uwpstreaminginstall http://aka.ms/uwpoptionalpackages https://github.com/AppInstaller https://channel9.msdn.com/Events/Build/2016/B808

Related Sessions Speaker Session Code Date and Time Microsoft Build 2017 2/12/2018 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.

Questions?

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