Michele SciabarràCorsoJava
testi corsi mailing
Symbian Java  Linux

Humor
-Psicopatologia Utenti Linux
-Documentario: Sistemista Linux
-Il Grande Mago Informatico
-Se le distro fossero ragazze
-La Calata Dei Barbari
-Programmatori al supermercato
-Clienti di ieri e di oggi
-Colloqui di Lavoro
-Il vero informatico 2005
-Regolamento per Software House
-Diario di un Open Source
-Non usate quel linguaggio
-Decifrare Offerta Lavoro
-Il lavoro in Italia
-I fantastici 4 degli SmartPhones
-Dalla Teoria Alla Pratica
-Cosa Vuole il Cliente
-Colloqui con gli utenti
-La Visione degli Esperti
-Di che pasta è il tuo codice
-Una Email Dal 2143

Tecnica
-JSF ClassLoader -Programmazione Cellulari Symbian
-L'invasione degli SmartPhone
-Intro Eclipse Video!
-ReadLine FrontEnd
-JspWiki

Opinioni
-C'era una volta il cellulare
-Business dell'OpenSource
-Le scuse del Linux World Expo
-Linux non è Comunismo
-Java e l'Open Source
-Chi ha scritto Linux
-Chi ha paura di XAML -Lavorare con Tanenbaum

Informazioni
-Questo sito
-L'autore








Scarica Omaggio
il Capitolo 2




Leggi Online
il Capitolo 6

Chi ha paura di XAML?

Il mondo di Linux, del Web e dell'Open Source è preoccupato per il prossimo avvento di Microsoft Longhorn (la nuova versione di Windows) e tecnologie correlate. I tre mondi suddetti in gran parte sono correlati: il Web gira in gran parte su Linux con software Open Source. Comunque a temere di più le tecnologie di Longhorn è il mondo del Web: in particolare lo sviluppo di XAML, che molti vedono come la tanto lungamente temuta mossa di "embrace-ed-extend" di Microsoft per impadronirsi del Web.

Morto per dissanguamento finanziario Netscape, sarebbe rimasto solo Internet Explorer come "client universale" per l'accesso al Web. Gli sforzi eroici del gruppo Mozilla hanno impedito che esistesse un SOLO client, e oggi Mozilla/Firefox e i numerosi browserini derivati da Gecko, (e perfino quelli derivati da KHTML, tra cui il Safari del Mac) consentono di visualizzare il Web senza dovere avere a che fare solo con Windows.

Per la verità, verso la fine del ciclo di vita di Netscape, era diventanto un problema per un utente Linux navigare nel Web. I siti incompatibili erano sempre più frequenti. Oggi usando Mozilla, non ho praticamente MAI problemi. Sono veramente rari i siti che non si vedono perfettamente con Mozilla, e quando lo sono, è più per l'idiozia di chi ha preparato il sito che per problemi tecnici reali.

Per esempio, come è successo recentemente su un noto portale italiano, che diceva: "non hai explorer? niente home page". Queste mosse rispondono a logiche commerciali, del tipo "dobbiamo concentrare gli investimenti sulle piattaforme maggiormente diffuse", e hanno un senso. Ma bloccare l'accesso a chi, pur non esistendo ufficalmente, è perfino più compatibile dei browser più usati, è semplicemente un comportamento gratuitamente discriminatorio. Comunque, non divaghiamo. Torniamo al nostro discorso, che è l'XAML.

I limiti del Web

Il fatto è che l'HTML ha parecchi limiti. Soprattutto per la realizzazione di interfacce utente per applicazioni. I programmatori Web (e io mi considero di appartenere a questa umile schiera) fanno miracoli per validare gli input e presentare una interfaccia utente agile, utilizzando "trucchi" come il dynamic html e spremendo fino all'ultimo bit delle poche funzionalità messe a disposizione dalle form web.

