ASP.NET AJAX Beta 2: intervista a Shawn Burke

di Stefano Mostarda, in ASP.NET 2.0,

Speciale TechEd 2006Ho appena finito di vedere la Whiteboard Discussion di Shawn Burke su ASP.NET AJAX e come prima cosa mi viene in mente che sarebbe una bella cosa strappargli un'intervista a bruciapelo.

Dopo averlo lavorato ai fianchi con domandine interessanti e con la segnalazione di alcuni bug, ecco che mi decido a chiedergli un po' del suo tempo e lui, incredibilmente, e soprattutto ignaro di quello che lo aspetta, accetta addirittura con un certo entusiasmo.

Le tre del pomeriggio sono passate da poco e la temperatura è ai suoi massimi grazie ad un sole a dir poco eccezionale, quindi, dopo aver constatato che non ci sono posti tranquilli all'interno del centro conferenze, optiamo per una passeggiata all'aperto con le strade trafficate ed il mare a fare da sfondo. Il tutto è coronato da una versione scaduta del software per registrare la voce che costringe il sottoscritto a prendere freneticamente appunti sulle risposte di Shawn che, devo dire, sono "candide".

Un po' di storia

La prima domanda riguarda il passato di ASP.NET AJAX e di come questo prodotto sia nato, cresciuto e maturato nel corso del tempo. Su questo argomento arriva il primo mezzo declino di Shawn che parla di come sia arrivato solamente a dicembre nel team di Scott Guthrie (non ha parlato del team di ASP.NET ma di Scott con anche un luccichio negli occhi) e di come abbia speso le sue prime settimane a studiare ATLAS ed a cercare di capire quali fossero i punti chiave per renderlo un framework più potente. Successivamente, sono state tentate varie strade che, udite udite, non erano di certo ben viste da tutti all'interno del team stesso; una su tutte i Bridge Service.

Qui scatta la mia curiosità ed arriva la prima domanda un po' da fuori onda: "Perché usare i bridge services per invocare WebServices esterni, quando dal client si può invocare un WebService interno che a sua volta invoca quello esterno?". La domanda è più che legittima e sinceramente sono stati in molti a porsela ed a farmela via email. Finalmente c'era qualcuno a cui poter rigirare la domanda ed avere una risposta vera. Con semplicità Shawn spiega che lo scopo era quello di avere la logica di invocazione e sfruttamento dei dati sul client senza utilizzare codice server. A prima impressione, può sembrare anche una risposta corretta, ma è qui che lo sguardo illuminato dal sole viene oscurato da un enorme punto interrogativo: ma se tanto il server viene comunque utilizzato e visto che c'è già l'infrastruttura, non era meglio la mia opzione?... Proprio nel momento in cui vado a prender fiato per pronunciare la domandina magica, Shawn gioca d'anticipo liquidando il discorso con un "comunque la feature è stata rimossa", non nascondendo un ghigno di approvazione per questa scelta.

Si passa poi all'XMLScript che è stato passato come una novità grandiosa per separare l'interfaccia dalla logica dell'applicazione, ma che ha fatto la stessa fine dei Bridge Services che forse avevano anche più fan. In questo caso, si è arrivati a questa decisione perchè il dover imparare un nuovo "metalinguaggio" per eseguire alcune istruzioni javascript è una cosa troppo pesante. Il bello di questa cosa è che, mentre Shawn parla, l'impressione netta è che la scelta non sia stata dettata dai feedback ricevuti, bensì da una linea interna dove ormai è rimasto solamente Nikhil Khotari a difendere la sua creatura.

Sempre parlando dell'evoluzione, si arriva alla domanda che più ha messo in difficoltà il malcapitato: "Perché tutti questi cambiamenti che ci sono stati tra la CTP di Luglio e la Beta 1 non sono stati almeno annunciati un po' di tempo prima, tanto per far capire alle persone che molto stava per cambiare?" Ovviamente è uscita anche la storia del libro di Dino Esposito, di cui lui era a conoscenza solo a metà, e anche lì l'imbarazzo era difficile da nascondere. A primo acchitto, ha vinto l'istinto di difesa di Shawn con una frase lapidaria: "IO avrei voluto, ma..." e qui si ferma per non fare osservazioni che avrebbero potuto compromettere la sua posizione in Microsoft.

Successivamente si rende conto che la risposta non soddisfa nemmeno il 2% della mia curiosità ed a malincuore continua ad andare avanti. La verità, dice, è che a luglio si doveva prendere una decisione poiché molti feedback richiedevano una versione stabile e supportata di ATLAS. A questo punto è cominciata una serie di riunioni con i partner, i Component Vendor, gli MVP ed altre parti che hanno comunque interesse a vedere una versione in RTM. A settembre era arrivato il momento di cominciare a parlare pubblicamente dei cambiamenti di programma, ma in realtà il brainstorming ed il feedback derivante da questo aveva generato molta confusione e rimaneva comunque in evoluzione a tal punto da rendere quasi impossibile tracciare una linea guida anche a settembre.

Quest'ultima affermazione rappresenta il più classico degli autogol. Una domanda tanto semplice quanto assurda si stava facendo largo: ma se a settembre non c'era un'idea chiara di quello che avrebbe dovuto essere ASP.NET AJAX, con quale coraggio si è usciti un mese dopo con una versione marcata Beta 1 che, comunque, comincia a rappresentare un impegno anche a livello formale? Lo sguardo di Shwan ha un momento di tentennamento ed è chiaro anche a lui che la situazione necessita di un salvataggio in calcio d'angolo. Così riprende fiato, si fa coraggio e comincia col dire una classica frase targata Microsoft: "Volevamo fare una versione stabile e che comunque includesse le cose più importanti in base a quello che i nostri clienti ci indicavano e fino a quando non abbiamo raccolto tutto quello che ci serviva non abbiamo fatto un passo".

L'enfasi con cui queste parole vengono snocciolate lascia il campo a due interpretazioni: la prima è che si sentisse in qualche modo attaccato (e lo era effettivamente), e la seconda che volesse far capire che tutto quello che è stato fatto, è stato messo in atto per il bene di AJAX e degli sviluppatori. Un passaggio cruciale è stato il seguente "I want you to write this, It was completely feedback driven" (è stata una versione completamente dettata dai feedback). Va detto che è stato molto convincente.

2 pagine in totale: 1 2
Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti