Anlan.com

Disorganizzata cronologia di esperienze IT (e non …)
Options:

Archivio di marzo, 2009

Windows : quanto è (in)utile un Personal Firewall

La protezione quotidiana del computer, sia questo postazione di lavoro oppure semplicemente l’attrezzo con il quale ci si scambia qualche email e si consultano le ricette per casa, è argomento critico per tutti gli utenti Windows. O meglio … lo è per tutti gli utenti di un personal computer. Ma se da un lato gli utilizzatori di sistemi basati su Linux o Unix dispongono di conoscenze piuttosto complete ( non importa se a causa del fatto che ci sono costretti o per il modo in cui bisogna affrontare i problemi ), la maggioranza degli utenti Windows approcciano l’utilizzo del loro computer in un modo meno consapevole. Lungi da me il voler affermare che tutti gli utenti Windows, o almeno la maggioranza degli utenti, siano tutti degli stupidi: non è quasi mai colpa loro. Il martellante marketing cui sono costantemente sottoposti ha radicato in costoro la percezione del personal computer come di una macchina molto semplice da usare, che fa’ un po’ tutto da sola e che non richiede particolari conoscenze tecniche per poter essere sfruttata a dovere.

Secondo la mia modesta opinione le cose non stanno proprio così: il personal computer è diventato un connubio di hardware e software molto sofisticato eppure a bassissimo livello di specializzazione. Mi spiego : ci si aspetta da una lavastoviglie che la semplice pressione di un tasto avvii e porti a termine un ciclo completo di lavaggio. La lavastoviglie è una macchina molto specializzata. Al contrario il personal computer non gode di questa specializzazione : può eseguire una miriade di operazioni differenti, ma a differenza della lavastoviglie ha bisogno che il proprio utente lavori in continua sinergia con le applicazioni, e quindi con consapevolezza, per poter portare a termine con successo le operazioni che vengono richieste. Basti pensare all’invio delle email : si potrebbe pensare che sia sufficiente la prima, macchinosa, configurazione del proprio client di posta preferito per poter inviare le email sempre nello stesso modo. Eppure, mentre la lavastoviglie funziona sempre allo stesso modo in qualsiasi stanza della nostra abitazione o in quella di chiunque altro, il client di posta elettronica, specialmente se si utilizza un laptop, potrebbe richiedere configurazioni molto diverse a seconda dell’ambiente nel quale ci troviamo (sono nella rete di casa ? in quella dell’azienda ? quale è il server SMTP per questa connessione ? accedendo ad un hot-spot wi-fi che parametri devo inserire per poter navigare ? come mai da fuori azienda non vedo la web-mail ? ecc.)

Generalmente si tratta di domande a cui l’utente non sa rispondere perchè l’enfasi della pubblicità di questo o quel software esalta sempre le comodità d’uso e mai le mille piccole difficoltà che si possono incontrare quotidianamente. Accade allora che l’utente di software commerciale, allettato dalle mille promesse fatte dal produttore del programma che ha appena acquistato, si rivolga, anche con toni molto scortesi, ai centri di supporto pretendendo spiegazioni su come si configura questo o quello, sul perchè si debba cambiare questa o quella impostazione … fino a quando si arriva alla solita domanda : “ma perchè l’avete fatto così complicato ? non basta cliccare su INVIA perchè il messaggio venga spedito via internet ?

Il numero e la qualità delle domande porta alla inevitabile conclusione che la maggior parte degli utenti non sa come funziona la posta elettronica: per meglio dire … la loro percezione di posta elettronica si ferma alla fisicità di Outlook, Thunderbird, Eudora ecc. Tutto quello che avviene dietro le quinte non è di alcun interesse e, pertanto, non ne viene approfondita la conoscenza. Cosa dire allora ad un utente che si lamenta del fatto che la sua casella email riceve email spammatorie … originate dal suo stesso indirizzo ? Come posso spiegargli di guardare negli header del messaggio per capire da quali server di relay intermedi è passato quel messaggio ? Sarebbe impossibile dargli un’informazione completa senza invitarlo ad un seminario sulle regole RFC del protocollo SMTP. Ma la sua obiezione, evidente, naturale e giustificata sarebbe : “cosa è SMTP ? cosa è RFC ?

E’ questo forse il peggior nemico degli utenti che utilizzano software proprietario e commerciale : non viene loro insegnato a porsi delle domande.

Cosa succede allora quando si affronta il tema della sicurezza ? Come ci si può aspettare che un utente completamente digiuno di nozioni sul TCP/IP sappia saggiamente gestire regole di accesso mirate, su una delle 65k porte, differenziando tra TCP e UDP ? Con quali strumenti può discriminare tra una richiesta di risoluzione DNS ed un ping ICMP ? Ovviamente questo non può. Tuttavia il marketing gli ha insegnato che la presenza di un firewall a bordo del personal computer è uno strato di protezione imprescindibile per affrancarsi dai rischi delle moderne infezioni. E indubbiamente lo è. Ma l’azione commerciale non spiega che comprare una cassaforte e poi lasciarla aperta è assolutamente inutile.

Anche se i moderni personal firewall tempestano l’utente con domande del tipo “svchost.exe ha richiesto di effettuare una connessione con l’indirizzo ip xxx.xxx.xxx.xxx sulla porta 80“, cosa ci si aspetta che risponda l’utente ? Risponderanno sempre “SI CONSENTI (e salva la regola così non mi rompi più le scatole)” perchè se non lo fanno scoprono che qualcosa comincia a non funzionare come dovrebbe nel loro computer, perchè non hanno gli strumenti per differenziare tra servizi/applicazioni legittimi e illegittimi, perchè non hanno il colpo d’occhio per distinguere tra svchost.exe e svhost.exe (o altre assonanze che i virus-writers sono sempre attenti nel ricercare). Ed alla fine ci si ritrova con un Personal Firewall che permette comunicazioni di praticamente qualsiasi natura perdendo completamente il proprio scopo di “filtro”: e tanto vale smontarlo definitivamente.