Per un motivo o per l'altro, e per certi versi oserei dire pure per fortuna, l'HTML si è stabilizzato. Ha raggiunto una tale dose di funzionalità avanzate da essere sufficiente per soddisfare pressoché ogni appetito per la presentazione di documentazione ipertestuale. Generalmente per documenti stampati il PDF è un formato più che soddisfacente, e oramai estremamente facile da produrre (tra esportazione di OpenOffice, e JasperReports, si più essere più che soddisfatti anche dal versante di chi lo produce con strumenti di sviluppo). Per le animazioni oramai Flash accontenta praticamente tutti, grafici ed utenti, ed è disponibile anche per Linux.

E le WUI? Quelle, le Web User Interfaces, invece, lasciano ancora abbastanza a desiderare. Qualcosa si riesce a fare, per la verità, anzi si fa molto considerando quante applicazioni Web oramai sono disponibili. Ma gli utenti normali sono abituati a un altro tipo di interfaccia utente. Ed è inutile negare che le WUI sono molto più povere delle GUI.

Non tanto esteticamente: quello, più o meno, anche con artifizi estremi, si rimedia. Ma dal punto di vista dell'interattività sono più limitate. Una delle parti più tristi del mio lavoro quotidiano di analista è spiegare all'utente, che non ha mai visto il Web, che certe cose non si possono fare.

Infatti, certe funzionalità che usa tutti giorni in una applicazione fatta in Visual Basic, con le interfacce Web non si possono fare, o comunque è complicato. Le finestre pop-up, i controlli dell'input che controllano carattere per carattere... ecco, tutte queste cose, anche se in qualche modo ci si arrabbatta, sono soggette a limiti, a volte pesanti. Una volta implementate, risultano limitate, almeno rispetto alle GUI tradizionali.

Il futuro del Web secondo Microsoft

La soluzione a questo problema? Molte! Non immaginavo che ce ne potessero essere in giro così tante ma il problema è veramente sentito, ed è stato affrontato in una innumerevole quantità di modi diversi. Basta dare un'occhiata a questo link: Esempi XUL.

Ha cominciato Mozila, ma altri hanno proseguito. In realtà, Mozilla è stato pensato fin dalle origini per essere una specie di piattaforma per applicazioni Web e non solamente un semplice browser. Infatti Mozilla è costruito in XUL, una notazione XML per descrivere interfaccie utenti. L'idea ha fatto scuola: infatti esistono numerose implementazioni analoghe, che fanno cose simili, e implementati nelle tecnologie più disparate: usando Java, usando Flash, in C/C++ eccetera.

Purtuttativa, manca l'ovvio! La possibilità di navigare in APPLICAZIONI in maniera analoga alla navigazione in SITI WEB. Pensateci: per accedere ad una applicazione di contabilità mi collego a un URL, e si apre UNA GUI. Non una pagina Web, che mi visualizza essenzialmente un documento, ma una GUI vera e propria. Questo, in teoria, con Mozilla già si può fare. Anche se non sono riuscito a trovare facilmente molti esempi che mi mostrassero questa capacità. Comuque alla fine uno l'ho trovato: eccolo http://www.mozilla.org/docs/tutorials/sitenav/6.xul (dovete avere Mozilla per vedere qualcosa). Bello vero?

Eppure quasi nessuno sfrutta questa capacità. Ed è ovvio perché. Mozilla è un browser tutto sommato minore rispetto a Microsoft Internet Explorer. Sviluppare un sito che sfrutta le feature di un browser poco diffuso è garanzia di dare fastidi agli utenti.

Questa idea è quindi in giro da molto tempo, Mozilla già lo fa, eppure l'innovazione da dove arriva? Da Microsoft, che ha annunciato ESATTAMENTE QUESTA FEATURE nella nuova versione di Windows. Solamente implementata a modo loro, usando un nuovo linguaggio per la definizione di interfacce utente, lo XAML, che peraltro potrà integrare codice in C#, ed è fondamentalmente basato su .NET; di sistema ovviamente su Longhorn...

La preoccupazione del mondo OpenSource.

