Crea sito

Web-Design

Articoli, news, risorse, trucchi e suggerimenti sul mondo del Web-Design

Gli usi più creativi di jQuery ?

Oggi spezzo un po’ la monotonia di questo blog per tornare a parlare (era ora!) un po’ di web mastering e web design.

L’occasione mi si è presentata nel mentre selezionavo le risorse da inserire nel prossimo Best of Week e mi sono imbattuto in un articolo, apparso sul celebre portale NetTuts, a prima vista davvero interessante per chiunque si stia cimentando con jQuery e sviluppo web in generale: The 20 Most Practical and Creative Uses of jQuery.

Già il solo titolo, unito alla testata che lo ha pubblicato, dovrebbe essere una garanzia più che sufficiente non solo di utilità pratica ma anche di elevata qualità. Eppure, un po’ per scrupolo, un po’ perchè anche a me la cosa interessava parecchio, ho deciso di andare oltre la semplice lettura e tastare con mano tutti gli esempi riportati. E posso anticiparvi sin da ora che quell’articolo non finirà nella mia rubrica.

Mentre ad una prima lettura sembrerebbe infatti che le implementazioni effettuate dai vari autori siano la cosa più straordinaria del mondo, il discorso cambia decisamente quando si vanno ad aprire i vari esempi.

Non voglio qui puntare il dito contro questo o quello script/sviluppatore, pertanto cercherò di limitarmi ad una anlisi globale sugli aspetti più deludenti riscontrati.

Innanzitutto mi ha lasciato davvero molto perplesso notare come il fattore accessibilità sia stato totalmente ignorato non soltanto da alcuni sviluppatori, ma anche dall’autore dell’articolo.

Personalmente parto infatti da un presupposto imprescindibile secondo cui, se la resa finale non può essere cross-browser o cross-platform, bisognerebbe almeno garantire la piena fruizione dei contenuti anche sui browser non compatibili o con javascript disabilitato. Aspetto che invece non sembra essere stato preso in considerazione da alcuni sviluppatori (pochi per fortuna).

Restando sempre in tema accessibilità mi è parso poi davvero ridicolo riscontrare fra i siti in lista un Portfolio (o landing page) che supera addirittura i 5 MB (senza contare le infinite richieste http) per la sola (e strimizita) home page! Francamente, dopo aver atteso il caricamento di un mostro del genere, mi sarei quantomeno aspettato che non ci sarebbero più stati tempi di attesa nel passare da una sezione all’altra… Ovviamente mi sbagliavo ed anche tecniche base come il semplice preload o gli sprites vanno evidentemente al di là dell’immaginario comune.

Certo che se fosse finito tutto qui mi sarei comunque potuto ritenere fortunato. Ed invece è proprio la domanda che segue che mi ha portato a scrivere questo post:

Ma era davvero necessario ricorrere a jQuery (e JavaScript in generale) per ottenere quegli effetti?

Incredibile ma vero la risposta, in molti casi, è no. 😮

Per replicare alcuni degli effetti presentati sarebbe infatti bastato l’uso dei ben più semplici e compatibili CSS, eventualmente combinati con qualche sano hack.

Ora, ben vengano sperimentazioni e dimostrazioni pratiche delle proprie abilià o delle possibilità di un framework JS, ma nel momento in cui queste abbandonano lo status di esempio per approdare nel mondo reale credo bisognerebbe essere un po’ più critici. Specie poi nel caso specifico di jQuery che non è certo noto come il più parsimonioso di risorse (anche se con la prossima versione le cose porebbero cambiare).

Infine, e parzialmente correlato al punto precedente, lascia un po’ perplessi anche un’altra cosa. Molte delle risorse segnalate non hanno in realtà quasi nessun “sex-appeal” . Cosa che dovrebbe fare un attimo riflettere per un articolo che titola come “I 20 usi più pratici e creativi di jQuery”.

