3.4 Sviluppo del prodotto finale
  Una limitazione emersa dall'analisi del prototipo è la difficoltà di navigazione all'interno di una sezione, a causa della limitata possibilità di cambio pagina. Infatti, la barra di comando del manuale fornisce agevolazioni per quanto riguarda la navigazione verso altre sezioni, ma, all'interno di una di queste, dispone solo dei comandi per andare alla pagina precedente o successiva.

Da questa evidente limitazione è nata l'idea di consentire all'utente di specificare in modo diretto, il numero di pagina desiderata. Tale funzionalità può sembrare, a prima vista, di facile introduzione. In realtà, però, non è così. Toolbook consente di navigare da una pagina ad un'altra, specificando un nome della pagina o un numero assoluto che è associato in modo crescente a ogni pagina creata in un libro. Il numero di pagina che l'utente vede non è questo numero assoluto, ma un valore relativo al numero di pagine della sezione consultata. Per fare un esempio, se l'utente sta consultando la pagina 6 della sezione 2, per Toolbook questa corrisponderà alla pagina assoluta numero 22; la pagina 7 della stessa sezione sarà la 23, ecc. E` quindi necessario convertire il numero della pagina alla quale l'utente desidera andare nel corrispondente numero assoluto, inoltre, è necessario verificare che l'utente non specifichi un numero di pagina non esistente. Si è sviluppato quindi il seguente algoritmo:

  1. Analisi della stringa contenente la pagina (relativa alla sezione) in cui l'utente si trova (Es. "6/25");
    1. Determinazione del primo numero, prima della barra (Es. "6");
      1. Conversione della stringa ottenuta in valore numerico (Es. 6);
      2. Determinazione del numero assoluto della prima pagina della sezione (Es. se la pagina relativa 6 corrisponde alla pagina assoluta 22, allora la pagina relativa 1 corrisponde alla assoluta 17);
    2. Determinazione del secondo numero, dopo la barra (Es. "25");
      1. Conversione della stringa ottenuta in valore numerico (Es. 25);
      2. Determinazione del numero assoluto dell'ultima pagina della sezione (Es. se la pagina relativa 1 corrisponde alla assoluta 17, allora la pagina relativa 25 corrisponde alla 42);
  1. Richiesta all'utente del numero di pagina desiderata, tramite apposita finestra di dialogo;
  2. Verifica che l'utente abbia effettivamente inserito un numero;
  3. Determinazione della pagina assoluta desiderata dall'utente, in base al valore della prima pagina assoluta (Es. Se l'utente desidera la pagina relativa 10, allora viene fatto 17+10-1);
  4. Controllo della consistenza della richiesta dell'utente, cioè che il numero di pagina assoluta desiderata sia compreso tra la prima e l'ultima (Es. 17£ 26£ 42 OK!)
  5. Se la richiesta è consistente, l'utente viene mandato alla pagina assoluta ottenuta; altrimenti, viene visualizzato un messaggio di errore.
L'algoritmo appena descritto viene implementato dal seguente codice OpenScript:
 
testo=text of recordfield "pagina" -- memorizza la pagina relativa
pos=offset("/",testo) -- Trova la posizione della "/"
if pos <> 0 -- Se la "/" c'è…
   attuale=""
   step i from 1 to pos-1 -- Trova il numero di pagina attuale
      attuale=attuale & char i of testo -- Concatena carattere i-esimo
   end
   format attuale as "?" -- Converte da stringa a decimale
   Prima=pageNumber of this page - attuale + 1 -- Prima pagina assoluta
   attuale=""
   step i from pos+1 to charCount(testo) -- Trova il numero totale
                                         -- di pagine
      attuale=attuale & char i of testo  -- Concatena carattere i-esimo
   end
   format attuale as "?" -- Converte da stringa a decimale
   Ultima=prima+attuale-1 -- Ultima pagina assoluta della sez.
   ask "Go to page" with "1" -- Chiede all'utente quale pagina e
   -- mette il risultato in It
   if It is not null and isType("word",It) -- Se è un numero ¹ 0
      format It as "?" -- Converte da stringa a decimale
      pagina=Prima+It-1 -- Pagina assoluta dove andare
      if pagina>=Prima and pagina <=Ultima -- Se è una pagina valida
         go to page pagina -- Va a quella pagina
      else -- Altrimenti…
         request "Sorry, there isn't that page"
      end
   end