Nei casi migliori, di fronte a tali domande, si fermano e chiedono al servizio di assistenza cosa devono fare: ma non si rendono conto che è impossibile per qualsiasi help-desk conoscere in dettaglio la configurazione e l’impianto software di tutti i pc su cui è installato il tal prodotto. E da qui nasce l’ulteriore frustrazione di doversi sorbire estenuanti sessioni con il tecnico di turno che ti chiede di verificare questo, provare quello, far girare quel diagnostico ecc.

La sicurezza informatica passa, inevitabilmente, dalla conoscenza dell’ambito in cui si opera. Ma se questa conoscenza è assente lo è parimenti la sicurezza.

 


Continuo a riflettere : Linux non è Windows

Nel mio tormentato viaggio di ricerca mi sono imbattuto in questo articolo che vi traduco per intero.

Se sei arrivato su questa pagina, molto probabilmente stai cercando di passare a Linux da poco e ti stai imbattendo in diversi problemi che ti rendono il passaggio piuttosto difficile. Come te molte altre persone sono nella stessa situazione e per questo motivo ho deciso di scrivere questo articolo. Ognuna di queste difficoltà ha origine da singoli problemi che ho preso a spunto per dividere l’articolo in aree diverse.

Problema nr. 1: Linux non è esattamente uguale a Windows.

Potreste rimanere sorpresi da quante persone si lamentano di questo aspetto. Sostanzialmente si rivolgono a Linux sperando di trovare una versione di Windows gratuita e open-source. Molto spesso questa convinzione viene loro inculcata da utenti Linux molto affezionati e convinti delle loro scelte (anche ideologiche). Tuttavia è una speranza paradossale.

Le singole motivazioni che possono spingere ciascuno a provare Linux possono essere molto differenti, ma generalmente possono essere ricondotte tutte ad un solo concetto: ci si aspetta di trovare qualcosa di meglio di Windows. I parametri di valutazione sono generalmente da ricondursi al costo, alla possibilità di scelta, alle performance ed alla sicurezza. Vi possono essere anche altre motivazioni ma in sostanza ogni persona che prova Linux cerca di trovare qualcosa di meglio di quanto non abbia già.

E proprio qui si manifesta il problema.

E’ logicamente impossibile per qualsiasi cosa essere migliore di un’altra se queste sono uguali. Una copia perfetta può essere uguale, ma mai migliore. Per questo motivo quando si prova Linux nella speranza di trovare qualcosa di meglio, implicitamente si deve accettare il concetto che ci si appresta a provare qualcosa di diverso. Troppe persone sottovalutano questo aspetto e nel loro continuo confronto tra i due sistemi operativi continuano ad additare ogni differenza come una pecca di Linux.

Proviamo a considerare, per esempio, le modalità di aggiornamento dei driver: generalmente gli utenti Windows sono abituati a visitare il sito del produttore del proprio hardware per scaricare i nuovi driver; al contrario gli utenti Linux aggiornano il Kernel. Ciò significa che un singolo aggiornamento Linux mette a disposizione le versioni più recenti dei driver mentre con Windows è necessario scaricare ogni aggiornamento singolarmente. E’ un processo differente ma non per questo peggiore. Tuttavia diverse persone lo considerano un limite perchè non è quello a cui sono abituati da tempo.

Prendiamo un altro esempio che può risultare più familiare: Firefox. Uno dei maggiori successi nella storia dell’open-source che ha invaso i computer di tutto il mondo come una tempesta. Pensate che il suo successo sia stato grazie al fatto che fosse un’imitazione perfetta di Internet Explorer ?

No. Ha avuto successo perchè era migliore di IE e lo era perchè era differente. Ha introdotto il browsing per schede, la barra di ricerca integrata, il supporto PNG, il blocco dell’advertising e moltissime altre utili estensioni. Le maggiore efficienza della funzionalità di “Ricerca” all’intero delle pagine, il supporto RSS e le estensioni scritte di proprio pugno da migliaia di utenti entusiasti hanno dato la chiara e inconfutabile dimostrazione di come un’applicazione open-source possa aver raggiunto il successo essendo migliore e, quindi, essendo differente. Se Firefox fosse stato un semplice clone di IE sarebbe finito nel dimenticatoio molto presto. Allo stesso modo, se Linux fosse un clone di Windows, non avrebbe nemmeno un centesimo del successo che ha oggi.

Quindi la soluzione al problema nr. 1 può essere solo questa: ricordati sempre che se trovi Linux molto familiare o identico a quello che sei abituato ad avere, allora non è nuovo e non è migliore. Accetta di approcciare un mondo dove le cose sono differenti perchè solo qui c’è la possibilità di trovare qualcosa di meglio.

Problema nr. 2: Linux è troppo differente da Windows

Il problema successivo emerge quando le persone accettano che Linux sia differente, ma allo stesso tempo trovano che queste differenze siano troppo radicali per i loro gusti. Probabilmente il maggiore esempio di questo è dato dalla smodata proposta di opzioni diverse disponibili per gli utenti Linux. Se da un lato il classico utente Windows si trova installato il classico dektop (Windows XP o Windows Vista) con Wordpad, Internet Explorer ed Outlook Express inclusi nel cd del sistema operativo (fatta salva poi una quantità di bloatware preinstallato dal produttore hardware), dall’altro lato l’utente Linux dispone di centinaia di distribuzioni tra le quali scegliere, quindi deve scegliere tra Gnome / KDE o FluxBox o altro, e poi ancora tra vi, emacs o kate, Konqueror o Opera o Firefox … e via di questo passo.