Ma ad ogni modo qui si va sul campo dei gusti personali e non è quindi possibile dare giudizi assoluti.

Chiudo quindi questo mio secondo articolo-polemica (o terzo ? 😕 ) nel mondo del web design lasciando a voi il compito di giudicare. E se volete fatemi avere i vostri pareri. 😉

PS
Preciso comunque che non tutto è da buttare e, anzi, molte cose sono interessanti. Solo sarebbe stato necessario maggior criterio durante la stesura dell’articolo.

Google User Experience: predica bene, ma…

Quante volte, girovagando di qua e di là alla ricerca di qualche utile articolo sul web-design, vi siete imbattuti in una di quelle liste di consigli da seguire durante la progettazione del vostro sito?

Personalmente non le conto nemmeno più, e gli autori sono davvero i più svariati, dall’esperto internazionale di CSS al piccolo blogger che cerca di mettere a disposizione degli altri tutta la sua esperienza.

In genere solo raramente mi soffermo in una lettura più attenta di questo genere di articoli (ipotizzando con arroganza di non aver nulla di nuovo da imparare 😳 ). Eppure questa volta non ho potuto proprio ignorare il post in questione, dopo aver appreso dal titolo che il dispensatore di consigli di turno era niente-po-po-di-meno-chè l’onnipotente Google. 😮

Google Teacher

Ad una prima lettura, il gruppo Google User Experience è in effetti riuscito a sintetizzare in 10 semplici punti come una applicazione web degna di questo nome dovrebbe essere sviluppata. Si tratta di consigli molto generici ma di indubbio valore didattico. Del resto si tratta di quelle stesse linea guida seguite ai tempi della creazione di quell’interfaccia che ha decretato il successo di Google nella lotta dei search engine.

E allora dov’è il problema vi starete chiedendo? Semplice provate a scorrere la lista fino al sesto punto:

6. Design for the world.

… Our goal is to design products that are contextually relevant and available through the medium and methods that make sense to users…

… and Google’s mission to make the world’s information universally accessible, demand products that support assistive technologies and provide a useful and enjoyable experience for everyone…

Se a questo punto non siete sobbalzati dalla sedia e/o svenuti significa che non usate Opera con le web application di Google. Giusto in questi giorni sto infatti valutando seriamente l’idea di abbandonare sia GReader che Gmail in favore di alternative che non richiedano necessariamente Firefox per funzionare.

Chiunque usi il Feed Reader di Google con Opera sa bene infatti come, oltre ai mille problemi in cui si incappa ad ogni aggiornamento dell’applicazione (che vengono risolti mediamente in 10 giorni o più), attualmente la sua lettura risulti estremamente irritante, con latenze e “freeze” temporanei che metterebbero alla prova anche la pazienza di San Francesco.

Anche Gmail e le altre applicazioni poi non è che brillino sul fronte compatibilità, per quanto si riesca comunque a lavorare una mezzoretta senza farsi venire un’ulcera gastrica.

Google si era sempre difesa affermando come fosse Opera ad avere delle limitazioni intrinseche di difficile soluzione. Ma abbiamo già visto come queste affermazioni fossero del tutto prive di fondamento.

Insomma sviluppare web-application universali va bene… purchè in qualsiasi parte dell’universo ci si trovi si stia usando Firefox. 🙄

Campagna anti-google a parte, esorto comunque tutti i miei lettori a seguire alla lettera almeno i consigli dati dalla grande G… ma per l’esempio forse è meglio guardare altrove. 😉

Frameworks CSS: La moda del momento

Oggi torno finalmente a parlare un po’ di webdesign. Nessun tutorial questa volta (ma ne dovrebbe arrivare qualcuno prossimamente) ma solo una riflessione.

Seguendo con interesse la parte di blogosfera che si occupa di queste tematiche, non ho potuto fare a meno di notare come ultimamente realizzare, usare e rilasciare un Framework CSS sia diventata una cosa assolutamente necessaria, pena essere uno sfigato.

