Chi mi conosce lo sa, non giudico un prodotto dalla mera apparenza, bensì a volte conduco svariate analisi e le mie preferenze non sono dettate solo dal gusto estetico ma da una bontà nella lavorazione totale.
È il caso del sistema operativo che ormai invade letteralmente il mercato dei dispositivi mobili, Android, il quale ponendosi come diretto rivale del novello iOS lo surclassa sia sul piano della diffusione, che sul piano... uhm... commerciale. Oltre infatti a miriadi di applicazioni e la diffusione capillare del robottino verde, nonostante Apple abbia dichiarato di recente di amare tutti i suoi utenti (forse in virtù del sesso anale che avviene all'acquisto di un iPhone), quanti software possono vantare una pubblicità del genere? :D
È per questo che adoro questo sistema operativo. Per la comunità. Per la versatilità. Per le scemenze che vengono sfornate per esso, per la sua professionalità molto meno ostentata di quella dei seriosi e asettici prodotti concorrenti :P
Prendo spunto da un post scritto dal buon Lorenzo aka monossido, su una recente dichiarazione di Steve Wozniak, forse l'uomo grazie al quale l'informatica attuale è quello che è, che ha detto testualmente che l'interoperabilità è un male. Un male, si. Ora, io nutro profonda stima per l'uomo che ha inventato l'Apple I, ma cribbio, una scemenza di proporzioni così immense poteva anche risparmiarsela; ma cos'è l'interoperabilità, direte voi?
Ebbene, facciamo degli esempi che aiutino a capire meglio. Interoperabilità significa poter sviluppare per molti hardware e piattaforme: QT è un esempio di software con molta interoperabilità; le librerie QT funzionano tramite C++ prevalentemente, e sono state portate su quasi tutti i sistemi operativi al mondo. Un programma scritto in QT ragionevolmente girerà su un ampio ventaglio di piattaforme, da Linux, a OSX, ad Haiku. Mac OS X invece è il contrario: un pessimo esempio sia di interoperabilità che di portabilità; la parte grafica delle applicazioni si basa sulle librerie Cocoa, disponibili solo per OSX e iOS, e tutto ciò che serve per sviluppare viene fornito direttamente da Apple, dall'SDK al designer di interfacce, interfacce che si basano su un linguaggio di cui onestamente non ho mai sentito parlare in termini di diffusione esponenziale, ossia Objective C.
Ebbene, tralasciando i discorsi senza senso dei fanboy del tipo "se hai una sola piattaforma ottimizzi per quella", secondo Wozniak è un male che noi sviluppiamo per un sistema che va su più dispositivi, perchè a quanto pare ci sono più problemi hardware da prendere in considerazione, non è definito uno standard preciso e a quanto pare gli sviluppatori non amano sfornare codice che poi installato su un dispositivo non perfettamente compatibile potrebbe creare problemi.
Questo è vero. Ma è vero nella misura in cui il ventaglio di device si diversifica a tal punto da includere hardware mastodontico ad un'estremità, nano-hardware all'altra; a quel punto si che ti si creano dei veri problemi. Peccato che per Android queste beghe non ci siano, perchè è un sistema operativo che bene o male garantisce il suo funzionamento su vasta scala grazie a una serie di API appositamente scritte, che riescono a supportare decentemente qualunque tipo di dispositivo io mi ritrovi per le mani, dal mid alla fotocamera. L'unico problema realmente riscontrabile parlando di veri fastidi hardware è un monitor QVGA: ci sono pochi dispositivi in giro che montano questa tecnologia una spanna inferiore, anche se HTC con il suo Wildfire sta migliorando la situazione, dato che proponendo un QVGA come monitor di fascia medio-bassa ne incentiverà l'acquisto, e con una base utenti maggiore gli sviluppatori saranno invogliati a supportare al meglio anche quest'altro tipo di monitor.
Abbiamo dunque visto che con Android, che pure è un OS che supporta più fasce di prodotto e hardware anche diametralmente opposti, comunque ci si può trovare più che bene sviluppando codice interoperabile. Woz inoltre ha messo a fuoco anche l'aspetto del codice: secondo lui, un programmatore si trova meglio a gestire un solo dispositivo anzichè una vasta gamma. Vorrei ben vedere. Anch'io sarei raggiante nell'andare all'esame di Fondamenti di Informatica e dire al prof che deve mettermi 30 perchè se il programma non gira è colpa del suo PC. Fortunatamente, il mondo non gira secondo queste regole, ma i programmatori sviluppano non solo per loro ma anche per chi gli sta intorno, ed è una soddisfazione quando le persone usano il tuo applicativo. Ed è una soddisfazione anche superare un paio di problemi idioti, rendere il tuo applicativo compatibile con milioni di smartphone al mondo, e godere della sensazione di aver fatto qualcosa di utile per una base utenti veramente consistente, anzichè lasciare la propria idea a ristagnare su tre dispositivi in croce con una base utenti, secondo me, al limite del ridicolo.
Ecco, si, diciamo che queste sono le ragioni per cui io adoro Android, QT, e tutto ciò che si riveli versatile. Perchè versatilità significa interoperabilità, e interoperabilità, caro Woz, significa progresso.
Ebbene si, un po' quello che abbiamo sognato tutti no? D'altronde è da un po', esattamente da quando ho provato Debian Sid ma soprattutto Arch Linux, che andavo in giro a proclamare il verbo: più rolling per tutti. Anche se ovviamente Ubuntu, con tutta la serietà che ha messo su, non può portare il rolling agli utenti, perchè ovviamente non ha la possibilità, essendo una distro che punta alto e di ben altri principi, di prendersi un attimo di pausa e sfornare un pacchetto malnato. Nonnò, non si può. Così Mark "cosa ti invento sul momento" Shuttleworth e i suoi picciotti ci portano una nuova idea, che nemmeno ai tizi di Fedora era mai passata per la testa: lasciare il sistema base e tutto ciò che costituisce una parte fondamentale dell'ambiente desktop da parte, sicuri, testati lì, e aggiornare in un repository a parte tutta la pletora di software che, diciamocelo, dopo sei mesi, puzzano di vecchio.
È un ideale che ho sempre portato avanti: un ciclo semestrale per tutti i pacchetti è un'operazione che non solo richiede un grosso rebuild ogni sei mesi, ma fa rimanere scoperti, se così si può dire, gli utenti da aggiornamenti che magari includono caratteristiche realmente degne di nota; ovviamente a ciò è stato tentato di porre rimedio, infatti negli anni la comunità ci ha, come si suol dire, messo una pezza. I software aggiornati sono stati inseriti in repository di terze parti, e Canonical da una parte scioccamente, dall'altra furbescamente, ha incentivato questo comportamento, finchè non si è arrivati a dei livelli inaccettabili: non è possibile che per avere un major update di Firefox o Thunderbird si debbano aspettare mesi. È così che extras.ubuntu.com fa la sua comparsa sulla scena, per rendere Ubuntu una distribuzione, seppur non bleedin' edge, comunque aggiornata almeno per quel che riguarda i programmi di più alto livello.
In questa maniera infatti verranno aggiornate solo le applicazioni, mentre il sistema operativo di base rimarrà quello, assieme a tutto l'humus di pacchetti che non interessano all'utente. Speriamo che questo repository venga usato con criterio dunque, e Canonical non abbia febbre da update e comportamenti irresponsabili nei confronti di un bacino di utenza che ormai, quello che ha nel gestore di aggiornamenti, lo prende come oro colato e non vuole assolutamente problemi.
I pargoli di Linux Italia hanno imparato proprio bene che condividere le conoscenze è importante per te e chi ti sta intorno (praticamente al contrario del fumo); è così che cagnulein con un suo breve post mi ha fatto scoprire un'interessantissima funzione che riguarda la history dei comandi.
Andate in una shell, e premete CTRL-R. Fighissimo vero? :D
Nelle scorse settimane mi sono divertito a smanacciare un po' il mio portatile: dopo aver installato Fedora 13 ed aver avuto un'esperienza impressionante con gli alie KDE 4.4, ho deciso che era venuto il momento di mettere in chiaro degli aspetti fondamentali della vita di coppia tra me e la mia Arch Linux. È stato così, che loggatomi da riga di comando ho fatto la pazzia e installato KDE anche dall'altra parte. Incredibilmente, tutto ciò è stato come un salto nell'iperspazio, di quelli che ti mozzano il fiato (chi non ha mai, d'altronde, fatto un salto nell'iperspazio.), e mi sono ritrovato, dopo alcune personalizzazioni, in un ambiente straordinariamente di mio gradimento, con tutto ciò che mi serviva. Tutto era dove doveva essere, e, posso garantire, Dolphin è un file manager veramente niente male.
La configurabilità dell'intero ambiente per vie facili non ha pari: ho avuto un assaggio di ciò che arriva dove la filosofia GNOME frena, infatti ho potuto farmi dire di si a qualunque cosa volessi fare con qualche click nei posti giusti (aehm, a volte non proprio giustissimi), mentre con l'ambiente "concorrente" per così dire, sono costretto ogni volta a ricorrere a GConf per operazioni anche banali come cambiare l'ordine dei pulsanti nella titlebar. Per questo motivo mi sono invaghito di KDE: le QT consentono di avere un ambiente assolutamente fuori dal comune in quanto a meravigliosità dell'interfaccia grafica, anche se meno pulito, e le applicazioni possono facilmente essere sovvertite, è l'utente che controlla loro, e non loro che controllano l'utente.
Tra l'altro devo ammettere che la struttura di KDE per quanto riguarda gli engine di decorazione finestre e widget è decisamente geniale: ogni motore ha i suoi parametri non solo per la configurazione dell'aspetto, ma anche riguardo la configurazione del comportamento del window manager, che cambia radicalmente faccia a seconda che si stia usando Oxygen, Bespin, Plastik. Oltre questo, c'è da aggiungere che tutto ciò che è QT è meravigliosamente integrato in KDE. Mi spiego: in GNOME ma anche in Windows succede che qualunque applicazione non faccia parte dell'ambiente desktop tenda ad essere un po' discriminata.
KDE invece segue una filosofia molto simile a quella secondo cui è sviluppato OSX. Il sistema di casa Apple si basa infatti sulle librerie grafiche Cocoa, grazie alle quali è possibile scrivere software perfettamente integrato con il sistema operativo proprio per via del livello di integrazione di cui Cocoa gode all'interno di Mac OSX. Per le QT più o meno il discorso è lo stesso: KDE offre alle applicazioni QT una culla in cui integrarsi alla perfezione senza timore. Viceversa qualunque cosa provenga dall'esterno, è trattata un po' malino; esattamente come OSX anche KDE riserva un cattivo trattamento alle applicazioni GTK+ mettendo a disposizione si, il gtk-qt-engine, che però a mio modo di parere offre possibilità approssimative ;)
Inoltre come potete vedere dall'immagine superiore è possibile eliminare facilmente la presenza di quella fastidiosa appendice di titlebar sparsa un po' ovunque sulle finestre, spesso, in altri desktop environment, levando così di torno tantissimo spazio regalato ai porci.
Dopo un po' però ho cominciato a sentire i limiti di quello che stavo usando. È si tutto molto ben congegnato per far sentire l'utente a casa, ma forse un po' troppo a casa... sul divano, stravaccato diciamo. Mentre GNOME incredibilmente anche non facendo sentire l'utente parte di un meccanismo più grande di lui comunque lo facilita con un'interfaccia volta ad aumentare la produttività, mettendo sempre la semplicità al primo posto, a volte KDE si rivela macchinoso da utilizzare per una persona che vuole semplicemente arrivare a fare quello che vuole fare. E questo, se mi conoscete bene, è un neo gigantesco; mi sono ritrovato spessissime volte a fare altre cose non ricordando più il mio intento originale. Già, diciamo che KDE per chi soffre di disturbi dell'attenziooh... oh, una farfalla...
Io sono uno che come gli fai vedere una stronzata parte. Una trasparenza, un menù di troppo e come una trottola giro in tondo dimenticando cosa stavo facendo; quando lavoro è più difficile, ma anche mentre svolgo i miei compiti quotidiani capita che mi metta a guardare un paio di feature alle dieci di mattina e quando smetto siano le sei di sera. Capita con GNOME, figuratevi quanto è capitato con KDE :D
In definitiva, dopo una settimanella di giochi, ho deciso che era il caso di castrare un po' la mia fantasiosa mente e tornare a GNOME. Questo perchè? Per tutti i nei descritti su. E perchè, incredibilmente, il compositing di Oxygen stressa la mia CPU a dei livelli un po' assurdi, anche e soprattutto con KDE 4.5 Beta che comunque ho avuto modo di testare aggiornando ieri sera la mia Fedora: veramente un bel lavoro, soprattutto a livello di miglioramento dell'interfaccia. Insomma, buona fortuna KDE. Per il momento ci si saluta, ma non è certo finita qua.
Ah e un'ultima cosa, questo post è stato scritto con il nuovo Wordpress 3 che spacca :lol: