Apple, Trusted Computing, HDCP: un po' di chiarezza

Mele e appunti

Tutto parte da questo articolo apparso su Ars Technica qualche giorno fa. In esso si racconta di come un professore di liceo abbia cercato di riprodurre il film Hellboy 2 sul proiettore della scuola, collegando il suo nuovo MacBook, e che, invece di mostrare il film sullo schermo, il MacBook gli abbia risposto con un messaggio di errore (lo vedete nella figura all’inizio dell’articolo) che tradotto suona così: Non è possibile riprodurre questo film perché è stata rilevata la presenza di un monitor non autorizzato a riprodurre filmati protetti. Provare a scollegare i monitor che non possiedono autorizzazione HDCP.

Il professore ha acquistato quel film su iTunes, e il proiettore Sanyo era collegato al MacBook attraverso un adattatore DisplayPort-VGA. L’uscita era quindi analogica, e la protezione del contenuto digitale. La conseguenza — ovvia, se ci si riflette un istante — non poteva essere differente.

Questa notizia si è diffusa rapidamente, con il classico, frenetico tam-tam del Web, e altrettanto rapidamente si è cominciato a dire di tutto. E spesso, come accade in questi casi, dicendo sciocchezze o quantomeno diffondendo informazioni imprecise.

La prima grossa sciocchezza è affermare che Apple abbia abbracciato finalmente il Trusted Computing, mossa annunciata nel 2006 con l’introduzione dei primi Macintosh basati su processore Intel che contenevano un chip TPM. Ci casca anche Paolo Attivissimo, che nel suo articolo sull’argomento esordisce così:

No, non siamo tornati nel 2006. Apple, però, crede di sì, a quanto pare: perché così come allora aveva infilato nei suoi computer i controversi chip TPM/Palladium con le loro funzioni anticopia, suscitando insurrezioni e boicottaggi, oggi riprova a menomare i diritti dei suoi utenti introducendo sistemi anticopia direttamente a livello hardware nei suoi nuovi portatili. Bella mossa, complimenti.

Credevo che in due anni le cose si fossero chiarite, invece pare che il mito del Trusted Computing nei computer Apple e in Mac OS X sia duro a morire. Voglio citare una fonte che mi pare abbastanza autorevole: Amit Singh, autore di un librone di 1680 pagine sull’architettura di Mac OS X: Mac OS X Internals: A System Approach. È un volume fenomenale per chi sia interessato a esplorare Mac OS X davvero ‘sotto il cofano’; io lo sto leggendo e mi sa che dovrò rinnovare il prestito alla biblioteca del Politecnico di Valencia, data la vastità e la densità degli argomenti (Singh scrive in maniera chiara e leggibile, e questo è sicuramente un bonus). Il libro è aggiornato a Mac OS X Tiger, ma Singh gli ha dedicato un sito Web, Mac OS X Internals: The Book ricco di aggiornamenti e contenuti aggiuntivi. Chi non conosce questo autore o ne dubita l’autorevolezza, dia un’occhiata al suo curriculum. Mi sembra di poter dire che Singh conosca bene sia il Trusted Computing che Mac OS X.

E infatti ha scritto due pezzi che riguardano proprio il Trusted Computing e Mac OS X. Il primo, Trusted Computing for Mac OS X (Trusted Computing per Mac OS X) è dell’ottobre 2006; il secondo, “TPM DRM” In Mac OS X: A Myth That Won’t Die (Il “DRM TPM” in Mac OS X: un mito duro a morire) del gennaio 2008.

Nel primo, Singh scrive (traduzione mia):

I TPM sono malvagi?

Spesso si associa il TCG (prima chiamato TCPA) con il famigerato Progetto Palladium di Microsoft. E altrettanto spesso si utilizza il TCG (Trusted Computing Group) come sinonimo di DRM. Certo, è possibile impiegare un TPM (Trusted Platform Module) per svolgere un compito all’interno di uno schema di DRM, ma da un punto di vista di “craccabilità” non cambia nulla a meno che non vengano messe in atto molte altre contromisure (e il potenziale utilizzo di tali contromisure, questo sì, è motivo di preoccupazione). Si crede anche che un TPM possa in qualche modo prevenire o controllare l’esecuzione di programmi: non può. Un TPM non può partecipare in decisioni riguardanti l’esecuzione — è sempre il software che deve prendere tali decisioni. Il TPM inoltre non conosce e non può conoscere eventuali liste bianche o nere di numeri seriali di computer. Con questo non intendo dire che non vi siano giustificabili preoccupazioni o problematiche per la privacy legate all’utilizzo del Trusted Computing. Uno scenario estremo ed esagerato avverrebbe se un produttore abusasse del TPM: per esempio un produttore che impedisse al cliente di disabilitare il TPM o cambiarne i permessi: questa è una cosa negativa. Tuttavia, così facendo, il produttore dovrebbe andare contro le specifiche [del TPM] […]

Le parti in grassetto non fanno parte dell’enfasi data da Singh nel suo scritto (quella è in corsivo), ma sono aspetti che ho voluto sottolineare io e che riguardano l’argomento del mio post.

Che cos’è una Trusted Platform? Singh:

Una Trusted Platform è una piattaforma di calcolo dotata di un componente “fidato” (trusted): per esempio un componente hardware anti-manomissione incorporato. Solitamente la resistenza in questione riguarda attacchi esterni, e non un attacco da parte del proprietario. Nel caso della piattaforma del Trusted Computing, il TPM è quella parte fidata, che consiste in un componente hardware piuttosto complesso. Si può considerare il TPM come il nucleo di un sottosistema fidato. I suoi costituenti logici comprendono unità funzionali e memoria. Esempi di unità funzionali comprendono un acceleratore hardware SHA‑1 e un generatore di veri numeri casuali. Fra gli esempi di tipi di memoria citiamo la memoria funzionante, attiva, la memoria di archiviazione non volatile, e la EEPROM. La specifica del TPM richiede certe caratteristiche, e in alcuni casi un minimo di risorse specifiche. Nella prossima sezione vedremo l’insieme delle caratteristiche dello specifico TPM utilizzato da Apple.

