Slide 1

Slide 1 text

Une experience adaptative Christopher MANEU Deezer.com @cmaneu

Slide 2

Slide 2 text

http://windows.Microsoft.com Windows 10

Slide 3

Slide 3 text

http://windows.Microsoft.com Types de périphériques Tailles d’écran Familles d’OS (Windows, Android, iOs)

Slide 4

Slide 4 text

http://windows.Microsoft.com Comment adresser l’ensemble de ces périphériques ?

Slide 5

Slide 5 text

http://windows.Microsoft.com 1. De nouvelles règles du jeu 2. Une nouvelle manière de concevoir ses interfaces 3. De nouveaux outils pour les implémenter

Slide 6

Slide 6 text

http://windows.Microsoft.com

Slide 7

Slide 7 text

http://windows.Microsoft.com Règle #1 : Au mieux pour l’utilisateur Plus de contrôles ou de modèles imposés Réalisez des applications avec votre propre identité

Slide 8

Slide 8 text

http://windows.Microsoft.com De nouveaux contrôles Pane title List item 1 List item 2 List item 3 SplitView Tours Rooms Projects Decor Styles Before & After Pivot 1 Pivot 2 Pivot 3 Pivot P 4 4 Pivot & tabs List item 1 List item 2 List item 3 New Alarms Phonebook Pins Command bar RelativePanel & bien d’autres …

Slide 9

Slide 9 text

http://windows.Microsoft.com

Slide 10

Slide 10 text

http://windows.Microsoft.com SplitView / Hamburger menu https://www.reddit.com/r/windowsphone/comments/32yf85/i_designed _the_new_version_of_office_for_windows/ Ne devient pas le nouveau design de base > Privilégiez la solution qui convient à vos utilisateurs > Si cette solution est le « Hamburger menu », alors le contrôle SplitView vous aide à l’implémenter.

Slide 11

Slide 11 text

http://windows.Microsoft.com Règle n° 2: Design en pixels effectifs

Slide 12

Slide 12 text

http://windows.Microsoft.com Règle n° 2: Design en pixels effectifs

Slide 13

Slide 13 text

http://windows.Microsoft.com Règle n° 2: Design en pixels effectifs 40 * 125 % = 50 px L’émulateur Windows Phone 10: 150% 40 * 150 % = 60px

Slide 14

Slide 14 text

40x4 0 GOOD 

Slide 15

Slide 15 text

S’assurer que l’ensemble des marges et des tailles* soient divisibles par 4 * à l’exception des propriétés FontSize, LineHeight, CharacterSpacing

Slide 16

Slide 16 text

Une nouvelle manière de faire

Slide 17

Slide 17 text

http://windows.Microsoft.com Option 1 : le « responsive » design

Slide 18

Slide 18 text

http://windows.Microsoft.com Option 2 : le design spécifique

Slide 19

Slide 19 text

http://windows.Microsoft.com Option 3 : le design spécifique et « responsive »

Slide 20

Slide 20 text

http://windows.Microsoft.com Repositionner Recadrer Réagencer Révéler Remplacer Reconstruire

Slide 21

Slide 21 text

http://windows.Microsoft.com Repositionner

Slide 22

Slide 22 text

http://windows.Microsoft.com Recadrer 1 2 1 2

Slide 23

Slide 23 text

http://windows.Microsoft.com Réagencer

Slide 24

Slide 24 text

http://windows.Microsoft.com Révéler

Slide 25

Slide 25 text

http://windows.Microsoft.com Remplacer

Slide 26

Slide 26 text

http://windows.Microsoft.com Reconstruire

Slide 27

Slide 27 text

De nouveaux outils

Slide 28

Slide 28 text

DEMO Adobe Illustrator Redliner tool

Slide 29

Slide 29 text

DEMO Storyboards Powerpoint

Slide 30

Slide 30 text

http://windows.Microsoft.com Déclencheurs adaptifs (Adaptive triggers) Vous permet de changer d’état sans code Deux triggers inclus dans le framework MinWindowHeight (Plus haut que) MinWindowWidth (Plus large que)

Slide 31

Slide 31 text

http://windows.Microsoft.com Déclencheurs adaptifs personnalisés A vous de les developer pour vos cas spécifiques. public class DeviceFamilyTrigger : StateTriggerBase { private string _deviceFamily; public string DeviceFamily { get { return _deviceFamily; } set { var qualifiers = Windows.ApplicationModel.Resources.Core .ResourceContext.GetForCurrentView().QualifierValues; if (qualifiers.ContainsKey("DeviceFamily")) SetActive(qualifiers["DeviceFamily"] == (_deviceFamily = value)); else SetActive(false); } } }

Slide 32

Slide 32 text

http://windows.Microsoft.com Visual state setters Permet de définir une valeur scalaire directement dans le Visual State Tailles, marges, ou Enums du type Visibility, Stretch, … Ne déclenche pas de storyboard Plus besoin d’un élément ObjectAnimationUsingKeyFrames

Slide 33

Slide 33 text

http://windows.Microsoft.com Le nouveau conteneur RelativePanel 1/2 éléments agissent comme des points de repères Ils sont relatifs au Panel Les autres éléments sont places par rapport à ces points de repères RelativePanel.Above = "ElementName" RelativePanel.RightOf = "ElementName" RelativePanel.Below = "ElementName" RelativePanel.LeftOf = "ElementName" RelativePanel simplifie la création d’UI adaptatives Un simple Visual State Setter peut modifier tout un écran Un seul élément peut déplacer un ensemble d’éléments relatifs

Slide 34

Slide 34 text

http://windows.Microsoft.com La performance ? Penser à utiliser les nouveautés XAML: - x:Bind aka. Bindings compilés, - x:DeferLoading, - X:Phase, - … http://channel9.msdn.com/Events/Build/2015/3-635

Slide 35

Slide 35 text

http://windows.Microsoft.com 1. De nouvelles règles du jeu Pixels effectifs, plus de contraintes 2. Une nouvelle manière de concevoir l’UI Les 6 R, trois modes de fonctionnement 3. De nouveaux outils pour les implémenter Redliner, PowerPoint storyboards, Adaptative Triggers, RelativePanel, …

Slide 36

Slide 36 text

http://windows.Microsoft.com Pour aller plus loin http://design.windows.com http://log.maneu.net twitter.com/cmaneu

Slide 37

Slide 37 text

Stay tuned for more global MVP events! Visit us at http://mvp.microsoft.com