Sprite Me: un nuovo strumento per creare CSS Sprites

Un tool per generare i CSS Sprites in automatico, su qualsiasi pagina e con tutti i browser.

Sprite Me è uno strumento potente: si tratta di una bookmarklet che consente di ottimizzare qualsiasi pagina si stia navigando per l’utilizzo dei CSS Sprites.

Se non avete mai sentito parlare dell’argomento, prima di continuare vi consiglio di leggere il post “Usare gli Sprite CSS” pubblicato qualche mese fa proprio su questo sito, visto che è una pratica indispensabile per ogni web designer.

Tornando a Sprite Me, ecco cosa è capace di fare con un semplice clic:

  1. Trovare tutte le immagini di sfondo utilizzate sulla pagina corrente, mostrando l’elemento a cui appartengono con un semplice mouseover
  2. Riunire le immagini che possono essere accorpate, a seconda della loro posizione e delle proprietà utilizzate. Ad esempio se un background si ripete verticalmente dovrà occupare l’intera altezza dello sprite.
  3. Creare il background unico, cliccando sul tasto “make sprite”. La cosa non avviene in automatico perchè c’è la possibilità di riorganizzare le singole immagini prima di accorparle, decidendo quindi se affidarsi totalmente allo strumento o fare delle correzioni manuali.
  4. Generare il codice CSS necessario per utilizzare la nuova immagine unica

Per verificare le potenzialità di Sprite Me vi consiglio di provare la demo prima di installarlo.

In genere non sono un amante degli strumenti automatici come questo perchè hanno sempre qualche difetto, ma credo in questo caso di dover fare un’eccezione. Ho notato che a volte le regole CSS generate non sono molto elastiche, ma la possibilità di correggere il risultato manualmente e di generare l’immagine in maniera automatica permettono di aggirare i possibili problemi.

Effettuate qualche prova per decidere se fa al caso vostro, il fatto che sia una bookmarklet vi permetterà di averlo a portata di mano su tutti i maggiori browser, Internet Explorer incluso.

Check My Colours: come analizzare il contrasto dei colori di un sito

E’ nata una nuova applicazione per analizzare i colori di una pagina web. Ecco qualche domanda a chi l’ha sviluppata.

Check My Colours

La scelta dei colori di una pagina web è uno degli elementi da considerare per avere un sito accessibile. Non è sufficiente tenere conto di alcune problematiche come il daltonismo o altri disturbi della percezione dei colori: esistono infatti numerose circostanze per le quali alcune scelte sbagliate potrebbero rendere un sito inaccessibile.

Basti pensare alla visualizzazione di una pagina senza CSS o con le immagini disabilitate: non avere dichiarato alcuni colori potrebbe rendere illeggibili alcuni testi.

In queste situazioni può tornare utile l’utilizzo di strumenti automatici: Check My Colours è un tool ancora in beta, realizzato dall’italiano Giovanni Scala, che promette molto bene.

Alcune domande all’autore

Per approfondire questa segnalazione ho voluto fare un paio di domande al suo creatore, anche per comprendere le ragioni della nascita di Check My Colours.

Come mai hai voluto creare un’applicazione di questo tipo pur esistendo già altre alternative simili?

Sin da quando ho iniziato a sviluppare siti ho sempre cercato di rendere i miei lavori pienamente accessibili per chiunque, sia dal punto di vista tecnico che umano. Quindi ho pensato che un’applicazione simile sarebbe stata d’aiuto.

Sì, è vero, esistono diversi tool simili, ma ad ognuno di questi manca “qualcosa”:

  • Quasi sempre permettono di verificare solamente il CSS esterno. CheckMyColours verifica i colori di ogni singolo elemento del DOM, siano essi definiti in un foglio di stile esterno o all’interno della pagina HTML. Questo approccio oltre ad essere più completo, permette di avere un rapido quadro della situazione della propria pagina (una sola scelta errata dei colori nel css può rendere illegibile centinaia di links… Gli altri “validatori” segnalerebbero comunque un solo errore…)
  • Non tutti gli strumenti attualmente online utilizzano gli algoritmi ufficialmente suggeriti dal consorzio W3C.
  • Alcuni tools richiedono l’installazione locale, e quindi sono utilizzabili solamente su determinati sistemi operativi

