<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Matteo Bicocchi&#039;s Blog &#187; css</title>
	<atom:link href="http://pupunzi.open-lab.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://pupunzi.open-lab.com</link>
	<description>mb.ideas.repository</description>
	<lastBuildDate>Sun, 12 Feb 2012 12:39:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pupunzi.open-lab.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/f84717aa2c4a99c6f997904a49e41a68?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Matteo Bicocchi&#039;s Blog &#187; css</title>
		<link>http://pupunzi.open-lab.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pupunzi.open-lab.com/osd.xml" title="Matteo Bicocchi&#039;s Blog" />
	<atom:link rel='hub' href='http://pupunzi.open-lab.com/?pushpress=hub'/>
		<item>
		<title>(mb)buttons (just css)</title>
		<link>http://pupunzi.open-lab.com/2009/04/27/mbbuttons/</link>
		<comments>http://pupunzi.open-lab.com/2009/04/27/mbbuttons/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 21:41:07 +0000</pubDate>
		<dc:creator>Matteo Bicocchi</dc:creator>
				<category><![CDATA[graphic design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css buttons]]></category>
		<category><![CDATA[mbButtons]]></category>
		<category><![CDATA[sliding doors]]></category>

		<guid isPermaLink="false">http://pupunzi.wordpress.com/?p=580</guid>
		<description><![CDATA[An alternative to the ugly default buttons Build your own custom buttons easily just with CSS using the sliding doors technique! demo page: http://www.open-lab.com/mb.ideas/index.html#mbbuttons download page: http://www.open-lab.com/mb.ideas/demo/jquery.mbButtons/jquery.mbButtons.zip<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupunzi.open-lab.com&amp;blog=6146833&amp;post=580&amp;subd=pupunzi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-581" title="buttons" src="http://pupunzi.files.wordpress.com/2009/04/buttons.png?w=640" alt="buttons"   /></p>
<h3>An alternative to the ugly default buttons</h3>
<p>Build your own custom buttons easily just with CSS using the <a href="http://www.gdesign.it/pages/howto/articoli/slidcss/slidcss.php" target="_blank">sliding doors</a> technique!</p>
<p><strong>demo page: </strong><a title="http://www.open-lab.com/mb.ideas/index.html#mbContainerPlus" href="http://www.open-lab.com/mb.ideas/index.html#mbbuttons" target="_blank"></p>
<p>http://www.open-lab.com/mb.ideas/index.html#mbbuttons</a></p>
<p><strong>download page:</strong></p>
<p><strong></strong><a href="http://www.open-lab.com/mb.ideas/demo/jquery.mbButtons/jquery.mbButtons.zip"><span class="external"> http://www.open-lab.com/mb.ideas</span>/demo/jquery.mbButtons/jquery.mbButtons.zip</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupunzi.wordpress.com/580/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupunzi.wordpress.com/580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupunzi.wordpress.com/580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupunzi.open-lab.com&amp;blog=6146833&amp;post=580&amp;subd=pupunzi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupunzi.open-lab.com/2009/04/27/mbbuttons/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03604fe1ab8aedd7fd69ba097439593c?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">pupunzi</media:title>
		</media:content>

		<media:content url="http://pupunzi.files.wordpress.com/2009/04/buttons.png" medium="image">
			<media:title type="html">buttons</media:title>
		</media:content>
	</item>
		<item>
		<title>web 2.0 GUI &#8211; Graphic User Interface</title>
		<link>http://pupunzi.open-lab.com/2009/01/16/gui/</link>
		<comments>http://pupunzi.open-lab.com/2009/01/16/gui/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 23:10:34 +0000</pubDate>
		<dc:creator>Matteo Bicocchi</dc:creator>
				<category><![CDATA[graphic design]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[graphic user interface]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[more than icons]]></category>
		<category><![CDATA[open lab]]></category>
		<category><![CDATA[teamwork]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://pupunzi.wordpress.com/?p=19</guid>
		<description><![CDATA[Uno dei core business di Open Lab è focalizzato sulla realizzazione di applicazioni web based (teamwork ne è un esempio). La parte di sviluppo delle interfacce GUI (Graphic User Interface) ha un ruolo fondamentale nel successo di qualsiasi applicazione, tantopiù se questa è fruibile attraverso un browser. Occupandomi di graphic design, questo aspetto mi affascina&#160;&#8230; <a href="http://pupunzi.open-lab.com/2009/01/16/gui/">Read&#160;more</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupunzi.open-lab.com&amp;blog=6146833&amp;post=19&amp;subd=pupunzi&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-81" title="screenshot_00051" src="http://pupunzi.files.wordpress.com/2009/01/screenshot_00051.jpg?w=640" alt="screenshot_00051"   /></p>
<p>Uno dei <em>core business</em> di <a href="http://www.open-lab.com" target="_blank">Open Lab</a> è focalizzato sulla realizzazione di applicazioni <em>web based</em> (<a href="http://www.twproject.com" target="_blank">teamwork</a> ne è un esempio).</p>
<p>La parte di sviluppo delle interfacce GUI (<strong>Graphic User Interface</strong>) ha un ruolo fondamentale nel successo di qualsiasi applicazione, tantopiù se questa è fruibile attraverso un browser.<br />
Occupandomi di <em>graphic design,</em> questo aspetto mi affascina e mi interessa in maniera particolare (Open Lab ha un sito dedicato: <a href="http://www.morethanicons.com" target="_blank">More than Icons</a>).</p>
<p>Oggi è inpensabile scindere gli aspetti di interazione tra &#8220;chi utilizza&#8221; e &#8220;ciò che è utilizzato&#8221; (è anche questo un interessante tema di comunicazione); un designer non solo deve avere una cultura teorica sull&#8217;argomento (e già questo aspetto implica un attenzione ed una sensibilità rivolta al contemporaneo); ma deve conoscere gli strumenti che le tecnologie e le nuove tecnologie mettono a disposizione per la realizzazione di strumenti e metodi di fruizione delle interfacce.</p>
<p><span style="color:#808080;"><em>One of the core businesses of <a href="http://www.open-lab.com" target="_blank">Open Lab</a> is building web based applications (<a href="http://www.twproject.com" target="_blank">teamwork</a> is an example).<br />
Development of web based GUI (Graphic User Interface) today plays a key role in the success of any application, especially if it is available through a browser.  Graphic design fascinates me, particularly when combined with usability (see our web site: <a href="http://www.morethanicons.com" target="_blank">More than Icons</a>).<br />
Today it is unthinkable to separate aspects of interaction between &#8220;those who use&#8221; and &#8220;what is used”  (this is also an interesting theme of communication), a designer must not only have technological background  (and this already implies a sensitivity and attention devoted to the contemporary), but must also know the tools that new technologies provide for the creation of usable interfaces.</em></span></p>
<p><span id="more-19"></span>Per le applicazioni realizzate in ambiente web (quello che ora viene chiamato <strong>Web 2.0</strong>), che sempre più stanno assumendo un ruolo centrale nello sviluppo informatico, stiamo assistendo a sanguinose battaglie per l&#8217;affermazione degli standard comportamentali dei browser di fruizione; anche l&#8217;indiscusso protagonista IE (che fino ad oggi ha imposto in maniera arrogante i suoi standard proprietari, costringendo chi come me si occupa di programmazione di interfacce web a frustrazioni e sforzi disumani per far sì che le interfacce siano coerenti su tutti  i browsers) si stà allineando agli standard del <strong>W3C </strong>e <strong>ECMA</strong>, rendendo tutti un po&#8217; più felici.</p>
<p>Gli strumenti per realizzare interfacce in ambiente web, a prescindere dall&#8217;ambiente in cui l&#8217;applicazione è stata sviluppata <em>server side</em>, sono tendenzialmente 2: L&#8217;<a href="http://it.wikipedia.org/wiki/HTML" target="_self"><strong>HTML </strong>o<strong> XHTML</strong></a> (<strong>HyperText Markup Language</strong><strong></strong>) per la gestione della strutura dei contenuti ed il <strong><a href="http://it.wikipedia.org/wiki/Foglio_di_stile" target="_blank">CSS</a> </strong>(<strong>Cascading Style Sheet</strong>) per la loro visualizzazone. A questi si aggiunge l’<a href="http://it.wikipedia.org/wiki/JavaScript" target="_blank"><strong>ECMAscript</strong></a> (<strong>javascript</strong>) per la manipolazione del DOM (struttura della pagina) e dei suoi contenuti.</p>
<p>Ci sono inoltre elementi realizzati con <em>codice compilato </em>che possono essere inglobati nelle pagine e per i quali sono richiesti plug in <em>client side </em>per la loro fruizione; tra questi, il linguaggio più utilizzato è senza dubbio l’<strong><a href="http://it.wikipedia.org/wiki/ActionScript" target="_blank">actionScript</a> </strong>in ambiente <strong>Flash </strong>o <strong>Flex </strong>di <strong>Adobe</strong> ®.<br />
Inoltre, per la fruizione contestuale di oggetti multimediali quali filmati, audio, documenti pdf, oggetti 3D e quant&#8217;altro, ogni <em>softwarehouse </em>(Adobe®, Apple®, Microsoft®, etc.) ha implementato <em>plug in</em> proprietari per integrare la loro tecnologia all&#8217;interno del&#8217;ambiente web. Il maggior difetto di questi componenti è quello appunto di essere codice <em>compilato</em> e non <em>interpretato</em> per cui l&#8217;iterazione tra oggetti diversi su una stessa pagina non è esplicita e gli eveti non sono condivisi.</p>
<p>Il <strong>Web 2.0</strong> differisce dalla precedente gestione delle pagine web fondamentalmente per due aspetti:</p>
<ol>
<li>La manipolazione degli oggetti del DOM a seguito di eventi scatenati dall&#8217;utente <em>(mouse click, mouse hover, mouse out,  change, time events,  etc.).</em></li>
<li>La possibilità di modificare il contesto dei contenuti a seguito di richieste specifiche <em>server side</em>, senza dover ricaricare interamente il contenuto della pagina, tramite la tecnologia <a href="http://it.wikipedia.org/wiki/AJAX" target="_blank">Ajax</a> (<strong>Asynchronous JavaScript and XML</strong>).</li>
</ol>
<p>La tendenza generale è quindi quella di utilizzare quanto più possibile i linguaggi <em>interpretati</em> (javascript, HTML e CSS) per la realizzazione delle interfacce così da poter condividere gli eventi e modificarne i contenuti attraverso codice espresso direttamente sulla pagina o su files a questa collegati.</p>
<p>Tutto questo si scontra comunque con le diverse specificità dei browser utilizzati per fruire dei contenuti web (in realtà le specificità sono 2: IE da un lato, tutti gli altri dall&#8217;altro!!).<br />
Come già detto, a differenza di browser come <strong>Firefox </strong>(basato su motore<strong> Mozilla</strong>), <strong>Safari</strong> e l&#8217;ultimissimo nato <strong>Chrome </strong>(basati su motore <strong>webkit</strong>), <strong>Opera</strong> ed altri che hanno sposato l&#8217;idea di seguire <strong>standard comuni</strong> per l&#8217;interpretazione del codice e degli eventi scaturiti; rimane <strong>IE </strong>(Internet Explorer) di Microsoft®, che da solo ricopre poco meno del 50% dell&#8217;utenza e quindi non può essere tenuto di poco conto (anche se se lo meriterebbe!) che cerca di dettare standard proprietari (sia per l&#8217;interpretazione degli eventi, sia per gli aspetti grafici) in netto conflitto con gli altri (<a href="http://maxb.net/blog/2008/06/17/blacknwhite/">http://maxb.net/blog/2008/06/17/blacknwhite/</a>), facendo sì che il codice necessario alla realizzazione dell&#8217;interfaccia, sia visiva che comportamentale, debba essere sottoposto a costanti verifiche di funzionamento e <em>sporcato</em> per far sì che l&#8217;applicazione sia coerente su tutte le piattaforme di fruizione.</p>
<p>Per far fronte a questo inconveniente, almeno per l&#8217;aspetto comportamentale, sono nate delle <strong>API</strong> (Application Programming Interface) basate su javascript che permettono allo sviluppatore di scavalcare i problemi di compatibilità tra interpreti delegando ai propri metodi la verifica e la gestione delle differenze di codice necessario; hanno inoltre linearizzato i metodi di analisi del DOM e implementato metodi di gestione di eventi e metodi di gestione Ajax.</p>
<p>Questo ha facilitato talmente la programmazione da far sviluppare in poco tempo interfacce che fino a soli 2 o 3 anni fà sarebbero state irrealizzabili.</p>
<p>Le librerie più utilizzate oggi sono <a href="http://www.prototypejs.org/" target="_blank">Prototype</a>, <a href="http://www.mootools.net/" target="_blank">Mootools</a>, <a href="http://dojotoolkit.org" target="_blank">Dojo</a>, <a href="http://www.jquery.com" target="_blank">jQuery</a>; ognuna di queste ha dei buoni motivi per essere usata, comunque io ho sposato <strong>jQuery</strong> che ha, a mio parere, un approccio meno invasivo nella manipolazione del dom e degli eventi, una forte comunity che alimenta costantemente lo spettro di applicazioni, esempi e tutorials, ed è veramente <em>write less get more</em>.</p>
<p>Alcuni link utili di comparazione fra jQuery e le altre API:</p>
<ul>
<li><a href="http://ajaxian.com/archives/prototype-and-jquery-a-code-comparison" target="_blank">Prototype and jQuery: A code comparison</a></li>
<li><a href="http://jquery.com/blog/2006/08/20/why-jquerys-philosophy-is-better/" target="_blank">Why jQuery’s Philosophy is Better</a></li>
<li><a href="http://alternateidea.com/blog/articles/2006/08/23/jquery-mis-leading-the-pack" target="_blank">jQuery: (Mis)leading the Pack</a></li>
<li><a href="http://www.ja-sig.org/wiki/display/UP3/Javascript+Toolkit+Comparison" target="_blank">Javascript Toolkit Comparison</a></li>
<li><a href="http://jquery.com/blog/2006/10/18/zebra-table-showdown/" target="_blank">Zebra Table Showdown</a></li>
<li><a href="http://jquery.com/blog/2006/04/29/event-selector-showdown/" target="_blank">Event Selector Showdown</a></li>
</ul>
<p>Per concludere, la ricerca nell’ambito dell&#8217;usablità applicativa è in continua evoluzione ed offre grandi spazi creativi; pubblicherò in seguito alcuni componenti che ho realizzato per le nostre applicazioni.</p>
<p>Intanto, se volete, potete andare a vedere <a href="http://www.open-lab.com/mb.ideas/index.html" target="_blank">mb.ideas.repository</a>, un sito che ho realizzato per la pubblicazione dei miei compnenti javascript.</p>
<p>Per  informazioni sulla storia della Graphical User Interface dei sisemi operativi :</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/History_of_the_graphical_user_interface" target="_blank">http://en.wikipedia.org/wiki/History_of_the_graphical_user_interface</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pupunzi.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pupunzi.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pupunzi.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pupunzi.open-lab.com&amp;blog=6146833&amp;post=19&amp;subd=pupunzi&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pupunzi.open-lab.com/2009/01/16/gui/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/03604fe1ab8aedd7fd69ba097439593c?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">pupunzi</media:title>
		</media:content>

		<media:content url="http://pupunzi.files.wordpress.com/2009/01/screenshot_00051.jpg" medium="image">
			<media:title type="html">screenshot_00051</media:title>
		</media:content>
	</item>
	</channel>
</rss>
