On the other side of the screen, it all looks so easy

Archive for January, 2007

Overdrive/1

Un recap sui progetti a cui sto lavorando al momento.

Clutter

Nei commenti al blog precendente mi si chiedeva di Clutter. Per chi non seguisse Planet GNOME (o per chi lo seguisse ma non avesse comunque la più pallida idea di cosa si tratti), Clutter è un toolkit che ho contribuito a realizzare più o meno da quando sono stato assunto alla OpenedHand (settimana più, settimana meno).

Clutter è un toolkit basato sulle stesse librerie usate per le GTK+ (GLib, GObject, Pango) ideato per scrivere applicazioni con un’interfaccia grafica mono-finestra - ad esempio: media box, personal video recorder, etc. - in ambienti (embedded e non) dotati di grafica accelerata (tramite OpenGL oppure OpenGL ES). Clutter fornisce un canvas, rappresentato dal singleton ClutterStage, e alcuni widget, chiamati ClutterActor. I widget forniti sono (volutamente, al momento) pochi: non solo perché siamo alla release 0.2.0, ma soprattutto perché vogliamo vedere di cosa necessitano gli sviluppatori prima di implementare ClutterActor nel modo sbagliato o del tutto inutili.

Hello, World - Come funziona Clutter? Ecco un semplice “hello, world” che sfrutta buona parte delle nuove API. È scritto in Python - avrei preferito scriverlo in Perl, ma conoscendo la quantità di pythonisti in “ascolto” ho scelto altrimenti; la versione in Perl è disponibile a richiesta. Se volete, potete scaricarla e farci quello che volete - è nel public domain, come dovrebbero essere tutti gli “hello world” di questo mondo. Se cliccate dopo il link, smonto il codice in blocchi per spiegare come funziona.

Read the rest of this entry »

Comments (16)

Margaret vs. Pauline

Non capisco cosa stupisca woland tra queste normali dinamiche fratello-fratello.

Warning: i link di cui sopra sono spoiler - non dite che non vi avevo avvertito

Comments (1)

The Body Says No

È giunto il momento di rivelare al mondo, e alle anime belle che lo abitano, una verità orrenda, per troppo tempo taciuta da Chi Sa:

Python Fa Schifo e Chi l’Ha Scritto Va Tumulato Vivo Sotto Una Colata di Cemento a Presa Rapida

Certo, il linguaggio in sé è moderatamente carino, ma appena tenti di muoverti sotto l’interprete, per scrivere un modulo di interfaccia tra una libreria C e Python, l’idiozia della API Python/C e l’assenza di messaggi di errore significativi rendono il lavoro con Python una tortura - e dimostrano un’amatorialità degna di Ruby. Un’ora di questa tortura e rimpiango le macro criptiche e l’assenza di documentazione delle API del Perl. Per un linguaggio che si vanta di seguire il dogma del better explicit than implicit, le API C sono il trionfo della perversione mentale, della rottura all’indietro, dell’inconsistenza nelle naming policy e della mancanza di utilità.

Ovviamente, ognuno è libero di pensarla diversamente; sono convinto che Pythonisti arriveranno qui nel tentativo di mostrarmi la Retta Via Verso l’Illuminazione. Per me, tuttavia, e per i miei scopi non esiste differenza tra il lavorare per mezza giornata con Python e darmi delle vigorose martellate sui coglioni.

Adesso mi sento molto meglio. E no, Python continua a farmi schifo.

Comments (9)

Something to Look Forward to/2

Ma te come lavvedi? - ovvero: l’iPhone è una stronzata o il gadget che cambierà la vita nostra e dei nostri figli in secula seculorum? Steve Jobs è il male incarnato, un venditore di fumo che ci propina tecnologia di cinque anni fa come se fosse nuova e on the edge, oppure è la seconda venuta di Cristo in terra, che ci libererà dalla schiavitù delle interfaccie grafiche vecchie di trent’anni?

Faccio il terzista moderato, e dichiaro: a little bit of both.

