I. Introduction▲
Au fil des années, les ordinateurs tout-en-un (All-in-One ou AIO) sont devenus un pilier tant à la maison qu'au bureau en offrant la puissance de traitement et les fonctionnalités graphiques du grand écran ainsi qu'un design élégant qui permet d'économiser l'espace. Avec l'introduction de Windows* 8 par Microsoft, les AIO ont été conçus sur l'entrée traditionnelle — clavier et souris — avec des capacités tactiles innovantes qui donnent aux utilisateurs finals de nouvelles façons d'interagir avec le logiciel et le matériel. Et maintenant, un nouveau facteur de forme qui émerge — le portable tout-en-un (pAIO) — étendra ces capacités encore plus loin.
Les portables tout-en-un présentent des spécifications techniques haut de gamme, comme les grands écrans tactiles qui peuvent fonctionner dans des orientations horizontales et une batterie incorporée qui prend en charge la mobilité limitée. Ces fonctionnalités rendent possibles de nouveaux cas d'utilisation et ouvrent la porte au développement des applications et jeux qui incluent des fonctionnalités innovantes telles que :
- interfaces multiutilisateurs et multitactiles (MUMT) ;
- interactions multimodales basées sur la voix ou les gestes du corps capturés par caméra ;
- scénarios multigadgets, tels que l'utilisation de smartphones comme contrôleurs de jeu ;
- utilisation de Intel® Wireless Display (WiDi) pour fournir des jeux ou applications visuelles supplémentaires sur un téléviseur HD ;
- technologie Intel Rapid Start pour la reprise rapide du système.
La capacité à fonctionner dans une orientation horizontale indépendante offre à la fois des opportunités et des défis aux développeurs de logiciels, qui devront s'adapter pour profiter des fonctionnalités apportées par pAIO. Cet article présente quatre lignes directrices qui peuvent guider les développeurs de logiciels lors de la conception d'applications qui encouragent l'interaction tactile et offrent une expérience utilisateur mémorable sur des pAIO à processeurs Intel®.
II. Principe n° 1 : Comprendre les capacités de la plate-forme portable tout-en-un▲
Les pAIO apportent aux développeurs d'applications des possibilités sans précédent avec de grands écrans tactiles, une mobilité légère avec des orientations horizontales et la puissance de traitement pour les besoins des applications multitactiles et multiutilisateurs.
Les ordinateurs portables tout-en-un partagent de nombreux éléments de conception avec les AIO traditionnels ; cependant, les pAIO dotés de processeur Intel ont plusieurs caractéristiques clés qui promettent d'apporter de nouvelles opportunités aux développeurs de logiciels et de nouvelles expériences aux utilisateurs finals. Les pAIO supportent des expériences informatiques tant statiques qu'adaptatives par un mécanisme d'inclinaison de l'écran qui permet des cas d'utilisations verticales, inclinées et horizontales sur des tailles d'écrans de 18,4 à 27 pouces (Figure 1). La capacité multitactile est offerte par des panneaux tactiles supportant un minimum de 10 points de contact et la mobilité légère est soutenue par une batterie embarquée. Grâce à cette mobilité et aux capacités de fonctionnement horizontal, les pAIO ouvrent la porte au développement de nouvelles technologies innovantes qui tirent pleinement parti des capacités multitactiles et multiutilisateurs fournies sur un grand écran immersif.
La famille de processeurs visiblement intelligents Intel® Core™ offre la performance incroyable et les effets visuels impressionnants requis par des applications pAIO complètes, multiutilisateurs, multitactiles dans des catégories telles que les jeux, l'éducation, le divertissement, la santé et le bien-être, les affaires, la création de contenu et le mode de vie. Les concepteurs d'applications peuvent compter sur les processeurs Intel Core pour donner vie à leurs applications avec des images brillantes et des expériences tactiles fluides (Tableau 1).
Les nouvelles technologies innovantes sont également essentielles aux capacités des pAIO. Avec l'introduction de la 4e génération Intel Core Process, les pAIO sont en mesure de tirer profit des nouvelles technologies de plate-forme, parmi lesquelles se trouvent Intel Rapid Start Technology et Intel Smart Connect Technology. La technologie Intel Rapid Start permet aux systèmes de reprendre rapidement leur activité après une veille prolongée, en environ six secondes. Les principaux avantages comprennent :
- moins d'attente — un temps court de reprise, plus réactif qu'un nouveau démarrage ou une reprise de la mise en veille prolongée ;
- une expérience Marche/Arrêt plus intelligente — démarrage et état de marche instantanés, une solution rapide et économique pour effectuer le démarrage et l'arrêt complète du système ;
- gestion du contexte de l'utilisateur — comme pour le sommeil et la veille, un utilisateur peut retourner à son travail précédent, reprendre ses activités sur Internet, redémarrer des films mis en pause, etc.
La technologie Intel Smart Connect permet des états de sommeil plus productifs, en réveillant périodiquement votre système pour mettre à jour toutes les applications ouvertes. Une fois que le contenu a été mis à jour, votre système va reprendre un état de sommeil.
Fonctionnalité |
Processeurs Intel® Core™ 3e génération |
Processeurs Intel® Core™ 4e génération |
Avantages |
---|---|---|---|
Processeur |
|
|
|
USB |
USB 3.0 (5 Gbps) |
USB 3.0 (5 Gbps) |
Plus de 10 fois plus rapide que USB 2.0 |
Média et visuel |
|
|
|
III. Principe n° 2 : Choisir sagement votre environnement de développement logiciel▲
Windows 8 prend en charge deux environnements de développement différents qui vont définir votre choix d'outils de développement, la disponibilité des fonctionnalités, la compatibilité avec les versions précédentes de Windows et votre modèle de distribution ou de vente.
Windows 8 vous permet de créer des applications en utilisant une variété de langages et d'outils de programmation. Vous pouvez même écrire des composants dans un langage et les utiliser dans une application écrite dans un autre langage de programmation. Il y a, cependant, une décision rapide que vous devez faire préalablement, concernant le type d'application que vous souhaitez développer : une application pour Windows Store ou une application Windows Desktop (voir la Figure 2).
Les applications de bureau s'exécutent en mode Windows Desktop de Windows 8. Ce mode ressemble à l'environnement hérité de Windows ; cependant, l'expérience n'est pas héritée. Les applications basées sur le tactile et les capteurs sont prises en charge en mode Desktop. En outre, certains pilotes matériels et caractéristiques de l'appareil comme Intel Wireless Display et OpenGL* sont actuellement accessibles uniquement pour les applications s'exécutant en mode Desktop.
Les applications Windows Store utilisent les nouvelles API WinRT et sont développées dans Visual Studio* 2012 en utilisant le C++, le C#, ou des technologies web telles que HTML5, JavaScript* et CSS3.
Les développeurs doivent prendre conscience que certaines fonctionnalités et technologies de l'appareil peuvent ne pas encore être exposées et développées pour l'environnement d'applications Windows Store. Pour cette raison, votre choix entre le mode d'application Windows Store ou Windows Desktop déterminera des choses comme les options d'environnement de développement disponibles, les caractéristiques matérielles disponibles, la rétrocompatibilité avec la version précédente de Windows et la modalité de vente et de distribution de votre application (voir le Tableau 2).
La seule façon de distribuer et de vendre au public des applications Windows Store est par le Windows Store. Le Windows Store rend les applications disponibles à des millions de clients partout dans le monde. Les développeurs d'applications de bureau ont plus d'options concernant la vente et la distribution de leurs applications. En plus des options de distribution et d'exécution traditionnelles, certains développeurs peuvent être en mesure de mentionner leurs applications de bureau dans le Windows Store (avec un lien vers un site web pour l'achat).
Caractéristique/Outil |
Apps Windows* 8 en mode bureau |
Apps en mode Windows Store |
---|---|---|
Intel® WiDi |
Oui (des plug-ins pour navigateur peuvent être nécessaires) |
Non |
GFX programmable — OpenGL* |
Oui |
Non |
GFX programmable — OpenCL† |
Oui |
Non |
GFX programmable — OCL*, CM* |
Oui |
Non |
Analyseur de performances graphiques Intel® (Intel® Graphics Performance Analyzers — Intel® GPA) |
Fonctionnalité complète de l'outil sauf IE10, l'analyse des applications WinRT et DX10 dans l'analyseur de trames (avec version 15.28 du pilote + nouveau SDK OpenCL) |
Non (WinRT ne prend pas en charge l'instrumentation) |
Analyseur de goulot d'étranglement de performances Intel® (Intel® Performance Bottleneck Analyzer — Intel® PBA aka xIF) |
Prend en charge l'analyse des applications de bureau. Viewer fonctionne sur le bureau. |
Jeu de caractéristiques partiel ; fonctionne avec WinRT |
Environnements de développement (VS*, Eclipse*) |
Oui |
Partiel |
Centre Intel AppUp® |
Oui |
Non |
Windows Store |
Non (certaines applications de bureau peuvent être mentionnées dans le Windows Store avec un lien vers un site web pour l'achat) |
Oui |
Compatible avec les versions précédentes de Windows |
Oui |
Non |
IV. Principe n° 3 : La mise en œuvre tactile est essentielle dans le développement d'applications adaptées aux contraintes des pAIO▲
Windows 8 a mis à votre disposition des options flexibles à la fois pour des applications Windows Store et Desktop.
Le tactile offre aux utilisateurs une façon intuitive, amusante et naturelle d'interagir avec votre application. Les interfaces utilisateur pour les applications multitactiles, multiutilisateurs destinées aux pAIO à processeurs Intel s'appuient sur l'utilisation novatrice du toucher comme partie intégrante de la conception globale. Heureusement, Microsoft a assuré la mise en place de nombreuses API tactiles, pour supporter à la fois le développement d'applications Windows Store et Desktop.
IV-A. Applications Windows Store▲
Windows fournit deux types d'API pour créer des applications Windows Store : Windows Runtime (WinRT) et la bibliothèque Windows pour JavaScript (WinJS).
Windows Runtime. Ces API JavaScript, C#, Visual Basic* et C++ permettent d'accéder à toutes les caractéristiques fondamentales de la plate-forme.
- Les événements de pointeur sont utilisés pour obtenir des informations basiques — telles que l'emplacement et le type d'appareil, des informations étendues — telles que la géométrie de pression et de contact et pour supporter des interactions plus complexes.
- Les événements gestuels sont utilisés pour gérer les interactions statiques à un seul doigt — telles que le tapotement et l'appui continu (le double-tapotement et le tapotement droit sont dérivés de ces gestes de base).
- Les événements de manipulation sont utilisés pour les interactions multitactiles dynamiques — telles que pincements et étirements et les interactions qui utilisent les données de l'inertie et de la vitesse — telles que le panoramique/défilement, le zoom et la rotation.
La bibliothèque Windows pour JavaScript. WinJS fournit une bibliothèque d'API JavaScript qui offre des contrôles, des styles CSS et des fonctions d'assistance qui vous aident dans l'écriture du code. L'espace de noms WinJS couvre des fonctionnalités similaires aux espaces de noms Windows.UI.XAML dans un environnement WinRT.
V. Applications de bureau Windows 8▲
Les applications de bureau s'exécutent en mode bureau de Windows 8. Les trois façons de prendre en charge la saisie et les gestes tactiles dans les applications Desktop Microsoft Windows 8 sont :
- WM_POINTER est le plus facile à coder et prend en charge l'ensemble le plus complet de gestes, mais ne fonctionne que sur Windows 8. Les messages WM_POINTER reçoivent l'entrée tactile et les fonctions du contexte d'interaction (Interaction Conext) sont utilisées pour reconnaître les gestes de ces messages ;
- WM_GESTURE est facile à coder et rétrocompatible avec Windows 7, mais il comporte plus de restrictions ;
- WM_TOUCH fournit la solution complète pour la prise en charge de la rétrocompatibilité tactile avec Windows 7. Il notifie votre application de chaque événement tactile et votre code doit recueillir ces événements et reconnaître les gestes qu'ils représentent.
Une idée fausse répandue est que vous ne pouvez pas développer de nouvelles applications Windows 8 basées sur le tactile et le capteur pour le mode Desktop. C'est faux. En outre, certains pilotes matériels et caractéristiques de l'appareil comme WiDi et OpenGL* sont actuellement accessibles uniquement pour les applications s'exécutant en mode Desktop.
V-A. Interaction multimodale▲
La prochaine génération d'applications et jeux introduisant des interactions multimodales basées sur la voix et les gestes du corps capturés par caméra est également possible pour les applications Windows 8 en mode Desktop. Les développeurs devraient envisager d'utiliser le SDK Intel® Perceptual Computing pour permettre l'interaction multimodale sur des pAIO. En outre, les développeurs peuvent utiliser Intel® Common Connectivity Framework (Intel® CCF) afin d'activer un scénario multigadget où les dispositifs secondaires comme les smartphones peuvent être utilisés comme contrôleurs pour un jeu s'exécutant sur un pAIO.
V-B. Environnements logiciels et outils de validation▲
Les concepteurs de logiciels qui choisissent de développer des jeux Windows 8 en mode Desktop ont l'avantage d'une multitude d'environnements logiciels et d'outils de validation existants. Ces outils peuvent aider à accélérer votre calendrier de développement, à optimiser les performances et à maximiser la réactivité tactile des applications pour pAIO (Tableau 3).
Outil |
Avantage |
---|---|
Microsoft XNA |
Fournit des outils et bibliothèques qui favorisent la portabilité de la plate-forme tout en permettant aux développeurs de se concentrer davantage sur le contenu et l'expérience. |
Adobe Flash*, AIR, Gaming SDK |
Fournissent un cadre qui prend en charge l'interface utilisateur riche, les effets média et la connectivité Internet. |
OpenGL and DirectX* |
Donne accès aux caractéristiques matérielles graphiques afin d'optimiser les applications gourmandes en ressources graphiques. |
Windows* Presentation Foundation (WPF) |
Fournit un cadre puissant de développement d'interface graphique avec un haut niveau d'abstraction au-dessus de DirectX avec des éléments qui peuvent être liés et manipulés en fonction des événements. |
HTML5 |
Fournit un langage à balises pour les applications web qui contiennent de riches fonctionnalités multimédias et graphiques. Très approprié pour le développement des jeux en ligne. |
GPUView |
Prend en charge le débogage des problèmes liés à la surcharge du GPU. |
Intel® Power Gadgets |
Mesure la consommation d'énergie du processeur selon un scénario. |
Visual Studio* 2012 Profiler |
Surveille et profile les appels critiques pour isoler les problèmes de performance. |
FRAPS |
Mesure le taux d'images par seconde (FPS) pour assurer un rendu graphique impeccable. |
VI. Principe n° 4 : Comprendre la perspective de l'utilisateur▲
Concevoir des applications multiutilisateurs multitactiles sur des grands écrans horizontaux exige une attitude différente — vous ne travaillez pas avec un écran de téléphone !
La communauté des développeurs a conçu, pendant un certain temps, des jeux et des applications contraignantes pour des appareils à écran tactile comme les téléphones et les tablettes, mais maintenant, avec les pAIO, la plupart des restrictions imposées par ces écrans plus petits sont moins préoccupantes, laissant la liberté au concepteur d'incorporer des interactions et contrôles tactiles plus nombreux et meilleurs.
Les conceptions réussies nécessitent une prise de conscience de la façon dont les utilisateurs interagiront généralement avec l'application. Selon l'application, vous pouvez avoir jusqu'à quatre joueurs sur un seul jeu, alors il est essentiel de comprendre la perspective de plusieurs utilisateurs. En outre, la mise en place des contrôles à l'écran doit refléter les habitudes d'utilisation prévues pour le dispositif (tableau 4).
Utilisation |
Nombre d'utilisateurs |
Considérations de perspective |
Exemple d'application |
---|---|---|---|
Multijoueur, avec contrôles individuels |
|
Doit être orienté pour une utilisation selon l'emplacement de l'utilisateur. Mieux si situé sur les bords de l'écran |
Jeu de football avec des contrôles le long des bords opposés de l'écran |
Multijoueur, avec contrôles partagés |
Plusieurs joueurs situés autour de l'écran sans aucun ordre particulier |
Contrôles communs dans des endroits facilement accessibles |
Jeu de société familial traditionnel avec contrôle partagé (dés numériques, cartes de pénalité, etc.) situé dans le centre de la planche de jeu (écran) |
Applications collaboratives multiutilisateurs |
Prend en charge plusieurs utilisateurs collaborant autour d'un écran |
Contrôles communs, de nature graphique, pour une meilleure compréhension |
Jeu paysagiste virtuel |
VI-A. Position de l'utilisateur▲
De nouvelles applications multiutilisateurs deviennent possibles lorsque les écrans pAIO sont détachés et placés sur une table. Pour les développeurs d'applications, la conception des applications pour plusieurs utilisateurs nécessite une analyse détaillée sur la façon dont ils vont interagir avec l'application et entre eux. Il est essentiel de comprendre le point de vue de l'utilisateur :
- la conception initiale doit clairement identifier le nombre et le type d'utilisateurs. Chaque utilisateur aura besoin d'un ensemble de contrôles (comme dans beaucoup de jeux), ou un seul ensemble de contrôles suffira (applications multiutilisateurs de collaboration) ;
- les cibles tactiles les plus accessibles seront près des bords de l'écran ;
- plusieurs joueurs peuvent avoir plusieurs points de focus à n'importe quel moment donné.
VI-B. Les contrôles utilisateur sont importants▲
La façon dont vous concevez votre interface utilisateur peut influencer la facilité d'utilisation de votre application avec la saisie tactile. Pour vous assurer que votre application est optimisée pour l'interaction tactile, tenez compte de ces recommandations :
- en raison de la grande taille de l'écran des pAIO, pensez à utiliser des icônes et des images plus grandes de sorte qu'un minimum de mise à l'échelle soit nécessaire ;
- chaque utilisateur doit connaître les contrôles disponibles par emplacement physique, couleur ou forme. Les instructions à base d'images sont généralement plus faciles à comprendre sous différents angles ;
- le tactile nécessite des éléments d'interface utilisateur plus grands pour assurer l'exactitude et empêcher que les doigts masquent des informations importantes, mais le toucher sur un grand écran offre au concepteur beaucoup plus de travail avec des états réels, comparativement aux tablettes ;
- assurez-vous que l'interface utilisateur soit toujours visible et soyez conscient de la façon dont les mains des utilisateurs peuvent couvrir d'autres contrôles ou information d'écran.
VI-C. Gardez l'application vivante et intéressante▲
Les grands écrans pAIO sur tables offrent aux concepteurs, de nouvelles opportunités pour attirer les utilisateurs avec des interactions intuitives tant visuelles que tactiles. Votre application doit se sentir vivante et inviter l'utilisateur à participer, explorer et toucher. Les conseils suivants vous aideront à garder les choses « vivantes » :
- fournissez toujours un retour visuel immédiat et direct pour les interactions tactiles. Par exemple, vous pouvez utiliser la surbrillance ou des infobulles pour indiquer la cible tactile courante et empêcher l'activation accidentelle d'autres cibles ;
- paramétrez le moteur physique pour gérer le rythme du jeu. Utilisez des effets physiques tels que l'accélération et l'inertie pour fournir une sensation naturelle dans les interactions telles que le panoramique ;
- envisagez l'introduction des fonctionnalités de prochaine génération par des interactions multimodales telles que les contrôles basés sur la voix et/ou sur les gestes de la main.
VII. Résumé▲
Les portables tout-en-un offrent aux développeurs d'applications, de nouvelles opportunités avec de grands écrans tactiles, une mobilité légère et une orientation horizontale. Exécutées sur des processeurs Intel, ces nouvelles applications innovantes promettent de livrer une imagerie brillante et des expériences tactiles fluides recherchées par les utilisateurs. Cependant, la conception de ces nouvelles applications exige une attitude différente et une compréhension claire des options de développement existantes, et là aussi Intel peut aider avec une bibliothèque riche en ressources, couvrant les facteurs de la conception de logiciels, l'intégration tactile et les capacités de la plate-forme. Pour plus d'informations, visitez les liens ci-dessous.
VIII. À propos de l'auteur▲
Raghvendra Maloo est un ingénieur en logiciels système senior dans l'équipe PCCG Véhicule du développement de l'innovation (IDV). Il est expert Microsoft Windows et travaille actuellement sur les logiciels Touch et Stylus de la pile logicielle des systèmes de référence IDV. Les domaines d'intérêt de Raghvendra comprennent l'expérience multiutilisateur et multitactile sur le facteur de forme des systèmes tout-en-un. Avant de rejoindre Intel, Raghvendra a travaillé pour Microsoft comme ingénieur de conception de logiciels pour les produits Office mobiles. Raghvendra détient plusieurs brevets et publications dans le domaine des capteurs tactiles, nouvelles expériences de l'utilisateur et calcul parallèle. Raghvendra a été également conférencier lors du Forum des développeurs Intel en 2013, présentant des opportunités de développement de logiciels pour les systèmes tout-en-un.
Pour toute question, n'hésitez pas à la poser en commentaire ou sur le forum Intel.
Découvrez également les outils de développement ainsi que la zone des développeurs Intel Windows.
Conception et développement :
- Conception d'applications de bureau pour appareils Ultrabook™ et à écran tactile.
- Développer avec les API Desktop Natural Users pour développeurs.
- Outils de conception pour applications Windows Desktop.
- Repenser les applications pour interfaces tactiles et Ultrabook™.
- Les principes de conception du tactile : postures et cibles tactiles.
- Activer l'interaction tactile avec C# dans les applications pour UI du style de Windows* 8.
- Le contact humain : Créer des applications pour Ultrabook™ à l'ère post-PC.
- Gérer l'entrée tactile dans les applications Windows* 8.
- Optimisation des boutons de contrôle tactile.
- Échantillons de réactivité tactile.
- Centre de développement Windows 8.1.
- La technologie Intel Smart Connect.
Échantillons de code :