<?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>monkey#6 &#187; managing projects</title>
	<atom:link href="http://www.lghinelli.it/blog/tag/managing-projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lghinelli.it/blog</link>
	<description>anca la prescia la vo e su témp</description>
	<lastBuildDate>Mon, 28 Nov 2011 13:41:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>enlarge your elementis</title>
		<link>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/</link>
		<comments>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:23:05 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[buone idee]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[managing projects]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/blog/?p=452</guid>
		<description><![CDATA[Leggilo in italiano (che è meglio) In this article I&#8217;m talking about The Ugly Prototyper a concept idea for a prototyping functionality. When I start a web project sometimes I need to think about the size of the element on a page. You are saying &#8220;never heard about photoshop/fireworks/flair builder/other prototyping software?&#8221; yes, I&#8217;ve done [...]]]></description>
			<content:encoded><![CDATA[<p><a href="#italiano">Leggilo in italiano (che è meglio)</a></p>
<p>In this article I&#8217;m talking about <a href="http://www.lghinelli.it/the-ugly-prototyper" target="_blank">The Ugly Prototyper</a> a concept idea for a prototyping functionality.</p>
<p>When I start a web project sometimes I need to think about the <span class="evidence">size of the element on a page</span>.<br />
You are saying &#8220;never heard about photoshop/fireworks/flair builder/other prototyping software?&#8221; yes, I&#8217;ve done my homework, tryed lot of them and discovered that <strong>none</strong> give me the possibility to <span class="evidence">input a percent of the father</span> element and get a new object of the proper size.</p>
<p>Practically we have to rely <strong>only</strong> on us eyes to decide if the logo (or content area) is big enough.<br />
We put elements on page, size them and only then mathematically calculate their encumbrance (when this happens).<br />
It&#8217;s a <span class="evidence"><strong>trials and errors</strong> method</span>.<br />
I don&#8217;t like at all.</p>
<p>If you are designing with a content-driven method you <strong>have to</strong> decide the right priority of the page elements, I think that a good starting point is to say:&#8221;the content area cannot be less than the 33% of the page, the header must be no bigger than 25%, ads will be 25%&#8221;, visually see it, modify and then (only then) start with the real prototyping and design.</p>
<p>So I developed my tool.<br />
I made it in few nightly hours, sorry, it lacks of functionality and usability.<br />
You have to reload a page if you change the working area size after creating some child and a lots of others problem.<br />
In my excuse: <strong>this is not a release!</strong><br />
<a href="http://www.lghinelli.it/the-ugly-prototyper/" target="_blank">The Ugly Prototyper</a> is on line just to be showed to my friends and to gather opinions</p>
<p><a name="italiano">Italiano:</a><br />
In questo articolo parlo di <a href="http://www.lghinelli.it/the-ugly-prototyper">The Ugly Prototyper</a>, un concept per uno strumento di prototipizzazione.</p>
<p>Ho provato diversi <span class="evidence">software per la prototipizzazione</span> delle pagine web (e più genericamente delle interfacce) e non ho trovato <strong>nessuno</strong> che mi fornisse la possibilità di <span class="evidence">inserire una percentuale</span> ed ottenere in cambio un oggetto della dimensione giusta.<br />
Lo trovo strano, perchè in questo modo per il posizionamento <strong>contiamo solo</strong> sul nostro occhio che potrebbe non essere abbastanza allenato.<br />
Penso che in fase di progettazione, specie se usiamo un <strong>approccio content-driven</strong>, sarebbe un buon punto di partenza poter decidere che l&#8217;header non debba essere più grande del 25%, i contenuti non più piccoli del 33% visualizzandone gli ingombri per <strong>poi</strong> partire con la prototipizzazione ed il design reali.</p>
<p>Nessuno me lo faceva e così ho creato il mio tool.<br />
è stato sviluppato in poche ore notturne, quindi ha parecchi problemi, tra cui che non ha un sacco di funzionalità comode e necessarie, che bisogna ricaricare la pagina se si cambiano le dimensioni dell&#8217;area di lavoro dopo aver già creato almeno un oggetto ed un sacco di altre cose.</p>
<p>A mia discolpa posso dire che <strong>questa non è una release</strong> (e forse non ci sarà mai una release).<br />
<a href="http://www.lghinelli.it/the-ugly-prototyper/" target="_blank">The Ugly Prototyper</a> è messa on line per farsi vedere dagli interessati e raccogliere qualche opinione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/enlarge-your-elementis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>la terza regola di internet</title>
		<link>http://www.lghinelli.it/blog/2009/la-terza-regola-di-internet/</link>
		<comments>http://www.lghinelli.it/blog/2009/la-terza-regola-di-internet/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 23:38:34 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[managing projects]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/lgolb/?p=63</guid>
		<description><![CDATA[Esiste davvero del codice scritto troppo bene per essere vendibile o è un mostro dell&#8217;immaginazione? Nell&#8217;ultimo ufficio dove ho lavorato avevamo una lavagna. Sulla lavagna c&#8217;erano scritte cose utili e cazzate (quasi solo partorite da me), ma soprattutto c&#8217;era segnato anche il nostro decalogo di internet. E&#8217; un decalogo composto da 3 regole, le prime [...]]]></description>
			<content:encoded><![CDATA[<p>Esiste davvero del codice scritto troppo bene per essere vendibile o è un mostro dell&#8217;immaginazione?</p>
<p>Nell&#8217;ultimo ufficio dove ho lavorato avevamo una lavagna.<br />
Sulla lavagna c&#8217;erano scritte cose utili e cazzate (quasi solo partorite da me), ma soprattutto c&#8217;era segnato anche il nostro <strong>decalogo di internet</strong>.</p>
<p>E&#8217; un decalogo composto da 3 regole, le prime due parlano di idraulici e per il momento le lasciamo perdere perchè non siete pronti per qualcosa di così strano, ma la terza invece recita:</p>
<p><em>3. Quanto costa il tuo barattolo di marmellata?</em></p>
<p>Esplica il concetto che <strong>tu</strong> puoi fare anche la marmellata più buona del mondo, <strong>ma</strong> <strong>se</strong>, al barattolo, costa troppo non la venderai <strong>mai</strong>, perciò in base a questa regola la qualità di un lavoro deve essere abbassata finchè il costo della produzione non consente un buon guadagno.</p>
<p>Naturalmente non può essere così perchè se un&#8217;azienda che fa siti web dovesse abbassare la qualità del prodotto fino ad incontrare l&#8217;aspettativa di prezzo dei clienti staremmo ancora facendo siti con il tag <em>marquee</em> (pessimo esempio, io adoro il tag marquee. <a href="http://www.ratticchio.com">Remember, real spartans use tag marquee</a>).</p>
<p>Tra uno scherzo e l&#8217;altro sono stato &#8220;accusato&#8221; di produrre <span style="text-decoration: line-through;">marmellata</span> codice biologico (e quindi troppo costoso) ed io ci ho pensato seriamente su.</p>
<p>Esiste davvero del <em>codice biologico</em>?<br />
Ho deciso di no.<br />
La qualità di un progetto dipende essenzialmente da due fattori: la bontà del codice del programmatore meno abile e la data di scadenza.<br />
è compito di chi progetta il software stabilire quanto tempo ci vuole per sviluppare le features richieste oppure decidere quali features possono essere incastrate nel tempo che viene concesso dall&#8217;alto.<br />
Il <em>codice biologico</em> è un mostro della mente che viene fuori nel momento in cui si vogliono inserire troppe features nel tempo a disposizione.<br />
Mi sembra quindi ovvio che il problema non è né nel codice né nello sviluppatore, ma in chi fissa i tempi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2009/la-terza-regola-di-internet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Progressive enhancement</title>
		<link>http://www.lghinelli.it/blog/2008/progressive-enhancement/</link>
		<comments>http://www.lghinelli.it/blog/2008/progressive-enhancement/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 15:44:57 +0000</pubDate>
		<dc:creator>lghinelli</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[managing projects]]></category>

		<guid isPermaLink="false">http://www.lghinelli.it/lgolb/?p=56</guid>
		<description><![CDATA[A volte mi chiedo se le tecniche di buona programmazione siano applicabili nel mondo reale. Al momento mi sto dedicando a creare un nuovo ramo del mio sito, essendo esso un frutto delle mie personali fissazioni (cfr. &#8220;orizzontale è più leggibile&#8221;) i requisiti sono: la pagina non deve avere alcuno scroll verticale a nessuna risoluzione [...]]]></description>
			<content:encoded><![CDATA[<p>A volte mi chiedo se le tecniche di buona programmazione siano applicabili nel mondo reale.</p>
<p>Al momento mi sto dedicando a creare un nuovo ramo del mio sito, essendo esso un frutto delle mie personali fissazioni (cfr. &#8220;orizzontale è più leggibile&#8221;) i requisiti sono:</p>
<ul>
<li>la pagina non deve avere alcuno scroll verticale a nessuna risoluzione</li>
<li>essere integrato con i vari social network</li>
<li>avere la possibilità di commentare i post (no, non è un blog)</li>
<li>ajax dappertutto perchè a me non piace ricaricare la pagina</li>
<li>essere usabile</li>
</ul>
<p>Questi paletti che ho posto al progetto complicano tutto, perchè se da un lato quello che deve fare la pagina è una banalità (lo vedrete) far interagire tra loro i 5 punti precedenti complica orrendamente la faccenda.</p>
<p>Siccome sono pigro e non voglio perdere un sacco di tempo a correggere bug e ad aggiungere funzionalità a &#8220;oggetti&#8221; non predisposti a riceverle questa volta ho deciso di non commettere l&#8217;errore di farmi trascinare nel programmare la funzione più interessante per poi aggiungervi &#8220;metastasi&#8221; che per funzionare richiedono trucchetti e difettano di solidità.</p>
<p>E&#8217; qui che entra in scena il &#8220;<strong>progressive enhancement</strong>&#8221; di cui si legge tanto in giro e che sto applicando per step:</p>
<ol>
<li>creazione della pagina statica (<em>html/css</em>)</li>
<li>dinamicizzazione della pagina lato server (<em>php</em>)</li>
<li>aggiunta di ajax (<em>javascript/jquery</em>)</li>
</ol>
<p><strong>1. creazione della pagina statica (html/css)</strong></p>
<p>Tenendo in mente che la pagina non deve avere alcuno scroll verticale ho scelto di progettare il layout con tutte le dimensioni espresse in <strong>em</strong> utilizzando <em>font-size:16px</em> ed un&#8217;altezza della finestre di 649px in modo che nel punto 3 del progetto con il javascript dovrò cambiare solo il font-size del body per ridimensionare tutto.</p>
<p>E come ben sapete progettare un layout in <strong>em</strong> è un bagno di sangue (anche se ho trovato un buon sistema che avrà un post in seguito) ed un po&#8217; di tempo è andato.</p>
<p><strong>2. Dinamicizzazione della pagina lato server (php)</strong></p>
<p>Lasciando (ovviamente) inalterato il layout il contenuto della pagina viene creato dinamicamente da funzioni php che restituiscono i dati in base ai parametri ricevuti in <strong>$_GET</strong> dai link, quindi nella pagina vengono inseriti tutti i necessari controlli di flusso</p>
<p><strong>3. Aggiunta di ajax</strong></p>
<p>A me l&#8217;<strong>ajax</strong> piace tanto, infatti oltre a far figo nel mio curriculum aggiunge una dimensione fluida alla navigazione che a mio avviso migliora la fruibilità (meglio una gif &#8220;loading&#8221; o la cesoia della pagina bianca con la clessidra che gira?).</p>
<p>Le funzioni richieste al js sono:</p>
<ul>
<li>cambiare il font-size del body in funzione della dimensione della finestre (in questo caso: <em>$(window).heigth()/40</em> (<em>jquery</em>)</li>
<li>intercettare i click dell&#8217;utente sui link e trasformali da &#8220;<em>hey browser segui quel link</em>&#8221; a &#8220;<em>hey browser <strong>XMLHttpRequest</strong> con questi parametri</em>&#8220;.</li>
<li>segnalare all&#8217;utente che le sue azioni intercettate dal js non sono cadute nel niente, ma stanno eseguendosi</li>
</ul>
<p>Se siamo tutti d&#8217;accordo nel dire che un progetto web sviluppato da un professionista richiede (almeno):</p>
<ul>
<li>una <strong>totale</strong> separazione tra layout, contenuto e codice, perchè così ognuno fa il suo mestiere senza disturbare gli altri (l&#8217;epoca del one man show sul web è finita assieme agli anni &#8217;90)</li>
<li>&#8220;<strong>graceful degradation</strong>&#8220;, perchè nel 2008 ancora qualcuno gira con javascript e flash disabilitati (paranoici!)</li>
<li><strong>mantenibilità nel tempo</strong>, perchè non vogliamo mettere noi stessi ed in nostri colleghi in difficoltà tra 3 mesi vero?</li>
</ul>
<p>scopriamo che i 3 step elencati sopra ci consentono di ottenere quasi automaticamente queste 3 caratteristiche, infatti la graceful degradation è garantita dal fatto che ogni strato è stato programmato in maniera da funzionare autonomamente, la mantenibilità è garantita dalla progettazione che abbiamo dovuto per forza fare per separare gli strati mentre la totale separazione è garantita solo se abbiamo fatto i bravi nella costruzione delle funzioni php (se parliamo di me diciamo che ancora non sono un campione in questo).</p>
<p>Ecco descritto quindi il <strong>progressive enhancement</strong> in salsa lghinelli, nel mio progetto e nel mio tempo libero sta funzionando ed anche bene, ma quanto tempo ci vuole in più a sviluppare un progetto in questo modo?</p>
<p>Non ne ho idea, ma  sono quasi sicuro non ci voglia del tempo in più, a patto che tutte le persone coinvolte nel progetto siano concordi nell&#8217;applicare il metodo e perciò non cerchino scorciatoie facili.</p>
<p>Il problema è quindi squisitamente umano piuttosto che tecnico:</p>
<p>saranno disposti i membri del team di sviluppo a modificare le abitudini che si sono incrostate in una vita?</p>
<p>E sarà disposto l&#8217;uomo che sgancia i soldi ad investire nella formazione sapendo che sicuramente il primo progetto sviluppato in questo modo avrà degli intoppi?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lghinelli.it/blog/2008/progressive-enhancement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