L’iPhone è uno smart phone, ovvero un PDA con un telefono cellulare; la Apple sa come fare i PDA dai tempi del Newton - solo che, all’epoca, non sapeva ancora venderli, o convincere la gente a comprarli (ché, poi, è la stessa cosa). I telefoni cellulari sono fuori dal loro campo, ma fortunatamente per loro ormai trovi circuiteria che implementa il GSM o l’EDGE al mercato del pesce. A questo punto, si aggiunge uno schermo da tre pollici e mezzo, touch screen e multi point e si elimina la tastiera - come hanno fatto la Siemens e altre telco svariate volte. Il problema con i touch screen si riassume in due parole: “feedback tattile”, ovvero quella cosa che dice al vostro cervello “si, hai premuto il tasto”. È qualcosa di basso livello, non coinvolge nemmeno il feedback dell’aggeggio (ovvero in quanto tempo l’aggeggio risponde al comando); è solo il modo in cui il tuo cervello funziona con gli oggetti tridimensionali. Ecco perché al giorno d’oggi non abbiamo grosse scrivanie di cristallo su cui appaiono tastiere colorate (a-la Tron); perché i laptop hanno ancora una tastiera invece di essere tutti tablet pc; perché i PDA hanno quasi tutti la stilo. Il nostro cervello funziona nei modi più strani: se premiamo qualcosa il cervello vuole la conferma. Se l’Apple ha sviluppato qualcosa del genere, avrà fatto anche i suoi bei studi di usabilità su qualche centinaio di cavie, quindi non discuto della scelta; la Apple, però, è nota anche per le sue belle cantonate - sebbene ne faccia di meno, negli ultimi tempi, non vuol dire che siano diventati infallibili quando Jobs parla ex keynote.

Andiamo oltre: interfaccia multi point. Ancora, niente di nuovo sotto il sole. Hanno fatto una demo tempo fa ai Google Labs, e l’idea ha l’indubbio pregio (dal punto di vista dell’industria dell’IT) di scalare verso l’alto, con schemi intorno ai trenta pollici. tre pollici? mmh, not so much. Io faccio fatica ad usare la N800 (che pure prevede un thumb mode, anche se single point) con le mie dita, e lo schermo è un pollice più grande.

Tralascerò volutamente il wifi e la possibilità di usarlo come sistema di connessione verso Internet.

Il software, a questo punto. OS X in un ambiente embedded è interessante - e dati gli effetti mostrati penso abbiano un chip grafico in grado di usare GL ES; anche qui, nulla di nuovo. Sincronizzazione? Questa è interessante, e se funziona correttamente può essere il vero selling point dell’iPhone. Conosco anche troppa gente attaccata alla SIM del cellulare da anni, che teme di perdere tutti i contatti perché quegli aggeggi sono troppo stupidi per permettere di avere una rubrica unica di contatti tra computer e telefono. Qui, però, interviene anche la penetrazione di mercato della Apple Computer - a meno che non vendano una suite anche per Windows - come iTunes. Significa forse che un port delle utility del Mac (calendaring, foto, contatti) sotto Windows è in arrivo insieme all’iPhone?

In buona sostanza: iPhone non è la panacea per il problema “telefono cellulare intelligente”. Non è nemmeno “solo un telefono: non è smart, non è multi, non è mega“, non solo perché non è stato venduto alla massa di zealot della casa della mela morsicata come “non solo un telefonino”, ma anche perché si ripromette di essere il telefonino (smart, mega, multi) - e questo, signori miei, è un obbiettivo di mercato.

Comments (5)

Something to Look Forward to

Apple iPhone, quindi.

Il Sofri giovane riporta il commento di un lettore che si aggiudica la palma del vincitore per l’asserzione più stupida in un altrimenti ragionevole discorso sul fatto che l’iPhone avrà anche un’UI interessante, ma l’hardware è ben lungi dall’essere rivoluzionario:

Non c’è nessuna compatibilità con Office.

Voglio conoscere il fesso che userebbe Excel su uno schermo da 3.5 pollici senza stilo e con manipolazione via dita; vorrei conoscerlo per potergli stritolare la mano in una pressa idraulica, that is. Un po’ come le pubblicità della Microsoft che infestano le stazioni dei treni e della tube da queste parti: “vai avanti, fai le modifiche a quel foglio di Excel” - sullo schermo di uno smartphone con una tastiera ridicola. Devi essere un decerebrato per pensare di farlo - neanche di riuscirci.

Comunque, l’iPhone e AppleTV segnano lo spostamento definitivo della Apple (non-più-Computer) Inc. nel magico mondo delle appliance e della elettronica di consumo; staremo a vedere che succederà nei prossimi mesi.

Prima che me lo dimentichi: su X ci sono sviluppatori che lavorano da tempo al multi-point input su touchscreen; dato che l’Apple ha brevettato l’universo, spero non ci saranno ripercussioni sull’utilizzo di questa tecnologia nelle interfacce. Ad esempio, al momento non possiamo implementare alcune funzioni del Finder in Nautilus (come le “cartelle a molla” durante il drag and drop) perché brevettate dalla casa di Cupertino.

Comments (9)

Cast no Shadow

Questo è ancora il blog di un geek che sviluppa su GNOME, quindi ogni tanto vi tocca. ;-)