Un utente Windows non è abituato a destreggiarsi tra tutte queste scelte per essere pronto a lavorare.  E spesso, esasperati, si chiedono perchè debba esserci tutta questa scelta.

E’ proprio necessario che Linux sia così differente da Windows ? In fondo sono entrambi sistemi operativi. Dovrebbero assolvere agli stessi compiti: accendere il computer e permettere di avere qualcosa su cui far girare le applicazioni. Non dovrebbero essere più o meno identici ?

Mettiamola in questo modo: fate un giro per strada e date un’occhiata a quanti tipi di automobili ci sono. Sono tutti veicoli progettati più o meno per lo stesso scopo: portarvi da A a B. Eppure ci sono una moltitudine di forme. Tuttavia, potreste pensare, che le differenze non sono così rilevanti: tutte le auto hanno un volante, una pedaliera, la leva del cambio, il freno a mano, finestrini e portiere, un serbatoio di benzina. Se sei in grado di guidare un’automobile dovresti essere in grado di guidarle più o meno tutte.

Vero. Ma non ha visto che ci sono persone che non stanno guidando automobili bensì motociclette ?

Passare da una versione di Windows ad un’altra è come cambiare automobile. Tra Windows 95 e 98 praticamente non vi erano differenze. Il salto tra Windows 98 e Windows XP è stato importante ma non certo radicale.

Passare da Windows a Linux è come scedere da un’auto per salire su una moto. Sono entrambi dei veicoli. Entrambi usano la strada. Entrambi servono a trasportarci da A a B. Eppure utilizzano due approcci molto differenti per lo stesso scopo. Hanno entrambi punti di forza e punti deboli: l’automobile è chiaramente vincente nel trasporto di una famiglia con tanti bagagli – più posti a sedere, un bagagliaio ampio. Una moto è vincente nel trasporto di una singola persona da A a B: soffre meno del traffico e utilizza meno carburante.

Ci sono molte cose che non cambiano passando da un’auto ad una moto: dovete comunque mettere benzina, guidate sulle stesse strade, dovete rispettare le stesse regole di circolazione ed i medesimi limiti di velocità. Ma ci sono anche cose che cambiano: in auto non dovete mettere il casco mentre in moto non avete le cinture di sicurezza, in auto accelerate con un pedale mentre in modo regolate la velocità con una manopola.

Un utente Windows che cerca di applicare le proprie abilità, le proprie abitudini quando utilizza Linux incontrerà non pochi problemi. Infatti quelli maggiormente in difficoltà sono gli utenti Windows con maggiore esperienza, i cosidetti Power Users, mentre i neofiti troveranno più facile abituarsi alle nuove condizioni. L’obiezione più frequente e più forte che ricorre spesso è che “Linux non è ancora pronto per il desktop“, ma questa obiezione arriva sempre da utenti profondamente legati a Windows che sostengono come sia impossibile per un utente neofita passare a Linux se loro stessi non riescono a farlo. In realtà questa affermazione è esattamente l’opposto della realtà.

Quindi per superare il problema nr. 2 : non pensiate che la vostra esperienza con Windows vi faccia diventare immediatamente produttivi con Linux. Quando si approccia Linux per la prima volta si è comunque dei neofiti.

Problema nr. 3: Shock culturale

Sottoproblema 3a: C’è una cultura

Gli utenti Windows sono generalmente abituati a relazionarsi in un rapporto cliente/fornitore: pagano per il software, per le garanzie, per il supporto ecc. Si aspettano che il software garantisca un certo livello di usabilità. Hanno pagato per il supporto tecnico ed hanno tutti i diritti di chiedere ed ottenere il supporto di cui hanno bisogno. Sono anche abituati ad avere rapporti con le aziende piuttosto che con singole persone.

Gli utenti Linux, al contrario, sono più una comunità. Non devono comprare il software, non devono pagare per il supporto tecnico. Scaricano il software gratuitamente ed utilizzano programmi di messaggistica istantanea e i forum su internet per ottenere aiuto. Si relazionano con altre singole persone, non con le aziende.

Un utente Windows non otterrà nulla dalla comunità Linux se non cambia il proprio atteggiamento.

La maggiore causa di attrito è proprio nelle interazioni on-line: un nuovo utente Linux chiede aiuto per risolvere un problema che sta affrontando. Quando non riceve risposte nella quantità e con la velocità che ritiene adeguate, inizia a lamentarsi e a diventare insistente perchè è proprio quello a cui è stato abituato con il supporto tecnico a pagamento. Il problema è che qui non ha pagato nulla per il supporto: si tratta di una moltitudine di volontari che desiderano aiutare gli altri solo per spirito altruista. Il nuovo utente non ha diritto di pretendere nulla e non può aspettarsi nulla di più di quanto possa offrire spontaneamente un altro utente volenteroso.

A questo si deve aggiungere l’approccio “commerciale” a cui generalmente è abituato un utente Windows. Le aziende non rilasciano i propri software almeno fino a quando non sia possibile considerarli sufficientemente stabili e “user-friendly”. Per questo motivo l’utente Windows tende ad aspettarsi sempre lo stesso comportamento. Tuttavia i software Linux vengono rilasciati quasi alla stessa velocità con cui vengono scritti: si parte dalla versione 0.1, poi la 0.2a e via di questo passo. In questo modo chi ha urgente bisogno di determinate funzionalità può averle a disposizione molto presto, gli sviluppatori interessati possono venire coinvolti molto prima e l’intera comunità viene tenuta informato sullo stato dell’evoluzione.