Gli obiettivi principali di questa applicazione sin dall’inizio sono stati:

  • avere come target principale i web designers. Fare una sola cosa, farla bene.
  • facilitare le operazioni di controllo di una pagina già online
  • ottenere risultati semplici da consultare
  • fornire mezzi per la scelta dei colori in fase di sviluppo (il color picker)
  • renderla utilizzabile su qualsiasi sistema operativo
  • renderla utilizzabile su qualsiasi browser

Prevedi degli aggiornamenti per il futuro? Stai lavorando già a delle modifiche?

Ovviamente questo è solo l’inizio. L’attuale versione online è ancora in fase beta. Sto ricevendo diverse mail di segnalazioni, proposte, consigli, e certamente ne terrò conto. Una bozza di roadmap creata al volo potrebbe essere:

  • correggere gli eventuali problemi della versione beta
  • stilare delle FAQ
  • migliorare il color picker
  • creare un’area blog per aggiornamenti sull’applicazione e
  • discussioni legate all’accessibilità.
  • ottimizzare l’utilizzo su iPhone e altri dispositivi mobili
  • permettere il salvataggio su pdf del report

Potete provare subito Check My Colours, tenendo presente che è in costante sviluppo. Se avete dei suggerimenti o delle proposte da fare, non esitate a contattare l’autore dal sito dell’applicazione.

Come realizzare un menu a tendina

Le regole da seguire nella creazione di un dropdown menu usabile.

I menu a tendina sono un’ottima soluzione per rendere accessibili più pagine ai visitatori del sito. Possono essere realizzati usando solo i CSS o anche JavaScript, ma è comunque necessario rispettare alcune regole:

  • Le voci devono avere un’area estesa, comodamente selezionabile, per consentire una navigazione facile. Sono sconsigliate le etichette di testo troppo lunghe.
    Dropdown menu
  • E’ utile un ritardo di qualche frazione di secondo su apertura e chiusura del menu, per evitare attivazioni involontarie spostando il mouse
  • Il menu deve potersi riposizionare a seconda delle dimensioni della finestra del browser, spostandosi in un’area visibile quando si trova vicino ai margini della stessa. Un classico errore è mostrato nell’immagine:
    Un esempio di menu a tendina con comportamento errato, ai margini della finestra del browser.
  • All’apertura della tendina, l’utente deve vedere tutte le voci insieme, senza necessità di effettuare scroll della pagina
  • I link di primo livello devono avere una destinazione, che sarà utilizzata anche se il menu non è accessibile (ad esempio JavaScript disabilitato)
  • Un menu a tendina non è una mappa del sito, è inutile e dannoso elencare tutte le pagine
  • Le voci selezionate dall’utente all’interno del menu dovrebbero rimanere evidenti
    Menu con voci selezionate
  • Il menu dovrebbe essere perfettamente navigabile anche da tastiera
  • I menu realizzati esclusivamente con i CSS spesso sono poco usabili: a volte è meglio evitarli. Senza JavaScript infatti non è possibile gestire alcuni aspetti come il ritardo sull’apertura e sulla chiusura.
  • Con JavaScript disabilitato il sito deve essere comunque navigabile
  • Le voci dei sottomenu è bene che siano accessibili agli screen reader senza nasconderle con display: none (ma con position: absolute)

Queste regole andrebbero rispettate in ogni occasione: per alcune potrebbe essere concessa qualche eccezione a seconda delle circostanze, ma alcuni requisiti come l’usabilità sono fondamentali. Un menu a tendina deve essere facile da utilizzare, perchè è il mezzo principale per far navigare gli utenti nel vostro sito. In certi casi conviene mantenere un menu classico, se l’alternativa deve essere poco usabile.

Esempi di menu a tendina

