200 likes | 211 Views
Learn about Windows as a Service (WaaS) and how to support and maintain compatibility for apps in the WaaS model. Discover best practices, guidelines, and the benefits of leveraging flighting for validation.
E N D
Developing and Supporting Apps in Windows as a Service (WaaS) Rama Shastri Program Manager – WDG Compat Team
Agenda What is Windows as a Service (WaaS) Supporting apps in WaaS How does Microsoft maintain compatibility Best practices and guidelines for app developers How to leverage flighting for validation
Pre-Windows 10 Servicing • Customer Complexity and Cost • Fragmentation - Ecosystem Impact • System differences - Reduced Quality
Windows 10 – Windows as a Service Hundreds of millions Several Million 10’s of thousands Users Windows Insider Preview Current Branch Current Branch for Business Engineering builds Broad Microsoft internal validation Time Pre-Release Released 4 to 6 months ~ 4 months ~ 8 months *Conceptual illustration only
Update and Feature Updates • Servicing Updates • Monthly servicing releases • Does not contain new features • All updates are cumulative • Feature Updates • Infrequent : 2 per year • New feature capabilities • Has specific support lifecycle
Supporting Apps – Current Model • Application releases coincide with Windows releases • ISVs do extensive testing on release builds • ISVs declare support for specific Windows version • Enterprise customers package the new app versions for deployment Current approach will not scale in WaaS!
How does Microsoft maintain compatibility • Design reviews • App telemetry • ISV partnerships • OS Flighting and feedback loop
Supporting Apps in WaaS • Decouple app support from specific Windows builds • Apps are supported for a specified time interval (lifecycle management) • Enterprises do not wait for an explicit support statement to upgrade to latest CBB Goal • Enterprise customers are confident of app compatibility on any build • ISVs focus on keeping their customer base updated on any Windows release
A compatible ecosystem: Better Together Don’t take hard dependency on OS Version number Query for the specific features that your app needs Don’t use undocumented APIs Develop UWP and Centennial apps
A compatible ecosystem: Better Together Don’t take hard dependency on OS Version number Installers may not work correctly; apps may not be able to launch Apps may become unstable or crash Apps may generate error messages that don’t impact app performance but which scare users
A compatible ecosystem: Better Together Do query for specific features your app needs Query for the presence of specific APIset Don’t use version as a proxy for a feature or fix Do target the correct API version if you are dependent on specific functionality
A compatible ecosystem: Better Together Don’t use undocumented APIs May be tempting, but can lead to broken functionality, data loss & security issues Don’t take dependencies on specific Windows file exports or registry keys Do provide feedback if your app requires functionality that is not available today
A compatible ecosystem: Better Together Develop UWP & Centennial apps Supported in the Windows Store—a great way to ensure your users are up to date at all times & instant access to app insights Win32 installers are very error-prone May fail on 64-bit versions of Windows Installer may be broken if Windows redistributables have been repackaged Often are not fully tested (easy to overlook if this worked in the past)
Embrace flighting to validate your apps Sign up to be a Windows Insider Receive the latest Windows builds & host your apps Exercise app scenarios on flighted machine Investigate issues and let us know if you need help Declare support for WaaS
Embrace flighting to validate your apps Sign up to be a Windows Insider Available for PC and Phone Community contributes to the future of Windows Early access to builds & direct feedback Access to Insider-only events
Embrace flighting to validate your apps Receive the latest Windows builds & host your apps Set up your test environment for flighting Exercise app scenarios on flighted machine Validate your app works after upgrade Test your app’s reliance on OS functionality (audio, touch, pen, camera, USB, Bluetooth, etc)
Embrace Flighting to validate your apps Investigate issues & let us know if you need help Report issues using the Windows Feedback tool We can build a quality experience for our users together Declare support for WaaS When your validation is complete, declare support for Windows 10 on www.readyfor10.com Leverage the Windows App Insights portal to highlight your app with customers (coming soon)
Call to action Become an Windows Insider and adopt flighting List your app on www.readyfor10.com Develop UWP and Centennial apps
Recommended Reading Windows 10 Servicing Options Windows 10 Compatibility Cookbook Whitepaper on ‘Developing and Supporting Apps in WaaS’ How to develop Universal Windows Platform (UWP) Develop Centennial apps Windows App Certification Kit