Abbiamo emulato l'interfaccia utente "Sugar" dei primi OLPC (One Laptop per Child) della serie XO-1: in questo articolo descriviamo il procedimento usato per caricare il Sistema Operativo OLPC su Qemu e le nostre prime impressioni di utenti.
Da quando, la settimana scorsa, i primi 1000 notebook del progetto OLPC (One Laptop per Child) hanno lasciato gli stabilimenti cinesi di Quanta Computer, molti di noi avranno desiderato provare questi piccoli e coloratissimi portatili.
Finchè, però, non potremo avere nelle nostre mani un X0-1 (è questo il nome della prima serie di OLPC) dovremo accontentarci di emularlo sul nostro computer. E' quello che abbiamo fatto noi di Notebookitalia.it e di cui vi daremo un resoconto in questo articolo.
L'XO-1 utilizza come Sistema Operativo una versione di Fedora realizzata in collaborazione con Red Hat e caratterizzata principalmente da una interfaccia utente completamente nuova e inconsueta, la Sugar Human Interface. Iniziamo dal setup di Qemu per poi analizzare in dettaglio Sugar e le sue funzionalità.
Setup
Per incominciare bisogna innanzitutto procurarsi una immagine del Sistema Operativo usato dagli OLPC. Possiamo scaricare la versione più recente da questo link: http://olpc.download.redhat.com/olpc/streams/development/latest/
Per questo articolo abbiamo usato l'immagine olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img.bz2, la versione che troverete voi potrebbe essere più recente, l'importante è che scarichiate quella con suffisso _ext3.img.bz2.
A questo punto bisogna installare Qemu e caricare il Sistema Olpc in emulazione. Il procedimento presenta, come ovvio, delle leggere differenze fra Windows e Linux:
Linux:
L'installazione di Qemu, a seconda della vostra distribuzione, avverrà in modo diverso:
# emerge qemu |
per Gentoo |
# yum install qemu | per Fedora |
# apt-get install qemu | per Debian e Ubuntu |
La versione di Qemu utilizzata per la nostra dimostrazione è stata la 0.8.1. Non è necessario in assoluto ma consiglio l'installazione del modulo del kernel kqemu perché velocizza notevolmente l'emulazione. Una volta installato il modulo dovrete caricarlo:
# modprobe kqemu major=0 |
Non resta che scompattare l'immagine del Sistema Operativo e caricarla nell'emulatore:
# bzip2 -dv olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img.bz2 |
# qemu -hda olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img -m 128 |
Abbiamo usato il parametro -m 128 perché simula un sistema con 128 MB diRAM, esattamente il quantitativo che hanno gli OLPC, tuttavia se volete un sistema più veloce potete provare con 256 MB di RAM:
# umount /dev/shm |
# mount -t tmpfs -o size=272m none /dev/shm |
# qemu -hda olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img -m 256 |
Fatto! Se non ci sono stati problemi, ora dovreste avere il vostro OLPC in una finestra sul desktop.
Windows:
Dovete innanzitutto scaricare e installare Qemu per Windows. Trovate le istruzioni e i file per il download a questo link:
http://www.h7.dion.ne.jp/~qemu-win/
Sulla stessa pagina trovate anche un link da cui scaricare Kqemu per Windows.
Per installare Kqemu seguite questi semplici passi:
- decomprimete l'archivio
- eseguite kqemu.inf
- andate al prompt dei comandi e digitate "> net start kqemu"
Ora caricate l'immagine del Sistema Operativo con Qemu:
> qemu -L . -hda olpc-redhat-stream-development-build-185-20061117_2030-devel_ext3.img |
Fatto. Se tutto è andato per il meglio si aprirà una finestra di Qemu col vostro OLPC emulato.
Boot dell'OLPC e configurazione rete
Appena avviato il sistema, vi troverete davanti l'interfaccia di Grub: non premete alcun tasto perché Grub è preimpostato per caricare automaticamente dopo 10 secondi il sistema operativo OLPC adatto a Qemu.
Trascorsi i 10 secondi inizia, quindi, la fase di boot. Si tratta di un tradizionale boot di Linux.
Caricato il Sistema Operativo, partirà automaticamente il display manager e dopo pochi secondi vi troverete davanti direttamente l'interfaccia utente grafica: Sugar!
A questo punto siete liberi di esplorare l'interfaccia, aprire applicazioni, interagire con Sugar.
C'è una sola cosa da aggiungere: sul mio notebook, connesso ad Internet tramite wireless, l'OLPC non è stato in grado di autoconfigurare la rete e quindi è stato necessario configurarla manualmente. Se questo fosse anche il vostro caso non preoccupatevi, è un'operazione banale, documentata chiaramente nel video che ho fatto.
La sola difficoltà risiede nel fatto che non potete usare le combinazioni da tastiera direttamente sul sistema emulato e quindi dovrete utilizzare la funzione sendkey del monitor di Qemu. Per accedere al monitor di Qemu dovrete usare la combinazione da tastiera 2-ctrl-alt, invece per uscire dal monitor dovrete digitare 1-ctrl-alt.
Il procedimento per configurare la rete è il seguente (in massima parte il procedimento sarà lo stesso ogni volta che vorrete accedere alla shell del vostro OLPC):
Accedete al monitor di Qemu digitando la combinazione di tasti 2-ctrl-alt (il focus deve trovarsi sulla finestra di Qemu)
Vi comparirà una interfaccia utente testuale:
QEMU 0.8.1 monitor - type 'help' for more information |
(qemu) |
Al prompt digitate "sendkey ctrl-alt-f1" in questo modo
(qemu) sendkey ctrl-alt-f1 |
Premete ora la combinazione da tastiera 1-ctrl-alt per uscire dalmonitor di Qemu.
Vi apparirà la shell dell'OLPC
localhost login: root |
-bash-3.1# ifconfig eth0 up |
-bash-3.1# dhclient eth0 |
Avete così configurato la rete e potrete navigare, scaricare i vostri feed rss preferiti e quant'altro.
Prima però dobbiamo riaprire il monitor di Qemu con la combinazione di tasti 2-ctrl-alt e sul monitor digitiamo questo comando
(qemu) sendkey ctrl-alt-f7 |
Infine torniamo a Sugar premendo la combinazione di tasti 1-ctrl-alt.
Sugar!
Gli OLPC sono destinati ad utenti di età compresa fra i 5 e i 13 anni, per questo motivo è stato necessario studiare una nuova interfaccia utente, la Sugar Human Interface, che fosse espressione di tutta una serie di principi di buona progettazione: usabilità e semplicità ma anche accessibilità e sicurezza. Trattandosi di un sistema open source, a questi principi si aggiunge quello della trasparenza: sarà possibile visualizzare il sorgente del software che gira sulla propria macchina.
L'obiettivo è creare un sistema in cui ogni elemento concorre a rendere l'esperienza di utilizzo più intuitiva possibile: dalla forma dei bottoni, ai colori, al feedback che riceve l'utente quando interagisce col sistema, tutto è stato studiato nei minimi dettagli per essere a dimensione di bambino.
Il risultato è una interfaccia grafica che in un primo approccio può disorientare perché molto diversa dal desktop a cui siamo abituati ma che dopo pochi minuti di uso sembra già familiare.
L'utente viene immerso nel desktop: la sua raffigurazione grafica, un omino stilizzato (detto anche "XO") si trova al centro dello schermo e sta a rappresentare il ruolo centrale che si è attribuito all'essere umano nella progettazione di questa interfaccia.
Inoltre l'utente non è solo, non ha un approccio individuale alla tecnologia, ma viene inserito in un ambiente collaborativo: ciascuno può essere al contempo alunno ed insegnante condividendo con gli altri il suo sapere e il suo lavoro. Da qui, la creazione di un network composto da più livelli concentrici (detti "Posti"): al centro si trova l'individuo circondato dalle sue applicazioni ("Casa"), attorno a lui un secondo cerchio è composto dagli "Amici", un gruppo di utenti ristretto al quale si accede con un meccanismo ad invito, e infine, il cerchio più esterno è composto dai "Vicini", il bacino di tutti gli utenti interconnessi.
Quindi, con Sugar non cambia solo il desktop, cambia proprio l'approccio che hanno gli utenti alla tecnologia. Da qui tutta una nuova terminologia: gli utenti diventano le "Persone", le applicazioni sono le "Azioni", i file si trasformano in "Oggetti".
La novità principale è sicuramente l'assenza di una barra di navigazione che è stata sostituita dal "Frame" una cornice a scomparsa che circonda tutto il desktop. I quattro lati del frame, che può essere invocato in ogni momento spostando il puntatore verso gli angoli o i bordi del desktop, sono destinati ciascuno a contenere informazioni differenti: a sinistra gli Oggetti, in alto i Posti, a destra le Persone e in basso le Azioni.
Un quantitativo ridotto di RAM e l'assenza di un hard disk limitano il ventaglio delle applicazioni disponibili.
Troviamo innanzitutto un web browser (evidentemente basato su Firefox), un client molto lineare e semplice per l'instant messaging e una versione Lite di AbiWord. Questo editor di testi dovrebbe essere soltanto un placeholder temporaneo destinato ad essere sostituito, successivamente, da una applicazione scritta in javascript che combina la lettura degli eBook con un ambiente tipo wiki.
A questi si aggiungono un paio di applicazioni per creare e giocare con immagini e contenuti musicali e "Penguin TV", una via di mezzo fra un aggregatore di notizie ed un riproduttore di contenuti multimediali che, sotto una interfaccia semplice, cela una applicazione potente e ricca di funzioni.
Merita infine qualche parola in più l'attività "Etoys", più che una applicazione un vero ambiente multi-funzionale che consente di fare praticamente qualsiasi cosa: potrete dare pieno sfogo a tutta la vostra creatività creando applicazioni, disegni, video, musica, documenti ipertestuali. Etoys mette a disposizione dell'utente un numero elevatissimo di strumenti, script, modelli che vanno dai giochi ai player multimediali, e consente la condivisione dei propri lavori.
In conclusione, nonostante alcune applicazioni e funzioni sembrino ancora assai acerbe, il nostro giudizio sull'interfaccia Sugar è pienamente positivo: dopo averla usata per qualche ora non solo vi sentirete completamente a vostro agio, ma guarderete anche il vostro portatile in una prospettiva diversa, nuova.