SlideShare a Scribd company logo
1 of 39
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox IoTSurface Hub Holographic
Windows 10
We want you to use your design, fonts,
icons etc…
If you’re stuck, or need inspiration, we
share our first party guidance that you
can use
Effective
Pixel
Physical
Pixel
Ignore scale, resolution, & dpi.
Design in Effective Pixels
Phone
Viewing Distance: 16.3”
Tablets and 2 in 1
Viewing Distance:
20”
Small and Large Laptops
Viewing Distance:
24.5”
Small and Large Desktop Monitors
Viewing Distance:
28”
TV
Viewing Distance:
84”
5” 8” 13”
phablet &
tablet
desktopphone
548 720 1024320epx
Reposition
1
Reveal
4
Resize
2
Replace
5
Reflow
3
Re-architect
6
Phone (portrait)
Tablet (landscape) / Desktop
Phone (portrait)
Tablet (landscape) / Desktop
var qualifiers = Windows.ApplicationModel.Resources.Core
.ResourceContext.GetForCurrentView().QualifierValues;
if (qualifiers["DeviceFamily"] == "DeviceFamily-Xbox")
// optimized for games console
rootFrame.Navigate(typeof(MainPage_Xbox), e.Arguments);
else
rootFrame.Navigate(typeof(MainPage), e.Arguments);
Visual states allow you to define different
selectable layouts that can be applied to
your UI
public MainPage()
{
this.InitializeComponent();
this.SizeChanged += (s, e) =>
{
var state = "VisualState000min";
if (e.NewSize.Width > 500)
state = "VisualState500min";
else if (e.NewSize.Width > 800)
state = "VisualState800min";
else if (e.NewSize.Width > 1000)
state = "VisualState1000min";
VisualStateManager.GoToState(this, state, true);
};
}
<VisualState x:Name="VisualState500min">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="501" />
</VisualState.StateTriggers>
</VisualState>
Adaptive triggers are a
zero-code solution
<VisualState.Setters>
<Setter Target="MyText01.FontSize" Value="24" />
<Setter Target="MyImage.Stretch" Value="UniformToFill" />
<Setter Target="MyImage.Height" Value="150" />
</VisualState.Setters>
Developers have many tools
to build an adaptive UI
http://bitly.com/uwpuidemos
http://bit.ly/uwpuiemail
https://msdn.microsoft.com/en-
us/magazine/mt590974.aspx
https://channel9.msdn.com/Series/A-
Developers-Guide-to-Windows-10/07
https://dev.windows.com/en-
us/design/design-basics
UWP Adaptive UI
UWP Adaptive UI
UWP Adaptive UI

More Related Content

What's hot

Building the pipeline for FUN - Game Development
 Building the pipeline for FUN - Game Development Building the pipeline for FUN - Game Development
Building the pipeline for FUN - Game DevelopmentFaunaFace, Inc
 
Adv 420 final
Adv 420 finalAdv 420 final
Adv 420 finalyavaras1
 
How to deliver a game in kodu
How to deliver a game in koduHow to deliver a game in kodu
How to deliver a game in koduNour Khouja
 
Victor hill universal scoreboard poster.pptx [autosaved]
Victor hill universal scoreboard poster.pptx [autosaved]Victor hill universal scoreboard poster.pptx [autosaved]
Victor hill universal scoreboard poster.pptx [autosaved]hillvr
 
Victor Hill Universal Scoreboard Poster
Victor Hill Universal Scoreboard PosterVictor Hill Universal Scoreboard Poster
Victor Hill Universal Scoreboard Posterhillvr
 
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...Matthieu Macret
 
Y1 gd level_designworkflow
Y1 gd level_designworkflowY1 gd level_designworkflow
Y1 gd level_designworkflownazaryth98
 
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]Victor Hill Universal Scoreboard Poster Pptx [Autosaved]
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]hillvr
 
