Un word processor è una creatura complicata di molti strati e pezzi, ma rappresenta un concetto relativamente semplice: un pezzo di carta con la scritta su di esso. Questo porta al problema di avere molte astrazioni senza un numero sufficiente di nomi intuitivi per descrivere queste astrazioni. Non tutto può essere un documento. La soluzione a questo tipo di problema è in genere la ricerca di potenti metafore che semplificano la vita.
Ecco alcune delle astrazioni per un documento che richiedono nomi intuitivi:
- La struttura dati che suddivide il testo normale in elementi significativi come capitoli, sezioni, titoli e vari tipi di enfasi. Questo è il documento più astratto perché evita tutte le informazioni di rendering come font, colori, sottolineature o allineamenti.
- La struttura dati che fornisce testo con informazioni di rendering come font, colori, dimensioni, allineamenti. Questo rappresenta anche un documento, ma a un livello più vicino alla pagina stampata. Probabilmente utilizza un'istanza del primo tipo di documento per aiutare a generare il contenuto.
- La struttura dati che dispone i glifi in linee di testo. Questo documento può contenere il numero di un paragrafo desiderato, una posizione all'interno di quel paragrafo e una larghezza massima in pixel, e produce una struttura dati che rappresenta una riga di testo pronta per essere disegnata. È opportuno basare l'astrazione di questo documento su un'istanza dell'astrazione del documento precedente poiché entrambi rappresentano documenti in diverse fasi del processo di rendering.
- La struttura finale dei dati memorizza le righe di testo nelle loro posizioni relative sullo schermo o sulla pagina. È in grado di disegnare un'intera schermata di testo, inserire figure e creare colonne. Conosce quale parte del documento è attualmente visibile, gestisce lo scorrimento o la divisione del documento in pagine per la stampa. L'astrazione di questo documento è la più vicina alla carta, ma è ciò che rende più degno di essere chiamato documento, oppure il livello più astratto è il vero documento poiché è ciò che l'utente sta veramente modificando?
Tutti e quattro i concetti sono documenti a modo loro, ma non posso chiamarli tutti i documenti; quello sarebbe confusionario. Qual è la metafora corretta da usare qui? Qualcosa che riflette intuitivamente la complessità del compito meglio di un documento?
Oltre a tutto ciò, ci sono tre diversi modi per rappresentare una posizione all'interno di un paragrafo.
- Misurato in caratteri dall'inizio del paragrafo
- Misurato come un numero di riga che inizia dalla prima riga del paragrafo e quindi misurato in caratteri dall'inizio della riga
- Misurato in pixel quando il paragrafo viene visualizzato sullo schermo
Queste tre rappresentazioni sono tutte posizioni, ma le cose diventano confuse se le chiamo tutte le posizioni. Ho bisogno di un modo semplice per distinguerli, qualcosa che si adatta bene alla metafora migliorata che userò per distinguere i quattro tipi di documento.
Ho esaminato la tipografia alla ricerca di buone metafore, ma niente mi salta fuori.
Ho anche considerato una metafora nella costruzione di un edificio. Il primo tipo di documento potrebbe essere un progetto, il secondo tipo potrebbe essere una Fondazione. Sfortunatamente il n. 3 e il n. 4 non sono chiari, e non sembra essere d'aiuto con il problema delle posizioni dei paragrafi.