end
Analizzando la barra di comando, ci si è resi conto che non era molto chiaro quando il manuale era pronto a ricevere una direttiva dall'utente. Per enfatizzare questo aspetto, si è allora pensato di rendere i comandi sensibili al passaggio del mouse, sfruttando il cambiamento del loro colore per "farli illuminare" e ingrossando i loro bordi per dare l'impressione di un loro "elevazione" dallo sfondo. Riguardo a questa richiesta c'è da tenere conto che normalmente l'utente dispone già di almeno una copia del manuale in formato cartaceo. Quindi, per quanto riguarda le pagine del manuale, si è ritenuto più che sufficiente aggiungere solo la possibilità di stampare la pagina visualizzata al momento della richiesta. Tale funzionalità è stata resa accessibile dal menu principale. Più interessante può essere la stampa dei disegni integrativi, funzione già supportata dal visualizzatore descritto nel paragrafo 3.4. Come descritto nel paragrafo 3.1, nel manuale non è presente un indice analitico. Ci si è quindi trovati a dover scegliere tra due possibilità:
  1. Creazione da zero di un indice analitico del manuale;
  2. Creazione di un mezzo di ricerca diretta.
Si è valutato che la prima soluzione comporta un grosso dispendio di energie, dovuto all'analisi di tutto il testo in lingua inglese. Inoltre si è considerata la possibilità di esclusione dalla lista così ottenuta, di termini ritenuti interessanti dall'utilizzatore. Per questi motivi si è scelta la seconda alternativa, la quale richiede uno sforzo iniziale nella scrittura del codice per implementare la ricerca, ma fornisce poi uno strumento universale per l'individualizzazione di qualsiasi termine presente nel manuale.


 






Si è aggiunta al menu principale la possibilità di accedere ad una finestra di dialogo per la ricerca.

In tale finestra è contenuto un apposito campo all'interno del quale è possibile specificare il testo da cercare. Si è scritto quindi dell'apposito codice OpenScript che consente di ricercare il testo richiesto, dalla pagina corrente fino all'ultima pagina del libro consultato. Quando tale testo viene trovato, l'utente viene automaticamente posizionato sulla pagina corretta e il testo viene evidenziato. A questo punto l'utente può visionare la pagina oppure ricercare la prossima occorrenza del testo. Si è reso possibile anche l'utilizzo di caratteri "jolly", quali ? e *, che consentono di ricercare testi con singoli caratteri o caratteri multipli mancanti. Ad esempio, è possibile ricercare tutte le parole che iniziano per "oper", specificando "oper*". In questo caso verranno trovate parole come operate, operating, operator, …
 

