Palm Web OS (2/2): exemple d’application – Holidays Trip

#ide#mobile#palm

Holidays Trip est une application Palm développée sous WebOS. Cette application permet d’enregistrer un parcours (course à pied, promenade, voyage…) et d’afficher ce parcours sur une carte. Le principe est le suivant : avant une ballade, il suffit de configurer les paramètres de l’application. Ensuite, au cours de cette promenade, la localisation se fera régulièrement par GPS. A tout moment, il est possible de prendre une photo ou d’écrire une note. Une fois le parcours terminé, il est possible de visualiser sur une carte le trajet effectué, les photos et notes apparaissant sous forme de marqueurs positionnés à l’endroit correspondant sur la carte.

1. Présentation de l’application

Voici les différentes étapes de l’utilisation de l’application :

  1. paramétrage de l’application ;
  2. lancement de l’enregistrement ;
  3. prise de photos et de notes durant le trajet;
  4. arrêt de l’enregistrement ;
  5. visualisation du trajet ;
  6. export du trajet sur un serveur et récupération de l’adresse internet ;
  7. visualisation des photos dans la galerie.

Pour chaque trajet enregistré, il est possible de visualiser l’ensemble des photos dans une galerie. Il est également possible de paramétrer les options d’enregistrement du trajet (en continu, toutes les 2, 5 ou 10 minutes) ainsi que les options d’affichage de la carte contenant un trajet.

Cette application utilise le HTML 5 Database Object pour la sauvegarde des données, les API Google Map pour l’affichage des trajets, l’appareil photo du téléphone et le GPS pour la localisation des photos et des déplacements. Ces fonctionnalités sont décrites dans la suite de cet article. Holidays Trip est pour le moment disponible en anglais et en français sur le catalogue d’applications de Palm.

2. Utilisation de l’appareil photo

Les API WebOS pour l’utilisation de l’Appareil photo sont très faciles à prendre en main. Une application peut lancer une capture d’image ou l’enregistrement d’une vidéo simplement en lançant l’application de l’appareil photo (Camera). Il est possible de spécifier dans les paramètres d’appel de l’application le nom de l’image, ou laisser le nom se mettre par défaut. Une fois la capture terminée, l’application d’origine reprend la main. Dans le cas d’Holidays Trip, lorsqu’une photo est prise, un répertoire est créé dans l’album du téléphone pour regrouper toutes les photos, et enregistre ce nom en base avec les coordonnées GPS correspondantes. Le code ci-dessous permet de lancer une capture :

3. Utilisation du GPS

En ce qui concerne le GPS, il existe deux modes d’enregistrement. Un mode « StartTracking » permet de récupérer en continu les coordonnées GPS. Dans ce cas, la connexion au GPS n’est jamais lâchée, et devient alors de plus en plus précise. Le second mode est le « getCurrentPosition » qui permet de récupérer les coordonnées à un instant donné. Dans les deux modes, il est possible de paramétrer la précision minimum souhaitée et le temps de réponse voulu. Attention cependant à bien régler ces paramètres : en effet, plus le temps de réponse est court, plus le risque de perdre de la précision est grande. Il faut trouver l’équilibre en fonction des besoins pour privilégier la précision ou le temps de réponse. Le plus gros problème rencontré pour l’application Holidays Trip est lié à la consommation d’énergie due à l’utilisation du GPS.

Les coordonnées se récupèrent dans la fonction définie par « onSuccess ».

4. Utilisation des API Google Map

Les API Google Map utilisées dans Holidays Trip sont les mêmes que pour les sites internet classiques. Ces API permettent d’afficher des cartes Google Map avec des trajets, des marqueurs ou encore une multitude d’informations. Pour utiliser ces API, il faut ajouter les scripts correspondants dans la page :

Pour utiliser ces API, la première étape consiste à s’enregistrer sur le site de Google et de récupérer une clé utilisateur. Cette clé permet d’identifier les sites utilisant les API afin qu’un site ne puisse pas surcharger le serveur en requêtes. La clé est à saisir dans la ligne de code présentée précédemment. Voici un exemple d’utilisation de cette API :

L’id « map_canvas » correspond à une balise « div » située dans la page (au départ vide) et permettant d’accueillir une carte Google. Dans cet exemple, nous centrons la carte sur une latitude et une longitude définies, avec un zoom de 15. Le « clearOverlays » n’est utile que lorsque l’utilisateur a ajouté des informations sur une carte (comme par exemple des polygones, des lignes de couleurs ou des marqueurs) et permet d’effacer ces informations additionnelles. Exemple de résultat :

Cette carte affiche un trajet entre l’Australie et les Etats-Unis et qui se compose de quatre coordonnées. Plus un tracé possède de coordonnées, plus il est détaillé. Le code HTML correspondant à cette carte est simplement

5. Conclusion

Au niveau de l’utilisation, WebOS possède une interface assez intuitive et dynamique. L’affichage des applications ouvertes sous forme de cartes est un plus qui rend l’utilisation du multitâches très pratique. « L’Application Catalogue » est pour le moment très limité en nombre d’applications disponibles en comparaison de « l’App Store » ou de « l’Androïd Market ».

Au niveau du développement, il s’agit sûrement de la plateforme la plus simple actuellement, même si l’utilisation du JavaScript repousse un grand nombre de développeurs. Pour les initiés de HTML 5 et CSS, il est possible d’obtenir très rapidement un résultat visuel des applications. Les API fournies par le Framework Mojo sont faciles à prendre en main et permettent de couvrir une grande partie des besoins de l’utilisateur.

Lors d’un développement sous WebOS, il est nécessaire de respecter à la lettre la nomenclature. Le bon fonctionnement de la liaison entre les variables, les scènes et les assistants dépend énormément de l’architecture de l’application. Cela peut sembler contraignant à première vue, mais permet au final de réaliser une application organisée et claire. Ceci permet également de rentrer dans du code inconnu plus facilement.

WebOS dispose de plus d’un outil Web permettant de créer une application via une interface « Wysiwyg » : https://ares.palm.com. Cet outil propose un émulateur pour développer, lancer et tester vos applications directement depuis le navigateur. Par ailleurs, il est possible à la fin du développement d’exporter ses projets et donc de récupérer tous les codes sources. Pour l’utiliser, il faut posséder un compte sur le site de developer.palm.com. Si l’utilisation d’Ares ne propose pas suffisamment de flexibilité lors d’un développement, il est toujours possible de s’en servir comme base pour comprendre et analyser les codes générés, puis de les exporter dans Eclipse pour aller beaucoup plus loin.

Pour en savoir plus :