Esistono diverse risorse disponibili per realizzare un menu a tendina senza troppi problemi. Non tutte però seguono i principi elencati: ve ne segnalo un paio. Potete usarle come un ottimo punto di partenza per i vostri siti:

Se conoscete altre risorse interessanti segnalatele pure nei commenti, le aggiungerò a questa lista.

Usare gli sprite CSS

Cosa sono gli sprite CSS? Una veloce spiegazione ed uno strumento per utilizzarli.

CSS SpritesL’utilizzo degli sprite CSS è una delle tecniche fondamentali da imparare quando si è alle prese con lo sviluppo di un sito. Consiste semplicemente nel riunire più immagini (spesso icone) in una più grande, come è possibile vedere nell’esempio qui a fianco (dove ho utilizzato alcune Silk Icons). Per selezionare quindi una singola immagine sarà sufficiente usare i CSS e la proprietà background-position.

Questa tecnica ha due vantaggi principali:

  1. diminuisce il numero di richieste HTTP al server migliorando le prestazioni del sito
  2. evita ritardi nel caricamento delle immagini usate per lo stato :hover dei link

Per velocizzare il lavoro e creare degli sprite CSS in pochi secondi, vi segnalo un fantastico CSS Sprite Generator che automatizza tutto il processo. Vi basterà caricare un file .zip contentente le immagini, impostare alcuni parametri come la distanza tra gli elementi ed il formato (png, gif o jpg), e lo strumento creerà anche le righe di CSS necessarie.

L’unico limite di questo tool è la dimensione del file da uploadare, che al momento non può superare i 500kb. Utile quindi per piccole immagini, mentre per files più ingombranti è necessario cercare altre alternative.

PiroBox, visualizzazione di immagini made in Italy

Un plugin per jQuery alternativo a Lightbox, ideato dal Web Designer italiano Diego Valobra.

Uno screenshot di PiroboxSe avete la necessità di gestire delle gallerie di immagini la scelta è ormai ampia: esistono infatti numerose soluzioni che spesso si appoggiano a librerie JavaScript esistenti. Quella più famosa è Lightbox, seguita da Thickbox, ma su queste pagine ho parlato anche di altri script come Smoothbox e Shadowbox.

Ha deciso di avventurarsi in questo contesto un Web Designer italiano, Diego Valobra, che sfruttando un framework diffuso come jQuery ha realizzato un plugin pronto all’uso.

La sua creazione si chiama Pirobox: sul sito potete trovare alcuni semplici esempi, in due varianti di colore (bianco e nero). Mantenendo tutte le caratteristiche dei suoi predecessori, a mio parere è interessante la possibilità di avere i controlli per scorrere avanti e indietro posizionati esternamente rispetto alle immagini, un dettaglio che può fare la differenza.

Se volete saperne di più sul suo creatore, ho chiesto a Diego i motivi che l’hanno spinto a realizzare un clone di Lightbox, questa è stata la sua risposta:

Qualche mese fa ho iniziato ad interessarmi al framework jQuery, non tanto per sfruttare il “già fatto”,visto che di plugin come sai è piena la rete, quanto per creare effetti su misura ai siti su cui lavoro.

Credo fermamente che la creatività di un web designer non debba limitarsi al creare un layout in psd, tagliarlo, montarlo e farne il debug, ma debba spaziare attraverso il web developing il più possibile. Con questo intendo dire che i codici usati per rendere visibile ciò che si è creato in Photoshop o in Illustrator, devono stare al web designer come la grammatica sta ad uno scrittore. Mi è sembrato quindi inevitabile fare una full immersion nel mondo di ajax, e Pirobox ne è il frutto.

