Corso di Laurea Cultura e Stilismo della Moda Esperti di linguaggi multimediali e tendenze moda Progettazione Pagine Web Introduzione al corso Corso: Progettazione Pagine Web Docente: Ing. Ivan Bruno E-mail: [email protected] Caratteristiche corso e info z z z z z CFU: 3 N° ore di lezione: 30 ore (18 ore frontali e 12 di laboratorio) Pagina Web: http://www.dsi.unifi.it/~ivanb Indirizzo e-mail: [email protected] Telefono: 055 4796567 (Laboratorio di Sistemi Distribuiti, c/o Facoltà di Ingegneria, Via S. Marta 3 ) 1 Orario e ricevimento z Giorni e orario di docenza e di ricevimento: z z z mercoledì 14.30-17.30 ricevimento il mercoledì dopo la lezione Nota: Il ricevimento al di fuori dell’orario stabilito è consentito solo per appuntamento presso il Laboratorio di Sistemi Distribuiti del Dipartimento di Sistemi ed Informatica della Facoltà di Ingegneria, Via di S. Marta 3, Firenze. Obiettivi del corso z Il corso ha lo scopo di far apprendere le nozioni concettuali e i metodi generali per la progettazione di siti web, per saper realizzare lo studio di progettazione e le principali fasi di implementazione di un Sito Web. 2 Programma z Introduzione al Web z Richiami sulla architettura client-Server z Introdurre una metodologia di progettazione z Le fasi della progettazione z Criteri di sviluppo z Un modello di qualità z Estendere il linguaggio HTML z Forms z Mappe z Componenti multimediali z Parlare dei fogli di stile con l'obiettivo di: z spiegare che cosa sono z perché sono una buona idea z perché oggi il W3C incoraggia il loro uso Corso di Laurea Cultura e Stilismo della Moda Esperti di linguaggi multimediali e tendenze moda Parte I – Le fasi della Progettazione Corso: Progettazione Pagine Web Docente: Ing. Ivan Bruno E-mail: [email protected] 3 La nascita del Web z z z z z 1989: Tim Berners Lee inizia il suo progetto WWW 1991: Gopher viene sviluppato presso l’Università del Minnesota 1993: Marc Andreesen e Eric Brina sviluppano il primo browser grafico: Mosaic 1994: Netscape rilascia la sua prima versione del browser grafico 1995: Microsoft rilascia Explorer Un’idea semplice z Basato su tre tecnologie z z z z Un indirizzo uniforme (URL) Un protocollo di trasmissione (HTTP) Un linguaggio per codificare documenti (HTML) Elementi vincenti z z z Semplicità: HTML è una forma molto semplificata di SGML (con pochi tag) Universalità: disponibile su tutti i computer Compatibilità all’indietro 4 Struttura, non stile z z z Documenti annotati con tag di struttura, ai browser la scelta su come visualizzarli. Mancanza: regole di stile per consentire maggiore controllo sulla formattazione Netscape, sulla spinta del rapido successo, iniziò ad espandere HTML con tag di stile: z z z z <font>: tipo di carattere, dimensioni, colore del testo <background>: per cambiare il colore dello sfondo <blink>, <frame> … e altri tag non standard Explorer fece lo stesso … Il ruolo del consorzio W3C z z z Guida il processo di standardizzazione Deve accettare le pratiche esistenti dei vari produttori, mediando tra di essi Il risultato (HTML 3.2 e poi HTML 4.0) non è più solo un linguaggio di annotazione strutturale 5 Tecnologia di base del Web z z z Architettura client-server del Web URL e HTTP Come funziona un Web server Architettura client-server Cliente 1 Risposta 1 Cliente 2 Richiesta 1 Server Risposta 3 Richiesta 3 Cliente 3 6 Indirizzi Web (URL) z URL (Universal Resource Locator) http://infouma.di.unipi.it/studenti/index.html z z z http : il protocollo di comunicazione per il Web (Hyper Text Transfer Protocol) infouma.di.unipi.it : l’indirizzo Internet della macchina server che il DNS (Domain Name Server) traduce in indirizzo IP oppure direttamente l’indirizzo IP studenti/index.html : l’indirizzo della risorsa (tipicamente un file HTML) relativo alla radice del Web server. Come funziona il Web server Browser 1 Web Server Browser 2 http://infouma.di.unipi.it/studenti/index.html Browser 3 7 Un modello concettuale per il Web z Nell’editoria tradizionale: z z z Testo (contenuti) Immagini (presentazione visuale) Il Web aggiunge il comportamento z z z z z Si seguono collegamenti ipertestuali Si fanno ricerche Si immettono informazioni Si consultano cataloghi SI effettuano pagamenti Un modello concettuale per il Web CODICE Comportamento TESTO IMMAGINI Struttura Presentazione 8 Testo e struttura z Testo z Il testo è universale (ASCII) z Il testo è compatto z Il testo è elaborabile z z Può essere indicizzato, ricercato, trasformato … Il testo annotato è più ricco z I tag aggiungono struttura e significato z Aumentano le potenzialità di elaborazione La Microsoft è situata a Redmond e il suo presidente è Bill Gates. La <company>Microsoft</company> è situata a <location> Redmond</location> e il suo presidente è <person>Bill Gates</person> Stile e presentazione z z z L’arricchimento di HTML con annotazioni stilistiche non è una buona idea Lo stile dovrebbe essere specificato in modo distinto dalla struttura La risposta sono i CSS (Cascading Style Sheets) z z z Separano il contenuto dalle istruzioni per la presentazione (per i browser) Le istruzioni sono di validità globale per la pagina o per il sito Sono uno standard del W3C 9 Comportamento z z Il Web è interattivo, le pagine hanno un comportamento Sono vere applicazioni informatiche interattive z Usabilità: facilità con cui si svolge un certo compito z z z z Comprare un libro in un sito di commercio elettronico Consultare l’orario dei treni Ecc. Servono capacità di programmazione z z z z Pagine interattive (che cambiano in reazione ad eventi) Pagine dinamiche (generate al volo) Basi di dati Programmazione lato server (back-end) Diversi tipi di siti z Esistono diversi tipi di siti Web: z completamente liberi: in cui ogni pagina è diversa dalle altre z con una struttura regolare nella presentazione delle informazioni, in cui esistono cioè pagine con la stessa struttura e quindi riconoscibili come una serie z dove l'informazione è piuttosto statica z dove l'informazione è altamente dinamica e quindi una preoccupazione importante deve essere la frequenza di aggiornamento e la manutenzione. z È importante capire di quale tipo di sito si tratta facendo un'analisi prima di intraprendere il progetto. z Avere in mente l'obiettivo per cui il sito viene costruito, e le caratteristiche del contenuto informativo può aiutare a capire le caratteristiche che il sito stesso deve avere e fare le scelte giuste nella fase di realizzazione. 10 Diversi tipi di siti Siti a carattere educativo, didattici z incoraggiare l'esplorazione del sito secondo un filo logico piuttosto che lasciare la più assoluta libertà nella navigazione. La comprensione del materiale didattico può essere caratterizzata come la costruzione di un modello mentale che ricostruisce gli oggetti e le relazioni tra gli oggetti descritti nel testo. Un testo è tanto più fruibile quanto più agevole è la creazione di questo modello mentale. Secondo Thuring, Hannemann, Haake [CACM] i fattori principali che agevolano o ostacolano questo processo sono due: z z z la coerenza, che dà un contributo positivo; il sovraccarico cognitivo, che dà un contributo negativo. z z La coerenza può essere locale (coerenza del discorso all'interno di un nodo) oppure globale (intesa come coerenza tra i nodi). La frammentazione del testo propria di un ipertesto può essere negativa se non si offre per ogni nodo un contesto di interpretazione e strumenti per riassumere e presentare l'organizzazione globale. Il sovraccarico cognitivo di un ipertesto viene definito come "lo sforzo e la concentrazione aggiuntivi necessari per la gestione di diversi percorsi percorsi di lettura allo stesso tempo"; nel caso dell'ipertesto questo sforzo aggiuntivo riguarda l'orientamento nella navigazione, e quindi sono particolarmente importanti tutti gli strumenti che possiamo fornire per l'orientamento, e lo sforzo necessario per adattarsi ad interfacce utente di volta in volta diverse. z z z Diversi tipi di siti z Siti a carattere informativo z z z z È importante la natura delle informazioni che si vogliono fornire, se sono relativamente stabili o se cambiano spesso; quanto è importante che siano aggiornate tempestivamente; quanto le informazioni possono essere riconducibili a delle strutture ricorrenti. Se l'informazione è abbastanza strutturata bisognerà allora prendere in considerazione la possibilità di mantenere le informazioni in una base di dati e prevedere meccanismi per la generazione automatica delle pagine. Esempi di siti informativi: z z z z z cataloghi un sito di un dipartimento universitario che pubblica la lista dei corsi offerti. Un motore di ricerca può aiutare, tuttavia ancora di più aiuta una strutturazione attenta dell'informazione e una struttura di navigazione adeguata. Siti semplici, di pura "presenza" in rete, possono essere creati e gestiti senza tecniche particolari e Siti che offrono servizi coincidono con la realizzazione di un'applicazione informatica, per la progettazione di siti con grossi contenuti informativi o comunque complessi si cominciano ad affermare metodologie che estendono le metodologie di progettazione delle basi di dati. 11 Diversi tipi di siti z Siti di immagine (brochurware) e personali z z Siti commerciali z z z z z lo scopo principale del sito è attrarre clienti e quindi bisogna progettarlo nell'ottica di attrarre visitatori nella fascia di mercato in cui il prodotto si colloca. Siti che offrono servizi z z fornire un'immagine ad una organizzazione o ad una persona, e allora la domanda da porsi è qual è l'immagine che si vuole comunicare. ad esempio un motore di ricerca o un servizio gratuito di posta elettronica, la struttura del sito può essere relativamente semplice ma la complessità risiede nell'applicazione sottostante che realizza il servizio. Portali (orizzontali o verticali) Siti di intrattenimento Siti di comunità Siti artistici ... Distinzioni funzionali tra siti z Siti in cui ogni singola pagina è diversa dalle altre e siti con struttura regolare (serie di pagine) z Siti statici e siti aggiornati molto di frequente da realizzare con tecnologie dinamiche z Siti di sola presentazione e siti interattivi 12 Attività interdisciplinare z Realizzare un sito Web richiede: z z z z Lavoro di équipe? z z z z Capacità editoriali e di strutturazione del contenuto Capacità di presentazione grafica Capacità di programmazione Editore o architetto dell’informazione Grafico, designer Programmatore, Informatico Conoscenze interdisciplinari Valutazione dei costi benefici z La realizzazione di un sito Web, ma ancora di più la sua manutenzione, ha un costo z Analisi dei vantaggi in termini di immagine, ritorno economico o altro a fronte dei costi z La dimensione economica è la quarta dimensione (rispetto alle tre che abbiamo visto) z Definire l’obiettivo concretamente z Ridurre il numero di chiamate telefoniche z Aumentare il numero di visitatori z Incrementare le vendite 13 Progettare un sito Web? z Sito Web: un insieme coordinato di pagine, relative ad uno stesso tema, che risiedono tipicamente su uno stesso server z Attività complessa che coinvolge più persone e professionalità z Meglio seguire una metodologia e utilizzare strumenti di comunicazione (diagrammi, immagini) per maturare insieme con il committente le scelte di progetto. Conclusione z z Per progettare un sito Web bisogna conoscere le specificità espressive come mezzo e comprendere la tecnologia Progettare un sito Web richiede un buon equilibrio tra z z z Struttura Presentazione Programmazione 14 Come si progetta un sito web Fasi del processo z Come nella progettazione di un qualunque sistema informatico è importante seguire una metodologia z Ciclo di vita: processo di sviluppo costituito da fasi intermedie z Fasi del processo: z z z z Analisi e definizione dei requisiti (Define goals) Progettazione (Design) Prototipizzazione (Prototype) Verifica (Test) 15 Il ciclo di vita del del software: visione statica Requisiti “Waterfall model” Funzioni Design Sviluppo Concettualmente sbagliato: nessun artefatto di successo può nascere così Test Rilascio Il ciclo di vita del del software: visione dinamica Sviluppo per prototipi successivi Design Prototype Test Concettualmente corretto 16 Fasi del processo: Analisi e definizione dei requisiti Define goals • Quali obbiettivi • Quali contenuti • Quali utenti • Quali compiti • Quale contesto • Concept grafico Design Prototype Test Progettare per l’utente z YOU are NOT the USER z z Quello che è chiaro e usabile per il progettista o il committente può essere oscuro e fonte di frustrazione per l’utente USERS are NOT DESIGNERS z Gli utenti tipicamente non sanno qual è il modo migliore di organizzare l’informazione 17 Progettare per l’utente z Gli obiettivi di utilità e usabilità sono specifici per gruppi di utenti z Profili utente z z z Pensare ad utenti tipici Se possibile intervistarli Può aiutare dargli un nome per mettersi nei loro panni Progettazione centrata sull’utente Le domande a cui rispondere: z Quale utente? z Quali sono i compiti che deve svolgere? z Qual è il contesto d’uso? 18 Quale utente? z z z A quali categorie di utenti è destinato il prodotto che dobbiamo progettare ? Di queste categorie, quali sono quelle prioritarie e quali quelle secondarie? Come possiamo definire con precisione ciascuna categoria di utenti, in rapporto al prodotto che dobbiamo progettare? (sesso, età, cultura, esperienza, abilità/disabilità, interessi, …) Quali compiti? z Quali sono i compiti che le diverse categorie di utenti dovranno svolgere con il prodotto? z Quali sono quelli principali e quali quelli accessori? COMPITI: UTENTI: Categoria A Categoria B Categoria C z A B C *** *** *** * * ** Quali metriche di efficacia e di efficienza possiamo introdurre in rapporto a questi compiti? 19 Quale contesto d’uso? z z z In quali diversi contesti le varie categorie di utenti dovranno svolgere i diversi compiti individuati? Quali contesti sono prevalenti, e quali occasionali, in rapporto ai diversi compiti? Come possiamo caratterizzare con precisione i diversi contesti? Esempio: contenitore per acqua minerale Utenti: z Generico consumatore di acqua minerale z Trasportatori di confezioni multiple Contesto d’uso: z Acquisto in supermercato o in negozio Quali utenti, z Conservazione in frigorifero contesti e compiti z Consumo in tavola sono prioritari? Compiti: z Trasporto manuale di confezione multipla z Estrazione del contenitore singolo dalla confezione multipla z Trasporto manuale di contenitore singolo z Stoccaggio/estrazione nel/dal frigorifero z Apertura e chiusura del contenitore z Mescita nel bicchiere z Schiacciamento verticale per dismissione 20 Contenitore per acqua minerale: una possibile proposta Definizione dei requisiti z z z z Contenuti (quello che c’è, quello che manca) Tecnici (Come realizzare) Visuali (Come presentare) Risorse necessarie z z z Persone Tempi Costi 21 Fasi del processo: Progettazione Define goals •Struttura di navigazione •Struttura del sito •Presentazione Grafica Design Prototype ¾Scenari utente ¾Interazioni Test Struttura del sito: esempio 22 Grafica: esempio (home page) Grafica: esempio (secondo livello) 23 Grafica: esempio (secondo livello) Grafica: esempio (terzo livello) 24 Grafica: esempio (artisti e dischi) Scenari utente: esempi 25 Progettazione di un sito Define goals • LO-FI prototyping • HI-FI prototyping Design Prototype Test Fedeltà nei prototipi - Alta fedeltà (HI-FI): il prototipo “assomiglia” in tutti gli aspetti al prodotto finale - Bassa fedeltà (LO-FI): il prototipo “assomiglia” alla lontana al prodotto finale, con molti dettagli mancanti (es.: paper prototyping) 26 Uso di prototyping tools per il web: un’indagine http://guuui.com/issues/01_03_02.asp (settembre 2002) Progettazione di un sito Define goals • Test funzionale • Test di usabilità • Controllo dei contenuti Design Prototype Test 27 Test funzionale z Che cosa: esercizio sistematico di tutte le funzioni presenti nel sito (links e forms in tutte le condizioni, comprese quelle di errore) z z z Chi: sviluppatori del sito (eventualmente con il committente in fase di accettazione) Come: si possono utilizzare check-list strutturate, e tools appositi (ad es. per la scoperta di link aperti) Quando: durante lo sviluppo, e prima del primo rilascio Test di usabilità z z z z Che cosa: utilizzo del sito in scenari d’uso predefiniti Chi: utenti campione Come: vedi lezione relativa Quando: quando opportuno, durante lo sviluppo per prototipi successivi (anche all’inizio: paper sketch & simulation) 28 Controllo dei contenuti z z z z Che cosa: verifica dei contenuti (correttezza, adeguatezza, stile) Chi: responsabile dei contenuti Come: lettura delle pagine web Quando: prima del rilascio Paper prototyping 29 Che cos’è un prototipo? Un modello approssimato o parziale del sistema che vogliamo sviluppare, realizzato allo scopo di valutarne le caratteristiche Ci permette di condurre dei test prima di avere il prodotto finale Perchè creare prototipi di un sito web? z z z Per avere un feedback anticipato da parte degli utenti, per correggere il design prima di scrivere il codice Per sperimentare design alternativi … rapidamente e a costi contenuti 30 Paper prototyping Il sito viene prototipato sulla carta, e il suo funzionamento viene simulato a mano, per condurre rapidamente test di usabilità Esempi: - user testing della home page - user testing della struttura del sito - user testing di funzioni specifiche Esempio: usability enquiry di una home page Realizzazione della home page di Sun, (Jakob Nielsen, 1995) 31 Usability test & paper simulation Alcuni scenari d’uso vengono simulati manualmente, alla presenza di utenti-cavia… FACILITATORE “COMPUTER” UTENTE-CAVIA Paper simulation: materiali Schema generale del sito Singole pagine su cartoncino Componenti dell’interfaccia (menu, forms, messaggi di errore,…) su cartoncino 32 Vantaggi e svantaggi z z Vantaggi z non è richiesto lavoro di programmazione z si possono avere subito le reazioni dell’utente z si possono confrontare rapidamente soluzioni diverse z si possono analizzare in dettaglio interazioni particolarmente complesse (forms, menu, …) Svantaggi z non si coprono tutti i casi z bisogna poi trasporre il disegno manualmente in forma elettronica 33 Come fare z z Minimo tre persone: - facilitatore: l’unico che parla (dà istruzioni, incoraggia commenti, non fa commenti) - computer: conosce l’applicazione e la controlla, simulando le risposte; non fornisce mai spiegazioni - osservatori: prendono note Sessione tipica: 1 ora tutto compreso Valutazione dei risultati z Riordinate le osservazione z z z z z che cosa era importante? Ci sono m olti problemi correlati? Riassumete i risultati per iscritto Effettuate le modifiche al prototipo Ripetete le prove 34 Evoluzione di un sito web Il concetto di “release” del software z z Ogni prodotto software evolve per versioni successive, dette “release” Ogni nuova release costituisce un “miglioramento” rispetto alla release precedente: - correzione di errori - perfezionamenti di funzionalità esistenti - introduzione di nuove funzionalità - compatibilità con ambiente più evoluto 35 Evoluzione del software: classificazione delle modifiche Perfective 31% New Functionality 38% Fix/Repairs 31% Source: IT Metrics, March 1997 Evoluzione dei prodotti tecnologici in rapporto ai bisogni dell’utente Prestazioni del prodotto Punto di transizione in cui la tecnologia soddisfa le necessità primarie dotto del pro e n o luzi evo prestazioni in eccesso necessità non soddisfatte Fase centrata sulla tecnologia prestazioni necessarie Livello di prestazioni richiesto dall’utente medio t Fase centrata sull’utente da: D.A.Norman, Il computer invisibile, 1998 36 Evoluzione di un sito web z z Un sito web è un prodotto software particolare, in quanto: come gli altri prodotti software, tende a “crescere” nel tempo è utilizzabile dalla rete (quindi nuove release possono essere rese disponibili “immediatamente”) z è costituito logicamente da un contenitore e da un contenuto (contenitore e contenuto devono poter essere modificati con procedure diverse) La crescita di un sito web 37 Evoluzione di un sito web modifiche major releases minor releases r1 r2 r3 tempo r4 software contenuti Fluidità dei media MEDIA PERMANENTI libro MEDIA FLUIDI MEDIA VOLATILI CD-ROM giornali TV WEB 38 Lifetime: indagini sperimentali Tempo medio di vita per: Files HTML Immagini Worrell, 1994 Gwertzman et al,1996 75 gg 50 gg 107 gg 85 gg 39