Game monetization: Overview of monetization methods for free-to-play games
Game monetization: Overview of monetization methods for free-to-play gamesGame monetization: Overview of monetization methods for free-to-play games
Game monetization: Overview of monetization methods for free-to-play gamesAndrew Dotsenko
 
How to Monetize your F2P Video Game
How to Monetize your F2P Video GameHow to Monetize your F2P Video Game
How to Monetize your F2P Video GameSocial Point
 
Types of computer systems
Types of computer systemsTypes of computer systems
Types of computer systemsSophiepfc
 
Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Gateway Technolabs
 

What's hot (20)

Building the pipeline for FUN - Game Development
 Building the pipeline for FUN - Game Development Building the pipeline for FUN - Game Development
Building the pipeline for FUN - Game Development
 
Adv 420 final
Adv 420 finalAdv 420 final
Adv 420 final
 
E ball Technology
E ball TechnologyE ball Technology
E ball Technology
 
How to deliver a game in kodu
How to deliver a game in koduHow to deliver a game in kodu
How to deliver a game in kodu
 
Eball presentation 2
Eball presentation 2Eball presentation 2
Eball presentation 2
 
Littlebigplanet
LittlebigplanetLittlebigplanet
Littlebigplanet
 
Eball ppt
Eball pptEball ppt
Eball ppt
 
Kodu game design
Kodu game designKodu game design
Kodu game design
 
Victor hill universal scoreboard poster.pptx [autosaved]
Victor hill universal scoreboard poster.pptx [autosaved]Victor hill universal scoreboard poster.pptx [autosaved]
Victor hill universal scoreboard poster.pptx [autosaved]
 
p2 unit 3
p2 unit 3p2 unit 3
p2 unit 3
 
Victor Hill Universal Scoreboard Poster
Victor Hill Universal Scoreboard PosterVictor Hill Universal Scoreboard Poster
Victor Hill Universal Scoreboard Poster
 
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...
Can a Paper-Based Sketching Interface Improve the Gamer Experience in Strateg...
 
Research
ResearchResearch
Research
 
Y1 gd level_designworkflow
Y1 gd level_designworkflowY1 gd level_designworkflow
Y1 gd level_designworkflow
 
Advanced Computer E - Ball
Advanced Computer E - BallAdvanced Computer E - Ball
Advanced Computer E - Ball
 
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]Victor Hill Universal Scoreboard Poster Pptx [Autosaved]
Victor Hill Universal Scoreboard Poster Pptx [Autosaved]
 
Game monetization: Overview of monetization methods for free-to-play games
Game monetization: Overview of monetization methods for free-to-play gamesGame monetization: Overview of monetization methods for free-to-play games
Game monetization: Overview of monetization methods for free-to-play games
 
How to Monetize your F2P Video Game
How to Monetize your F2P Video GameHow to Monetize your F2P Video Game
How to Monetize your F2P Video Game
 
Types of computer systems
Types of computer systemsTypes of computer systems
Types of computer systems
 
Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,Game Development Company, Flash Game Development,
Game Development Company, Flash Game Development,
 

Viewers also liked

Concurs Bíblic - Solucionari - Categoria 2
Concurs Bíblic - Solucionari - Categoria 2Concurs Bíblic - Solucionari - Categoria 2
Concurs Bíblic - Solucionari - Categoria 2edu
 
Орынтаева+Одежда больших размеров+Идея
Орынтаева+Одежда больших размеров+ИдеяОрынтаева+Одежда больших размеров+Идея
Орынтаева+Одежда больших размеров+ИдеяГульнур Орынтаева
 
οδυσσέας ελύτης
οδυσσέας   ελύτηςοδυσσέας   ελύτης
οδυσσέας ελύτηςpopipolykarpou
 
презентация2
презентация2презентация2
презентация2Danilk0
 
Apresentacao gran park toscana cliente
Apresentacao gran park toscana   clienteApresentacao gran park toscana   cliente
Apresentacao gran park toscana clienteTille Souza de Miranda
 
Analysing music magazine 2
Analysing music magazine 2Analysing music magazine 2
Analysing music magazine 2Mariah Loizou
 
29 General Dating Rules For The Desi Lads And Ladies
29 General Dating Rules For The Desi Lads And Ladies29 General Dating Rules For The Desi Lads And Ladies
29 General Dating Rules For The Desi Lads And LadiesKhyathi Sha
 
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...Mr.Allah Dad Khan
 
La història del poble d'Israel (segona part)
La història del poble d'Israel (segona part)La història del poble d'Israel (segona part)
La història del poble d'Israel (segona part)edu
 
Sxolikos elyths, ellinikothta thw poihshs toy
Sxolikos elyths, ellinikothta thw poihshs toySxolikos elyths, ellinikothta thw poihshs toy
Sxolikos elyths, ellinikothta thw poihshs toyΕλένη Ξ
 
Eclipse datasheet (old)
Eclipse datasheet (old)Eclipse datasheet (old)
Eclipse datasheet (old)cepillorno
 
Academic standards presentation clean
Academic standards presentation   cleanAcademic standards presentation   clean
Academic standards presentation cleanLeonard Houx
 
Новый редактор подписных форм Sendsay
Новый редактор подписных форм SendsayНовый редактор подписных форм Sendsay
Новый редактор подписных форм SendsayViktoria Sendsay
 

Viewers also liked (16)

Concurs Bíblic - Solucionari - Categoria 2
Concurs Bíblic - Solucionari - Categoria 2Concurs Bíblic - Solucionari - Categoria 2
Concurs Bíblic - Solucionari - Categoria 2
 
Орынтаева+Одежда больших размеров+Идея
Орынтаева+Одежда больших размеров+ИдеяОрынтаева+Одежда больших размеров+Идея
Орынтаева+Одежда больших размеров+Идея
 
οδυσσέας ελύτης
οδυσσέας   ελύτηςοδυσσέας   ελύτης
οδυσσέας ελύτης
 
презентация2
презентация2презентация2
презентация2
 
Apresentacao gran park toscana cliente
Apresentacao gran park toscana   clienteApresentacao gran park toscana   cliente
Apresentacao gran park toscana cliente
 
Analysing music magazine 2
Analysing music magazine 2Analysing music magazine 2
Analysing music magazine 2
 
Traducteur francais-italian-elisabetta-bertinotti
Traducteur francais-italian-elisabetta-bertinottiTraducteur francais-italian-elisabetta-bertinotti
Traducteur francais-italian-elisabetta-bertinotti
 
29 General Dating Rules For The Desi Lads And Ladies
29 General Dating Rules For The Desi Lads And Ladies29 General Dating Rules For The Desi Lads And Ladies
29 General Dating Rules For The Desi Lads And Ladies
 
LEED EBOM Session 1
LEED EBOM Session 1LEED EBOM Session 1
LEED EBOM Session 1
 
cv11-2015
cv11-2015cv11-2015
cv11-2015
 
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...
Grandma’s health tips or remedies testifies A Presentation by Mr Allah Dad Kh...
 
La història del poble d'Israel (segona part)
La història del poble d'Israel (segona part)La història del poble d'Israel (segona part)
La història del poble d'Israel (segona part)
 
Sxolikos elyths, ellinikothta thw poihshs toy
Sxolikos elyths, ellinikothta thw poihshs toySxolikos elyths, ellinikothta thw poihshs toy
Sxolikos elyths, ellinikothta thw poihshs toy
 
Eclipse datasheet (old)
Eclipse datasheet (old)Eclipse datasheet (old)
Eclipse datasheet (old)
 
Academic standards presentation clean
Academic standards presentation   cleanAcademic standards presentation   clean
Academic standards presentation clean
 