Web DesignMa andiamo con ordine. Cosa è un Framework CSS? Si tratta in pratica di un “pacchetto” base già pronto con tutto un insieme di regole generali che consentono in poco tempo di realizzare layout anche piuttosto complessi. In realtà l’idea è buona e facilita molto la vita di webmasters e webdesigners che non si vedranno più costretti a ricreare tutto da zero ad ogni lavoro commisionatogli. Creando un framework generico una volta, sarà poi sufficiente riadattarlo alle necessità del nuovo sito a cui si sta lavorando.

Ma la prima pecca (sempre nella mia umilissima opinione) sta proprio in questo: un framework va bene (e comunque neanche troppo) finchè ad utilizzarlo è il suo creatore o una ristretta schiera di sviluppatori molto vicini (nella metodologia) ad esso. Il motivo è presto detto ed anche facile da capire. Per accogliere le più disparate esigenze dei suoi utilizzatori, il CSS base dovrà necessariamente includere un corposo set di regole e proprietà generiche e di reset che non avrebbero senso di esistere (e che non ne hanno in effetti) in un foglio di stile creato in proprio e costruito per adattarsi al progetto per cui è nato, proprio come un guanto in lattice farebbe con una mano. 😆

Conseguenza di ciò sarà una inutile pesantezza e complessità del CSS finale che, tradotto in termini pratici, significa tempi maggiori per il suo download e per il rendering della pagina (ipotizzando che tutti i problemi cross-browser/platform siano stati previsti e risolti 🙄 ).

Se, tuttavia, questi problemi possono essere sentiti solo marginalmente (o comunque in modo irrilevante rispetto ai benefici) usando un framework ben progettato, la follia raggiunge il suo culmine con l’uso di framework specificatamente creati per sopperire ad ogni esigenza. Tipici esempi sono Blueprint e YUI Grids, nonostante le ottime intenzioni con cui nascono.

Il secondo problema è poi proprio l’uso, spesso davvero eccessivo ed inadeguato, di regole di reset. Anzi si è oggi arrivati persino ad avere non più framework CSS bensì CSS di Reset! 😯

Anche qui meglio dare prima una piccola spiegazione. Con regole di reset in pratica si azzerra qualsiasi “proprietà” (margini, padding e molto altro) che questo o quel browser attribuirebbe arbitrariamente agli elementi della pagina attenendosi al proprio schema (beati coloro che vedranno il giorno in cui il W3C sarà l’unico Dio riconosciuto da sviluppatori web e produttori di browsers).
Senza alcun dubbio il problema esiste ed è reale (anche se personalmente oggi non lo avverto più come in passato) e le opinioni in materia sono le più disparate. Quello che è certo però è che larga parte degli sviluppatori odierni fa un vero abuso di questa pratica anche quando sarebbe assolutamente evitabile, e vedere applicati 10 o più reset al selettore universale non è poi così raro.

Girl PC

Giusto mentre stavo scrivendo questo articolo (in stato di bozza da diverse settimane insieme ad altri che seguiranno 🙁 ) ho avuto modo di leggere un’interessantissima trattazione (che vi consiglio caldissimamente) dell’argomento sulle pagine di <edit>. Ed anche lì comunque il succo è il medesimo benchè a parlare siano voci ben più autorevoli della mia.
Chiamati in causa sono stati infatti Jonathan Snook e Jens Meiert, che si sono espressi anche ben più duramente del sottoscritto ed arrivando addirittura a sostenere che l’unico reset da utilizzare debba essere il classico margin: 0; padding: 0;.

Ai più questo sembrerà forse davvero eccessivo ma personalmente, per il mio modo di sviluppare un sito, non la ritengo una regola tanto costrittiva o limitativa.