Voglio aggiungere che non sono un programmatore, ma essenzialmente un web designer, per questo nel creare Pirobox ho dovuto supplire alla mancanza di nozioni javascript con la mia creatività. Faccio un’esempio.
Per creare la navigazione nella gallery, quindi i tasti next e previous, tutti… e dico tutti quelli che prima di me hanno creato una qualsiasi tipo di image gallery hanno usato un array con conseguente ciclo for, incremento o decremento dei numeri relativi alle immagini. Io ho semplicemete aggirato l’ostacolo in maniera creativa, senza voler copiare nessuno (sarebbe stato troppo facile), ho  trovato un escamotage che consiste nell’aggiungere nell’html, in fase iniziale di script, due elementi lista:

<li class="begin"></li>
<li class="end"></li>

uno all’inizio della lista che uso per il set di immagini e l’altro alla fine. Questo permette il controllo sulla lista di immagini evitando di usare un array.

Per l’incremento e il decremento ho usato un altro trucco che consiste nell’aggiungere agli elementi lista della gallery adiacenti all’immagine selezionata due classi start e back, che servono per la navigazione. Ovviamente ci sono anche dei controlli sul primo e sull’ultimo elemento della lista grazie ai due <li></li> aggiunti in precedenza, così una volta arrivati all’ultima immagine il tasto next sparisce, stessa cosa per il tasto prev.

L’unico inconveniente, se così possiamo dire visto che il risultato è semanticamente giusto, è che il set di immagini con Pirobox funziona solo se viene usata una lista.

Creare Pirobox è stato stimolante, istruttivo e cosa più importante molto divertente.

Potete vedere il portfolio di Diego su Pirolab.it, e tra i suoi vari lavori troverete anche DiegoValobra.com, un sito che avevo già notato in passato viste le numerose segnalazioni su diverse Web Gallery.

Userfly: uno strumento per i test di usabilità

Test di usabilità accessibili a tutti con una nuova applicazione web.

UserflySembra si siano accorti in molti dell’importanza dei test di usabilità per il successo di un sito: dopo la nascita di un’applicazione desktop come Silverback, è arrivato il suo equivalente web-based, Userfly.

L’obiettivo di questo strumento è quello di fornire test di usabilità utilizzando utenti reali. Basta inserire una linea di JavaScript e le azioni dei vostri visitatori saranno monitorate praticamente in tempo reale.

Sul sito dell’applicazione infatti avrete accesso a dei veri e propri screencast, che vi consentiranno di seguire le azioni dei vostri utenti: movimenti del mouse, click, scrolling delle pagine ed interazioni di base con gli oggetti presenti.

Il test che ho effettuato è stato estremamente positivo: gli screencast sono stati generati quasi in tempo reale e fin da subito sono rimasto affascinato dalle potenzialità di questo strumento.

Qualche difetto c’è: le interazioni con oggetti AJAX, ad esempio, non vengono memorizzate. E’ anche possibile che nei momenti di particolare traffico alcuni utenti potrebbero non venire monitorati, ma considerando che è un tool nato da poco c’è tempo per vederlo crescere e migliorare.

E’ disponibile anche un video per vedere Userfly all’opera e capirne meglio il funzionamento:

Per chi avesse delle riserve dal punto di vista della privacy, c’è da notare che strumenti simili esistono da tempo. Basti pensare a CrazyEgg, ma in realtà Userfly è assimilabile a tutti gli altri tool capaci di tracciare le azioni degli utenti, a partire da Google Analytics.

Se avete un sito vi consiglio di provarlo: al momento della registrazione vi verranno dati i crediti necessari alla registrazione di 10 screencast. Successivamente, potrete registrare le azioni dei vostri utenti pagandole 0,05$ l’una, una cifra decisamente accettabile considerando la facilità e l’immediatezza dello strumento.

Aggiornamento del 13 Febbraio 2009: vi segnalo anche una promozione in corso legata a Twitter. Se vi registrate ad Userfly (o siete già utenti) e lo segnalate ai vostri followers su Twitter, riceverete gratuitamente altri 5 crediti.

Regali di Natale: alcune idee originali

Alcune idee regalo per il Natale 2008: tornano i suggerimenti un anno dopo le segnalazioni per regali geek del 2007.