Più oltre, nella sezione dedicata al chip Infineon TPM1.2 che Apple impiegava (ricordo che questo pezzo risale al 2006), è interessante citare questa parte:

Forse la cosa più importante da notare nella specifica implementazione del TPM di Apple è che il firmware Apple non è TCG-aware, nel senso che non vi sono provvedimenti incorporati da Apple per stabilire una ‘presenza fisica’. Alcune operazioni sensibili del TPM (come lo ‘svuotamento’ del TPM, che lega il TPM a un nuovo proprietario e fa perdere ogni informazione o legame con proprietari precedenti) necessitano di presenza umana per venire stabilite. […] Un altro modo di considerare la ‘non-consapevolezza’ del TCG da parte del firmware, è quello di notare l’assenza di un driver TPM a livello di firmware [nel caso delle macchine Apple].

E ancora:

Le “chiavi del TPM di Apple”

È da molto tempo ormai che i media stanno discutendo sull’ ”Utilizzo del TPM da parte di Apple”. Si sono letti numerosi resoconti di aggressori che hanno aggirato “la protezione TPM di Apple” e che hanno trovato “le chiavi del TPM di Apple”. In ogni caso è importante tener presente che Apple non si serve del TPM. Se siete in possesso di un computer Macintosh dotato di TPM, voi potete sfruttare il TPM per le funzioni per cui è stato progettato, senza alcun effetto collaterale sul normale funzionamento di Mac OS X. Ovviamente per usare il TPM sotto Mac OS X è prima necessario un driver per comandare il dispositivo.

E ancora:

Al momento in cui scriviamo (ottobre 2006), nei modelli di computer Apple più recenti […] non è presente un chip TPM Infineon sulla scheda madre. […]

Nel secondo pezzo, “Il ‘DRM TPM’ in Mac OS X: un mito duro a morire”, Singh riassume:

Apple ha introdotto i primi Macintosh basati su architettura x86 agli inizi del 2006. Anche prima, in molti avevano notato la presenza di un TPM (Trusted Platform Module) nelle macchine del Developer Transition Kit. Dopodiché si sono susseguite molte discussioni e grande scalpore nei confronti del “DRM” che il TPM avrebbe dovuto imporre a livello dell’intero sistema. Tuttavia, il TPM contenuto nei Macintosh basati su architettura x86 commercializzati all’epoca non veniva utilizzato per niente né per fare alcunché.

Nell’ottobre 2006 scrissi in merito al TPM e al suo “utilizzo” in Mac OS X. Dato che Apple non fornì alcun software o driver firmware per il TPM, mi occupai di scrivere e rilasciare un driver TPM open source per Mac OS X. 

A questo punto Singh cita la parte del suo articolo dell’ottobre 2006 che io ho riportato poco sopra, il frammento intitolato “Le ‘chiavi del TPM di Apple’ ”, e continua:

Molti hanno faticato a credere quanto scrissi. Dopotutto Apple stava legando Mac OS X al proprio hardware in qualche maniera; e i primi Mac con architettura x86 incorporavano dei chip TPM. Alcuni hanno — scorrettamente — concluso che il TPM doveva per forza essere coinvolto in tutto questo. Come spesso accade in Internet, tali conclusioni si sono trasformate in miti infallibili. Io a mia volta faticavo a credere a tutte quelle idiozie: avevo creduto che il mio driver TPM open source avesse dissipato i vari miti. Il driver e il software associato permettevano all’utente di fare “qualsiasi cosa” con il TPM: attivarlo, utilizzarlo per i propri obiettivi, perfino disattivarlo — il tutto senza compromettere il funzionamento di Mac OS X. Inoltre il TPM era una componente hardware piuttosto diffusa nei computer moderni e molto spesso giaceva inutilizzato nei computer di molti produttori. Nell’estate del 2006, con l’introduzione del Mac Pro, il chip TPM scomparve del tutto dai Mac con architettura x86. Eppure anche in quel caso i teorici del complotto si inventarono qualche spiegazione, e arrivarono ad affermare che in qualche modo il TPM era stato incorporato nella CPU.

Più o meno nello stesso periodo del 2006, scrissi in merito alla protezione binaria in Mac OS X a livello di Kernel. Come viene spiegato in quell’articolo è in realtà la protezione binaria che lega Mac OS X a una specifica tipologia di hardware. [enfasi mia]

Lo so, il discorso è lungo e intricato, ma il succo è presto riassunto: Apple, pur inserendo nei suoi computer un chip TPM per un breve periodo, non ha mai implementato attivamente alcuna misura restrittiva legata al Trusted Computing né tantomeno ha esercitato alcuna forma di DRM con quel chip. Attivissimo (ma non è il solo) sbaglia quindi 1) nell’associare Palladium al chip TPM, 2) nel parlare di ‘funzioni anticopia’ (mai implementate da Apple nel chip TPM) e 3) nel dire che Apple “menoma i diritti dei suoi utenti introducendo sistemi anticopia direttamente a livello hardware nei suoi nuovi portatili”.

Il perché la 1) e la 2) sono affermazioni imprecise mi pare di averlo spiegato attraverso le informazioni attinte da Singh. Cerco di affrontare adesso l’imprecisione della 3).

