GMail, DHTML e Javascript

Alcune elucubrazioni su come funziona GMail:

Il segreto della velocità di GMail sta nel fatto che il motore dell’interfaccia utente (UI) è un modulo Javascript che viene caricato in uno dei frame HTML all’inizio della sessione. Successivamente, le azioni sull’interfaccia vengono instradate dal motore Javascript caricato nel browser, che comunica con i server di Google tramite l’oggetto XmlHttpRequest. Ricevuti i dati (in formato DataPack), il motore della UI li interpreta e modifica la UI in base ad essi, intervenendo dinamicamente sui dati della pagina DHTML, anzichè ricaricare l’intera pagina dopo ogni azione dell’utente.

Hwang Johnvey spiega approfonditamente in cosa consiste il formato DataPack: la UI di GMail scambia con i server file html che contengono solo dichiarazioni di array Javascript che contengono dati su cosa e come aggiornare. Per chi è interessato ad approfondire questi temi, esiste il gruppo di discussione GMail Agent

L’articolo di Korateng Ofosu-Amaah (programmatore Ghanese di IBM residente a Cambridge Massachussets) approfondisce i limiti dei browser che hanno spinto Google a utilizzare un formato come DataPack, anzichè un più semplice formato XML per le comunicazioni tra server e client GMail.

Il flusso di dati complessivo delle applicazioni tipo GMail è:

Database < -> XML (passo opzionale) < -> Legame dei dati con gli oggetti JavaScript < -> Legame dei dati con elementi della UI (HTML) + Codice di gestione della UI

Il limite è rappresentato dalla lentezza con cui si diffondono le nuove versioni dei browser, e dallo scarso supporto XML che alcuni hanno. Un grosso blocco è l’interesse di Microsoft a non fornire nuove versioni di IE che permettano di implementare applicazioni basate su rete che possano rimpiazzare le sue applicazioni desktop (Office, principalmente).

Fortunatamente Firefox, Safari e Opera si muovono velocemente in questa direzione, e prima o poi Microsoft dovrà ri-cominciare a rincorrere.

Jon’s Radio, il blog di Jon Udell è probabilmente il miglior punto di partenza per gli interessati al mondo delle rich-internet applications e al suo futuro, mentre i suoi link su del.icio.us sono un ottimo trampolino per approfondire.

Google IM ?

Dopo GBrowser, cominciano le speculazioni su un possibile Google Instant Messenger.

Tre mesi fa Google ha comprato Picasa, un azienda che produce un programma per organizzare e condividere le proprie foto digitali. Ma insieme a Picasa, Google ha acquisito Hello, un sistema di instant messaging ottimizzato per condividere ed inviare foto. In particolare, Hello Bloggerbot permette di pubblicare foto sul proprio weblog Blogger (sempre di Google!) in maniera semplicissima.