Con un grassissimo anticipo di trentacinque (si, 35) secondi sull’ora della deadline per effettuare una release, ieri notte ho impacchettato la version 2.17.1 delle GNOME Utilities, nome in codice Cast no Shadow. Dalle undici di sera fino al momento in cui make distcheck ha completato il suo lavoro, ho implementato una delle due feature richieste per questo ciclo di sviluppo per l’utility che prende screenshot del desktop (l’altra, ovvero la nuova finestra di dialogo per il salvataggio dell’immagine, ahimé, dovrà attendere GNOME 2.20, dato che non l’ho completata in tempo - penso che finirà in una branch, dato che è quasi finita e manca solo il codice per il drag and drop):

GNOME Screenshot
La cosa buffa è che ho catturato l’immagine di gnome-screenshot usando gnome-screenshot.

Questa finestra di dialogo apparirà solamente se gnome-screenshot verrà invocato dal meno oppure usando lo switch --interactive da linea di comando; ovviamente, la finestra di dialogo terrà conto delle opzioni da linea di comando, quindi:

$ gnome-screenshot --window --delay=5 --interactive

modificherà il RadioButton selezionato e il valore nello SpinButton. Purtroppo non sono riuscito ad infilare dentro una ComboBox per l’effetto (bordo o ombreggiatura), e dato che siamo in UI freeze dovrò chiedere il permesso prima di inserirlo. In più, c’è un bug: non appare l’icona dell’applicazione nella parte sinistra della finestra - probabilmente, l’icona non è installata correttamente grazie a Dennis Cranston, il bug è stato rimosso.

Riassumendo, le feature mancanti in questo ciclo di gnome-utils sono:

  • usare GtkPrint nel dizionario [da fare];
  • supporto per dizionari locali [includere il parser e il backend];
  • speller nell’applet del dizionario - o rimozione dell’applet in toto, in favore di deskbar-applet; [da fare]
  • plug-in nel visualizzatore di log - e, in generale, pulizia del codice [quasi completo, da pulire];
  • nuova finestra di dialogo per il salvataggio degli screenshot [quasi completo];

Adesso che GNOME è passato a SVN potrei finalmente sfruttare l’occasione e aprire qualche branch per gli esperimenti.

Comments

Return to Oz

Via Lawrence arrivo a questo blog di Antonio Cangiano.

Come transfuga posso solo riconoscermi in buona parte di quanto scritto; l’unica differenza sta nel fatto che non mi manca in alcun modo l’Italia - solo un po’ di persone che ci vivono - perché l’Italia non mi è mai piaciuta. La sfortuna di essere nato in un posto e non riconoscerlo come casa fin da subito, fin da quando ne esci per le vacanze e ti trovi a Parigi a nove anni e fai commenti su quanto siano maleducati gli italiani - ad alta voce, nell’imbarazzo dei tuoi; oppure quando ti trovi a Londra a sedici anni e pensi questa è casa mia; oppure quando ti trovi a Berlino a venticinque anni e pensi seriamente se trovassi un lavoro, qui potrei viverci senza problemi (e non sai mezza parola di tedesco). In generale, rifiuto (con un certo imbarazzo) un’eredità alla quale non aspiro e non tengo.

Quindi, alla domanda ti manca l’Italia rispondo con un secco “no”. Alla domanda torneresti in Italia posso, quindi, rispondere: solo se mi ci ammazzano.

Comments (13)

The Needle has Landed

Pare che la N800 sia di pubblico dominio oggi. Per motivi di lavoro, ho potuto vederla (e sviluppare software per la piattaforma) da qualche tempo - e, all’alba dell’agosto scorso, ho potuto metter le mani sopra a un prototipo.

Non avendo usato una 770 per molto tempo, fare un confronto tra le due mi è eticamente impossibile; posso solo dire che il nuovo hardware è sicuramente più interessante da un punto di vista multimediale (doppio del clock, doppio della memoria volatile, supporto per memory card da 2GB), e che usare la N800 come piattaforma mobile per audio e video in streaming ha sicuramente molto più senso della (comunque adatta, anche se al limite) 770.

L’unica cosa che manca è una tastiera integrata - ma dato che io comunque non sopporto le tastiere microscopiche dei cellulare e dei palmari a là Treo, e dato che le tastiere Bluetooth funzionano benissimo, direi che la mancanza non si fa molto sentire. Altra nota dolente è la porta USB non alimentata - quindi niente chiavette USB - ma anche questo ha senso, se si pensa che una porta alimentata comporterebbe una battery life ridotta drasticamente.

Modestia m’impone di non parlare del lato software.

Comments