Новый редактор подписных форм Sendsay
Новый редактор подписных форм SendsayНовый редактор подписных форм Sendsay
Новый редактор подписных форм Sendsay
 

Similar to UWP Adaptive UI

Develop hololens
Develop hololensDevelop hololens
Develop hololensJames Quick
 
Microsoft surface by NIRAV RANA
Microsoft surface by NIRAV RANAMicrosoft surface by NIRAV RANA
Microsoft surface by NIRAV RANANirav Rana
 
Windows10
Windows10Windows10
Windows10cat509
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft SurfacePooja Shah
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Devmomobangalore
 
Microsoft Surface
Microsoft  SurfaceMicrosoft  Surface
Microsoft SurfacePooja Shah
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game productionPete Lynch
 
InFocus Solutions Displays
InFocus Solutions DisplaysInFocus Solutions Displays
InFocus Solutions DisplaysGabriel Navakas
 
Tablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client PlatformTablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client PlatformFrank La Vigne
 
Group Computer Magazine
Group Computer MagazineGroup Computer Magazine
Group Computer Magazineeyoh laurio
 
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows PlatformWindows 10 e Universal Windows Platform
Windows 10 e Universal Windows PlatformAlessio Iafrate
 
Universal Windows Platform Programando para todos y todas
Universal Windows PlatformProgramando para todos y todasUniversal Windows PlatformProgramando para todos y todas
Universal Windows Platform Programando para todos y todasMariano Sánchez
 
Introduction to Windows 10 UWP
Introduction to Windows 10 UWPIntroduction to Windows 10 UWP
Introduction to Windows 10 UWPNaweed Akram
 
Windows 10
Windows 10Windows 10
Windows 10ARUN P.T
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surfacebcamli33
 

Similar to UWP Adaptive UI (20)

Develop hololens
Develop hololensDevelop hololens
Develop hololens
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surface
 
Microsoft surface by NIRAV RANA
Microsoft surface by NIRAV RANAMicrosoft surface by NIRAV RANA
Microsoft surface by NIRAV RANA
 
Windows10
Windows10Windows10
Windows10
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surface
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Dev
 
Microsoft Surface
Microsoft  SurfaceMicrosoft  Surface
Microsoft Surface
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game production
 
InFocus Solutions Displays
InFocus Solutions DisplaysInFocus Solutions Displays
InFocus Solutions Displays
 
Windows10
Windows10Windows10
Windows10
 
Tablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client PlatformTablet PC as Pretty Cool Smart Client Platform
Tablet PC as Pretty Cool Smart Client Platform
 
Group Computer Magazine
Group Computer MagazineGroup Computer Magazine
Group Computer Magazine
 
sat
satsat
sat
 
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows PlatformWindows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
 
InFocus Mondopad
InFocus Mondopad InFocus Mondopad
InFocus Mondopad
 
Universal Windows Platform Programando para todos y todas
Universal Windows PlatformProgramando para todos y todasUniversal Windows PlatformProgramando para todos y todas
Universal Windows Platform Programando para todos y todas
 
Introduction to Windows 10 UWP
Introduction to Windows 10 UWPIntroduction to Windows 10 UWP
Introduction to Windows 10 UWP
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10 with cortana
Windows 10 with cortanaWindows 10 with cortana
Windows 10 with cortana
 
Microsoft Surface
Microsoft SurfaceMicrosoft Surface
Microsoft Surface
 

More from James Quick

Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)
Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)
Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)James Quick
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile appsJames Quick
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalJames Quick
 
Explore the-power-of-project-oxford
Explore the-power-of-project-oxfordExplore the-power-of-project-oxford
Explore the-power-of-project-oxfordJames Quick
 
Chuck Norris Xamarin
Chuck Norris XamarinChuck Norris Xamarin
Chuck Norris XamarinJames Quick
 
Cross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesCross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesJames Quick
 
