Introduzione a Google Chart API

BigG nel 2007 ci ha regalato una valanga di servizi, comprese una serie di acquisizioni strategiche, facendolo diventare a buon titolo il futuro “Sistema Operativo” della rete. Potrebbe sembrare una definizione un po azzardata ma se ci pensiamo allo stato attuale ci permette di svolgere una quantità di task consueti senza il bisogno di avere applicazioni installate, pensiamo ad esempio a Docs che ultimamente ha introdotto anche il software per creare e gestire presentazioni, oppure l’imminente storage online che ci permetterà di accedere ad uno spazio remoto e sincronizzare i nostri files in tempo reale, forse il mito dei computer “thin” senza hd presto potrebbe essere di nuovo un argomento cool.

Ricordo che se ne parlava gia moltissimi anni fa, quando si filosofeggiava su una rete fatta di un aggregazione di piccoli computer con ridotte capacità (a basso costo) in grado di reperire funzionalità e servizi completamente in rete interagendo con server remoti di grandissime potenzialità (Google?). Privacy permettendo e DigitalDivide in Italia, l’argomento è ancora molto interessante.

Tornando a noi, proprio in questi giorni Google ha rilasciato un’API per sviluppatori per generare grafici “on-the-fly” semplicemente partendo da un URL del vostro browser.

Come usare Google Chart API

Il funzionamento è molto semplice ed intuitivo. Le API restituiscono un immagine in formato PNG a seguito ad una richiesta via URL. Possono essere generati diversi tipi di grafici: a linee, barre, a torta ed altro ancora. Per ogni immagine possono essere specificati attributi come la dimensione, il colore e le etichette di testo.

E’ possibile includere in una pagina web un grafico semplicemente racchiudendo l’url in un tag <img>. L’immagine verrà renderizzata in tempo reale alla visualizzazione della pagina web. Tutto molto semplice ed efficace.

Ad esempio se io volessi inserire un grafico, in questo post dovrei semplicemente inserire queste poche linee di codice :

Ed avrei in risposta la seguente immagine generata dinamicamente

Attraverso il browser possiamo vedere in che modo queste immagini vengono generate, andando a vedere l’URL della stessa. Provate ad esempio con firefox andando sul menù contestuale “Visualizza Immagine” per vederne le proprietà.

Lo schema di default con cui lavorano queste API è il seguente :

Analizziamo un po il codice demo per capire come quel grafico è stato generato:

  • cht=p3
    Qui viene selezionato il tipo di grafico in questo caso a torta
  • chd=t:90,49
    I valori assegnati per creare il grafico
  • chs=500x200
    Le dimensioni del grafico
  • chl=Stefano|Mainardi
    Le etichette applicate al grafico

Nella guida per sviluppatori troverete comunque una serie di esempi molto esplicativi all’uso di questo API e sulle loro funzionalità.

Possibili scenari di utilizzo

E’ vero che esistono una marea di script in PHP per creare grafici via GD, e di sicuro per progetti grandi sono la scelta obbligata e più sicura, visto e considerato che non è garantita nel tempo la vita di queste API, è gia successo altre volte che alcune librerie venissero dismesse senza avvertimento e lasciando a piedi chi aveva creato applicazioni ad esse collegate. Va considerata anche la limitazione di 50.000 query giornaliere, e l’assenza di una modalità pro per avere accesso illimitato, che vanno quindi ad escluderlo per utilizzi in ambiti professionali.

Però di sicuro può essere utile per applicazioni web intranet che non sviluppano molto traffico, oppure per creare facilmente grafici da inserire in blog, portali e presentazioni. Ad esempio sarebbe possibile creare grafici parametrici aggiornati in tempo reale in una presentazione, attraverso l’utilizzo di Javascript.

Un applicazione su tutte in cui si possono vedere le potenzialità di questo strumento è Google Finance , credo basti per dimostrarne le potenzialità.

Conclusioni

Mi piace il modo con cui Google restituisce alla comunità software sviluppato internamente, lasciando spazio di creatività agli ingegneri di lavorare a progetti in totale libertà, quel famoso “20-percent-of-time” sembra funzionare.

E’ stato creato un gruppo di discussione ufficiale per gli sviluppatori e gli utilizzatori, dove ho trovato un generatore di grafici automatizzato, è impressionante vedere a che velocità si muove la comunità intorno ai servizi di Google e i mashup ad essa collegati.