Verso il futuroIntroduzioneLe funzionalità fin qui considerate sono quelle che hanno fatto la storia di Internet, e hanno determinato la vera e propria esplosione di popolarità e interesse per la rete alla quale abbiamo assistito negli ultimi anni. Ma, mentre legioni di nuovi utenti si affacciavano ad esplorare le potenzialità della posta elettronica e dei newsgroup, del trasferimento dei file e del World Wide Web, l'evoluzione tecnica di Internet proseguiva. Va detto anzi che proprio l'enorme diffusione raggiunta dalla rete, e la presa di coscienza da parte dell'industria informatica (e non solo) delle sue grandi potenzialità, hanno favorito negli ultimissimi mesi una evoluzione tecnica a tappe particolarmente accelerate. L'abbiamo visto a proposito di telefonia e videotelefonia in rete, due tecnologie che faranno certamente parte dello sviluppo futuro di Internet. Ma altri sviluppi, in un certo senso meno 'familiari', sono alle porte. Solo un anno fa, un utente 'casalingo' di Internet disponeva probabilmente di un accesso a caratteri, e i fortunati che potevano navigare attraverso World Wide Web dovevano accontentarsi di pagine piuttosto spartane: niente animazioni, niente sfondi, niente tabelle, caratteri di dimensioni prefissate. Oggi le limitazioni presenti nelle possibilità di formattazione grafica delle pagine informative immesse in rete cadono una dopo l'altra, avvicinandone sempre di più la preparazione a un vero e proprio lavoro editoriale. Dal punto di vista tecnico, questa evoluzione corrisponde allo sviluppo (non sempre lineare) di HTML, il linguaggio usato per creare tali pagine. Più si moltiplicano i dialetti e le versioni proprietarie di HTML, più ci si rende conto della necessità di una cornice comune nella quale inquadrarle e differenziarle correttamente. È difficile in questo campo fare previsioni, ma è probabile che SGML (Standard Generalized Mark-up Language), il linguaggio 'generale' che è stato storicamente alla base dello sviluppo di HTML, possa svolgere al riguardo una funzione importante in futuro, in particolare attraverso l'idea dei fogli di stile. Per questo abbiamo scelto di dedicare spazio anche a SGML, a differenza di quanto viene fatto dalla quasi totalità dei testi di introduzione a Internet disponibili. Accanto all'evoluzione tecnica degli strumenti esistenti, va rilevato poi - e si tratta dello sviluppo probabilmente più interessante - che funzionalità completamente nuove e spesso straordinariamente potenti si affacciano di settimana in settimana. Nessun manuale su Internet potrebbe dirsi ormai completo senza almeno qualche cenno a Java, il linguaggio di programmazione creato nei laboratori della Sun Microsystem, e a VRML, il linguaggio di modellazione per la realtà virtuale che permette l'inserimento su Internet, accanto alle pagine bidimensionali alle quali siamo abituati, anche di mondi tridimensionali navigabili, nei quali sarà presto possibile l'interazione con altri utenti. La nostra impressione è che Java a breve scadenza, VRML e le sue evoluzioni future in prospettiva, cambieranno profondamente il volto della rete. Abbiamo quindi scelto di parlarne abbastanza diffusamente, cercando di considerare in che modo un utente 'normale' di Internet può farne uso, e di fornire un orientamento di massima sugli strumenti software disponibili per esplorare questi campi realmente di frontiera. Se la rapidità nell'evoluzione della rete è tale da rendere velocemente obsoleta qualunque informazione e indicazione tecnica, questo si rivela particolarmente vero per gli argomenti toccati in questo capitolo; il lettore può farsene un'idea considerando che, nei cinque o sei mesi di lavoro su questo testo, abbiamo dovuto cambiare più volte - anche radicalmente - l'impostazione di queste pagine, e riscrivere integralmente diversi paragrafi. Raccomandiamo quindi al lettore, in particolare per quanto riguarda i temi qui affrontati, di far ricorso anche agli aggiornamenti del manuale disponibili su Internet. La realtà virtuale in reteLo schermo del computer è piatto, bidimensionale. A un livello immediato, quindi, anche l'informazione che ci viene proposta attraverso lo schermo del computer è bidimensionale. Se consideriamo più da vicino il nostro modo di utilizzare questa informazione, tuttavia, noteremo delle differenze rilevanti che hanno a che fare, in qualche modo, con le tre dimensioni spaziali. Un testo scritto, visualizzato in maniera sequenziale (come accade ad esempio utilizzando il comando 'type' del DOS), può essere considerato come lineare. Naturalmente, il fatto di averne sullo schermo una certa porzione consente di 'saltare' con gli occhi da un punto all'altro dello scritto - così come accade davanti alla pagina di un libro stampato - ma la caratteristica di base resta quella della linearità. Fino a pochi anni fa, questa linearità corrispondeva anche alla inevitabile sequenzialità delle operazioni svolte dal computer: richiedendo la visualizzazione di un testo, non potevamo compiere contemporaneamente altre operazioni. La situazione cambia se utilizziamo un programma di videoscrittura che inserisca il testo scritto in un 'ambiente' grafico del quale facciano parte bottoni, menu, e magari più finestre di visualizzazione: anche se il testo resta lineare, il nostro ambiente di lavoro è diventato pienamente bidimensionale, e ci fornisce informazioni (e possibilità operative) che travalicano il semplice testo visualizzato. Un ipertesto, alcuni passi del quale rimandino a porzioni diverse dello stesso testo, o a testi diversi, o addirittura (ipermedia) a informazioni di natura non testuale (ad esempio a immagini, o a documenti sonori) sembra poi possedere, in qualche forma, una propria 'profondità'. Possiamo quasi pensare a un testo tridimensionale. Ma l'ambiente di lavoro nel quale lavoriamo resta bidimensionale, i salti attraverso la 'terza dimensione' dell'ipertesto vengono percepiti un po' come se fossero i balzi nell'iperspazio in un romanzo di fantascienza: si passa istantaneamente 'attraverso' qualcosa che non ha altra realtà se non quella di un costrutto teorico, utile a spiegare come mai da un determinato ambiente siamo passati a un altro. La tridimensionalità di un ipertesto non è spaziale ma concettuale. Prendiamo invece un esempio del tutto diverso: un gioco come Doom, nel quale il giocatore si muove in un ambiente effettivamente tridimensionale. Le porte si aprono, si attraversano per passare da una stanza all'altra, ci sono scale da salire o da scendere, oggetti da prendere o da spostare, e i rapporti di vicinanza e lontananza da un oggetto, da una parete, o magari da un pericoloso nemico armato sono parte integrante del meccanismo del gioco. Certo, l'ambiente tridimensionale è visto attraverso uno schermo bidimensionale, come accade ad esempio nel caso di un film. Però la tridimensionalità è effettiva, non ci sono salti improvvisi da un ambiente all'altro ma spostamenti progressivi e realistici. Con l'aiuto di un casco per la realtà virtuale, capace di ingannare il nostro cervello fornendo una impressione di tridimensionalità ancora maggiore, possiamo cercare non solo di osservare un ambiente dall'esterno, ma di immergerci al suo interno. Cosa c'entra tutto questo con Internet? Inizialmente, la rete permetteva soprattutto lo scambio di informazioni lineari: un messaggio di posta elettronica, un file di testo. I browser dell'ultima generazione e World Wide Web hanno portato sia la piena bidimensionalità dell'interfaccia grafica, sia la 'tridimensionalità ipertestuale', la capacità di muoversi attraverso l'informazione non solo in maniera lineare ma anche 'in profondità'. Il continuo uso di metafore spaziali ('muoversi', 'navigare', 'andare' a un determinato indirizzo, 'raggiungere' un certo sito...) dimostra abbastanza chiaramente che la nostra percezione delle relazioni istituite sia all'interno delle informazioni presenti in rete, sia fra noi e una o più risorse informative, è almeno in parte di tipo spaziale. Il ciberspazio, insomma, è qualcosa di più di una metafora: attraverso Internet abbiamo effettivamente costruito un universo informativo che viene impostato, percepito e fruito come uno spazio - anche se si è trattato finora soprattutto di uno spazio concettuale. Il passo verso la frontiera successiva - la realtà virtuale in rete - è dunque un passo naturale. Se si riuscisse a compierlo, un museo o una esposizione su Internet potrebbero essere realizzati - anziché per mezzo di una serie di pagine informative interrelate attraverso legami ipertestuali - costruendo un edificio tridimensionale 'virtuale' da visitare nel modo familiare, ma la cui topologia possa variare su indicazione degli utenti, permettendo a richiesta di 'avvicinare' ad esempio la sala dedicata all'arte preistorica a quella dedicata agli artisti contemporanei che ne riprendono temi e stilemi. Una biblioteca in rete potrebbe essere rappresentata, anziché da una lista di titoli elencati su una pagina, da una stanza scaffalata, nella quale i singoli testi sono rappresentati da volumi di dimensioni e aspetto diversi. Uno studente di fisica o di chimica potrebbe navigare attraverso rappresentazioni tridimensionali di atomi e molecole, anziché trovarne semplicemente la formula scritta. E 'ambienti' tridimensionali di questo tipo potrebbero essere visitati contemporaneamente da più persone, fisicamente lontanissime ma virtualmente vicine, capaci di vedersi l'un l'altra e di interagire. Si tratta di prospettive che possono lasciare interdetti, e anche suscitare un certo sgomento. Stiamo forse costruendo un elaborato sogno - o incubo - collettivo da sostituire alla realtà? È assai difficile dare una risposta univoca a questi interrogativi e a queste preoccupazioni. Da parte nostra, non crediamo - come alcuni fra i 'guru' delle nuove tecnologie tendono sicuramente a fare - che l'indubbio fascino intellettuale e immaginativo delle applicazioni più avanzate in questi campi tecnologicamente di punta ne garantisca da solo la desiderabilità sociale. Siamo però convinti che il rifiuto aprioristico sia la scelta più erronea: la costruzione del ciberspazio - che con le applicazioni di realtà virtuale oggi possibili su Internet muove solo i primi passi - è effettivamente la costruzione di un nuovo mondo, che come quello reale avrà probabilmente volti meravigliosi e volti inquietanti o terribili. Conoscere quello che viene fatto in quest'ambito - anche per indirizzare la riflessione e la ricerca nelle direzioni ritenute più opportune - non è dunque una pura esercitazione intellettuale. VRMLLe prime applicazioni di realtà virtuale in rete sono state costruite utilizzando VRML (Virtual Reality Modelling Language), il linguaggio di modellazione per la realtà virtuale ideato da Mark Pesce, Tony Parisi e Dave Raggett e promosso dalla Silicon Graphics, una delle massime industrie nel campo della grafica computerizzata. L'idea di base è ambiziosa: creare in rete ambienti tridimensionali ai quali sia possibile collegarsi così come ci si collega a una normale pagina informativa su World Wide Web; ambienti che possano essere 'navigati' in maniera analoga a quanto accade in videogiochi 3D tipo Doom, nei quali sia possibile visualizzare gli altri utenti collegati insieme a noi e interagire con loro, e in cui, al posto dei legami ipertestuali realizzati rendendo attive zone di testo, vi siano legami ipermediali realizzati rendendo attivi oggetti della scena. Naturalmente, gli ideatori del progetto sapevano bene che trasmettere attraverso la rete immagini di ambienti tridimensionali, aggiornate secondo dopo secondo così come richiesto dalla necessità di rendere fluido e naturale il movimento, costituiva un compito lontanissimo dalle possibilità attuali di Internet. La soluzione adottata per ovviare al problema è semplice: trasferire non già immagini ma descrizioni dell'ambiente e degli oggetti che vi si trovano, lasciando al programma client, installato sul computer del singolo utente, il compito di tradurre queste descrizioni in immagini tridimensionali, in maniera non troppo dissimile da quanto fa ad esempio Netscape quando visualizza una pagina HTML sulla base delle indicazioni fornite dai codici di marcatura. Perché il programma client possa correttamente interpretare le descrizioni dell'ambiente, queste devono evidentemente essere scritte in un linguaggio standard - ed è qui che entra in gioco VRML. In parte basato su Open Inventor, un linguaggio di descrizione grafica che era stato elaborato dalla Silicon Graphics, VRML comprende istruzioni per descrivere un certo numero di oggetti-base (ad esempio cubi, sfere, piramidi), la loro posizione rispetto agli assi cartesiani, posizione e intensità delle fonti luminose che li illuminano, caratteristiche di opacità o trasparenza delle superfici, e così via. A differenza di HTML, VRML non è dunque un linguaggio di marcatura (nonostante la sigla VRML sia nata come acronimo di Virtual Reality Mark-up Language), giacché non c'è nulla di simile al testo base che viene 'marcato' in HTML, ma un vero e proprio linguaggio di descrizione (per questo 'Modelling' ha sostituito 'Mark-up' nell'acronimo che scioglie la sigla). Naturalmente, tuttavia, VRML comprende le istruzioni di base per rendere 'attivi' gli oggetti che si desidera collegare ad altre risorse informative in rete (siano esse pagine HTML, altri mondi VRML, file sonori, immagini, testi...). E la sintassi di queste istruzioni è assai simile a quella delle istruzioni corrispondenti in HTML. La prima versione di VRML (VRML 1.0) è stata sviluppata fra fine 1994 e inizio 1995; tuttavia, la sua stesura definitiva "with clarifications" è del gennaio 1996. Naturalmente la si può trovare in rete, alla URL http://vag.vrml.org/vrml10c.html. VRML 1.0 rinunciava ancora, programmaticamente, a implementare istruzioni per la visualizzazione contemporanea dei frequentatori di uno stesso mondo in realtà virtuale e per l'interazione fra loro. Inoltre, gli oggetti che costituivano un mondo dovevano essere necessariamente statici, e se negli ambienti creati erano previste fonti luminose, non erano tuttavia previste fonti sonore. Il lavoro per superare queste limitazioni, e per favorire l'interazione fra VRML e Java, costituisce attualmente lo sforzo maggiore della comunità impegnata nello sviluppo di VRML. Comunità che si è recentemente organizzata dando vita a una apposita organizzazione (VAG: VRML Architecture Group) con il compito principale di preparare la versione 2.0 del linguaggio. Nel frattempo, l'interesse verso VRML è esploso: è entrata in campo anche la Microsoft, che ha avanzato una propria proposta di standard denominata 'Active VRML'. Silicon Graphics - come si è accennato fra le prime a sostenere il progetto - ha replicato con una proposta denominata 'Moving Worlds', frutto di un team di sviluppo al quale ha partecipato anche la Sony. A tale proposta hanno aderito fra l'altro Sun e Netscape corporation. In questa situazione estremamente fluida, il VRML Architecture Group ha preferito ritirare nel febbraio 1996 una proposta di standard 'intermedio', VRML 1.1, che era stata avanzata il mese prima. Anche se VRML 1.1 non ha mai visto ufficialmente la luce, alcune delle sue innovazioni (fra cui la possibilità di situare nell'ambiente fonti sonore) fanno parte delle proposte per lo standard 2.0. Quanto a VRML 2.0, in seguito a un ampio sondaggio il VRML Architecture Group ha deciso di adottare la maggior parte delle proposte che costituiscono l'ossatura dello standard 'Moving Worlds', rifiutando invece le proposte Microsoft: come nel caso di Java, del quale parleremo fra poco, il colosso dell'informatica guidato da Bill Gates sembra faticare non poco nella scelta delle mosse da effettuare nel campo di battaglia rappresentato da Internet e dalle sue tecnologie. Un primo draft di VRML 2.0 è uscito a fine marzo 1996, e una versione semi-definitiva è attesa per luglio. Fra gli aspetti innovativi di VRML 2.0 la possibilità di aggiungere effetti e sfondi alla scena (ad esempio nebbia, terreni irregolari, e così via), di inserirvi fonti sonore (un telefono può suonare, un oggetto che cade può fare rumore), di tener conto del passare del tempo (avvenimenti possono accadere a intervalli regolari), di interagire con gli oggetti (non sarà più possibile attraversare i muri, come accadeva in VRML 1.0), di inserire oggetti 'animati' (realizzati tecnicamente accompagnando alla descrizione dell'oggetto uno script, cioè un breve programma che ne descrive i movimenti o le azioni). I più tecnicamente esperti fra i nostri lettori saranno interessati a sapere che quest'ultima caratteristica di VRML 2.0 viene resa possibile da una integrazione con Java, e che è prevista anche la programmazione prototipale (il che vuol dire che sarà possibile creare mondi o oggetti 'generici' da riutilizzare per creare mondi o oggetti 'specifici' diversi). I complessi problemi collegati all'interazione diretta fra più utenti collegati allo stesso mondo non sono invece per ora affrontati da VRML 2.0. La realtà virtuale in rete ha dunque spazio aperto per nuovi sviluppi - fra i quali sicuramente anche la sperimentazione di interfacce più 'immersive' di quanto non possa essere lo schermo di un monitor. I client 3DCome si è detto, per poter visualizzare un mondo VRML e navigare al suo interno è richiesto un programma client specifico, capace di interpretare la descrizione del mondo ricevuta attraverso Internet, di visualizzare l'ambiente tridimensionale, di aggiornare lo schermo in tempo reale in corrispondenza dei movimenti dell'osservatore (guidati dal mouse o dalla tastiera), e di reagire correttamente alla attivazione da parte dell'utente di collegamenti ipermediali. Inizialmente limitata a pochi prodotti (fra i quali vanno menzionati almeno Webspace, della Silicon Graphics - il primo 'vero' client VRML - e WorldView, della InterVista Software, il primo disponibile per il grande pubblico, in una versione per Microsoft Windows), l'arena dei browser VRML acquista nuovi contendenti con un ritmo impressionante. In questa sede presenteremo brevemente Live 3D, il client adottato dalla Netscape corporation, che al momento in cui scriviamo rappresenta probabilmente lo strumento di navigazione più diffuso (e più avanzato, considerando che è in grado di gestire correttamente molte fra le specifiche proposte per VRML 2.0). Va tuttavia tenuto d'occhio anche un interessante nuovo prodotto, WIRL, sviluppato dalla Vream, che offre una grande fluidità di movimento e si presenta anch'esso come plug-in per Netscape. Infine, chi utilizza come browser per World Wide Web l'Internet Explorer della Microsoft troverà nella versione 3.0 del programma, al posto del plug-in VRML offerto dalla versione 2.0, il supporto integrato per Active VRML.
Quanto agli utenti di Macintosh, rimasti un po' marginali rispetto allo sviluppo di programmi per il mondo VRML, in attesa della annunciata versione Mac di Live 3D (che dovrebbe comunque essere disponibile nel momento in cui leggete queste pagine, integrata in Netscape Navigator Atlas per Mac) possono utilizzare Virtus Voyager.
Live 3DInizialmente sviluppato dalla Paper inc. con il nome di Web FX, questo programma ha rappresentato un enorme passo avanti in termini di velocità di visualizzazione e fluidità del movimento rispetto ai primi prodotti disponibili. Nel febbraio 1996 la Paper inc. è stata acquisita dalla Netscape, che ha ribattezzato il prodotto con il nome attuale di Live 3D e lo ha incorporato nell'ultima versione del suo browser, Netscape Atlas. Il programma adotta lo standard Moving Worlds che, come si è accennato, è alla base di VRML 2.0, e permette dunque già adesso di visualizzare mondi in realtà virtuale con caratteristiche assai avanzate, quali l'inserimento di fonti sonore o l'integrazione con programmi Java. Live 3D è facilissimo da usare: arriva insieme a Netscape Atlas, si configura da solo al momento dell'installazione, e partirà automaticamente in tutti i casi in cui l'indirizzo fornito a Netscape corrisponde a un mondo VRML, utilizzando la stessa finestra di Netscape per visualizzare il mondo tridimensionale. Nell'immagine qui sotto vediamo un esempio; si tratta della biblioteca sperimentale in 3D del progetto Manuzio, uno dei primi siti italiani a utilizzare VRML: potete arrivarci partendo dalla URL http://www.liberliber.it.
Come si vede dall'immagine, alla normale pulsantiera di Netscape si aggiungono, in basso, cinque nuovi pulsanti. I primi tre servono a cambiare il modo di navigazione nello spazio tridimensionale: 'Walk' permette di camminare orizzontalmente, 'Fly' di muoversi anche sull'asse verticale, 'Point' di muoversi in linea retta verso l'oggetto sul quale si fa click col mouse. Vi è poi un pulsante di aiuto, mentre 'Reset' permette di tornare a guardare il mondo partendo dal punto iniziale. Il movimento avviene sempre attraverso il tasto sinistro del mouse o attraverso i tasti cursore. Il tasto destro del mouse ha invece l'importante funzione di 'afferrare' gli oggetti tridimensionali che compongono un mondo e (tenendo premuto il tasto mentre si muove il mouse) di ruotarli. VRML 1.0 permette questa azione solo sul mondo nel suo insieme, ma le versioni successive del linguaggio dovrebbero permettere la manipolazione di singoli oggetti. La figura 56 fornisce invece un esempio di quello che si può fare utilizzando VRML 2.0: si tratta del mondo denominato 'VRML Fighter', sviluppato dalla Netscape. I due contendenti che vedete combattere sono oggetti VRML, animati e controllati da un programma Java. Via tastiera, l'utente potrà dar loro indicazioni su come muoversi: il programma Java si occuperà di reagire correttamente alle istruzioni. Naturalmente l'ambiente visualizzato è tridimensionale, e l'utente può muoversi liberamente al suo interno. Inoltre, suoni accompagnano le varie fasi dell'azione.
Questioni di stileWorld Wide Web è nato come sistema per la distribuzione di documenti e informazioni su rete geografica. Quando è stato concepito, agli inizi degli anni '90, doveva rispondere alle esigenze di una comunità molto ristretta, fortemente legata al mondo della ricerca scientifica, e scarsamente preoccupata degli aspetti qualitativi nella presentazione dell'informazione. Lo sviluppo di Internet naturalmente ha allargato notevolmente lo spettro dei fornitori di informazione. Oggi World Wide Web può essere considerato come un vero e proprio sistema di editoria elettronica on-line. Naturalmente questa evoluzione ha evidenziato molte esigenze che non erano previste nel progetto originale, ed ha stimolato una serie di revisioni e di innovazioni nei protocolli e negli standard tecnologici di World Wide Web. Queste revisioni vengono gestite attualmente da una organizzazione in cui confluiscono rappresentanti di enti di ricerca internazionali e di imprese interessate nello sviluppo di sistemi informativi su Internet, il W3 Consortium. Uno dei problemi su cui si è maggiormente incentrata l'attenzione è lo sviluppo della capacità di gestione e controllo dei documenti multimediali e dei testi elettronici su Web, e il potenziamento del linguaggio utilizzato su Web per la descrizione dei documenti elettronici. HTML, nella sua prima versione, non prevedeva la possibilità di rappresentare fenomeni testuali complessi. I raffinamenti successivi, accogliendo le sollecitazioni provenienti da una comunità di utenti sempre più vasta e variegata, hanno progressivamente introdotto elementi dedicati al controllo formale del testo. La versione più recente del linguaggio, denominata HTML 3 (che al momento in cui scriviamo si trova ancora in fase di definizione), pur potenziando il carattere strutturato tipico delle applicazioni SGML, contiene molte istruzioni dedicate alla formattazione dei documenti elettronici. Mentre i centri di ricerca lavoravano alla definizione di HTML 3, tuttavia, l'esplosione del fenomeno Internet, e la diffusa richiesta di strumenti capaci di rendere spettacolari (più che documentalmente ben strutturate) le pagine Web, hanno indotto le industrie produttrici di browser, e in particolare Netscape e Microsoft, ad introdurre una serie di estensioni individuali allo standard. La speranza (nel caso di Netscape, coronata da un certo successo) era anche quella di conquistare una posizione di monopolio di fatto nel mercato, dato che le estensioni introdotte da una determinata industria erano, almeno in prima istanza, riconosciute e interpretate correttamente solo dal relativo browser proprietario. La situazione attuale vede dunque la presenza di uno standard ufficiale definitivo ma già invecchiato, di un nuovo standard in fase di definizione (da troppo tempo), e soprattutto di una serie di dialetti specifici corrispondenti alle proposte delle varie case produttrici di browser: una vera e propria balcanizzazione di World Wide Web. La scelta di introdurre nuovi comandi o marcatori per ogni effetto grafico che si vuole ottenere, inoltre, porta ad una rapida esplosione del numero dei marcatori, col rischio di introdurre inconsistenze formali nella definizione del linguaggio. A tutto questo si aggiunge la recente introduzione dei plug-in, che permettono di distribuire documenti in formati proprietari, ma contribuiscono all'incremento della confusione e limitano tecnicamente la universalità di accesso all'informazione che aveva caratterizzato il progetto iniziale di World Wide Web. Le tendenze per il futuro immediato sono dunque alquanto confuse. In questa confusione emergono però alcune proposte di ritorno all'ordine che sono molto interessanti. La prima, che viene portata avanti dal W3 Consortium, affronta proprio i problemi della presentazione grafica dei documenti sulla rete, introducendo l'uso dei fogli di stile. Questo progetto è in una fase di definizione molto avanzata, e già esistono diversi documenti ufficiali ed alcune implementazioni prototipali del meccanismo. La versione 3 di Microsoft Internet Explorer sembra indirizzarsi verso un meccanismo di questo tipo, anche se il rischio che ciò venga fatto ricorrendo nuovamente a standard proprietari è tutt'altro che remoto. Una seconda proposta, che per il momento è soltanto tale, prevede invece una generalizzazione del supporto su Web ai linguaggi SGML (Standard Generalized Markup Language). L'idea è molto semplice: HTML è una particolare applicazione SGML, che risponde a talune esigenze ma non a tutte; perché non potenziare i protocolli Web per consentire ai fornitori di scegliere anche altre applicazioni SGML, generalizzando le capacità di interpretazione degli attuali Web browser? I prossimi paragrafi di questo manuale cercheranno di fornire una breve introduzione a queste due novità, che potrebbero caratterizzare lo sviluppo di World Wide Web in un futuro prossimo, e di spiegare in termini non eccessivamente complessi cosa sono i fogli di stile e cos'è SGML. I fogli di stileL'idea di utilizzare i fogli di stile è stata avanzata al fine di consentire un più forte controllo da parte di autori e lettori sulla formattazione dei documenti elettronici, senza smantellare la consistenza dello HTML e la sua potenza nella rappresentazione della struttura logica del contenuto. A partire dal 1994 il W3 Consortium ha assunto questa tecnologia tra i suoi standard ufficiali, iniziando a valutare le varie proposte. Il concetto di foglio di stile è stato sviluppato nell'ambito delle tecnologie di word processing e desktop publishing. Fondamentalmente si tratta di separare il contenuto di un documento dalle informazioni relative alle caratteristiche grafiche e di formattazione. Per fare questo è necessario suddividere il testo in blocchi etichettati ed associare poi ad ognuno uno specifico stile, che determina il modo in cui quel particolare blocco di testo viene impaginato sul video o stampato su carta. Ad esempio, ad un titolo di capitolo può essere associato uno stile diverso da quello assegnato a un titolo di paragrafo o al corpo del testo (lo stile 'titolo di capitolo' potrebbe prevedere, poniamo, un carattere di maggiori dimensioni e in grassetto, la centratura, un salto di tre righe prima dell'inizio del blocco di testo successivo; a un blocco di testo citato potrebbe invece essere assegnato uno stile che prevede un corpo lievemente minore rispetto al testo normale, e dei margini maggiori a sinistra e a destra per poterlo 'centrare' nella pagina). Per chi usa un moderno programma di scrittura come Microsoft Word o Wordperfect questo processo, almeno al livello di superficie, dovrebbe risultare alquanto familiare. I fogli di stile facilitano la formattazione dei documenti, permettono di uniformare lo stile di diversi testi dello stesso tipo, ed al contempo di cambiare le caratteristiche formali di uno o più documenti senza effettuare centinaia di modifiche locali. Se, ad esempio, una casa editrice decide di cambiare il corpo tipografico dei titoli di capitolo nelle sue pubblicazioni, sarà sufficiente modificare il foglio di stile per quella porzione di testo, ed automaticamente tutti i testi erediteranno la nuova impostazione grafica. Il meccanismo dei fogli di stile si presta facilmente ad essere applicato ai documenti in formato HTML (e in generale ad ogni documento codificato con linguaggi SGML). Un documento di questo tipo, infatti, si basa proprio sulla descrizione strutturale degli elementi attraverso i marcatori. È sufficiente dunque definire una notazione che permetta di associare ad ogni marcatore uno stile. Naturalmente è poi necessario che il browser sia in grado di interpretare questa notazione, e di applicare le relative istruzioni di formattazione. Due linguaggi sono attualmente al centro dell'interesse per la definizione di fogli di stile da associare ai file HTML: il Document Style Semantics and Specification Language (DSSSL) e il Cascading Style Sheets (CSS). Una trattazione approfondita di questi due linguaggi esula dagli scopi del presente manuale. In breve possiamo dire che il DSSSL è un linguaggio sviluppato specificamente per la definizione di fogli stile da associare a documenti in formato SGML. Si tratta di uno standard approvato dalla International Standardization Organization (ISO), ancora non ufficialmente rilasciato, ma tecnicamente quasi completo. Il DSSSL è un linguaggio molto potente, che può essere utilizzato per la formattazione di documenti SGML sia in ordine alla stampa su carta che alla presentazione su media elettronici. Purtroppo è anche estremamente complesso, ed usa una sintassi simile a quella del linguaggio di programmazione Scheme. Di conseguenza la sua implementazione comporta diversi problemi, e DSSSL sarebbe difficilmente utilizzabile senza degli editor interattivi. Per questa ragione ne è stato ricavato un sottoinsieme (denominato DSSSL Lite) che è destinato in modo specifico alla impaginazione di documenti elettronici. Il CSS invece è stato sviluppato direttamente dal W3 Consortium. Questo linguaggio, ideato da Håkon Lie alla fine del 1994, si trova attualmente in fase di revisione finale. Le specifiche sono state rilasciate come W3C Working Draft (bozze di lavoro del W3C) con il titolo Cascading Style Sheets, level 1, nel marzo 1996. Il CSS1 è, come recita il testo, "un semplice meccanismo che consente ad autori e lettori di attaccare stili (font, colori e spaziature) a documenti HTML. Il linguaggio CSS1 può essere letto e scritto anche da un normale utente, ed esprime gli stili nella comune terminologia del desktop publishing". Un'altra caratteristica del CSS, dalla quale deriva il nome, è la possibilità di sovrapporre stili in 'cascata'; in questo modo l'autore può definire una parte degli stili e il lettore altri. Per collegare un foglio di stile ad un documento HTML sono previsti diversi metodi: si può definire il foglio di stile in un file esterno, ed associarlo al file che contiene il documento HTML, oppure si possono inserire le direttive CSS direttamente all'interno del file HTML, usando l'istruzione speciale <STYLE>. Al momento attuale i Web browser che supportano fogli di stile CSS sono solo due: Arena, il browser sperimentale del W3C, ed un browser/editor sperimentale denominato Tamaya. Ma entro la fine del 1996 anche altri produttori di browser inseriranno nei loro prodotti il supporto per i fogli di stile, e il W3C ripone forti speranze che alla fine anche i due giganti Microsoft e Netscape aderiranno a questa scelta tecnologica, rinunciando alla loro corsa alla estensione dello HTML con inutili e confusionarie istruzioni proprietarie. SGML come linguaggio per l'editoria in reteLa diffusione di documenti elettronici su Internet e su World Wide Web potrebbe avere dei notevoli sviluppi con i progressi che si stanno verificando nel mondo delle applicazioni Standard Generalized Markup Language. Lo SGML, ideato e sviluppato da Charles Goldfarb, è lo standard ufficiale ISO per la creazione di documenti elettronici. La sua pubblicazione risale al 1986, ma solo ora questa potente tecnologia comincia a guadagnare consensi, e ad essere utilizzata per applicazioni concrete. Più che un linguaggio, lo SGML è un metalinguaggio. Esso fornisce precise regole sintattiche per definire un insieme di marcatori e di relazioni tra marcatori in una tabella, denominata Document Type Definition (DTD), ma non dice nulla per quanto riguarda la tipologia, la quantità e il nome dei marcatori. Questa astrazione, che permette di definire infiniti linguaggi di marcatura, costituisce il nucleo e la potenza dello SGML: in sostanza, SGML serve non già a marcare direttamente documenti, ma a costruire, rispettando standard comuni e rigorosi, specifici linguaggi di marcatura adatti per le varie esigenze particolari. Un linguaggio di marcatura SGML a sua volta descrive la struttura logica di un documento, e non prescrive la sua forma fisica (questo, come abbiamo visto, è il compito di un foglio di stile). La struttura astratta di un documento viene specificata dichiarando gli elementi che lo costituiscono, come titolo, paragrafo, nota, citazione, etc., e le relazioni che tra questi intercorrono. A ciascun elemento corrisponde un marcatore. Una volta definito un determinato linguaggio, è possibile utilizzare i marcatori per codificare il contenuto di documenti elettronici. Questo tipo di codifica dei testi elettronici, oltre alla sua potenza espressiva, offre una serie di vantaggi dal punto di vista del trattamento informatico. In primo luogo, poiché un file SGML può essere composto di soli caratteri ASCII, esso è facilmente portabile su ogni tipo di computer e di sistema operativo. Inoltre un testo codificato in formato SGML può essere utilizzato per scopi differenti (stampa su carta, presentazione multimediale, analisi tramite software specifici, elaborazione con database, creazione di corpus linguistici automatici), anche in tempi diversi, senza dovere pagare i costi di dolorose conversioni tra formati spesso incompatibili. Ed ancora, la codifica SGML permette di sviluppare strumenti di information retrieval infinitamente più potenti di quanto sia possibile su una base testuale di dati full-text non strutturata. Un linguaggio di marcatura che rispetti le specifiche SGML, e gli eventuali sistemi informativi ad esso collegati, vengono definiti una SGML application. E sicuramente la più diffusa in assoluto di queste applicazioni è proprio HTML, malgrado questo legame con SGML sia sconosciuto alla maggioranza dei suoi stessi utilizzatori. Ma esistono molte altre applicazioni SGML, alcune delle quali molto complesse. Pensate che alcune di queste applicazioni (come la Text Encoding Initiative, una DTD sviluppata dalla comunità internazionale degli studiosi di informatica umanistica) mettono a disposizione oltre cinquecento istruzioni di codifica. Per questa ragione è stato proposto di generalizzare il supporto su World Wide Web alla intera classe di formati SGML, anziché solo a HTML. Ogni editore elettronico potrebbe così utilizzare il set di istruzioni che maggiormente risponde alle sue esigenze o eventualmente scriverne di nuovi, senza attendere il rilascio di aggiornamenti ufficiali. Ad ogni formato SGML sarebbero associati uno o più fogli di stile che garantirebbero un esatto controllo della presentazione su video dei documenti pubblicati. La piena attuazione di questa proposta richiederebbe un vero e proprio ripensamento della attuale architettura della rete. Una soluzione intermedia per la pubblicazione di documenti SGML su Internet consiste nella utilizzazione di un browser SGML che funzioni come visualizzatore esterno appoggiandosi ad un normale Web browser. Uno strumento di questo tipo è stato rilasciato recentemente dalla SoftQuad. Si chiama Panorama, ed esiste in due versioni, entrambe per l'ambiente Windows: una freeware, con funzionalità limitate, ed una commerciale. Per fare in modo che il browser Web sia in grado di avviare Panorama quando riceve un file SGML da Internet, occorre configurarlo appositamente. Le informazioni relative al mime type da inserire nella finestra di configurazione delle 'Helper applications' sono le seguenti:
Il programma della SoftQuad è anche in grado di inviare delle richieste di file su Internet, ma, per il momento, solamente se viene utilizzato in coppia con Mosaic. In questo modo il documento SGML può contenere al suo interno dei link ad altri documenti, esattamente come un normale file HTML. L'interfaccia utente di Panorama si differenzia da quella di un consueto browser Web. La finestra principale è divisa in due aree. La parte sinistra può contenere un indice dei contenuti, o una rappresentazione ad albero della struttura del documento, la parte destra mostra il documento. Per passare da una visualizzazione all'altra si usano i comandi 'Contents' e 'SGML Tree' nel menu 'Navigator'. L'indice, detto navigatore, viene generato automaticamente dal programma usando i marcatori che identificano i titoli di vario livello presenti nel documento. Le voci dell'indice sono attive e permettono di saltare direttamente al capitolo o paragrafo selezionato. L'albero invece mostra i rapporti tra i vari elementi che costituiscono il documento. Anche in questo caso se si seleziona con il mouse un certo elemento, viene evidenziato il contenuto corrispondente nella finestra del testo.
Il testo, a sua volta, può essere visualizzato in due modalità:
Per passare da una modalità all'altra occorre selezionare o deselezionare il comando 'Show Tags' del menu 'Options'. La figura precedente mostra l'aspetto di un file SGML con i marcatori visibili. È possibile così vedere immediatamente che tipologia di codifica ha avuto ogni segmento del testo, ed usufruire delle informazioni strutturali veicolate dalla codifica. La figura 58 invece mostra la stessa porzione di file con il solo contenuto. Le parti di testo sottolineate, codificate con il tag 'XREF', sono dei link attivi.
L'impaginazione e la formattazione dei caratteri avviene attraverso l'associazione di un foglio di stile al file del documento. Il meccanismo dei fogli di stile di Panorama è funzionalmente simile a quello che abbiamo descritto nel paragrafo precedente, ma la sintassi è in un formato specifico. Ogni tipo di documento (DTD in terminologia SGML) può avere più fogli di stile associati. Se Panorama riceve un file per il quale ha uno o più fogli di stile, allora lo applica, altrimenti ne richiede uno al server remoto. Grazie alla codifica SGML, Panorama è dotato di strumenti di ricerca interna al file notevolmente più avanzati rispetto ai normali browser HTML. È possibile cercare le occorrenze di un dato elemento, oppure le occorrenze di una certa stringa di testo contenute solo all'interno di determinati elementi. La sintassi per effettuare le ricerche prevede l'uso di operatori logici (AND, OR) e di operatori di relazione (IN, CONT). Ad esempio, se vogliamo cercare tutte le occorrenze di "style" solo nei paragrafi del corpo del testo, occorre prima attivare la finestra di dialogo con il comando 'Search' nel menu 'Edit', e poi digitare quanto segue: style in <P> Come appare evidente, le potenzialità di questo programma sono veramente notevoli. Non possiamo in questa sede approfondire l'analisi di tutte le funzionalità, che del resto sono disponibili solo nella versione commerciale, anche perché sarebbe necessaria una conoscenza più approfondita delle caratteristiche dello SGML. Ma crediamo che questa veloce ricognizione di un prodotto peraltro assai 'giovane' permetta di affermare che la diffusione di tecnologie ed applicazioni SGML può costituire un vero e proprio punto di svolta per l'evoluzione della editoria elettronica e in particolare della editoria in rete. Documenti dinamici e piena interattività: il linguaggio JavaAttenzione: per questa
sezione è disponibile un L'introduzione di Java è stata probabilmente la più importante innovazione nell'universo della telematica in generale, e di Internet in particolare, dopo lo sviluppo di World Wide Web e Mosaic. Java, che prende il nome da una varietà di caffè prodotta nell'omonima isola, è un linguaggio di programmazione sviluppato dalla Sun Microsystem, una delle maggiori produttrici di sistemi Unix. La sua origine è molto singolare: questo linguaggio infatti venne sviluppato per essere incorporato nei microchip che governano gli elettrodomestici. Le caratteristiche che fanno di Java uno strumento rivoluzionario per Internet sono essenzialmente due: in primo luogo esso è un linguaggio di programmazione progettato appositamente per lo sviluppo di applicazioni distribuite. Questo significa che un programma scritto in Java può essere diviso in moduli distinti che possono essere installati su diversi computer e collaborare attraverso una rete telematica. In particolare Java integra in modo nativo i protocolli di rete TCP/IP, e dunque può essere usato senza difficoltà per creare applicazioni distribuite su Internet. In secondo luogo Java è un linguaggio di programmazione intrinsecamente multipiattaforma. Un programma scritto in Java può essere eseguito indifferentemente su ogni sistema operativo. A queste due caratteristiche fondamentali se ne aggiunge una terza che rende l'integrazione di Java con Internet ancora più profonda: un programma Java può essere inserito direttamente all'interno di una pagina Web. Queste versioni Web dei programmi Java si chiamano applet, e vengono incluse nei documenti Web attraverso uno speciale comando scritto con la classica sintassi HTML. Ogni volta che quel documento viene richiesto da un browser, l'applet viene inviato dal server insieme a tutti gli altri file multimediali: se il browser è in grado di interpretare il linguaggio, il programma viene eseguito. In questo modo le pagine Web possono animarsi, integrare suoni in tempo reale, visualizzare video ed animazioni, presentare grafici dinamici, trasformarsi virtualmente in ogni tipo di applicazione interattiva. Nei capitoli precedenti abbiamo visto come alcuni browser per World Wide Web siano in grado di visualizzare dei file con animazioni o con brani video. Netscape, attraverso la tecnologia dei plug-in, può ad esempio interpretare file Acrobat, disegni in formato Corel, video Quicktime e MPEG: ma i plug-in sono tutto sommato delle normali applicazioni che vanno prelevate (magari direttamente da Internet) e installate appositamente. Solo allora possono esser utilizzate. E deve essere l'utente a preoccuparsi di fare queste operazioni, con le relative difficoltà. Infine, i plug-in sono programmi compilati per un determinato sistema operativo (e per un determinato browser!), e non funzionano sulle altre piattaforme: un plug-in per Windows non può essere installato su un computer Mac. Con Java questi limiti vengono completamente superati. Infatti i programmi viaggiano attraverso la rete insieme ai contenuti. Se ad esempio qualcuno sviluppa un nuovo formato di codifica digitale per le immagini, e intende utilizzarlo per distribuire file grafici su World Wide Web, può scrivere un interprete per quel formato in Java, e distribuirlo insieme ai file stessi. In questo modo ogni browser dotato di interprete Java sarà in grado di mostrare i file nel nuovo formato. Inoltre lo stesso codice funzionerebbe nello stesso modo su ogni piattaforma per la quale esistesse un browser dotato di interprete Java. Ma questo meccanismo non permette solo di integrare in modo semplice ogni nuovo formato di file all'interno delle pagine Web. Un applet infatti è un programma vero e proprio, che può svolgere qualsiasi funzione. Un browser Java può dunque trasformarsi in ogni tipo di applicazione, anche le più complesse: front-end di database, wordprocessor, foglio di calcolo, programma di grafica, gioco multiutente. E, come si è visto, VRML 2.0 prevede l'integrazione di applet Java anche all'interno dei mondi tridimensionali, dove potranno dunque essere collocati dei veri e propri strumenti attivi, con i quali gli utenti potranno interagire. Le potenzialità di Java naturalmente non si limitano alla sua integrazione con Internet. Infatti Java è un linguaggio di programmazione molto evoluto, che come ogni altro linguaggio di programmazione può essere utilizzato per realizzare applicazioni. Dal punto di vista informatico, Java rientra fra i linguaggi orientati agli oggetti (object oriented): in questo tipo di programmazione, i programmi sono visti come società di oggetti, ognuno dotato di capacità particolari, che possono comunicare tra loro e scambiarsi dati; quando un oggetto ha bisogno di una certa operazione che non è capace di effettuare direttamente (ad esempio scrivere i risultati di un calcolo su un file), non deve fare altro che chiedere i servizi di un altro oggetto. Questo paradigma facilita molto l'attività di programmazione sia perché, in fondo, assomiglia abbastanza al nostro modo di rappresentare il mondo, sia perché permette di riutilizzare gli stessi oggetti in molte applicazioni diverse. Per poter essere utilizzato in rete, Java è inoltre dotato di potenti sistemi di sicurezza, che impediscono ad un programma di interagire direttamente con l'hardware sottostante: in questo modo, dovrebbe essere limitata la possibilità di scrivere e diffondere attraverso la rete virus pericolosi. Si tratta infine di un linguaggio relativamente semplice da utilizzare, almeno in rapporto ai linguaggi di programmazione tradizionali. I browser Java: HotJava e NetscapePer il momento i browser Web che integrano un interprete Java sono due: Netscape Navigator e HotJava. Ma probabilmente anche la prossima versione di Internet Explorer avrà il supporto per il linguaggio di programmazione della Sun, sebbene la Microsoft abbia già cominciato a sviluppare un suo progetto, simile ma basato sul linguaggio Visual Basic (e dunque legato a filo doppio alla piattaforma Windows). È importante ricordare che esistono due versioni del linguaggio Java, e che gli applet sviluppati con la prima non funzionano con gli interpreti dell'altra, e viceversa. Una è la versione alfa 3, la prima ad essere stata rilasciata ufficialmente. L'altra è la versione 1 definitiva, compatibile con quella che fino a pochissimo tempo fa era ancora la versione beta 1. Netscape Navigator include un interprete per Java 1, su tutte le piattaforme. Nel marzo 1996 è uscita anche la versione per Macintosh, che era stata ritardata a causa della mancanza in assoluto di un interprete Java per tale piattaforma. Il supporto Java di Netscape è abbastanza buono, ma soffre ancora di problemi sul piano della stabilità e soprattutto su quello della efficienza di esecuzione (che è naturalmente indipendente dalla velocità di ricezione dell'applet). Per il momento gli applet presenti sulla rete sono utilizzati in massima parte nella realizzazione di animazioni; cominciano però a fare la loro comparsa anche applicazioni didattiche e commerciali. Nella figura 59 vediamo un esempio assai semplice di applet Java in una finestra Netscape. Si tratta di un piccolo simulatore balistico, che permette di scegliere dei parametri ambientali (angolazione, velocità, etc.) per trovare la traiettoria giusta per colpire un bersaglio.
Netscape permette anche di disabilitare l'interprete, agendo su una casella apposita nella finestra di dialogo richiamata con il comando 'Security Options' nel menu 'Options'. Può essere utile per velocizzare la navigazione o - se si è particolarmente timorosi - per evitare ogni problema di sicurezza (dopotutto, la tecnologia Java è ancora in fase sperimentale). Ricordiamo infine che Netscape ha introdotto nel suo Navigator, a partire dalla versione 2, anche un mini linguaggio di scripting, che ha una sintassi simile a quella di Java. Si chiama Java Script, e può essere usato per ottenere dei semplici effetti di animazione sulle pagine Web, ma è assolutamente più limitato rispetto al linguaggio Java vero e proprio. Il secondo Java browser del quale ci occupiamo, HotJava, è stato in realtà il primo a prevedere un pieno supporto per il linguaggio. Infatti si tratta del prototipo usato dalla Sun per sviluppare Java e per mostrare le sua potenzialità. Ma, per il momento, è rimasto un prototipo, in grado di interpretare solo gli applet realizzati con la versione alfa 3 di Java. Esiste in due versioni: una per la piattaforma Unix della Sun, il Solaris, ed un'altra per Windows 95 e Windows NT. Sono entrambe liberamente prelevabili all'indirizzo http://java.sun.com (dove si trovano anche i kit di sviluppo e la documentazione completa relativa al linguaggio). Sebbene non abbia i requisiti necessari a proporsi come browser per un uso a regime, HotJava presenta delle caratteristiche tecnologiche veramente innovative. Infatti a differenza di Netscape, che interpreta di volta in volta il codice Java che riceve dalla rete, e poi lo cancella, HotJava è in grado di evolversi in modo dinamico.
Questa flessibilità è dovuta al fatto che il browser è stato implementato a sua volta in Java, e dunque può integrare i moduli di programma in modo permanente. Se un programmatore sviluppa una applicazione di rete che si basa su un protocollo completamente nuovo, HotJava può imparare a manipolare il nuovo protocollo automodificandosi, mentre i normali browser (ed anche Netscape, per il momento, visto il modo in cui è implementato il supporto Java) debbono essere ricompilati dal produttore. Non è chiaro se la Sun intenda procedere nello sviluppo di questo software, o se preferisca sfruttare i proventi che gli arrivano per le royalties pagate da terze parti. Ma senza dubbio l'architettura aperta di HotJava rappresenta il migliore modello tecnologico per i browser del futuro. L'ultima rivoluzione informatica: dal personal computing al network computingLa potenza e le caratteristiche di un linguaggio di programmazione come Java hanno determinato una grande attenzione attorno a questa tecnologia. Tale attenzione è testimoniata dalla rapidità con la quale Java è diventato uno standard di fatto, adottato da tutto il mondo dell'informatica che ruota attorno ad Internet: Netscape ha aperto la strada, integrando per prima la tecnologia Java in un browser di larga diffusione, ma anche Microsoft, dopo aver acquisito anch'essa i diritti dalla Sun, è ormai in campo. Inoltre, sebbene gli strumenti di base per sviluppare applicazioni Java siano stati rilasciati gratuitamente dalla Sun, le più importanti industrie produttrici di ambienti di programmazione (fra le altre Borland e Symantec) sono impegnate nella realizzazione di tool 'amichevoli' di sviluppo per Java. E le prossime versioni di server Netscape integreranno anch'esse compilatori Java. Ma l'introduzione di Java avrà secondo alcuni analisti conseguenze ancora più profonde, determinando una vera e propria rivoluzione nell'informatica: il passaggio dal personal computing al network computing. L'introduzione dei personal computer, che risale ai primi anni '80, fu un fatto rivoluzionario. Le macchine informatiche - fino ad allora appannaggio dei centri di calcolo militari, universitari e delle grandi imprese - arrivarono prima sulle scrivanie degli uffici e poi nelle case, trasformando il modo di lavorare, di studiare, di giocare. Da allora la potenza dei personal computer è cresciuta con ritmi esponenziali, ed oggi un desktop casalingo supera la potenza di calcolo dei mainframe di venti anni fa, che erano grandi come un appartamento. Questa crescita nella potenza di calcolo è legata strettamente alla crescita di complessità e potenzialità dei sistemi operativi e dei programmi applicativi, sempre più affamati di risorse, di memoria, di velocità. La diffusione di Internet, affiancata da un linguaggio come Java, potrebbe invertire proprio questa tendenza. Piuttosto che avere sul proprio disco rigido molti programmi complessi, ci si potrebbe collegare a potenti server in rete: questi ultimi offrirebbero i moduli di volta in volta necessari alle varie applicazioni, gran parte delle quali realizzate in Java. L'utente farebbe uso di queste 'applicazioni distribuite' solo per il tempo necessario, e pagherebbe il tempo di utilizzo. Naturalmente se le applicazioni e i programmi potessero essere distribuiti sulla rete anziché risiedere permanentemente sul disco fisso dell'utente, il computer di quest'ultimo potrebbe essere notevolmente alleggerito, e potrebbe trasformarsi in un semplice terminale intelligente, dotato di interfaccia per la connessione in rete ma senza sistema operativo (o con un sistema operativo molto semplificato). Servirebbero solo un potente browser e un interprete Java: il cuore di un cosiddetto network computer (o WebPC), con costi molto contenuti. Questa rivoluzione metterebbe in discussione l'attuale controllo del mercato da parte delle imprese leader nel settore dei sistemi operativi e dei microprocessori, Microsoft ed Intel. Una simile prospettiva ha naturalmente attirato l'attenzione di molte aziende, che hanno annunciato l'uscita a breve termine dei primi prototipi di network computer. Ma c'è anche chi rileva i lati negativi di una 'rivoluzione' di questo tipo, e i motivi per i quali la sostituzione dei personal computer con 'terminali di rete' potrebbe risultare tutt'altro che desiderabile. Infatti il personal computer è uno strumento polifunzionale, che in linea di principio permette a chiunque di avere un rapporto attivo con il mondo dell'informatica, e di utilizzare gli strumenti che desidera in modo creativo e personalizzato. Non solo: il computer è anche un potente strumento cognitivo, grazie al quale ognuno dispone, in teoria, dei mezzi adeguati per produrre sapere e informazioni. Lo stesso fenomeno Internet è un prodotto indiretto dell'era del personal computing. Il network computing invece tende a centralizzare la potenza di calcolo in grandi supercomputer, i quali determinano il tipo di applicazioni che ogni utente può usare, e il modo di usarle, diminuendo le potenzialità di utilizzo dei sistemi decentrati. Va detto, peraltro, che lo stato attuale delle infrastrutture della rete Internet non consentirebbe un'effettiva applicazione dei principi del network computing. Infine, proprio la disponibilità di risorse di memoria e di calcolo sempre più veloci, potenti ed economiche rende difficile ipotizzare un ritorno all'era dei 'terminali stupidi'. Nelle loro forme più estreme, queste due impostazioni sul futuro dell'informatica risultano a nostro avviso entrambe troppo fortemente influenzate dagli interessi in gioco. Proviamo ad azzardare una previsione: il personal computer non sarà affatto sostituito dai network computer, e non si trasformerà in un terminale 'depotenziato'. Al contrario, continuerà l'evoluzione verso una maggiore potenza di calcolo e capacità di memoria. Ma proprio questo personal computer, potente e flessibile, vivrà una sempre maggiore integrazione con l'ambiente informativo globale ed aperto di Internet. Applicazioni locali e applicazioni distribuite si integreranno sempre di più, con lo sviluppo di programmi net aware. Nel frattempo, tecnologie di rete che costituiranno una diretta evoluzione di quelle attualmente sperimentate su Internet si diffonderanno non solo per le connessioni a grande distanza, ma anche per reti locali, e potranno integrarsi in varie forme con la rete anche i 'computer di servizio' che costituiranno (e in parte già costituiscono) il cuore di moltissimi oggetti della vita quotidiana - dal televisore al telefono, dal fax all'impianto stereo. Sarà in casi come questi che sistemi operativi semplificati e non direttamente polifunzionali trarranno i massimi benefici dal network computing, e quindi anche dall'integrazione con i loro fratelli maggiori, i personal. I controlli Active X (nuova sezione)Attenzione: questa sezione
è stata ActiveX è una tecnologia sviluppata dalla Microsoft per introdurre su Web pagine dinamiche e applicazioni interattive. Può essere considerata come la risposta del gigante dellinformatica mondiale sia a Java che ai plug-in. Infatti ActiveX permette di incorporare allinterno delle pagine Web oggetti software attivi e di controllarne il comportamento e linterazione con il browser. Naturalmente il browser deve avere il supporto allarchitettura ActiveX per interpretare ed eseguire gli oggetti, denominati tecnicamente controlli (controls). Per il momento lunico browser dotato di queste capacità in modo nativo è Microsoft Explorer. Tuttavia anche Netscape Navigator può visualizzare pagine con controlli ActiveX, grazie ad un apposito plug-in, ScriptActive, sviluppato dalla Ncompass. ScriptActive è un software distribuito con la formula shareware su Web, allindirizzo http://www.ncompass.com. Un controllo può essere un programma con una sua interfaccia utente, un interprete di un formato di documenti proprietario, un visualizzatore di file multimediali, o un qualsiasi modulo software. Quando il browser riceve una pagina Web che integra dei controlli, li esegue automaticamente, ereditandone i comandi e le funzioni. La figura seguente mostra Explorer che ospita al suo interno un programma per giocare a scacchi sulla rete, sviluppato con questa tecnologia (la relativa URL è http://www.brlabs.com/quantumchess/sample-html).
Gli oggetti ActiveX, inoltre, possono essere eseguiti da ogni applicazione dotata di supporto ActiveX, tra cui si annoverano la maggior parte dei più evoluti programmi per Windows 95. Chi è abituato ad usare questo sistema operativo avrà notato una stretta somiglianza tra ActiveX e OLE (Object Linking and Embedding), la tecnologia che permette a due programmi Windows di comunicare tra loro e di scambiarsi dinamicamente dati e funzioni. In effetti ActiveX è una sorta di cugino giovane di OLE: si basa infatti sulla stessa architettura sottostante, la Component Object Model, ma presenta dei notevoli vantaggi in termini di efficienza e dimensione, in vista del suo uso su ambienti distribuiti. Si è già fatto cenno a Active desktop, linterfaccia attiva per il desktop di Windows inclusa in Explorer 4. In questo caso, i controlli Active X possono essere richiamati e utilizzati da un programma quello per la gestione del desktop che ha in più la caratteristica di coincidere in pratica con linterfaccia di sistema: unulteriore riprova del ruolo centrale che la tecnologia Active X assume per lo sviluppo degli stessi sistemi operativi Microsoft. Oltre ai controlli, ActiveX provvede anche un linguaggio di scripting, VBscript. Come si può inferire dal nome, si tratta di un mini linguaggio di programmazione derivato dal noto Visual Basic della Microsoft. Il codice VBscript viene inserito direttamente allinterno delle pagine HTML, e viene interpretato dal browser. La sua funzione è omologa a quella di Javascript, che abbiamo già visto sopra. Un programma VBscript, inoltre, permette di controllare il comportamento degli oggetti software allinterno della pagina Web. Un software dotato di supporto ActiveX, infine, è in grado di visualizzare e modificare i documenti prodotti dalle applicazioni Office della Microsoft, ed in generale da tutti i programmi che rispondono alle specifiche OLE 2. Luso di questa tecnologia permette dunque un altissimo livello di integrazione fra le risorse locali e le risorse di rete; e i nuovi programmi Microsoft, come quelli che compongono la suite Office 97, hanno fra le proprie innovazioni principali proprio la capacità di sfruttare appieno questa integrazione. Dal punto di vista dellutente ActiveX presenta notevoli innovazioni rispetto ai plug-in. La più interessante è linstallazione automatica e la certificazione: quando Explorer riceve una pagina che usa un controllo non presente sul sistema appare una finestra di dialogo che mostra il certificato di garanzia del software e chiede allutente il permesso di trasferire ed installare il modulo; se la risposta è affermativa il controllo viene scaricato e installato automaticamente. I certificati aiutano lutente a gestire la sicurezza del suo sistema: infatti è possibile configurare Explorer, indicando da quali fonti accettare software e da quali imporre restrizioni, attraverso i comandi di configurazione della protezione.
Più articolato è il rapporto tra larchitettura ActiveX e il linguaggio di programmazione Java. In questo caso, tecnicamente parlando, più che di diretta concorrenza si dovrebbe parlare di integrazione. In effetti un controllo in quanto tale può essere visto come lomologo funzionale di un applet Java - sebbene sia diverso dal punto di vista informatico. Ma ActiveX non coincide con i controlli: anzi è in grado di integrare al suo interno sia controlli che applet Java e persino di farli interagire. Infatti il supporto Java di Explorer (la Java Virtual Machine) è parte di ActiveX. Questo naturalmente in teoria. Di fatto i controlli si pongono inevitabilmente come sostituti degli applet, e rientrano nella strategia di sviluppo della Microsoft verso il mondo Internet. Il gigante di Redmond conta di vincere questa battaglia basandosi sul fatto che la maggior parte degli sviluppatori e delle software house conoscono molto bene la tecnologia OLE, di cui ActiveX è una semplice evoluzione, e linguaggi di programmazione come C++ e Visual Basic, e sono poco propensi ad effettuare transizioni verso un nuovo linguaggio. Inoltre i controlli ActiveX, essendo compilati, sono decisamente più efficienti e veloci nellesecuzione rispetto ai programmi Java. Daltra parte ActiveX rispetto a Java soffre di una evidente limitazione di portabilità. Infatti mentre il linguaggio sviluppato dalla Sun è nativamente multipiattaforma, per ora la tecnologia Microsoft lo è nelle intenzioni. Nella pratica il legame con i sistemi operativi di casa, e in particolare con Windows 95 e NT4, è talmente stretto da lasciare pochi dubbi sul fatto che il cuore dellevoluzione di ActiveX rimarrà centrato sul mondo Windows. Va infine notato che i controlli ActiveX presentano maggiori problemi di sicurezza dei loro omologhi in Java. Mentre infatti, come si è accennato, un programma Java viene eseguito su una macchina virtuale simulata allinterno del sistema operativo, un controllo ActiveX interagisce direttamente con il sistema stesso. Questo significa che un eventuale virus in Java è molto più facile da controllare di uno realizzato attraverso ActiveX; nel primo caso, infatti, la distinzione tra macchina virtuale e macchina reale agisce da camera di compensazione e ogni eventuale azione pericolosa (ad esempio cancellare un file di sistema, o modificare il file system), può essere impedita in maniera abbastanza efficace. Verso la Web TV (nuova sezione)Attenzione: questa sezione
è stata Tra le tecnologie innovative che stanno trasformando il volto di World Wide Web, lo streaming video probabilmente è quella che suscita i maggiori entusiasmi. La ragione di tanto interesse va ricercata nel fatto che essa rende possibile, seppure in forma ancora rudimentale, la diffusione su World Wide Web di materiali audiovisivi in tempo reale. Per indicare questa forma di televisione via Internet è stato anche coniato un termine apposito: webcasting - contrazione di 'Web' e 'broadcasting', che significa teletrasmettere. In realtà, le attuali potenzialità delle tecnologie di streaming video sulla rete sono assai distanti dagli standard qualitativi richiesti da una vera e propria diffusione audiovisiva di livello televisivo. Per il momento, occorre accontentarsi di video racchiusi in piccole finestre, accompagnati da un audio caratterizzato da un notevole tasso di distorsione e non sempre sincronizzato con le immagini. Inoltre, sebbene in teoria la velocità di scorrimento delle immagini non sia lontana dalla soglia della percezione naturalistica, raramente la riproduzione presenta una sufficiente fluidità. Nella maggior parte dei casi le sequenze video diffuse su Internet sono frammentate, e non di rado si interrompono per diversi secondi. Per conseguire dei risultati ragionevolmente buoni è necessario disporre almeno di un collegamento ISDN - anche se la causa maggiore di questi difetti va individuata nella inadeguatezza delle grandi infrastrutture della rete, piuttosto che nella velocità disponibile sul cosiddetto 'ultimo tratto', quello che arriva al nostro computer di casa. In conseguenza del notevole interesse destato da questa tecnologia, il panorama dei software per lo streaming video è più articolato di quello per l'audio, dove RealAudio è ormai uno standard di fatto. Tra le varie architetture che competono in questo settore ne abbiamo scelte tre: VDOLive, VivoActive, e RealPlay. Le prime due sono le tecnologie che, allo stato, hanno riscosso la maggiore attenzione e che hanno dunque più applicazioni pratiche. L'ultima, che abbiamo già citato, è la più recente tra le tecnologie di video streaming, sviluppata dall'azienda leader nel settore audio. Le relative prestazioni dal punto di vista dell'utente non differiscono in modo sostanziale, mentre divergono le tecnologie di implementazione dal lato server. VDOLive è stato sviluppato dalla VDOnet. Il riproduttore di stream video in formato VDO, disponibile solo per le varie piattaforme Windows, viene distribuito gratuitamente su Web, all'indirizzo è http://www.vdolive.net. La procedura di installazione è completamente automatizzata, e non richiede alcun intervento da parte dell'utente. VDOLive Player funziona sia come applicazione autonoma che come plug-in o controllo ActiveX. Questo rende possibile l'inserimento di una finestra video direttamente all'interno di una pagina Web. I video che non sono annidati dentro una pagina Web, possono essere visualizzati sia all'interno della finestra principale del browser, che nella finestra del programma in modalità autonoma. Naturalmente, usato con browser diversi da Netscape Navigator e Microsoft Explorer, VDOLive Player si comporta come una normale applicazione di supporto esterna. Il funzionamento del programma integrato con i browser è molto semplice. La riproduzione viene avviata automaticamente appena si scarica una pagina che include un oggetto VDO. Premendo il pulsante destro del mouse sulla finestra video compare un menu contestuale che permette di interrompere l'azione.
La dimensione normale di una finestra video VDO è di 240x176 pixel. Questa dimensione può essere raddoppiata, a scapito della risoluzione, mediante il comando 'ZoomIn/Out'. In modalità autonoma l'interfaccia di VDOLive player è più articolata. Sotto la finestra video vera e propria, sono collocati i pulsanti di controllo 'play' e 'stop'; seguono gli indicatori dello stato della recezione e la barra di regolazione del volume audio. I tre pulsanti, infine, permettono rispettivamente di: terminare l'esecuzione; avviare il browser Web e collegarlo al sito VDOnet; configurare il programma. In generale questa ultima operazione non è necessaria, poiché i parametri originali sono adeguati per tutti gli utenti. In ogni caso il programma è distribuito con un help in linea di discreta fattura. Esistono molti siti Web che usano la tecnologia VDO per trasmettere immagini, sia in diretta che in differita. Un elenco aggiornato viene curato dalla stessa VDOnet, sul sito Web VDOGuide (http://www.vdoguide.com), dove potrete trovare anche informazioni, manuali e schede tecniche. Tra le curiosità, segnaliamo ad esempio il sito di Up to the minute, realizzato dalla CBS (http://www.utm.com), una delle maggiori televisioni statunitensi, che invia periodicamente servizi e notiziari. Molto interessante è anche il sito Houston Chronicle Interactive (http://www.chron.com). In virtù di un accordo con la NASA, HCI trasmette immagini in diretta di tutte le missioni Shuttle, incluse immagini inviate direttamente dalla navicella in orbita e interviste con gli astronauti. Se non sono in corso voli, è comunque possibile vedere i materiali registrati della ultima missione. La seconda applicazione di streaming video di cui vi parliamo è realizzata dalla Vivo Software, e si chiama VivoActive. Il riproduttore, disponibile su Web all'indirizzo http://www.vivo.com, è distribuito in due versioni: come plug-in Netscape o come controllo ActiveX, entrambe funzionanti solo su piattaforma Windows. La versione ActiveX si giova della tecnologia di autoinstallazione dell'architettura Microsoft: quando Explorer riceve per la prima volta una pagina Web contenente uno stream video in formato Vivo, automaticamente scarica il modulo di riproduzione e lo installa sul sistema.
Le finestre di VivoActive Player si integrano all'interno delle normali pagine Web, come si può vedere in figura. La dimensione massima di un video in formato Vivo è di 176 x 144 pixels, ma la qualità delle immagini e la fluidità del movimento è molto buona - ovviamente se la banda passante del collegamento alla rete è adeguata. Non altrettanto si può dire per la qualità audio, che soffre di una notevole distorsione. I file in formato VivoActive possono essere ottimizzati alla fonte per diverse velocità di ricezione (ad esempio: 14.4 Kbps, 28.8 Kbps, ISDN). Normalmente i siti Web che offrono video in questo formato mettono a disposizione diverse versioni dello stesso video: al fine di ottenere i migliori risultati l'utente deve avere cura di scegliere la versione ottimizzata per il suo livello di collegamento. La riproduzione di un video inizia automaticamente appena inizia la ricezione dei primi frame. Se questo non avviene, occorre premere il pulsante 'play' (la piccola freccia), che è collocato nell'angolo in baso a sinistra della finestra video. Durante la riproduzione la freccia assume un colore verde; se il programma è invece in attesa di informazioni dalla rete, la freccia presenta una intermittenza rossa e gialla e punta verso il basso. Per fermare il video si deve premere il pulsane 'pause' (le due barre verticali). È anche disponibile un menu contestuale di controllo, che si attiva premendo il pulsante destro del mouse quando il cursore è sulla finestra. Anche i siti Web che usano la tecnologia VivoActive sono molto diffusi. Un elenco aggiornato è curato dalla stessa Vivo software nella pagina Gallery (http://www.vivo.com/gallery/gallery.htm) . E naturalmente non mancano applicazioni degne di nota. Una, ad esempio è rappresentata dal sito TV.COM (http://www.tv.com), realizzato da C|Net. C|Net, il cui indirizzo principale è http://www.cnet.com è uno dei siti più interessanti su Web, ed offre moltissimi servizi informativi, con particolare riguardo alle tecnologie di rete. Il servizio TV.COM diffonde trasmissioni video sia in diretta che in differita. In figura, ad esempio, potete vedere un video musicale. Ogni settimana il sito trasmette un nuovo clip, a cui si affianca anche una versione solo sonora in qualità stereo, in formato RealAudio. Basato sulla tecnologia Vivo è anche parte del sito CNN Interactive (http://cnn.com), versione di rete della più famosa televisione a pagamento del mondo, uno dei siti informativi più interessanti su World Wide Web. RealPlay, sviluppato dalla Progressive Networks, è il più 'giovane' tra i sistemi di streaming video per Internet. Rispetto alle due applicazioni precedenti, presenta dei sensibili miglioramenti nelle prestazioni, soprattutto dal lato audio. Questo progresso è reso possibile dal fatto che il sistema RealPlay integra la tecnologia RealAudio, di cui è una diretta evoluzione: conseguentemente è in grado di riprodurre file sonori a 16 bit, in qualità stereo. Il programma di visualizzazione è disponibile in due versioni: una versione standard, distribuita gratuitamente all'indirizzo http://www.real.com, e una avanzata (Plus), che invece viene venduta. Entrambe sono disponibili, al momento, solo su piattaforma Windows. RealPlayer, al pari di VDO, può operare sia come applicazione autonoma che come plug-in e controllo ActiveX. Il funzionamento del programma come modulo interno al browser è sostanzialmente identico a quello dei due precedenti. Le finestre video, le cui dimensioni standard sono di 176 x 144 pixel, sono integrate con le pagine Web, e presentano i consueti pulsanti di controllo della riproduzione.
L'interfaccia del programma stand alone, invece, è molto simile a quella di RealAudio Player, salvo la finestra video. Da rilevare che la dimensione di quest'ultima può essere raddoppiata mediante il pulsante 'Zoom' (quello con la piccola lente in basso). Il pulsante 'Mute' (appena sopra al precedente) permette di eliminare l'audio. Mediante il comando 'Preferences' del menu 'View' è possibile invece configurare il programma per ottimizzare le prestazioni, in base alle risorse hardware e di connettività di cui si dispone. In generale i parametri standard sono adeguati nella maggior parte dei casi. RealPlay è una architettura molto recente, e i siti che la hanno adottata sono ancora molto pochi (anche se non mancano annunci eccellenti). Tra questi spicca il sito Timecast (http://www.timecast.com), che ha affidato al regista Spike Lee la produzione di tre piccoli clip originali, da distribuire su Internet. Si tratta del primo esempio di video d'autore realizzati esplicitamente per la diffusione via Internet. In figura potete vedere uno di questi clip, una intervista/performance dell'attore John Turturro. Ricordiamo infine che anche la Microsoft ha sviluppato un suo sistema di streaming audiovideo, basato sulla sua nuova piattaforma multimediale ActiveMovie. Il sistema si chiama Netshow, ed il software di riproduzione, Netshow On Demand Player, viene distribuito gratuitamente, come controllo ActiveX, sul sito della stessa Microsoft, all'indirizzo http://www.microsoft.com/netshow. Questa tecnologia, peraltro, fa parte della dotazione standard della nuova versione di Explorer. Insomma, in attesa che si realizzino le grandi promesse, soprattutto economiche, di una unica grande autostrada dell'informazione digitale, che permetterà di ricevere video on-demand, di fare home-shopping, di imparare con la distance-learning, alcuni scampoli di futuro sono già a vostra disposizione. Non resta che augurarvi, anche in questo caso... buona visione. |