Linux Day 2012 a Bassano del Grappa (VI)

Anche quest’anno il GrappaLUG (Linux Users Group di Bassano del Grappa) vi invita a partecipare al Linux Day, una giornata nazionale di divulgazione per far conoscere il mondo del Software Libero (Free Libre Open Source Software) e permettere al pubblico di scoprire le immense possibilità che questo innovativo approccio al mondo dell’informatica può offrire a tutti.

via Linux Day 2012 | GrappaLUG.

Dissuadere gli utenti di Internet Explorer tramite uno script

Per lungo tempo Internet Explorer è stato in modo assoluto ed incontrastato il browser più utilizzato al mondo. Questo è dipeso principalmente da strategie di preinstallazione aggressive (e blocco della disinstallazione), ma forse non sarebbe un gran problema se Internet Explorer funzionasse decentemente.

Vi spiego che intendo per decentemente: un browser dovrebbe supportare, al momento del rilascio, tutte le tecnologie web già divenute standard de iure e anche magari qualcuna di quelle standard de facto (ma questo è opzionale). Ci sarebbero poi da fare anche molti discorsi sulla sicurezza ma tralasciamo. Internet Explorer è noto per non supportare granché delle migliori tecnologie CSS. Con Javascript sembra andare un po’ meglio solo perché gli autori di Jquery e librerie simili fanno davvero i miracoli per far funzionare tutto, in realtà non è tutto oro quello che luccica. Addirittura bisogna inserire un meta tag nelle pagine per far comportare Internet Explorer (a partire dalla versione otto) in modo un po’ più normale, altrimenti fa apposta a comportarsi male.

Questo cosa implica? Si arriva all’ironica regola che ho inventato e deciso di chiamare del 3+3:

Se ci vogliono 3 giorni per creare e far funzionare qualcosa in un browser standard, ci vogliono 3 mesi per far funzionare la stessa cosa con Internet Explorer.

Sembra una battutina, però è vero, e i problemi sono ancora peggiori.

La situazione attuale

Prima vi parlavo delle date di rilascio e dovremmo fare un altro piccolo approfondimento su questo. Di seguito riporto le date di rilascio ufficiali per le varie versioni di IE:

  • versione 6 – 2001
  • versione 7 – 2006
  • versione 8 – 2009
  • versione 9 – 2011

Secondo Microsoft il 10% delle persone usa Internet Explorer nella versione 6, che è uscita 10 anni fa. Anche se al tempo fosse stato il browser migliore della categoria, ora è comunque un suicidio navigare con quella roba. Figuratevi sviluppare siti che funzionino lì. Lo stato delle cose è grave: si stima che il 40% delle persone usi Windows XP che ha come ultima versione disponibile la 8, vecchia di 2 anni (ma in realtà anche di più).

È la stessa azienda di Redmond che incoraggia le persone ad aggiornare subito il browser, il problema è che lo fa invitando a usare Internet Explorer 8 oppure 9. Se vi state chiedendo che male ci sia, leggete l’articolo Internet Explorer 9 e il supporto ai web standard per rendervi conto che seppur uscito nel 2011 è parecchio indietro rispetto a qualsiasi altro browser che rispetta veramente gli standard (per citarne alcuni Firefox, Safari, Chrome, Opera…).

Tra uno o due anni saremo punto e a capo: molti utenti che usano Internet Explorer e rimangono indietro, con gli sviluppatori web che si strappano i capelli cercando di fare siti web funzionanti.

Lo script dissuasore

Per fortuna, se gestite dei siti web e come me volete evitare di diventare pazzi, dovendo avere anche a disposizione una macchina Windows per fare test esotici e sperare che le cose funzionino, potete offrire ai vostri utenti un’alternativa migliore.

Basandomi sul vecchio script di Explorer Destroyer, nella versione modificata da Xavier, ho ritoccato e sistemato un popup che avvisa gli utenti di Internet Explorer che è consigliabile passare a Firefox, fornendo utili motivazioni, e l’ho racchiuso in uno script PHP di facile utilizzo per chi realizza siti web. Questo non impedisce ai navigatori con IE di vedere il sito (basta cliccare un link e l’avviso sparisce).

