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

<channel>
	<title>Il Blog di MV Associati</title>
	<atom:link href="http://www.mvassociati.it/it/blog/feed" rel="self" type="application/rss+xml"/>
	<link>http://www.mvassociati.it/it/blog</link>
	<description>Blog istituzionale di MV Associati.</description>
	<lastBuildDate>Fri, 04 Aug 2017 10:34:04 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Alla scoperta del Design Sprint</title>
		<link>http://www.mvassociati.it/it/blog/eventi/alla-scoperta-del-design-sprint?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=alla-scoperta-del-design-sprint</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/alla-scoperta-del-design-sprint#comments</comments>
		<pubDate>Fri, 23 Jun 2017 08:45:59 +0000</pubDate>
		<dc:creator>lucamonfredo</dc:creator>
				<category><![CDATA[Aggiornamenti]]></category>
		<category><![CDATA[Eventi]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[sprint]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1606</guid>
		<description><![CDATA[Dall’idea alla realizzazione di un prototipo (testato!), in 5 giorni. E’ il Design Sprint, un processo che condensa le migliori metodologie di product design, design thinking e business strategy, consentendo, in soli 5 giorni, di validare un&#8217;idea di business riducendo al minimo rischi e investimenti. Ideato da Jake Knapp e Google Ventures nel 2010 e [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr"><img class="alignnone size-large wp-image-1609" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/IMG_20170620_1345303-576x323.jpg" alt="" width="576" height="323" /></p>
<p dir="ltr">Dall’idea alla realizzazione di un prototipo (testato!), in 5 giorni.</p>
<p dir="ltr">E’ il <a title="Design Sprint" href="http://www.gv.com/sprint/" target="_blank">Design Sprint</a>, un processo che condensa le migliori metodologie di <strong>product design, design thinking e business strategy</strong>, consentendo, in soli 5 giorni, di validare un&#8217;idea di business riducendo al minimo rischi e investimenti.<span id="more-1606"></span></p>
<p dir="ltr">Ideato da <a title="Jake Knapp" href="https://twitter.com/jakek" target="_blank">Jake Knapp</a> e Google Ventures nel 2010 e utilizzato da tutte le maggiori aziende della Silicon Valley, è un metodo che punta a sconvolgere gli usuali paradigmi di sviluppo incentrati attorno alla produzione di un MVP su cui testare un’idea di business (con conseguenti investimenti iniziali ad alto rischio), puntando invece sulla <strong>realizzazione di un prototipo il più possibile realistico</strong>, nell’arco di una sola settimana lavorativa.</p>
<p dir="ltr">Adatto per definizione alla dinamicità delle startup, è un metodo estremamente flessibile, applicabile anche in contesti più strutturati come medie e grandi aziende, dove può essere utilizzato per risolvere situazioni critiche legate al rilancio e/o aggiornamento di prodotti già esistenti, per loro natura molto difficili da evolvere.</p>
<p dir="ltr"><strong>Come funziona?</strong></p>
<p dir="ltr">Suddividendo il <strong>tempo in momenti ben definiti</strong>, ognuno con un obiettivo semplice, ma al tempo stesso fondamentale, per raggiungere l’obiettivo finale: il test con i futuri potenziali utenti/clienti del prodotto da sviluppare.</p>
<p dir="ltr">Il metodo <strong>favorisce il ragionamento individuale</strong>, minimizzando tutte quelle situazioni che solitamente sfociano in brainstorming incontrollati, <strong>prediligendo la discussione strutturata e il processo decisionale collettivo e critico</strong>.</p>
<p dir="ltr">Le principali fasi del Design Sprint (Understand, Diverge, Converge, Prototype, Test) accompagnano il team di lavoro in un&#8217;esperienza immersiva ed estremamente stimolante che, se fatta con la giusta attitudine, consente di ottenere dei <strong>risultati difficilmente raggiungibili con mesi interi di lavoro</strong>, ottimizzando e rendendo puri tutti i processi decisionali tipicamente stressanti e time consuming.</p>
<p dir="ltr"><img class="alignnone size-large wp-image-1614" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/IMG_20170620_151243-576x432.jpg" alt="" width="576" height="432" /></p>
<p dir="ltr"><strong>La nostra esperienza</strong></p>
<p dir="ltr"><strong>MV Labs</strong> ha avuto l&#8217;onore di partecipare al <strong>primo workshop sul Design Sprint a livello mondiale</strong> organizzato da <a href="https://tangible.is/">Tangible</a> e tenutosi a Bologna il 20 giugno, toccando con mano l’energia e l’efficacia del metodo di Knapp, in una giornata all’insegna della produttività. Abbiamo ripercorso e affrontato le 5 fasi dello Sprint sviluppando un progetto di una fantomatica startup del mondo della finanza, con Jake in persona che ci ha condotto attraverso la giornata dispensandoci preziosi consigli e condiviso le esperienze avute nelle più grandi aziende della Silicon Valley.</p>
<p dir="ltr">La sessione si è svolta con l&#8217;introduzione del contesto e della problematica a cui l&#8217;app da realizzare voleva proporre una soluzione: la gestione automatizzata del risparmio personale. Negli Stati Uniti il fenomeno &#8220;mani bucate&#8221; è dilagante, ecco perché una app del genere ha ben più di un motivo valido per essere proposta sul mercato. Abbiamo quindi dedicato la giornata applicando i principi del Design Sprint a questo contesto, ripercorrendone le 5 fasi principali, con l&#8217;obiettivo di individuare e testare possibili soluzioni implementative.</p>
<ol>
<li><strong>Understand</strong>: obiettivo della prima fase di un Design Sprint è lo sviluppo di una conoscenza comune e condivisa del contesto operativo della soluzione da testare. Si procede quindi con l&#8217;intervista di figure chiave all&#8217;interno dell&#8217;azienda, individuando potenziali categorie di clienti, i problemi da risolvere nello sprint, gli obiettivi a breve e lungo periodo e analizzando possibili soluzioni già esistenti sul mercato.</li>
<li><strong>Diverge</strong>: scopo del secondo step dello Sprint è quello di esplorare quante più soluzioni possibili al fine di individuare pattern ricorrenti eliminando le soluzioni non condivise e concordare sulle ipotesi di sviluppo successive. In questa fase il lavoro viene eseguito perlopiù individualmente, attraverso l&#8217;utilizzo di tecniche di sketching e mind mapping. Risultato della fase è l&#8217;individuazione del percorso critico da testare nell&#8217;ultima fase.</li>
<li><strong>Converge</strong>: è in questa fase che si decide cosa verrà prototipato e testato, analizzando in dettaglio le scelte fatte precedentemente (eliminando le ipotesi non realizzabili) e producendo lo storyboard del prototipo da realizzare nella fase successiva.</li>
<li><strong>Prototype</strong>: si procede sviluppando il prototipo vero e proprio, attraverso l&#8217;utilizzo di strumenti veloci e flessibili (essenzialmente tool di presentazione interattiva) al fine di ottenere un risultato il più vicino possibile all&#8217;esperienza di un prodotto reale.</li>
<li><strong>Test &amp; Learn</strong>: il prototipo viene fatto testare a un gruppo di 5 utenti, che vengono registrati e intervistati, mentre il team di lavoro analizza e verifica le assunzioni iniziali. Al termine di questa fase lo sprint si conclude con la raccolta dei risultati e con il planning di una successiva iterazione di correzione e aggiustamento.</li>
</ol>
<p dir="ltr"><img class="alignnone size-large wp-image-1615" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/IMG_20170620_1221112-576x434.jpg" alt="" width="576" height="434" /></p>
<p dir="ltr">E&#8217; stato interessante e stimolante vedere come sia possibile arrivare, anche in una sola giornata e con team composti da persone con ruoli ed esperienze completamente diverse, a <strong>soluzioni concrete</strong> e condivise da tutti, facendo progressi difficilmente immaginabili a inizio giornata. Uno dei segreti è l&#8217;utilizzo di strumenti (perlopiù carta, penna e lavagne) conosciuti e utilizzati facilmente da chiunque, che consentono di far comunicare tutti allo stesso livello, annullando le barriere tecnologiche e favorendo lo scambio di idee continuo. Altrettanto importante l&#8217;importanza di un clima positivo e proattivo, orientato al goal e alla creazione di forti affinità professionali, il meno possibile contaminato dalle interruzioni (niente telefono o distrazioni durante gli Sprint!).</p>
<p dir="ltr">Non potevamo chiedere di più da questa esperienza, e non vediamo l&#8217;ora di introdurre i nostri clienti ai risultati dell&#8217;applicazione del Design Sprint!</p>
<p dir="ltr"><strong>Vuoi provare l&#8217;esperienza del Design Sprint nella tua azienda?</strong></p>
<p dir="ltr">Sei una startup con un&#8217;idea da realizzare? Hai un&#8217;azienda con un prodotto da rilanciare? Devi trovare delle soluzioni concrete in poco tempo da testare sul mercato? Contattaci e prova con mano l&#8217;esperienza di un <strong>Design Sprint</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/alla-scoperta-del-design-sprint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elm Europe 2017</title>
		<link>http://www.mvassociati.it/it/blog/eventi/elm-europe-2017?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=elm-europe-2017</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/elm-europe-2017#comments</comments>
		<pubDate>Wed, 14 Jun 2017 10:14:58 +0000</pubDate>
		<dc:creator>marcoshuttle</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[elm]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Paris]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1527</guid>
		<description><![CDATA[Dopo essere stato l&#8217;anno scorso a Brussels per DDD Europe e aver fatto shopping di cioccolata nella capitale belga, avevo bisogno di rimpinguare le mie scorte di tavolette fondenti. Non vedevo quindi l&#8217;ora di trovare una scusa per visitare Parigi e il suo quartiere di Saint Germain des Pres. Quale occasione migliore quindi della prima [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo essere stato l&#8217;anno scorso a Brussels per <a title="DDD Europe" href="http://www.mvassociati.it/it/blog/eventi/ddd-europe2016">DDD Europe</a> e aver fatto shopping di cioccolata nella capitale belga, avevo bisogno di rimpinguare le mie scorte di tavolette fondenti. Non vedevo quindi l&#8217;ora di trovare una scusa per visitare Parigi e il suo quartiere di <a title="chocolates" href="http://www.cntraveler.com/galleries/2015-06-08/saint-germain-is-paris-best-neighborhood-for-chocolate">Saint Germain des Pres</a>.</p>
<p>Quale occasione migliore quindi della prima edizione di <a title="Elm Europe" href="http://elmeurope.org/">Elm Europe</a>, la prima conferenza in Europa su Elm, un linguaggio funzionale per creare applicazioni web che ci ha da sempre incuriosito in MV Labs e che non vediamo l&#8217;ora di utilizzare in qualche progetto complesso &#8211; l&#8217;abbiamo già sperimentato con ottimi risultati per relizzare la parte client di <a title="PHP-middleworld" href="http://www.php-middleworld.com/">php-middleworld</a>.<br />
<span id="more-1527"></span></p>
<p><img class="aligncenter" title="Elm Europe" src="http://elmeurope.org/events/87/logo.png" alt="Elm Europe logo" width="320" height="320" /></p>
<p>La conferenza è iniziata con il keynote di <a title="Evan Czaplicki" href="https://twitter.com/czaplic">Evan Czapliki</a>, il creatore di Elm, che ha parlato di come evolvere un&#8217;applicazione Elm man mano che la complessità aumenta. Infatti Elm ha ormai raggiunto il punto in cui diverse aziende hanno in produzione codebase di decine di migliaia di righe di codice Elm, e l&#8217;organizzazione del codice è fondamentale per garantirne la mantenibilità. Il punto focale da cui è partito Evan è stato scoprire le strutture dati più adatte allo specifico caso d&#8217;uso, senza lasciarsi necessariamente influenzare dal loro aspetto grafico. Per esempio una lista di checkboxes potrebbe essere modellata con strutture dati diverse a seconda delle regole che devono essere applicate a quella lista: deve essere possibile aggiungere elementi? Ogni elemento è indipendente dall&#8217;altro o può capitare che la selezione di un checkbox influisca su un altro checkbox? C&#8217;è un limite massimo sul numero di checkboxes selezionati? Le risposte a queste domande possono indirizzare la scelta verso la struttura dati più adatta al caso d&#8217;uso. Inoltre, una corretta modellazione dei dati diventa fondamentale anche per documentare la correlazione tra varie componenti di un&#8217;applicazione. Altro punto importante è stato ridurre le API pubbliche che ogni componente espone, in modo da avere modo di mantenere all&#8217;interno delle strutture dati gli invarianti di dominio che non possono essere completamente specificati a livello dei tipi.</p>
<p><img class="aligncenter size-large wp-image-1572" title="The Life of a file" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/DByJP1WXkAATbks-576x432.jpg" alt="The Life of a file" width="576" height="432" /></p>
<p>Sulla modellazione delle strutture dati si è soffermato anche <a title="Greg Ziegan" href="https://twitter.com/gregziegan">Greg Ziegan</a> nel suo talk <strong>Building reordable UI in Elm</strong>, suggerendo di costruire le nostre API come se fossero dei veri e propri prodotti, passando attraverso ricerche di mercato, determinando cos&#8217;è effettivamente riutilizzabile, proponendo alla community delle API prima effettivamente di implementarle.</p>
<p>Altro talk molto interessante è stato <a title="Rethinking style" href="https://docs.google.com/presentation/d/1s7VPbvuv6m9-S7ePm0R5loqRnHsZEHHVbZALJpWAARo/edit#slide=id.g1f5f3b47d0_0_684">Rethinking Style</a> di <a title="Mattew Griffith" href="https://twitter.com/mech_elephant">Matthew Griffith</a> in cui ha presentato la sua libreria <a title="style-elements" href="http://github.com/mdgriffith/style-elements">style-elements</a> che affronta il problema di definire il layout dei componenti di un&#8217;applicazione da un nuovo punto di vista. L&#8217;idea di fondo è, come i tipi forniscono garanzie per il codice, fornire un meccanismo che garantisca che il layout di un&#8217;applicazione sia completamente definito una volta che il codice compila. In questo modo diventa possibile pensare ad un refactoring dello stile similmente a come un compilatore in un linguaggio tipato ci guida nel refactoring del codice.</p>
<p>Il secondo giorno della conferenza si è aperto con il keynote di <a title="Richard Feldman" href="https://twitter.com/rtfeldman">Richard Feldman</a> che ha affrontato a suo volta il tema di scalare un&#8217;applicazione Elm. Similmente al tipico ciclo utilizzato in TDD, Richard ha proposto di procedere nello sviluppo seguendo il ciclo Build -&gt; Discover -&gt; Refactor. Un&#8217;approccio del genere è facilmente utilizzabile in Elm dove refactoring anche massicci non comportano eccessivi problemi grazie all&#8217;ottima assistenza fornita dal compilatore. Altro punto molto interessante del discorso è stato la sottolineatura della differenza tra l&#8217;architettura delle applicazioni secondo una prospettiva object oriented (in cui è compreso per esempio anche il modello a componenti tipico di React), in cui è necessaria avere una comunicazione padre/figlio per passare messaggi tra i vari componenti, e dall&#8217;altro lato applicazioni puramente funzionali dove invece la sorgente della verità non è distribuita ma centralizzata.</p>
<p>Molto energico ed interessante il talk <strong>Elm from a business prospective</strong> di <a title="Amitai Burstein" href="https://twitter.com/amitaibu">Amitai Burstein</a>, il quale è partito dalla definizione di successo di un progetto, che deve essere realizato nel tempo previsto, con il bubget concordato e rendendo felice il cliente. La sua ricetta per ottenere ciò è sviluppare solo l&#8217;essenziale stimando le singole issue in box temporali ristretti (più si allungano più è facile sbagliare le stime). Elm aiuta sicuramente in questo processo in quanto l&#8217;architettura ben definita e poter contare sull&#8217;aiuto del compilatore permettono di avere un&#8217;idea più chiara dello sforzo richiesto e, cosa non da poco, mantenere gli sviluppatori felici!</p>
<p><img class="aligncenter size-large wp-image-1575" title="Elm Europe attendees" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/DCCy9KkXgAEvYaX-576x211.jpg" alt="" width="576" height="211" /></p>
<p>In generale è stata una conferenza interessante in cui è stato possibile fare il punto della situazione dello sviluppo di Elm e conoscere varie persone che stanno sviluppando con Elm progetti molto interessanti. Il formato della conferena si è rivelato un po&#8217; particolare, con una pausa dopo ogni talk per favorire la socializzazione tra i partecipanti. Il cibo francese come da aspettative non ha deluso, quindi direi che ci sono tutti i presupposti per pensare già al prossimo viaggio a Parigi!</p>
<p>Alla prossima conferenza!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/elm-europe-2017/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IoT e VUI: quali le implicazioni sulla User Experience?</title>
		<link>http://www.mvassociati.it/it/blog/eventi/levoluzione-della-user-experience-nel-2017?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=levoluzione-della-user-experience-nel-2017</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/levoluzione-della-user-experience-nel-2017#comments</comments>
		<pubDate>Sat, 10 Jun 2017 09:00:58 +0000</pubDate>
		<dc:creator>maraspin</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[scotland]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[teamwork]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[uxscot]]></category>
		<category><![CDATA[vui]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1512</guid>
		<description><![CDATA[Interfacce vocali, service design e interazione tra team: questi gli argomenti più gettonati a UX Scotland 2017. Cose parecchio diverse tra loro, quindi. O forse no&#8230; La convinzione che mi è sorta al termine della conferenza è che vi sia un filo conduttore tra questi argomenti; qualcosa di profondo e intrinseco, che li lega tra [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Interfacce vocali</strong>, <strong>service design</strong> e <strong>interazione tra team</strong>: questi gli argomenti più gettonati a <strong>UX Scotland 2017</strong>. Cose parecchio diverse tra loro, quindi. O forse no&#8230; La convinzione che mi è sorta al termine della conferenza è che vi sia un filo conduttore tra questi argomenti; qualcosa di profondo e intrinseco, che li lega tra loro. Sono convinto che ci troviamo nel mezzo di un processo di diffusione della tecnologia, in cui una parte fondamentale dei paradigmi viene invertita. <span id="more-1512"></span></p>
<p><img class="aligncenter size-full wp-image-1584" title="uxscotland" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/uxscotland.jpg" alt="" width="576" height="466" /></p>
<p>Con l&#8217;avvento dei <strong>Personal Computer</strong> e di <strong>Internet</strong> soprattutto, una ventina di anni fa, le potenzialità di ciascun essere umano sono state notevolmente estese. All&#8217;epoca, per conoscere qualcosa era necessario trovare e consultare un&#8217;enciclopedia; chiedere a qualche amico saggio; chiamare qualche servizio a pagamento. Con l&#8217;avvento di Internet, di Altavista prima, e di Google poi, di Wikipedia, tutto ciò non è stato più necessario. Qualche click e tutta la conoscenza umana era (ed ancora è) a nostra disposizione. Non solo; abbiamo cominciato a fare acquisti, a giocare, a controllare lo stato delle nostre finanze; tutto online. Tutto sul PC. Nel bene, e nel male. Siamo stati di fatto costretti a trovarci di fronte ad esso per poter fare tutte queste cose.</p>
<p>Con l&#8217;arrivo degli <strong>Smartphone</strong> lo scenario è notevolmente cambiato: informazioni e servizi ci hanno seguito. Abbiamo potuto fare tutte queste cose attraverso un <strong>unico dispositivo</strong>, un piccolo display portatile. Di conseguenza, molta enfasi è stata data alla progettazione di questi dispositivi: dal punto di vista dell&#8217;hardware (con schermi sempre migliori e batterie sempre più durevoli), ma anche dal punto di vista del software. Delle interfacce, in particolare. La User Interface, così come avveniva per i personal computer, è stata il punto di contatto naturale, quello più evidente, tra l&#8217;utente e la tecnologia. Ed ecco che la <strong>User Experience</strong> e la <strong>User Interface</strong> sono state (e spesso ancora sono) confuse. La ricerca non si ferma, tuttavia.</p>
<p><img class="aligncenter size-full wp-image-1583" title="service_era" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/service_era.jpg" alt="" width="576" height="365" /></p>
<p>Si diffondono Siri, Cortana, Alexa. Le <strong>interfacce vocali</strong>, insomma. Come ci fa notare <strong><a href="https://twitter.com/bensauer">Ben Sauer</a> </strong>(in quello che è stato secondo me uno dei migliori talk della conferenza), non c&#8217;è più bisogno di un&#8217;interfaccia visuale. <strong><a href="https://twitter.com/jlfraser">Jennifer Fraser</a></strong> e <strong><a href="https://twitter.com/linabonapace">Lina Bonapace</a></strong> rafforzano ulteriormente il concetto quando introducono <strong>Internet of Things</strong> e raccontano di come l&#8217;enfasi si stia finalmente staccando dallo schermo, per spostarsi su quella che è la vera esperienza dell&#8217;utente; quella che questi ha con i servizi. Concetto richiamato in causa anche da <strong><a href="https://twitter.com/albertatrebla">Alberta Soranzo</a></strong>, che nel suo keynote pone enfasi sulla visione olistica di un sistema e del valore da questi fornito.</p>
<p><img class="aligncenter size-full wp-image-1581" title="olistic_view" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/olistic_view.jpg" alt="" width="576" height="358" /></p>
<p>Finalmente, risulta dunque evidente che gli oggetti non sono altro che &#8220;avatar&#8221;, ovvero punti di contatto tra l&#8217;utente e un sistema. Emerge il concetto di service design; di qualcosa che va al di la della semplice interazione tra un utente e uno schermo. <strong><a href="https://twitter.com/jeroenvangeel">Jeroen van Geel</a></strong> al suo workshop parla di Customer Journey Mapping, uno strumento per analizzare il processo di interazione con un sistema anche prima e dopo il suo utilizzo; <strong><a href="https://twitter.com/jmspool">Jared Spool</a></strong> e <strong><a href="https://twitter.com/RainbowliciousD">Rachel Daniel</a></strong> raccontano di come aumentare la consapevolezza sull&#8217;esperienza utente in un team; su come gestire il rapporto tra ricercatori e designer UX, product manager e reparto sviluppo. Non parliamo più, quindi, solo di oggetti o applicazioni; o processi. Parliamo di sistemi. Sistemi complessi.</p>
<p><img class="aligncenter size-full wp-image-1582" title="customer_journey_mapping" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/customer_journey_mapping.jpg" alt="" width="576" height="342" /></p>
<p>L&#8217;elettronica, l&#8217;informatica, la psicologia, il design (non solo digitale) diventano dunque elementi tutti imprescindibili per costruire un&#8217;esperienza utente che sia fluida, coerente, pratica. Diventa dunque imprescindibile anche la necessità di abbattere i Silos di conoscenza. Bisogna trovare il modo per facilitare la collaborazione tra figure con background diversi tra loro. Sono dunque contento di aver portato anche la <strong>nostra esperienza</strong> con un lightning talk sull&#8217;<strong>Event Storming</strong> (<a href="https://www.slideshare.net/maraspin/a-really-quick-introduction-to-event-storming">slide</a>), una tecnica che &#8211; oltre a facilitare notevolmente l&#8217;esplorazione di un dominio &#8211; colloca sullo stesso piano figure con background diversi, facilitando l&#8217;individuazione e quindi il raggiungimento di obiettivi comuni.</p>
<p><img class="aligncenter size-full wp-image-1579" title="ux-team" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/ux-team.jpg" alt="" width="576" height="334" /></p>
<p>Sono convinto che la strada intrapresa &#8211; a livello generale, ma anche nel nostro piccolo &#8211; sia quella giusta; che ci si stia finalmente rendendo conto che progettare un sistema non sia preoccuparsi di come e dove mettere bottoni, tabelle e label; ma piuttosto organizzare un&#8217;esperienza continua nel tempo e tra dispositivi, superando le difficoltà e sfruttando le potenzialità dei vari strumenti coinvolti.</p>
<p><img class="aligncenter size-full wp-image-1580" title="iot_opportunity" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/06/iot_opportunity.jpg" alt="" width="576" height="372" /></p>
<p>Queste le mie riflessioni al termine di UX Scotland 2017, una delle conferenze di riferimento a livello mondiale sulla User Experience, a cui sono stato davvero contento di partecipare. Credo mi abbia lasciato spunti notevoli su cui continuare a riflettere e sviluppare idee e progetti. Il cambio di prospettiva su ciò che ci aspetta è secondo me notevole: abbiamo incognite e sfide affascinanti davanti a noi. Che ne pensi tu? Mi farebbe piacere conoscere la tua opinione!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/levoluzione-della-user-experience-nel-2017/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang factory lite e UniversalJs day</title>
		<link>http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=erlang-factory-lite-e-universaljs-day</link>
		<comments>http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day#comments</comments>
		<pubDate>Wed, 12 Apr 2017 15:54:23 +0000</pubDate>
		<dc:creator>marcoshuttle</dc:creator>
				<category><![CDATA[Varie]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[elixir]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[linguaggi]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1441</guid>
		<description><![CDATA[Perché andare ad una conferenza alla volta quando si può andare a due conferenze in due giorni? Questo è il pensiero che devo aver fatto quando ho visto che Erlang Factory Lite e UniversalJs Day si svolgevano in due giorni consecutivi. E&#8217; stato impegnativo, ma ne è decisamente valsa la pena! Erlang Factory Lite era [...]]]></description>
			<content:encoded><![CDATA[<p>Perché andare ad una conferenza alla volta quando si può andare a due conferenze in due giorni? Questo è il pensiero che devo aver fatto quando ho visto che <a href="http://www.erlang-factory.com/rome2017" target="_blank">Erlang Factory Lite</a> e <a href="http://2017.universaljsday.com/" target="_blank">UniversalJs Day</a> si svolgevano in due giorni consecutivi. E&#8217; stato impegnativo, ma ne è decisamente valsa la pena!<span id="more-1441"></span></p>
<p>Erlang Factory Lite era la prima conferenza italiana a tema <a href="https://www.erlang.org/" target="_blank">Erlang</a>/<a href="http://elixir-lang.org/" target="_blank">Elixir</a>. L&#8217;aver scelto Roma come location della conferenza e la presenza di due dei creatori di Erlang ha attirato partecipanti da tutta Europa per un pubblico molto internazionale.</p>
<p><a href="http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day/attachment/c8yvi0ouqai5drb" rel="attachment wp-att-1442"><img class="aligncenter size-large wp-image-1442" title="Rome Erlang Factory Lite 2017" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/04/C8yvi0oUQAI5drb-576x432.jpg" alt="" width="576" height="432" /></a></p>
<p>La giornata si è aperta con il talk di <a href="https://twitter.com/rvirding" target="_blank">Robert Virding</a> che ci ha guidati in un <a href="http://s3.amazonaws.com/erlang-conferences-production/media/files/000/000/521/original/Robert_Virding_-_Pilgrims_Progress_to_the_Promised_Land_-_ElixirLDN2016.pdf?1474734376" target="_blank">pellegrinaggio verso la terra promessa</a> nella quale il software è altamente concorrente, facilmente integrabile con sistemi esterni e resistente ai fallimenti interni. Come da filosofia Erlang, è necessario accettare che prima o poi qualcosa fallirà e progettare il nostro software in maniera da gestire gli errori per far si che questi influiscano il meno possibile sul funzionamento delle applicazioni.</p>
<p>Il pomeriggio, invece ci ha riservato un ottimo talk di <a href="https://twitter.com/joeerl" target="_blank">Joe Armstrong</a> che ci ha raccontato come ha utilizzato Erlang per controllare da remoto e programmare il funzionamento di un <a href="http://sonic-pi.net/" target="_blank">Sonic Pi</a> per riprodurre fedelmente un brano di <a href="https://it.wikipedia.org/wiki/Sergej_Vasil%27evi%C4%8D_Rachmaninov" target="_blank">Rachmaninov</a>. Sfruttando l&#8217;ottima gestione della concorrenza di Erlang, ogni singola nota era prodotta da un processo separato, ciascuno con il suo specifico timer indipendente dagli altri. Il risultato finale è paragonabile ad un concerto in cui più di 19000 pianisti suonano insieme un singolo brano producendo con una tempistica perfetta una nota a testa.</p>
<p><a href="http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day/attachment/c8z9mw7xsaifmvg" rel="attachment wp-att-1443"><img class="aligncenter size-large wp-image-1443" title="Programs should be remotely controllable" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/04/C8z9Mw7XsAIFMVg-576x432.jpg" alt="" width="576" height="432" /></a></p>
<p>Molto interessanti, dal mio punto di vista, anche i talk di <a href="https://twitter.com/gaunilone">Michele Finelli</a>, che ci ha introdotto la teoria dei tipi illustrando la <a href="https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence">corrispondenza</a> tra programmi in un linguaggio tipato e dimostrazioni logiche delle proposizioni corrispondenti, e di <a href="https://twitter.com/arkh4m" target="_blank">Jo Liu</a> che con Elixir e qualche RaspberryPi ha creato una replica del funzionamento di Internet. In chiusura, <a href="https://twitter.com/FrancescoC" target="_blank">Francesco Cesarini</a> ci ha raccomandato l&#8217;importanza di un monitoring accurato, sia per prevenire problemi gravi quando iniziano a manifestarsi, sia per essere capaci in seguito di ricostruire accuratamente l&#8217;origine dell&#8217;issue. Per fare questo sono necessarie tre componenti fondamentali, le metriche dell&#8217;utilizzo dei singoli componenti, i log degli eventi che succedono nel sistema e gli allarmi, eventi che possono scatenare conseguenze (per esempio, svegliare qualcuno se si è verificato un problema grave).</p>
<p>Il giorno successivo mi sono spostato da Roma a Ferrara per poter prendere parte anche a UniversalJs Day, la seconda edizione della conferenza che raccoglie le esperienze più interessanti riguardanti l&#8217;utilizzo di Javascript non strettamente in un client web.</p>
<p>Ha aperto la giornata <a href="https://twitter.com/granze" target="_blank">Maurizio Mangione</a> che ci ha introdotto nel mondo delle progressive web applications, soffermandosi sopprattutto sull&#8217;utilizzo del Service Worker, che ci permette di ottimizzare il critical rendering path e di avere un controllo completo sulle nostre strategie di caching. A seconda del nostro caso d&#8217;uso, possiamo decidere di andare sempre a pescare dalla cache, prima dalla cache e, in caso non ci sia quello che cerchiamo, dalla rete, oppure prima dalla rete e in caso di fallimento dalla cache; in quest&#8217;ultimo caso, riusciamo ad ottenere il funzionamento di una applicazione web anche in scenari offline o di connessione instabile.</p>
<p><a href="https://twitter.com/matfrana" target="_blank">Matteo Frana</a> e il nostro <a href="https://twitter.com/andreacoiutti" target="_blank">Andrea Coiutti</a>, ciascuno nel proprio talk, ci hanno raccontato le problematiche e le soddisfazioni che hanno incontrato implementando server side rendering in applicazioni complesse, il primo utilizzando <a href="https://facebook.github.io/react/" target="_blank">React</a>, il secondo con <a href="https://mithril.js.org/" target="_blank">Mithril</a>. Dal routing fino alla condivisione dello stato e l&#8217;internazionalizzazione, ci hanno guidato attraverso i vari passi e le piccole accortezze che permettono di implementare correttamente un&#8217;applicazione isomorfica. Un dettaglio dei vari passaggi potete trovarlo su <a href="https://isomorphic-mithril.mvlabs.it" target="_blank">https://isomorphic-mithril.mvlabs.it</a>.</p>
<p><a href="http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day/attachment/c84iur-xyaepkob" rel="attachment wp-att-1444"><img class="aligncenter size-large wp-image-1444" title="Isomorphic Mithril" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/04/C84iUR-XYAEPKOB-576x324.jpg" alt="" width="576" height="324" /></a></p>
<p>Il pomeriggio <a href="https://twitter.com/TheStrazz86" target="_blank">Francesco Strazzullo</a> ci ha presentato <a href="http://www.pixijs.com/" target="_blank">Pixi JS</a>, un framework per la creazione di interfacce web utilizzando direttamente <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API" target="_blank">WebGL</a>. Questo consente di saltare il ciclo di rendering del browser andando a interagire direttamente con le potenzialità della scheda grafica per ottenere animazioni 2D molto fluide.</p>
<p>La giornata si è chiusa con il talk di <a href="https://twitter.com/zeroottonove" target="_blank">Francesco Raimondo</a> che ci ha introdotto nel mondo del retro gaming in Javascript utilizzando <a href="https://phaser.io/" target="_blank">Phaser.io</a>, mostrandoci come si può realizzare facilmente un gioco veramente addictive da godersi nel browser!</p>
<p>Complimenti agli organizzatori di entrambe le conferenze per la gestione degli eventi!</p>
<p>Ci vediamo alla prossima conferenza!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/varie/erlang-factory-lite-e-universaljs-day/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arriva PHP-Middleworld!</title>
		<link>http://www.mvassociati.it/it/blog/aggiornamenti/php-middleworld-middleware?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=php-middleworld</link>
		<comments>http://www.mvassociati.it/it/blog/aggiornamenti/php-middleworld-middleware#comments</comments>
		<pubDate>Tue, 14 Feb 2017 10:55:33 +0000</pubDate>
		<dc:creator>marcoshuttle</dc:creator>
				<category><![CDATA[Aggiornamenti]]></category>
		<category><![CDATA[middleware]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[psr-7]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1390</guid>
		<description><![CDATA[E&#8217; online php-middleworld.com, un repository per middleware compatibile con lo standard PSR-7 in PHP. Siamo lieti di condividere i progressi del progetto, e ciò che ci aspetta in futuro. PSR-7 Tutto ha avuto inizio con PSR-7, un insieme di interfacce condivise per rappresentare i messaggi HTTP in PHP, consentendo un’astrazione delle applicazioni dal layer HTTP. La caratteristica principale [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">E&#8217; online <a href="http://www.php-middleworld.com/">php-middleworld.com</a>, un repository per middleware compatibile con lo standard <a href="http://www.php-fig.org/psr/psr-7/">PSR-7</a> in PHP. Siamo lieti di condividere i progressi del progetto, e ciò che ci aspetta in futuro.<span id="more-1390"></span></p>
<h2>PSR-7</h2>
<p dir="ltr">Tutto ha avuto inizio con <a href="http://www.php-fig.org/psr/psr-7/">PSR-7</a>, un insieme di interfacce condivise per rappresentare i messaggi HTTP in PHP, consentendo un’astrazione delle applicazioni dal layer HTTP.</p>
<p dir="ltr">La caratteristica principale di PSR-7 è di essere indipendente dal framework e questo permette di poter utilizzare le sue interfacce con diversi framework quali<a href="https://symfony.com"> Symfony</a>, <a href="https://framework.zend.com">Zend Framework</a>, <a href="https://laravel.com">Laravel</a> e molti altri.</p>
<p dir="ltr">Questo grande vantaggio permette agli sviluppatori di scrivere codice indipendente dal framework con ampie possibilità di essere riutilizzato in altri progetti basandosi soltanto sulle interfacce PSR-7.</p>
<h2>MIDDLEWARE IN PHP</h2>
<p dir="ltr">L’altra parola chiave è middleware: dal momento in cui l’ecosistema PHP ha beneficiato di un’astrazione sufficiente dai messaggi HTTP, il passaggio successivo è stato pensare alla modalità migliore per realizzare applicazioni web a partire da questa astrazione.</p>
<p dir="ltr">Citando <a href="https://mwop.net/blog/2015-01-08-on-http-middleware-and-psr-7.html">Matthew Weier O&#8217;Phinney</a>, il concetto di middleware può essere riassunto in una singola funzione</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>request<span style="color: #339933;">,</span> response<span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> response</pre></td></tr></table></div>

<p dir="ltr">L’idea di fondo è che gli oggetti rappresentati nella richiesta HTTP e nella risposta HTTP vengano passati a una funzione che fa qualcosa con questi per restituire una risposta HTTP.</p>
<p dir="ltr">Questo modello dimostra di essere veramente semplice e utilizzabile per scopi diversi. Infatti, è già stato utilizzato con successo in diversi altri linguaggi di programmazione.</p>
<p dir="ltr">La modalità standard di comporre molteplici middleware è di passare un terzo argomento alla funzione in modo da permettere di invocare un altro middleware:</p>
<div></div>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>request<span style="color: #339933;">,</span> response<span style="color: #339933;">,</span> <span style="color: #990000;">next</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> response
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// do something on request</span>
&nbsp;
    response <span style="color: #339933;">=</span> <span style="color: #990000;">next</span><span style="color: #009900;">&#40;</span>request<span style="color: #339933;">,</span> response<span style="color: #009900;">&#41;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// do something on response</span>
&nbsp;
    <span style="color: #b1b100;">return</span> response
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p dir="ltr">Vari framework, come <a href="https://zendframework.github.io/zend-expressive/">Zend Expressive</a>, <a href="https://www.slimframework.com/">Slim</a>, <a href="https://github.com/radarphp/Radar.Project">Radar</a> o <a href="http://spiral-framework.com/">Spiral</a> si basano già sul concetto di middleware per creare applicazioni web.</p>
<h2>RIUTILIZZARE MIDDLEWARE</h2>
<p dir="ltr">Ora che abbiamo un modello così facilmente componibile basato su un’astrazione HTTP indipendente dai vari framework, possiamo iniziare a scrivere componenti riutilizzabili che potrebbero funzionare per ogni progetto PHP. Di sicuro il lavoro dello sviluppatore sarà notevolmente facilitato.</p>
<p dir="ltr">Abbiamo, quindi, la possibilità di avere middleware che si occupa di loggare tutte le richieste ricevute, middleware per il routing, middleware per gestire le autenticazioni oppure per gestire le sessioni degli utenti. Il ruolo del framework diventa semplicemente quello di tenere uniti tutti i pezzi del nostro lavoro nel miglior modo possibile.</p>
<p dir="ltr">La domanda che sorge spontanea a questo punto è: c’è qualcuno che ha già implementato il middleware che potrebbe servirmi per l’applicazione che sto sviluppando?</p>
<h2>E&#8217; ARRIVATO PHP-MIDDLEWORLD!</h2>
<p dir="ltr">Per ora l’unica risposta alla domanda precedente poteva essere fornita da <a href="https://packagist.org/">Packagist</a>, <a href="https://github.com/">Github</a>, o &#8211; nel peggiore dei casi &#8211; da google.</p>
<p style="text-align: center;" dir="ltr"><a href="http://www.mvassociati.it/it/blog/aggiornamenti/php-middleworld-middleware/attachment/screenshot-from-2017-02-07-08-43-55" rel="attachment wp-att-1404"><img class="aligncenter  wp-image-1404" title="Screenshot from 2017-02-07 08-43-55" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2017/02/Screenshot-from-2017-02-07-08-43-55-400x126.png" alt="middleware repository request" width="400" height="126" /></a></p>
<p dir="ltr">Dopo aver ricevuto così tanto dalla community nel corso degli anni, abbiamo pensato che fosse giunto il momento di restituire qualcosa di importante. Così è nato <a href="http://www.php-middleworld.com/">php-middleworld.com</a>, con l&#8217;intento di dare agli sviluppatori PHP degli strumenti per trovare rapidamente il middleware di cui hanno bisogno (spesso potendo scegliere tra varie implementazioni).</p>
<h2>IL FUTURO</h2>
<p dir="ltr">Abbiamo già in mente diverse migliorie per <a href="http://www.php-middleworld.com/">php-middleworld.com</a>.</p>
<p dir="ltr">In primo luogo ci piacerebbe permettere ai diversi sviluppatori di aggiungere il middleware da loro sviluppato in modo da far crescere il nostro database grazie al contributo di tutti.</p>
<p dir="ltr">In seguito vorremmo aggiungere anche middleware compatibile con <a href="https://github.com/php-fig/fig-standards/tree/master/proposed/http-middleware">PSR-15</a>, in modo da essere pronti quando questo nuovo standard sarà approvato.</p>
<div></div>
<p dir="ltr">Non dilunghiamoci troppo, per informazioni più dettagliate visita<a href="http://www.php-middleworld.com/"> php-middleworld.com</a> e segui <a title="@phpmwd" href="https://twitter.com/phpmwd">@phpmwd</a> su Twitter!</p>
<p dir="ltr">Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/aggiornamenti/php-middleworld-middleware/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dotJS 2016</title>
		<link>http://www.mvassociati.it/it/blog/eventi/dotJS2016?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=dotjs-2016</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/dotJS2016#comments</comments>
		<pubDate>Fri, 16 Dec 2016 16:56:09 +0000</pubDate>
		<dc:creator>lucamonfredo</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JS]]></category>
		<category><![CDATA[Paris]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1304</guid>
		<description><![CDATA[In MV la situazione era tesa, eravamo rimasti senza baguette per una delle nostre mitiche rooftop grill. Bisognava fare qualcosa. E velocemente. Improvviso incrocio di sguardi, intesa immediata: Parigi! Quale miglior luogo per una buona baguette fragrante? Forse un po’ fuori mano, ma ce la potevamo fare. E poi come facevamo a perderci l’appuntamento con [...]]]></description>
			<content:encoded><![CDATA[<p>In MV la situazione era tesa, eravamo rimasti senza baguette per una delle nostre mitiche rooftop grill. Bisognava fare qualcosa. E velocemente. Improvviso incrocio di sguardi, intesa immediata: <strong>Parigi</strong>! Quale miglior luogo per una buona baguette fragrante? Forse un po’ fuori mano, ma ce la potevamo fare. E poi come facevamo a perderci l’appuntamento con <a title="dotJS 2016" href="https://www.dotjs.io/" target="_blank">dotJS 2016</a>?!? Mai e poi mai. Ready set go!<span id="more-1304"></span></p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-1315" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/30677504083_0715c2cb40_z-576x385.jpg" alt="" width="576" height="385" /></p>
<p>Giunto alla sua quinta edizione, quest’anno <strong>dotJS</strong> si sposta nella cornice moderna e all’avanguardia del meeting center di “Les Docks de Paris” a Seine-Saint-Denis, per ospitare 1200 sviluppatori giunti da tutto il mondo per assistere ai talk sugli argomenti più caldi della stagione. Ovviamente non prima di un’ottima colazione ipercalorica a base di brioche e cioccolata.</p>
<p>La formula è sempre la stessa: una serie di interventi alla “TED Talks”, di 18 minuti ciascuno, con speaker scelti tra i migliori nel loro campo, che si alternano sul palco nel corso di una giornata ricca di spunti e idee da sperimentare, senza dimenticare gli spazi dedicati alle presentazioni dei partner, al networking, e alle esibizioni.</p>
<p>Uno dei temi chiave di questa edizione è come continuare a far <strong>evolvere la piattaforma web</strong> e tutto l’ecosistema di tecnologie che le ruotano attorno, in un momento dove la fruizione di contenuti da parte degli utenti si sta spostando sempre più verso piattaforme native (specialmente su device mobili), che garantiscono esperienze più complete ed efficaci.</p>
<p>E’ il momento delle <strong>progressive web apps</strong>, applicazioni in browser che sfruttano le ultime tecnologie per ottenere un comportamento e delle funzionalità del tutto simili alle esperienze offerte dalle app native. Come? Attraverso i service workers.</p>
<p>I <strong>service workers</strong> sono essenzialmente degli script che agiscono come proxy tra il browser e il server e che consentono di implementare direttamente nei browser tutta una serie di funzionalità asincrone (si pensi ad esempio alle notifiche push e alla sincronizzazione dei contenuti in background) che fino ad oggi erano prerogativa delle app native. Questo, come illustrato nell’intervento in apertura di <a title="Nolan Lawson" href="https://twitter.com/nolanlawson" target="_blank">Nolan Lawson</a>, apre la strada verso una fruizione e un’esperienza web sempre più immersiva e completa, con tutti i vantaggi dello sviluppo su piattaforma web.</p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-1317" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/30677526683_0963e7a6c2_z-576x383.jpg" alt="" width="576" height="383" /></p>
<p>Naturalmente a oggi il supporto non è ancora completo, ma tutti i vendors si stanno via via allineando con la specifica. Ed è qui che entrano in gioco i vari <strong>transpiler</strong>, che consentono di uniformare e utilizzare di fatto anche le ultime innovazioni del linguaggio. Interessante l’intervento di <a title="Christophe Porteneuve" href="https://twitter.com/porteneuve" target="_blank">Christophe Porteneuve</a> sulla configurazione e l’utilizzo di <strong>Babel</strong>, che ci toglie molte curiosità su come utilizzarlo al meglio.</p>
<p>Anche la <strong>realtà virtuale</strong> applicata al web può trarre beneficio dai service workers. <a title="Ada Rose Edwards" href="https://twitter.com/Lady_Ada_King" target="_blank">Ada Rose Edwards</a> ci illustra come, ad esempio, è possibile utilizzarli per migliorare le performance di rete in una applicazione che utilizza le <strong>WebVR API</strong> utilizzando la tecnica del progressive enhancement e ridurre drasticamente i tempi d’attesa dovuti al caricamento delle risorse, uno degli ostacoli principali delle applicazioni VR.</p>
<p>Dopo un interessante e tecnicissimo talk sulla gestione della memoria nel V8 engine da parte di <a title="Fedor Indutny" href="https://twitter.com/indutny" target="_blank">Fedor Indutny</a>, andiamo a pranzo, con buona pace dei colleghi a Codroipo ancora in attesa della baguette.</p>
<p>Il pomeriggio è tutto dedicato alla discussione su come i vari <strong>framework front-end</strong> si stiano evolvendo nella direzione di un <strong>approccio modulare</strong> (attraverso i componenti) facendo eco a parecchi principi della <strong>programmazione funzionale</strong>, tanto da arrivare all’idea della UI vista come una pura funzione di rendering.</p>
<p>In questo senso apprezziamo che i maggiori player (Angular, React, Vue) si stiano dando molto da fare per rendere la vita semplice agli sviluppatori e ridurre la cosiddetta “JS fatigue”. L’obiettivo è avere dei framework che siano semplici da imparare e da utilizzare.</p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-1318" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/31339899442_02484ceb0f_z-576x383.jpg" alt="" width="576" height="383" /></p>
<p>Il talk di <a title="Evan You" href="https://twitter.com/youyuxi" target="_blank">Evan You</a> svela alcuni principi di funzionamento di un framework reattivo come <a title="vue.js" href="https://vuejs.org" target="_blank">Vue.js</a>, <a title="Igor Minar" href="https://twitter.com/igorminar" target="_blank">Igor Minar</a> fa una retrospettiva dell’evoluzione di <a title="Angular" href="https://angular.io" target="_blank">Angular</a> dalla versione 1 alla 2. Innovativa la proposta di <a title="Guillermo Rauch" href="https://twitter.com/rauchg" target="_blank">Guillermo Rauch</a>, con la presentazione di <a title="Next.js" href="https://github.com/zeit/next.js" target="_blank">Next.js</a>, un framework minimale per applicazioni <strong>React</strong> renderizzate lato server.</p>
<p>Parola chiave del pomeriggio: “<strong>Universal JS</strong>&#8220;. Applicazioni che condividono la stessa base di codice sia lato server che lato front-end. Pare sia questo il trend del momento, che tra l’altro ci vede all’opera in prima persona su un progetto sviluppato proprio come applicazione isomorfica (stay tuned for updates!).</p>
<p>Tra una pausa caffè (in tazze da mezzo litro) e un paio di morsi alla baguette che avremmo dovuto riportare a Codroipo (oops..), ci rendiamo conto di quanto le <strong>API HTML5</strong> non smettano mai di stupire, soprattutto per le potenzialità che sono in grado di sviluppare sul lato multimediale. Avreste mai pensato di controllare una macchina del fumo in JS? No, neanche io, ma la spettacolare esibizione del duo <a title="Sam Wray" href="https://twitter.com/_2xaa" target="_blank">Sam Wray</a> e <a title="Tim Pietrusky" href="https://twitter.com/timpietrusky" target="_blank">Tim Pietrusky</a> fa capire quanto sia possibile fare lato <strong>audio/video con JavaScript</strong>. Oltre a come sia possibile portare la nebbia della Val Padana in un centro congressi a Parigi. Cool!</p>
<p>I talk si susseguono serrati, inframmezzati da veloci sessioni di Q&amp;A con gli speaker e la novità di questa edizione, i lightning talk, interventi di 4 minuti dove tutti possono partecipare e presentare le proprie idee. La sera arriva subito, e l’<a title="dotConferences" href="https://www.dotconferences.com/about">organizzazione</a> ci sorprende ancora una volta con un afterparty degno di nota, ricco buffet e free beer per tutti. Qualche ora per scambiare qualche parola con nuove conoscenze e permearsi di nuove idee da sperimentare al ritorno a casa.</p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-1320" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/31339906842_147a5bb16e_z-576x385.jpg" alt="" width="576" height="385" /></p>
<p>Ci siamo divertiti, ora non rimane altro che organizzare una bella rooftop grill nei nostri uffici!<br />
The baguette is a lie! rooftops are not <img src='http://www.mvassociati.it/it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Photo credits: <a title="dotConferences" href="https://www.flickr.com/photos/97226415@N08/albums/72157675822234502/with/31339899442/">dotConferences</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/dotJS2016/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NoSlidesConf 2016</title>
		<link>http://www.mvassociati.it/it/blog/eventi/noslidesconf-2016?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=noslidesconf-2016</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/noslidesconf-2016#comments</comments>
		<pubDate>Mon, 05 Dec 2016 10:55:34 +0000</pubDate>
		<dc:creator>marcoshuttle</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[elixir]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[machine learning]]></category>
		<category><![CDATA[noslides]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1272</guid>
		<description><![CDATA[Sabato 3 dicembre ho partecipato alla prima edizione della NoSlidesConf a Bologna. Ero molto curioso del formato della conferenza, completamente basato sull&#8217;assenza di slides tradizionali rimpiazzate invece da demo e codice scritto live! Devo dire che il risultato è stato una giornata molto interessante, con talk di ottimo livello. Il formato, che potrebbe essere considerato [...]]]></description>
			<content:encoded><![CDATA[<p>Sabato 3 dicembre ho partecipato alla prima edizione della <a href="http://www.noslidesconf.net/">NoSlidesConf</a> a Bologna. Ero molto curioso del formato della conferenza, completamente basato sull&#8217;assenza di slides tradizionali rimpiazzate invece da demo e codice scritto live!</p>
<p>Devo dire che il risultato è stato una giornata molto interessante, con talk di ottimo livello. Il formato, che potrebbe essere considerato impegnativo da seguire per una giornata intera, si è rivelato invece più stimolante e più interattivo per l&#8217;audience rispetto ad un approccio tradizionale.</p>
<p><a href="http://www.mvassociati.it/it/blog/eventi/noslidesconf-2016/attachment/cyvsjtbxuaatih9" rel="attachment wp-att-1273"><img class="aligncenter size-large wp-image-1273" title="noslidesconf-crowd" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/CyvsjTbXUAATIh9-576x426.jpg" alt="" width="576" height="426" /></a></p>
<p>Dopo i saluti iniziali degli organizzatori, ai quali vanno i miei complimenti per aver messo in piedi un evento così ben riuscito, il primo talk che ho seguito è stato presentato da <a href="https://twitter.com/pistenprinz">Christoph Reinartz</a> di <a href="http://www.trivago.it/">Trivago</a>, il quale ci ha presentato il flusso di lavoro quotidiano, dall&#8217;apertura di una issue fino al deploy in produzione. E&#8217; stato interessante soprattutto vedere l&#8217;utilizzo strutturato ed efficiente di pratiche quali i feature flags per permettere a/b testing e una code review molto partecipata (di standard, ogni merge request è revisionata da 3/4 persone).</p>
<p>Dopo un buon pranzo ristoratore, il pomeriggio è iniziato con un talk sugli internals di Git. Non è mai facile prestare attenzione al primo talk dopo aver mangiato (coincide con l&#8217;orario della pennichella!), ma in questo caso <a href="https://twitter.com/nusco">Paolo Perrotta</a> è riuscito a stimolare l&#8217;appetito di conoscenza dei presenti con un talk veramente interessante: nonostante l&#8217;utilizzo quotidiano di Git  per qualunque progetto, ho avuto modo di scoprire molte cose riguardo a cosa si nasconde all&#8217;interno della cartella .git.</p>
<p><a href="http://www.mvassociati.it/it/blog/eventi/noslidesconf-2016/attachment/cywurhfweaajoqv" rel="attachment wp-att-1275"><img class="aligncenter size-large wp-image-1275" title="noslidesconf git diagram" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/12/CywURhfWEAAjOqV-576x430.jpg" alt="" width="576" height="430" /></a></p>
<p>Il pomeriggio è proseguito con un talk su <a href="http://elixir-lang.org/">Elixir</a> in cui <a href="https://twitter.com/whatyouhide">Andrea Leopardi</a> ci ha fatto scoprire i concetti base del linguaggio. Un&#8217;applicazione Elixir è costituita da svariati processi isolati l&#8217;uno dall&#8217;altro, che riescono a comunicare semplicemente passandosi messaggi in maniera asincrona. Quest&#8217;implementazione dell&#8217;actor model ci consente di modellare le nostre applicazioni in modo da poter gestire agilmente i cambiamenti e i fallimenti che possono accadere. Questo ci permette di realizzare velocemente applicazioni distribuite e fault tolerant.</p>
<p>A seguire <a href="https://twitter.com/arkh4m">Ju Liu</a> ci ha guidati a bordo del Titanic per cercare di capire se il finale della storia raccontata dal film del 1997 avesse uno sfondo di verità. Effettivamente analizzando i dati si scopre come &#8220;Prima donne e bambini&#8221; non sia solo un modo di dire: circa il 90% delle donne di prima classe si sono salvate, mentre gli uomini che viaggiavano in terza classe hanno avuto generalmente sorte ben peggiore. Lo spunto storico e cinematografico è servito per introdurci nel complicato mondo del machine learning e vedere come un computer riesca effettivamente ad interpretare dati ed elaborare euristiche. Il Take away principale del talk comunque è stato: &#8220;Impara a conoscere i tuoi dati prima di darli in pasto al computer&#8221;.</p>
<p>A concludere la giornata è stato <a href="https://twitter.com/andreafrancia">Andrea Francia</a> che ci ha accompagnati in un code kata fatto direttamente in Bash! Oltre a scoprire le potenzialità della Bash (anche se la sintassi non è proprio così intuitiva&#8230;), è stato molto interessante costruire un mini framework per il testing e utilizzarlo in un approccio test first.</p>
<p>Mi è dispiaciuto non poter essere in contemporanea ad ascoltare qualche talk dell&#8217;altra track&#8230; per il dono dell&#8217;ubiquità ci stiamo ancora lavorando&#8230;</p>
<p>La giornata è stata ricca e piena di spunti interessanti. Spero che possa ripetersi anche l&#8217;anno prossimo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/noslidesconf-2016/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpsCon 2016</title>
		<link>http://www.mvassociati.it/it/blog/eventi/opscon-2016-il-resoconto?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=opscon-2016-il-resoconto</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/opscon-2016-il-resoconto#comments</comments>
		<pubDate>Mon, 31 Oct 2016 16:22:26 +0000</pubDate>
		<dc:creator>whites11</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[automazione]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[docker]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1224</guid>
		<description><![CDATA[Il mondo dell’Information Technology è per definizione un mondo in costante evoluzione, nel quale il continuo aggiornamento delle conoscenze e degli strumenti di lavoro non è solo consigliato, ma fondamentale per garantire l&#8217;opportuno livello di prestazioni, sicurezza e fruibilità dei prodotti che si realizzano. Ciò vale per tutte le specializzazioni: dallo sviluppo alla quality assurance; [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">Il mondo dell’Information Technology è per definizione un mondo in costante evoluzione, nel quale il continuo aggiornamento delle conoscenze e degli strumenti di lavoro non è solo consigliato, ma fondamentale per garantire l&#8217;opportuno livello di prestazioni, sicurezza e fruibilità dei prodotti che si realizzano. Ciò vale per tutte le specializzazioni: dallo sviluppo alla quality assurance; da chi si occupa di devOPS, al reparto UX.</p>
<p dir="ltr">Per quanto riguarda il settore devOPs, è tutta una questione di automazione dei processi: la realizzazione di sistemi che rendano autonome e automatiche le procedure ripetitive e “noiose” quali il testing, l’integrazione e il deployment del codice. Automazioni che da un lato sgravano gli sviluppatori da una responsabilità, dall&#8217;altro garantiscono un funzionamento meno incline ad errori umani in una parte significativa nella filiera di produzione e distribuzione del codice.</p>
<p dir="ltr">In MV Labs da sempre ci impegniamo per garantire la più alta qualità possibile nel processo produttivo. Inoltre, con l’aiuto di tool automatici opportunamente scelti e configurati, riusciamo a perseguire questo obiettivo nel lavoro quotidiano. In quest’ottica, la partecipazione a <a href="http://www.opscon.it/">OpsCON</a> (European meeting on IT operations and Open Infrastructures) ci vede in prima linea per rimanere al passo con gli ultimi trend emergenti nel settore operations e per condividere le nostre esperienze con gli altri partecipanti.<span id="more-1224"></span></p>
<p dir="ltr"><img class="alignleft size-large wp-image-1260" title="" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/9c0cea9f-ca0b-4451-b6c9-cd9a82a45a1f-576x430.jpg" alt="" width="576" height="430" /></p>
<p dir="ltr">L’edizione 2016 si svolge nella splendida cornice della città di Firenze ed è organizzata dall’Associazione Culturale Inventati (<a href="http://www.inventati.info">www.inventati.info</a>) in collaborazione con Atlassian.</p>
<p dir="ltr">Tra gli interventi della giornata spicca senza dubbio quello di <a href="https://twitter.com/@_gbartolini_">Gabriele Bartolini</a>, che ha spiegato come la sua azienda promuova l’innovazione del processo produttivo invitando i dipendenti ad investire parte del proprio orario di lavoro nello studio e nell&#8217;introduzione di nuovi strumenti di lavoro. Impossibile non citare «It&#8217;s easier to ask forgiveness than it is to get permission»; una massima di <a href="https://en.wikiquote.org/wiki/Grace_Hopper">Grace Hopper</a> e un principio che facciamo nostro anche in MV Labs. L&#8217;impiego di nuove tecnologie richiede infatti una buona dose d&#8217;intraprendenza e coraggio. Ecco perchè anche noi in MV Labs dedichiamo parte del nostro tempo a progetti interni. Ciò ci consente di valutare nuovi strumenti e sbagliare, senza tuttavia mai esporre al rischio i sistemi business critical dei nostri clienti.</p>
<div dir="ltr"></div>
<p dir="ltr"><img src="https://lh5.googleusercontent.com/10V4cDG9VbD9j66rPa3SCPloBQe56yzMxdkF3ynooh7QuLVGPOxN-DEqrve4XRDXrx6box91jJ4vFEj3SQVn5L7za9lYPyPTc9_wAImygDSQLS7h9vuhn_MLpP9QaiiPmuKr29KX" alt="WhatsApp Image 2016-10-28 at 16.06.10.jpeg" width="624" height="468" /></p>
<div dir="ltr"></div>
<p dir="ltr">Tra gli altri argomenti toccati non poteva mancare ovviamente docker: tema caldo degli ultimi anni, sfiorato da quasi tutti gli speaker e affrontato in modo particolare da <a href="https://twitter.com/fminzoni">Federico Minzoni</a> con un interessante intervento dove ha evidenziato le similitudini concettuali tra l’utilizzo di <a href="https://www.docker.com/">Docker</a> e il libro di Italo Calvino «Lezioni americane: Sei proposte per il prossimo millennio». Un talk atipico ma davvero interessante.</p>
<p dir="ltr">Chiudiamo citando <a href="https://twitter.com/@VladCavalcanti">Vladimir Cavalcanti</a> che ha offerto molti spunti di riflessione su come organizzare il workflow aziendale in ottica di miglioramento dell’innovazione (in termini di processo produttivo) e la cultura generale del lavoro aziendale come strumento per innovare e rimanere competitivi sul mercato (portando casi di aziende come Blockbuster e Kodak che da leader di mercato si sono ritrovate sul lastrico per essersi sedute sugli allori).</p>
<div dir="ltr"></div>
<p dir="ltr"><img src="https://lh5.googleusercontent.com/xkCYY8_4xmK3IqSvAWsVeJSrBOpcartlytFavRMncq81robZjt0K2maDDcKX5Sj3XLu4BLb4gwT1iJmYdDbvk4X7CcE8q-DNzGuxePBh8vyzVk9mrVzBga_lzpUDmUWe3B9CqJbp" alt="WhatsApp Image 2016-10-28 at 16.04.08.jpeg" width="624" height="468" /></p>
<div dir="ltr"></div>
<p dir="ltr">Cercheremo sicuramente di applicare, per quanto è possibile, alcuni degli spunti che abbiamo ricevuto oggi.</p>
<div dir="ltr"></div>
<p dir="ltr"><img src="https://lh5.googleusercontent.com/AxsCc79x-bUHCfZDgal7E2Pew4OzBF2c08hi00AdsFxGuU7dZEUxEihAdym6gIjiHH7A6QWuLiaa5J2YyJNpDiATQWD9qbCNwmR9HRuvUwptREtXCFD6uzXFaai7oUwW31swvkIj" alt="WhatsApp Image 2016-10-28 at 16.04.08 (1).jpeg" width="624" height="468" /></p>
<div dir="ltr"></div>
<div dir="ltr">Ritorniamo alla base, motivati e pronti per applicare sul campo quanto appreso quest&#8217;oggi. Stay tuned per ulteriori news sul mondo devOPS e non solo!</div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/opscon-2016-il-resoconto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebCamp Zagreb 2016</title>
		<link>http://www.mvassociati.it/it/blog/eventi/webcamp-2016?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=webcamp-zagreb-2016</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/webcamp-2016#comments</comments>
		<pubDate>Mon, 31 Oct 2016 14:46:37 +0000</pubDate>
		<dc:creator>andrea_cadorin</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[conferenza]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[cqrs]]></category>
		<category><![CDATA[croatia]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[elm]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[webcamp]]></category>
		<category><![CDATA[zagreb]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1206</guid>
		<description><![CDATA[Venerdì scorso ho partecipato al WebCamp di Zagabria che si è svolto nelle giornate del 28 e 29 Ottobre, assieme a Marco e Stefano. Città molto bella, tanti speaker e argomenti per tutti i gusti sono le poche parole che basterebbero per raccontare di quest&#8217;esperienza. Ecco comunque un riepilogo degli interventi che ci hanno maggiormente [...]]]></description>
			<content:encoded><![CDATA[<p>Venerdì scorso ho partecipato al WebCamp di Zagabria che si è svolto nelle giornate del 28 e 29 Ottobre, assieme a <a href="https://twitter.com/marcoshuttle">Marco</a> e <a href="https://twitter.com/stefanovalle">Stefano</a>.</p>
<p>Città molto bella, tanti speaker e argomenti per tutti i gusti sono le poche parole che basterebbero per raccontare di quest&#8217;esperienza. Ecco comunque un riepilogo degli interventi che ci hanno maggiormente impressionato.<span id="more-1206"></span></p>
<p><img class="alignleft size-large wp-image-1227" title="zagreb" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/zagreb-576x282.jpg" alt="" width="576" height="282" /></p>
<p>Il primo giorno è iniziato con il keynote di <a href="https://twitter.com/Greydnls">Graham Daniels</a>, con un talk molto interessante sulle problematiche legate alla mancanza di diversità nel nostro campo. Graham in particolare ci parla dell’ambiente &#8220;ostile&#8221; che le minoranze (etniche, di sesso, etc) spesso si trovano ad affrontare nella vita lavorativa quotidiana e ci ricorda che spesso ne siamo in parte colpevoli anche senza rendercene conto. Per questo ha dato vita al <a title="Code Manifesto" href="http://codemanifesto.com/">Code Manifesto</a> per aiutarci a ricordare che la diversità è un&#8217;opportunità di crescita per tutti.</p>
<div class="wp-caption aligncenter" style="width: 586px"><img title="Code manifesto" src="https://pbs.twimg.com/media/Cv2ODtPVMAAcfjB.jpg:large" alt="" width="576" height="426" /><p class="wp-caption-text">Photo by Goran Levacic</p></div>
<p>Altro talk degno di nota è stato sicuramente quello di <a href="https://github.com/zoka123">Zoran Antolovic</a> intitolato “Self-testable API docs &#8211; Docs shouldn&#8217;t lie!” che ci ha dato alcuni spunti sulla generazione di documentazione per API e sul loro test, argomento che stiamo sviluppando proprio in questo periodo in MV Labs. Il consiglio di Zoran è di utilizzare JSON Hyper: schema e tool open source <a href="http://codeception.com/">CodeCeption</a> per testare che gli endpoint restituiscano valori coerenti con la documentazione generata.</p>
<p>A seguire è stata la volta di <a href="https://twitter.com/ocramius">Marco Pivetta</a> con il suo talk sull’Event Sourcing e CQRS. Marco ha descritto i problemi risolti ma anche introdotti da questo approccio. La separazione netta tra comandi ed eventi (CQRS) semplifica la modellazione del dominio; poter disporre della storia completa di tutti gli avvenimenti (Event sourcing) rende l’applicazione molto flessibile in particolare quando bisogna recuperare o filtrare dati. Uno degli aspetti negativi è &#8211; ad esempio &#8211; la coerenza eventuale (eventual consistency), che rende difficile dare all&#8217;utente un feedback immediato sulle sue azioni. Problematiche con le quali ci siamo già scontrati, e che abbiamo affrontato &#8211; anche assieme a Marco stesso &#8211; nel progetto che stiamo sviluppando in MV Labs e che utilizza questo approccio.</p>
<p>E&#8217; stata quindi la volta del nostro <a href="https://twitter.com/@marcoshuttle">Marco</a>, che ha riproposto il suo talk &#8220;<a href="http://marcosh.github.io/presentations/2016/10/28/elm-or-how-I-learned-to-love-frontend-development.html">Elm or how I learned to love front-end development</a>&#8220;.  <a href="http://elm-lang.org/">ELM</a> è un linguaggio funzionale per il frontend che compila in Javascript. Grazie al formalismo della programmazione funzionale (oltre che alla tipizzazione statica e alla compilazione), gli errori al runtime diventano un brutto ricordo e il mantenimento del codice risulta meno complesso. Puoi scoprire di più su Elm e su questo paradigma attraverso le <a href="http://marcosh.github.io/presentations/2016/10/28/elm-or-how-I-learned-to-love-frontend-development.html#/">slide</a> utilizzate a Zagabria, ma anche il <a href="https://www.youtube.com/watch?v=DX28Hyn8gQw">video</a> di un precedente intervento di Marco. Se invece vuoi vedere questa tecnologia all&#8217;opera, puoi visitare il nostro sito <a href="http://www.php-middleworld.com/">PHPMiddleworld</a> :)</p>
<p><img class="aligncenter size-large wp-image-1208" title="IMG_20161028_153923" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/IMG_20161028_153923-576x426.jpg" alt="" width="576" height="426" /></p>
<p>Il secondo giorno si è aperto con il keynote di <a href="https://twitter.com/baconmeteor">Maciej Ceglowski</a> che ci ha intrattenuto con un bellissimo talk sul futuro che ci attende e su come dovremmo approcciarci ad esso con una visione un po&#8217; meno entusiasta per poterci focalizzare su problemi più concreti. La massima della giornata è stata senza dubbio:</p>
<blockquote><p>&#8220;Never dying must be annoying: imagine having 30000 years of browsing history haunting you!&#8221;</p></blockquote>
<p><img class="aligncenter size-large wp-image-1210" title="IMG_20161029_100911" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/IMG_20161029_100911-576x426.jpg" alt="" width="576" height="426" /></p>
<p><a href="https://twitter.com/xeraa">Philipp Krenn</a> nel suo talk &#8220;<a href="https://speakerdeck.com/xeraa/se7en-deadly-deployment-sins">Se7en deadly deployment sins</a>&#8221; ci ha poi fatto riflettere sui &#8220;peccati&#8221; che ogni sviluppatore prima o poi commette, paragonandoli ai 7 peccati capitali. Cita ad esempio la lussuria: è davvero necessario utilizzare sempre le ultime tecnologie disponibili? O l&#8217;invidia: perché cercare di fare personalmente cose che qualcun&#8217;altro ha già fatto per noi?</p>
<p><img class="aligncenter size-large wp-image-1212" title="IMG_20161029_121749" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/IMG_20161029_121749-576x426.jpg" alt="" width="576" height="426" /><br />
Chiudiamo poi con l&#8217;ultimo talk di <a href="https://twitter.com/sasajuric">Saša Jurić</a> che ci ha parlato di <a href="http://www.phoenixframework.org/">Phoenix</a> un framework per <a href="http://elixir-lang.org/">Elixir</a> (basato a sua volta su <a href="https://www.erlang.org/">Erlang</a>) per lo sviluppo di applicazioni web. Phoenix vanta dalla sua delle performance straordinarie: parliamo di decine di migliaia di richieste per secondo, latenze nell&#8217;ordine dei microsecondi e 2 milioni di utenti connessi ad una singola macchina. Saša <a href="https://speakerdeck.com/sasajuric/whats-the-fuss-about-phoenix">ci ha mostrato</a> come la creazione di una applicazione di chat con i web socket sia estremamente semplice. Termina l&#8217;intervento con una forte affermazione: Pheonix è, ad oggi, il miglior framework per la creazione di applicazioni web per qualsiasi tipo di progetto. Sicuramente un framework da tenere sott&#8217;occhio e che proveremo presto in MV Labs!</p>
<p><img class="aligncenter size-large wp-image-1213" title="IMG_20161029_153600" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/10/IMG_20161029_153600-576x426.jpg" alt="" width="576" height="426" /><br />
Due giorni sicuramente impegnativi ma che ci hanno fornito molti spunti di riflessione sul lavoro quotidiano, ci hanno fatto conoscere nuove tecnologie e ci hanno fatto provare <a href="https://en.wikipedia.org/wiki/Zagorski_%C5%A0trukli">nuove pietanze locali</a>! <img src='http://www.mvassociati.it/it/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Doviđenja Zagreb!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/webcamp-2016/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPDay 2016</title>
		<link>http://www.mvassociati.it/it/blog/eventi/phpday-2016?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=phpday-2016</link>
		<comments>http://www.mvassociati.it/it/blog/eventi/phpday-2016#comments</comments>
		<pubDate>Mon, 16 May 2016 08:39:26 +0000</pubDate>
		<dc:creator>andrea_cadorin</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[conferenze]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[middleware]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpday]]></category>

		<guid isPermaLink="false">http://www.mvassociati.it/it/blog/?p=1177</guid>
		<description><![CDATA[Si è appena concluso il PHPDay 2016, la conferenza internazionale sul linguaggio PHP, che si tiene a Verona ormai da diversi anni, e a cui non potevamo di certo mancare, con il team MVLabs quasi al completo. Diversi talk di ottima qualità e l’ottimo feedback all’intervento di Marco e Steve chiudono questi due giorni, impegnativi ma pieni di [...]]]></description>
			<content:encoded><![CDATA[<p dir="ltr">Si è appena concluso il <a href="http://2016.phpday.it/">PHPDay 2016</a>, la conferenza internazionale sul linguaggio PHP, che si tiene a Verona ormai da diversi anni, e a cui non potevamo di certo mancare, con il team MVLabs quasi al completo.</p>
<p dir="ltr">Diversi talk di ottima qualità e l’ottimo <a href="https://joind.in/event/phpday-2016/beyond-psr-7-the-magical-middleware-tour">feedback</a> all’intervento di <a href="https://twitter.com/marcoshuttle">Marco</a> e <a href="https://twitter.com/maraspin">Steve</a> chiudono questi due giorni, impegnativi ma pieni di ottimi spunti e buona compagnia.</p>
<p><span id="more-1177"></span></p>
<p style="text-align: center;"><a href="http://www.mvassociati.it/it/blog/eventi/phpday-2016/attachment/rasmus" rel="attachment wp-att-1179"><img class="aligncenter  wp-image-1179" title="Rasmus" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/05/rasmus.jpg" alt="" width="614" height="399" /></a></p>
<p dir="ltr">Per quanto riguarda i talk degni di nota della prima giornata, va sicuramente citato il <a href="https://joind.in/talk/5e12c">keynote</a> di <a href="https://twitter.com/rasmus">Rasmus Lerdorf</a> (inventore del linguaggio PHP), che ha parlato delle migliorie introdotte da PHP7, in particolare per quanto riguarda l’aumento di performance delle nostre applicazioni web (sia in termini di utilizzo della CPU, sia &#8211; soprattutto &#8211; nel consumo di memoria). Rasmus ci ha inoltre fornito alcuni consigli su come migrare a questa nuova versione di php e come ottimizzare al meglio il nostro ecosistema per accogliere le nuove funzionalità; argomenti poi ripresi nell’ottimo talk di <a href="https://twitter.com/julienPauli">Julien Pauli</a> che è entrato nel dettaglio delle varie ottimizzazioni introdotte da PHP7. Un talk decisamente tecnico che ci ha permesso di capire meglio come sia stato possibile un incremento prestazionale cosi importante.</p>
<p style="text-align: center;" dir="ltr"><a href="http://www.mvassociati.it/it/blog/eventi/phpday-2016/attachment/zimuel" rel="attachment wp-att-1180"><img class="aligncenter  wp-image-1180" title="zimuel" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/05/zimuel.jpg" alt="" width="614" height="461" /></a></p>
<p dir="ltr">E’ stata quindi la volta di <a href="https://twitter.com/ezimuel">Enrico Zimuel</a>, core developer di <a href="http://framework.zend.com/">Zend Framework</a>, che ha introdotto la versione 3 del framework (in rilascio a Giugno). Le novità sostanziali proposte sono state un miglioramento notevole di performance rispetto alla versione 2, l’ottimizzazione per PHP7 e &#8211; soprattutto &#8211; una serie di semplificazioni, che rendono più semplice l’approccio al framework per chi si avvicina ad esso per la prima volta. Enrico si è soffermato In particolare su <a href="https://zendframework.github.io/zend-expressive/">Zend Expressive</a>, un microframework che farà parte di ZF3 e orientato al middleware. Grazie a questo approccio è possibile strutturare le applicazioni in modo da rendere i vari componenti che si prendono cura di gestire i cross cutting concerns (ovvero tutto ciò che non riguarda strettalmente la logica di dominio) facilmente riutilizzabili anche su piattaforme/framework diversi.</p>
<p style="text-align: center;" dir="ltr"><a href="http://www.mvassociati.it/it/blog/eventi/phpday-2016/attachment/image1-3" rel="attachment wp-att-1182"><img class="aligncenter  wp-image-1182" title="Marco e Steve" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/05/image11.jpeg" alt="" width="617" height="463" /></a></p>
<p dir="ltr">E sono stati proprio il middleware e questa derivata, inedita interoperabilità tra i framework gli argomenti trattati da <a href="https://twitter.com/marcoshuttle">Marco</a> e <a href="https://twitter.com/maraspin">Steve</a> nel loro <a href="https://joind.in/event/phpday-2016/beyond-psr-7-the-magical-middleware-tour">talk</a> dal titolo “Beyond PSR-7: The magical middleware tour”. I colleghi ci hanno fornito una panoramica generale su questo approccio, partendo dalle origini dello sviluppo in PHP, introducendo quindi i motivi che hanno portato al middleware, esplicitando quindi i problemi che questo risolve, concludendo quindi l’intervento con esempi di implementazione di middleware con diversi framework.</p>
<p dir="ltr">La prima giornata si è quindi conclusa con la cena sociale, occasione per incontrare amici nuovi e vecchi, come qualche membro del <a href="http://friuli.grusp.org/">PHP User Group Friuli</a>, e con la sempre simpatica compagnia del <a href="http://roma.grusp.org/">PUG Roma</a>.</p>
<p style="text-align: center;" dir="ltr"><a href="http://www.mvassociati.it/it/blog/eventi/phpday-2016/attachment/badoo" rel="attachment wp-att-1183"><img class="aligncenter  wp-image-1183" title="badoo" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/05/badoo.jpg" alt="" width="614" height="461" /></a></p>
<p dir="ltr">E’ giunta quindi la volta della seconda giornata di conferenza, che si è aperta con il <a href="https://joind.in/event/phpday-2016/how-badoo-saved-1m-switching-to-php7">keynote</a> di <a href="https://www.linkedin.com/in/nkrapivnyy">Nikolay Krapivnyy</a>, che ci ha spiegato come <a href="https://badoo.com/">Badoo</a>, il più grande social network di incontri al mondo, è riuscito a risparmiare oltre 1 milione di dollari grazie alla migrazione a PHP7. Nikolay ci ha spiegato in dettaglio come è stata gestita la migrazione, quali problemi sono stati incontrati e come sono stati risolti e infine ci ha presentato i risultati, un carico sulla cpu dimezzato e un uso della memoria di ben 9 volte inferiore tradotto quindi in un dimezzamento del numero di server e un risparmio di oltre 1 milione di dollari.</p>
<p><a href="http://www.mvassociati.it/it/blog/eventi/phpday-2016/attachment/eventsourcing" rel="attachment wp-att-1184"><img class="aligncenter size-full wp-image-1184" title="eventsourcing" src="http://www.mvassociati.it/it/blog/wp-content/uploads/2016/05/eventsourcing.jpg" alt="" width="600" height="450" /></a></p>
<p>Un altro hot-topic di questo PHPDay è stato sicuramente l’<a href="http://martinfowler.com/eaaDev/EventSourcing.html">Event Sourcing</a>, un approccio completamente diverso (rispetto al CRUD tradizionale) nel gestire i dati delle nostre applicazioni dove tutte le operazioni vengono gestite attraverso un log di eventi ed è quindi possibile ricreare lo stato esatto dell’applicazione per ogni preciso istante del passato. Come ci ha fatto notare <a href="https://twitter.com/willemjanz">Willem-Jan Zijderveld</a> nel suo ottimo <a href="https://joind.in/event/phpday-2016/lets-write-some-history">talk</a>, l’event sourcing può essere la soluzione alla perdita di dati quando si eseguono operazioni di delete e update, a scapito però di una difficoltà implementativa da non sottovalutare. In particolare Willem-Jan ci ha fornito alcuni esempi con <a href="https://github.com/qandidate-labs/broadway">Broadway</a>, uno dei framework più maturi per l’event sourcing in php. Un talk decisamente interessante che ci ha dato un nuovo punto di vista sulla gestione dei dati.</p>
<p>Oltre a quelli citati, sono stati coperti molti altri argomenti in questi due giorni: <a href="https://joind.in/event/phpday-2016/dip-your-toes-in-the-sea-of-security">sicurezza</a>, <a href="https://joind.in/event/phpday-2016/how-i-learned-to-stop-worrying-and-love-regular-expressions">regular expression</a>, <a href="https://joind.in/event/phpday-2016/dockerizing-your-php-ci-pipelines">docker</a>, <a href="https://joind.in/event/phpday-2016/hopping-in-clouds-a-tale-of-migration-from-one-cloud-provider-to-another">cloud</a>, <a href="https://joind.in/event/phpday-2016/machine-learning-for-php">machine learning</a>, <a href="https://joind.in/event/phpday-2016/being-functional-in-php">approccio funzionale su php</a> e molti altri. Interventi quindi per tutti i gusti e per tutti i livelli di conoscenze.</p>
<p>Due giorni impegnativi, ma che ci hanno lasciato con molti spunti di riflessione e nuove conoscenze da applicare nel lavoro di tutti i giorni. E’ stata inoltre una ottima occasione per trascorrere un po’ di tempo tra di noi di MVLabs in un ambiente un po’ diverso dal solito.</p>
<p>Un grazie agli organizzatori e allo staff di PHPDay che ha reso possibile questo evento. Ci rivediamo sicuramente il prossimo anno!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mvassociati.it/it/blog/eventi/phpday-2016/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>