Prima che apparisse questa storia su Ars Technica, avevo sentito nominare la famigerata HDCP un paio di volte en passant. Visto il polverone sollevato dall’articolo, sono andato sul sito Digital Content Protection a informarmi un po’. C’è moltissimo materiale lì, e così tanta carne al fuoco da far venire un bel mal di testa. Segnalo però almeno due risorse (in inglese) scritte con uno stile meno protocollare e più divulgativo:

  1. White Paper: “HDCP Deciphered” [Lo HCDP decifrato] — DCP, 8/7/2008 (File PDF)
  2. HDCP: What It Is and How To Use It” [HCDP: Che cos’è e come utilizzarlo] — EDN, 18/4/2002. Scritto da Jim Lyle di Silicon Image (File PDF)

Entrambi gli scritti mettono in chiaro una cosa, che lo HDCP non è DRM. Nel primo si legge:

È importante sottolineare una differenza basilare fra HDCP e altre tecnologie di protezione dei contenuti o della gestione dei diritti digitali. I fornitori di contenuti si servono tipicamente di un sistema DRM (Digital Rights Management) per proteggere i loro contenuti. Tali sistemi DRM sono progettati per impedire usi non autorizzati dei contenuti e consentire altri impieghi o imporre altre restrizioni su tali contenuti. Per esempio, un consumatore può scaricare un file audio o video e passarlo a un riproduttore digitale. Quel file è protetto da un DRM che controlla ciò che l’utente può fare con i contenuti del file. Per esempio il DRM potrebbe stabilire se l’utente può effettuare copie del file o riprodurre il contenuto su altri tipi di dispositivi. HDCP non è un DRM. HDCP svolge un ruolo molto specifico: criptare e proteggere i contenuti mentre vengono trasmessi come flusso di informazioni digitali per essere visualizzati.

Nel secondo, Jim Lyle scrive:

HDCP è protezione dei contenuti, non è un sistema di protezione anti-copia (o più esattamente di restrizione della copia). La differenza è sottile, ma estremamente importante. HDCP non è progettato per impedire la copia o la registrazione, né abolisce la registrazione differita (registrazione di programmi TV per poter successivamente mettere in pausa l’immagine o per poterli visionare in un secondo momento). 

In soldoni HDCP è un sistema che garantisce la trasmissione sicura di dati video digitali dal dispositivo A al dispositivo B, e lo fa attraverso un sistema crittografico con scambio di chiavi fra la parte trasmittente e la parte ricevente. (Un po’ come quando ci si collega con un altro Mac via SSH). Se il flusso segue un percorso più complesso, con presenza di un ripetitore, il ripetitore riceve i dati criptati dal trasmittente, li decodifica, li ricodifica e li invia al ricevente. In genere il trasmettitore può essere un computer o un lettore Blu-Ray e il ricevente un monitor, un televisore o un proiettore. Le due parti devono ovviamente poter dialogare attraverso un’interfaccia abilitata alla cifratura attuata da HDCP. Le interfacce sono: HDMI, DVI, DisplayPort, GVIF, UDI, e sono tutte, appunto, digitali.

Tornando allo sfortunato professore, lui si è trovato con un film comprato su iTunes Store e protetto dalla tecnologia HDCP. Inviando i contenuti del film attraverso un percorso impossibile da proteggere da parte di HDCP — che, rilevando la connessione VGA del proiettore, ha impedito la trasmissione perché il proiettore non avrebbe potuto decodificare i contenuti criptati — il professore si è ritrovato quel messaggio di errore.

Una situazione sgradevole, che non piace neanche a me. È irritante aver acquistato un film e non poterlo vedere indiscriminatamente su qualsiasi schermo uno voglia. Ma che Apple abbia implementato la protezione HDCP non è una novità e, seppure non sia certo strombazzato ai quattro venti, la pagina delle specifiche di AppleTV menziona HDCP (Nota 7 a “Porte e Interfacce”: Richiede HDMI con video HDCP o component). HDCP è espressamente nominato nei Termini del Servizio di iTunes Store. Nella sezione 10-xvi, Purchase or Rental of Apple Content si legge:

(xvi) HDMI. An HDCP connection is required in order to view movies (purchased or rented) and TV shows transmitted over HDMI.

Ossia: È richiesta una connessione HDCP per poter guardare film (acquistati o noleggiati) e spettacoli TV trasmessi via HDMI.

Questa parte è assente dai Termini del Servizio di iTunes Store italiano (e spagnolo e di tutti i paesi non-USA) perché fuori dagli Stati Uniti non è possibile acquistare o noleggiare film mediante iTunes Store.

La fruizione di contenuti digitali ad alta definizione sta andando incontro a uno scenario con un numero sempre maggiore di compromessi e lascia l’amaro in bocca il fatto che la decisione su come fruire di tali contenuti sia sempre meno nelle mani dell’utente, specie dell’utente onesto che ha pagato regolarmente il film e che di fatto non può disporne in totale libertà. Però in questo contesto è cruciale, a mio avviso, diffondere informazioni il più possibile corrette e ‘neutrali’, per evitare di prendere fischi per fiaschi e, come si dice in inglese, abbaiare sotto l’albero sbagliato.

Presumo che i disagi come quello vissuto dal professore dell’articolo di Ars Tecnica siano transitori e legati al fatto che ci troviamo in una fase di passaggio fra dispositivi contenenti nuove tecnologie digitali e dispositivi analogici o privi delle componenti necessarie a garantire la visione normale di contenuti protetti. È auspicabile che con il progressivo svecchiamento dei dispositivi, episodi del genere siano sempre meno frequenti.

Periodo di aggiornamenti

Mele e appunti

Prima un aggiornamento al firmware degli iPod nano e classic, poi un aggiornamento di Safari (3.2), poi un aggiornamento di QuickTime che migliora la compatibilità con iChat, poi l’aggiornamento 2.3 per AppleTV, poi l’aggiornamento a Final Cut contenuto nell’update delle applicazioni Pro, per finire in bellezza con iTunes 8.0.2 e, soprattutto l’aggiornamento di iPhone OS 2.2.

