This document discusses developing Universal Windows Platform (UWP) applications for the Xbox One. It provides guidance on porting a Windows 10 application to Xbox One, including considerations for the gamepad interface, focus traps, and state triggers to detect the device. The document outlines challenges in adapting a UWP app's UI and UX for Xbox One, such as inaccessible elements, and provides code examples for gamepad bindings and a custom state trigger. It also lists statistics about Dailymotion's real-time video delivery stack and APIs.
4. agile product and engineering team
storage encoding delivery
C O N T I N U O U S D E V E L O P M E N T & D E L I V E R Y
24/7
real-time monitoring
up to50
daily releases
ingestion
R E A L - T I M E M U X I N GG E O - S T O R A G EC O N T E N T P R O T E C T I O N
5. 3 Tier Video Delivery Stack
ensuring infinite video
delivery capabilityT1 BESPOKE POIN TS OF
PR ESEN C E
T2 3R D PARTY C D N
T3 PEER - TO- PEER
6. Complete
video stack
200 000
D A I LY U N I Q U E A P I U S E R S
14 million
E X T E R N A L A P I U S E R S
250 million
D A I LY R E Q U E S T S O N T H E A P I
70 ms
AV E R A G E R E S P O N S E T I M E
5000
P L AY E R S S E RV E D P E R S E C
N AT I V E S D K P L AY E R A P I
D ATA A P I G U I D E S
7. Comment développer sur la console
Xbox One avec une application
Universal Windows Platform (UWP)?
Les do and don't
21. Detect the device you are on (Xbox One/Mobile/Desktop)
Show/Hide different elements depending on what platform you are
on
- Search Icon when you are on Xbox
- Full Search textbox when you are on the Desktop
- Menu or Hidden menu?
- Page layout
- ItemTemplate
- etc
DeviceFamilyStateTriggers.cs
22. Create a custom StateTrigger, to detect when your app is running on
an Xbox (can be used for other devices too)
StateTriggers for the Win!
A propos de moi,
je suis le lead developer windows pour dailymotion
3 ans que je travaille pour dailymotion
Cets annee je suis devenu MVP Windows Developement
5k lecteur video servie par seconds
250 Million de call api par jours
70 ms de response time
Vous ete pas venu pour que je parle de dailymotion, rentron dans le vif du subject:
One app running on 3 platforms (mobile, desktop, xbox one)
Road map: started on Desktop car Win10, puis Mobile because it came out on mobile
Dvp de lapp Desktop et Mobile en mm temps, puis Xbox One pour UWP
Go fast on this
Your user will have a gamepad use it!
2 nouveaux input device
Your gamepad and remote are your new keyboard
make sure you use it
Map btns to events
Your user will have a gamepad use it!
For example: at dailymotion I have mapped the menu button on the gamepad to the side menu in our app, here is the code
Gamepad hamburger menu = a notre hamburger menu
Btn B to back
Btn Y for search
Show menu moving wouaaaa, this side is a gif
On this slide show that the menu open and closes because I have mapped the controller btn to the
Mouse mode is on by default for all applications, which means that all applications that have not opted out will receive a mouse pointer
Carerfull yo might need the mouse when you are in a Webview:
<Page RequiresPointer="WhenFocused"> ... </Page>
What is a Focus trap! With definitation
AutoSuggestBox -> trap cant go down and select text suggested
Listview Trap is endless loading, cant go down to content below, ne pas avoir un endless loading daans le sens de la navigation,
On the preview builds we had a lot of focus traps, Microsoft has worked very hard to fix a lot of those issues
Negative Margin are issues
on the video page we had a lot of focus traps because of our hidden elements and the side menu for our app also has a lot of focus traps when developing on de preview
This allows you to know where your focus is and thus you can see what you need to do about the focus getting lost, and lost you will be ^^
There are three common reasons why XY navigation might not work the way you expect:
The IsTabStop or Visibility property is set wrong.
PivotHeaderItem by default is IsTabStop = false, change to true to have something else
One app running on 3 platforms (mobile, desktop, xbox one)
Road map: started on Desktop car Win10, puis Mobile because it came out on mobile
Dvp de lapp Desktop et Mobile en mm temps, puis Xbox One pour UWP
ItemTemplate width will change depening on the platform
Dailymotion est en MVVM du coup plus simpa de pouvoir le faire dans la view, que dans le code behind.
This Statetrigger can also be used to detect if you are running on a Phone or Desktop device, best used only for Xbox IMO, because a Phone could be running continuum and would need to be able to readapt to fit on a bigger screen but this state trigger would force the app to stay in phone mode.
Ne pas avoir acces a certain elements, cela semble bete mais nous avons u ce prb
With gamepad only top/bottom , left/right nothing else
This is our tablet app,
To much information
Search is not great
Navigation is weird
Cant access My Profile and Settings
Our Xbox App,
A lot of things are different:
- We are on a TV => should show content bigger
- Make sure that you test on a large TV
- Make sure that you an move to the correct area of the app with a gamepad
- SAFE zone will ruin whatever design you have =) make sure your designer have this in mind
- Here we can also see that I have mapped the Y btn to the search function
My eyes are hurting if we put this on a TV,
la structure:
player
User
Follow
Related
Search
Checher les elements importants
- Garder le design simple, light et elegant
- Dailymotion app de video, du coup quand click sur thumbnail => video
- Video controls are simple we decided to only keep play and pause nothing more
- FYI: you can fast forward with the remote
Here again we mapped the X btn to show more content
Access to burger menu