Intro to Jquery Mobile
Intro to Jquery MobileIntro to Jquery Mobile
Intro to Jquery MobileJames Quick
 
Introduction to Mobile Application Development with App Studio
Introduction to Mobile Application Development with App StudioIntroduction to Mobile Application Development with App Studio
Introduction to Mobile Application Development with App StudioJames Quick
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal AppsJames Quick
 
Submitting to windows store
Submitting to windows storeSubmitting to windows store
Submitting to windows storeJames Quick
 
Windows Store Registration
Windows Store RegistrationWindows Store Registration
Windows Store RegistrationJames Quick
 
Construct 2 to Windows 8
Construct 2 to Windows 8Construct 2 to Windows 8
Construct 2 to Windows 8James Quick
 

More from James Quick (13)

Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)
Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)
Mischief Managed - Protecting your Serverless Functions (Memphis Web Workers)
 
Beginners guide to creating mobile apps
Beginners guide to creating mobile appsBeginners guide to creating mobile apps
Beginners guide to creating mobile apps
 
Mobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-TechnicalMobile App Landscape for the Non-Technical
Mobile App Landscape for the Non-Technical
 
Explore the-power-of-project-oxford
Explore the-power-of-project-oxfordExplore the-power-of-project-oxford
Explore the-power-of-project-oxford
 
Chuck Norris Xamarin
Chuck Norris XamarinChuck Norris Xamarin
Chuck Norris Xamarin
 
Cross platform mobile backend with mobile services
Cross platform mobile backend with mobile servicesCross platform mobile backend with mobile services
Cross platform mobile backend with mobile services
 
Why go mobile
Why go mobileWhy go mobile
Why go mobile
 
Intro to Jquery Mobile
Intro to Jquery MobileIntro to Jquery Mobile
Intro to Jquery Mobile
 
Introduction to Mobile Application Development with App Studio
Introduction to Mobile Application Development with App StudioIntroduction to Mobile Application Development with App Studio
Introduction to Mobile Application Development with App Studio
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal Apps
 
Submitting to windows store
Submitting to windows storeSubmitting to windows store
Submitting to windows store
 
Windows Store Registration
Windows Store RegistrationWindows Store Registration
Windows Store Registration
 
Construct 2 to Windows 8
Construct 2 to Windows 8Construct 2 to Windows 8
Construct 2 to Windows 8
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

UWP Adaptive UI