Perché Firefox? In realtà si poteva decidere di consigliare alle persone di usare un browser che supporti gli standard (che in parole meno gentili vuol dire “qualsiasi altro browser”), però secondo me è bene consigliare Firefox per almeno 3 motivi:

  • è ragionevolmente diffuso e multipiattaforma, così l’utente può riconoscerlo e usarlo altrove
  • è software libero
  • dando un’indicazione generica (“installa qualcos’altro…”) senza fornire alternative è poco efficace perché molto probabilmente chi usa Explorer non ne conosce e non ha voglia di cercarne una

Il procedimento di installazione e configurazione sul proprio sito richiede 5 minuti, e una volta finito chi naviga con IE riceverà una volta al giorno (oppure ogni tot di giorni a vostra scelta) questo messaggio:

Messaggio visualizzato da Internet Explorer 6

La scelta che ho voluto fare è quella di iniettare il codice nella pagina solo se ad un primo controllo fatto via PHP l’utente usa Internet Explorer. Questo vuol dire che l’HTML non viene “sporcato” se chi naviga usa altri browser, e quindi le pagine sono anche lievemente più veloci da scaricare e visualizzare.

Come installarlo

Come detto prima, lo script richiede:

  • la presenza di PHP
  • l’accesso FTP all’hosting
  • il poter individuare (o generare con PHP) una stringa contenente il giusto tag <body> da passare alla funzione

Per prima cosa avrete bisogno di scaricare l’archivio contenente lo script e un riassunto di queste istruzioni. Potete fare il download da qui e poi dovete caricare la cartella IE nella radice del vostro hosting.

A questo punto la serie di cose da fare è abbastanza semplice.

Se volete, cambiate il valore var daysToSleep = 0; nel codice per impostare quanti giorni di “riposo” deve attraversare l’avviso prima di ricomparire nuovamente.

  • 0 significa che verrà mostrato una volta al giorno
  • -1 significa che verrà mostrato su ogni singola pagina, sempre

Quindi bisogna modificare il file “header” o equivalente del proprio CMS (di solito va fatto nel tema che si utilizza), e inserire al posto del tag <body> il codice seguente, opportunamente adattato:

<?php
// inserisce il semplice tag body per Firefox, il check per Explorer
require(getenv("DOCUMENT_ROOT").'/IE/IEcode.php');
printbody( <ARG> );
>

Al posto di <ARG> bisogna inserire la stringa del body (un esempio potrebbe essere <body class='prova'>) secondo le convenzioni del linguaggio PHP. Se si vuole inserire un semplice tag senza attributi si può anche lasciare la funzione senza argomento (non una stringa vuota “”).

Salvate le modifiche è tutto, potete provare con qualsiasi browser cambiando il vostro user-agent per vedere se funziona (se non usate IE vedrete male il banner, questo ve lo spiego nel paragrafo seguente). Chi usa Windows può fare la prova direttamente da Internet Explorer senza che sia necessario modificare la configurazione del browser.

Personalizzare il codice e il problema della PNG

Con un minimo di conoscenza di HTML troverete facilmente dove mettere le mani in fondo al file PHP per cambiare il testo della casella gialla. Fate attenzione però se volete cambiare il banner di Firefox con uno degli altri forniti da Mozilla. Vi ricordo infatti che le versioni più vecchie di Internet Explorer non hanno supporto alle PNG trasparenti, e ci sono innumerevoli discussioni e hack riguardo alla risoluzione di questo problema. Personalmente, dato che il banner è una sola immagine, ho optato per quella del filter.

Il codice del banner di Firefox, rispetto alla versione originaria di Mozilla, è il seguente:


<a href='http://www.mozilla.org/firefox?WT.mc_id=aff_en11&WT.mc_ev=click'>
<img src='http://www.mozilla.org/contribute/buttons/120x240bubble_b.png' alt='Firefox Download Button' border='0'
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', src='http://www.mozilla.org/contribute/buttons/120x240bubble_b.png'); padding-top: 240px;" />
</a>

Se volete sostituire il pulsante, dovete cambiare solo l’url dell’immagine (che è presente 2 volte come potete notare) e il padding-top dev’essere uguale all’altezza della stessa, perché così Explorer nasconde l’immagine e la ricarica sopra con AlphaImageLoader. Per questo qualsiasi browser normale vi farebbe vedere l’immagine scostata verticalmente. Be’, alla fine l’importante è che funzioni su IE!

Conclusione