Dopo aver dedicato nel 2007 un articolo ai regali di Natale per geek, quest’anno mi sembra giusto scrivere un altro post a tema. Se siete in cerca di idee e volete fare un regalo originale, potreste trovare qui ciò che fa per voi.

Here!

Idea originale disponibile sul sito Fred, dove troverete molti altri oggetti fuori dal comune. Questo è un attaccapanni a forma di freccia, che ovviamente indica il punto dove appendere la vostra giacca.

Help!

Un semplice tappo per lavandino, che ha una forma decisamente fuori dal comune. Anche questo disponibile su Fred.

T-Shirt su 10tees.com

Se siete in cerca di una maglietta originale, in rete ci sono innumerevoli siti da esplorare. 10tees raccoglie le migliori magliette disponibili su questi siti in diverse categorie, passando dalla tipografia a Star Wars. Se non vi bastassero questi suggerimenti e cercate un regalo per un web designer, potete sempre acquistare la maglietta di Carsonified come ho fatto io.

On/Off Mug

La tazza On/Off disponibile su Charles & Marie cambia stato quando vengono versate delle bevande calde al suo interno. Decisamente geek.

Lego Poster

Mike Stimpson è un fotografo professionista che si diverte a ricreare ambientazioni con i mattoncini Lego. Sul suo sito trovate delle fantastiche composizioni in formato poster che possono essere acquistate, ispirate da famosi scatti fotografici.

Altre idee regalo

idee-regalo-originali

Siete ancora indecisi? Una raccolta di oltre 200 idee regalo è quello che fa per voi. Su questa pagina trovate di tutto: dalle esperienze agli oggetti fisici, passando per i regali personalizzati: l’ispirazione è dietro l’angolo, basta scorrere le idee a disposizione.

Bonus: regali di Natale originali

Se l’elenco fino ad ora non vi ha soddisfatti, ecco la risorsa definitiva. Una raccolta di idee originali categorizzate per prezzo. Soluzioni per tutte le tasche con oggetti che sicuramente non rischiano di essere dei doppioni in casa dei vostri amici.

Free Site Validator: HTML valido su un intero sito

Un nuovo servizio permette di controllare la validità del codice HTML di un intero sito e di ricevere il resoconto via email.

Fino ad ora per controllare la validità del codice HTML di un sito l’unico strumento disponibile era il validatore del W3C. Sicuramente efficiente per effettuare verifiche su singoli documenti, ma inutilizzabile su siti con centinaia di pagine.

Grazie alla segnalazione del sempre eccellente Roger Johansson ho scoperto Free Site Validator: come si può intuire dal nome questo servizio permette di validare il codice di un intero sito dopo essersi registrati ed avere inserito l’URL. In questo momento proprio a causa della segnalazione di 456 Berea Street il sito ha subito un deciso rallentamento ed i report non sono immediati, ma poterli ricevere via email evita ogni problema: l’attesa è comunque accettabile.

Free Site Validator permette di:

  • Controllare la validità di tutte le pagine di un sito partendo da un indirizzo: il report mostra un link alle pagine con errori, identificandoli.
  • Verificare la presenza di link a pagine inesistenti: vengono evidenziati i link errati e la pagina dove sono stati inseriti.
  • Installare su Ubiquity il comando validate per controllare al volo qualsiasi pagina con il validatore del W3C (per sapere cos’è Ubiquity ti consiglio questo post).

Il servizio è veramente buono ed al momento insostituibile, l’unico dubbio è se sia in grado di sopportare il gran traffico che sarà generato col passare dei giorni e con l’aumento della sua popolarità.

Finchè la velocità del sito è accettabile approfittatene: io ho ricevuto il report di TomStardust.com (quasi 600 pagine) dopo qualche ora.

Module, il CMS essenziale

Un semplice sistema per la gestione dei contenuti si propone come alternativa ai CMS più avanzati.

Per la realizzazione di un sito internet è fondamentale sapere in partenza se dovrà essere statico o dinamico. Se i contenuti avranno bisogno di essere modificati regolarmente, esistono numerosi CMS per una gestione più o meno dettagliata; spesso però queste soluzioni sono fin troppo complesse per dei siti elementari senza particolari necessità.

