TUTORIELS 
Cinq conseils pour une application Flash mobile
La progression des usages de terminaux mobiles conduit à se poser la question des applications Flash utilisables sur ces matériels. Ce qu'il faut savoir, en cinq points.  (12 février 2004)
 
Forums
* Discutez en sur les forums
La progression des usages de terminaux mobiles (téléphones portables, PDA...) conduit à se poser la question des applications Flash utilisables sur ces matériels. Si le marché est encore assez limité, il est à prévoir qu'il va progresser - à l'exemple de celui des applications Java.

Il n'est pas trop tôt, donc, pour lancer à destination du développeur "Flash mobile" quelques conseils pratiques et théoriques.

1) Etre attentif à la version
C'est de moins en moins un problème sur les ordinateurs de bureau (en décembre 2003, plus de 90% des ordinateurs testés pouvaient au moins lire les animations Flash 6,
selon les statistiques de Macromedia sur le Flash Player), mais le problème de la version du Player risque fortement de se retrouver lors de la création d'applications mobiles.

De fait, pour l'heure, il n'existe qu'un Player pour Pocket PC, et il en est à la version 6. Plus récemment, certains Sony CLIÉ intègrent le Flash Player 5, tandis que certains téléphones i-mode disposent d'une version "spéciale mobiles" du Player, Flash Player Lite 1.0, pouvant utiliser les objets Flash 5 et l'ActionScript Flash 4. Le site de Macromedia indique enfin que le Motorola A920 dispose du Flash Player 5, ainsi que les PDA "Communicator" de Nokia.
Les choix possibles sont forcément amenés à s'élargir, mais il est primordial aujourd'hui de savoir précisément quelle cible est visée par l'application, afin de développer un produit qui réponde effectivement aux capacités du lecteur.

2) Prendre en compte les différentes tailles
Tout comme la version du Player, la résolution disponible doit entrer en compte dès le lancement du projet : en effet, il ne s'agit plus ici de questions de proportionnalité (640*840, 800*600 et 1024*768 sont tous d'un ratio 4/3) mais bien d'écrans totalement différents, parfois plus larges que haut, parfois l'inverse. Le Pocket PC, par exemple, tourne généralement en 240*320.

Les développeurs utilisant Flash MX 2004 ont ici la tâche rendue plus facile par l'arrivée des modèles ou templates, notamment une vingtaine de modèles mobiles pour les marques iPAQ ou Nokia, ce qui permet de créer d'entrée de jeu une interface correspondant à la résolution définitive de l'application.

Par ailleurs, autant que faire se peut, il faut clairement séparer le contenu du contenant, dès que l'application doit tourner sur plusieurs terminaux, afin d'avoir un minimum de travail à faire pour adopter une nouvelle résolution... Cela va permettre par ailleurs au développeur de prendre de l'avance si d'aventure son client veut la même application pour un nouveau terminal.

3) Se documenter sur les capacités
Ce n'est pas pour rien que Macromedia a créé le Flash Player Lite : les terminaux mobiles disposent de considérablement moins de mémoire que leurs congénères de bureau. Par exemple, les nouveaux téléphones i-mode (900i) sont limités à des applications Flash de 100 Ko, les anciens (505i) à 20ko...
Ici, la seule manière de s'en sortir est de se documenter précisément sur le terminal-cible, et d'optimiser son application autant que possible (en évitant bien sûr les "hacks" qui n'ont fait leurs preuves que sur ordinateurs de bureau...).

4) Savoir que la connexion n'est pas toujours établie
Les terminaux mobiles sont plus souvent utilisés hors-ligne qu'en ligne, à la différence des ordinateurs de bureau qui sont quasi-constamment connectés à Internet. De fait, quand, sur un ordinateur, on peut créer une application qui, pour afficher des informations, doit sans cesse envoyer des requêtes à un serveur sur Internet, il n'en est pas de même pour une application Flash mobile : elle doit faire son possible pour fonctionner complètement hors-ligne, et donc sauver des données sur le terminal, et savoir quand lancer une requête sur Internet ou quand charger un fichier. En bref : l'application Flash doit savoir si elle a accès à Internet, et ce sans action requise de la part de l'utilisateur.

Sans accès aux SharedObject de Flash 6, le seul moyen de tester la connexion est de lancer effectivement une requête, et de voir si elle est positive, en utilisant la méthode Flash 5 loadVariablesNum() (et non loadVars(), réservée à Flash 6 et plus, et donc risqué) : loadVariablesNum("http://www.mon-site.com/cnx.txt?rand=" + randNum, 0); (l'utilisation de randNum() permet de s'assurer qu'on appelle toujours un nom de fichier différent).
Pour la sauvegarde de données, on passera également par loadVariablesNum(), ou par un appel du type getURL("javascript:getCookie()");, par exemple - et si le terminal reconnaît les cookies...

5) Faire simple !
Les utilisateurs de terminaux mobiles sont, si c'est possible, plus exigeants que les utilisateurs "de bureau", par définition : un terminal mobile est utilisé en marchant, en prenant le train, en voiture... rarement assis simplement à un bureau. De fait, les utilisateurs veulent avoir accès rapidement à l'information, et donc s'attendent à une interface extrêmement intuitive, sans fioritures, sans animations ni sons en trop...
Ajoutons que l'utilisation de sons, d'animations ou même de certains contrastes peut avoir un effet sur l'utilisation de la mémoire et la batterie. Faire simple, c'est préserver l'utilisateur.

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page