La strada verso un web fatto di standard aperti, affermati e condivisi è estremamente importante. Il browser è il software che usiamo tutti i giorni, perciò risulta fondamentale che questo visualizzi le pagine web in un modo corretto e moderno. Nel nostro piccolo possiamo fare qualcosa per far conoscere alle persone un software libero che funziona molto meglio di Internet Explorer e quindi da un leggero contributo a evitare i mal di testa.

Se usate lo script sul vostro sito mi farebbe piacere ricevere un commento per saperlo e se lo ritenere interessante diffondete la notizia.

Settimana del software libero a Vicenza

Come sapete pubblicizzo sempre con piacere le iniziative del LugVi. Stavolta parliamo di una intera settimana di eventi a sfondo libero! 🙂 A tutto ciò io parteciperò con un contributo molto modesto, ma cercherò di fare del mio meglio.

La settimana del software libero si svolgerà a Vicenza, dal 14 al 26 settembre (una settimana più il sabato di quella dopo), presso il centro commerciale Parco Città che molto gentilmente ci ospita. Il programma è molto ricco ed in evoluzione, per cui vi rimando alla pagina ufficiale per leggere di tutti gli eventi.

La locandina è venuta proprio bene, specialmente la nuvola!
La locandina è venuta proprio bene, specialmente la nuvola!

Il mio piccolo contributo

Io collaborerò in modo modesto, facendo un talk il giorno venerdì 18 sul tema della grafica libera. Ciò non significa necessariamente che dovrò parlare solo di Gimp. Potrei metterci dentro anche Inkscape e/o un po’ di Scribus, tutto dipende da che cosa può interessare alle persone comuni che si interessano in modo amatoriale all’argomento grafica.

Purtroppo però è un po’ difficile indovinare i gusti di tutti, e soprattutto quando pochissimi ti dicono le loro preferenze. 😉 Per questo vi chiedo per favore, se avete un pizzico di interesse per la grafica, scrivetemi un commento su cosa preferireste sentire in un talk di questo tipo. In questo modo potrò fare qualcosa di più interessante per gli ascoltatori, così da variare un po’ dalla solita panoramica generale su Gimp (o su Inkscape).

Vi ringrazio per l’aiuto che mi vorrete dare. 😀

Wiki per la realizzazione del vademecum sul software libero

L’anno scorso il mio LUG ha realizzato la prima versione del vademecum su Linux e sul software libero. Si tratta di un manualetto che è stato distribuito (lo ricordo con molto piacere) anche ai miei coetanei che frequentano il liceo scientifico vicino al mio ITIS. È bello vedere i ragazzi interessati alla tecnologia sana. In concreto, questo libretto in formato A6, deve contenere una descrizione dei migliori/più famosi software liberi dedicati alle più svariate esigenze dell’utente comune.

Il tutto deve essere nell’ottica di usare un linguaggio chiaro e semplice per permettere la conoscenza dei concetti fondamentali anche ai meno avvezzi alla tecnologia. Recentemente Luca Menini, il grande personaggio che cura la coordinazione del progetto, ha inviato nella nostra mailing list un messaggio in cui chiedeva collaborazione.

Per il linuxday di quest’anno, stiamo lavorando, assieme al LUG di Fabriano e altri, ad un aggiornamento del vademecum realizzato nel 2008 dal nostro LUG.

Se volete vedere il testo e collaborare alla stesura, consultate il wiki: http://pdp.linux.it/wiki/index.php/Realizzazione_vademecum_Linux_Day_2009
Le regole sono:

  • la scrittura e’ collaborativa con le regole di un wiki;
  • deve capire anche mia nonna;
  • e’ rivolto a chi non conosce il software libero e serve a var venir voglia di provarlo;
  • deve essere contenuto in 16 pagine formato A6.

Il resto lo potete leggere seguendo il link.

poiche’ noi siamo in “nonni” del vademecum, e’ importante il nostro contributo.
Vi aspetto…

Mi sono già premurato di “rompere le scatole” a chi di dovere per alcune correzioni e/o aggiunte che mi venivano in mente, in particolare sapete che ho un debole per GIMP e la grafica libera in generale. Vi ho voluto girare questo messaggio perché spero vivamente che contribuiscano quante più persone possibili. La cosa fantastica è che è molto importante soprattutto il parere dei semplici appassionati di software libero, non quello dei grandi esperti.

Se non ho capito male questo vademecum verrà distribuito da ILS capillarmente attraverso i vari LUG sparsi per l’Italia… e avete l’occasione di aver partecipato anche voi! 😀