Per quanto riguarda quest’ultimo, un articolo su Macworld USA spiega in dettaglio i cambiamenti principali e anche qualche piccola novità non documentata. Riassumendo:

  • In Mappe è stata abilitata la vista a livello stradale (Street View), in cui è possibile vedere fotografie del luogo prescelto, se disponibili (un icona arancio lo segnala sul fumetto sopra la puntina). Inoltre ora con Mappe è possibile cercare indicazioni di percorso specificando se si è a piedi, in auto o con i mezzi pubblici (e qui la disponibilità del servizio è limitata, come fa notare l’articolo di Macworld, il che vuol dire che se Google non sa nulla dei servizi pubblici di Firenze, per dire, immagino che questa funzione non servirà a molto). Altre novità in mappe comprendono la visualizzazione degli indirizzi sopra le puntine sulla mappa e la possibilità di inviare per email un link alla mappa del luogo.
  • Per quanto riguarda le funzioni del telefono, Apple promette una stabilità ancora maggiore, un minor numero di chiamate interrotte, e una migliorata qualità sonora per la Segreteria (Visual Messaging).
  • Per Safari, Apple segnala miglioramenti nella stabilità e nelle prestazioni. In più l’interfaccia grafica è stata leggermente semplificata: ora la barra dell’indirizzo e quella per le ricerche si trovano sulla stessa riga e la parte http:// dell’indirizzo viene nascosta per risparmiare spazio. A prima vista non è che questo cambiamento mi faccia impazzire, ma saprò dire quando installerò l’aggiornamento sul mio iPhone.
  • Supporto dei Podcast: ora scaricabili dall’applicazione iTunes e fruibili dall’applicazione iPod. Ora è evidente perché a Podcaster fu negato il permesso di entrare nell’App Store qualche tempo fa.
  • Scorciatoie: se avete accumulato pagine e pagine di applicazioni scaricate dall’App Store, siete alla quinta o sesta pagina (o se preferite, schermata) e volete ritornare alla prima, ora non è più necessario ‘sfogliare’ freneticamente verso sinistra — basta premere il pulsante Home e si torna all’inizio.
  • Ora è possibile disabilitare la funzione di auto-correzione. Urrà.

Fra le novità non menzionate ufficialmente: adesso in iPhoto le anteprime delle schermate catturate su iPhone appaiono correttamente (prima venivano mostrate come immagini in bianco fino a quando non venivano importate). Quando si elimina un’applicazione dall’iPhone adesso appare una finestra di dialogo che chiede di valutare l’applicazione con un giudizio da una a cinque stellette (come i brani su iTunes). Infine, quando si sta leggendo la scheda informativa di un’applicazione nell’App Store utilizzando iPhone, adesso è possibile visualizzare più di una schermata d’esempio (prima erano visibili solo navigando l’App Store da iTunes sul Mac).

Aspettavo con curiosità questo aggiornamento al software di iPhone, ma devo dire che lascerò passare qualche giorno prima di applicarlo. Voglio leggere prima qualche altro commento e osservazione in rete, non si sa mai.

Le avventure vintage continuano

Mele e appunti

La prima parte della mia operazione di ristrutturazione della rete domestica, in cui ho inserito un PowerMac 9500 al posto di un Quadra 950 per fare da ponte fra i Mac più moderni e il parco macchine vintage, narrava delle vicissitudini scaturite da uno sfortunato incidente di percorso (due dischi rigidi interni SCSI morti insieme lo stesso giorno). Installare nuovamente Mac OS 9.1 sul disco interno superstite del PowerMac, come illustra il mio estenuante racconto, è stato molto meno banale del previsto, e quando alfine sono riuscito nell’impresa, la prima parte della vicenda (e del post) si chiudeva con un ultimo inghippo:

Scollego tutto e riavvio il PowerMac 9500. Il sistema si carica, ma è sospettosamente lento. Dodici minuti dall’icona del Mac sorridente alla scrivania sono troppi. […] Avviando con le estensioni disabilitate tutto è a posto e il PowerMac è molto reattivo, quasi più di prima. Il problema è evidentemente una o più estensioni, o anche un conflitto fra esse. Può essere che non installando Mac OS 9.1 direttamente sul PowerMac ma usando un’installazione fatta da un PowerBook Titanium, siano state aggiunte componenti che mandano il PowerMac in rigetto. La caccia all’estensione maledetta, in pieno stile pre-Mac OS X, ha inizio ora, e se l’argomento intrattiene e diverte, farò sapere come va.

Ora, non saprei dire se l’argomento abbia ‘intrattenuto e divertito’, ma dato che a me piace sempre arrivare in fondo alle cose, riporto il seguito della mia avventura vintage.

Prima di cimentarmi nella famigerata danza ‘togli estensione 1 / riavvia il Mac / rimetti estensione 1, togli estensione 2 / riavvia il Mac’, che gli utenti Mac di lungo corso ricorderanno come una delle cose più tediose e nient’affatto Mac-like mai sperimentate, ho voluto provare a capire un po’ meglio quella strana lentezza all’avvio del PowerMac 9500. A un’analisi più attenta, il fenomeno era il seguente: tutta la procedura di boot avveniva come al ralenti, con le estensioni che si caricavano una alla volta e con una considerevole pausa fra l’una e l’altra. Quando finalmente veniva caricata la scrivania, l’intera interfaccia grafica reagiva ai clic del puntatore e agli input da tastiera con enorme ritardo, al punto che il Mac sembrava congelato. (In Mac OS X uno scenario abbastanza simile a questo si manifesterebbe se, per qualsiasi motivo, un processo si prendesse il 100% di risorse della CPU e la soffocasse fino a rallentare persino i movimenti del puntatore del mouse). Insomma, il Mac pareva talmente occupato a gestire qualcosa dietro le quinte, da non badare agli stimoli provenienti dall’esterno. Non sentendo alcuna attività ‘macinante’ a livello di disco rigido (e quest’unità da 500 MB è oscenamente rumorosa), ho pensato si trattasse di qualche conflitto in memoria. Dopo alcuni minuti in questo stato, tuttavia, il Mac ‘tornava in sé’ e riprendeva a essere scattante come lo era sempre stato e tutto funzionava senza problemi. Nessun errore, nessun messaggio strano.