Un utente Windows che sperimenta dei problemi con Linux comincerà a lamentarsi che il software non soddisfa i requisiti che si aspettava e generalmente il suo umore può solo peggiorare quando inizia a ricevere commenti sarcastici del tipo “se fossi in te chiederei un rimborso“.

Quindi per evitare il problema 3a : ricordatevi sempre che non avete pagato gli sviluppatori che hanno scritto il software e nemmeno le persone che vi offrono assistenza tecnica. Nessuno di questi vi deve niente.

Sottoproblema #3b: Nuovo contro Vecchio

Linux ha iniziato il proprio cammino partendo dal livello di un hobby per hackers e, crescendo, ha raccolto sempre maggiore interesse. Ci è però voluto diverso tempo prima che qualcuno di non esperto fosse avesse la possibilità di lavorare facilmente con una installazione Linux. “Dai maghetti, per i maghetti” … e ancora oggi la maggior parte degli utenti Linux consolidati si auto-attribuisce lo status di “geek”. Il che, di per se, è anche un vantaggio: se si incappa in un problema hardware o software è più facile venire a capo di una soluzione avendo a disposizione un alto numero di esperti.

Ma Linux è cresciuto parecchio dai suoi albori. Esistono distribuzioni che quasi tutti possono installare, perfino distribuzioni che funzionano solo su CD (le cosiddette live-distro che permettono di testare Linux senza doverlo fisicamente installare sul computer), e che generalmente possono rilevare tutto l’hardware installato senza interventi manuali.  E’ diventato appetibile anche per i non-hobbisti che vi si interessano poichè è meno vulnerabile ai virus ed economico da aggiornare. E’ piuttosto frequente assistere anche a durissimi scontri tra i sostenitori dei due opposti mondi. E’ però importante sottolineare che non vi è malizia da nessuna delle due parti : è solo la mancanza di comprensione reciproca che causa il problema.

In primo luogo perchè gli esperti Linux pensano che chiunque utilizzi Linux sia un esperto a sua volta. Si aspettano ottimi livelli di conoscenza tecnica il che porta spesso ad accuse di arroganza, elitarismo e modi grezzi. In effetti qualche volta è così. Ma molto spesso non lo è : è corretto dire “Tutti meriterebbero di sapere questo” mentre è scorretto dire “Tutti sanno questo“. Sono due modi di porsi completamente opposti.

Il secondo aspetto da tenere in considerazione è il fatto che i nuovi utenti Linux fanno non poca fatica ad abbandonare le abitudini acquisite utilizzando software commerciali. Questi utenti sono abituati ad utilizzare software pronti all’uso subito dopo l’installazione. I problemi iniziano a venire a galla quando si considera che gli utenti Linux sono abituati a personalizzare il loro sistema operativo e a ricomporlo come piace loro, mentre gli utenti Windows sono generalmente indifferenti a come funziona il loro software, basta che funzioni.

Per similitudine proviamo a prendere l’esempio del Lego. Immaginate questa situazione in cui un neofita ed un esperto si confrontano.

Neofita: Volevo una macchinina giocattolo e tutti mi dicono quanto siano fantastiche le macchinine Lego. Quindi ho comprato il Lego ma quando sono arrivato a casa e ho aperto la scatola mi sono ritrovato in mano solo un mucchio di mattoncini. Dov’è la macchinina ?

Esperto: Devi costruirti la tua macchinina con i mattoncini. E’ questo lo scopo del Lego.

Neofita: Cosa?? Non ho la minima idea di come si costruisca una macchinina. Non sono un meccanico. Come si può pensare che sia in grado di mettere insieme i pezzi??

Esperto: Nella scatola trovi un foglio di istruzioni. Ti spiega essattamente come assemblare i pezzi per avere la tua macchinina giocattolo. Non devi sapere come si fa, ti basta seguire le istruzioni.

Neofita: Okay, ho trovato le istruzioni. Ma mi ci vorranno ore. Perchè non possono vendere direttamente una macchinina invece di obbligarmi a costruirla ??

Esperto: Perchè non tutti vogliono necessariamente costruire una macchinina con il Lego. Si possono usare i mattoncini anche per costruire altre cose. E’ questo il punto.

Neofita: Non capisco ancora il motivo per cui non vendano la scatola con la macchinina già montata così chi vuole la macchinina ce l’ha già pronta e quelli che vogliono costruire qualcosa d’altro basta che la smontino e ricompongano i mattoncini come credono. Comunque … sono riuscito finalmente a mettere tutto insieme ma ci sono alcuni pezzi che ogni tanto saltano via. Che posso fare ? Posso incollarli ?

Espero: E’ il Lego. E’ progettato per essere smontato. E’ questo il punto.

Neofita: Ma io non voglio che si smonti … voglio solo una macchinina!

Esperto: E allora perchè diamine hai comprato una scatola di Lego ??

E’ evidente a tutti che il Lego non è fatto per quelli che vogliono solo una macchinina. Il succo del discorso è che con il Lego ti puoi divertire a costruire qualsiasi cosa ti piaccia ma se le costruzioni non ti interessano allora il Lego non è per te. E questo è abbastanza ovvio. Lo stesso vale per Linux : se non si è disposti a lavorarci sopra un pochino perchè diventarci matti ?

Tuttavia sono stati fatti sforzi enormi per rendere Linux più appetibile anche per i non esperti, una situazione che non si discosta molto dalla vendita di Kit Lego pre-assemblati, in modo che sia fruibile da un pubblico più ampio. Nonostante questo non è infrequente assistere a conversazioni che non si discostano molto da quella appena descritta. I neofiti si lamentano del fatto che vi sono delle caratteristiche che gli esperti considerano fondamentali, si rifiutano di leggere le istruzioni e considerano troppe le scelte tra le centinaia di distribuzioni. Ma lamentarsi di questo è come lamentarsi del fatto che con il Lego si possono costruire troppe cose, che si può smontare tutto e ricominciare daccapo.

