CodePlex : Black Minecraft Editor

by Nicolas Calvi 3. février 2014 11:18

Voilà je me décide à lancer publier mon petit projet CodePlex "Black Minecraft Editor". Rien d'exceptionnel là non plus, c'est un outil qui permet de modifier les sauvegardes du jeu Minecraft, cela modifie autant les sauvegarde locale que serveur. Vous pouvez la télécharger à cette adresse :

https://blackminecrafteditor.codeplex.com/

Le lien a été rajouté à la liste de mes projets Codeplex sur le bandeau droit du blog.

N'hésitez pas à me faire vos retours car l'éditeur est en BETA !

 

SDK Surface 2 : Notions élémentaires

by Nicolas Calvi 19. juillet 2011 07:00

Quand on développe avec le SDK Microsoft® Surface® 2.0, il est important de bien connaître les concepts de base de ce type de programmation. Je vais donc vous exposer ces concepts qu'il faut connaître pour bien appréhender ce genre de développement.


Qu’est-ce que le tactile ?


On parle de tactile pour « tout objet ou interface qui possède une interaction avec un ou plusieurs doigts ». Ce qui est intéressant avec cette définition c’est qu’on parle de doigt, or la plupart des périphériques tactiles ne font pas la différence entre un doigt et, par exemple, la paume de notre main. Pour ce type de périphérique un contact est un contact, peu importe sa forme et son volume.

Si je fais cette distinction c’est que le SDK Microsoft Surface 2.0 va nous permettre de faire cette différence, c’est-à-dire de nous donner les capacités de reconnaissance tactile du périphérique sur lequel on lance notre application. Il va nous permettre des interactions « tactiles » avec autre chose qu’un doigt ou une main, par exemple des objets et plus particulièrement des « Tags » si le périphérique le permet.

Si on schématise tout ça très grossièrement, on a quatre grandes familles de périphériques tactiles : Les écrans, les tablettes, les périphériques mobiles (comme un Windows Phone 7) et la table Microsoft Surface. Si je sépare la table Microsoft Surface des autres périphériques c’est que les interactions qui lui sont liées ainsi que ses capacités de reconnaissance sont différente par rapport à un écran tactile ou une tablette.

En effet, là ou un écran va se limiter à un contact simple, c’est-à-dire à une coordonnée (X,Y), la table Microsoft Surface va nous donner un peu plus d’information, à savoir si c’est un doigt, une forme qui n’est pas un doigt ou un Tag. Pour tous ces types de contacts, elle nous donnera aussi son orientation et si c’est un Tag, sa valeur numérique.

Au final, selon le périphérique que l’on utilise, les informations tactiles renvoyées par celui-ci sont différentes. On se rend bien compte qu’un périphérique comme la table Microsoft Surface fait office de « périphérique avancé » en termes de possibilité de reconnaissance tactile, mais toutes les applications tactiles n’ont pas besoin des mêmes capacités pour être utilisées.


Usages et expériences utilisateur


C’est à ce moment qu’on parle d’usages et que l’on doit mettre en parallèle le réel besoin de reconnaissance tactile avec les besoins des utilisateurs. Est-ce que le périphérique tactile est une table, accroché à mur ou sur un pupitre et incliné à 45 degrés ? C’est une question qui peut sembler anodine mais cela conditionne le type de périphérique que l’on va utiliser.

Prenons par exemple les bornes de commande rapide de chez Mc Donalds. L’interface est tactile et permet de choisir son menu pour ensuite le retirer au comptoir rapide. Ici pas besoin de reconnaissance de Tag ou utilité de faire des zooms sur les menus. En bref, un simple écran tactile à un contact suffit amplement.

Si nous devions créer une application bancaire pour un conseillé et un client, et si on souhaitait créer une relation entre ses personnes grâces au périphérique tactile, on ajouterait à ce moment une composante collaborative et multi-utilisateurs. Dans ce cas, une table Microsoft Surface serai mieux adaptée.

Je veux juste montrer par ses deux exemples qu’à chaque situation il y a son périphérique tactile adapté et que le plus couteux n’est pas forcément le plus approprié. Bien réfléchir à son support et aux usages est une partie importante de la réflexion sur nos interfaces, choses trop peu repandue de nos jours.

Si le sujet vous intéresse, je vous recommande le blog de Johanna Rowe, Designer Industriel et Interactif qui parle au travers de son blog « Design in Progress » de ces problématiques qui sont au final des problématiques de Design, n’étant pas Designer je ne fais là que vous amener sur le sujet.


Les gestuelles


Quand on fait du tactile on en arrive toujours à un élément essentiel qui sont les gestuelles. Les gestuelles représentent les actions que l’on fait sur le périphérique tactile avec ses doigts. Je vais vous expliquer les gestuelles les plus courantes, sachant qu’il existe une multitude de gestuelle en fonction des périphériques qui peuvent les interpréter.

Le « Touch » ou « Tap »

Cette gestuelle peut être décomposée en quatre actions bien distinctes. Concrètement cela consiste à poser son doigt sur le périphérique et de le relever. Cependant, comme une souris, on peut le décomposer.

Le « Touch Down » qui signifie poser son doigt sur le périphérique, le « Touch Move » qui signifie déplacer son doigt en contacte sur le périphérique et le « Touch Up » qui signifie relever son doigt du périphérique. Cela correspond un peu au « Mouse Down », « Mouse Move » et « Mouse Up ».

Ensuite il y a la notion de « Tap » qui s’apparente à un « Click » de la souris, à savoir le fait de poser et relevé son doigt au même endroit et dans un laps de temps court (moins d’une seconde).

Le « Hold » ou appuie continu

C’est en fait un « Tap » qui dure au moins 2 secondes et se déclenche avant que le doigt se relève. Donc on pose son doigt sur le périphérique, on attend et ça déclenche une action avant que le doigt ne se relève.

Le « Drag » ou déplacement

Cette gestuelle est le fait de déplacer son doigt sur le périphérique, afin de bouger un élément d’interaction ou de vouloir déclencher une action par ce geste par exemple. Cela s’apparente au « Drag’n Drop » avec la souris, mais là c’est avec votre doigt, cette gestuelle se termine si l’on retire son doigt du périphérique ou que le déplacement devient hors limite dans l’interface. Cette gestuelle élimine les périphériques qui ne sont pas capable de tracer un contact comme la technologie d’onde de surface.

L’étirement et le rétrécissement ou « Scale »

Cette gestuelle s’utilise avec au minimum deux doigts, ce qui élimine tous les périphériques tactiles qui ne sont pas multipoints et qui ne peuvent pas tracer un contact. Le but est de toucher deux parties distinctes du périphérique avec deux doigts et d’éloigner les doigts l’un de l’autre si l’on veut un agrandissement et de les rapprocher si l’on veut un rétrécissement. Très pratique pour le zoom sur des images par exemple.

   

Pour finir, il est important de comprendre qu'une application tactile reste une application NUI (Natural User Interface) et doit répondre à des normes en termes d'expérience utilisateur. Le fait de faire une application intuitive et ludique est toujours le fruit d'une profonde réflexion en début de projet. Le SDK Microsoft® Surface® 2.0 nous permet par contre de développer un code pour tous les périphériques, cependant il ne faut pas perdre de vue qu'un périphérique tactile s'utilise d'une certaine façon et qu'il faut souvent revoir le Design d'une application quand on la porte d'une tablette vers une table Microsoft Surface 2.0 par exemple.

Si vous devez concevoir une application Microsoft Surface 2.0, je vous conseil la lecture du "Microsoft® Surface® 2 Design and Interaction Guide".