Perplesso, non mi rimaneva altro da fare che iniziare la malefica danza di cui sopra, entrando nel pannello di controllo Gestione Estensioni e iniziando a disattivare componenti inutili (come FireWire Support, le numerose estensioni ATI, le componenti per la gestione di OpenGL, ecc.). A ogni riavvio la situazione non cambiava: Mac al rallentatore fino al caricamento della scrivania, una manciata di minuti in stato di semi-intontimento e poi di nuovo scattante. Quando persino selezionando il set di estensioni “Mac OS 9.1 base” (che viene proposto come set di default da Apple in caso di conflitti fra e con estensioni di terze parti) il Mac al riavvio continuava a comportarsi in questa strana maniera, la mia pazienza si è esaurita. (Calcolate un quarto d’ora a riavvio, moltiplicatelo per almeno una dozzina di riavvii e avrete una vaga idea del tempo che si può perdere con un tale tipo di troubleshooting). Era cruciale installare Mac OS 9.1 direttamente sul PowerMac, senza giri e scorciatoie.

Collegata al PowerMac la gloriosa unità a cartucce SyQuest 5200C, e inserita una cartuccia da 200 MB con un’installazione pulita di Mac OS 7.6, ho riavviato il Mac da questa unità e ho cancellato la Cartella Sistema di Mac OS 9.1 sul disco rigido. L’intento era quello di riprovare a mettere il CD-ROM di Mac OS 9.1 nell’unità ottica del PowerMac e ritentare l’installazione. Ma, colpevole la stanchezza, dimenticavo che quel CD-ROM non viene visto dai driver troppo datati di Mac OS 8 e versioni anteriori. Mi ritrovavo quindi daccapo, con un PowerMac avviabile solo dall’unità SyQuest con Mac OS 7.6. Non avendo voglia di staccare tutto e di smontare il PowerMac 9500 ancora una volta, estrarre il disco rigido, eccetera eccetera, ho pensato di riprovare la strada del PowerBook 5300 come tramite fra il CD-ROM di Mac OS 9.1 condiviso dall’unità ottica del PowerBook G4 Titanium e un’unità dove installare il 9.1 in modo da poter poi avviare il PowerMac da lì. Avendo il SyQuest sotto mano, ho cercato una cartuccia con spazio libero sufficiente, ma invano.

La situazione si faceva grottesca, ma l’idea di utilizzare un’altra periferica d’antan si è rivelata vincente. Sono infatti riuscito a installare una versione di Mac OS 9.1 minima su un disco magneto-ottico, riesumando una vecchia unità MaxOptix SCSI e un disco da 652 MB doppia faccia (quindi 300 e passa Megabyte per faccia). Con Mac OS 9.1 installato sul magneto-ottico, ho collegato l’unità (che da sola pesa quanto un Macintosh SE, tra parentesi) al PowerMac, avviato da lì, inserito il CD-ROM di Mac OS 9.1 nel lettore del PowerMac ed effettuato finalmente un’installazione completa di OS 9.1 sul disco rigido interno. Copiato Vine Server for Mac OS 9 e messo negli elementi di avvio, finalmente sono riuscito a vedere il PowerMac 9500 dal PowerBook G4 12″ mediante Condivisione Schermo:

9500 controllato dal PowerBook G4

Essendo l’output video regolato sui 640 x 480 pixel del Monitor Color Display da 14 pollici, la finestra è davvero piccolina. Ho pensato a qualche sistema per sfruttare un po’ più di spazio, e mi è venuta in mente un’applicazione che avevo provato anni fa: SwitchRes. Con sorpresa, una breve ricerca sul Web mi porta a scoprire che l’applicazione è tuttora supportata, che ne esiste una versione per Mac OS X (SwitchResX) e per Mac OS 9 e anteriori (SwitchRes 2). Scarico SwitchRes 2.5.3, lo passo al PowerMac e lo provo. È un programma che va usato con un po’ di attenzione, perché è facile ritrovarsi con uno schermo nero e non poter far altro che riavviare il Mac in maniera brusca. Fortunatamente, comandando il PowerMac dal PowerBook G4 via VNC, mi è stato possibile continuare a vedere il desktop del PowerMac sul PowerBook anche a risoluzioni superiori (800 x 600 nella figura sottostante).

SwitchRes 2 e schermo a 800x600

Registrato SwitchRes 2 (mi ricordavo bene, è un gran programma), e avendo ormai sistemato la configurazione del PowerMac 9500, sono andato a vedere se il disco rigido esterno da 4 GB con installato Rhapsody Developer Release 2 funzionava ancora come lo avevo lasciato quasi un anno fa. L’ho collegato al PowerMac ma naturalmente non mi è stato possibile riavviare direttamente in Rhapsody, dato che con il guasto al primo disco rigido del PowerMac fra i dati perduti c’era il Multibooter che permetteva appunto il riconoscimento di unità formattate Rhapsody (che non usa il filesystem HFS o HFS+ del Mac, ma un filesystem UNIX: UFS) nonché di specificarle come dischi di avvio. Ho dunque inserito il CD-ROM di Rhapsody e copiato Multibooter sul disco rigido. Lanciato il programma, il disco esterno con Rhapsody veniva subito riconosciuto:

Multibooter di Rhapsody DR2

