Introduzione Quick and dirty way è un modo di dire (di fare!) americano che all'incirca vale: fare qualcosa nel modo più veloce possibile, purché funzioni. È il metodo che abbiamo adottato nella nostra scuola quando è stato deciso di affiancare alla pagina Web anche una pagina WAP e avevamo un pomeriggio domenicale a disposizione per realizzarla. WAP (Wireless Application Protocol - protocollo per trasmissioni senza fili rivolto alle applicazioni) è una modalità di trasmissione di testo, immagini e altro per i telefonini abilitati a questo servizio. Il nostro obiettivo è quello di pubblicare tempestivamente informazioni di valore contingente (qual è l'orario delle iscrizioni? se c'è sciopero degli insegnanti, la mensa funziona?) con la più ampia accessibilità consentita dal telefonino. Qui non intendiamo offrire un corso WAP, ma semplicemente descrivere i passaggi compiuti dal concepimento dell'idea alla sua realizzazione. Conoscenze iniziali e strumenti WAP utilizza un linguaggio WML (wireless markup language) che
ha qualche analogia con l' HTML (i puristi storceranno la bocca:
in realtà appartiene alla famiglia XML); ma qui stiamo
utilizzando il metodo quick and dirty ed è
dalla (scarsa) conoscenza dell'HTML che vogliamo ricavare le informazioni
per costruire una pagina WML di cui sappiamo ancora meno.
Nella finestra a sinistra c'è il listato WML della pagina,
a destra il display del telefonino (uno generico,
ma è possibile impostare anche un Siemens S45: menu Simulator
> Select Device
), in basso l'indirizzo del file visualizzato:
file://f:/Temp/Prove_Wap/Hello_World.wml. <card> e il corrispondente </card>: tag specifici del wml che racchiudono l'informazione presentata in una schermata del telefonino <p> e </p>: come in HTML Hello World!: Il testo da visualizzare Ulteriori informazioni raccattate in giro dicono che i tag vanno sempre chiusi (</p> NON è opzionale), che il WML è case sensitive (cioè tiene conto delle maiuscole) e che il listato deve essere corretto altrimenti, sul telefonino, si ottiene un errore e non si vede nulla, a differenza dei browser attuali che sono di manica larga e tentano comunque di interpretare la pagina. Con queste informazioni siamo in grado di scrivere una pagina di testo, ma non sappiamo come linkare altre pagine. Nel vivo del lavoroAbbiamo cercato e trovato un'altra pagina di esempio, contenente un elenco in guisa di menu e, parassitandola, abbiamo costruito un listato che, caricato sul telefonino (CRTL+R), ha prodotto il seguente display
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//PHONE.COM//DTD WML 1.3//EN" "http://www.phone.com/dtd/wml13.dtd"> <!-- WML file created by Openwave SDK --> <wml> <card id="card1" title="Circolo 3 Firenze"> <p> 10-21 gennaio<br/> <anchor title="Iscrizioni"><go href="#isc"/> Iscrizioni alla prima elementare e all'infanzia<br/> </anchor> 15-17-18 gennaio<br/> <anchor title="Visita"><go href="#vis"/> Visita scuola dell'Infanzia<br/> </anchor> 9 gennaio<br/> <anchor title="Incontro"><go href="#inc1"/> Dirigente incontra genitori elementare Don Minzoni<br/> </anchor> 8 gennaio <br/> <anchor title="Incontro"><go href="#inc2"/> Dirigente incontra genitori elementare Cadorna<br/> </anchor> </p> </card> <card id="isc" title="Iscrizioni"> <p> Iscrizioni alla prima classe elementare e alla scuola dell'infanzia<br/> Dal 10 al 21 gennaio 2002 sono aperte le iscrizioni per l'anno scolastico 2002/2003, presso la segreteria della Direzione Didattica, via Reginaldo Giuliani 180, con il seguente orario<br/> lunedi-sabato 8,30 11,30<br/> mercoledì 14,30 16,30 <br/> <anchor title="Menu"><go href="#card1"/> Ritorna al menu </anchor> </p> </card> <card id="vis" title="Visita"> <p> È possibile visitare la Scuola dell'Infanzia con il seguente orario<br/> martedi 15 gennaio 10,00 11,00<br/> mercoledi 17 gennaio 10,30 11,30<br/> giovedi 18 gennaio 15,00 16,00<br/> <anchor title="Menu"><go href="#card1"/> ritorna al menu </anchor> </p> </card> <card id="inc1" title="Incontro"> <p> Il D.S. incontra i genitori degli alunni classi prime anno scolastico 2002/2003 presso la Scuola Don Minzoni, il 9 gennaio alle 17.00, per illustrare l'organizzazione della scuola.<br/> <anchor title="Menu"><go href="#card1"/> ritorna al menu </anchor> </p> </card> <card id="inc2" title="Incontro"> <p> Il D.S. Incontra i genitori degli alunni classi prime anno scolastico 2002/2003 presso la Scuola Cadorna, l'8 gennaio alle 17.00, per illustrare l'organizzazione della scuola.<br/> <anchor title="Menu"><go href="#card1"/> ritorna al menu </anchor> </p> </card> </wml>il tag <card> si è arricchito di due attributi:
In questo modo, ripetendo blocchi di listato, è stato
costruito un menu che porta alle varie pagine (iscrizioni, ecc.);
le singole pagine iniziano allora con <card id=riferimento>
dove riferimento corrisponde al termine utilizzato
nel tag <go href=#riferimento> corrispondente.
Soddisfatti del risultato conseguito, abbiamo trasferito il file sui due server che distribuiscono la pagina Web del nostro Circolo, ci siamo collegati con il simulatore ma, sorpresa, abbiamo ottenuto un messaggio di errore. Abbiamo analizzato le righe iniziali del testo riportato nella Finestra di Risposta HTTP del simulatore per i due server: Server: Apache/1.3.12 (Unix) AuthMySQL/2.20 PHP/4.0.2 Content-Type: text/plain Server: Microsoft-IIS/2.0 Content-Type: application/octet-streamI due server sono diversi: uno è Apache sotto Unix, l'altro è Microsoft IIS/2.0, ma entrambi distribuiscono (voce Content-Type) la pagina in forma errata: il primo come text/plain, il secondo come application/octet-stream invece che, correttamente, come wml. Una veloce ricerca con il motore Google ha portato alla pagina: http://netwinsite.com/webmail/wap.htm in cui è spiegato l'arcano. Occorre fornire al server Web la giusta indicazione di come trattare il dato; nel server Apache aggiungendo delle label nel file mime.types, nel server Microsoft aggiungendo alcune chiavi di registro. Sono partiti immediatamente due mail, all'indirizzo degli amministratori dei server, con la preghiera di fare le modifiche necessarie. Epilogo Il lavoro che ci eravamo prefissi inizialmente si è concluso
e anche il pomeriggio è terminato, ma le possibilità
del WAP vanno ben oltre quanto descritto e rimane molto da imparare
e fare. Tutte le immagini sono riprodotte per concessione di "Openwave
Systems Inc." 18 gennaio 2002 |