Comunque stiano le cose è chiaro che si tratta di pure opinioni personali condivisibili o meno. In attesa di dedicarmi nuovamente al sito principale (lo finirò… un giorno o l’altro lo finirò), e verificare di persona la reale necessità di questi strumenti, io la mia l’ho detta (e con la solita logorroicità che mi contraddistingue 😆 )… ora tocca a voi. 😉

Filmati Flash in background con i CSS

Ed iniziamo con questo articolo una serie di guide e di tips & tricks per eventuali webmasters alle prime armi che passassero da queste parti. Onestamente non so bene neanche io come (e se) si svilupperà la cosa. Ma come sempre l’importante è iniziare no?

L’idea mi è venuta grazie ad una domanda posta da un utente sul forum di MegaLab.it. Vedendo come operazioni apparentemente molto semplici possano sembrare dei problemi insormontabili ad un neofita mi ha spinto a cominciare questa nuova “rubrica”.

Ed adesso andiamo al tema di oggi: “Come creare in modo semplice e veloce una pagina web in cui un filmato flash farà da cornice alla nostra pagina vera e propria”.

Il trucchetto si rivela utile soprattutto per chi il Flash non lo conosce proprio al meglio, visto che la soluzione migliore sarebbe sviluppare tutto direttamente con questo programma sfruttandone le pressochè illimitate possibilità.

Per realizzare il nostro progetto ci limiteremo dunque al solo uso di codice (x)HTML e CSS e, in particolare, alle specifiche XHTML 1.0 Strict e CSS 2.1 così da garantire un’ottima compatibilità cross-browser e cross-platform (nonostante quell’ XHTML 1.0 Strict possa far pensare diversamente qualche profano 😉 ).

Per ottenere l’effetto desiderato, ovvero avere due livelli sovrapposti in vario modo esattamente come siamo abituati a vedere in programmi di grafica come Photoshop, la specifica CSS2 infatti ci mette a disposizione la proprietà z-index.

Tutto quello che dobbiamo fare è quindi creare due box posizionati assolutamente ed ai quali attribuire dei valori diversi per lo z-index (maggiore per quello che deve essere visualizzato sopra). Tuttavia questo non è ancora sufficiente in quanto limitandovi ad inserire il vostro file .swf tramite il codice standard (in genere fornito dalla routine di esportazione stessa) noterete che invece di fare da sfondo al livello superiore verrà visualizzato in primo piano coprendo la vostra pagina.

Questo comportamento, apparentemente inspiegabile, è in realtà normale in quanto, affinchè il plugin flash del vostro browser posizioni e visualizzi il filmato nel modo desiderato, è necessario che aggiungiate al codice fornito per il suo inserimento (ammesso che si tratti di codice XHTML valido) la seguente stringa:

<param name="wmode" value="transparent">

ottenendo quindi un codice di questo tipo:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="movie.swf" /><embed type="application/x-shockwave-flash" width="100" height="100" src="movie.swf" wmode="transparent"></embed></object>

A questo punto avrete ottenuto l’effetto desiderato senza dovervi scervellare a gestire il tutto tramite il ben più complicato Flash. Comodo no? 😉

Ed ecco infine il codice completo di una pagina di esempio in cui un filmato preso da YouTube farà da sfondo al testo:

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  dir="ltr" lang="it-IT">
<head>
<title>Test1 </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
<!--
#box1 { background: #ffffff; width: 450px; position: absolute; top: 120px; left: 30px; z-index: 1; }
#box2 { background: #f3f3f3; width: 300px; position: absolute; top: 160px; left: 90px; z-index: 2; }
-->
</style></head>
<body>
<div id="box1">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/dZWl-SOC5jQ" /><embed type="application/x-shockwave-flash" width="100" height="100" src="http://www.youtube.com/v/dZWl-SOC5jQ" wmode="transparent"></embed></object></div>
<div id="box2">Come volevasi dimostrare questo testo viene visualizzato sopra il filmato</div>
</body>
</html>

Safari 3.1: la soluzione che molti webmaster aspettavano

Non essendo (ancora) un mac user non ho mai seguito molto lo sviluppo di Safari e WebKit, il suo core-engine.

Safari LogoCome molti di voi sapranno tuttavia qualche tempo fa Apple ha deciso di portare il suo innovativo web-browser sulla piattaforma di zio Bill e da allora le cose sono cambiate, ritrovandomi adesso a seguire una decina di feed in più per restare aggiornato sull’argomento.

E proprio oggi aprendo il mio Google Reader trovo tra questi ultimi feed una notizia che mi ha davvero interessato, sia come pseudo-esperto/amante di browser (no, non sono malato 🙄 ) sia, soprattutto, come webmaster dal momento che aspettavo questa feature da anni.

La notizia a cui mi riferisco è il supporto (finalmente!) al download dei font usati nelle pagine che visitiamo, qualora questi non siano disponibili sul nostro sistema.

Sino ad oggi infatti in questi casi il comportamento standard di tutti i browser sarebbe stato di sostituirli con font simili (con risultati spesso piuttosto lontani dall’originale) o, peggio ancora, con quelli di default.

Sembrerà una cavolata ma in realtà la cosa ha sempre rappresentato un problema di non poco conto per tutti i webmaster, specie se alle prime armi, che realizzato il layout dei propri sogni scoprono come questo renda in modo orribile sul PC dell’amico (naturalmente il problema dei font è solo uno dei tanti sotto questo aspetto).

L’unica soluzione, ormai ampiamente collaudata nel corso degli anni, è stata quella di ricorrere all’uso di limitati set di caratteri standard che, nella migliore delle ipotesi (e non sempre questo è vero), tutti gli utenti della rete dovrebbero avere installati sul proprio sistema.

Naturalmente questo palliativo, viste le infinite possibilità che i grafici (o tipografi? 😕 ) di oggi ci mettono a disposizione, non mi ha mai soddisfatto molto, appiattendo di fatto molte idee originali in nome della compatibilità. Del resto anche il “workaround” di ricorrere all’uso di immagini non è applicabile che a limitate sezioni della pagina come l’header o poco altro, mentre quello di realizzare tutto in flash (che permette di incorporare i font nel file) non è certo una soluzione valida.

Finalmente comunque questo problema ha trovato una soluzione piuttosto semplice, ma al tempo stesso efficace, grazie al lavoro svolto dagli sviluppatori di WebKit.

Inspector Fonts

Resta tuttavia il dubbio sulla reale utilità della cosa qualora anche i concorrenti non adottino lo stesso comportamento. Sviluppare un sito per un solo browser non è infatti la scelta migliore, specie se questo non ha i numeri di IE o FF, e non credo che saranno in molti i webmaster che rischieranno una mossa del genere.

Sperando che Microsoft, Mozilla ed Opera si pronuncino presto sulla faccenda non ci resta che attendere fiduciosi.

Discorso font a parte comunque, altre novità accompagneranno il debutto di Safari 3.1.

Tra le più importanti, il supporto allargato ad HTML5, l’ultima versione dello standard, già adottato anche da Opera 9.5 e Firefox 3, che includerà fra le altre anche tag per il supporto nativo agli elementi audio e video, e le nuove capacità CSS Transform e CSS Animations, caratteristiche davvero interessanti nelle mani di sviluppatori esperti.

E come sempre ecco una lista di fonti ed approfondimenti vari.

Links:

WebKit Blog: Web Inspector Update
WebKit Blog: CSS Animation
TheAppleLounge: Mac OSX 10.5.2: seed 9C31 con Safari 3.1
Apple Blog: Safari 3.1: supporto ai font web scaricabili e molto altro
MelaMorsicata: In arrivo Safari 3.1
Just Browsing: Apple Edges Towards RIA Viability

Go to Top