Nella figura, le unità visibili sono 9500 (Mac OS) (il disco rigido del PowerMac); Rhapsody DR2 (Mac OS) e Rhapsody DR2 (Rhapsody) sono le due partizioni dello stesso CD-ROM di Rhapsody, formattate per essere leggibili da Mac OS e da Rhapsody; e infine Titan1T7 (Rhapsody), che è il disco esterno da 4 GB, visibile solo da Multibooter (sulla scrivania non c’è — e non ci può essere, per la ragione vista sopra). Da notare come da questa applicazione/pannello di controllo sia derivato il pannello ‘Disco di Avvio’ in Mac OS X, con la disposizione orizzontale dei volumi selezionabili per l’avvio.

Scelto il disco esterno e riavviato, mi ritrovavo in Rhapsody, con le finestre aperte nel Workspace Manager così come le avevo lasciate a fine 2007. Su Rhapsody tornerò un’altra volta: devo togliere un po’ di ruggine e familiarizzarmi di nuovo con il sistema operativo. La prossima impresa immagino sarà portare Rhapsody su Internet cercando di reinstallare OmniWeb (sì, OmniWeb era già in circolazione a quei tempi). Se non dovesse funzionare, c’è sempre Lynx!

Ancora su Flash -- Adobe insiste

Mele e appunti

Adobe strikes deal to bring Flash, AIR to ARM devices | iPhone Central | Macworld: Questo breve articolo di Macworld USA riferisce del recente annuncio di Adobe di aver stretto un accordo con ARM per ottimizzare e portare le tecnologie Flash e AIR su dispositivi controllati da processori ARM. Com’è noto, iPhone ha un cuore ARM.

Insomma, anche se non viene detto esplicitamente, sembra che Adobe stia facendo di tutto per far entrare Flash su iPhone. Ho già riportato un mesetto fa le osservazioni di John Gruber, che condivido al 100%. L’altro giorno alla FNAC ho sentito parte di una conversazione fra due ragazzi che stavano giochicchiando con un iPhone in esposizione. Sembrava quasi uno spot “Mac vs PC” amatoriale, con un ragazzo che, entusiasta, mostrava le meraviglie del dispositivo all’amico, e questi che non faceva altro che ripetere la stessa manfrina: “Sì, certo, bello. Ma…”. Naturalmente, fra le cose che “iPhone non ha”, Flash era in cima alla lista. Non è certamente la prima volta che sento qualcuno lagnarsi della mancanza di Flash su iPhone. Il ‘ragazzo PC’ alla FNAC mi ha stupito per la sua insistenza, come se iPhone fosse un prodotto col potenziale ridotto al 50% per il fatto che non supporta Flash.

Ero tentatissimo di intromettermi nella conversazione chiedendogli che cosa caspita ci trova di tanto bello e completo nell’avere Flash su iPhone. Io assolutamente niente. Apple non sembra granché interessata ad incorporare Flash nell’iPhone e preferisce incoraggiare lo sviluppo di JavaScript. Come fa notare il solito Gruber, nella ultima WWDC si sono tenute parecchie sessioni su HTML, CSS e JavaScript, sottolineando come queste tecnologie siano la via da seguire per sviluppare per iPhone come piattaforma Web mobile, e questo anche prima dell’introduzione di iPhone sul mercato.

Flash su piattaforma Mac ha sempre fatto pena in termini prestazionali, e non c’è paragone con Windows, dove funziona egregiamente. Non possiedo Mac di ultimissima generazione, ma non è possibile né accettabile che Camino o Safari arrivino a prendersi fino all’85% delle risorse della CPU (sui miei Mac con processore G4) ogni volta che caricano un sito con contenuti Flash. A volte mi capita di usufruire di siti per la condivisione di file di grosse dimensioni. Con le dovute eccezioni, molti di questi siti visualizzano parecchia pubblicità dinamica, sia nella stessa pagina in cui si può scaricare il file, sia aprendo nuove finestre con pubblicità Flash a tutto schermo. Questo spesso si traduce in rotellina colorata in Camino o Safari, rallentamento generale del sistema (al punto che devo fare clic almeno 10 volte sul pulsante di chiusura della finestra con contenuti pubblicitari prima che il browser registri la mia richiesta), e in qualche caso nel dover ricorrere a un’uscita forzata del browser se voglio continuare a lavorare o a navigare il Web.

Mi immagino Flash sull’iPhone. Sono sicuro che è negli intenti di Adobe ‘ottimizzarlo’ per dispositivi come iPhone, dove ottimizzare in questo contesto dovrebbe significare minore impatto sui cicli processore (ricordiamoci che un ARM non è un PowerPC G4 o un Intel Core 2 Duo) e minore impatto sulla vita della batteria. Anche ammettendo che riescano a ‘ottimizzare’ in tal senso (e visto come Flash è ‘ottimizzato’ per Mac, lasciatemi nutrire qualche dubbio), il discorso è un altro: Flash sarà mai ‘ottimizzato’ per la navigazione Web su un dispositivo mobile e per la relativa esperienza utente / usabilità?

Se ritorniamo sui problemi di usabilità Web trattati negli ultimi due post, possiamo notare un punto secondo me cruciale nell’analisi di Nielsen-Loranger, ovvero che l’utente quando naviga il Web è impaziente e interessato a ottenere una sola cosa: le informazioni che cerca, nel più breve tempo possibile, e senza troppe deviazioni sulla sua strada. Se portiamo il discorso sulla navigazione Web con un dispositivo mobile, è evidente come questa esigenza dell’utente diventi ancora più pressante, visto che si trova in movimento, fuori sede, lontano da una postazione comoda e magari ha proprio fretta di trovare quel che cerca. Ecco, io vedo Flash in un simile scenario come totale ostacolo all’usabilità del Web su piccolo schermo, nonché alla piacevolezza e scorrevolezza di tale esperienza (per non parlare dell’utilità).