Ho letto varie interviste di esponenti del mondo OpenSource preoccupate di questa novità, tra cui Miguel De Icaza, iniziatore del desktop Gnome, fondatore di Ximian (ora di Novell) e sviluppatore di Mono, l'implementazione OpenSource di .NET (la cui utilità è, IMHO, ancora opinabile e non dimostrata). XAML ha il potenziale di ridefinire il futuro del Web, e di creare un nuovo Web fatto di Web Applicazioni che potranno girare solo con Windows. Naturalmente la prospettiva di avere applicazioni Web che si usano meglio e che si integrano bene con il sistema, in maniera più intuitiva ed efficiente rispetto a quelle basate sull'HTML, è senz'altro preoccupante... Come dice Icaza, se una feature è semplice da usare, è disponibile al 90% degli utenti e migliora in maniera significativa l'esperienza dell'utente, questa verrà usata.

Ci sono alcune osservazioni da fare che mitigano il pericolo. Innanzitutto, Longhorn uscirà solo tra qualche anno, e si parla di requisiti di hardware e software spaventosi (un giga di ram e biprocessore tanto per gradire), tali da mettere fuori gioco gran parte dei PC odierni. Nessun dubbio che nel giro di qualche anno Microsoft Longhorn arriverà su gran parte dei desktop; ma per esempio Windows XP ci ha messo 2,5 anni per arrivare al 40% degli utenti. Quindi c'è tempo... ma non così tanto.

Questo se XAML sarà Longhorn specifico almeno. Ma probabilmente ci sarà un rilascio di un Internet Explorer 7 o un upgrade per usare XAML anche con le versioni meno recenti di Windows (anche se dubito per versioni anteriori a Windows 2000).

Sicuramente si potrà reimplementare un clone con tecnologie OpenSource, estendendo Mozilla per supportare XAML. Ma putroppo c'è anche un'altra minaccia all'orizzonte. I BREVETTI SOFTWARE! Microsoft sta brevettando tutto quello che può di Longhorn al ritmo di 10 brevetti al giorno. Con il risultato che TENTERA' CERTAMENTE di dissuadere, con gli avvocati, la diffusione di implementazioni alternative delle sue tecnologie. Sarà sufficiente un dettaglio, magari trascurabile, di cui ha ottenuto un brevetto valido, per impedire che ci possa essere un browser XAML compatibile in circolazione.

Conclusioni

Microsoft in questo periodo non produce molti nuovi prodotti, ma sta concentrando tutte le sue energie nel tirare fuori una nuova versione di Windows piena di tecnologie innovative e restrittive, come il DRM, spostando lo sviluppo obbligatoriamente sulla sua piattaforma "managed", .NET, sostituendo il Web con una sua versione estesa, sostituendo il suo file system con un database proprietario. E brevettando il tutto. Mai prima di allora si era concentrata su più fronti come questa volta, e per di più cercando di chiudersi a riccio in quel sistema Windows che è sempre, e ancora di più, un mainframe.

Ma i giganteschi e integrati prodotti di IBM di una volta sono stati sconfitti dall'avanzata dei piccoli pc, prima isolati e poi collegati in rete. La storia può ripetersi con una avanzata di piccoli e medi dispositivi dedicati, dotati del pinguino, ed estremamente specializzati, come erano i primi PC. E per quanto Microsoft si impegni a rendere il suo sistema più integrato... potrebbe diventare troppo complesso, ed essere rifiutato dal mercato. E' successo ad IBM. Potrebbe succedere anche a Microsoft.

Personalmente io non credo che Microsoft perderà mai il predominio del desktop - ma credo che sarà il desktop a perdere il predominio nel mondo dell'informatica, sostituito da tanti dispositivi più piccoli, più specializzati e connessi in rete. Ma intanto bisogna rimanere svegli e guardinghi; se si vuole avere un'alternativa a Microsoft; o anche se si vuole, pur essendo utente Microsoft, di fruire dei benefici indotti dalla concorrenza di Linux; per esempio, sistemi più stabili.


Contatto: michele at sciabarra dot com