Quindi per evitare il problema 3b:  ricordare che Linux come appare ora non è quello che era in passato. La maggior parte della comunità Linux ama il fatto che il software può essere assemblato come piace a loro : lo considerano un pregio, non un difetto.

Problema nr 4: Sviluppato per gli sviluppatori

Nell’industria automobilistica è molto difficile che l’ingegnere che si occupa dello sviluppo del motore si occupi anche dello sviluppo degli interni: sono necessarie competenze molto diverse. Analogamente nel mondo del software chi progetta l’interfaccia utente (UI) non è chi generalmente scrive il software.

Tuttavia nel mondo Linux le cose sono un po’ diverse: i progetti in genere partono dall’idea e dalle necessità di una sola persona. Si crea tutto da solo e, per questo motivo, non ha bisogno di costruirsi caratteristiche “user-friendly”: l’utente/sviluppatore conosce già tutte le caratteristiche del software e sa già come utilizzarle senza bisogno di ulteriori aiuti. Tra gli esempi più eclatanti di questa concezione c’è l’editor Vi: non è raro sentire utenti che hanno riavviato il computer solo perchè non sapevano come uscire dall’editor.

C’è una differenza importante tra chi scrive software commerciale e gli sviluppatori open-source: questi ultimi sviluppano programmi che intendono usare. Quindi se il risultato finale può essere poco intuibile per un utente neofita, possono comunque trarre utili informazioni dal fatto che, essendo loro stessi degli utenti-finali, conoscono quali siano le caratteristiche di usabilità da migliorare. Gli sviluppatori di software commerciali, al contrario, costruiscono applicazioni che dovranno essere utilizzate da altri e raramente potranno trovarsi nella condizione di essere loro stessi utenti-finali del prodotto che hanno creato.

Quindi Vi, con la sua interfaccia incomprensibile per gli utenti neofiti, è ancora largamente utilizzato grazie alle sue fantastiche caratteristiche di usabilità che aiutano molto nel lavoro quando si capisce come funziona. Firefox è stato creato da persone che navigano regolarmente. Gimp è stato creato da persone che manipolano regolarmente file grafici. E via di questo passo.

Le interfacce di Linux sono spesso un piccolo campo minato per i neofiti: a dispetto della sua popolarità, Vi non dovrebbe nemmeno essere preso in considerazione da un utente neofita che vuole solo apportare piccole modifiche ad un file. E se vi apprestate ad utlizzare un software appena nato, troverete che l’esigenza di una interfaccia pulita ed intuibile si trova spesso nella lista delle cose da fare (ToDo) del programmatore : prima vengono le funzionalità, poi il resto. Nessuno crea un’interfaccia fantastica per poi cercare di inserire funzionalità a piccoli pezzi. Prima creano le funzionalità e poi si migliora l’interfaccia a piccoli pezzi.

Quindi per superare il problema nr. 4 : cercate sempre software che è stato progettato per essere di facile utilizzo anche da parte dei neofiti, oppure accettate il fatto che alcuni software possano richiedere una curva di apprendimento piuttosto ripida. Lamentarsi del fatto che Vi non dispone di un’interfaccia utente intuibile significa farsi prendere in giro per non aver capito nulla.

Problema nr. 5: Il mito dell’ “user-friendly”

Questo è un gran bel problema . Il termine “user-friendly” viene usato molto spesso nel mondo dei computer … ma troppo spesso a sproposito.

Il concetto di base è corretto : il software deve essere progettato avendo bene in mente le esigenze dell’utente finale. Portroppo l’implementazione di questo concetto è sempre verso un’unica direzione.

Se passate la maggior parte del tempo ad elaborare file di testo semplice il vostro software ideale deve essere potente, veloce e consentire la massima produttività con il minimo sforzo. Rapide scorciatoie da tastiera ed operatività senza mouse sono basilari.

Ma se queste operazioni vi capitano raramente e dovete solo scrivere di tanto in tanto qualche lettera, l’ultima cosa in cui volete imbattervi sono le scorciatoie di tastiera. Piuttosto cercherete un software che disponga di menu ben organizzati, tante icone nelle toolbar ecc.

E chiaro che il software progettato avendo in mente le esigenze del primo utente non avrà il benchè minimo rispetto del secondo e viceversa. Quindi come è possibile definire un software “user-friendly” se tutti gli utenti hanno esigenze diverse ?

La risposta è semplice : la definizione di “user-friendly” è fuorviante e scorretta ed ha il solo scopo di tentare di semplificare una situazione complessa.

Cosa significa veramente “user-friendly” ? Nel contesto in cui viene più frequentemente utilizzato significa “Un software che può essere utilizzato con un ragionevole livello di produttività anche da utenti che non hanno specifica esperienza sul software medesimo“. Questa definizione viene anche, purtroppo, utilizzata per ricondurre a se quelle che sono, invece, interfacce povere ma molto familiari.

Sottoproblema 5a: Familiare è friendly

Accade quindi che nella maggiore parte degli editor di testo e dei word processors potete effettuare operazioni di taglia/incolla (Cut/Paste) utilizzando CTRL-X e CTRL-V. Assolutamente non intuitivo eppure tutti utilizzano questa combinazione e quindi viene considerata una combinazione molto friendly.

Ne consegue che quando un utente utilizza vi e scopre che “d” (Delete) serve per tagliare e “p” (Paste) per incollare, considera le chiavi non user-friendly: non sono quelle che tutti sono abituati ad utilizzare.

E’ superiore ? Be’ veramente si.

Con l’approccio Ctrl-X come fate a tagliare una parola dal documento in cui state lavorando ? (senza usare il mouse)

Dall’inizio della parola dovete premere CTRL-Shift-Destra per selezionare la parola e quindi CTRL-X per tagliarla.

Come funziona con vi ? dw (Delete Word) cancella la parola.

E se le parole da tagliare fossero cinque ?

Dall’inizio della prima parola , Ctrl-Shift-Destra
Ctrl-Shift-Destra
Ctrl-Shift-Destra
Ctrl-Shift-Destra
Ctrl-Shift-Destra
Ctrl-X

E con vi?

d5w

L’approccio di vi è molto più versatile e più intuitivo: “X” e “V” non sono ovvie e non facilmente associabili ai comandi “Taglia” e “Incolla”, mentre  “dw” per cancellare una parola (delete word) e “p” per “paste” è perfettamente logico. Ma “X” e “V” sono quelli che conosciamo tutti e quindi, mentre vi è decisamente superiore, è anche meno familiare. Ergo viene considerato non-user-friendly. Non vi sono altri argomenti : la familiarità con l’ambiente Windows rende solo le interfacce simili a Windows facili da comprendere. Ma come abbiamo appreso nella descrizione del problema nr. 1, Linux è necessariamente diverso da Windows e per questo viene considerato, a torto, meno “user-friendly” di Windows.

Per superare questo problema è bene sempre ricordare che “user-friendly” non significa necessariamente “ciò a cui sono più abituato”. Provate a fare le cose nella solita maniera e, se non funziona, leggete la documentazione del software esattamente come farebbe un neofita.

Sottoproblema 5b: Inefficiente è friendly

Questo è un amaro ma inevitable fatto. Paradossalmente quanto più vengono rese scarsamente accessibili le funzionalità di una applicazione tanto più l’applicazione sembra “friendly”.

Questo perchè vengono aggiunte alle interfacce dei suggerimenti “visibili” : tanto più ce ne sono meglio è. Dopo tutto se un utente neofita viene messo davanti ad un editor di testo e gli si chiede di mettere in grassetto un po’ di testo, verosimilmente succederà questo:

  • Penserà che che “Ctrl-B” sia il solito standard
  • Cercherà delle indicazioni e proverà a cliccare sul menu “Modifica”. Senza successo proverà la prossima voce di menù che gli sembra appropriata : “Formato”. Il nuovo menù riporta l’opzione “Carattere” che sembra promettente e … eccola … l’opzione Grassetto. Yuppieee.

La prossima volta che vi troverete ad elaborare un testo provate ad eseguire tutte le attività utilizzando solo i comandi dei menu: niente combinazioni o scorciatoie di tastiera, niente toolbar. Solo Menu. Scoprirete di essere lentissimi perchè ogni comando vi richiederà una moltitudine di click del mouse e di battute di tastiera.

Creare software che devono rispettare questi criteri di facilità d’uso è come montare le ruotine laterali ad una bicicletta: potete iniziare a lavorare immediatemente, senza necessitare di particolari esperienze. E’ perfetto per un neofita. Ma nessuno vorrebbe che tutte le biciclette venissero vendute con le ruotine: se vi vendessero una bicicletta così le rimuovereste subito perchè sono di impaccio. Una volta che sapete andare in bici le ruotine non sono più necessarie.

Analogamente il software Linux viene spesso progettato “senza le ruotine” – è progettato per utenti che già hanno una esperienza di base. Dopotutto nessuno resta per sempre neofita: quelli che sanno andare in bici sono la maggioranza rispetto a quelli che devono imparare. Per questo Linux è stato progettato con la maggioranza degli utenti in mente.

Potrebbe sembrare una scusa: dopotutto MS Word ha i menu, le toolbar e può essere utilizzato molto bene anche solo utilizzando la tastiera. Davvero il meglio ? Friendly ed efficiente.

Comunque tutto ciò deve essere messo in prospettiva. Prima di tutto la cose pratiche: lo sviluppo di menu, toolbar e scorciatoie richiede moltissimo codice e gli sviluppatori Linux non vengono spesso pagati per il loro tempo. In secondo luogo tutta questa roba non serve ad un vero power-user: sono molto pochi i professionisti che utilizzando Word. Avete mai visto uno sviluppatore usare Word ? Contate invece quanti usano emacs e vi.

Perchè ? Perchè le regole “amichevoli” (friendly) sono molte di più dei comportamenti efficienti. Basta guardare l’esempio taglia/incolla appena descritto. Ed in secondo luogo perchè la gran parte delle funzionalità di Word è seppellita all’interno di menu che siete obbligati ad usare: solo una piccola parte delle funzionalità più comuni è utilizzabile mediante shortcut da tastiera o con la le toolbar. Le funzionalità meno frequenti, che sono comunque essenziali per utenti avanzati, sono troppo lente da raggiungere.

E’ comunque sempre bene ricordare che le “ruotine di aiuto” sono spesso disponibili per i software Linux come “optional”. Potrebbero non essere ovvi, ma sono comunque disponibili. Prendete ad esempio mplayer: lo usi da riga di comando (mplayer nomefile) per sentire un file audio e semplicemente avanzi e torni indietro con i tasti freccia oppure con PgUP e PgDown. Comunque puoi sempre scegliere di eseguire gmplayer nomefile per avere a disposizione un front-end grafico con tutti i suoi bravi bottoni cliccabili con il mouse.

Quindi per evitare il problema 5b: Ricordate che le “rotelline per la bici” sono generalmente considerate, in Linux, un extra piuttosto che una parte integrante del prodotto principale. E qualche volta non possono proprio essere inserite nel progetto.

Problema nr. 6: Imitazione contro Convergenza

Spesso, quando le persone che provano Linux, non trovano quel clone di Windows che si aspettavano di trovare, obiettano che in realtà Linux non era e non potrà esserlo mai e che tutte le persone che stanno cercando di rendere Linux sempre più simile a Windows stanno solo perdendo il loro tempo.  Per sostenere le loro ragioni adottano varie teorie:

Linux si è evoluto dalla riga di comando all’interfaccia grafica, un chiaro tentativo di copiare Windows

Falso: l’originale sistema a finestre X è stato lanciato nel 1984 come successore del sistema W portato in Unix nel 1983. Windows 1.0 è stato lanciato nel 1985 e non ha davvero conosciuto gran successo fino al rilascio della versione 3.0 nel 1990. Nel frattempo X window si è evoluto fino allo stage X11 che utilizziamo oggi. Lo stesso progetto Linux si è avviato nel 1991. Per questo Linux non ha creato una GUI per copiare Windows: ha semplicemente utilizzato una GUI che esisteva da prima di Windows.

Windows 3 ha dato l’avvio a Windows 95 creando un notevole miglioramento, ancora non eguagliato, nella GUI. Ha inserito molte funzionalità innovative come Drag&Drop, taskbar ecc. Tutte copiate da Linux.

Veramente. . . no.  Tutte le caratteristiche descritte esistevano da prima che Microsoft ne facesse uso. NeXTSTeP in particulare era una GUI molto avanzata per i tempi ed anticipò Windows95 in modo significante – la versione 1 fu rilasciata nel 1989 e la versione finale nel 1995.

Okay, okay, quindi Microsoft non ha creato le singole funzionalità che compongo il suo look & feel. Ma ha comunque creato un Look & Feel. E Linux sta cercando di imitarlo spudoratamente.

Per discutere su questo argomento bisognerebbe chiarire il concetto di evoluzione convergente. Si verifica quando due sistemi completamente differenti ed indipendenti si evolvono fino allo stadio in cui diventano molto simili. Succede molto spesso nella biologia. Per esempio gli squali ed i delfini. Entrambi sono organismi marini che si cibano di pesce, entrambi hanno pinne dorsali, di coda ed entrambi hanno una forma molto idrodinamica. Ma mentre gli squali si sono evoluti dai pesci, i delfini si sono evoluti da mammiferi quadrupedi che vivevano sulla terra ferma. La ragione per cui sono oggi molto simili nelle loro sembianze sta nel fatto che si sono adattati, nel modo più efficiente possibile, all’ambiente marino in cui vivono. In nessuno stadio evolutivo i pre-delfini si sono detti “Hey … guarda che belle quelle pinne. Provo a copiarle“.

Analogamente è assolutamente vero affermare che le prime interfacce grafiche per Linux erano molto povere, ma è anche vero che i moderni KDE e Gnome sono una magnifica evoluzione. Ed ‘ anche vero che assomigliano molto a Windows: tuttavia non sono la stessa cosa.

Lo stesso ragionamento è vero anche se si guarda solo a Windows. Windows 3.0 non aveva una taskbar. E il menu Start ?

Linux non aveva un desktop comparabile al moderno Windows. Ma nemmeno i prodotti Microsoft l’avevano. Ora entrambi ne dispongono. Che significa ?

Semplicemente che gli sviluppatori dell’una e dell’altra parte hanno fatto del loro meglio per migliorare la GUI, e dal momento che ci sono solo un numero limitato di soluzioni allo stesso problema, hanno spesso utilizzato gli stessi metodi. La somiglianza non comporta o implica necessariamente un’imitazione. Tenerlo sempre a mente vi farà superare gli scetticismi legati al problema nr. 6.

Problema nr. 7: Questa strana FOSS (Free and Open Source Software).

Anche questo è un bel problema. Non intrinsecamente: il software gratuito e open-source è una risorsa immensa ed importantissima. Ma la comprensione di come il software libero sia differente dal software proprietario può essere troppo per alcuni.

Di alcune differenze ho già detto: per esempio di come sia diverso il modo di rapportarsi con il supporto tecnico. Ma c’è di più.

Lo slogan di Microsoft è “Un computer su ogni desktop“, con il malcelato augurio che ogni computer sia un computer dotato di Windows.  Microsoft ed Apple vendono entrambe il loro sistema operativo e fanno del loro meglio per far sì che il loro prodotto venga utilizzato dal maggior numero di persone possibile. La loro è un’ottica di business per fare denaro.

Dall’altra parte abbiamo la FOSS che, quotidianamente, opera in modo quasi completamente non commerciale. Ok, non affrettatevi subito a dire che ci sono RedHat, SuSe, Linspire ed altri : lo so che “vendono” Linux. So anche che desidererebbero vedere Linux adottato da tutti, specialmente la “loro” distribuzione di Linux. Ma non confondiamo i fornitori con i produttori. Il kernel di Linux non è stato creato da queste aziende e non viene mantenuto dalle persone che ci guadagnano sopra. Le applicazioni GNU non sono state create da aziende e non vengono mantenute dalle persone che traggono profitti dal loro sfruttamento. Il sistema di finestre X11 … la più popolare implementazione è xorg ed il suffisso “org” dovrebbe suggerirvi già tutto quello che dovreste sapere. Software desktop : potreste essere portati ad obiettare che KDE possa essere commerciale dato che è basato su Qt. Ma Gnome, Fluxbox, Enlightenment ecc. sono tutte no-profit. Esistono persone che vendono Linux, ma sono la netta minoranza.

L’aumento del numero di coloro che utilizzano software proprietario comporta un aumento dei benefici per le aziende che li producono. Ma non è questo il caso del FOSS: non vi è alcun vantaggio economico diretto per gli sviluppatori se la loro base di utenti aumenta. Ve ne sono, al contrario, molti di indiretti : orgoglio personale, maggiore possibilità di individuare dei bug, possibilità di attrarre nuovi sviluppatori, possibilità di ottenere buone proposte di impiego ecc.

Ma Linus Torvalds non guadagna nulla dall’aumento nell’uso di Linux. Richard Stallman non riceve denaro in seguito all’aumento nell’utilizzo di applicazioni GNU. Tutti i server che girano con OpenBSD e OpenSSH non mettono un soldo nelle tasche del progetto OpenBSD. Ed alla fine arriviamo al maggiore problema che affronta un nuovo utente quando si avvicina a Linux: scoprono che non sono desiderati.

I nuovi utenti si avvicinano a Linux dopo aver passato la loro vita con un sistema operativo in cui le necessità dell’utente erano alla base e definizioni come “user-friendly” e “attenzione al cliente” erano quasi il Santo Graal. Di colpo vengono catapultati in un mondo in cui il sistema operativo si basa su riga di comando, su file di configurazione da manipolare a mano e moltissimo sulle ricerche in Google. E quando cominciano a lamentarsi del fatto che non ricevono promesse di miglioramenti gli viene, brutalmente, mostrata la porta per andarsene.

Di certo sto esagerando. Ma è sicuro che questa descrizione si avvicina molto alla percezione di molti potenziali utenti Linux quando si accorgono di non essere in grado di completare la transizione.

E’ questo lo strano mondo FOSS: un ambiente nel quale il fai-da-te è la base dello sviluppo: la gente lavora solo su quello che gli interessa e quando ne hanno voglia e tempo. Moltissimo non sentono alcun desiderio di rendere Linux più attraente per gli utenti meno esperti: Linux fà già quello che serve loro, perchè dovrebbero preoccuparsi degli altri ?

FOSS ha molte analogie con la stessa Internet: non dovete pagare l’autore di una pagina/software per leggerla/installarlo. I blogger, così come gli sviluppatori, non necessariamente devono disporre di un’ampia base di utenti per giustificare il lavoro. Certo, molti di loro traggono anche qualche guadagno da questo tipo di attività ma non secondo il principio de “Questa cosa è mia e se la vuoi mi devi pagare“: generalmente le fonti di guadagno sono indirette (es. advertising) oppure maggiormente legate alla erogazione di un servizio di supporto.

Linux non è interessato alle quote di mercato, Linux non ha clienti, Linux non ha azionisti a cui rendere conto e nessuna responsabilità di base. Linux non è stato creato per generare denaro. Linux non ha l’obiettivo di diventare il sistema operativo più famoso e più diffuso sulla terra. Tutte le community Linux vogliono solo creare un ottimo sistema operativo, completo e gratuito. Se questo vuol dire diventare estremamente popolari … bene. Se questo vuol dire riuscire a creare interfacce sempre più gradevoli ed intuitive … bene. Se questo vuol dire poter far partire una nuova azienda multimilionaria … bene. Ma non è questo il punto. Il vero nocciolo della questione è far diventare Linux il miglior prodotto che la community può sviluppare. Ma non per gli altri: per se stessa. Le solite reiterate obiezioni per cui Linux “non arriverà mai sui desktop perchè non fa questo e non fa quello” sono semplicemente irrilevanti. La community Linux non sta cercando di invadere i desktop. Davvero a loro non interessa che il sistema diventi talmente buono da poter installato sul tuo desktop: gli basta che resti buono al punto che permetta di mantenerlo installato sul loro. Quelli che inveiscono contro Microsoft, i fanatici di Linux e quelli che riescono a guadagnare sul lavoro FOSS possono anche avere toni sopra le righe, ma sono la minoranza.

Ecco cosa vuole la community Linux: un sistema operativo che possa essere installato ed utilizzato da chiunque lo voglia davvero. Quindi prima di cercare di passare a Linux provate a porvi la domanda : lo voglio davvero ?

Se volete un sistema operativo che non vi porta in giro come un autista, ma vi mette in mano le chiavi dell’auto, vi fa sedere al posto di guida e si aspetta che voi sappiate esattamente cosa fare: allora usate Linux. Dovrete spendere un po’ del vostro tempo per imparare ad usarlo, ma una volta che avrete superato questa fase potrete disporre di un sistema operativo che lavora alla perfezione.

Se invece il vostro obiettivo è semplicemente quello di disporre di un simil-Windows senza i problemi di malware e di sicurezza tipici del prodotto Microsoft allora la scelta deve essere un’altra: leggetevi un po’ di documentazione su buone pratiche di sicurezza, installate un buon firewall, un buon antivirus, sostituite IE con un altro browser e mantenete il sistema aggiornato applicando regolarmente le patch rilasciate dal produttore. C’è gente la fuori (compreso il sottoscritto) che utilizza Windows dalla sua versione 3.1 fino a Vista senza aver mai preso un virus: anche voi potete farlo. Ma non scegliete Linux: arrivereste solo ad odiarlo perchè non è come vi aspettereste che sia.

Se volete davvero la sicurezza e le prestazioni di un sistema basato su Unix ma con un’attitudine di spiccata attenzione al cliente e con un’interfaccia largamente apprezzata: compratevi un Mac. OSX è eccellente. Ma non scegliete Linux: non farà quello che vi aspettate che faccia.

In conclusione la domanda non è “Perche dovrei volere Linux ?“. Piuttosto la vera questione è “Perchè Linux dovrebbe volere me ?

 



 
Loading


Categorie