Joomla, Drupal, ma anche WordPress, sono sistemi per la gestione dei contenuti che in molti casi offrono più del necessario, quando magari sarebbe sufficiente poter modificare il testo contenuto in una semplice pagina.

E’ in questo contesto che si inserisce Module, un CMS essenziale realizzato da Giovanni Meloni. Una volta configurato ed installato sul server, consente di cambiare il testo contenuto in una pagina senza appoggiarsi ad alcun database. Dopo l’autenticazione dell’utente, apparirà un pop-up con il testo modificabile tramite un editor come NicEdit o TinyMCE.

Potete provare subito Module in questa pagina demo.

Ha ancora bisogno di essere perfezionato, ma credo che l’esigenza di uno strumento del genere sia diffusa. Al momento ci sono soluzioni alternative come CushyCMS, ma in quel caso i contenuti vengono ospitati su un server esterno. Con questa soluzione invece si ha il controllo totale della piattaforma, la soluzione ideale per siti di una sola pagina o comunque non troppo complessi.

Collabora al progetto

Module necessita ancora di miglioramenti: il suo autore è attualmente in cerca di altri programmatori e sviluppatori php interessati a collaborare con lui. Se siete interessati contattatelo direttamente da questa pagina, ricordando che questo progetto è gratuito, rilasciato con licenza Creative Commons.

Dal mio punto di vista, l’interfaccia ed il funzionamento avrebbero bisogno di alcune modifiche. Eviterei l’utilizzo di pop-up che rendono l’applicazione inaccessibile, e cercherei di facilitare ulteriormente l’installazione. Invece di aggiungere troppe stringhe di codice, l’ideale sarebbe poter applicare una classe all’elemento che si vuole modificare: tutto dovrebbe essere poi gestito lato server.

Se avete altri suggerimenti dite la vostra nei commenti, saranno letti dall’autore. Sono ben accette anche altre segnalazioni di applicazioni simili: potrebbero comunque servire alla crescita di questo CMS basilare.

Sweetcron e il Lifestreaming

Una nuova piattaforma permette di riunire tutti i servizi tipici del Web 2.0 in un’unico sito: un’esigenza sempre più forte per il futuro di internet.

In questo periodo capita di sentire sempre più spesso il termine Lifestreaming. Cercando di spiegarlo in breve, è l’insieme di tutte le attività di un utente sui vari servizi del cosiddetto Web 2.0.

Last.fm per la musica, Flickr per la fotografia e YouTube per i video, passando per Twitter e le altre web application esistenti: tutto questo genera un notevole flusso di informazioni: ecco cos’è il lifestreaming di una persona.

E’ in questo scenario che nasce Sweetcron: una piattaforma da installare sul proprio spazio hosting, che una volta configurata riassume in una pagina tutti i nostri interessi. Diversamente da Facebook o FriendFeed (che comunque potete utilizzare per il lato “social”), qui i vari servizi esterni sono raccolti in maniera completamente personalizzabile e gestiti autonomamente.

La parte più interessante, che sto approfondendo in questo periodo, è la possibilità di creare dei template grafici come succede su WordPress. Dall’amministrazione di Sweetcron è possibile aggiungere i propri feed e tra le opzioni selezionare quale tema attivare: con poco php e discrete conoscenze di HTML e CSS si possono già ottenere buoni risultati, magari utilizzando come base i temi esistenti di default.

A proposito dei temi per Sweetcron ho in programma di approfondire l’argomento con una guida, se volete saperne di più e non perdervi tutti i dettagli, potete abbonarvi al Feed RSS di questo blog.

Sweetcron è stato creato da Jon Yongfook, un web producer giapponese: è possibile vedere una dimostrazione delle funzionalità proprio sul sito personale del suo creatore. Ci sono buone possibilità che piattaforme simili a questa prendano il posto dei blog in un futuro non troppo lontano: sarà interessante seguirne l’evoluzione.