Guidance Summary for writing Windows 10 S Mode apps with Adaptive Layout, Live Tiles, and Notifications and Action Center

Introduction

Many developers writing applications for Windows 10, need to write their apps to be functional at all resolutions and windows sizes and support live tiles and notifications. The following is a summary of App Consult blogs and other references to assist in the implementation and testing of these features. Note that UWP apps are, by definition, Windows 10 S compatible. It's the Desktop Bridge apps that need to be tested for 10 S compatibility. See below for how to limit an app's distribution to PC only.

Windows 10 S Mode - Desktop Bridge apps

Porting and testing your classic desktop applications on Windows 10 S with the Desktop Bridge

How to validate if your application is compliant with the Windows Store policies (Windows 10 and Windows 10 S)

Test Windows 10 in S mode on existing Windows 10 education devices

Introducing Windows 10 in S mode

Adaptive Layout

UWP - Responsive design techniques

Web Development - Building Responsive Web Sites with Bootstrap

HTML Responsive Web Design

Live Tiles and Notifications

UWP - Notifications Sample

Desktop Bridge - Desktop Bridge – Expanding a desktop application with a UWP component

PWA - Progressive Web Apps on Windows 10: Live Tiles, Toast Notifications and Action Center

PWA - App Activation

Activating a Progressive Web App on Windows 10 using a toast notification

PWA - Windows Ink

Native Inking comes to Progressive Web Apps on Windows 10 (1803)

Limiting application distribution to the Desktop (PCs and Tablets) Device family only

If building apps with a Visual Studio template, the default device family is set to Universal. This means the developer intends for this app to be installed on all device families supported by Windows: Xbox, Team, Holographic and Desktop. This won't be a problem for some apps, but if you are targeting the Desktop only, you should set the device family to Desktop. To do this, change AppManifest.xml as follows:

Change:

    <TargetDeviceFamily Name="Windows.Universal" ... " />

To:

    <TargetDeviceFamily Name="Windows.Desktop" ... " />