Editor's Notes

  1. Build Adaptive UI’s for Phones, Tablets, Desktops, Xbox, and More
  2. The Windows 10 family comprises many different device types with screens ranging from the very tiny on IoT devices, through phones, phablets, tablets, laptops, convertibles, desktops, Xbox and Surface Hub, including innovative displays such as the HoloLens. This session is about how to create an adaptive UI that will allow one app to run on a broad range of these devices but which also adapts its UI to give a great experience, no matter which screen it is running on.
  3. First, let’s look at some design principles and at some platform features
  4. Firstly, you may notice that the Visual Studio 2015 New Project templates do not include examples of different styles of apps, unlike previous versions. In fact, for interactive apps, there’s only one new project template: the Blank App. Microsoft is trying to be less prescriptive about design layouts than we have in the past. We want you to use your own designs, fonts and icons and with UWP you can do that. If you want to seek inspiration and guidance on how to create an effective layout, you can take a look at the built-in apps that we ship with Windows 10.
  5. First important rule of UWP design is that your sizes, margins, spacing should all be cleanly divisible by four. The reason for this is that we have adopted a common effective pixel size across all our devices. You create layouts using effective pixels, which is independent of physical screen resolution. However, as your app runs on many different screens at many different physical screen resolutions, the display system scales your UI up or down as necessary. By making all your sizes cleanly divisible by four, you will end up with crisper layout and text and avoid fuzziness.
  6. The effective pixel system takes into account a number of factors and allows you to layout your pages without having to adjust for the device type or the physical screen resolution. One factor that determines how large the system will render an item on a particular screen is the scaling algorithm. This takes into account the typical viewing distance of a class of device – a phone is typically held close to the eyes, whereas tablets are held further back, PCs/laptops further back again, and Surface Hub is typically viewed across a room. The scaling algorithm ensures that when you size some UI feature using effective pixels, it will have the same perceivable size regardless if which device it is displayed upon.
  7. Video – This has audio track. Alternatively, turn off sound and make your own spoken commentary over the video.
  8. As you can see, an effective pixel is a logical sizing unit that actually consists of one or more physical pixels.
  9. In UWP XAML, all sizes are in effective pixels. You can ignore viewing distance, screen resolution – just design in effective pixels, confident that your designs will look appropriate whichever screen they display on.
  10. Now let’s consider some guidelines on how to approach the task of creating an adaptive UI that scales well across multiple screen sizes and orientations.
  11. When you think of the broad range of screen sizes available across all Windows 10 devices, from 4.5” phones up to the 84” Surface Hub, it can seem daunting to create an adaptive UI that will work well across all of these. Our advice is to target a few key scenarios: 5” phone in portrait 8” tablet in portrait and landscape 13” laptop/PC in landscape If you focus on these key targets, and use adaptive layout techniques such as Grid layout and controls that can wrap and flow output such as the TextBlock with Wrapping set to true, then you should find that you will end up with good results across all the targeted devices and also on those intermediaries. You can then target additional screens such as large monitors, Surface Hub or Xbox if it makes sense for your app.
  12. As you think about what to show on different screens, you will often decide to show more content on larger displays where screen size is not as constrained as on a small screen such as a phone. A great example is the Mail app. On a desktop display, this adopts a three column layout, with a navigation pane on the left, listing to its right and then perhaps something like a preview pane on the right side of the screen. As we move down to a phablet or tablet, the layout shrinks to a two-column design. Here, the navigation panel is no longer on the primary layout but has been hidden away and is accessible by a ‘hamburger’ button. The mail listing and the preview pane remains though. Move down again to a phone display and now the Mail app shrinks again to a one-column layout. The primary screen shows the mail listing, but then to read a mail message, the user taps on an entry in the list and a new page opens to allow reading of the full message.
  13. Also as you design, think of the way the user interacts with your app on a particular device. A great example is the calendar app. On a large screen, you will take advantage of the large display area to show a full month date picker, maybe some group selectors, and a rich display such as a full month view. On a phone however, the user generally glances at their phone to find out what the next few appointments are that day. The primary usage scenario changes. All the information that is conveyed by the large screen display is still available on the phone, but only by navigating through some additional levels of menu and pages.
  14. Open the built-in Calculator app on a desktop. Switch to the scientific layout as this has a richer UI. Slowly resize the window, showing how parts of the UI are removed as the window size reduces, and that margins and spacing reduces as the screen gets smaller. Point out that on desktop at the narrowest window, effectively what you are looking at is the Phone display layout.
  15. Bear these three things in mind as you design the UI for your app: React to window size change and modify the positioning of blocks of content, perhaps show and hide features Think also of how the user is interacting with your app. Many of the built-in controls automatically adapt to touch vs mouse/keyboard input but you may also be able to refine your layouts based on input method Trust the effective pixels system! Design in Visual Studio so that it ‘looks right’ and you can be confident it will ‘look right’ across a broad range of Windows 10 displays. You will still refine the content displayed on the page based on screen sizes, but you don’t have to adjust sizing on account of screen width.
  16. ***What example can you think of in terms of how to implement Adaptive UI*** So far, we have identified the need to adjust the content that the user sees on a page according to the size of the display screen. But what techniques should you use for helping to decide what to show and what to hide?
  17. ***Come back to this page*** to show how all of these techniques are incorporated in Mail Client Demo It should be no surprise that the techniques you should use for XAML pages are exactly the same as those used by web designers to create adaptive web pages. What we have done with Windows 10 is bring adaptive web UI techniques to native XAML apps. Reposition – You can move blocks of content around on the page. For example, in landscape, you can have islands of content extending across the page horizontally, but in a narrow screen layout, move content so that it is laid out more like a single column. – Reposition date in email list Resize – You can simply allow content on the page to grow and shrink as the window size changes. Using a Grid with proportional column/row sizes is a great way of achieving this. – resize automatically by using grids with stars Reflow – This means to have text, for example, change from a single column on a narrow screen to span two or more columns on wider screens. – Span 2 columns when shrinking down to phone view Reveal – here you will show additional content areas as the screen width increases, hide them as the screen width decreases. – hide one pane when in phone state and reveal pane in tablet/desktop Replace – With this technique you replace one layout of some content with a different layout depending on the screen size, to ensure a great, screen-appropriate layout on all screen sizes – not switching to completely different layouts Re-architect – When you re-architect, you go for a substantially different layout on different size screens, or on different device families. In XAML terms, this often means to navigate to a specific page for some scenario, such as when running on an Xbox, where the user interactions through a controller may be substantially different to the same app running on a PC or phone. – not changing layouts completely
  18. In many cases, you will use the same display but adapt it using Visual States and – a new feature in UWP XAML - Adaptive Triggers to move content around, or to show/hide bits of content. Another new control, RelativePanel, is great for repositioning content under the control of Visual States – for example, repositioning the ‘End Call’ button underneath the other control buttons on the phone display shown here.
  19. Also as you design, think of the way the user interacts with your app on a particular device. A great example is the calendar app. On a large screen, you will take advantage of the large display area to show a full month date picker, maybe some group selectors, and a rich display such as a full month view. On a phone however, the user generally glances at their phone to find out what the next few appointments are that day. The primary usage scenario changes. All the information that is conveyed by the large screen display is still available on the phone, but only by navigating through some additional levels of menu and pages.
  20. Finally, a note on creating tailored views. One option is to create completely separate pages and to navigate to the unique page as appropriate. Another option is to use XAML views, which are a group of XAML pages that share a code-behind. You use Modern Resource Technology (MRT) to select which XAML view is used based on the device family where the app is running.
  21. That’s enough theory! How do we actually build an adaptive UI using UWP XAML?
  22. When you define a visual sate, you give it a name, and you change properties of the controls on your UI, such as visibility or sizes. These changes can be applied together when a particular named visual state is applied.
  23. Visual States are nothing new – they have always been in XAML. Before UWP, they could only be activated in code. You can still use this technique today – however, there is a new, simpler method in UWP.
  24. You can now define the trigger that causes a visual state to be activated directly in XAML. Adaptive visual states allow you to change the visual state in response to changes in the width of the window based on MinWindowWidth or MinWindowHeight.
  25. Adaptive Triggers defined in XAML are just a declarative way of activating visual states.
  26. The other innovation in UWP around Visual States is Setters. Prior to UWP, all property changes to controls applied within a visual state had to be defined in a storyboard. While you can still do this, a much simpler syntax can now be used for those properties that just need to change from one value to another, and do not need a timeline or gradual transition that is possible by using a storyboard.
  27. Another key tool in the arsenal of developers of adaptive XAML UI is the RelativePanel. RelativePanel is a constraint based layout container that you can use to create UIs by expressing spatial relationships between elements. Using RelativePanel’s attached properties, you can position a UI element relative to another UI element (A is RelativePanel.Below B) as well as relative to the panel (A is RelativePanel.AlignTopWithPanel). It is particularly valuable when applying visual states in response to window size changes. It makes it very easy to reposition content on the page as the window size increases or decreases.
  28. In summary, designers and developers have a great many tools to help them build an adaptive UI, including Visual States and Adaptive Triggers, RelativePanel, controls that have built-in responsive UI capabilities such as input method adaptability.