<?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>Alessandro Benedetti</title>
	<atom:link href="http://www.alessandrobenedetti.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alessandrobenedetti.com</link>
	<description></description>
	<lastBuildDate>Tue, 11 Jan 2011 11:22:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	

<!-- Debugging help, do not remove -->
<meta name="Framework" content="Kpress" />
<meta name="Theme Version" content="1.1" />
<meta name="Framework Version" content="1.1" />


		<item>
		<title>Gestione e controllo qualità dei propri lavori</title>
		<link>http://www.alessandrobenedetti.com/gestione-e-controllo-qualita-dei-propri-lavori/</link>
		<comments>http://www.alessandrobenedetti.com/gestione-e-controllo-qualita-dei-propri-lavori/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 08:48:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[controllo gestione]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gestione progetti]]></category>
		<category><![CDATA[gratuito]]></category>
		<category><![CDATA[quality control]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=188</guid>
		<description><![CDATA[Ultimamente la mole di lavoro mi ha tenuto purtroppo lontano da questo blog. Per fortuna che ottimizzare la propria organizzazione porta sempre dei benefici. Seguo diversi lavori contemporaneamente e tentare di fare &#8220;mente locale&#8221; ogni qual volta passo da un lavoro all&#8217;altro è sempre complicato. Per mia fortuna mi sono imposto, sin dall&#8217;inizio, di scrivere [...]]]></description>
			<content:encoded><![CDATA[<p>Ultimamente la mole di lavoro mi ha tenuto purtroppo lontano da questo blog.</p>
<p><strong>Per fortuna che ottimizzare la propria organizzazione porta sempre dei benefici.</strong></p>
<p>Seguo diversi lavori contemporaneamente e tentare di fare &#8220;mente locale&#8221; ogni qual volta passo da un lavoro all&#8217;altro è sempre complicato. Per mia fortuna mi sono imposto, sin dall&#8217;inizio, di scrivere tutto quanto e quindi mi basta una lettura veloce per ricordarmi a che punto del lavoro ero arrivato. L&#8217;unico inconveniente di questo approccio è che non ho mai utilizzato un software per la gestione dei propri progetti e mi sono sempre affidato a dei semplici file Microsoft Word oppure ai task in Visual Studio.<span id="more-188"></span><a href="http://www.alessandrobenedetti.com/wp-content/uploads/2010/09/quality-control.png"><img class="aligncenter size-medium wp-image-189" title="quality-control" src="http://www.alessandrobenedetti.com/wp-content/uploads/2010/09/quality-control-300x220.png" alt="" width="300" height="220" /></a></p>
<p>Le limitazioni di questo approccio sono evidenti: perdo un sacco di tempo a formattare i testi per capire cosa ho fatto e cosa devo fare e non posso tenere un unico file per tutti i miei progetti. Inoltre non riesco facilmente a capire quante ore lavoro ho speso per ogni progetto.</p>
<p>Ho cominciato quindi a guardami in giro per capire se esistesse un software, preferibilmente gratuito, che mi permettesse di migliorare l&#8217;ordine delle mie commesse.</p>
<p>Per farla breve, ho trovato <a title="Wordpress Quality Control" href="http://getqualitycontrol.com/">Quality Control</a>, un ottimo <strong>tema di wordpress</strong> che permette una gestione base, ma efficace dei propri progetti. Il tema è gratuito, esattamente come WordPress, e quindi in pochissimi passi (io ci ho impiegato circa 10 minuti) potete avere un sistema di gestione della qualità dei propri progetti online.</p>
<p><a title="Wordpress Quality Control" href="http://getqualitycontrol.com/">Quality Control</a> permette di separare i lavori per progetti, per milestone (cioè versioni diverse dello stesso progetto), per categorie e per stato (<em>urgente, bug, completato, &#8230;</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/gestione-e-controllo-qualita-dei-propri-lavori/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il mio primo codice in vendita</title>
		<link>http://www.alessandrobenedetti.com/il-mio-primo-codice-in-vendita/</link>
		<comments>http://www.alessandrobenedetti.com/il-mio-primo-codice-in-vendita/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 08:23:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Librerie .NET]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[CodeCanyon]]></category>
		<category><![CDATA[force download]]></category>
		<category><![CDATA[forzare download]]></category>
		<category><![CDATA[libreria]]></category>
		<category><![CDATA[NDownloadCounter]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=175</guid>
		<description><![CDATA[Ho avuto oggi il piacere di ricevere la notizia che la mia prima piccola libreria è stata accettata dal Marketplace CodeCanyon. La libreria, chiamata NDownloadcounter, è molto semplice. Si tratta di una libreria .NET (scritta in C# per la precisione), che permette di far scaricare dal browser qualsiasi tipo di file conteggiando in un database [...]]]></description>
			<content:encoded><![CDATA[<p>Ho avuto oggi il piacere di ricevere la notizia che la mia prima piccola libreria è stata accettata dal Marketplace <a title="CodeCanyon NDownloadCounter" href="http://codecanyon.net/item/ndownloadcounter/107643" target="_blank">CodeCanyon</a>.</p>
<p>La libreria, chiamata <strong><a title="NDownloadCounter" href="http://codecanyon.net/item/ndownloadcounter/107643" target="_blank">NDownloadcounter</a></strong>, è molto semplice. Si tratta di una libreria .NET (scritta in C# per la precisione), che permette di far scaricare dal browser qualsiasi tipo di file conteggiando in un database SQLite il numero di download effetti per ogni singolo file.<span id="more-175"></span></p>
<p><a href="http://www.alessandrobenedetti.com/wp-content/uploads/2010/06/2_Download_Files.png"><img class="aligncenter size-medium wp-image-176" title="NDownloadCounter Screenshot" src="http://www.alessandrobenedetti.com/wp-content/uploads/2010/06/2_Download_Files-300x170.png" alt="" width="300" height="170" /></a></p>
<p>La <a title="NDownloadCounter" href="http://codecanyon.net/item/ndownloadcounter/107643" target="_blank">libreria</a> permette inoltre di specificare le estensioni dei file che non possono essere scaricati così da proteggere l&#8217;eventuale tentivo di download di file .aspx, .cs, .config, .mdf, ecc&#8230;</p>
<p>La <a title="NDownloadCounter" href="http://codecanyon.net/item/ndownloadcounter/107643" target="_blank">libreria</a> è in vendita per soli 7 dollari e comprende anche una documentazione completa e tutto il codice sorgente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/il-mio-primo-codice-in-vendita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending ExtJs &#8211; Seconda parte</title>
		<link>http://www.alessandrobenedetti.com/extending-extjs-seconda-parte/</link>
		<comments>http://www.alessandrobenedetti.com/extending-extjs-seconda-parte/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 10:57:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ExtJs]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ext.window]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[lazy load]]></category>
		<category><![CDATA[scope]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=159</guid>
		<description><![CDATA[Settimana scorsa ho scritto un breve post che spiegava come estendere una classe ExtJs per crearne una propria. Oggi vi voglio mostrare come ho modificato quell&#8217;esempio per rendere ancora più semplice il mio lavoro. Le problematiche infatti dell&#8217;esempio della scorsa settimana erano legate per lo più all&#8217;impossibilità di validare l&#8217;intera form e soprattutto l&#8217;impossibilità di [...]]]></description>
			<content:encoded><![CDATA[<p>Settimana scorsa ho scritto <a title="Extending ExtJs" href="http://www.alessandrobenedetti.com/extending-extjs/">un breve post</a> che spiegava come estendere una classe <a title="ExtJs" href="http://www.extjs.com/" target="_blank">ExtJs</a> per crearne una propria.</p>
<p>Oggi vi voglio mostrare come ho modificato quell&#8217;esempio per rendere ancora più semplice il mio lavoro.<span id="more-159"></span></p>
<p>Le problematiche infatti dell&#8217;esempio della scorsa settimana erano legate per lo più all&#8217;impossibilità di validare l&#8217;intera form e soprattutto l&#8217;impossibilità di chiudere la finestra.</p>
<pre name="code" class="javascript">var ContactForm = Ext.extend(Ext.Window, {
    width: '400',
    modal: true,
    title: 'Nuovo Contatto',
    layout: 'fit',
    projectId: 0,
    frame: true,

    initComponent: function () {

        this.items = [{
            xtype: 'form',
            layout: 'form',
            height: 350,
            ref: 'form',
            buttonAlign: 'right',
            defaults: {
                anchor: '-20'
            },
            frame: true,
            bodyStyle: 'padding:5px',
            items: [{
                xtype: 'textfield',
                id: 'company',
                ref: 'company',
                fieldLabel: 'Societ&agrave;',
                allowBlank: false
            },
            {
                xtype: 'textfield',
                id: 'webSiteAddress',
                ref: 'webSiteAddress',
                fieldLabel: 'Sito web',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'emailAddress',
                ref: 'emailAddress',
                fieldLabel: 'E-Mail',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'address',
                ref: 'address',
                fieldLabel: 'Indirizzo',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'zip',
                ref: 'zip',
                fieldLabel: 'CAP',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'city',
                ref: 'city',
                fieldLabel: 'Citt&agrave;',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'province',
                ref: 'province',
                fieldLabel: 'Provincia',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'phoneNumber',
                ref: 'phoneNumber',
                fieldLabel: 'Telefono',
                allowBlank: true
            },
            {
                xtype: 'textfield',
                id: 'faxNumber',
                ref: 'faxNumber',
                fieldLabel: 'Fax',
                allowBlank: true
            }

            ],
            fbar: {
                xtype: 'toolbar',
                items: [{
                    xtype: 'button',
                    text: 'Inserisci',
                    scope: this,
                    minWidth: 75,
                    iconCls: 'person-new',
                    handler: this.onSubmit
                }]
            }
        }];

        ContactForm.superclass.initComponent.call(this, arguments);

    },

    onSubmit: function () {
        var msgMask = Ext.MessageBox.wait('Attendere prego...');

        if (this.form.getForm().isValid()) {
            DirectContacts.AddPerson(
            parseInt(this.projectId),
            this.form.company.getValue(),
            this.form.webSiteAddress.getValue(),
            this.form.emailAddress.getValue(),
            this.form.address.getValue(),
            this.form.zip.getValue(),
            this.form.city.getValue(),
            this.form.province.getValue(),
            this.form.phoneNumber.getValue(),
            this.form.faxNumber.getValue(),),
            function (result, e) {
                if (result.success) {
                    Ext.MessageBox.hide();

                    new Ext.ux.Notification({
                        iconCls: 'x-icon-information',
                        title: 'Contatto inserito',
                        html: 'Il contatto è stato inserito correttamente.',
                        autoDestroy: true,
                        hideDelay: 3000
                    }).show(document);
                }
                else {
                    Ext.MessageBox.show({
                        title: 'Errore',
                        msg: result.error,
                        buttons: Ext.MessageBox.OK,
                        animEl: 'submitButton',
                        icon: Ext.MessageBox.ERROR
                    });
                }

                this.close();
            }, this);
        }
        else {
            Ext.MessageBox.hide();

            new Ext.ux.Notification({
                iconCls: 'x-icon-error',
                title: 'Contatto non inserito',
                html: 'Compilare tutti i campi obbligatori.',
                autoDestroy: true,
                hideDelay: 3000
            }).show(document);
        }
    }
});

// register xtype to allow for lazy initialization
Ext.reg('mcContactForm', ContactForm);</pre>
<p>Da notare è soprattutto il <strong><em>this</em></strong> (alla riga 142) inserito come ultimo parametro nella chiamata al metodo DirectContacts.AddPerson (di tipo Ext.Direct). Il <strong><em>this </em></strong>è lo scope della funzione <em>handler </em>e pertanto all&#8217;interno della funzione posso chiamare <strong><em>this.close()</em></strong> per chiudere la <strong><em>Ext.Window</em></strong>.</p>
<p>Ho perso più di un ora per capire come funzionassero gli <strong><em>scope </em></strong>in ExtJs; senza quel <strong><em>this </em></strong>infatti <em>l&#8217;handler </em>tentava di chiudere la finestra del browser!</p>
<p>Potete poi vedere che ho sostituito le dichiarazioni esplicite di oggetti (<em>new TextField</em> per esempio) con la loro controparte in <em>LazyLoading</em>. Questa modifica mi permette di caricare in memoria quegli oggi solo quando realmente necessari, rendendo il codice javascript dell&#8217;applicazione più veloce.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/extending-extjs-seconda-parte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fondermetal</title>
		<link>http://www.alessandrobenedetti.com/fondermetal/</link>
		<comments>http://www.alessandrobenedetti.com/fondermetal/#comments</comments>
		<pubDate>Fri, 28 May 2010 08:23:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavori]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[applcaizione]]></category>
		<category><![CDATA[file manager]]></category>
		<category><![CDATA[fondermetal]]></category>
		<category><![CDATA[lavori]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=150</guid>
		<description><![CDATA[La società Fondermetal opera nel campo della pressofusione dal oltre 20 anni. Dotata di un proprio ufficio tecnico risulta essere una importantissima società a livello nazionale ed internazionale nei seguenti settori: Getti pressofusi in zama Stampaggio materie plastiche Lavorazioni meccaniche Verniciatura e trattamenti speciali Qualità Per il cliente è stato realizzato un sito parzialmente dinamico [...]]]></description>
			<content:encoded><![CDATA[<p>La società <a href="http://www.fondermetal.com" target="_blank">Fondermetal</a> opera nel campo della pressofusione dal oltre 20 anni. Dotata di un proprio ufficio tecnico risulta essere una importantissima società a livello nazionale ed internazionale nei seguenti settori:<span id="more-150"></span></p>
<ul>
<li>Getti pressofusi in zama</li>
<li>Stampaggio materie plastiche</li>
<li>Lavorazioni meccaniche</li>
<li>Verniciatura e trattamenti speciali</li>
<li>Qualità</li>
</ul>
<p>Per il cliente è stato realizzato un <a href="http://www.fondermetal.com" target="_blank">sito</a> parzialmente dinamico per quanto riguarda i contenuti nel fronte-end disponibile al pubblico.</p>
<p>Inoltre è stato realizzato un complesso sistema di gestione di file condivisi con i propri clienti e fornitori per fornire e ricevere documentazione relativa ai prodotti da stampare.</p>
<p>Il sito è stato realizzato interamente in Microsoft.NET e sfrutta diverse tecnologie tra le quali una gestione avanzata della cache e della localizzazione dei contenuti (il sito è infatti tradotto in 4 lingue).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/fondermetal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending ExtJs</title>
		<link>http://www.alessandrobenedetti.com/extending-extjs/</link>
		<comments>http://www.alessandrobenedetti.com/extending-extjs/#comments</comments>
		<pubDate>Tue, 25 May 2010 13:55:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[ExtJs]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[ext.window]]></category>
		<category><![CDATA[extend]]></category>
		<category><![CDATA[extjs]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=115</guid>
		<description><![CDATA[ExtJs è uno stupendo framework per lo sviluppo di applicazioni web. Purtroppo, come ogni javascript framework, ha lo svantaggio di utilizzare un linguaggio, javascript appunto, che non è certamente comodissimo per mantenere pulito e manutenibile il codice. Per fortuna ExtJs, grazie all&#8217;utilizzo esteso di classi Javascript, è facilmente estensibile così da creare blocchi di codice [...]]]></description>
			<content:encoded><![CDATA[<div>
<p style="text-align: center;"><a href="http://www.alessandrobenedetti.com/wp-content/uploads/2010/05/extjs-windows.png"><img class="aligncenter size-medium wp-image-138" style="margin-left: 30px; margin-right: 30px;" title="ExtJs" src="http://www.alessandrobenedetti.com/wp-content/uploads/2010/05/extjs-windows-300x234.png" alt="" width="300" height="234" /></a></p>
<p>ExtJs è uno stupendo framework per lo sviluppo di applicazioni web. Purtroppo, come ogni javascript framework, ha lo svantaggio di utilizzare un linguaggio, javascript appunto, che non è certamente comodissimo per mantenere pulito e manutenibile il codice.</p>
<p>Per fortuna ExtJs, grazie all&#8217;utilizzo esteso di classi Javascript, è facilmente estensibile così da creare blocchi di codice da riutilizzare nella propria applicazione e quindi scrivere più file ma con minore numero di righe (ed ogni sviluppatore sa come è difficile mantenere ordinati file contenenti qualche centinaio di righe di codice).</p>
<p>Nell&#8217;ultimo progetto che sto sviluppando per la società Multiconsult (un CRM personalizzato per le loro esigenze) faccio un uso davvero estensivo di ExtJs e utilizzare un unico file Javascript per pagina stava diventando praticamente impossibile.<br />
<span id="more-115"></span><br />
Leggendo quindi la <a title="Extjs Extension Tutorial" href="http://www.extjs.com/learn/Manual:Component:Extending_Ext_Components" target="_blank">documentazione</a> ho imparato velocemente ad utilizzare l&#8217;estensione di classi base.</p>
<p>Ecco un semplice esempio per la creazione di un oggetto esteso che deriva da  Ext.Window (una piccola finestra):</p>
<pre name="code" class="javascript">var ContactPersonForm = Ext.extend(Ext.Window, {
    width: '300',
    height: '240',
    buttonAlign: 'right',
    modal: true,
    title: 'Nuovo Referente',
    layout: 'form',
    bodyStyle: 'padding:10px',
    contactId: 0,
    ownerUserId: 0,
    defaults: {
        anchor: '100%'
    },

    initComponent: function() {
        ContactPersonForm.superclass.initComponent.call(this, arguments);

        var firstName = new Ext.form.TextField({
            id: 'firstName',
            fieldLabel: 'Nome',
            allowBlank: true
        });
        this.add(firstName);

        var lastName = new Ext.form.TextField({
            id: 'lastName',
            fieldLabel: 'Cognome',
            allowBlank: true
        });
        this.add(lastName);

        var department = new Ext.form.TextField({
            id: 'department',
            fieldLabel: 'Dipartimento',
            allowBlank: true
        });
        this.add(department);

        var eMailAddress = new Ext.form.TextField({
            id: 'eMailAddress',
            fieldLabel: 'eMail',
            allowBlank: true
        });
        this.add(eMailAddress);

        var phoneNumber = new Ext.form.TextField({
            id: 'phoneNumber',
            fieldLabel: 'Telefono',
            allowBlank: true
        });
        this.add(phoneNumber);

        var faxNumber = new Ext.form.TextField({
            id: 'faxNumber',
            fieldLabel: 'Fax',
            allowBlank: true
        });
        this.add(faxNumber);

        var submitButton = new Ext.Button({
            text: 'Inserisci',
            scope: this,
            minWidth: 75,
            iconCls: 'person-new',
            handler: this.onSubmit
        });
        this.addButton(submitButton);
    },

    onSubmit: function() {
        // TO DO: Save to database
    }
});

// register xtype to allow for lazy initialization
Ext.reg('mcContactPersonForm', ContactPersonForm);</pre>
<p>Per utilizzare la mia nuova finestra sarà sufficiente istanziarla, magari valorizzando anche qualche proprietà:</p>
<pre name ="code" class="javascript">var _contactPersonForm = new ContactPersonForm();
_contactPersonForm.contactId = 10;
_contactPersonForm.ownerUserId = 28;
_contactPersonForm.show();</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/extending-extjs/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Android Developers GUI Kits</title>
		<link>http://www.alessandrobenedetti.com/android-developers-gui-kits/</link>
		<comments>http://www.alessandrobenedetti.com/android-developers-gui-kits/#comments</comments>
		<pubDate>Tue, 11 May 2010 16:04:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[donut]]></category>
		<category><![CDATA[eclair]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[sketch]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=109</guid>
		<description><![CDATA[In questo periodo sto sperimentando la programmazione su piattaforma Android. Anche se Java non è il mio linguaggio preferito devo dire che l&#8217;SDK di casa Google è veramente ben fatto e permette di sviluppare velocemente applicazioni di ottima qualità. Girovagando in internet ho inoltre trovato un ottimo post su speckyboy.com che elenca una serie di [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.alessandrobenedetti.com/wp-content/uploads/2010/05/android_gui_05.jpg"><img class="size-full wp-image-110 aligncenter" style="border: 0pt none;" title="android_gui_05" src="http://www.alessandrobenedetti.com/wp-content/uploads/2010/05/android_gui_05.jpg" alt="" width="640" height="180" /></a></p>
<p>In questo periodo sto sperimentando la programmazione su piattaforma Android. Anche se Java non è il mio linguaggio preferito devo dire che l&#8217;SDK di casa Google è veramente ben fatto e permette di sviluppare velocemente applicazioni di ottima qualità.<span id="more-109"></span><br />
Girovagando in internet ho inoltre trovato un ottimo <a title="Android GUI" href="http://speckyboy.com/2010/05/10/android-app-developers-gui-kits-icons-fonts-and-tools/" target="_blank">post su speckyboy.com</a> che elenca una serie di GUI utilizzabili sia per la progettazione dell&#8217;interfaccia che per la presentazione del progetto ai clienti. Davvero molto utili.</p>
<p>Vi invito a visionarle:</p>
<p><a title="Android OS GUI" href="http://speckyboy.com/2010/05/10/android-app-developers-gui-kits-icons-fonts-and-tools/" target="_blank">http://speckyboy.com/2010/05/10/android-app-developers-gui-kits-icons-fonts-and-tools/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/android-developers-gui-kits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La velocità di un sito è ora un fattore importante per Google</title>
		<link>http://www.alessandrobenedetti.com/la-velocita-di-un-sito-e-ora-un-fattore-importante-per-google/</link>
		<comments>http://www.alessandrobenedetti.com/la-velocita-di-un-sito-e-ora-un-fattore-importante-per-google/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 11:24:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[motori di ricerca]]></category>
		<category><![CDATA[ottimizzazione]]></category>
		<category><![CDATA[posizionamento]]></category>
		<category><![CDATA[rank]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[velocità]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=98</guid>
		<description><![CDATA[La decisione era nell&#8217;aria da tempo. Google aveva già aggiunto negli Strumenti per Webmaster le statistiche relative alla velocità di download dei siti. Ora è finalmente ufficiale: La velocità di scaricamente delle pagine di un sito è un fattore determinante nel posizionamento Matt Cutts, responsabile SEO per Google ne parla diffusamente nel suo blog, ed [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.alessandrobenedetti.com/wp-content/uploads/2010/04/search-rankings-rocket.jpg"><br />
</a></p>
<p>La decisione era nell&#8217;aria da tempo. Google aveva già aggiunto negli Strumenti per Webmaster le statistiche relative alla velocità di download dei siti.</p>
<p>Ora è finalmente ufficiale:</p>
<blockquote><p>La velocità di scaricamente delle pagine di un sito è un fattore determinante nel posizionamento</p></blockquote>
<p><span id="more-98"></span><a href="../wp-content/uploads/2010/04/search-rankings-rocket.jpg"><img title="search rankings  rocket" src="../wp-content/uploads/2010/04/search-rankings-rocket-300x299.jpg" alt="" width="300" height="299" /></a></p>
<p>Matt Cutts, responsabile SEO per Google ne parla diffusamente nel suo <a title="Google incorporating site speed in search rankings" href="http://www.mattcutts.com/blog/site-speed/" target="_blank">blog</a>, ed anche Google rilascia un post ufficiale sul proprio <a title="Using site speed in site searching rank" href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html" target="_blank">blog</a>.</p>
<p>Ho sempre tenuto molto in considerazione la velocità di navigazione. Gestione della cache, ottimizzazione delle pagine, eliminazione delle tabelle dove non necessarie, grafica completamente tableless sono alcuni dei fattori che tengo in considerazione quando progetto e sviluppo un sito internet o una applicazione web.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/la-velocita-di-un-sito-e-ora-un-fattore-importante-per-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pasticceria Pak</title>
		<link>http://www.alessandrobenedetti.com/pasticceria-pak/</link>
		<comments>http://www.alessandrobenedetti.com/pasticceria-pak/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 15:27:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavori]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[brioches]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[pasticceria]]></category>
		<category><![CDATA[pasticceria pak]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=95</guid>
		<description><![CDATA[La pasticceria Pak è una nuova realtà nella bergamasca. Nata da poco più di un anno è già una delle più grandi realtà lombarde per quanto riguarda la distrubuzione di Brioches. Per il cliente è stato realizzato un CMS per permettergli di modificare a piacimento i testi del proprio sito e di inserire le fotografie [...]]]></description>
			<content:encoded><![CDATA[<p>La <a title="Pasticceria Pak" href="http://www.pasticceriapak.it" target="_blank"><strong>pasticceria Pak</strong></a> è una nuova realtà nella bergamasca. Nata da poco più di un anno è già <strong>una delle più grandi realtà lombarde</strong> per quanto riguarda la distrubuzione di Brioches.</p>
<p>Per il cliente è stato realizzato un CMS per permettergli di modificare a piacimento i testi del proprio sito e di inserire le fotografie delle proprie creazioni dolciarie. Il database utilizzato è SQLite.</p>
<p>Parte delle fotografie (brioches, produzione e pasticceria) sono state messe a disposizione dal fotografo professionista <a title="Matteo Zanardi, fotografo professionista" href="http://www.matteozanardi.it" target="_blank"><strong>Matteo Zanardi</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/pasticceria-pak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LorenziGroup</title>
		<link>http://www.alessandrobenedetti.com/lorenzigroup/</link>
		<comments>http://www.alessandrobenedetti.com/lorenzigroup/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 15:21:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavori]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[COEM]]></category>
		<category><![CDATA[fratelli Lorenzi]]></category>
		<category><![CDATA[Lorenzi Group]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[Siste]]></category>
		<category><![CDATA[Tex.it]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=92</guid>
		<description><![CDATA[LorenziGroup è un marchio che racchiude diverse società della famiglia Lorenzi specializzate in impianti elettrici industriali, civili, energie alternative ed automazione. Per il cliente è stato realizzato un sito principalmente statico con una gestione dinamica delle news in stile blog. Il linguaggio utilizzato è C# (.NET) che si appoggia ad un database MySql.]]></description>
			<content:encoded><![CDATA[<p><strong><a title="Lorenzi Group" href="http://www.lorenzigroup.com" target="_blank">LorenziGroup</a> </strong>è un marchio che racchiude diverse società della famiglia Lorenzi specializzate in<strong> impianti elettrici industriali, civili, energie alternative ed automazione</strong>.</p>
<p>Per il cliente è stato realizzato un sito principalmente statico con una gestione dinamica delle <strong>news in stile blog</strong>. <span id="more-92"></span></p>
<p>Il linguaggio utilizzato è C# (.NET) che si appoggia ad un database MySql.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/lorenzigroup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alquran</title>
		<link>http://www.alessandrobenedetti.com/alquran/</link>
		<comments>http://www.alessandrobenedetti.com/alquran/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 15:06:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Lavori]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Alquran]]></category>
		<category><![CDATA[anteprima]]></category>
		<category><![CDATA[Corano]]></category>
		<category><![CDATA[immagini]]></category>
		<category><![CDATA[italiano]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[sito]]></category>
		<category><![CDATA[statico]]></category>
		<category><![CDATA[traduzione]]></category>

		<guid isPermaLink="false">http://www.alessandrobenedetti.com/?p=89</guid>
		<description><![CDATA[Alquran.it è un sito statico realizzato per un cliente che ha effettuato una propria traduzione manoscritta del Corano. Il progetto ha comportato l&#8217;implementazione di un sistema di gestione delle immagini in grado di creare anteprime in alta risoluzione. Purtroppo il sistema standard in .NET non permetteva infatti di ottenere anteprime di qualità accettabile per una [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Alquran, il Corano in italiano" href="http://www.alquran.it" target="_blank"><strong>Alquran.it</strong></a> è un <strong>sito statico</strong> realizzato per un cliente che ha effettuato una propria traduzione manoscritta del <strong>Corano</strong>.</p>
<p>Il progetto ha comportato l&#8217;implementazione di un sistema di gestione delle immagini in grado di creare anteprime in alta risoluzione.<span id="more-89"></span> Purtroppo il sistema standard in .NET non permetteva infatti di ottenere anteprime di qualità accettabile per una corretta lettura di un testo manoscritto.</p>
<p>E&#8217; stata inoltre realizzata una libreria che permette di creare un documento Adobe PDF partendo da un elenco di immagini. Questa libreria permetterà in futuro, di ricreare automaticamente il PDF del capitolo (<em>sura</em>) nel caso in cui una delle pagine venga modificata.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alessandrobenedetti.com/alquran/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

