<?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>TomStardust.com &#187; javascript</title>
	<atom:link href="http://www.tomstardust.com/archives/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomstardust.com</link>
	<description>Web Design blog: accessibilità, xhtml e css</description>
	<lastBuildDate>Thu, 05 Jan 2012 09:42:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>WordPress 3.2, PHP e jQuery</title>
		<link>http://www.tomstardust.com/archives/wordpress-3-2-php-jquery/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-3-2-php-jquery</link>
		<comments>http://www.tomstardust.com/archives/wordpress-3-2-php-jquery/#comments</comments>
		<pubDate>Thu, 26 May 2011 11:15:29 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1804</guid>
		<description><![CDATA[<p>La versione 3.2 di Wordpress introduce alcune novità da testare prima del prossimo aggiornamento.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/wordpress-3-2-php-jquery/">WordPress 3.2, PHP e jQuery</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="right size-full wp-image-1107" title="Logo WordPress" src="http://www.tomstardust.com/wp-content/uploads/2010/02/wordpress-logo.jpg" alt="" width="150" height="150" /><strong>Aggiornamento del 5 luglio 2011:</strong> è uscita la versione 3.2 di WordPress!</p>
<p>E&#8217; stata rilasciata la <a href="http://wordpress.org/news/2011/05/wordpress-3-1-3/">versione beta 2 di WordPress 3.2</a>, con alcune importanti novità. In attesa dell&#8217;uscita della release definitiva è stata inviata una comunicazione agli sviluppatori con l&#8217;invito a fare dei test: ci saranno infatti alcuni cambiamenti rilevanti, ed è bene che siano noti a tutti coloro che usano WordPress soprattutto in ambito lavorativo.</p>
<p><span id="more-1804"></span></p>
<h3>Requisiti minimi: PHP 5.2.4 e MySQL 5.0.15</h3>
<p>Il primo fattore da considerare è il cambiamento dei requisiti minimi per l&#8217;installazione di WordPress. Dalla versione 3.2 in poi sarà necessario avere installati sul server <strong>PHP 5.2.4</strong> e <strong>MySQL 5.0.15</strong>.</p>
<p>Questo potrebbe causare problemi con alcuni servizi hosting che utilizzano ancora la versione 4 di PHP: non è un caso così raro come si potrebbe pensare. Al momento di aggiornare a WordPress 3.2 ricordatevi di controllare la configurazione del vostro hosting in modo da evitare sorprese.</p>
<h3>Aggiornamento a jQuery 1.6.1</h3>
<p>Un&#8217;altra novità rilevante è l&#8217;aggiornamento della versione di jQuery inclusa in WordPress. Si passa da jQuery 1.4.4 alla <strong>1.6.1</strong>, con un salto di ben due <em>major release</em>.</p>
<p>Tra le novità più importanti, la <strong>versione 1.5.0</strong> e le successive non consentono più l&#8217;utilizzo di selettori del tipo <em>[property=value]</em>, ma è necessario utilizzare la forma <em>[property="value"]</em>.</p>
<p>Inoltre nel passaggio a <strong>jQuery 1.6.0</strong> e versioni successive il metodo .attr() è stato sostituito da .prop(): in alcuni casi sarà quindi necessario modificare il codice, ed alcuni plugin potrebbero dare degli errori se non aggiornati di conseguenza.</p>
<h3>Chi interessano queste novità?</h3>
<p>Se siete tentati di sorvolare su queste novità, potreste avere delle brutte sorprese al momento dell&#8217;aggiornamento a WordPress 3.2, quando uscirà la versione finale. Ovviamente i diretti interessati a questo cambiamento sono gli sviluppatori di plugin e temi, ma anche se non siete dei programmatori e state semplicemente utilizzando WordPress per i vostri progetti, vi raccomando di provare ad installare in locale la beta 2 e controllare che tutto funzioni.</p>
<p>Per effettuare dei test sui vostri siti di sviluppo potete scaricare la versione beta 2 di WordPress 3.2 <a title="Wordpress 3.2 beta2" href="http://wordpress.org/wordpress-3.2-beta2.zip">a questo indirizzo</a>.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/wordpress-3-2-php-jquery/">WordPress 3.2, PHP e jQuery</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/wordpress-3-2-php-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zepto.js: framework JavaScript per iOs e Android</title>
		<link>http://www.tomstardust.com/archives/zepto-js-framework-mobile/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=zepto-js-framework-mobile</link>
		<comments>http://www.tomstardust.com/archives/zepto-js-framework-mobile/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 07:45:01 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[cellulari]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[iOs]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1539</guid>
		<description><![CDATA[<p>Un framework js in soli 2kb, con il supporto di tap, double tap e swipe.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/zepto-js-framework-mobile/">Zepto.js: framework JavaScript per iOs e Android</a></p>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-1540 aligncenter" title="Zepto.js" src="http://www.tomstardust.com/wp-content/uploads/2010/11/zepto_js.jpg" alt="" width="425" height="120" /></p>
<p>Ogni sito ormai dovrebbe avere una versione mobile: qualche tempo fa avevo suggerito <a href="http://www.tomstardust.com/archives/mobilepress-blog-in-versione-mobile/">MobilePress</a> come soluzione per blog e siti basati su WordPress. Non sempre però un plugin può soddisfare tutte le necessità: in certi casi è necessario realizzare soluzioni su misura, con un modello di interazione differente dal classico punta e clicca. Basti pensare al numero enorme di smartphone touchscreen che sono in circolazione in questo momento: perché non sfruttare le potenzialità che offrono?</p>
<p>È anche per questo motivo che è nato <a href="http://zeptojs.com/"><strong>Zepto.js</strong></a>, un framework JavaScript per dispositivi mobili basati su <em>webkit</em>. Integrandolo nella versione mobile (e solo su quella) potrete interagire con tutti i cellulari basati su <strong>iOs e Android</strong>, praticamente la maggior parte del mercato mobile.</p>
<p>Anche se il progetto è ancora in beta, si fa notare il peso della libreria: <strong>solo 2kb</strong> (nella versione compressa). Dieci volte meno rispetto a jQuery o Prototype, che devono preoccuparsi di funzionare anche su altri browser come Internet Explorer.  Siete ancora convinti di utilizzare gli altri framework per un sito mobile?</p>
<p>Tra le altre caratteristiche di Zepto.js:</p>
<ul>
<li>linguaggio compatibile con <em>jQuery</em></li>
<li>supporto <em>Ajax</em></li>
<li>riconoscimento di <em>Tap</em>, <em>doppio Tap</em> (pressione sullo schermo con un dito) e <em>Swipe </em>(scorrimento di un dito sullo schermo). Ad esempio:</li>
<li>Open Source</li>
</ul>
<p>Tap e Swipe possono essere usati semplicemente così:</p>
<pre><code>$('selettore').tap(function(){...});
$('selettore').doubleTap(function(){...});
$('selettore').swipe(function(){...});
</code></pre>
<p>Potete scaricare <a href="http://zeptojs.com/">zepto.js</a> dal sito ufficiale. Se volete approfondire trovate su SlideShare anche <a href="http://www.slideshare.net/madrobby/zeptojs-a-jquerycompatible-mobile-javascript-framework-in-2k">le slide</a> con cui Thomas Fuchs ha presentato la sua creazione.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/zepto-js-framework-mobile/">Zepto.js: framework JavaScript per iOs e Android</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/zepto-js-framework-mobile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaScript e il tag noscript</title>
		<link>http://www.tomstardust.com/archives/javascript-tag-noscript/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=javascript-tag-noscript</link>
		<comments>http://www.tomstardust.com/archives/javascript-tag-noscript/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 06:25:17 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[noscript]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1374</guid>
		<description><![CDATA[<p>Esempi di utilizzo corretto del tag noscript, e le possibili alternative per una pagina accessibile.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/javascript-tag-noscript/">JavaScript e il tag noscript</a></p>]]></description>
			<content:encoded><![CDATA[<p>Il tag HTML <em>noscript </em>è spesso considerato uno dei migliori metodi per fornire contenuti alternativi al JavaScript di una pagina web. In realtà nella maggior parte dei casi questo tag viene ancora oggi utilizzato per messaggi imbarazzanti come:</p>
<blockquote><p>il tuo browser non ha i requisiti necessari per visualizzare questo contenuto</p></blockquote>
<p>Questo testo però è decisamente poco interessante per l&#8217;utente, ed ancora meno utile dal punto di vista dell&#8217;accessibilità.</p>
<h3>Utilizzare noscript</h3>
<p>Il modo migliore per sfruttare questo tag è inserire al suo interno un contenuto realmente alternativo.</p>
<p>Nel caso di una mappa interattiva con dei punti di interesse, all&#8217;interno del noscript sarebbe sufficiente elencare questi punti senza troppe complicazioni:</p>
<pre><code>&lt;script type="text/javascript"&gt;
// mappa interattiva
[...]
&lt;/script&gt;
&lt;noscript&gt;
&lt;ul&gt;
   &lt;li&gt;&lt;a href="..."&gt;Punto di interesse 1&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="..."&gt;Punto di interesse 2&lt;/a&gt;&lt;/li&gt;
   [...]
&lt;/ul&gt;
&lt;/noscript&gt;</code></pre>
<p>evitando messaggi come:</p>
<pre><code>&lt;noscript&gt;Il tuo browser non supporta JavaScript!&lt;/noscript&gt;</code></pre>
<h3>Progressive enhancement</h3>
<p>C&#8217;è però un&#8217;alternativa migliore al tag <em>noscript</em>, ed è l&#8217;utilizzo del <em>progressive enhancement</em>. Fornire un contenuto alternativo può essere una soluzione valida intervenendo su un sito esistente, ma se state realizzando un progetto da zero, è molto più utile pensare fin da subito a certe problematiche.</p>
<p>E&#8217; necessario pensare ad HTML e JavaScript come <strong>due livelli distinti</strong>, da tenere ben separati. Il procedimento migliore è infatti inserire tutti i contenuti HTML, e solo successivamente usare JavaScript per aggiungere effetti grafici e animazioni.</p>
<p>In questo modo anche con JavaScript non disponibile i contenuti resteranno accessibili, e soprattutto non dovrete preoccuparvi di realizzare delle versioni alternative.</p>
<p>Sulla separazione di HTML e Javascript c&#8217;è un interessante articolo di <em>A List Apart</em> del 2006: <a href="http://www.alistapart.com/articles/behavioralseparation">Behavioral Separation</a>, scritto da Jeremy Keith.</p>
<h3>Ha ancora senso usare noscript?</h3>
<p>Se utilizzate JavaScript in maniera non intrusiva potete benissimo dimenticarvi di <em>noscript</em>. Il tag però rimane ancora valido (ed è riconosciuto anche in HTML5) per garantire la retrocompatibilità.</p>
<p>Ci sono poi situazioni in cui l&#8217;utilizzo del noscript è insostituibile: basti pensare a tutti i casi in cui il codice JavaScript viene fornito da un sito esterno e non è modificabile.</p>
<p>E voi cosa ne pensate? Nel panorama italiano parlare di progressive enhancement è ancora un&#8217;utopia?</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/javascript-tag-noscript/">JavaScript e il tag noscript</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/javascript-tag-noscript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pirobox: la nuova versione</title>
		<link>http://www.tomstardust.com/archives/pirobox-la-nuova-versione/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pirobox-la-nuova-versione</link>
		<comments>http://www.tomstardust.com/archives/pirobox-la-nuova-versione/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 07:00:10 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[risorse utili]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[pirobox]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=993</guid>
		<description><![CDATA[<p>Un ottimo plugin per la visualizzazione di immagini, realizzato in Italia.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/pirobox-la-nuova-versione/">Pirobox: la nuova versione</a></p>]]></description>
			<content:encoded><![CDATA[<p><a title="Screenshot di Pirobox in azione" rel="lightbox" href="http://www.tomstardust.com/wp-content/uploads/2009/11/pirobox.jpg"><img class="right size-thumbnail wp-image-996" src="http://www.tomstardust.com/wp-content/uploads/2009/11/pirobox-250x161.jpg" alt="Screenshot di Pirobox in azione" width="250" height="161" /></a><a href="http://www.pirolab.it/pirobox/">Pirobox</a> è un plugin di <a href="http://jquery.com/">jQuery</a> per la creazione di <strong>gallerie di immagini</strong>. E&#8217; una creazione tutta italiana, e <a title="Pirobox: visualizzazione di immagini made in Italy" href="http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/">ne avevo già parlato</a> in passato su questo sito. Mi ha fatto molto piacere scoprire che <a href="http://www.pirolab.it/">Diego Valobra</a>, il suo creatore, ne ha appena rilasciato la nuova versione con alcuni miglioramenti:</p>
<ul>
<li>diminuito il peso del codice, per una maggiore velocità di caricamento: da 25kb a <strong>11kb</strong></li>
<li>implementata la <strong>navigazione da tastiera</strong></li>
<li>controllo sui link errati, che non fermano lo script ma visualizzano un&#8217;immagine di avviso</li>
<li>riposizionamento automatico delle immagini durante lo scroll della pagina</li>
<li>png fix per Explorer 6</li>
</ul>
<p>Tutto questo si aggiunge all&#8217;ottimo lavoro che Diego aveva già fatto. Sono notevoli anche le opzioni di personalizzazione: <strong>tre skin</strong> sono già pronte (nera, bianca e trasparente), e c&#8217;è la possibilità tramite alcuni parametri di decidere la posizione delle frecce di scorrimento nelle gallerie di immagini (alla base dell&#8217;immagine o ai lati della pagina).</p>
<p>Se nel vostro prossimo progetto avete bisogno di uno script simile a Lightbox per mostrare anteprime di immagini, provate Pirobox. Alcuni dettagli come la navigazione da tastiera possono fare la differenza, e l&#8217;implementazione non richiede tag aggiuntivi nel codice: è sufficiente una classe html per abilitare lo script, in modo semplice e pulito.</p>
<p>Per vedere le demo e le caratteristiche di questo plugin in dettaglio vi rimando alla <a href="http://www.pirolab.it/pirobox/">pagina ufficiale di Pirobox</a>.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/pirobox-la-nuova-versione/">Pirobox: la nuova versione</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/pirobox-la-nuova-versione/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Google Maps: come creare una mappa con le API e GeoRSS</title>
		<link>http://www.tomstardust.com/archives/google-maps-come-creare-una-mappa-con-api-georss/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-maps-come-creare-una-mappa-con-api-georss</link>
		<comments>http://www.tomstardust.com/archives/google-maps-come-creare-una-mappa-con-api-georss/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 04:32:01 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[guida]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=937</guid>
		<description><![CDATA[<p>Una guida per usare lo standard GeoRSS con Google Maps, dopo l'esperienza di GdRPlayers.it</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/google-maps-come-creare-una-mappa-con-api-georss/">Google Maps: come creare una mappa con le API e GeoRSS</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>Google Maps</strong> è uno strumento fantastico, che mette a disposizione delle <em>API</em> per fare praticamente qualsiasi cosa. Il problema è gestire delle mappe complesse, mostrando sullo schermo centinaia di marcatori contemporaneamente: in questi casi è fondamentale scegliere la strada giusta.</p>
<p>La soluzione che ho utilizzato nel mio progetto <a title="GdR Players: il mio nuovo progetto - TomStardust.com" href="http://www.tomstardust.com/archives/gdr-players-il-mio-nuovo-progetto/">GdR Players</a> si chiama <a href="http://en.wikipedia.org/wiki/GeoRSS">GeoRSS</a>: è un formato standard supportato anche da Google Maps, che consente con poche righe di codice di creare delle mappe complete.</p>
<h3>Il formato GeoRSS</h3>
<p>Per funzionare, la prima cosa necessaria è un file <em>xml</em> che segua questo standard. La struttura del documento deve essere simile a questa:</p>
<p><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />
&lt;feed xmlns="http://www.w3.org/2005/Atom"  xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"&gt;<br />
&lt;title&gt;Titolo feed&lt;/title&gt;<br />
&lt;entry&gt;<br />
&lt;title&gt;Primo elemento&lt;/title&gt;<br />
&lt;link href="http://..."/&gt;<br />
&lt;summary&gt;descrizione&lt;/summary&gt;<br />
&lt;georss:where&gt;<br />
&lt;gml:Point&gt;<br />
&lt;gml:pos&gt;41.8 12.6&lt;/gml:pos&gt;<br />
&lt;/gml:Point&gt;<br />
&lt;/georss:where&gt;<br />
&lt;/entry&gt;<br />
&lt;entry&gt;<br />
&lt;title&gt;Secondo elemento&lt;/title&gt;<br />
&lt;link href="http://..."/&gt;<br />
&lt;summary&gt;descrizione&lt;/summary&gt;<br />
&lt;georss:where&gt;<br />
&lt;gml:Point&gt;<br />
&lt;gml:pos&gt;43.8 11.3&lt;/gml:pos&gt;<br />
&lt;/gml:Point&gt;<br />
&lt;/georss:where&gt;<br />
&lt;/entry&gt;<br />
&lt;/feed&gt;</code></p>
<p>Le <em>entry</em> ovviamente possono essere molteplici, gli elementi come <em>link</em> e <em>summary </em>sono facoltativi ed appariranno solamente se inseriti. Per alleggerire il codice, potreste decidere anche di utilizzare il formato <strong>GeoRSS-Simple</strong>, dove il codice</p>
<p><code>&lt;georss:where&gt;<br />
&lt;gml:Point&gt;<br />
&lt;gml:pos&gt;41.8 12.6&lt;/gml:pos&gt;<br />
&lt;/gml:Point&gt;<br />
&lt;/georss:where&gt;</code></p>
<p>diventerà</p>
<p><code>&lt;georss:point&gt;41.8 12.6&lt;/georss:point&gt;</code></p>
<p>Non mi soffermerò sul metodo di creazione di questo file: su <a href="http://www.gdrplayers.it/">GdR Players</a> viene generato dinamicamente, ma se avete una mappa con dei contenuti predefiniti niente vieta di scrivere l&#8217;xml manualmente.</p>
<h3>Creazione della mappa</h3>
<p>Se avete già familiarità con Google Maps, sono sufficienti un paio di righe di codice per includere tutti i marker presenti nell&#8217;xml:</p>
<p><code>var geoXml = new GGeoXml("http://www.url.com/feed.xml");<br />
map.addOverlay(geoXml);</code></p>
<p>L&#8217;indirizzo specificato dovrà corrispondere alla posizione del file xml.</p>
<p>Il codice JavaScript completo, che utilizzo sul mio progetto con poche opzioni in più, è il seguente:</p>
<p><code>function load() {<br />
if (GBrowserIsCompatible()) {<br />
var geoXml = new GGeoXml("http://www.url.com/feed.xml");<br />
var map = new GMap2(document.getElementById("map_canvas"));<br />
if (geoXml.loadedCorrectly()) {<br />
geoXml.gotoDefaultViewport(map);<br />
}<br />
map.addControl(new GSmallMapControl());<br />
map.addControl(new GMapTypeControl());<br />
map.addOverlay(geoXml);<br />
}<br />
}</code></p>
<p>Le funzioni <em>gotoDefaultViewport</em> e <em>addControl</em> specificate servono rispettivamente per:</p>
<ul>
<li>centrare la mappa e definire il livello di zoom automaticamente, in base ai marker presenti</li>
<li>aggiungere i controlli per spostarsi e zoomare</li>
</ul>
<p>L&#8217;ultima riga è quella fondamentale, che aggiunge alla mappa i marcatori.</p>
<p>Per quanto riguarda il <strong>codice html</strong>, è sufficiente avere nella pagina:</p>
<p><code>&lt;div id="map_canvas"&gt;&lt;/div&gt;</code></p>
<p>che farà da contenitore. Dovrete poi richiamare la funzione <em>load</em> al caricamento, inserendo:</p>
<p><code>&lt;body onload="load();" onunload="GUnload()"&gt;</code></p>
<p>Ricordatevi infine che per utilizzare le API di Google Maps dovrete <a title="Registrazione per Google Maps Api" href="http://code.google.com/apis/maps/signup.html">registrarvi</a>, ottenere una API Key gratuita ed inserire il codice che vi verrà indicato nel vostro template.</p>
<p>La cosa fantastica di questo metodo è che segue uno standard, ed ha già delle azioni predefinite che verranno aggiunte alla mappa. Cliccando sui marcatori verranno visualizzate le informazioni correlate, il titolo di ogni <em>entry</em> e la sua descrizione, così come eventuali immagini o link.</p>
<h3>Perchè utilizzare GeoRSS?</h3>
<p>Consiglio l&#8217;uso di questo formato e della classe <em>GGeoXml </em>quando avete numerosi marker da mostrare su una mappa. La maggior parte dei tutorial in rete infatti utilizzano un principio diverso, inviando per ogni indirizzo una richiesta di geocoding a Google per ottenere le coordinate in tempo reale. Questo va bene per pochi marcatori, ma se ne avete più di una decina inizierete ad avere dei problemi: oltre questo numero anche io ho dovuto cambiare strada, rendendomi conto che la cosa non funzionava.</p>
<p>L&#8217;unica soluzione è ricavare a priori le coordinate (seguendo <a title="Geocoding Requests - Google Maps" href="http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests">questa guida</a>), inserirle in un file xml e visualizzarlo con la classe GGeoXml come vi ho mostrato. Seguendo questo metodo <a title="La mappa dei giocatori - GdR Players" href="http://www.gdrplayers.it/mappa/">GdR Players</a> attualmente mostra la posizione di 130 utenti, senza avere particolari problemi al caricamento della pagina.</p>
<p><strong>Aggiornamento:</strong> dopo un anno di test posso affermare che questa tecnica funziona con più di 1000 segnalini contemporaneamente sulla mappa, la consiglio caldamente.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/google-maps-come-creare-una-mappa-con-api-georss/">Google Maps: come creare una mappa con le API e GeoRSS</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/google-maps-come-creare-una-mappa-con-api-georss/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Librerie JavaScript: jQuery o MooTools?</title>
		<link>http://www.tomstardust.com/archives/librerie-javascript-jquery-o-mootools/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=librerie-javascript-jquery-o-mootools</link>
		<comments>http://www.tomstardust.com/archives/librerie-javascript-jquery-o-mootools/#comments</comments>
		<pubDate>Wed, 27 May 2009 05:30:15 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=785</guid>
		<description><![CDATA[<p>Una guida alla scelta della migliore libreria JavaScript per il vostro sito.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/librerie-javascript-jquery-o-mootools/">Librerie JavaScript: jQuery o MooTools?</a></p>]]></description>
			<content:encoded><![CDATA[<p>Il primo problema da considerare per chi vuole sfruttare le potenzialità di JavaScript è <strong>la scelta del framework</strong> a cui appoggiarsi. Le soluzioni a disposizione sono tante: spesso può anche non servire sfruttare un&#8217;intera libreria, ma per progetti complessi a volte è la scelta più conveniente.</p>
<p>Tra le varie possibilità, <a title="jQuery" href="http://www.jquery.com/"><strong>jQuery</strong></a> e <a title="Mootools" href="http://www.mootools.net/"><strong>MooTools</strong></a> sono due tra i migliori framework da considerare. Per facilitarvi, consiglio la lettura di <a title="jQuery vs Mootools: choosing between two great JavaScript frameworks" href="http://jqueryvsmootools.com/">questa pagina</a>, che vuole aiutare a trovare una risposta alla domanda: &#8220;quale scelgo?&#8221;.</p>
<h3>Le caratteristiche dei due framework</h3>
<h4>jQuery &#8211; <a title="jQuery" href="http://www.jquery.com/">sito ufficiale</a></h4>
<ul>
<li>dimensione della libreria (solo Core): 55.9kb</li>
<li>centinaia di plugin disponibili su <a title="I plugin di jQuery" href="http://plugins.jquery.com/">plugins.jquery.com</a>, più innumerevoli altri disponibili in rete<a title="I plugin di jQuery" href="http://plugins.jquery.com/"><br />
</a></li>
<li>community diffusa e molto frequentata</li>
<li>facilità di apprendimento</li>
</ul>
<h4>MooTools &#8211; <a title="Mootools" href="http://www.mootools.net/">sito ufficiale</a></h4>
<ul>
<li>dimensione della libreria (solo Core): 64.3kb</li>
<li>qualche decina di plugin ufficiali su <a title="I plugin di MooTools" href="http://mootools.net/more">mootools.net/more</a>, più altri non ufficiali (meno rispetto a jQuery) disponibili in rete<a title="I plugin di MooTools" href="http://mootools.net/more"><br />
</a></li>
<li>miglior mantenibilità del codice</li>
<li>facilità di riutilizzo</li>
</ul>
<h3>Quale utilizzare?</h3>
<p>La scelta può essere sintetizzata in una frase:</p>
<blockquote><p>jQuery focuses on expressiveness, quick and easy coding, and the DOM while MooTools focuses on extension, inheritance, legibility, reuse, and maintainability.</p></blockquote>
<p>E&#8217; questa la giusta chiave di lettura per iniziare a lavorare con uno dei due framework. <em>jQuery</em> è probabilmente più facile da imparare ed è semplice da gestire, ma potrebbe presentare qualche problema di troppo per il riutilizzo del codice ed il suo mantenimento. <em>MooTools</em> ha meno difficoltà da questo punto di vista, ma è più complesso da imparare.</p>
<h3>Alcuni esempi pratici</h3>
<p>Per avere un&#8217;idea non solo teorica dei due framework, questi sono alcuni siti che utilizzano l&#8217;uno o l&#8217;altro. Sono presenti slider, carousel, accordion e menu con navigazione a tab: i risultati sono in ogni caso ottimi.</p>
<h4><a title="Web Designer Wall" href="http://www.webdesignerwall.com/">Web Designer Wall</a> &#8211; jQuery</h4>
<p><a href="http://www.webdesignerwall.com/"><img class="alignnone size-full wp-image-793" title="Web Designer Wall" src="http://www.tomstardust.com/wp-content/uploads/2009/05/web-designer-wall.jpg" alt="Web Designer Wall" width="475" height="50" /></a></p>
<h4><a title="Marius Roosendaal Portfolio" href="http://www.mariusroosendaal.com/">Marius Roosendaal</a> &#8211; Mootools</h4>
<p><a href="http://www.mariusroosendaal.com/"><img class="alignnone size-full wp-image-794" title="Marius Roosendaal" src="http://www.tomstardust.com/wp-content/uploads/2009/05/marius-roosendaal.jpg" alt="Marius Roosendaal" width="475" height="50" /></a></p>
<h4><a title="Viget Labs" href="http://www.viget.com/">Viget Labs</a> &#8211; jQuery</h4>
<p><a href="http://www.viget.com/"><img class="alignnone size-full wp-image-795" title="Viget Labs" src="http://www.tomstardust.com/wp-content/uploads/2009/05/viget-labs.jpg" alt="Viget Labs" width="475" height="50" /></a></p>
<h4><a title="Vimeo" href="http://vimeo.com/">Vimeo</a> &#8211; Mootools</h4>
<p><a href="http://vimeo.com/"><img class="alignnone size-full wp-image-796" title="Vimeo" src="http://www.tomstardust.com/wp-content/uploads/2009/05/vimeo.jpg" alt="Vimeo" width="475" height="50" /></a></p>
<h4><a title="Komodo Media" href="http://www.komodomedia.com/">Komodo Media</a> &#8211; jQuery</h4>
<p><a href="http://www.komodomedia.com/"><img class="alignnone size-full wp-image-797" title="Komodo Media" src="http://www.tomstardust.com/wp-content/uploads/2009/05/komodo-media.jpg" alt="Komodo Media" width="475" height="50" /></a></p>
<h4><a title="Macheist" href="http://www.macheist.com/">Macheist</a> &#8211; Mootools</h4>
<p><a href="http://www.macheist.com/"><img class="alignnone size-full wp-image-798" title="Macheist" src="http://www.tomstardust.com/wp-content/uploads/2009/05/macheist.jpg" alt="Macheist" width="475" height="50" /></a></p>
<p>Per quanto mi riguarda su <em>tomstardust.com</em> utilizzo <em>MooTools</em>, ma per altri progetti ho sfruttato anche <em>jQuery</em>, soprattutto per i numerosi plugin a disposizione. Sono entrambe due ottime librerie: a questo punto la scelta dipende solo dalle vostre necessità.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/librerie-javascript-jquery-o-mootools/">Librerie JavaScript: jQuery o MooTools?</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/librerie-javascript-jquery-o-mootools/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Come realizzare un menu a tendina</title>
		<link>http://www.tomstardust.com/archives/come-realizzare-un-menu-a-tendina/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=come-realizzare-un-menu-a-tendina</link>
		<comments>http://www.tomstardust.com/archives/come-realizzare-un-menu-a-tendina/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 05:00:03 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[risorse utili]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[menu a tendina]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=714</guid>
		<description><![CDATA[<p>Le regole da seguire nella creazione di un dropdown menu usabile.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/come-realizzare-un-menu-a-tendina/">Come realizzare un menu a tendina</a></p>]]></description>
			<content:encoded><![CDATA[<p><strong>I menu a tendina</strong> sono un&#8217;ottima soluzione per rendere accessibili più pagine ai visitatori del sito. Possono essere realizzati usando solo i CSS o anche JavaScript, ma è comunque necessario <strong>rispettare alcune regole</strong>:</p>
<ul>
<li>Le voci devono avere <strong>un&#8217;area estesa</strong>, comodamente selezionabile, per consentire una navigazione facile. Sono sconsigliate le etichette di testo troppo lunghe.<br />
<img class="alignnone size-full wp-image-717" src="http://www.tomstardust.com/wp-content/uploads/2009/04/dropdown-menu.png" alt="Dropdown menu" width="453" height="210" /></li>
<li>E&#8217; utile un <strong>ritardo</strong> di qualche frazione di secondo su apertura e chiusura del menu, per evitare attivazioni involontarie spostando il mouse</li>
<li>Il menu deve potersi <strong>riposizionare</strong> a seconda delle dimensioni della finestra del browser, spostandosi in un&#8217;area visibile quando si trova vicino ai margini della stessa. Un classico errore è mostrato nell&#8217;immagine:<br />
<img class="size-full wp-image-719 alignnone" src="http://www.tomstardust.com/wp-content/uploads/2009/04/dropdown-menu-overflow.png" alt="Un esempio di menu a tendina con comportamento errato, ai margini della finestra del browser." width="298" height="200" /></li>
<li>All&#8217;apertura della tendina, l&#8217;utente deve vedere <strong>tutte le voci</strong> insieme, senza necessità di effettuare scroll della pagina</li>
<li>I link di primo livello devono avere <strong>una destinazione</strong>, che sarà utilizzata anche se il menu non è accessibile (ad esempio JavaScript disabilitato)</li>
<li><strong>Un menu a tendina non è una mappa del sito</strong>, è inutile e dannoso elencare tutte le pagine</li>
<li>Le voci selezionate dall&#8217;utente all&#8217;interno del menu dovrebbero <strong>rimanere evidenti<br />
<img class="alignnone size-full wp-image-723" src="http://www.tomstardust.com/wp-content/uploads/2009/04/menu-a-tendina-voci-selezionate.png" alt="Menu con voci selezionate" width="449" height="171" /></strong></li>
<li>Il menu dovrebbe essere perfettamente <strong>navigabile anche da tastiera</strong></li>
<li>I menu realizzati esclusivamente con i CSS spesso sono <strong>poco usabili</strong>: a volte è meglio evitarli. Senza JavaScript infatti non è possibile gestire alcuni aspetti come il ritardo sull&#8217;apertura e sulla chiusura.</li>
<li>Con JavaScript disabilitato il sito deve essere <strong>comunque navigabile</strong></li>
<li>Le voci dei sottomenu è bene che siano <strong>accessibili agli screen reader</strong> senza nasconderle con <em>display: none</em> (ma con <em>position: absolute</em>)</li>
</ul>
<p>Queste regole andrebbero rispettate in ogni occasione: per alcune potrebbe essere concessa qualche eccezione a seconda delle circostanze, ma alcuni requisiti come l&#8217;usabilità sono fondamentali. <strong>Un menu a tendina deve essere facile da utilizzare</strong>, perchè è il mezzo principale per far navigare gli utenti nel vostro sito. In certi casi conviene mantenere un menu classico, se l&#8217;alternativa deve essere poco usabile.</p>
<h3>Esempi di menu a tendina</h3>
<p>Esistono diverse risorse disponibili per realizzare un menu a tendina senza troppi problemi. Non tutte però seguono i principi elencati: ve ne segnalo un paio. Potete usarle come un ottimo punto di partenza per i vostri siti:</p>
<ul>
<li><a title="CSS Dropdown Menu Framework" href="http://www.lwis.net/free-css-drop-down-menu/"><strong>Free CSS DropDown menu Framework:</strong></a> una soluzione modulare, con diversi temi grafici già pronti</li>
<li><a title="MenuMatic" href="http://greengeckodesign.com/projects/menumatic.aspx"><strong>MenuMatic:</strong></a> un plugin per la libreria Mootools che trasforma una lista di link HTML in un menu a tendina</li>
</ul>
<p>Se conoscete altre risorse interessanti segnalatele pure nei commenti, le aggiungerò a questa lista.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/come-realizzare-un-menu-a-tendina/">Come realizzare un menu a tendina</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/come-realizzare-un-menu-a-tendina/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>PiroBox, visualizzazione di immagini made in Italy</title>
		<link>http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=pirobox-visualizzazione-immagini-made-in-italy</link>
		<comments>http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 05:30:43 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[risorse utili]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[pirobox]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=566</guid>
		<description><![CDATA[<p>Un plugin per jQuery alternativo a Lightbox, ideato dal Web Designer italiano Diego Valobra.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/">PiroBox, visualizzazione di immagini made in Italy</a></p>]]></description>
			<content:encoded><![CDATA[<p><a title="Uno screenshot di Pirobox" rel="lightbox" href="http://www.tomstardust.com/wp-content/uploads/2009/02/pirobox.jpg"><img class="right size-thumbnail wp-image-568" src="http://www.tomstardust.com/wp-content/uploads/2009/02/pirobox-250x157.jpg" alt="Uno screenshot di Pirobox" width="250" height="157" /></a>Se avete la necessità di gestire delle <strong>gallerie di immagini</strong> la scelta è ormai ampia: esistono infatti numerose soluzioni che spesso si appoggiano a librerie JavaScript esistenti. Quella più famosa è <a title="Lightbox vs. Thickbox" href="http://www.tomstardust.com/archives/lightbox-vs-thickbox/">Lightbox</a>, seguita da <a title="Thickbox v2.0: addio Lightbox?" href="http://www.tomstardust.com/archives/thickbox-v20-addio-lightbox/">Thickbox</a>, ma su queste pagine ho parlato anche di altri script come <a title="Gallerie di immagini: adesso c'è anche Smoothbox" href="http://www.tomstardust.com/archives/gallerie-di-immagini-adesso-ce-anche-smoothbox/">Smoothbox</a> e <a title="Shadowbox: soluzione JavaScript per gallerie di immagini" href="http://www.tomstardust.com/archives/shadowbox-soluzione-javascript-per-gallerie-di-immagini/">Shadowbox</a>.</p>
<p>Ha deciso di avventurarsi in questo contesto un Web Designer italiano, <strong>Diego Valobra</strong>, che sfruttando un framework diffuso come <a title="jQuery - official site" href="http://jquery.com/">jQuery</a> ha realizzato un plugin pronto all&#8217;uso.</p>
<p>La sua creazione si chiama <a title="Pirobox" href="http://www.pirolab.it/pirobox/"><strong>Pirobox</strong></a>: sul sito potete trovare alcuni semplici esempi, in due varianti di colore (bianco e nero). Mantenendo tutte le caratteristiche dei suoi predecessori, a mio parere è interessante <strong>la possibilità di avere i controlli per scorrere avanti e indietro posizionati esternamente rispetto alle immagini</strong>, un dettaglio che può fare la differenza.</p>
<p>Se volete saperne di più sul suo creatore, <strong>ho chiesto a Diego i motivi che l&#8217;hanno spinto a realizzare un clone di Lightbox</strong>, questa è stata la sua risposta:</p>
<blockquote><p>Qualche mese fa ho iniziato ad interessarmi al framework <em>jQuery</em>, non tanto per sfruttare il &#8220;già fatto&#8221;,visto che di plugin come sai è piena la rete, quanto per creare effetti su misura ai siti su cui lavoro.</p>
<p>Credo fermamente che la creatività di un web designer non debba limitarsi al creare un layout in psd, tagliarlo, montarlo e farne il debug, ma debba spaziare attraverso il web developing il più possibile. Con questo intendo dire che i codici usati per rendere visibile ciò che si è creato in Photoshop o in Illustrator, devono stare al web designer come la grammatica sta ad uno scrittore. Mi è sembrato quindi inevitabile fare una full immersion nel mondo di ajax, e Pirobox ne è il frutto.</p>
<p>Voglio aggiungere che non sono un programmatore, ma essenzialmente un web designer, per questo nel creare Pirobox ho dovuto supplire alla mancanza di nozioni javascript con la mia creatività. Faccio un&#8217;esempio.<br />
Per creare la navigazione nella gallery, quindi i tasti <em>next</em> e <em>previous</em>, tutti&#8230; e dico tutti quelli che prima di me hanno creato una qualsiasi tipo di image gallery hanno usato un <em>array</em> con conseguente ciclo <em>for</em>, incremento o decremento dei numeri relativi alle immagini. Io ho semplicemete aggirato l&#8217;ostacolo in maniera creativa, senza voler copiare nessuno (sarebbe stato troppo facile), ho  trovato un escamotage che consiste nell&#8217;aggiungere nell&#8217;html, in fase iniziale di script, due elementi lista:</p>
<p><code>&lt;li class="begin"&gt;&lt;/li&gt;<br />
&lt;li class="end"&gt;&lt;/li&gt;</code></p>
<p>uno all&#8217;inizio della lista che uso per il set di immagini e l&#8217;altro alla fine. Questo permette il controllo sulla lista di immagini evitando di usare un <em>array</em>.</p>
<p>Per l&#8217;incremento e il decremento ho usato un altro trucco che consiste nell&#8217;aggiungere agli elementi lista della gallery adiacenti all&#8217;immagine selezionata due classi <em>start</em> e <em>back</em>, che servono per la navigazione. Ovviamente ci sono anche dei controlli sul primo e sull&#8217;ultimo elemento della lista grazie ai due <em>&lt;li&gt;&lt;/li&gt;</em> aggiunti in precedenza, così una volta arrivati all&#8217;ultima immagine il tasto <em>next</em> sparisce, stessa cosa per il tasto <em>prev</em>.</p>
<p>L&#8217;unico inconveniente, se così possiamo dire visto che il risultato è semanticamente giusto, è che il set di immagini con Pirobox funziona solo se viene usata una lista.</p>
<p>Creare Pirobox è stato stimolante, istruttivo e cosa più importante molto divertente.</p></blockquote>
<p>Potete vedere il portfolio di Diego su <a title="Pirolab" href="http://www.pirolab.it/">Pirolab.it</a>, e tra i suoi vari lavori troverete anche <a title="Diego Valobra" href="http://www.diegovalobra.com/">DiegoValobra.com</a>, un sito che avevo già notato in passato viste le numerose segnalazioni su diverse <em>Web Gallery</em>.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/">PiroBox, visualizzazione di immagini made in Italy</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/pirobox-visualizzazione-immagini-made-in-italy/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Slideshow e gallerie di immagini accessibili</title>
		<link>http://www.tomstardust.com/archives/slideshow-gallerie-di-immagini-accessibili/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=slideshow-gallerie-di-immagini-accessibili</link>
		<comments>http://www.tomstardust.com/archives/slideshow-gallerie-di-immagini-accessibili/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 05:00:17 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[immagini]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=440</guid>
		<description><![CDATA[<p>Le migliori soluzioni JavaScript per realizzare gallerie di immagini accessibili, utilizzando i framework jQuery e Mootools.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/slideshow-gallerie-di-immagini-accessibili/">Slideshow e gallerie di immagini accessibili</a></p>]]></description>
			<content:encoded><![CDATA[<p>Dall&#8217;uscita di Lightbox le soluzioni <strong>JavaScript</strong> per realizzare <strong>gallerie di immagini</strong> si sono moltiplicate: le scelte a disposizione sono innumerevoli, ma non è solo l&#8217;aspetto estetico quello che conta. Molto spesso gli script disponibili in rete sono fin troppo pesanti per il loro scopo, o non tengono presenti gli standard minimi per quanto riguarda l&#8217;accessibilità dei contenuti.</p>
<p>In questo articolo troverete una selezione di alcuni effetti che consentono di creare <strong>gallerie di immagini accessibili</strong>: non intrusivi, degradano nel modo giusto se JavaScript è disabilitato, e si appoggiano a framework già collaudati come jQuery e Mootools. Potrebbero essere migliorati ulteriormente, ma sono un&#8217;ottima base di partenza.</p>
<h3><a title="SmoothGallery" href="http://smoothgallery.jondesign.net/what/">SmoothGallery</a></h3>
<p><a title="SmoothGallery" href="http://smoothgallery.jondesign.net/what/"><img class="size-full wp-image-442 alignnone" title="Smoothgallery" src="http://www.tomstardust.com/wp-content/uploads/2008/11/smoothgallery.jpg" alt="" width="250" height="188" /></a></p>
<p>Soluzione basata sulla libreria <a title="Mootools" href="http://mootools.net/">Mootools</a>, consente di creare slideshow di immagini mettendo a disposizione vari parametri come lo scorrimento automatico ed il tempo riservato ad ogni fotografia. E&#8217; possibile anche avere più set di immagini nella stessa galleria: funzione comoda per risparmiare spazio nella pagina.</p>
<p>In assenza di JavaScript, le immagini appaiono comunque precedute da titolo e descrizione. Il difetto riguarda i controlli, non è infatti possibile scorrere le foto da tastiera.</p>
<h3><a title="Slideshow 2" href="http://www.electricprism.com/aeron/slideshow/">Slideshow 2</a></h3>
<p><a title="Slideshow 2" href="http://www.electricprism.com/aeron/slideshow/"><img class="size-full wp-image-443 alignnone" title="Slideshow 2" src="http://www.tomstardust.com/wp-content/uploads/2008/11/slideshow2.jpg" alt="" width="250" height="238" /></a></p>
<p>Un buon set di effetti a disposizione anche per questo script basato sul framework <a title="Mootools" href="http://mootools.net/">Mootools</a>, che può essere a sua volta esteso con altre funzionalità, come l&#8217;anteprima delle immagini con Lightbox.</p>
<p>Notevole la realizzazione degli esempi: disabilitando JavaScript le funzionalità restano le stesse, spariranno semplicemente le transizioni. Ottimi anche i controlli, non c&#8217;è alcun problema a spostarsi tra le immagini utilizzando anche la tastiera.</p>
<h3><a title="Galleria" href="http://code.google.com/p/galleria/">Galleria</a></h3>
<p><a title="Galleria" href="http://code.google.com/p/galleria/"><img class="size-full wp-image-444 alignnone" title="Galleria" src="http://www.tomstardust.com/wp-content/uploads/2008/11/galleria.jpg" alt="" width="250" height="209" /></a></p>
<p>Probabilmente il migliore tra quelli presentati, questo script si basa su <a title="jQuery" href="http://jquery.com/">jQuery</a> e pesa solamente 4kb. Non è intrusivo, degrada senza problemi in assenza di JavaScript o con i CSS disabilitati e può essere personalizzato facilmente anche nell&#8217;aspetto. Le immagini sono organizzate in una lista nel codice HTML: una soluzione ottimale.</p>
<p>Notevole anche l&#8217;efficienza dello slideshow, perchè le foto vengono caricate e mostrate solo quando disponibili, evitando attese nel momento dell&#8217;interazione.</p>
<p>Se conoscete altre soluzioni accessibili per la creazione di gallerie di immagini segnalatele nei commenti, è sempre utile conoscere le migliori risorse in questo ambito. Potete trovare altri script <a title="Gallerie di immagini: adesso c'è anche Smoothbox" href="http://www.tomstardust.com/archives/gallerie-di-immagini-adesso-ce-anche-smoothbox/">nel mio precedente post</a> dedicato a Lightbox ed ai suoi cloni: se comunque volete uno slideshow accessibile il mio consiglio è di partire dagli script appena illustrati.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/slideshow-gallerie-di-immagini-accessibili/">Slideshow e gallerie di immagini accessibili</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/slideshow-gallerie-di-immagini-accessibili/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ubiquity, comandi personalizzati per Firefox</title>
		<link>http://www.tomstardust.com/archives/ubiquity-comandi-personalizzati-per-firefox/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubiquity-comandi-personalizzati-per-firefox</link>
		<comments>http://www.tomstardust.com/archives/ubiquity-comandi-personalizzati-per-firefox/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 10:30:52 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[browser]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=353</guid>
		<description><![CDATA[<p>Alla scoperta di Ubiquity, plugin dei Mozilla Labs per Firefox, con una semplice guida per creare i propri comandi di ricerca personalizzati.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ubiquity-comandi-personalizzati-per-firefox/">Ubiquity, comandi personalizzati per Firefox</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="right size-full wp-image-354" title="Ubiquity" src="http://www.tomstardust.com/wp-content/uploads/2008/10/ubiquity-logo.jpg" alt="" width="150" height="213" /><strong>Ubiquity</strong> è una delle ultime creazioni dei Mozilla labs: un plugin per Firefox che espande le funzionalità del browser.</p>
<p>Con una semplice combinazione di tasti ( <em>CTRL + spazio</em> su Pc e <em>ALT + spazio</em> su Mac) è possibile aprire un riquadro all&#8217;interno della finestra attiva. Da questo riquadro scrivendo poche lettere si è in grado di fare praticamente qualsiasi cosa tramite un&#8217;<strong>interfaccia a riga di comando</strong>: cercare un termine su Google o Wikipedia, tradurre il contenuto di una pagina, cercare delle immagini su Flickr o un indirizzo su Googlemaps, non ci sono limiti alle operazioni possibili.</p>
<p>I comandi più immediati sono:</p>
<ul>
<li><strong>g</strong>: ricerca su <a title="Google" href="http://www.google.it/">Google</a></li>
<li><strong>w</strong>: ricerca su <a title="Wikipedia" href="http://www.wikipedia.org/">Wikipedia</a></li>
<li><strong>f</strong>: ricerca su <a title="Flickr" href="http://www.flickr.com">Flickr</a></li>
<li><strong>map</strong>: ricerca su <a title="Googlemaps" href="http://maps.google.com">Googlemaps</a> di un indirizzo, se selezionate del testo Ubiquity cercherà direttamente quanto evidenziato</li>
<li><strong>translate</strong>: traduzione del testo evidenziato nella pagina da una qualsiasi lingua all&#8217;inglese, utilissima per lingue sconosciute come il cinese</li>
<li><strong>imdb</strong>: ricerca sull&#8217;<a title="IMDb" href="http://www.imdb.com/">Internet Movie Database</a></li>
<li><strong>twitter</strong>: aggiorna il proprio stato di <a title="Twitter" href="http://www.twitter.com">Twitter</a></li>
</ul>
<p>Fantastica è la possibilità di estendere i commenti presenti, importandoli da altri siti o scrivendoli autonomamente. Per maggiori informazioni vi rimando a <a title="Ubiquity Commands" href="https://wiki.mozilla.org/Labs/Ubiquity/Commands_In_The_Wild">quelli elencati sul sito ufficiale</a> e su questo post dei <a title="Hai già cominciato a parlare con Firefox? - Googlisti" href="http://www.googlisti.com/2008/09/30/hai-gia-cominciato-a-parlare-con-firefox.html">Googlisti</a>.</p>
<h3>Creare comandi personalizzati</h3>
<p>E&#8217; possibile anche creare dei comandi personalizzati per Ubiquity, magari abbinando una parola chiave alla ricerca sul vostro sito web.</p>
<p>Seguendo <a title="Ubiquity search command tutorial" href="http://yonkeltron.com/2008/09/05/ubiquity-search-command-tutorial/">questo tutorial</a> potete realizzare in poche righe un comando che permette di effettuare la ricerca di qualsiasi termine. Una volta realizzato lo script, salvatelo in un file <em>.js</em>, caricatelo sul vostro server e collegatelo ad una pagina con il seguente codice da inserire tra i tag &lt;head&gt; e &lt;/head&gt;:</p>
<p><code>&lt;link rel="commands" href="http://percorso-del-file-js" name="Titolo" /&gt;</code></p>
<p><strong>Potete provare il comando che ho realizzato per tomstardust.com</strong> andando <a title="Ubiquity Commands - TomStardust.com" href="http://www.tomstardust.com/ubiquity/">su questa pagina</a> dopo aver installato Ubiquity. Una volta autorizzato lo script, potrete utilizzare il comando <em>tomstardust</em> per cercare qualsiasi termine su questo sito.</p>
<p>Se a questo punto siete incuriositi da <strong>Ubiquity</strong> e non l&#8217;avete ancora installato, potete farlo <a title="Introducing Ubiquity" href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">dalla pagina ufficiale dei Mozilla Labs</a>, dove trovate anche un video con una dimostrazione pratica.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ubiquity-comandi-personalizzati-per-firefox/">Ubiquity, comandi personalizzati per Firefox</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/ubiquity-comandi-personalizzati-per-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

