<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Francesco Gavello - Blog Marketing Tips, Web &#38; Blogosfera &#187; Web Design &amp; UX</title>
	<atom:link href="http://francescogavello.it/category/web-design/feed" rel="self" type="application/rss+xml" />
	<link>http://francescogavello.it</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 03:30:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Come Ho Inserito un &#8220;Endless Scrolling&#8221; sulla Homepage di Questo Blog (e come puoi farlo anche tu)</title>
		<link>http://francescogavello.it/inserire-endless-scrolling-blog</link>
		<comments>http://francescogavello.it/inserire-endless-scrolling-blog#comments</comments>
		<pubDate>Fri, 21 Oct 2011 03:30:00 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Blog Design]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=21530</guid>
		<description><![CDATA[<p>
Era già da un po&#8217; di tempo che rimandavo su queste pagine l&#8217;installazione di un meccanismo di paginazione a &#8220;endless scrolling&#8221;. Quel meccanismo, per capirci, che permette raggiunto il fondo di una pagina il caricamento dinamico dei contenuti che risiederebbero nella pagina successiva. E così via all&#8217;infinito.
Due i principali dubbi ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/inserire-endless-scrolling-blog">Come Ho Inserito un &#8220;Endless Scrolling&#8221; sulla Homepage di Questo Blog (e come puoi farlo anche tu)</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://francescogavello.it/wp-content/uploads/caricamento-infinito-articoli-blog.jpg" alt="" title="caricamento-infinito-articoli-blog" width="668" height="420" class="aligncenter size-full wp-image-21580" /></p>
<p>Era già da un po&#8217; di tempo che rimandavo su queste pagine l&#8217;installazione di un meccanismo di paginazione a &#8220;endless scrolling&#8221;. Quel meccanismo, per capirci, che permette raggiunto il fondo di una pagina il caricamento dinamico dei contenuti che risiederebbero nella pagina successiva. E così via all&#8217;infinito.</p>
<p>Due i principali dubbi che continuavo a portarmi dietro:</p>
<ul>
<li>La visibilità del footer</li>
<li>Il tracciamento delle pageviews.</li>
</ul>
<p>Se da un lato è comodo per utenti di scrollare all&#8217;infinito l&#8217;homepage di un blog, altrettanto non si può dire del classico &#8220;contro&#8221;. Il footer diventa così vicino e contemporaneamente così lontano, tanto da frustrare chi cerca di raggiungerlo con la forza bruta delle scrollbar. No, no.</p>
<p>Secondo, ma non meno importante, il corretto tracciamento delle visite conteggiate dinamicamente a ogni caricamento. Anche in questo caso non avevo intenzione di transigere su un aspetto fondamentale per conoscere in quale modo i lettori interagiscono con i miei contenuti.</p>
<p>Ho trovato una soluzione a entrambi.<br />
E oggi ti spiego come ho fatto. <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-21530"></span></p>
<p>La soluzione che ho scelto permette dunque di:</p>
<ul>
<li>Attivare il caricamento di nuovi contenuti solo al click dell&#8217;utente</li>
<li>Tracciare correttamente le pageviews in Google Analytics</li>
<li>Ricadere sulla navigazione standard in tutte le restanti pagine</li>
</ul>
<p>La soluzione che ho scelto parte dall&#8217;omonino progetto <a href="http://www.infinite-scroll.com/">Infinite Scroll.</a> Sebbene esista un plugin per WordPress, che in molti potranno sicuramente scegliere per saltare a piè pari tutti gli aspetti avanzati della vicenda, io ho preferito la corrispettiva soluzione manuale.</p>
<h2>La logica di base</h2>
<p>Il ragionamento è questo: lo script si basa su jQuery, quindi avrai bisogno di questo framework presente sul tuo tema nel modo che ritieni più opportuno. Puoi usare le <a href="http://code.google.com/apis/libraries/devguide.html">API di Google</a> per importare sul layout l&#8217;ultima versione in maniera semplice, oppure controllare che il tuo tema lo includa già di suo.</p>
<p>Lo script richiede poi quattro variabili di base: l&#8217;id del tag del <strong>contenitore dei post</strong>, l&#8217;id del <strong>singolo post</strong>, l&#8217;id del <strong>blocco di paginazione standard</strong> di WordPress e l&#8217;id del <strong>link che andrà a scatenare il caricamento infinito</strong>.</p>
<p>La logica è quella di identificare il blocco-genitore dove sono contenuti tutti i post, attivare un particolare link al fondo di essi e andare ad &#8220;appendere&#8221; altri post al termine del suddetto blocco-genitore.</p>
<p>Iniziamo? <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>1. Importa lo script</h2>
<p>Per prima cosa importiamo lo script <a href="https://github.com/paulirish/infinite-scroll">jquery.infinitescroll.js</a>, in header o in footer a seconda di come sia scritto il nostro layout, subito <strong>dopo</strong> la rispettiva chiamata a jQuey.</p>
<pre class="brush: javascript">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;jquery.infinitescroll.js&quot;&gt;&lt;/script&gt;
</pre>
<p>Ricorda di far combaciare il percorso al file javascript così che venga correttamente recuperato e sia pronto all&#8217;uso. Questo esempio presuppone che il file js sia nella stessa cartella del tema che usi, ma sul tuo layout potrebbe non essere così.</p>
<h2>2. Definisci i puntamenti</h2>
<p>Subito sotto l&#8217;inclusione del js, ciò che dovremo fare è inserire il relativo blocco di codice in grado di attivare il plugin sui giusti ID del nostro tema. Ricordi? Quegli ID di cui ti parlavo nella logica di base.</p>
<p>Nel blocco che segue puoi vedere come ad ogni riga corrisponda una precisa azione. Ho commentato lo script così che ti sia più facile sostituire gli ID con quelli del tuo layout.</p>
<p>Posizionando questo script dopo lo script di tracciamento standard di Google Analytics questo riesce a passare la giusta variabile relativa alla pagina caricata al volo.</p>
<pre class="brush: javascript">
&lt;script&gt;
$(function(){

var infscrPageview = 1;

// #post è il contenitore globale di tutti i post
$(&#039;#post&#039;).infinitescroll({

	// #mostra-altri è il mio blocco di paginazione standard
	navSelector  : &quot;#mostra-altri&quot;,

	// #mostra-altri a:first è il primo link del blocco paginazione standard
	nextSelector : &quot;#mostra-altri a:first&quot;,

	// #post .post è il contenitore di un singolo post
	itemSelector : &quot;#post .post&quot;,

	// Un po&#039; di testo nel caso non ci fossero altri articoli da mostrare (improbabile)
	donetext      : &quot;Hai raggiunto l&#039;ultimo articolo.&quot;,

	// Un&#039;immagine nell&#039;attesa che i post vengano recuperati dal server
	loadingImg   : &quot;http://francescogavello.it/wp-content/themes/blog/img/carica-post.gif&quot;,

	// Un testo da aggiungere all&#039;immagine durante il caricamento (non ne faccio uso)
	loadingText  : &quot;&quot; 

}, function() {
	infscrPageview++;
	// passa la giusto tracciamento a Google Analytics
	_gaq.push([&#039;_trackPageview&#039;, &#039;/page/&#039; + infscrPageview]);
});

// disabilita auto-scroll
$(window).unbind(&#039;.infscr&#039;);

// attiva il click manuale sul blocco paginazione standard
$(&#039;#mostra-altri&#039;).click(function(){
	$(document).trigger(&#039;retrieve.infscr&#039;);
	$(this).css(&#039;display&#039;,&#039;block&#039;);
	return false;
});

// se non ci sono altri post, rimuovi lo scroll infinito
$(document).ajaxError(function(e,xhr,opt){
	if (xhr.status == 404) $(&#039;#mostra-altri a&#039;).remove();
});

});
&lt;/script&gt;
</pre>
<h2>3. Prepara l&#8217;HTML</h2>
<p>Sul mio layout hai visto come quindi utilizzi un blocco come</p>
<pre class="brush: php">
&lt;div id=&quot;mostra-altri&quot; class=&quot;stile_link	&quot;&gt;
	&lt;?php posts_nav_link(&#039; | &#039;, &#039;Pagina successiva&#039;, &#039;Carica articoli precedenti&#039;); ?&gt;
&lt;/div&gt;
</pre>
<p>per paginare (solo in homepage, ricorda) gli articoli.</p>
<p>Lo script di cui sopra riconosce questo blocco identificato dal div &#8220;mostra-altri&#8221; e va a puntare il primo link (&#8220;a&#8221;) presente al suo interno, rendendolo il nostro <strong>magico scroll infinito.</strong> Quando lo scroll raggiunge il termine il blocco viene rimosso così che non crei problemi.</p>
<p>Nota anche come una semplice riga al posto giusto (vedi commenti sopra) permetta il passaggio a Google Analytics del giusto riferimento della pagina da tracciare.</p>
<p>E questo è &#8230;tutto. <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Questa è l&#8217;idea. Un paio di script e il giusto HTML per rendere la homepage uno scroll infinito al click dell&#8217;utente. Per il momento il componente non sembra supportare la paginazione di archivi e le pagine successive alla home.</p>
<p>Non che fosse qualcosa che andavo ricercando, tuttavia per mantenere coerente il resto del sito potresti avere bisogno di qualcosa del genere:</p>
<pre class="brush: php">
&lt;?php
	$numeroPagina = (get_query_var(&#039;paged&#039;)) ? get_query_var(&#039;paged&#039;) : 1;
	if ($numeroPagina == 1) { ?&gt;

	&lt;div id=&quot;mostra-altri&quot; class=&quot;stile_link	&quot;&gt;
		&lt;?php posts_nav_link(&#039; | &#039;, &#039;Pagina successiva&#039;, &#039;Carica articoli precedenti&#039;); ?&gt;
	&lt;/div&gt;

&lt;?php } else { ?&gt;

	&lt;!-- Qui la normale paginazione --&gt;

&lt;?php } ?&gt;
</pre>
<p>che non fa altro che mostrare il blocco utile ad attivare lo scroll infinito solo nella prima pagina, lasciando invariata la normale paginazione (qualunque essa sia, magari tramite plugin su misura) in pagina 2 e seguenti.</p>
<p>Sembra complicato? <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Non così tanto come può sembrare.</p>
<p>La cosa migliore che puoi fare a questo punto è dare uno sguardo alla demo del creatore dello script, <a href="http://www.infinite-scroll.com/trigger.html">su questa pagina</a>, e trovare i rispettivi riferimenti che ti ho mostrato. Se hai seguito i miei precedenti consigli e disponi di una <a href="http://francescogavello.it/come-creare-copia-blog-locale-wordpress">sandbox locale dove testare idee</a> come questa per il tuo blog, è il momento giusto di mettersi all&#8217;opera.</p>
<p>Trovo che la &#8220;paginazione infinita&#8221; sia un buon modo di portare i lettori un po&#8217; più in profondità nelle nostre pagine. Una volta compresa questa logica, il temibile muro di pagina 2 diventa tanto semplice da superare quanto un click senza reload a fondo pagina.</p>
<p>Un bel vantaggio. <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Che ne pensi?<br />
Hai mai fatto uso di soluzioni simili?</p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/inserire-endless-scrolling-blog">Come Ho Inserito un &#8220;Endless Scrolling&#8221; sulla Homepage di Questo Blog (e come puoi farlo anche tu)</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/inserire-endless-scrolling-blog/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Come Aumentare le Pagine Visualizzate di un Blog?</title>
		<link>http://francescogavello.it/come-aumentare-le-pagine-visualizzate-di-un-blog</link>
		<comments>http://francescogavello.it/come-aumentare-le-pagine-visualizzate-di-un-blog#comments</comments>
		<pubDate>Mon, 12 Sep 2011 03:30:00 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Blog Design]]></category>
		<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=20966</guid>
		<description><![CDATA[<p>


Quello che segue è un guest post di Federico Ginosa, giovanissimo web designer e appassionato di WordPress che oggi risponde a una domanda che ricevo spesso nella casella di posta: come si può usare qualche intelligente snippet per WordPress per dare il giusto valore ai nostri articoli e portare i ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/come-aumentare-le-pagine-visualizzate-di-un-blog">Come Aumentare le Pagine Visualizzate di un Blog?</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<div class="contenitore_shield" style="float: left; height: 340px; width: 340px;"><img src="http://francescogavello.it/wp-content/uploads/aumentare-pageviews-wordpress.jpg" alt="" title="aumentare-pageviews-wordpress" width="320" height="320" class="alignleft size-full wp-image-21018" />
<div class="shield"></div>
</div>
<p><em>Quello che segue è un guest post di Federico Ginosa, giovanissimo web designer e appassionato di WordPress che oggi risponde a una domanda che ricevo spesso nella casella di posta: come si può usare qualche intelligente snippet per WordPress per dare il giusto valore ai nostri articoli e portare i lettori un po&#8217; più in profondità nelle nostre pagine? Buona lettura!</em> </p>
<p>WordPress ha cambiato il web. A tal proposito può essere utile pensare come i CMS in generale vengano utilizzati dal 14.8% dei siti presenti su internet e che il 54.4% di essi utilizza WordPress.</p>
<p>Non è mai saggio parlare di CMS definitivo, ma è pur vero che WordPress sta raggiungendo un alto grado di apprezzamento. Tuttavia,  se un buon CMS, una buona dose di costanza e una gran passione per la nicchia che trattiamo costituiscono<br />
 il 60% del successo di un blog, l&#8217;altro 40% lo fa il template che utilizziamo. Vediamo quindi come migliorarlo.</p>
<p><strong>Il vostro blog è il miglior blog per pubblicizzare il vostro blog!</strong> Come? Mi spiego meglio: Per aumentare le visualizzazione del vostro blog (e indirettamente i vostri introiti su AdSense) occorre diminuire la <em><a href="http://www.google.com/support/googleanalytics/bin/answer.py?hl=it&amp;answer=81986">frequenza di rimbalzo</a></em>, quel valore che indica la percentuale di visite di una sola pagina.</p>
<p>Questo valore può essere alto per due motivi:</p>
<ul>
<li>Le pagine in entrata non vengono giudicate pertinenti</li>
<li>L&#8217;utente trova subito ciò che gli occorre e non si &#8220;spreca&#8221; a visualizzare altre pagine</li>
</ul>
<p>Se pensate di far parte del primo gruppo, potreste provare a <a href="http://francescogavello.it/scrivere-titoli-a-prova-di-proiettile">realizzare titoli più efficaci</a>.</p>
<p>Se invece fate parte del secondo gruppo, allora occorre modificare il vostro tema!</p>
<p><span id="more-20966"></span></p>
<p>Una buona idea potrebbe essere quella di far visualizzare degli articoli correlati. Per far questo esistono decine di plugin che attraverso algoritmi spaziali riescono a fornire i post più pertinenti. Confido di non essere un grande amante dei plugin in generale, ma in questo caso non riesco proprio a comprenderne l&#8217;utilità. Il più delle volte restituiscono valori sballati e non pertinenti. Personalmente io faccio invece visualizzare 5 post random della categoria corrente, con questo semplice codice:</p>
<pre class="brush: php">

&lt;ul&gt;
&lt;?php
function categoria_loop()
{
	$category = get_the_category();
	return $category[0]-&gt;term_id;
}
query_posts(&#039;showposts=5&amp;amp;cat=&#039; . categoria_loop() . &#039;&amp;amp;orderby=rand&#039;);
?&gt;

&lt;?php while ( have_posts() ) : the_post(); ?&gt;
	&lt;li&gt;
    &lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;
    &lt;/li&gt;
&lt;?php endwhile; wp_reset_query();?&gt;	

&lt;/ul&gt;
</pre>
<p>Questa soluzione è adottata da tanti blog, ma spesso non viene sfruttata al massimo. Infatti sono tanti i casi in cui vengono buttati alla fine di ogni articolo quei 10-15 articoli correlati, scritti in cirillico, che non attirano assolutamente l&#8217;attenzione e che alla fine vengono superati assieme agli onnipresenti share links, pubblicità varie ecc&#8230; La parola d&#8217;ordine è quindi<strong> attirare l&#8217;attenzione</strong>!</p>
<p>Vediamo come fare:</p>
<ol>
<li><strong>Pochi ma buoni</strong>: Evitate le liste infinite di articoli correlati, fate visualizzare al massimo 5 articoli e cercate di attirare l&#8217;attenzione del lettore utilizzando magari uno stile CSS differente.</li>
<li><strong>Thumbnail post</strong>: Potrebbe essere una buona idea anche quella di far visualizzare un anteprima dell&#8217;articolo, come in questo blog. In questo caso basta utilizzare le immagini in evidenza introdotte da WordPress 3.0. Aprite quindi il file functions.php del vostro tema ed incollate il seguente codice:
<pre class="brush: php">

add_theme_support(&#039;post-thumbnails&#039;); //aggiungere supporto thumbnail
add_image_size( &#039;nome-anteprima&#039;, x, y, true ); // x è la larghezza della vostra immagine, y l&#039;altezza, true abilita il ridimensionamento dell&#039;immagine
</pre>
<p>Successivamente richiamate l&#8217;immagine all&#8217;interno del Loop di articoli relativi, in questo modo:</p>
<pre class="brush: php">

&lt;?php the_post_thumbnail( &#039;nome-anteprima&#039; ); ?&gt;
</pre>
</li>
</ol>
<h3>Una soluzione alternativa</h3>
<p>Se i post random della categoria corrente non vi convincono pienamente o se magari utilizzate pesantemente i tag, <a href="http://briancray.com/2009/06/22/wordpress-related-html-css/">la soluzione di Brian Cray</a>, potrebbe fare al caso vostro:</p>
<p><em>ndFrancesco: la soluzione di Brian Cray permette di mostrare i post correlati basandosi sui tag effettivamente usati dall&#8217;articolo che viene letto, mantenendo il controllo su HTML e CSS.</em></p>
<pre class="brush: php">

&lt;h2 id=&quot;related&quot;&gt;Articoli Correlati&lt;/h2&gt;
&lt;?php
$rel_tags = get_the_tags();
foreach($rel_tags as $rel_tag)
{
	$rel_tagnames .= $rel_tag-&gt;name . &#039;,&#039;;
}
$rel_posts = get_posts(&#039;tag=&#039; . $rel_tagnames . &#039;&amp;amp;post__not_in&#039; . $post-&gt;ID . &#039;&amp;amp;showposts=5&#039;);
if (count($rel_posts)) : ?&gt;
	&lt;ul&gt;
	&lt;?php foreach((array) $rel_posts as $rel_post) { ?&gt;
		&lt;li&gt;&lt;a href=&quot;&lt;?php echo $rel_post-&gt;post_name ?&gt;&quot;&gt;&lt;?php echo $rel_post-&gt;post_title ?&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;?php } ?&gt;
	&lt;/ul&gt;
&lt;?php else : ?&gt;
	&lt;p&gt;I can&#039;t find any related posts, sorry!&lt;/p&gt;
&lt;?php endif; ?&gt;
</pre>
<h3>One more link</h3>
<p>Potete trovare due  soluzioni alternative per integrare gli articoli correlati in <a href="http://wordpresstemi.net/articoli-correlati-wordpress-senza-plugin/" title="articoli relativi">quest&#8217;altro mio articolo</a>.  </p>
<h3>Conclusioni</h3>
<p>Quello di sfruttare a pieno gli articoli correlati è solo uno dei tanti modi per diminuire la frequenza di rimbalzo. <strong>Voi li avete implementati nel vostro tema?</strong> In che modo?</p>
<p>Altrimenti, quali altre tattiche utilizzate per attirare l&#8217;attenzione dei lettori? <img src='http://francescogavello.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>foto: © -=Lexx=- &#8211; Fotolia.com</p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/come-aumentare-le-pagine-visualizzate-di-un-blog">Come Aumentare le Pagine Visualizzate di un Blog?</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/come-aumentare-le-pagine-visualizzate-di-un-blog/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement (4): ottimizzare per iPhone</title>
		<link>http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone</link>
		<comments>http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone#comments</comments>
		<pubDate>Wed, 05 Nov 2008 05:30:24 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=376</guid>
		<description><![CDATA[<p>Questo articolo fa parte della serie &#8220;Progressive Enhancement: migliorare l’esperienza utente per i browser moderni&#8220;. La prima, seconda e terza parte hanno già visto analizzati i più interessanti selettori CSS3 che possono esssere utilizzati sin da oggi in maniera proficua.
Oggi invece parliamo di iPhone.
Un oggettino estremamente controverso che nonostante le ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone">Progressive Enhancement (4): ottimizzare per iPhone</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://francescogavello.it/wp-content/uploads/iphone.jpg" alt="iphone" title="iphone" width="270" height="350" class="alignnone size-full wp-image-377" /><em>Questo articolo fa parte della serie &#8220;<a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a>&#8220;. La <a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">prima</a>, <a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">seconda</a> e <a href="http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli">terza</a> parte hanno già visto analizzati i più interessanti selettori CSS3 che possono esssere utilizzati sin da oggi in maniera proficua.</em></p>
<p>Oggi invece parliamo di iPhone.<br />
Un oggettino estremamente controverso che nonostante le differenti opinioni a riguardo è riuscito a finire in una notevole quantità di tasche italiane, e per via delle sue innovative potenzialità a livello di browsing merita sicuramente un&#8217;analisi più approfondita.</p>
<p><strong>Come possiamo dunque rendere migliori i nostri layout agli utenti iPhone?</strong></p>
<p>Diciamo che sviluppare con un occhio ad iPhone è in qualche modo possibile anche senza averne acquistato uno. E&#8217; sufficiente basarsi su Safari (in versione desktop), da qualche tempo <a href="http://www.apple.com/safari/">disponibile anche per Windows</a> e attenersi ad alcune basilari regole di buona scrittura durante la costruzione dei nostri layout (ah, gli standard).</p>
<p>Tuttavia, così facendo si sta solo iniziando a scalfire la superficie. La completa integrazione di Safari Mobile con le altre apps installate come Mappe o le chiamate telefoniche rendono possibili tutta una serie di interessanti ottimizzazioni che si possono sperimentare solamente &#8220;mettendoci la mani sopra&#8221;.</p>
<p>Lavoriamo su iPhone, e vogliamo letteralmente spremerlo al massimo.<br />
<span id="more-376"></span></p>
<h2>Prima di iniziare</h2>
<ul>
<li><strong>Le tue dita non saranno mai precise come un mouse</strong>.<br />
Su iPhone si interagisce con le dita, e a meno di non fare un uso continuo dello zoom, la precisione di puntamento sarà leggermente inferiore rispetto a quanto siamo abituati a fare tramite mouse; layout ampi e spaziosi sono semplicemente l&#8217;ideale.
</li>
<li><strong>Dimentica il concetto di finestra.</strong><br />
Il concetto di finestra poi, lascia il tempo che trova quando la navigazione avviene una pagina alla volta, a tutto schermo e senza overlay di nessun tipo. Lo zoom tramite doppio tap su una parte del layout adatta la visuale al primo elemento blocco presente. Nessuna finestra, altro resize o scroll controllabili.
</li>
<li><strong>Quando lo spazio è poco, &#8220;less is more&#8221;.</strong><br />
Con una risoluzione portante di 480&#215;320 pixel (in modalità landscape) è naturale che un contenuto a singola colonna sia il meglio che un vostro utente possa chiedere: tuttavia anche senza rivoluzionare il vostro layout in tale senso, ricordate che la chiarezza con la quale disponete i vostri contenuti verrà notata (e apprezzata) da chi altrimenti si troverebbe a scrollare continuamente a destra e sinistra.</li>
</ul>
<h2>Hey, ma Mobile Safari non se la sbrigava da solo?</h2>
<p>Per la maggior parte è vero. Safari Mobile sarà in grado di visualizzare le vostre pagine web con l&#8217;esatta qualità della controparte desktop senza che voi dobbiate metterci mano in alcun modo.</p>
<p>Tuttavia come già detto la differente area di visualizzazione e i metodi che avete per interagire con essa (le vostre dita) possono richiedere qualche accorgimento aggiuntivo per agevolare la navigazione e sfruttare al massimo le caratteristiche dell&#8217;iPhone.</p>
<h2>Un foglio di stile separato</h2>
<p>Probabilmente già lo immaginavate. Anche in questo caso è bene prevedere un CSS separato dal resto della nostra struttura, contenente le sole regole volte a determinare la resa su Mobile Safari. </p>
<p>Possiamo filtrare il caricamento del nostro foglio di stile aggiuntivo riconoscendo la proprietà <strong>&#8220;max-device-width&#8221;</strong> settata a 480 pixel (la dimensione dello schermo dell&#8217;iPhone).</p>
<p>Inseriamo quindi nell&#8217;head del nostro documento la seguente riga, che permette a tutti gli altri device con una dimensione superiore ai 480 pixel di ignorare il caricamento del CSS dedicato all&#8217;iPhone.</p>
<pre class="brush: html">
&lt;link media=&quot;only screen and (max-device-width: 480px)&quot;
href=&quot;css_iphone.css&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot; /&gt;
</pre>
<h2>Comprendere il Viewport</h2>
<p>Mobile Safari effettua un resize automatico a partire dai 980 pixel verso i 320 pixel (modalità portrait). Consideriamola una buona base di partenza per poter ottenere la migliore resa qualitativa sull maggior parte dei siti web attualmente in circolazione (che sono dotati per l&#8217;appunto di una width massima di 980 pixel).</p>
<p>Questo non toglie che il vostro layout possa avere differenti dimensioni e richiedere un diverso livello di resize. Esiste a tale scopo un potente meta tag aggiuntivo: <strong>viewport</strong> in grado di indicare ad iPhone la dimensione di partenza da cui effettuare il resize.</p>
<pre class="brush: html">
&lt;meta name=&quot;viewport&quot; content=&quot;width=800&quot; /&gt;
</pre>
<p>Nel caso il vostro layout sia leggermente più piccolo della media, un semplice accorgimento come questo può rendere i vostri testi direttamente leggibili senza bisogno di ulteriori zoom lato utente. Un bel vantaggio con poco sforzo.</p>
<p>Sempre tramite viewport possiamo definire il livello di zoom iniziale, tramite la proprietà <strong>&#8220;initial-scale=x.y&#8221;</strong> o bloccarla del tutto con <strong>&#8220;user-scalable = no&#8221;</strong> (ma ve lo sconsiglio).</p>
<pre class="brush: html">
&lt;meta name = &quot;viewport&quot; content = &quot;initial-scale = 1.0&quot; /&gt;
&lt;meta name = &quot;viewport&quot; content = &quot;initial-scale = 2.3, user-scalable = no&quot; /&gt;
</pre>
<p>Lavorando sui dettagli potremo scoprire che agevolare uno zoom iniziale su una &#8220;area calda&#8221; del nostro layout può far risparmiare tempo prezioso ai nostri lettori e focalizzare l&#8217;attenzione su ciò che per noi è importante.</p>
<h2>Testi</h2>
<p>iPhone applica una sorta di ridimensionamento intelligente anche ai testi mano a mano che il livello di zoom aumenta. Ciò può portare ad effetti imprevisti nei menù di navigazione o <strong>quando ci troviamo a disporre i contenuti in spazi a dimensione fissa</strong>.</p>
<p>E&#8217; possibile disattivare il ridimensionamento del testo o aumentarne la dimensione ad hoc tramite la regola <strong>&#8220;-webkit-text-size-adjust&#8221;</strong>.</p>
<pre class="brush: css">
-webkit-text-size-adjust: none; /* nessun ridimensionamento intelligente */
-webkit-text-size-adjust: 150%; /* ingrandisci il testo del 150% */
</pre>
<h2>Integrazione con le apps</h2>
<p>Esistono poi tutta una serie di proprietà che la versione mobile di Safari implementa per migliorare la user experience e che, per ovvi motivi, non sono implementate nella versione desktop.</p>
<p>Cliccare su un link ad una mappa di Google, ad esempio, porterà all&#8217;apertura dell&#8217;applicazione Mappe con il passaggio dei parametri associati. Iphone riconosce infatti i link che iniziano con &#8220;<strong>http://maps.google.com/maps</strong>&#8221; e ne dirotta l&#8217;apertura all&#8217;applicazione più consona anziché aprirne la pagina web.</p>
<p>Vengono anche riconosciuti i formati hCard, attivando i numeri telefonici in essi inclusi e permettendo la chiamata diretta dalla pagina web.</p>
<pre class="brush: html">
&lt;div id=&quot;hcard-Francesco Gavello&quot; class=&quot;vcard&quot;&gt;
    &lt;div class=&quot;fn&quot;&gt;Francesco&lt;/div&gt;
    &lt;div class=&quot;tel&quot;&gt;123-45667890&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>O in alternativa è anche possibile passare un parametro al software telefonico tramite il classico link con tag &#8220;a&#8221;, inserendo nell&#8217;attributo href il prefisso <strong>&#8220;tel:&#8221;</strong>.<br />
E&#8217; da notare come link di tale costruzione possano quasi certamente generare problemi sui restanti browser, e dovrebbero essere mostrati solo tramite il foglio di stile riservato all&#8217;iPhone.</p>
<pre class="brush: html">
&lt;a class=&quot;call&quot; href=&quot;tel:123-4567890&quot;&gt;Chiama Francesco Gavello&lt;/a&gt;
</pre>
<h2>CSS potenziati</h2>
<p>Non vanno trascurate le potenzialità di Safari nell&#8217;implementare (come abbiamo visto in passato) le più recenti regole CSS3. Proprietà come &#8220;-webkit-border-radius&#8221;, &#8220;-webkit-border-image&#8221;, background multipli e l&#8217;utilizzo di PNG trasparenti possono finalmente venire applicati in maniera semplice e senza grattacapi.<br />
Il paradiso del web designer, insomma <img src='http://francescogavello.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h2>Il giusto equilibrio</h2>
<p>Questa ovviamente è solo una parte di ciò che potete fare oggi con il vostro iPhone un pò di tempo da dedicare ottimizzazione. Le potenzialità sono moltissime e dipendono in gran parte dai risultati che volete ottenere.</p>
<p>Non credo tuttavia che sia una buona idea spingersi <strong>troppo oltre sino a sostituire la totalità del proprio layout con una versione &#8220;lite&#8221; dedicata alla navigazione mobile</strong> (a meno di non essere un grosso network come Digg, Facebook o eBay, ma in quel caso una apps dedicata risolve gran parte dei problemi).</p>
<p>La potenza di iPhone sin dall&#8217;inizio è stata quella di offrire <strong>la vera internet</strong> senza troppi compromessi. Questo è ciò che gli utenti si aspettano ed è ciò che dovremmo secondo me dargli. Voi che ne pensate?</p>
<p>foto: <a href="http://www.apple.com/it/iphone/">Apple</a></p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone">Progressive Enhancement (4): ottimizzare per iPhone</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/progressive-enhancement-4-ottimizzare-per-iphone/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS, Mantenibilità del codice e 6 tecniche di buona scrittura</title>
		<link>http://francescogavello.it/css-mantenibilita-codice-tecniche-buona-scrittura</link>
		<comments>http://francescogavello.it/css-mantenibilita-codice-tecniche-buona-scrittura#comments</comments>
		<pubDate>Mon, 03 Nov 2008 05:00:20 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML, CSS e Javascript]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=327</guid>
		<description><![CDATA[<p>Ciò che chi lavora sul il web teme di più è che il proprio progetto, da inizialmente complesso, diventi attraversando la fase di sviluppo un vero e proprio inferno in quanto a mantenibilità.
Piccoli ritocchi, eterne nuove features e cambi di direzione possono minare, se non adeguatamente controllati, la vostra salute ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/css-mantenibilita-codice-tecniche-buona-scrittura">CSS, Mantenibilità del codice e 6 tecniche di buona scrittura</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-375" title="stress" src="http://francescogavello.it/wp-content/uploads/stress.jpg" alt="Stress" width="270" height="350" />Ciò che chi lavora sul il web teme di più è che il proprio progetto, da inizialmente complesso, diventi attraversando la fase di sviluppo <strong>un vero e proprio inferno in quanto a mantenibilità</strong>.</p>
<p>Piccoli ritocchi, eterne <em>nuove features</em> e cambi di direzione possono minare, se non adeguatamente controllati, la vostra salute mentale nel proporre al cliente un prodotto finale pulito e ottimizzato.</p>
<p>Una specie di sindrome da &#8220;quadro mai finito&#8221; vista in un ottica web 2.0 <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Tuttavia, anche se nulla potrete fare di fronte ad una totale rivoluzione del progetto iniziale, esistono invece delle <strong>regole di &#8220;buona scrittura&#8221; che negli anni mi hanno aiutato a mantenere il controllo sul mio codice</strong>.</p>
<p>Si risparmia in stress, sul serio <img src='http://francescogavello.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Oggi parliamo di fogli di stile, ma scoprirete che alcuni accorgimenti presentati di seguito valgono più o meno per qualunque progetto preveda la stesura di codice.</p>
<p><span id="more-327"></span></p>
<h2>1. Usare i CSS</h2>
<p>No, davvero. Usare i CSS non è più solamente un&#8217;opzione oramai da molto tempo. Se ancora lavorate impastando contenuto e presentazione e non avete mai dato uno sguardo alle meraviglie dei fogli di stile, beh, dovreste veramente farlo. Ne gioverà la vostra salute mentale quando vi sarà chiesto di modificare la grafica del footer di turno nel <em>corporate website</em> da duecento pagine.</p>
<p>Imparare a scrivere fogli di stile nella giusta maniera è il primo passo per prendere le redini del vostro progetto.</p>
<h2>2. Ordinare (alfabeticamente) i selettori css</h2>
<p>Quando cominciate ad avere un foglio di stile da più di 10 Kb, diventa piuttosto difficile tenere a mente le singole caratteristiche di ogni regola mano a mano che la scrivete. Alcuni riescono ad organizzare alfabeticamente i selettori in modo da poterli ritrovare a colpo d&#8217;occhio e crearsi una specie di &#8220;modello di scrittura&#8221;.</p>
<p>Io non arrivo a tanto, ma in tutti i nuovi progetti da circa un anno a questa parte tendo a ordinare i selettori secondo un mio preciso schema mentale (margini, padding e width prima, tutto il resto dopo). Così mi sono abituato a fare e risparmio notevole tempo nel farlo.</p>
<p>Una volta trovata la vostra giusta dimensione, perdersi nel proprio CSS sarà solo un brutto ricordo.</p>
<h2>3. Commentare</h2>
<p>Commentare è una di quelle abitudini che si fatica a prendere all&#8217;inizio pensando &#8220;<em>ma tanto questo me lo ricordo&#8230;</em>&#8221; e &#8220;<em>figuriamoci se avrò mai più bisogno di metterci mano</em>&#8220;.</p>
<p>Le risate arrivano quando un paio di settimane dopo non vi ricordate nulla della struttura del documento e dovete metterci mano per via del &#8220;grande problema imprevisto®&#8221;. Spargere una buona dose di commenti è letteralmente l&#8217;ancora di salvezza lavorando con i CSS.</p>
<p>Se state testando una nuova tecnica di controllo dei float che potenzialmente potrebbe crearvi problemi, fatevi un favore e inserite un minuscolo commento per ricordarvelo. Se avete l&#8217;impressione di scrivere del codice ridondante appuntatevi di ripulirlo in seguito. Meglio rimuovere un commento superfluo che dannarsi per ricordarsi cosa dentro a quel commento ci avreste scritto.</p>
<h2>4. Suddividere</h2>
<p>Il primo CSS che scrissi era un vero e proprio macello di regole una in fila all&#8217;altra senza preciso ordine logico.</p>
<p>Probabilmente stato facendo i primi esperimenti e devo dire che nonostante il risultato venisse ottenuto senza problemi, non si può dire tuttavia che quel CSS brillasse di pulizia, anzi.</p>
<p>La sensazione era quella di non avere il totale &#8220;controllo della creazione&#8221; che tanto piace a sviluppatori e designer. Sembrava insomma che le cose andassero per conto loro mentre io stessi a guardare con in mano un pacchetto di pop corn.</p>
<p>Raggruppare i selettori che scrivete, utilizzando i commenti per determinarne i blocchi, funziona molto bene quando dovete andare a modificare una singola porzione di layout o utilizzando il search del vostro editor per muovervi agilmente tra un migliaio di righe.</p>
<h2>5. Visione globale e livello di dettaglio</h2>
<p>Probabilmente il consiglio che da solo vale tutti gli altri: uno dei grandi segreti del lavorare con i CSS è che il grosso del lavoro viene fatto senza neanche aprire l&#8217;editor.</p>
<p>Sul serio. Ciò che faccio prima ancora di buttare giù una singola riga di codice è fermarmi a guardare il layout per un alcuni minuti. Ho sperimentato di persona che buttarsi a testa bassa senza avere la visione globale del tutto porta a infilarsi in vicoli ciechi e a codice poco ottimizzato.</p>
<p>Prendersi invece un momento per tracciare alcune linee mentali, smontare mentalmente il layout pezzo per pezzo e prevedere delle linee di scrittura vi farà risparmiare stress inutile.</p>
<h2>6. Modularità</h2>
<p>Con la facilità di applicazioni di classi e ID,  capita con i CSS di farsi prendere la mano e scrivere più regole del necessario.</p>
<p>La situazione più tipica è quella in cui lo stile dei link (o delle immagini, o dei paragrafi) viene ridefinito per ogni sezione in cui questi vengono a trovarsi nel nostro layout. Un grande spreco, non trovate?</p>
<p>La situazione ideale, nell&#8217;ottica di mantenere un grande progetto sul lungo periodo, è di realizzare del codice in grado di essere (semi)indipendente dal suo contesto e che non richieda codice HTML superfluo.</p>
<p>Un link nella sua scrittura ideale secondo il mio parare non dovrebbe essere qualcosa di più di:</p>
<pre class="brush: html">
&lt;a href=&quot;#&quot; title=&quot;Il mio link&quot; class=&quot;stile_link&quot;&gt;Il mio link&lt;/a&gt;
</pre>
<p>in modo da poter procedere all&#8217;applicazione di uno stile generico su tutti gli elemento &#8220;a&#8221; del layout, e uno stile particolare applicato su misura tramite la classe &#8220;.stile_link&#8221;.</p>
<h2>Test pratico.</h2>
<p><em>Coders!</em><br />
Quando impiegate a rivedere elementi del vostro codice senza che tutto il resto del layout se ne vada beatamente a spasso ? Avete mai impiegato tecniche di ottimizzazione come queste per risparmiare tempo prezioso sul lungo periodo?</p>
<p>foto: <a href="http://www.flickr.com/photos/frield/95509221/">Dave-F</a></p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/css-mantenibilita-codice-tecniche-buona-scrittura">CSS, Mantenibilità del codice e 6 tecniche di buona scrittura</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/css-mantenibilita-codice-tecniche-buona-scrittura/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement (3): colonne, effetti su testo e background multipli</title>
		<link>http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli</link>
		<comments>http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli#comments</comments>
		<pubDate>Mon, 27 Oct 2008 06:00:39 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=345</guid>
		<description><![CDATA[<p>Questa è la terza parte della serie &#8220;Progressive Enhancement: migliorare l’esperienza utente per i browser moderni&#8220;, dedicata alla tecniche CSS3 (e non solo) che puoi utilizzare a partire da ora per migliorare la resa dei tuoi layout. 
Se ti sei perso le puntate precedenti puoi leggere anche la prima e ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli">Progressive Enhancement (3): colonne, effetti su testo e background multipli</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><em>Questa è la terza parte della serie &#8220;<a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a>&#8220;, dedicata alla tecniche CSS3 (e non solo) che puoi utilizzare a partire da ora per migliorare la resa dei tuoi layout. </em></p>
<p><em>Se ti sei perso le puntate precedenti puoi leggere anche la <a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">prima</a> e la <a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">seconda</a> parte.</em></p>
<h2>Colonne multiple</h2>
<p>Stile di impaginazione preso di peso dall&#8217;ambito giornalistico, suddividere i contenuti su più colonne adiacenti può tornare molto utile in layout del tipo &#8220;magazine style&#8221; (per l&#8217;appunto) che sembrano andare tanto alla grande negli ultimi tempi.</p>
<p>Vediamo quindi come suddividere il testo contenuto in un contenitore in maniera totalmente automatica affidandoci ad alcune semplici regole CSS3.</p>
<p><span id="more-345"></span></p>
<p><strong>Teoria</strong></p>
<p>Otterremo il nostro scopo grazie ai selettori &#8220;column-count&#8221;, che definisce il numero di colonne sulle quali spezzare il contenuto</p>
<ul>
<li>column-count: 3;</li>
<li>-moz-column-count: 3; /*  Mozilla */</li>
<li>-webkit-column-count: 3; /* Webkit */</li>
</ul>
<p>&#8220;column-gap&#8221;, che imposta lo spazio tra una colonna e l&#8217;altra</p>
<ul>
<li>column-gap: 20px;</li>
<li>-moz-column-gap: 20px;</li>
<li>-webkit-column-gap: 20px;</li>
</ul>
<p>e &#8220;column-width&#8221; che come prevedibile va a definire la grandezza della singola colonna</p>
<ul>
<li>column-width: 150px;</li>
<li>-moz-column-width: 150px;</li>
<li>-webkit-column-width: 150x;</li>
</ul>
<p>Come si può vedere abbiamo nuovamente a disposizione la regola &#8220;standard&#8221; CSS3 e le relative varianti per i browser attualmente in grado di supportarla: &#8220;-moz&#8221; per Mozilla (Firefox e derivati) e &#8220;-webkit&#8221; per Safari.</p>
<p><strong>Pratica</strong></p>
<p>Il nostro codice HTML è come al solito molto pulito ed essenziale, e anzi non richiede nessun tagging aggiuntivo. Abbiamo solamente bisogno di un contenitore e dei paragrafi al suo interno sui quali agire. Una condizione abbastanza classica, insomma.</p>
<pre class="brush: css">
&lt;div class=&quot;esempio multi_colonne&quot;&gt;
&lt;h2&gt;Fisso tre colonne con spaziatura 20px&lt;/h2&gt;
&lt;div id=&quot;colonna_tipo_1&quot;&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;/div&gt;

&lt;h2&gt;Fisso la dimensione e la spaziatura&lt;/h2&gt;
&lt;div id=&quot;colonna_tipo_2&quot;&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet...&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</pre>
<p><strong>N</strong><strong>ota:</strong> il &#8220;Lorem Ipsum&#8221; all&#8217;interno dei paragrafi è stato troncato per esigenze di impaginazione di questo post.</p>
<p>Andiamo quindi a puntare il div &#8220;colonna_tipo_1&#8243; e impostiamo il numero delle colonne sulle quali fare fluire il testo a 3, con una spaziatura di 20 pixel ciascuna.</p>
<pre class="brush: css">

#colonna_tipo_1{
-moz-column-count: 3;
-webkit-column-count: 3;
column-count: 3;

-moz-column-gap: 20px;
-webkit-column-gap: 20px;
column-gap: 20px;
}
</pre>
<p><img class="img_centro" title="colonne-css3" src="http://francescogavello.it/wp-content/uploads/colonne-css3.jpg" alt="Colonne multiple con i CSS3" width="583" height="188" /></p>
<p>Oppure agiamo sulla proprietà &#8220;column width&#8221; per fissare la dimensione di una colonnna, definiamo poi la spaziatura e lasciamo che il browser si occupi di come suddividere il testo.</p>
<pre class="brush: css">
#colonna_tipo_2{
-moz-column-width: 150px;
-webkit-column-width: 150x;
column-width: 150px;

-moz-column-gap: 20px;
-webkit-column-gap: 20px;
column-gap: 20px;
}
</pre>
<p><img class="img_centro" title="colonne-css3-2" src="http://francescogavello.it/wp-content/uploads/colonne-css3-2.jpg" alt="Colonne multiple con i CSS3"  width="583" height="188" /></p>
<h2>4. Testo ombreggiato</h2>
<p>Un&#8217;altra tecnica decisamente immediata da applicare sul testo per risaltarne l&#8217;effetto è la proprietà text-shadow.</p>
<p><strong>Teoria:</strong></p>
<p>La regola in questo caso è una sola</p>
<ul>
<li>text-shadow: 2px 2px 5px #333</li>
</ul>
<p>che accetta quattro parametri: nell&#8217;ordine spostamento orizzontale, spostameno verticale, sfocatura e colore dell&#8217;ombra proiettata.</p>
<p><strong>Pratica:</strong></p>
<p>La proprietà viene applicata in maniera molto semplice, e rende al meglio se usata in maniera &#8220;sottile&#8221; e senza abusarne.</p>
<pre class="brush: css">
.ombra_su_testo h2 {
text-shadow: 2px 2px 5px #333;
color: #eee;
}
</pre>
<p><img class="img_centro" title="text-shadow" src="http://francescogavello.it/wp-content/uploads/text-shadow.jpg" alt="Text shadow su testo con i CSS3" width="583" height="188" /></p>
<h2>Background multipli</h2>
<p>Ecco quindi l&#8217;ultima delle proprietà di oggi, probabilmente una delle più richieste da chi utilizza i CSS in maniera &#8220;massiva&#8221; con particolare attenzione agli effetti sullo sfondo: i background multipli.</p>
<p><strong>Teoria</strong></p>
<p>Utilizzare i background multipli con i CSS3 è molto più semplice di quanto possa sembrare. Si tratta sostanzialmente di un&#8217;espansione delle attuali regole:</p>
<ul>
<li>background-image</li>
<li>background-position</li>
<li>background-repeat</li>
</ul>
<p>che vanno compilate esattamente come nelle specifiche CSS2, ma alle quali è possibile &#8220;appendere&#8221;, tramite il separatore virgola &#8220;,&#8221; ulteriori background, posizioni e proprietà di ripetizione.</p>
<p>Vediamolo in pratica.</p>
<p><strong>Pratica</strong></p>
<p>Nell&#8217;esempio che vi riporto ho utilizzato due diversi background: uno per realizzare una sfumatura in alto, ripetuta sull&#8217;asse X, e una in basso a destra, non ripetuta. Il tutto con tre regole e senza l&#8217;utilizzo di contenitori annidati a supporto.</p>
<pre class="brush: css">
.background_multipli {
background-image: url(img/top.jpg), url(img/bottom_right.jpg);
background-position: top left, bottom right;
background-repeat: repeat-x, no-repeat;
}
</pre>
<p>L&#8217;immagine in alto &#8220;top.jpg&#8221; viene quindi posizionata &#8220;top left&#8221; e ripetuta &#8220;repeat-x&#8221;. Le altre proprietà seguono la seconda posizione, un eventuale terzo background la terza, e così via teoricamente all&#8217;infinito.</p>
<p>Come potete immaginare gli utilizzi di una simile tecnica sono pressochè infiniti. Attualmente solo Safari supporta i background multipli.</p>
<p><img class="img_centro" title="multiple-backgrounds" src="http://francescogavello.it/wp-content/uploads/multiple-backgrounds.jpg" alt="Background multipli con i CSS3" width="583" height="376" /></p>
<h2>Scarica i file con gli esempi</h2>
<p>Arrivati al termine della terza puntata ecco per voi a disposizione lo zip contenente i file utilizzati sino ad ora (comprensivo anche degli argomenti trattati nella <a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">prima</a> nella <a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">seconda</a> puntata).</p>
<ul>
<li><a href="http://francescogavello.it/wp-content/uploads/progressive_enhancement.zip">Tecniche di progressive enhancement: file di esempio</a></li>
</ul>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli">Progressive Enhancement (3): colonne, effetti su testo e background multipli</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement (2): pseudo elementi, ombre e elementi NOT</title>
		<link>http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not</link>
		<comments>http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not#comments</comments>
		<pubDate>Mon, 20 Oct 2008 06:00:31 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=344</guid>
		<description><![CDATA[<p>Continua l&#8217;appuntamento con le tecniche di progressive enhancement che sono disponibili sin da ora per migliorare l&#8217;esperienza utente nella costruzione vostri layout. Potete leggere l&#8217;introduzione alla serie e tutte le altre puntate disponibili all&#8217;articolo principale &#8220;Progressive Enhancement: migliorare l’esperienza utente per i browser moderni&#8220;.
E ora via, con altri tre selettori ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">Progressive Enhancement (2): pseudo elementi, ombre e elementi NOT</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p>Continua l&#8217;appuntamento con le tecniche di <em>progressive enhancement</em> che sono disponibili sin da ora per migliorare l&#8217;esperienza utente nella costruzione vostri layout. Potete leggere l&#8217;introduzione alla serie e tutte le altre puntate disponibili all&#8217;articolo principale &#8220;<a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a>&#8220;.</p>
<p>E ora via, con altri tre selettori decisamente utili e rapidi da implementare.</p>
<h2>4. Pseudo Elementi</h2>
<p>Parlando di aspetti prettamente tipografici, definire in maniera particolare la prima riga di un paragrafo può agevolarne la lettura ponendo l&#8217;attenzione su ciò che state scrivendo. Utilizzeremo per questo compito l&#8217;attributo &#8220;<strong>first-line</strong>&#8220;, oramai utilizzato da gran parte dei browser (escluso Internet Explorer 6).</p>
<p><strong>Teoria</strong></p>
<p>Nel nostro contenitore con classe &#8220;esempio&#8221; andiamo a puntare <strong>tutti i paragrafi che seguono un titolo di secondo livello e in particolare solamente la loro prima linea</strong> (first-line, appunto).</p>
<p>Indichiamo una variazione del font sul maiuscolo completo, una maggiore grandezza regolata sui 18 pixel e una spaziatura delle lettere a 2 pixel rispetto allo standard.</p>
<p><span id="more-344"></span></p>
<p><strong>Pratica</strong></p>
<pre class="brush: css">
.esempio h2 + p:first-line {
font-variant : small-caps;
font-size : 18px;
letter-spacing : 2px;
}
</pre>
<p>La resa, come si può notare dall&#8217;immagine, è di colpire immediatamente il lettore rispetto ad un anonimo blocco di testo Un piccolo dettaglio che aggiunge quel qualcosa in più.</p>
<p><img class="img_centro" title="first-line-css3" src="http://francescogavello.it/wp-content/uploads/first-line-css3.jpg" alt="Utilizzo dell'attributo first-line con i CSS3" width="583" height="188" /></p>
<h2>5. Ombre</h2>
<p>Qualche ombra ben posizionata riesce a dare un senso di maggiore profondità e in genere un feeling meno &#8220;freddo&#8221;. Solitamente gestire le ombre sui contenitori richiede l&#8217;utilizzo di contenitori vuoti e in alcuni casi molto annidati, mentre con i CSS3 il tutto viene ridotto ad una essenziale quanto potente regola.</p>
<p>Attualmente solo Safari e Firefox 3.1 (alpha) supportano le ombre.</p>
<p><strong>Teoria</strong></p>
<p>I selettori per generare ombre tramite CSS3:</p>
<ul>
<li>box-shadow (standard CSS3)</li>
<li>-webkit-box-shadow (specifico per Webkit, con il classico attributo -webkit che abbiamo imparato a conoscere)</li>
</ul>
<p>I parametri che accettano sono quattro, rappresentanti rispettivamente</p>
<ul>
<li>spostamento orizzontale</li>
<li>spostamento in verticale</li>
<li>sfocatura</li>
<li>colore dell&#8217;ombra proiettata</li>
</ul>
<p><strong>Pratica</strong></p>
<pre class="brush: css">
box-shadow : 5px 5px 20px #333;
-webkit-box-shadow : 5px 5px 20px #333;
</pre>
<p>I selettori presentati producono come effetto un&#8217;ombra spostata a destra e in basso di 5 pixel, che sfuma a 20 pixel di distanza con colore #333333.</p>
<p><img class="img_centro" title="box-shadow" src="http://francescogavello.it/wp-content/uploads/box-shadow.jpg" alt="Ombra su contenitore tramite CSS3" width="583" height="188 /></p>
<h2>6. Elementi NOT</h2>
<p>Tramite il selettore NOT possiamo rendere specifiche alcune regole CSS ai soli elementi del layout che NON rispondono ad una condizione dichiarata.</p>
<p><strong>Teoria</strong></p>
<p>Supponiamo di avere un&#8217;immagine all&#8217;interno del contenitore con classe &#8220;attributo_not&#8221; che vogliamo mostrare solo ai browser come Safari e Firefox (in grado di comprendere gli attributi negati al contrario di Internet Explorer).</p>
<p>Per prima cosa settiamo la sua visibilità su &#8220;none&#8221; con il selettore &#8220;display&#8221;. In questo modo l&#8217;immagine sarà naturalmente nascosta per tutti i browser. Andiamo poi a <strong>indicare ai browser recenti che tutte le immagini che NON hanno l&#8217;attributo border (la nostra immagine, in questo caso) devono essere mostrate</strong> (display: block), flottare a destra e avere un po&#8217; di margine a destra e in basso.</p>
<p><strong>Pratica</strong></p>
<pre class="brush: css">

.attributo_not img {
display: none; /* nascondiamo di default l&#039;immagine */
}

.attributo_not img:not([border]) {
/*rendiamola nuovamente visibile solo se non ha bordo*/
display: block;
float: left;
margin: 0 10px 10px 0;
} </pre>
<p>L&#8217;attributo &#8220;:not([border])&#8221; va a colpire tutte le immagini all&#8217;interno della classe .attributo_not che NON hanno un bordo definito. Gli utilizzi sulla base della negazione di attributi sono pressoché infiniti e trovano ottime applicazioni come miglioramento estetico per i browser che se lo possono permettere.</p>
<p><img class="img_centro" title="selettore-not" src="http://francescogavello.it/wp-content/uploads/selettore-not.jpg" alt="Selettore NOT nei CSS3" width="583" height="188 /></p>
<h2>Altri articoli della serie</h2>
<p>Sono disponibili gli altri articoli della serie &#8220;Progressive Enhancement: migliorare l’esperienza utente per i browser moderni&#8221;</p>
<ul>
<li><a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a></li>
<li><a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">Progressive Enhancement (1) : Selettori di attributo, selettori adiacenti e bordi arrotondati</a></li>
</ul>
<p>Al prossimo appuntamento! <img src='http://francescogavello.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">Progressive Enhancement (2): pseudo elementi, ombre e elementi NOT</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement (1) : Selettori di attributo, selettori adiacenti e bordi arrotondati</title>
		<link>http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati</link>
		<comments>http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati#comments</comments>
		<pubDate>Mon, 13 Oct 2008 05:00:00 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=343</guid>
		<description><![CDATA[<p>Questo post fa parte della serie &#8220;Progressive Enhancement: migliorare l’esperienza utente per i browser moderni&#8220;.
Come anticipato, iniziamo a prendere in esame alcune delle tecniche di progressive enhancement più semplici da mettere in pratica. Vorrei ricordare prima di iniziare come questi articoli trattino di tecniche atte a migliorare esteticamente i nostri ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">Progressive Enhancement (1) : Selettori di attributo, selettori adiacenti e bordi arrotondati</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><em>Questo post fa parte della serie &#8220;<a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a>&#8220;.</em></p>
<p>Come anticipato, iniziamo a prendere in esame alcune delle tecniche di progressive enhancement più semplici da mettere in pratica. Vorrei ricordare prima di iniziare come questi articoli trattino di tecniche atte a <strong>migliorare esteticamente</strong> i nostri layout, e che non non vanno  pertanto considerate come basi con le quali costruirne la struttura stessa. Per una lettura più approfondita vi rimando <a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">all&#8217;articolo principale</a> della serie.</p>
<h2>Un foglio di stile separato</h2>
<p>Anche se molti dei selettori che verranno esplorati in seguito possono essere implementati <strong>direttamente nel nostro foglio di stile principale</strong>, questa si rivela una <strong>cattiva pratica</strong> nell&#8217;ottica di un manutenzione futura.</p>
<p>Ricordiamo che l&#8217;obiettivo del progressive enhancement è di fornire un miglioramento ai nostri layout partendo sempre e comunque da una solida struttura di base, struttura che deve dimostrarsi autonoma e dotata della maggiore compatiblità cross browser realizzabile. E&#8217; su di essa che andremo a lavorare apportandovi dei migliroamenti progressivi.</p>
<p>Converrà perciò aggiungere al nostro foglio di stile un secondo foglio &#8220;exra&#8221; dedicato a tutti i miglioramenti che vogliamo implementare.</p>
<p>I vantaggi di una simile scelta sono evidenti:</p>
<ul>
<li>maggiore mantenibilità del codice</li>
<li>eventuale possibilità di filtrare il caricamento del secondo foglio di stile da javascript</li>
</ul>
<p>Per i browser che <em>se lo possono permettere</em> (in virtù di una maggiore apertura all&#8217;implementazione di futuri standard), iniziamo quindi a considerare qualche utile selettore.</p>
<p><span id="more-343"></span></p>
<h2>1. Selettori di attributo</h2>
<p>Questi selettori, già spesso usati nelle specifiche CSS2 (<a href="http://www.diodati.org/w3c/css2/selector.html#attribute-selectors">qui una traduzione</a>), con i CSS 3 acquistano nuove caratteristiche interessanti per ampliarne l&#8217;utilità.</p>
<p><strong>Teoria:</strong></p>
<ul>
<li><strong>selettore[att^="val"]</strong>: dove l&#8217;attributo del selettore <strong>inizia</strong> con il valore &#8220;val&#8221;</li>
<li><strong>selettore[att$="val"]</strong>: dove l&#8217;attributo del selettore <strong>termina</strong> con il valore &#8220;val&#8221;</li>
<li><strong>selettore[att*="val"]</strong>: dove l&#8217;attributo del selettore <strong>contiene</strong> con il valore &#8220;val&#8221;</li>
</ul>
<p>Il principale utilizzo dei selettori di attributo è di personalizzare in maniera automatica i link a seconda della loro destinazione. Un link esterno potrà beneficiare di un&#8217;icona che richiami l&#8217;apertura di una nuova finestra, mentre un link verso un file PFD potrà beneficiare della caratteristica icona di Acrobat.</p>
<p><strong>Pratica:</strong></p>
<p>I selettori, nell&#8217;esempio che consideriamo, vanno applicati su classici elementi &#8220;&lt;a&gt;&#8221;.</p>
<pre class="brush: html">
&lt;div class=&quot;esempio&quot;&gt;
&lt;h2&gt;Selettori di attributo&lt;/h2&gt;
&lt;a href=&quot;mailto:test@test.it&quot;&gt;Sono un link di tipo &quot;mailto&quot;&lt;/a&gt;
&lt;a href=&quot;htto://test.pdf&quot;&gt;Punto ad un PDF&lt;/a&gt;
&lt;a href=&quot;http://delicious.com&quot;&gt;Contengo la parola &quot;delicious&quot;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>Andiamo ad associare dunque l&#8217;icona tipica dei PDF ad tutti i link che terminano con il valore &#8220;.pfd&#8221;, la tipica icona della busta ai link che iniziano per &#8220;mailto:&#8221; e (ad esempio) l&#8217;icona di Delicious a tutti i link che contengono la parola &#8220;delicious&#8221;.</p>
<pre class="brush: css">
a[href$=&quot;.pdf&quot;]{
background: url(img/page_white_acrobat.png) no-repeat center right;
padding: 0 20px 5px 0;
}

a[href^=&quot;mailto&quot;]{
background: url(img/email_open.png) no-repeat center right;
padding: 0 20px 5px 0;
}

a[href*=&quot;delicious&quot;]{
background: url(img/delicious.jpg) no-repeat center right;
padding: 0 20px 5px 0;
}
</pre>
<p>Una volta individuato il giusto obiettivo, non si fa altro che posizionare come sfondo dei link corrispondenti la giusta immaine (più una spruzzata di allineamenti e padding per una corretta resa visiva). IE 6 e precedenti, assieme a tutti gli altri brower non in grado di interpretare correttamente le regole, continuerano correttamente a visualizzare il link senza immagini.</p>
<p><img class="img_centro" title="selettori-attributo" src="http://francescogavello.it/wp-content/uploads/selettori-attributo.jpg" alt="Selettori di attributo" width="240" height="104" /></p>
<h2>2. Selettori adiacenti</h2>
<p>I selettori adiacenti permettono di differenziare un selettore particolare solo se questo si trova direttamente adiacente ad un atro da noi indicato.</p>
<p><strong>Teoria:</strong><br />
Indicando come nell&#8217;esempio a seguire &#8220;h2 + p&#8221; andiamo a puntare direttamente <strong>ogni elemento &#8220;p&#8221; che si trovi in diretta successione ad un elemento &#8220;h2&#8243;.</strong> Una delle applicazioni migliori è, come nell&#8217;esempio, nel caratterizzare in maniera più forte il primo paragrafo di una pagina, ma gli utilizzi sono moltissimi e limitati solo dalla propria abilità.</p>
<p><strong>Pratica:</strong></p>
<pre class="brush: html">
&lt;div class=&quot;esempio selettori_adiacenti&quot;&gt;
&lt;h2&gt;Selettori adiacenti&lt;/h2&gt;
&lt;p&gt;Questo &amp;egrave; il primo paragrafo, e come tale &amp;egrave; speciale.&lt;/p&gt;
&lt;p&gt;Lorem ipsum dolor sit amet..&lt;/p&gt;&lt;p&gt;Lorem ipsum dolor sit amet..&lt;/p&gt;
&lt;/div&gt;
</pre>
<pre class="brush: css">
.selettori_adiacenti h2 + p {
font-size: 200%;
border-bottom : 1px dotted #000;
}
</pre>
<p>Il primo paragrafo ha dimensione doppia e bordo inferiore un singolo pixel nero. Tutti gli altri paragrafi successivi al primo non subiscono modifiche. Viene generata una resa di questo tipo.</p>
<p><img class="img_centro" title="selettori_adiacenti" src="http://francescogavello.it/wp-content/uploads/selettori_adiacenti.jpg" alt="Selettori Adiacenti" width="583" height="188" /></p>
<h2>3. Bordi arrotondati</h2>
<p>L&#8217;applicazione di bordi arrotondati all&#8217;interno dei layout inizia diversi anni fa, quando ancora si lavorava a tabelle per definire le strutture e si faceva largo uso di immagini di sfondo, celle vuote e simili. Si è negli anni arrivati a soluzioni (ottimali) che abbandonavano le tabelle in favore di (x)HTML, CSS e qualche javascript per realizzare questo semplice effetto. I &#8220;<a href="http://www.html.it/articoli/niftycube/index.html">Nifty Corners Cube</a>&#8221; di Alessandro Fulciniti sono stati (e sono ancora per me) un punto di riferimento.</p>
<p><strong>Teoria:</strong></p>
<p>Con gli adeguati selettori CSS3 è possibile realizzare lo stesso effetto in sole tre righe, senza ricorrere a JS esterni e potendo controllarne con facilità raggio e angolo di applicazione.</p>
<p>I selettori &#8220;basilari&#8221; sono:</p>
<ul>
<li>&#8220;border-radius&#8221; (la versione standard CSS3)</li>
<li>&#8220;-moz-border-radius&#8221; per Mozilla</li>
<li>&#8220;-webkit-border-radius&#8221; per Webkit</li>
<li>&#8220;-o-border-radius&#8221; per Opera</li>
<li>&#8220;-icab-border-radius&#8221; per iCab</li>
<li>&#8220;-khtml-border-radius&#8221; per Konqueror</li>
</ul>
<p>(lista riaggiornata grazie a <a href="http://www.undolog.com/2008/10/16/css3-qualcuno-ha-visto-internet-explorer">Undolog</a>)</p>
<p>Con questa sintassi, la proprietà &#8220;border-radius&#8221; (e relativa variante -webkit) supporta due soli parametri: nell&#8217;ordine <strong>raggio orizzontale</strong> e <strong>raggio verticale</strong>. Da notare che Firefox non seque queste specifiche e la variante -moz accetta invece i due parametri considerandoli accoppiati come angoli <strong>superiore sinistro/inferiore destro</strong> e angoli <strong>superiore destro/inferiore sinistro</strong>.</p>
<p>Naturalmente possono venire indicati i singoli angoli.</p>
<p>Per Mozilla:</p>
<ul>
<li>-moz-border-radius-topright (angolo alto a destra)</li>
<li>-moz-border-radius-bottomright (angolo basso a destra)</li>
<li>-moz-border-radius-bottomleft (angolo basso a sinistra)</li>
<li>-moz-border-radius-topleft (angolo alto a sinistra)</li>
</ul>
<p>Per Webkit:</p>
<ul>
<li>-webkit-border-top-right-radius (angolo alto a destra)</li>
<li>-webkit-border-bottom-right-radius (angolo basso a destra)</li>
<li>-webkit-border-bottom-left-radius (angolo basso a sinistra)</li>
<li>-webkit-border-top-left-radius (angolo alto a sinistra)</li>
</ul>
<p><strong>Pratica:</strong></p>
<p>Definiamo quindi un bordo sui quattro angoli di 20 pixel di raggio.</p>
<pre class="brush: css">
border-radius : 20px;
-moz-border-radius : 20px; /* Specifico per Mozilla */
-webkit-border-radius : 20px; /* Specifico per Webkit */
</pre>
<p>Oppure andiamo a definire singolarmente ogni angolo.</p>
<pre class="brush: css">
.angoli_arrotondati {
-webkit-border-top-right-radius: 20px;
-webkit-border-bottom-right-radius: 20px;
-webkit-border-bottom-left-radius: 20px;
-webkit-border-top-left-radius: 20px;

-moz-border-radius-topright: 20px;
-moz-border-radius-bottomright: 20px;
-moz-border-radius-bottomleft: 20px;
-moz-border-radius-topleft: 20px;
}
</pre>
<p>O ancora, lavoriamo sulle coppie di parametri per qualcosa di più esteso.</p>
<pre class="brush: css">
.angoli_arrotondati {
-webkit-border-radius: 20px 10px;
/* Raggio orizzontale 20 pixel, raggio verticale 10 pixel */

-moz-border-radius: 20px 10px;
/* Angoli superiore sinistro/inferiore destro a 20 pixel e
angoli superiore destro/inferiore sinistro a 10 pixel*/
}
</pre>
<p>Il che ci permette di lavorare selettivamente sul tipo di browser su cui vogliamo andare a lavorare.</p>
<p><img class="img_centro" title="bordi-arrotondati-css3" src="http://francescogavello.it/wp-content/uploads/bordi-arrotondati-css3.jpg" alt="Bordi arrotondati con i CSS3" width="583" height="188"" /></p>
<h2>Sperimentate!</h2>
<p>Si conclude con queste tre regole il nostro primo articolo sulle tecniche di progressive enhancement che sono applicabili oggi, subito, per migliorare l&#8217;esperienza dei nostri utenti. Molte di queste <strong>sono rapide da implementare e veloci da &#8220;mantenere&#8221;</strong> in futuro. Possono adattarsi con rapidità ai nostri layout migliorandone il feeling con pochi accorgimenti.</p>
<p><strong>Altri appuntamenti come questo arriveranno nei giorni prossimi</strong>. Se siete interessati all&#8217;argomento e avete trovato questo articolo interessante prendete in considerazione l&#8217;idea di <a href="http://feeds.feedburner.com/FrancescoGavelloPortfolio">iscrivervi al Feed RSS</a>.</p>
<p>Ci vediamo nei commenti! <img src='http://francescogavello.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">Progressive Enhancement (1) : Selettori di attributo, selettori adiacenti e bordi arrotondati</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</title>
		<link>http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni</link>
		<comments>http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni#comments</comments>
		<pubDate>Thu, 09 Oct 2008 11:42:59 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[CSS e Javascript]]></category>
		<category><![CDATA[progressive enhancement]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=322</guid>
		<description><![CDATA[<p>Chiunque lavori con il web sa perfettamente che più si cerca di diffondere dei contenuti ad un maggior numero di utenti, più le cose si complicano.
Lavorano contro il coder le incompatibilità tra browser, le differenti modalità di resa e i conosciuti vincoli di Internet Explorer. Tanti grattacapi che portano a ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-328" title="lego-bricks" src="http://francescogavello.it/wp-content/uploads/lego-bricks.jpg" alt="Mattoncini LEGO" width="270" height="350" />Chiunque lavori con il web sa perfettamente che più si cerca di diffondere dei contenuti ad un maggior numero di utenti, più le cose si complicano.</p>
<p>Lavorano contro il coder le incompatibilità tra browser, le differenti modalità di resa e i conosciuti vincoli di Internet Explorer. Tanti grattacapi che portano a sacrificare -in nome della stabilità del progetto- una dopo l&#8217;altra le caratteristiche non fondamentali, entrando in un progressivo  &#8220;livellamento&#8221; verso il basso che penalizza soprattutto gli utenti dotati dei più recenti browser.</p>
<p>Un panorama dove l&#8217;avanzamento della qualità dei layout e dell&#8217;uso delle reali possibilità offerte da standard CSS3 e simili è purtroppo caratterizzato dall&#8217;andamento del &#8220;browser più lento&#8221;, come nel tipico esempio del battaglione in marcia.</p>
<p>Eppure, qualcosa per agevolare la navigazione a <em>chi se lo può permettere</em>, si può realmente fare. E lo si può fare senza compromettere alcunché verso browser più vecchi e in maniera modulare.</p>
<p><span id="more-322"></span></p>
<p><strong>Mantenere la propria sanità mentale e realizzare un progetto in grado di adattarsi al meglio sul mezzo in cui viene presentato ?</strong></p>
<p>Si. La risposta è il Progressive Enhancement. (Hurrà! <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Di progressive enhancement (e del suo diretto opposto, la graceful degradation) si parla oramai da discreto tempo e la realtà è che questi due termini non nascondono nulla di trascendentale.</p>
<ul>
<li><strong>Progressive Enhancement:</strong> Il codice viene scritto inizialmente nella sua forma più essenziale e compatibile, aggiungendo arricchimenti progressivi (enhancements) che vengono riconosciuti ed interpretati di volta in volta solo dai browser più recenti.</li>
<li><strong>Graceful Degradation:</strong> L&#8217;esatto opposto, sino ad ora praticamente una prassi in ambito lavorativo. Prima si completa il progetto alla sua massima espressione e solo dopo lo si testa scendendo di browser in browser, in modo da valutarne una degradazione accettabile anche su device più datati.</li>
</ul>
<p>Miglioramento progressivo e degradazione ottimale rappresentano quindi due facce della stessa medaglia, due modi di gestire il proprio progetto (il primo sin dalle fasi iniziali di sviluppo) e se ben controllate permettono di fare vincere:</p>
<ul>
<li>gli sviluppatori, che contengono i tempi scrivendo del codice oculato e assicurano una compatibilità modulare puntata sempre verso la resa migliore</li>
<li>gli utenti, che in maniera trasparente (ergo senza muovere un dito) beneficiano della migliore soluzione disponibile per fruire dei contenuti proposti</li>
</ul>
<p>Vorrei iniziare a parlare nei prossimi post di alcune tecniche di progressive enhancement affidabili che potete mettere in pratica <strong>sin da ora</strong> per avvalervi di tutto ciò che è un miglioramento nella user experience nei browser più moderni.</p>
<p>Sia che siate blogger senza esperienza nel coding avanzato dei vostri temi o che siate pane e (x)HTML a pieno ritmo, potreste scoprire come ho fatto io che con i giusti metodi si ottengono risultati notevoli per tutti.</p>
<p>Che ne dite ? <img src='http://francescogavello.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Un paio di letture correlate</h2>
<p>Qualcos&#8217;altro da leggere riguardo al Progressive Enhancement e la Graceful Degradation su questi altri ottimi articoli italiani.</p>
<ul>
<li><a href="http://javascript.html.it/articoli/leggi/2194/graceful-degradation-e-progressive-enhancement/1/">Graceful degradation e progressive enhancement</a> ottimo articolo datato ma sempre valido che evidenzia pregi e difetti dei due diversi approcci, con qualche esempio sul campo in grado di rendere bene l&#8217;idea.</li>
<li><a href="http://blog.html.it/07/10/2008/e-se-esistesse-un-solo-browser/">E se esistesse un solo browser ?</a> Parlando di standard, questa settimana sul blog di <a href="http://blog.html.it">HTML.it</a>.<br />
Un punto di vista alternativo dal blog di HTML.it.</li>
<li><a href="http://www.undolog.com/2007/03/27/accessibilita-e-usabilita-unobtrusive-javascript/">Accessibilità e Usabilità: unobtrusive Javascript</a>. Ottimo articolo di <a href="http://www.undolog.com">undolog.com</a> che parlando di javascript non intrusivo affronta entrambi i temi con uno sguardo generale</li>
<li><a href="http://www.nealgrosskopf.com/tech/thread.asp?pid=20">Neal Grosskopf</a> ci parla di Hack CSS per i vari browser</li>
</ul>
<h2>Articoli della serie</h2>
<p>Sempre su FrancescoGavello.it, gli altri post di questa serie.</p>
<ul>
<li><a href="http://francescogavello.it/progressive-enhancement-1-selettori-di-attributo-selettori-adiacenti-e-bordi-arrotondati">Progressive Enhancement (1): Selettori di attributo, selettori adiacenti e bordi arrotondati</a></li>
<li><a href="http://francescogavello.it/progressive-enhancement-2-pseudo-elementi-ombre-e-elementi-not">Progressive Enhancement (2): Pseudo elementi, ombre e elementi NOT</a></li>
<li><a href="http://francescogavello.it/progressive-enhancement-3-colonne-effetti-su-testo-e-background-multipli">Progressive Enhancement (3): colonne, effetti su testo e background multipli</a></li>
</ul>
<p>foto: <a href="http://www.flickr.com/photos/seven13avenue/2080281038/">713 Avenue</a></p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni">Progressive Enhancement: migliorare l’esperienza utente per i browser moderni</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/progressive-enhancement-migliorare-esperienza-utente-per-i-browser-moderni/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>I dettagli che contanto: tecniche &#8220;pixel popping&#8221; per i vostri layout</title>
		<link>http://francescogavello.it/i-dettagli-che-contanto-tecniche-pixel-popping-per-i-vostri-layout</link>
		<comments>http://francescogavello.it/i-dettagli-che-contanto-tecniche-pixel-popping-per-i-vostri-layout#comments</comments>
		<pubDate>Mon, 08 Sep 2008 09:30:35 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Tool e Risorse]]></category>
		<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[Blog Design]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=239</guid>
		<description><![CDATA[<p>Qualunque sia il nostro stile e a qualunque cliente si rivolga, una cosa rimane sempre comune tra ognuno di noi.
Il fatto che in un lavoro di qualità ogni pixel sia importante.
Il giusto equilibrio che si viene a creare in un layout ordinato, facile da leggere e &#8220;che si lascia ricordare&#8221; ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/i-dettagli-che-contanto-tecniche-pixel-popping-per-i-vostri-layout">I dettagli che contanto: tecniche &#8220;pixel popping&#8221; per i vostri layout</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-289" title="pennelli" src="http://francescogavello.it/wp-content/uploads/pennelli-231x300.jpg" alt="Pennelli" width="231" height="300" />Qualunque sia il nostro stile e a qualunque cliente si rivolga, una cosa rimane sempre comune tra ognuno di noi.</p>
<p>Il fatto che in un lavoro di qualità ogni pixel sia importante.</p>
<p>Il giusto equilibrio che si viene a creare in un layout ordinato, facile da leggere e &#8220;che si lascia ricordare&#8221; non è semplice da trovare. Vediamo spesso ottimi lavori che ci lasciano a bocca aperta e pensiamo &#8220;come diavolo si realizza quell&#8217;effetto ? E se ce l&#8217;ho davanti proprio adesso, non è che possa poi essere cosi&#8217; difficile ! (che è poi il motivo del tanto proliferare dei tutorial sul web, ma tant&#8217;è).</p>
<p>Eppure, per quanto nascosta, la soluzione è più a portata di mano di quanto sembri.</p>
<p>Quest&#8217;oggi ecco a voi una selezione di alcuni tutorial realmente utili che a loro tempo mi hanno ispirato e &#8220;insegnato&#8221; a comprendere alcune tecniche basilari.</p>
<p><span id="more-239"></span></p>
<p><a href="http://www.tutorial9.net/photoshop/5-pixel-popping-techniques/">5 Pixel Popping Techniques</a><a href="http://www.tutorial9.net/photoshop/5-pixel-popping-techniques/#2pxdivide"></a></p>
<p>The 2 Pixel Divide, The Pixel Shadow,The Pixel Bevel, The Shadow Highlight e The Vista Effect. Cinque diversi effetti che una volta padroneggiati diventeranno un qualcosa di immediato da inserire nei vostri lavori. Se vi siete sempre chiesi come realizzare un particolare tipo di effetto a rilevo o sfumatura, e non ne conoscevate il nome, probabilmente lo troverete tra questi cinque ottimi effetti di base.</p>
<p><a href="http://blog.9rules.com/2006/08/a-gradient-tutorial/">A Gradient Tutorial</a></p>
<p>I gradienti sono difficili da realizzare. Ripetiamolo. I gradienti, per quanto in effetti frutto di un paio di click su una toolbar, sono molto difficili da padroneggiare per creare un effetto credibile. L&#8217;ottimo articolo di 9rules vi insegnerà le poche info necessarie per stupire con una tecnicha così elementare.</p>
<p><a href="http://pixelresort.com/?p=9">The Power of Blending Options</a></p>
<p>Creazione di una icona attraverso gli strumenti di fusione di Photoshop. Articolo interessante nello sviscerare praticamente ogni opzione di fusione dedicandole un preciso metodo di utilizzo. Perchè non si tratta solo di &#8220;ombra esterna&#8221; al 75% nera <img src='http://francescogavello.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.tutorial9.net/photoshop/layer-styles-in-photoshop/">Layer Styles in Photoshop</a></p>
<p>Ancora su opzioni di fusione, preset e stili di livello visti da Tutorial9, con particolare riferimento ai testi.</p>
<p><a href="http://www.tutorial9.net/photoshop/mysterious-lighting-effect-tutorial-for-photoshop/">Mysterious Lighting Effect Tutorial for Photoshop</a></p>
<p>Creare un effetto di illuminazione su fondale. Se come me avete sempre invidiato i layout di questo tipo troverete ottime info per iniziare. Scoprirete che il filtro &#8220;effetti di luce&#8221; può davvero valere uno sguardo più approfondito.</p>
<p><a href="http://www.adobetutorialz.com/articles/2991/1/Natures-sunshine">Natures Sunshine</a></p>
<p>Un&#8217;altro tema verso il quale sono sempre stato attratto è quello delle <span class="p">silhouette</span> su fondali evocativi (solitamente tramonti). Simili tecniche tornano sempre utili e sono facilissime da mettere in pratica.</p>
<p><a href="http://www.tutorial9.net/photoshop/the-5-essential-photoshop-reflections/">The 5 Essential Photoshop Reflections</a></p>
<p>Quanti tipi di riflessi esistono ?<br />
Sbagliato( <img src='http://francescogavello.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ), Tutorial9 ci insegna che ne esistono ben cinque, nati con scopi e caratteristiche ben diversi gli uno dagli altri.</p>
<p><strong>Tutorial per tutti !<br />
</strong></p>
<p>E&#8217; passato davvero un bel pò di tempo da quando i tutorial sul web si limitavano alla stessa manciata di tecniche proposte senza professionalità giusto per attrarre visitatori.</p>
<p>Oggi abbiamo colossi come <a href="http://psdtuts.com">PsdTuts</a> (e tutto il suo <a href="http://envato.com/">impressionante network</a> alle spalle , <a href="http://www.tutorial9.net">Tutorial9</a>, <a href="http://www.photoshopstar.com/">Photoshop Star</a> e molti altri che probabilmente non conosco ma sono sicuramente degni di nota. Quali dei tanti usate ? <strong>Quali i vostri riferimenti tra la miriade di possibilità</strong> ?</p>
<p>E vi ricordate qual è stato il tutorial che per primo vi ha &#8220;aperto gli occhi&#8221; sulle potenzialità di Photshop ?</p>
<p>foto: <a href="http://www.flickr.com/photos/spadgy/">john_a_ward</a></p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/i-dettagli-che-contanto-tecniche-pixel-popping-per-i-vostri-layout">I dettagli che contanto: tecniche &#8220;pixel popping&#8221; per i vostri layout</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/i-dettagli-che-contanto-tecniche-pixel-popping-per-i-vostri-layout/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Il vostro portfolio e la comunicazione su carta stampata</title>
		<link>http://francescogavello.it/il-vostro-portfolio-e-la-comunicazione-su-carta-stampata</link>
		<comments>http://francescogavello.it/il-vostro-portfolio-e-la-comunicazione-su-carta-stampata#comments</comments>
		<pubDate>Fri, 05 Sep 2008 09:51:39 +0000</pubDate>
		<dc:creator>Francesco Gavello</dc:creator>
				<category><![CDATA[Web Design & UX]]></category>
		<category><![CDATA[Blog Design]]></category>

		<guid isPermaLink="false">http://francescogavello.it/?p=244</guid>
		<description><![CDATA[<p>Qualche giorno fa stavo leggendo l&#8217;articolo di YouTheDesigner riguardo alle sei cose che ogni designer non dovrebbe farsi mancare e sono rimasto colpito dal fatto che solo uno dei punti in lista riguardasse il mantenimento di un portfolio su web.
Quello che potrebbe quindi sembrare il principale (per molti unico) elemento ...</p><p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/il-vostro-portfolio-e-la-comunicazione-su-carta-stampata">Il vostro portfolio e la comunicazione su carta stampata</a></p>
</div></p>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-288" title="comunicazione-carta-stampata" src="http://francescogavello.it/wp-content/uploads/comunicazione-carta-stampata-231x300.jpg" alt="Comunicazione su carta stampata" width="231" height="300" />Qualche giorno fa stavo leggendo l&#8217;articolo di <a href="http://www.youthedesigner.com">YouTheDesigner</a> riguardo alle <a href="http://www.youthedesigner.com/2008/07/07/6-things-every-designer-should-have/">sei cose che ogni designer non dovrebbe farsi mancare</a> e sono rimasto colpito dal fatto che <strong>solo uno dei punti in lista riguardasse il mantenimento di un portfolio su web</strong>.</p>
<p>Quello che potrebbe quindi sembrare il principale (per molti unico) elemento realmente utile per curare il proprio network di relazioni professionali viene invece relegato ad elemento marginale, quasi un male necessario da affiancare al resto.</p>
<p>Si parla nell&#8217;articolo di portfolio stampati, di copie-campione da rilasciare a clienti interessati, di versioni statiche su PDF fino a tutto quello che riguarda la propria immagine coordinata &#8220;su carta&#8221; (biglietti da visita, cv cartacei, etc).</p>
<p>Io che sono sempre stato un grande sostenitore del web come punto cardine di tutto il mio &#8220;essere professionista&#8221;, mi sono sentito per un attimo smarrito. <strong>E se avesse ragione ?</strong></p>
<p><span id="more-244"></span></p>
<p>Voglio dire, per il professionista creativo è normale partire dal lato web quando si prende in esame la concorrenza. E&#8217; normale valutare principalmente ciò che vediamo attraverso lo schermo dopo una rapida ricerca su Google.</p>
<p>Per il cliente, forse non è così immediato.</p>
<p>Mi immagino clienti impacciati nel guardare in un minuscolo portatile immagini e slideshow di presunti lavori &#8220;interessanti&#8221;.  Me li immagino ad ascoltare annoiati svisceramenti di questa o quella tecnica innovativa quando magari tutto ciò di cui realmente avrebbero bisogno è di una manciata di stampe in alta qualità sulle quali riflettere a mente fredda una volta rientrati dall&#8217;incontro.</p>
<p>Stampe sulle quali pasticciare, scrivere appunti e indicare a pennarello questo o quell&#8217;elemento interessante da spostare più in su o più in giù.</p>
<p>Il mondo virtuale dunque, nel quale noi ci troviamo tanto bene, contrapposto a quello &#8220;reale&#8221;, tangible al quale il cliente molto spesso mira senza ricevere la giusta soddisfazione.</p>
<p>Provate a chiedervi:</p>
<ul>
<li>Avete mai usato qualcosa di più (o di meno) del vostro portatile durante incontri di lavoro ?</li>
<li>Richiedete spesso una connessione web, o vi accontentate di presentare qualcosa di &#8220;ibrido&#8221; che si adatti a qualunque situazione ?</li>
<li>Disponete di una comunicazione coordinata tra cartaceo e online ?</li>
</ul>
<p>Ora che ci penso, l&#8217;approvazione più veloce in assoluto su uno dei miei lavori l&#8217;ho avuta presentanto delle stampe&#8230;</p>
<p>foto: <a href="http://www.flickr.com/photos/interrupt/">interrupt</a></p>
<p><div style="font-size:10px">
<p style="background-color:#f5f5f5;padding:20px;line-height:20px"><a href="http://francescogavello.it/download/Francesco_Gavello_Ebook_21_Cose.pdf">Scarica il mio eBook gratuito</a>: <strong>"21 Cose che Dovresti Sapere (riguardo al tuo blog)"</strong>.<br />(offerta bonus riservata agli iscritti al feed RSS).</p>
<p>Copyright: <a href="http://francescogavello.it/">Francesco Gavello</a>. Puoi ripubblicare i contenuti di questo articolo solo in parte e fornendo un link all'articolo originale.<br />
Link al post originale: <a href="http://francescogavello.it/il-vostro-portfolio-e-la-comunicazione-su-carta-stampata">Il vostro portfolio e la comunicazione su carta stampata</a></p>
</div></p>]]></content:encoded>
			<wfw:commentRss>http://francescogavello.it/il-vostro-portfolio-e-la-comunicazione-su-carta-stampata/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