Da quando uso iPhone e navigo il Web da MobileSafari, non posso fare a meno di notare come l’assenza di contenuti Flash sia un beneficio, non una mancanza, all’esperienza di navigazione Web su uno schermo da tre pollici. Non devo aspettare che una presentazione in Flash si carichi (e no, non tutti i siti in Flash hanno un link per saltarla) (e immaginiamoci di dover aspettare il caricamento di un sito in Flash quando ci troviamo in una zona non coperta dal 3G). Non vengo distratto da animazioni a video né si aprono finestre secondarie. Uno potrebbe obiettare dicendo che vanno perse tutte le informazioni presentate come contenuti Flash in molti siti. Sarà, ma per me è un limite del sito Web, non dell’iPhone. È il sito che deve prevedere — per ragioni di usabilità — la possibilità di fruire dei suoi contenuti anche per quelle piattaforme che non supportano Flash o che non lo hanno installato. Se l’unica opzione che mi offre un sito è sorbirmi il suo Flash, io lo salto immediatamente e non ci ritorno. È il sito a perderci, non io che uso iPhone.

Usabilità Web: otto problemi ancora attuali (Seconda parte)

Mele e appunti

Ecco il seguito della Prima parte del sunto tratto dal Capitolo 3 del libro Prioritizing Web Usability, a cura di Jakob Nielsen e Hoa Loranger. Il testo originale è ovviamente copyright di Nielsen e Loranger.

4. Finestre pop-up

[…] Per moltissimi utenti la natura stessa delle finestre pop-up, ossia il loro inatteso e improvviso manifestarsi, è ragione sufficiente per cercare di evitarle con ogni mezzo. I pop-up spesso appaiono di sorpresa e rappresentano una deviazione da ciò che gli utenti si aspettano dal Web, cioè ricevere informazioni elaborate nella finestra principale del browser. Inoltre in genere i pop-up hanno una connotazione squallida, perché spesso appaiono su siti porno e di giochi d’azzardo.

Utenti con diversi tipi di disabilità fanno particolarmente fatica a gestire finestre aggiuntive. Persone affette da problemi motori di certo non gradiscono lo sforzo in più per fare clic sui vari pulsanti “Chiudi finestra”. Gli ipovedenti potrebbero persino non accorgersi della presenza di una finestra pop-up se stanno utilizzando lo zoom per esaminare un’altra parte dello schermo. Infine, per i non vedenti è un problema ancor più grave: devono gestire il carico cognitivo extra dato dal maggior numero di finestre a video poiché devono ricordarsi quali informazioni sono state lette ad alta voce da quale pop-up.

Empiricamente, notiamo come moltissimi utenti chiudano le finestre pop-up il più rapidamente possibile — spesso ancor prima che il loro contenuto si sia caricato del tutto. Il fatto che si tratti di un pop-up è ragione sufficiente per volersene sbarazzare, e al più presto.

In realtà, nel progettare l’interazione, è possibile utilizzare i pop-up in maniera legittima. Agli inizi, una finestra pop-up era una buona soluzione per visualizzare una piccola quantità di informazioni aggiuntive mantenendo in vista la maggior parte dell’area di lavoro principale dell’utente. Due esempi classici di uso legittimo sono le informazioni di aiuto e le definizioni di glossari e dizionari. […]

Spiace dirlo, ma oggi anche i pop-up ‘buoni’ sono raramente una scelta appropriata, proprio perché i pop-up ‘cattivi’ ne hanno rovinato la reputazione. Un sito di e‑commerce ha recentemente perso molte vendite perché utilizzava finestre pop-up per una funzione cruciale del processo di pagamento. Questo design aveva funzionato bene in passato, ma improvvisamente molti utenti non vedevano più le informazioni pop-up, sia perché avevano abilitato delle funzioni di blocco dei pop-up, sia perché li chiudevano loro manualmente senza nemmeno leggerli. […]

5. Elementi di design che somigliano a riquadri pubblicitari

Gli utenti del Web sono estremamente orientati verso i propri obiettivi: cercano le informazioni di loro interesse e ignorano qualsiasi cosa che altri vogliono forzosamente proporre alla loro attenzione. Infatti, non solo gli utenti ignorano passivamente ogni informazione non richiesta, ma hanno perfezionato un sistema attivo di autodifesa contro di essa. […]

Il fenomeno più notevole è la cosiddetta ‘banner blindness’, ovvero la cecità nei confronti di banner pubblicitari. Studi di tracciamento dei movimenti oculari hanno registrato pause di qualche microsecondo sui banner, ma quasi mai periodi di fissazione più lunghi o una vera e propria lettura dell’annuncio. Gli utenti ignorano anche i più vistosi banner lampeggianti allenando il proprio sguardo a evitare questo genere di ‘attacco’ ai sensi.

La ‘banner blindness’ si è evoluta e oggi gli utenti tendono a evitare qualsiasi elemento che suggerisca la presenza di informazioni irrilevanti o di annunci pubblicitari. [..] Abbiamo notato come frequentemente gli utenti evitano di fare clic su qualunque elemento di una pagina Web che non sia legato alle informazioni che vogliono. Interpellati dopo i test, la loro risposta è sempre “Ah sì, ho visto quella roba, ma sembrava un annuncio pubblicitario e quindi l’ho ignorata”.

Gli utenti sono stati condizionati a ritenere che tutte le parti utili dei siti Web siano costituite da testo puro, con l’eccezione di piccoli pulsanti “Aggiungi al carrello” a fianco di fotografie di prodotti. Abbiamo perfino osservato dei soggetti che non acquistavano delle merci sui siti di e‑commerce perché non riuscivano a trovare il pulsante “Compra” — era in realtà troppo grande e colorato, e lo avevano inconsciamente ‘scartato’ dal campo visivo.

Ironicamente, in tutte queste situazioni, il fatto che un elemento di design sia davvero un annuncio pubblicitario è irrilevante: dato che le persone non lo leggono, non lo sapranno mai. […]