Infine, qualche indizio dal recentissimo Google Desktop Search (maggiori info: Richard Smith, un esperto di sicurezza, ha analizzato GDS e ha trovato il supporto per un nuovo protocollo chiamato google_im:// codificato in esso. Google sostiene che quello trovato da Smith è soltanto il componente che GDS usa per catturare i dati provenienti da AOL Instant Messenger, e non indica affatto un futuro Google Instant Messenger.

[da Ars Technica e Inside Google]

Browser slideshow

Per chi mastica un pò di HTML ed è allergico a Powerpoint, alcuni sistemi per preparare e visualizzare slides via browser.

Prima Opera ha presentato Opera Show lo strumento per le presentazioni di Opera, che sono basate su XHTML, JavaScript e CSS, ma sono generabili usando lo Opera Show Generator (uno wizard su web) o Quickshow.

Eric Meyer si è ispirato ad Opera Show e ha appena rilasciato S5, anch’esso basato su standard (sempre XHTML, JavaScript e CSS), ma con alcuni vantaggi rispetto ad Opera Show (tipo migliorare la navigabilità nello slideshow ed essere rilasciato con una licenza Creative Commons). Potete vederlo in azione nello slideshow introduttivo ad S5.

Il sistema è ultraleggero, e chiunque conosca un pò di CSS può creare un tema per le proprie slides. Manca soltanto un wizard simile a quello di Opera per l’autocomposizione degli slideshow, ma sicuramente qualcuno rimedierà presto. Qui trovate una specifica per il formato dei file S5 .

PS: S5 = Simple Standard-based Slide-Show System

Web 2.0

Web 2.0 è una interessante conferenza sul futuro del Web, in corso a San Francisco. Fortunatamente è ampiamente raccontata in rete:

Commenti a seguire, tempo permettendo.

Escher-mail: e-mail diventa feed diventa e-mail

Jamie Zawinsky enuncia così la Legge dell’avvolgimento del software:

Tutti i programmi cercano di espandersi fino a quando riescono a leggere la posta elettronica. I programmi che non possono espandersi in questa maniera vengono rimpiazzati da altri che possono farlo.

Forse per spirito filantropico, per evitare lo sforzo a tutti coloro che sviluppano aggregatori, Google mette, poi toglie (ma lascia nascosta) la feed Atom per controllare se c’è nuova posta (https://gmail.google.com/gmail/feed/atom).

Per un perverso spirito di simmetria, questo avviene dopo che Thunderbird integra il supporto per le feed RSS, in maniera da poterle leggere come se fossero cartelle di posta elettronica.

Combinando le due cose, si possono ricevere nel client di posta elettronica le feed di notificazione dell’arrivo della posta elettronica su GMail. La funzione può essere utile, ma come mi fa notare Antonio, questa è tanta agitazione per arrivare ad avere un subset della funzionalità dei programmi desktop (gmail + atom < pop). Confido che i programmi di Google per le feed di Gmail siano più articolati.

L'ideale della Escher-mail per ora può essere avvicinato solo artigianalmente. Un programma come Aggie può inviare via posta elettronica i singoli elementi delle feed. Se configurato nella maniera giusta, voilà l'auto-spamming:

Gmail -> Aggie: c’è nuova posta
Aggie -> Gmail: c’è nuova posta
Gmail -> Aggie: c’è altra nuova posta
Aggie -> Gmail: c’è altra nuova posta
…..

GMail sul cellulare

Ho provato ed installato gmail-mobile, la libreria in PHP per accedere a GMail tramite cellulare (WAP) (via Engadget). Sembra funzionare bene (almeno fino a quando Google non deciderà di ri-disabilitare l’accesso tramite applicazioni esterne).

Purtroppo le password vengono mandate in chiaro quindi risultano in chiaro nei log del server: conviene diffidare da installazioni che non siano sotto il controllo di persone fidate.

Se qualcuno vuole provare il gateway con indirizzi throw-away, ci sono ancora 6 inviti disponibili.

Come alleggerire il peso di RSS ?

Paolo Valdemarin chiede se qualcuno stia studiando un rimedio al crescente traffico generato dai programmi di lettura RSS.

Senza entrare nel merito di quanto male siano programmati alcuni aggregatori, quanto di frequente richiedano update, o quanto (troppo) spesso scarichino tutto il file RSS anche se non c’è nulla di nuovo, la mia riflessione è che questo è uno dei casi in cui siti come Bloglines fanno un lavoro nettamente migliore rispetto alle applicazioni installate sui singoli PC: parecchi weblog, hanno migliaia di “abbonati” tramite Bloglines, che pesano sui server come una sola persona che legge tramite un aggregatore desktop.

Ad esempio, il sito in inglese di Paolo ha 150 abbonati, quello in italiano ha 46 abbonati.

Oddpost, GMail e Microsoft

Venerdì scorso Yahoo! ha annunciato l’acquisto di Oddpost, forse il miglior servizio di webmail (via Dave Winer).

Oddpost è riuscita a realizzare un clone di Outlook che funziona dentro Internet Explorer usando DHTML e JavaScript. Compresa la funzione di aggregazione RSS e un filtro per le spam molto efficace.

Come osserva Loosely Coupled, Yahoo! ha acquistato Oddpost perchè con l’arrivo di GMail, ila competizione nella webmail si è fatta molto più agguerrita, non solo nelle dimensioni delle caselle (1 GB e più), ma anche e soprattutto nell’interfaccia. GMail ha un interfaccia molto semplice e velocissima.

Grazie a questo acquisto, Yahoo! può rilanciare. Per molti degli utenti più intensivi della rete, posta elettronica e aggregatore RSS sono due delle applicazioni più usate. Avere queste due funzioni accessibili via web offre molti vantaggi (e qualche svantaggio).

Ora Microsoft si trova davanti ad un dilemma: può proseguire sulla sua strada e continuare a “raffinare” Avalon per offrire una piattaforma client sempre più potente, continuando a trascurare lo sviluppo di Internet Explorer, lasciando che sempre più funzioni basilari migrino verso una interfaccia web, e lasciando che i propri servizi web (tipo Hotmail) vengano marginalizzati nel frattempo. Se sceglie invece di competere sulle “applicazioni web ricche”, allora rischia di minare il proprio vantaggio competitivo sul client.

Microsoft ha prosperato sul fatto di offrire prodotti “abbastanza buoni” (good enough) a prezzi inferiori rispetto alla concorrenza. Ora si trova nella posizione opposta: sta scommettendo il suo futuro sull’offrire un prodotto di relativa eccellenza a prezzi superiori rispetto alla concorrenza. Se qualcuno può riuscirci è proprio Microsoft, ma sarà molto interessante vedere questa competizione. Sono sempre più le persone per le quali le applicazioni web stanno diventando “abbastanza buone” da essere usate quotidianamente.

Formati Aperti

La Commissione Europea ha pubblicato le conclusioni raggiunte dal gruppo di lavoro sullo scambio di documenti. Il gruppo di lavoro incoraggia l’adozione di formati di documento aperti per facilitare la comunicazione tra amministrazioni pubbliche, imprese e cittadini. I formati esaminati sono principalmente quelli basati su XML di Office 2003 e di OpenOffice.

Jon Udell raccoglie alcuni link importanti e fa notare quanto siano importanti questi temi, in quanto formati aperti basati su XML sono la base su cui verranno costruiti ambienti di collaborazione in rete più sofisticati di quelli attuali (ad esempio, Wiki per lavorare a più mani su documenti complessi, non più su semplice testo con markup).

Oltre alle conclusioni, e alle raccomandazioni del gruppo di lavoro, è disponibile anche un rapporto , il Valoris Report, che analizza in profondità i formati aperti per lo scambio di documenti e il mercato relativo.

Microsoft e la guerra delle API

Joel Spolsky ha pubblicato un eccezionale articolo che chiarifica alla perfezione i pensieri e le sensazioni che ho riguardo al futuro dello sviluppo del software. Gmail, Wiki, le piattaforme per Weblog, e tanto altro software, sono parte del trend verso applicazioni che possano essere usate da qualsiasi terminale, in qualsiasi posto del mondo.

Spolsky conclude: “La nuova interfaccia di programmazione per le applicazioni è HTML, e i vincitori in questo nuovo mercato saranno coloro che sanno far cantare HTML”.