Les différentes solutions pour dessiner dans une tuile

Les différentes solutions pour dessiner dans une tuile

Pour personnaliser une tuile, nous avons accès au niveau texte :
– le titre (Title)
– le titre arrière (BackTitle)
– le compteur sur la face avant(Count)
– la description, un texte écrit en gros caractère sur la face arrière (BackContent)

Imaginons maintenant que je souhaite afficher l’heure et un texte tout en gardant le titre sur la face avant, ceci m’est pas possible avec les propriétés précédentes.

Toutefois, ayant la possibilité de modifier les images de fond de chaque côté de la tuile, je peux générer une image contenant le texte que je souhaite afficher et l’appliquer en tant que fond de la tuile.

Deux possibilités s’offrent à nous.

La génération via un serveur web

Dans cette solution, on développe un service web (en apache ou asp.net) qui a partir des paramètres de l’uri, retourne une image PNG contenant ces informations.

Avantages

  • on peut générer des PNG transparent permettant notamment de faire des tuiles utilisant la couleur accent du téléphone
  • on peut modifier le design de la tuile sans mettre à jour l’application
  • plus rapide pour le téléphone, n’oublions pas qu’un background agent ne dispose que de 25 secondes pour faire ses tâches.

Inconvénients

  • nécessite un serveur web : coût financier et humain (pour son administration)
  • utilise la bande passante de l’utilisateur
  • la tuile ne se mettra pas à jour si le téléphone ne dispose pas réseau au moment du réveil de l’agent.

La génération de l’image par l’agent/l’application

Dans cette solution, nous demandons à l’application de générer elle même l’image et de la stocker dans l’isolated Storage.

Avantages

  • ne nécessite pas un serveur web
  • n’utilise pas la bande passante
  • fonctionne même sans réseau

Inconvénients

  • on ne peut générer que des JPG, il est possible d’utiliser la couleur accent dans le jpeg, mais si l’utilisateur la change, la tuile gardera la précédente couleur jusqu’au prochain réveil de l’agent
  • prends plus de temps que les autres solutions
  • impossible de modifier le design de la tuile sans mettre à jour l’application

Solution alternative : utilisation d’une collection d’image

Si on n’a besoin de générer qu’un nombre faible de variante pour l’image de fond, par exemple : une application affichant sur sa tuile uniquement un chiffre entre 1 et 9 ou encore une application affichant sur sa tuile uniquement un nuage/soleil/pluie.

Dans ce cas, il n’est pas forcément nécessaire d’utiliser un serveur ou de générer une image, on peut embarquer dans l’application (en Content) l’ensemble des variantes de la tuile et référencer la bonne tuile directement :

 

 new StandardTileData()
            {
                Title = "title",
                BackgroundImage=new Uri("/Tiles/Sun.png",UriKind.Relative)
            };

Avantages

    li>on peut utiliser des PNG transparents permettant notamment de faire des tuiles utilisant la couleur accent du téléphone
  • ne nécessite pas un serveur web
  • n’utilise pas la bande passante
  • rapide
  • fonctionne même sans réseau
  • plus rapide pour le téléphone, n’oublions pas qu’un background agent ne dispose que de 25 secondes pour faire ses tâches.

Inconvénients

  • alourdi le XAP
  • pas adapté à des tuiles très dynamiques
  • impossible de modifier le design de la tuile sans mettre à jour l’application
Comments are closed.