Esiste anche un motivo di ordine tecnico per evitare di utilizzare elementi di design che somigliano a riquadri pubblicitari: vari utenti hanno installati dei software che impediscono la visualizzazione di annunci nella finestra del browser. Questi software non analizzano i contenuti, ma semplicemente scartano qualsiasi elemento grafico che abbia le dimensioni di un banner classico (728 x 90 pixel, per esempio).

[…] Includere elementi che somigliano ad annunci pubblicitari è comunque un metodo sicuro per compromettere l’usabilità di un sito Web. […]

6. Il mancato rispetto delle convenzioni del Web

Vi ricordiamo la Legge di Jakob [Nielsen] sull’Esperienza Utente in Internet: gli utenti passano la maggior parte del tempo su altri siti Web (la Legge viene discussa in modo più approfondito in Homepage Usability: 50 Websites Deconstructed, a cura di Nielsen e Marie Tahir). Anche se gli utenti arrivano a frotte per visitare il vostro sito perché è uno dei più vasti e importanti dell’intero Web, le visite che hanno precedentemente accumulato in tutti gli altri siti saranno sempre maggiori di quelle al vostro.

Ciò significa che le loro aspettative nei confronti del vostro sito derivano da quanto hanno imparato ad aspettarsi altrove. Se sono abituati agli standard e alle convenzioni predominanti, si aspetteranno di trovarle anche da voi. Con una media di 1 minuto e 49 secondi per convincere potenziali clienti che val la pena fare affari con voi, non sprecate quel prezioso intervallo di tempo mettendoli di fronte a una interfaccia utente fuorviante.

[Portando il cattivo esempio del sito Zinc Bistro]: Le parole Lunch, Dinner e Navigate comunicano una ‘cliccabilità’ molto forte, mentre in realtà non sono selezionabili. Gli unici elementi cliccabili su questa home page sono cinque delle uova nella figura centrale in basso. Se si fa clic su un punto sbagliato del portauova si è portati a pensare che non vi siano altre informazioni disponibili oltre a quelle [poche] visualizzate. Elementi d’interfaccia oscuri riducono la qualità dell’esperienza utente e scoraggiano i visitatori di un sito. Quando le informazioni sono nascoste, le persone presumono che non ve ne siano. Al contrario, interazioni prevedibili incentivano i visitatori a esplorare senza timore di incontrare ostacoli.

7. Contenuti fumosi e sensazionalismi vacui

Uno dei problemi più gravi sul Web è che le aziende sui loro siti non vogliono presentarsi in completa onestà e dire di cosa si occupano in maniera chiara e comprensibile. Questo continua a essere una questione critica, perché gli utenti del Web sono molto impazienti e dedicano molto poco tempo a ogni pagina. Più le descrizioni sono scritte con uno stile fiorito e prolisso, più gli utenti le ignorano e si dirigono altrove. […]

Purtroppo il Web è così affogato da contenuti fumosi e verbosità astratta che gli utenti finiscono col saltare a piè pari una gran quantità di materiale. Naturalmente, maggiore è la quantità di pessima scrittura che fate subire ai visitatori del vostro sito, più li spingete a ignorare del tutto il messaggio che volete comunicare. Un contenuto inutile non solo infastidisce le persone, è anche e soprattutto la causa primaria della perdita di vendite.

La pratica di rendere i siti Web più visibili dai motori di ricerca si chiama Search Engine Optimization (SEO). Più un testo è concreto, meglio si posizionerà un sito nei risultati della ricerca. Come abbiamo visto nel capitolo precedente, gli utenti che puntano a un potenziale acquisto iniziano quasi sempre effettuando una ricerca. Ciò rende la SEO la tecnica di marketing numero uno per i siti Web, e utilizzare parole chiare e semplici è la tattica di SEO principale, dato che quelle sono le parole che gli utenti immettono nei motori di ricerca.

Un linguaggio fumoso non solo non offre alcun vantaggio mentre gli utenti stanno visitando il vostro sito, ma può persino impedire agli utenti di trovare il sito, poiché quei siti che si servono di un linguaggio più semplice avranno una posizione migliore nell’elenco dei risultati forniti dal motore di ricerca.

8. Contenuti troppo densi e testi difficili da scorrere rapidamente

Fitti blocchi di testo sono uno dei fattori principali che fanno allontanare gli utenti del Web. L’aspetto scialbo e uniforme di una pagina piena di testo suggerisce immediatamente ai visitatori che dovranno faticare non poco per estrapolare le informazioni di loro interesse. […] Spesso la prima impressione è che non valga la pena di perderci tempo.

Gli enti governativi sono in genere i maggiori esponenti di questa categoria di siti. Forse perché i dipendenti statali sono abituati a lavorare con documenti lunghi e densi, scritti sostanzialmente per uso interno e fortemente conditi con terminologia burocratica specializzata. Quando gli enti governativi riducono l’uso di tale terminologia, credono di aver reso i contenuti più fruibili per l’utente Web medio. Ed è così, ma non è sufficiente. Il burocratese va ridimensionato parecchio. Questo è un classico esempio di problema di usabilità provocato da designer e autori troppo chiusi nella loro cultura interna per riconoscere l’enorme divario che la separa dal resto del mondo là fuori.

Il testo sul Web dovrebbe essere breve, facile da scorrere e da comprendere. In genere per il Web si dovrebbero impiegare la metà delle parole che si userebbero su carta. Se ci si rivolge a un pubblico vasto e diversificato che comprende persone con poca o nessuna istruzione, meglio ridurre al 25% le parole da utilizzare rispetto a quanto si farebbe su carta. E nello scrivere per il Web è sempre preferibile cominciare con le conclusioni, in modo che sia sufficiente leggere anche solo la prima riga o due per capire il succo del messaggio. Fin quando i contenuti sul Web non saranno scritti in maniera chiara e concisa, questo rimarrà un grave problema di usabilità.