E` stato operato un radicale cambiamento per quanto riguarda l'aspetto dei disegni tecnici. Nell'immagine qui di fianco si può notare come appariva un disegno tecnico nel primo prototipo del manuale. Nel disegno era presente una numerazione che richiedeva la consultazione della legenda normalmente allegata. Particolari del disegno erano rappresentati insieme all'immagine principale.

 
Si è allora compiuto uno studio approfondito sulla rappresentazione, per dare ai disegni un nuovo aspetto più interattivo. Da tale studio è nata l'idea di posizionare sul disegno dei pallini chiaramente visibili, privi di numerazione e identici per tutti i disegni. Ogni pallino, al passaggio del mouse sopra di esso, fornisce una descrizione della parte di disegno al quale è associato. Si è quindi eliminata l'ormai inutile legenda.

Per quanto riguarda la rappresentazione di particolari, si è pensato di toglierli dal disegno principale, aggiungendo invece un apposita cerchiatura nei punti interessati dalla loro presenza. All'entrata del mouse in tali aree si ha un effetto di zoom automatico, con la conseguente visualizzazione del particolare voluto.

Per cambiare lo stile di tutti i disegni tecnici contenuti nel manuale è stato necessario effettuare un laborioso lavoro, utilizzando il programma per il fotoritocco, Adobe Photoshop.

Si è infine aggiunto, dove necessario, uno speciale pallino, di colore diverso dagli altri, che consente di accedere a una lista di disegni integrativi riguardanti il solo disegno rappresentato. E` quindi possibile selezionare nella lista uno di questi disegni e visualizzarlo nel consueto modo visto nel paragrafo 3.2. In tal modo l'utente non deve perdere tempo a cercare tali disegni nella lista generale. L'immagine seguente illustra tale aspetto.
 
 


E` stato fatto un notevole sforzo per quanto riguarda il reperimento di fotografie significative. Allo scopo, sono stati coinvolti diversi reparti della Danieli e, alla fine, si sono recuperate un numero elevato di fotografie. Queste sono state catalogate e suddivise in vari gruppi, a seconda del particolare che illustravano. Una volta reperito il materiale necessario si è studiato il metodo con il quale renderle disponibili all'utente.

Per prima cosa si è scelto di non inserire direttamente nel testo le varie immagini, essendoci normalmente più fotografie disponibili per uno stesso argomento Si è quindi scelto di presentare all'utente un menu popup dal quale può scegliere la foto da visualizzare e si sono fissati due standard per indicare la presenza di fotografie:

  1. Per fotografie collegate a parole chiave del testo si è creato un collegamento su tali parole. Per distinguerlo dal collegamento ad argomenti correlati si è stabilito, per garantire la massima uniformità in tutto il manuale, che questo verrà rappresentato da testo formattato in stile grassetto e di colore azzurro. Inoltre, per rendere ancora più esplicito il significato di tale collegamento, al passare del mouse sopra di esso, il puntatore assume la forma di una macchina fotografica.
  2. Per fotografie collegate ad un intero paragrafo si è introdotto un nuovo bottone dall'aspetto molto evidente. 
Il secondo problema che è stato affrontato riguarda il modo di visualizzazione delle fotografie. A tal scopo si è creata un'apposita finestra, le cui dimen-sioni si adeguano automatica-mente in base alle dimensioni della foto mostrata. Inoltre è stato aggiunto alla finestra del codice OpenScript che consente di effet-tuare lo zoom IN e OUT, per la visione di particolari.

C'è da notare che si è avuta una notevole diminuzione delle prestazioni in termini di velocità di caricamento del manuale, causata dalle considerevoli dimensioni dell'archivio fotografico. Per ovviare a tale inconveniente si è attuata un ottimizzazione iniziale, cioè l'archi-vio fotografico non viene caricato in memoria finché non viene richiesta una fotografia. Alla richiesta di visualizzazione di una fotografia, vengono caricate in memoria tutte le foto, in modo da garantire prestazioni elevate negli accessi successivi, anche con sistemi mediocri.

Si è deciso anche di aggiungere al menu la possibilità di visualizzare tutte le foto presenti nel manuale, senza doverle ricercare nel testo. Per fare questo è stata creata una finestra contenente la lista di tutte le foto e una loro breve descri-zione. Selezionando una foto dalla lista, si ha l'immediata visualizzazione della stessa nell'apposita finestra. Nella prima parte sono state introdotte, in vari punti, ben 26 fotografie.
 
 




 



 
 
 
 
 
 
 

Avendo a disposizione un filmato trattante vari aspetti del forno, si è deciso di inserire degli spezzoni, opportunamente scelti, all'interno del manuale. Dopo un'attenta visione del filmato generale, si sono individuate alcune parti rilevanti, ognuna delle quali della durata di qualche minuto. Tali parti sono state inserite nelle pagine interessate, mediante un appostita interfaccia, che consente una comoda visione. E` stato scritto del codice che consente di avviare la riproduzione, metterla in pausa, fermarla, ritornando all'inizio del filmato. Inoltre è stato aggiunto un comodo contatore di secondi e una barra a scorrimento automatico, che consentono di individuare agevolmente la posizione in cui ci si trova. Tale barra può essere anche utilizzata per posizionarsi in un particolare punto del filmato, semplicemente spostando l'apposito cursore indicatore. I filmati sono inseriti all'interno del manuale tramite link e risiedono in appositi file esterni. Quando l'utente accede ad una pagina contenente un filmato, questo viene immediatamente caricato in memoria e viene visualizzato il primo fotogramma.
Una particolare cura è stata posta nell'inserimento della scheda tecnica all'interno del manuale. Come specificato nel paragrafo 3.1 tale scheda è di grandi dimensioni e viene personalizzata a commessa. In questa fase di costruzione di una base del manuale, non è quindi possibile inserirla completamente, ma andrà completata con i dati specifici della commessa al momento del rilascio del manuale stesso. Si è voluto che, per tale lavoro di inserimento dati, non fosse necessaria la presenza di un programmatore, ma che lo potesse fare, senza difficoltà, una persona generica. Si è quindi pensato di sfruttare le potenzialità messe a disposizione da Toolbook (vedi paragrafo 2.2).

