Thursday, October 25, 2007

SVG dans Google Maps

Je viens de découvrir avec surprise que sur un téléphone P990i de Sony Ericsson, l'application Google Maps utilise une applet qui déclare utiliser le produit Tinyline.

Et qu'est-ce que Tinyline: un player SVG.

J'en conclue que Google Maps, au moins sur mobile, s'appuie sur SVG. Une grande bonne nouvelle pour cette excellente technologie.

Monday, June 25, 2007

Comment GZIP traite vos SVG?

Je vous présente ici quelques résultats assez paradoxaux sur l'exploitation de GZIP combinée à du SVG. Ces résultats peuvent surement être transposés pour toute combinaison de GZIP avec une représentation XML.

GZIP et SVG

GZIP peut être utilisé de plusieurs façons pour comprimer du SVG.

D'abord, le support de GZIP est encouragé pour les players SVG 1.1 et requis pour les players SVG 1.2 Tiny; ces players doivent pouvoir lire un document SVG zippé, le décompresser, puis l'interpréter comme s'il n'avait pas été compressé.

La deuxième méthode fonctionne pour des documents SVG auxquels le player accède via le Web. Il est possible de régler le serveur pour qu'il comprime en GZIP certains types de fichiers lorsqu'il les envoie à un client qui supporte la compression GZIP. Cela est alors indépendant de la norme SVG et peut s'appliquer à de nombreux types de fichiers.

Optimiser la taille d'un SVG

L'exploitation de GZIP assure une compression et permet donc d'optimiser la quantité de données transmises.

On peut être tenté d'optimiser la taille du fichier au niveau du SVG avant le passage par GZIP. On peut par exemple éliminer des espaces. Et, là commencent les surprises!

Par exemple, j'ai pris le fichier SVG qui figure ici. Il fait 274 Ko. En l'ouvrant avec Inkscape, puis le sauvant en GZIP, il passe à 106 Ko. En supprimant des décimales sur de nombreuses coordonnées, l'apparence du SVG ne change pas pour une utilisation plein écran et le fichier passe à 244 Ko. En ouvrant ce dernier avec Inkscape et en le sauvant en GZIP, on obtient un fichier de 115 Ko!!!

Ainsi, en optimisant la taille de la source SVG, on obtient un plus mauvais résultat en GZIP.

Comment optimiser la compression d'un SVG en GZIP? Avez-vous des idées?