Quindi, la suddetta tabella è stata creata interamente con Microsoft Excel, strumento noto ai membri del reparto che si occupa dell'inserimento dei dati. Si sono lasciate prive di dati le caselle da riempire, formattandole però con lo stile(tipo di carattere, allineamento,…) adatto al manuale multimediale. A questo punto si è trasportato la tabella Excel dentro Toolbook, frammentata in tante tabelle più piccole, a seconda delle necessità. Per fare questo è stato utilizzato il metodo del DDE (Dynamic Data Exchange), un protocollo WINDOWS, che si occupa di aggiornare automaticamente tali tabelle inserite in Toolbook qualora queste vengano modificate in Excel. Tale struttura è stata replicata in ognuno dei libri contenenti la tabella, in modo che vengano aggiornati contemporaneamente tutti quanti, consentendo un notevole risparmio di lavoro.

Come specificato nelle premessa del paragrafo 3.2, ognuno dei 4 libri ottenuti è reso accessibile da un'interfaccia generale. Per la realizzazione dell'interfaccia si è sempre utilizzato Toolbook. Si è creato un libro con una sola pagina, che presenta quattro bottoni. Premendo uno di questi è possibile accedere al manuale ad esso associato. Inoltre, al momento dell'esecuzione dell'interfaccia, questa si occupa di controllare la configurazione dello schermo dell'utilizzatore. Infatti, per garantire l'aspetto pensato in fase di progettazione, è necessario fissare una risoluzione particolare dello schermo (800X600) e un numero di colori pari a 256. Tali valori sono stati scelti i più basilari possibili, in modo da garantire l'eseguibilità sulla maggior parte dei computer attualmente in circolazione. Nel caso in cui l'utilizzatore non abbia fissato opportunamente i parametri, viene sollecitato a farlo da una apposita finestra di indicazione.

Nel CD generato sarà disponibile un solo eseguibile che lancerà questa interfaccia generale. Inoltre sul CD verrà implementata la funzione di autorun, che provvederà a lanciare automaticamente tale eseguibile all'inserimento del CD. I quattro libri, invece, saranno presenti nel CD in formato Toolbook. Nel CD sarà presente anche una directory contenente i file necessari a Toolbook per l'esecuzione dei libri e un'altra contenente i vari disegni integrativi di ognuno dei libri.
 
 

Next Page

Indice