<?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"
	>

<channel>
	<title>[ malcom ]</title>
	<atom:link href="http://www.malcom-mac.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.malcom-mac.com/blog</link>
	<description>compulsive programmer</description>
	<pubDate>Thu, 17 Jul 2008 10:55:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>phpBB back to the future</title>
		<link>http://www.malcom-mac.com/blog/2008/07/16/phpbb-back-to-the-future/</link>
		<comments>http://www.malcom-mac.com/blog/2008/07/16/phpbb-back-to-the-future/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 00:49:41 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Sviluppo]]></category>

		<category><![CDATA[phpbb code]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=579</guid>
		<description><![CDATA[E così per almeno una settimana buona posso dimenticare libri e università. Tornato appena fuori dal full immersion durato un paio di mesi, ho deciso di rimettere un pò in sesto queste pagine e riorganizzare tutto. Nel frattempo ho iniziato anche a sviluppare l&#8217;applicazione per iPhone di cui vi parlavo giorni fa (in verità per ora si tratta di un framework comune sia per desktop che mobile) e, insieme all&#8217;amico Rommel, abbiamo finito di mettere a punto la prima parte del progetto OFAPI (qui inserisco le doverose scuse per il pessimo nome scelto).
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/07/16/phpbb-back-to-the-future/" title="phpBB back to the future">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "phpBB back to the future", url: "http://www.malcom-mac.com/blog/2008/07/16/phpbb-back-to-the-future/" });</script>]]></description>
			<content:encoded><![CDATA[<p>E così per almeno una settimana buona posso dimenticare libri e università. Tornato appena fuori dal full immersion durato un paio di mesi, ho deciso di rimettere un pò in sesto queste pagine e riorganizzare tutto. Nel frattempo ho iniziato anche a sviluppare l&#8217;applicazione per iPhone di cui vi parlavo giorni fa (in verità per ora si tratta di un framework comune sia per desktop che mobile) e, insieme all&#8217;amico <a href="http://flickr.com/photos/robertob/"  target="_blank">Rommel</a>, abbiamo finito di mettere a punto la prima parte del progetto <a href="http://code.google.com/p/ofapi/" >OFAPI</a> (qui inserisco le doverose scuse per il pessimo nome scelto).<br />
OpenForum API è un insieme di API realizzate in PHP che permettono di comunicare con forum basati su phpBB (che rappresenta buona parte dei forum in rete) attraverso delle API (funzioni) che possono essere chiamate tramite <a href="http://it.wikipedia.org/wiki/XML-RPC"  target="_blank">XML-RPC</a> (Remote Procedure Call), e quindi da qualsiasi client esterno (un pò come in Wordpress).<br />
Durante lo sviluppo di OFAPI ci siamo necessariamente dovuti imbattere nella (contorta) comprensione del funzionamento del motore phpBB. Ora, benchè ci sia da premettere il fatto che nessuno dei due abbia avuto mai a che fare con altri motori di forum, possiamo comunque dire con (pacata) certezza che quel codice fa paura: vuoi un pò per PHP che fa minestra di codice e template (magari se siete nati programmatori web neanche ci fate caso&#8230; tutta la mia compassione), vuoi per il fatto che la struttura del forum non comprende un set di classi o anche solo di funzioni che possano essere chiamate anche da altri file esterni (il codice è messo all&#8217;interno dei file che lo usano come una lunga procedura in stile procedurale)&#8230; insomma è stato un vero incubo.<br />
In verità ho anche provato a parlare con qualche sviluppatore interno ma senza ottenere grandi riscontri: alla domanda &#8220;ma perchè non avete fatto -almeno- delle funzioni anzichè appiccicare il codice così?&#8221; la risposta è stata &#8220;è più veloce&#8221;.</p>
<p>&#8230; Si, magari posso essere anche un pò d&#8217;accordo (anche se ho il forte sospetto che in termini pratici quel guadagno sarà comunque trascurabile), ma avete creato un mostro (da mantenere) solo per questo motivo? Poi probabilmente si è stizzito e mi ha lasciato senza una risposta.<br />
Se qualcuno si sta chiedendo per caso come è la documentazione si metta l&#8217;anima in pace: le <a href="http://www.phpbb.com/mods/documentation/phpbb-documentation/basic_api/index.php"  target="_blank">poche funzioni</a> che sono documentate non coprono certamente la vastita del progetto (<a href="http://area51.phpbb.com/docs/code/"  target="_blank">spesso e volentieri vengono listati i parametri</a> ma senza speficarne l&#8217;uso) e i commenti al codice sono come pietre preziose&#8230; rare (ma soprattuto non preziose visto che in parecchi casi sembrano dei messaggi ad altri sviluppatori).</p>
<p><!&#8211;adsensestart&#8211;</p>
<p>Insomma come progetto open mi aspettavo certamente una cura maggiore (lo stesso OFAPI, è doveroso ammetterlo, soffrirà parecchio di questa fragilità&#8230; in pratica modifiche interessanti al codice del core dovranno essere riportare in ofapi che in diversi casi non fa altro che duplicarle). &nbsp;Spero invece che vbulletin sia curato maggiormente da questo punto di vista.</p>
<p>Tutto il mio rispetto per un progetto così famoso ed usato&#8230; ma per pietà fate un passo in avanti, gli anni del PASCAL sono finiti da un pezzo (con tutto il rispetto per il PASCAL).</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=phpBB+back+to+the+future&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F07%2F16%2Fphpbb-back-to-the-future%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/07/16/phpbb-back-to-the-future/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Android &#038; iPhone</title>
		<link>http://www.malcom-mac.com/blog/2008/07/08/android-iphone/</link>
		<comments>http://www.malcom-mac.com/blog/2008/07/08/android-iphone/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 16:18:40 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=576</guid>
		<description><![CDATA[Qualche settimana fa abbiamo parlato di quali sono i problemi di Windows e di come Apple, pur rimanendo nella sua nicchia, possa continuare ad attrarre a se (oggi più che mai) utenti e sviluppatori.
Questa volta non parleremo di Mac, ma di come spesso la storia si ripeta sempre uguale a se stessa (nel bene, ma anche nel male).&#160;Oggi parliamo di Google Android e di iPhone.
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/07/08/android-iphone/" title="Android &#038; iPhone">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "Android &#038; iPhone", url: "http://www.malcom-mac.com/blog/2008/07/08/android-iphone/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Qualche settimana fa abbiamo parlato di quali sono i problemi di Windows e di come Apple, pur rimanendo nella sua nicchia, possa continuare ad attrarre a se (oggi più che mai) utenti e sviluppatori.</p>
<p>Questa volta non parleremo di Mac, ma di come spesso la storia si ripeta sempre uguale a se stessa (nel bene, ma anche nel male).&nbsp;Oggi parliamo di Google Android e di iPhone.</p>
<p>Il mercato dei cellulari, sebbene negli ultimi mesi abbia avuto un notevole rallentamento (dovuto più alla mancanza di nuovi servizi in grado di far desiderare l&#8217;ennesimo nuovo acquisto, piuttosto che ad una normale e prevedibile contrazione fisiologica) rimane comunque uno dei mercati tecnologici attualmente più redditizi.</p>
<p>Le statistiche per il 2005 (uno degli anni di maggior crescita per questo mercato) parlano di almeno 700 milioni di unità vendute; lo stesso anno i PC (intesi in senso largo, quindi parliamo di laptop ma anche di desktop) non hanno neanche sfiorato le 200 milioni di unità vendute.</p>
<p>Già da questo possiamo incominciare a pensare quanta e quale importanza rivestirà questo device negli anni a venire.</p>
<p>A rafforzare ulteriormente questa tesi ci sono gli eventi di questi ultimi tempi come lo sbarco di iPhone e quello di Google, ma anche più recentemente l&#8217;acquisto da parte del colosso finlandese Nokia di Symbian OS (che attualmente rappresenta, con le sue diverse incarnazioni, oltre il 60% del parco dell&#8217;installato).</p>
<p>Tuttavia ci troviamo ancora oggi a navigare in quello che sembra un medioevo informatico per il settore della navigazione mobile; a ben pensarci possiamo ritrovare un parallelo nello scontro tra titani per la conquista del mercato dei pc.</p>
<p> </p>
<p>A questo punto devo ammettere una cosa. Nello scontro tra Android (di Google) e iPhone (di Apple) tifo per il primo. Pur essendo prima uno sviluppatore Mac e poi iPhone, non ho mai nascosto un certo prurito all&#8217;idea di un software controllato totalmente da Apple (che questa volta non si limita ad un assetto chiuso come quello nel desktop, ma ad un unico punto di commercializzazione che come tutte le cose di questo genere viene fatto passare sotto la scusa di voler dare sicurezza all&#8217;utente finale - non so voi ma a leggere queste press release incomincio a sentir puzza di trusted rincarnato).</p>
<p>Tuttavia è doveroso ammettere come ad oggi sia stata Apple a fornire tutte le soluzioni migliori per il mobile: è innegabile infatti che la volontà di controllare sia hardware e software abbia portato gli indubbi vantaggi che scopriamo ogni giorno con il nostro Mac; inoltre parlando nelle vesti di programmatore (per quanto si tratti ancora di questioni fumose e soggette ad possibili radicali cambiamenti) non c&#8217;è paragone tra il software di sviluppo a corredo di iPhone e quello attualmente disponibile per Android.</p>
<p> </p>
<p>Il grosso vantaggio di Apple è quello di controllare iPhone dal basso verso l&#8217;alto, ogni singolo chipset, il case, l&#8217;OS, l&#8217;interfaccia utente e tutto il resto. Apple conosce esattamente come apparirà l&#8217;interfaccia all&#8217;acquirente finale. La dipendenza di Google dai diversi produttori hardware e dai carrier di telefonia (che in tutta questa storia rappresentano il vero male) le toglie inesorabilmente il controllo del prodotto mettendolo nelle mani di chi, fino ad oggi, non ha fatto altro che peggiorare la situazione.</p>
<p>Di contro il motto del team di sviluppo Android &#8220;programma ciò che vuoi, installalo dove vuoi&#8221; (&#8221;code what you want to code, install what you want to install&#8221;) è innegabilmente più attraente (sebbene poi mi siano giunte voci, tutte da confermare, che anche Google avrà un suo negozio per Android).</p>
<p>In un mondo ideale sarebbe facile dare Google come il vero vincitore, ma ad oggi è difficile riporre nel progetto più aspettative di quanto non se ne possano dare a Symbian (anch&#8217;esso sulla strada, quasi obbligata, dell&#8217;open source).</p>
<p>In un certo senso sembra d&#8217;essere ritornati ai primi anni dell&#8217;informatica consumer (e in verità due dei protagonisti sono ancora lì) con in più l&#8217;elemento sorpresa dei carrier. Quando penso al controllo che gli operatori vorrebbero continuare ad avere sulle proprie reti (sono notizie di questi giorni le tariffe, ridicole, proposte dalle telco italiane per iPhone) mi immagino una ENEL qualsiasi che cerca di imporre agli utenti come utilizzare i propri elettrodomestici soltanto perchè l&#8217;energia la produce lei (in questo senso <a href="http://www.wired.com/techbiz/media/magazine/16-07/ff_android?currentPage=all" >l&#8217;opera di Google in america</a> è più che lodevole).</p>
<p> </p>
<p>Ma lasciamo stare per ora la disastrosa politica protezionista che assumono le telco all&#8217;alba dell&#8217;internet mobile, e torniamo a parlare di Google ed Apple.</p>
<p>Ad un anno dall&#8217;uscita di iPhone (e più o meno lo stesso periodo dall&#8217;uscita della prima -rudimentale- SDK per sviluppare sotto Android) la situazione sembra volgere benone solo per la prima.</p>
<p>Mentre su iPhone si accapigliano come donnicciole tutte le telco, l&#8217;opera di Google stenta ancora a prendere quota (si vocifera, dopo la presentazione di un primo modello al CES di questo anno, che il primo modello Android-based non vedrà la luce prima di fine anno&#8230; e si tratta, a mio parere, di una stima fin troppo ottimistica).</p>
<p> </p>
<p>Un altro punto critico per Google, come abbiamo già accennato precedentemente, riguarda gli sviluppatori.</p>
<p>Il <a href="http://online.wsj.com/article/SB121418837707895947.html?mod=hps_us_whats_news" >Journal di qualche tempo&nbsp;</a>fa riporta alcuni stralci di interviste che recitano più o meno così:</p>
<p><em>&#8220;Dopo aver incassato il si di alcuni tra i più grandi sviluppatori mobile, Google è costretta a fare i conti con le critiche piovute su un SDK ancora non pronto e in costante evoluzione&#8221;</em></p>
<p>e ancora</p>
<p><em>&#8220;Qualche sviluppatore asserisce che sviluppare con i tool Apple sia molto più facile grazie anche alla quasi compatibilità con lo sviluppo Mac&#8221;</em></p>
<p>e infine</p>
<p><em>&#8220;Andy Rubin, direttore della piattaforma mobile di Google, afferma che l&#8217;impegno nello sviluppo del software accomunato alla necessità di dare ai carrier la possibilità di creare guadagni chiede del tempo - &#8216;E&#8217; qui che ci sono i guai&#8217;&#8221;</em></p>
<p>Così mentre si allunga in maniera impressionante la fila di carrier disposti a fare &#8220;faville&#8221; per accaparrarsi l&#8217;esclusiva di vendere iPhone (a tal proposito volevo ricordarvi come gli stessi Apple Store che vendono iPhone non vengano riforniti da Apple stessa, ma dalle telco che hanno vinto la gara nei rispettivi paesi), la piattaforma di Google stenta a prendere il volo.</p>
<p>Un&#8217;altra notizia importante, come avevo accennato ad inizio articolo, è la recente acquisizione del 52% di Symbian, la casa che sviluppa l&#8217;omonimo OS che attualmente fa la voce grossa nel settore del mobile.</p>
<p>La notizia, accompagnata anche dal fatto che a breve Symbian diventerà un progetto open source (e questo non può che far bene al mercato) non farà certo di Nokia un&#8217;azienda dai gadgets più &#8220;sexy&#8221; (come Apple) ma permetterà comunque un più rapido sviluppo della piattaforma e una migliore integrazione con i device del suo più grande cliente.</p>
<p> </p>
<p>Ad ogni modo, vale la pena ricordare come Apple e Google non possano essere considerati come rivali in senso stretto, più o meno nella stessa maniera in cui non si può confrontare il mercato Mac con quello Windows.</p>
<p>Apple, come al solito, ha deciso di puntare tutto sull&#8217;integrazione e l&#8217;ottimo connubio che soltanto soluzioni proprietarie ad hoc possono permettere, mentre Google sta facendo la parte di MS (con l&#8217;enorme differenza che non si tratta di riuscire a derivare profitti dalla vendita di Android stesso, quanto più riuscire a creare un nuovo mercato dove farla da padrone) sviluppando una soluzione software utilizzabile - sperabilmente - su una moltitudine di apparecchi.</p>
<p> </p>
<p>Attutalmente va dato atto ad Apple di aver iniziato una sostanziale modifica dell&#8217;assetto nel settore mobile sia dal punto di vista della gerarchia (abbiamo per la prima volta visto compagnie telefoniche &#8220;piegarsi&#8221; - in parte almeno - dietro ad apparecchi anzichè dettar regole) sia dal lato tecnico (con una interfaccia che per la prima volta rende più comodo interagire con dispositivi mobili - vi sfido ad usare Windows Mobile sull&#8217;HTC che ho qui in tasca senza dove ricorrere ad una pennetta e degli occhiali).</p>
<p>Guardando il mercato globale spero comunque che Android possa dire la sua contrastando quello che è sempre stato terreno di Symbian, e minor parte di Windows Mobile. Le intenzioni ci sono sicuramente sebbene i numerosi ritardi e lo sviluppo ancora grezzo dell&#8217;ambiente stesso possano far perdere alla piattaforma quel grande hype che s&#8217;era conquistata appena dopo l&#8217;annuncio un anno fa (sebbene poi, dal punto di vista tecnico, Android non abbia molto da invidiare all&#8217;OS di iPhone).</p>
<p>Nelle prossime settimane inizierò a sviluppare un progetto che vedrà la luce come applicazione web, per iPhone e per Android. Conto quindi di tenervi informati su tutti quelli che sono i miei commenti a riguardo di entrambe le piattaforme.</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Android+%26%23038%3B+iPhone&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F07%2F08%2Fandroid-iphone%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/07/08/android-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oggi su #mela WWDC Live Coverage</title>
		<link>http://www.malcom-mac.com/blog/2008/06/09/oggi-su-mela-wwdc-live-coverage/</link>
		<comments>http://www.malcom-mac.com/blog/2008/06/09/oggi-su-mela-wwdc-live-coverage/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 09:46:24 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=574</guid>
		<description><![CDATA[Come per ogni evento apple da qualche tempo a questa parte, #mela dedicherà un coverage live del keynote di Steve (previsto per oggi alle 18.00 ora italiana). Se volete partecipare per chiacchierare e conoscere nuove persone le coordinate le sono queste qui.
Se non avete un client IRC potete sempre seguirci via web a partire da questo link (per il keynote) e qui per fare quattro chiacchiere.
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/06/09/oggi-su-mela-wwdc-live-coverage/" title="Oggi su #mela WWDC Live Coverage">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "Oggi su #mela WWDC Live Coverage", url: "http://www.malcom-mac.com/blog/2008/06/09/oggi-su-mela-wwdc-live-coverage/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Come per ogni evento apple da qualche tempo a questa parte, #mela dedicherà un coverage live del keynote di Steve (previsto per oggi alle 18.00 ora italiana). Se volete partecipare per chiacchierare e conoscere nuove persone le coordinate le sono <a href="http://www.malcom-mac.com/blog/macuser-pub/" >queste qui</a>.</p>
<p>Se non avete un client IRC potete sempre seguirci via web a partire da <a href="http://webchat.azzurra.org/irc.cgi?chan=%23keynote"  target="_blank">questo link</a> (per il keynote) e <a href="http://webchat.azzurra.org/irc.cgi?chan=%23mela"  target="_blank">qui</a> per fare quattro chiacchiere.</p>
<p>Vi aspettiamo!!</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Oggi+su+%23mela+WWDC+Live+Coverage&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F06%2F09%2Foggi-su-mela-wwdc-live-coverage%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/06/09/oggi-su-mela-wwdc-live-coverage/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Felini senza &#8220;palle&#8221;? (!)</title>
		<link>http://www.malcom-mac.com/blog/2008/06/04/felini-senza-palle/</link>
		<comments>http://www.malcom-mac.com/blog/2008/06/04/felini-senza-palle/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 08:47:26 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=572</guid>
		<description><![CDATA[Leggo questa notizia (il link si vede solo quando si legge per intero la storia) e rimango perplesso. Per inciso non è una cosa rara (che rimango perplesso, non che leggo la notizia) ma passaggi del tipo:
Questo major update dovrebbe concentrarsi su stabilità e sicurezza, anche se appare improbabile che non arrivino novità nella GUI.
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/06/04/felini-senza-palle/" title="Felini senza &#8220;palle&#8221;? (!)">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "Felini senza &#8220;palle&#8221;? (!)", url: "http://www.malcom-mac.com/blog/2008/06/04/felini-senza-palle/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Leggo <strong><a href="http://www.melablog.it/post/6077/al-wwdc-2008-il-primo-ruggito-del-leone"  target="_blank">questa notizia</a></strong> <em>(il link si vede solo quando si legge per intero la storia)</em> e rimango perplesso. Per inciso non è una cosa rara (che rimango perplesso, non che leggo la notizia) ma passaggi del tipo:</p>
<blockquote><p>Questo <em>major update</em> dovrebbe concentrarsi su <strong>stabilità e sicurezza</strong>, anche se appare improbabile che non arrivino novità nella GUI.</p></blockquote>
<p>Non ho mai visto una major release (di qualunque software, forse ad eccezione di debian) che facesse dei fix un punto chiave; non che questa non sia una buona notizia ma di solito per questa roba ci sono le minor release e comunque difficilmente riesco ad immaginarmi uno Steve Jobs che si mette a chiacchierare quaranta minuti buoni sulla sicurezza.</p>
<p>Se proprio vogliamo dirla tutta stabilità e sicurezza (soprattutto la prima) dovrebbero essere fatti assodati per chi presenta del nuovo software (anche se con l&#8217;avvento di internet per le masse parecchie software house preferiscono farsi betatestare - sotto compenso - i propri software) e comunque mi rimane difficile far passare per marketing roba che &#8220;non si vede&#8221;. Il marketing dovrebbe attirare le persone. Chi non ci capisce di informatica non va a vedere se finalmente quel cavolo di fix nel modulo del kernel [...] è stato patchato (ok forse gli utenti linux si, qualche programmatore pure, ma noi parliamo della persona &#8220;normale&#8221;) perchè a lui non frega una cippa (o meglio ancora, frega nel senso che si tratta di cose scontate&#8230; o quando comprato un&#8217;auto incominciate a fare le analisi a tutte le parti? &#8230; tra l&#8217;altro vi sfido ad trovare il motore nelle nuove auto, ma questo è un altro discorso).</p>
<p>E poi c&#8217;è anche la storia di All Things Digital di cui abbiamo parlato nel post precedente. Quando Ballmer e $ocio (con la S rigorosamente grande e rigorosamente dollarosa) hanno presentato l(a)e novità di Windows 7 (per cui stando alle ultime dichiarazioni, o paurosamente ottimistiche o clamorosamente (di nuovo) fallate), ovvero il multitouch, hanno dato in pasto la pubblico la notizia di un futuro prossimo venturo dove il touch sarà parte del desktop (*): crediamo davvero che Apple (che per prima lo ha introdotto nell&#8217;ormai blasonato iPhone) non vorrà metterci le mano prima?</p>
<p>In ultima analisi credo che il 10.6 sarà anche l&#8217;occasione di rinnovare (se non altro parzialmente) una GUI che (personalmente ritengo ancora un perfetto esempio di pulizia) incomincia a soffrire un pò del tempo (marketing) che passa.</p>
<p>Insomma non credo che le novità del Lion che verrà saranno &#8220;ridotte&#8221; a un ammasso di bugfix, ma dubito che anche una presentazione anticipata al WWDC possa avere tutte le novità di cui ha bisogno il nuovo OS (negli ultimi mesi molti sforzi sono stati passati all&#8217;iPhone OS o mac mobile come preferite).</p>
<p> </p>
<p><em>* la cosa di per se non mi convince ancora molto, a dirla tutta credo che le interfaccie touch dovrebbero essere pensate in maniera opportuna per questi dispositivi&#8230; altrimenti va a finire che ti ritrovi in mano un HTC touch con Windows (Mobile) che senza pennino è un martirio</em></p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Felini+senza+%26%238220%3Bpalle%26%238221%3B%3F+%28%21%29&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F06%2F04%2Ffelini-senza-palle%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/06/04/felini-senza-palle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>E&#8217; nella storia [di Windows] il problema</title>
		<link>http://www.malcom-mac.com/blog/2008/05/31/e-nella-storia-di-windows-il-problema/</link>
		<comments>http://www.malcom-mac.com/blog/2008/05/31/e-nella-storia-di-windows-il-problema/#comments</comments>
		<pubDate>Sat, 31 May 2008 08:47:15 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=570</guid>
		<description><![CDATA[“L’ultima di Windows è un (grosso) buco (nero) nell’acqua”: questo è il sentimento comune che gira da parecchio in rete, per lo più alimentato da tutta una serie di recensioni negative, campagne marketing, voltafaccia degli amici di sempre (vedi Dell e gran parte del settore enterprise) ma soprattuto da tutte quelle promesse disilluse e occasioni mancate che ne stanno decretando una (inevitabile) morte prematura.
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/05/31/e-nella-storia-di-windows-il-problema/" title="E&#8217; nella storia [di Windows] il problema">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "E&#8217; nella storia [di Windows] il problema", url: "http://www.malcom-mac.com/blog/2008/05/31/e-nella-storia-di-windows-il-problema/" });</script>]]></description>
			<content:encoded><![CDATA[<p>“L’ultima di Windows è un (grosso) buco (nero) nell’acqua”: questo è il sentimento comune che gira da parecchio in rete, per lo più alimentato da tutta una serie di recensioni negative, campagne marketing, voltafaccia degli amici di sempre (vedi Dell e gran parte del settore enterprise) ma soprattuto da tutte quelle promesse disilluse e occasioni mancate che ne stanno decretando una (inevitabile) morte prematura.</p>
<p>Tutto questo, come avrete certamente capito, è Windows Vista, che ad oltre un anno dalla sua (sofferta) uscita ufficiale sembra dato per morto anche dalla sua stessa mamma.</p>
<p>In questi giorni Microsoft, nella importante (e occhialuta) figura di William Gates III (l’ormai non-pensionato), ha presenziato ad una nota trasmissione americana (D: All Things Digital) annunciando le (la?) novità di Windows 7 che verrà rilasciato (presumibilmente) nel 2009.</p>
<p>Il prossimo Windows supporterà il touch. Nel 2009 Windows permetterà all’utente di utilizzare tutte e dieci le dita per interagire sullo schermo… a patto che il sistema riesca a non collassare (a solito) su se stesso come è (in alcuni casi) la tradizione.</p>
<p>Ma questo articolo non vuole assolutamente porre l’accento su quello che potrebbe essere il Windows che verrà, quanto più analizzare cosa ha portato Microsoft ha ritrovarsi in casa un gallina stitica (gli analisti come Gartner prevedono, in maniera forse fin troppo drammatica, un collasso dell’intero sistema e della Microsoft).</p>
<p>Lo faremo in un (piuttosto lungo per un post di un blog) viaggio in cui le scelte e i destini delle due aziende più rilevanti del settore informatico di questi anni (Apple e Microsoft) sono stati messi a confronto e giudicati. Errori e strategie vincenti che spesso sono trascurate perchè poco visibili.</p>
<p> </p>
<p><strong>SIAMO SICURI CHE IL PROBLEMA E’ IL PRESENTE?</strong></p>
<p>Come abbiamo detto, in questi ultimi giorni parecchi si sono cimentati nella critica delle scelte Microsoft nella progettazione e lancio del suo nuovo sistema operativo. L’errore che parecchi hanno fatto è stato però quello di guardare alle scelte presenti come fonte di tutti i mali: ma i problemi di Windows non vanno cercati ostinatamente nel suo futuro (perchè quella è solo una parte e probabilmente neanche così fondamentale), ma nella sua storia.</p>
<p>La necessità di coniugare 25 anni di decisioni cercando nel contempo di innovare (sono esagerato?) cercando una nuova rotta verso il futuro: è un pò come cercare di evitare un muro schiacciando il pedale dell’accelleratore (il che, come avrete intuito, non è proprio il miglior modo di salvarsi).</p>
<p>Queste decisioni sono state ammassate le une sulle altre, spesso si è trattato di idee che negli anni hanno contrastato con le precedenti (per motivi tenici o di marketing), o si è resa la necessità di creare delle vere e proprie pezze per mantenere una (necessaria) compatibilità con tutta una serie di vecchi applicativi.</p>
<p>Ad oggi, dando uno sguardo alla (maggior parte delle) applicazioni Windows ci si ritrova davanti ad un panorama di desolante confusione, dove al meglio si sono implementati set di controlli visuali personalizzati (ad esempio pulsanti stile Vista in XP e viceversa) ma al peggio ci si ritrova difronte a delle vere e proprie incosistenze del codice.</p>
<p>E se ogni male ha una radice quella di Windows è proprio la sua stessa azienda che è diventata la principale promotrice di software di sicuramente non eccelsa fattura (personalmente - lasciatemelo dire - sono ancora “scandalizzato” dallo scambio di posizioni tra barra dei menu e toolbar di pulsanti in Explorer).</p>
<p>Ma quando questi fatti erano ancora lungi dall’essere appena ipotizzati c’era un’altra azienda in grossi guai. Apple nella metà degli anni 90 si ritrovava con un sistema operativo (tecnologicamente e non solo) vecchio che non andava da nessuna parte e che aveva bisogno di un profondo e radicale cambiamento. Windows nello stesso periodo era parecchi passi avanti (multi-tasking preventivo, memoria protetta, la non necessità di allocare memoria per ogni applicazione e in generale una buona stabilità).</p>
<p>Il supporto agli sviluppatori, al contrario di Apple, era buono (a partire dalle copie in pre-release inviate fino alla completa MSDN library, supporto imprescindibile per chiunque volesse entrare nel mondo della programmazione win) e c’erano delle vere e proprie roadmap.</p>
<p>Tutto questo e altro faceva si che lo sviluppo e gli sviluppatori Windows venissero letteralmente coccolati: il sistema in poche parole era in una enorme fase di crescita.</p>
<p> </p>
<p><strong>IL TRAGUARDO DI APPLE</strong></p>
<p>Anno 2001: Apple finalmente si libera dal groviglio in cui era stata invischiata da ormai più di cinque anni e acquista NeXT (il che vuol dire Jobs di nuovo in casa ma anche e soprattutto un sistema operativo nuovo di zecca). L’idea di creare da zero un nuovo sistema operativo viene definitivamente accantonata e si sceglie di utilizzare NeXTstep come base per il nuovo OS.</p>
<p>Mac OS X entra così dalla finestra e per diverso tempo è costretto a convivere come il fratello scomodo (e ancora bebè) del più datato e meno dotato OS 9.</p>
<p>Mentre OS X incomincia a crescere gli sviluppatori iniziano a guardare con interesse alla nuova via: Quartz, Postiscript a video, core BSD Unix, Cocoa, Objective-C e tutta una serie di strumenti completi e moderni fanno (e faranno) di OS X una piattaforma di nuovo competitiva.</p>
<p>Nel frattempo viene presa una decisione di fondamentale importanza per gli anni a venire: la compatibilità con gli applicativi di OS 9 viene relegata ad una sorta di macchina virtuale, una sorta di sondbox in grado di isolare tutte le scomodità della vecchia guardia.</p>
<p>In compenso si offre (sebbene più che una scelta sia stata una necessità, comunque ben congeniata) ai programmatori di convertire le vecchie applicazioni in native con pochi aggiustamenti del codice (diverse presentazioni fanno i conti in termini di giorni o poche settimane) mentre le nuove avranno la possibilità di avvantaggiarsi utilizzando tutta una serie di strumenti e tecnologie moderne.</p>
<p>Questo tipo di approccio ribalta le carte in tavola e porta Apple in una posizione forte e nuovamente competitiva: il nuovo OS è libero da tutto il vecchio ciarpame, le vecchie applicazioni sono messe in una nicchia, chi vuole aggiornarsi può farlo con pochi passi mentre chi vuole guardare al futuro può farlo grazie a strumenti più semplici e moderni.</p>
<p>XP venne rilasciato più o meno in quegli stessi anni: era la personale risposta di Microsoft, una risposta che sarebbe dovuta durare (nelle intenzioni) per i successivi cinque anni.</p>
<p>Cinque anni che dall’altro lato della barricata sarebbero stati pieni di novità e di release. Mac OS X 10.1, 10.2, 10.3 e infine 10.4.</p>
<p>In questo periodo Apple non ha guardato solo alla superficie del proprio OS (tant’è vero che l’interfaccia, tranne alcuni ritocchi è rimasta per lo più la stessa - e probabilmente questo sarà uno dei punti alla base del prossimo 10.6) ma aggiunto e svecchiati definitivamente molteplici componenti: Core Audio ha offerto un moderno framework a bassa latenza per l’acquisizione e la manipolazione di segnali audio, Core Image ha introdotto tutta una serie di strumenti per la manipolazione anche complessa di immagini e così via.</p>
<p>Tutti questi componenti hanno permesso alla stessa Apple ma anche e soprattutto agli sviluppatori di poter creare software di grande qualità potendo contare su basi solide, professionali e di grande qualità (un nome su tutti che si può fare è Final Cut, ormai uno standard nel proprio settore).</p>
<p>Quello che in definitiva ha fatto Apple è stato creare una infrastruttura completa per supportare attivamente I propri sviluppatori, abbandonando deliberatamente il proprio ecosistema di compatibilità nel giro di pochi anni e rinnovando così tutto quanto.</p>
<p> </p>
<p><strong>LA PASSIONE COME PUNTO CHIAVE</strong></p>
<p>Quello che ha fatto Windows nello stesso periodo è stato generare solo una maggiore confusione. </p>
<p> </p>
<p>L’ecosistema di strumenti e oggetti di terze parti per Win è davvero vasto - molto più vasto di quello Mac - ma anche pieno di parecchie schifezze (progettualmente e qualitativamente parlando).</p>
<p>Ci sono poi parecchi sviluppatori ma in pochi si curano davvero di fare scelte oculate; molti di loro creano programmi gestionali in Visual Basic o siti in ASP/.net senza mettere passione nel proprio lavoro. Lo fanno perchè è un modo per essere pagati e tanto basta.</p>
<p>Queste affermazioni potrebbero sembrarvi stupide, ma la passione è una componente importante (non solo nello sviluppo di programmi ma anche e soprattuto in ogni aspetto della nostra vita); non c’è nessun interesse nell’usare nuove tecnologie, nel curare quello che si crea e non c’è nessun interesse nel progredire senza qualcosa che ci spinge a farlo. E probabilmente la miglior cosa che può fare questo (non sono i soldi) è la passione.</p>
<p>Gli sviluppatori Mac, la stragrande maggioranza di loro almeno, spesso non fanno software per grandi aziende e in generale non dimostrano lo stesso disinteresse. Questo significa che sicuramente per il mondo businness la piattaforma non offre tutto quel vasto repertorio di soluzioni che invece ha Microsoft, ma al contrario di questa ci si ritrova difronte a software di grande qualità.</p>
<p>Analizzando i movimenti di Microsoft in questi anni addietro si trova un peccaminoso immobilismo che è sfociato nella creazione di un OS [Vista] che non è poi così male, ma che sicuramente non è in grado di tracciare un solco che rimarrà nel tempo (è invece piuttosto probabile che Vista venga accantonato quanto prima).</p>
<p>Sviluppare software per Windows, secondo parecchi sviluppatori, è diventato ormai una pena e il ricordo dei bei giorni passati è ormai sfumato. Windows ha perso parecchio appeal verso i suoi sviluppatori e questo è in gran parte determinato da come Microsoft ha fatto crescere la sua creatura.</p>
<p> </p>
<p><strong>WINDOWS VISTO DA UN PROGRAMMATORE WINDOWS</strong></p>
<p>Quella che segue è l’opinione di Peter Bright <a href="http://arstechnica.com/articles/culture/what-microsoft-could-learn-from-apple.ars/3" >intervistato da Ars Technica</a> qualche mese addietro. Peter è un programmatore Windows, o meglio lo è stato per parecchi anni, fino a quando un bel giorno si è trovato difrontre alla necessità di fare un cambiamento.</p>
<p>Ho creduto fosse un elemento importante per completare questa prima parte del racconto e per rafforzare le convinzioni che fin qui ho esposto (personalmente non sono un programmatore Windows e parlare per bocca mia sarebbe stato un crimine).</p>
<p>Nella storia di Microsoft per trovare un cambiamento che almeno in parte (una parte piuttosto piccola, difficile da mettere a confronto) sia simile a quello di Apple con OS X, dobbiamo risalire alla metà degli anni 90 e in particolare alla nascita di Windows NT.</p>
<p>Windows NT fu progettato come un sistema operativo moderno ma con la necessità di mantenere una compatibilità verso I suoi predecessori: fu questa la ragione per la quale le sue API (ovvero tutto il set di componenti e funzioni a supporto del programmatore) furono progettate tenendo a mente prima quelle di Windows a 16 bit, poi più avanti quelle a 32 (Win32).</p>
<p>Questa decisione si trascina a tutt’oggi e quindi Win64 continua a riflettere scelte ormai occorse 20 anni prima.</p>
<p>Lo stesso Peter Bright ha parlato a lungo in questo articolo circa Windows Vista, definendo ad esempio lo stack grafico come un modulo ancora fortemente ancorato al passato, e per questo ovviamente parecchio vecchio.</p>
<p>Tutto questo per far si che il vecchio riesca a coesistere ancora nel nuovo, castrando letterlamente la possibilità di innovare.</p>
<p>Ma quello che rende il tutto più problematico secondo Bright è l’inconsistenza che si trova in tutte le API da Windows 16 a, e soprattuto, Win32.</p>
<p>Le API Win32 raccolgo molte centinaia di funzioni ma la maggior parte sono inconsistenti.</p>
<p>Bright prende ad esempio alcune funzioni che richiedono che il chiamante dia un buffer alla funzione, che verrà usato da questa per salvare alcuni dati (e quindi la dimensione del buffer stesso sarà dinamica). Generalmente la funzione può sapere quanto deve essere grande questo buffer… ma non è così.</p>
<p>E se pensate che dentro Win32 questo problema sia risolto in un modo e sia lo stesso ogni volta (sperabilmente anche il migliore a disposizione), ebbene vi sbagliate di grosso.</p>
<p>Senza entrare troppo nel metodo ci sono almeno 4 soluzioni diverse utilizzate dagli sviluppatori MS.</p>
<p>Ma questo è solo uno dei tanti esempi che rendono la programmazione Win decisamente poco attraente e sicuramente a volte anche problematica.</p>
<p> </p>
<p><strong>.NET</strong></p>
<p>Ma Win32 non è certamente l’ultima creatura di Microsoft in ordine di tempo. Durante gli anni di staticità di XP, mentre OS X cresceva e OS 9 entrava ormai a far parte della storia, la società di Redmond iniziò a pensare ad una nuova piattaforma di sviluppo. Il suo nome, come avrete intuito, è .NET e merita sicuramente un discorso a parte.</p>
<p>Il framework .NET esce nel 2002 ed è per Microsoft una rivoluzione: finalmente gli sviluppatori si trovano davanti ad un prodotto organico e aggiornato coi tempi.</p>
<p>Ma soprattuto potrebbe segnare un punto di svolta dalle vecchie API Win16,Win32.</p>
<p>.NET è stato ed è a tutt’oggi molto appoggiato da Microsoft; le campagne pubblicitarie a partire dal 2002 si sono fatte molto insistenti e la stessa Microsoft ha cercato di dare il buon esempio sviluppando parti di XP proprio in .NET.</p>
<p>Ma il problema di .NET non è il suo linguaggio C# (che per quanto sia simile a Java è comunque un ottimo passo avanti) e neanche la sua macchina virtuale (che in quanto a performance non se la cava male), quanto più la libreria stessa: .NET Library.</p>
<p>Un altro grosso problema di .NET è il pubblico si rivolge, un pubblico di programmatori che non sono tutti uguali.</p>
<p>Ma per capire meglio questo devo entrare più nel dettaglio.</p>
<p>Provate a pensare a tutte quelle persone, tecnici di laboratorio, analisti o ricercatori che usano Access, Excel o VB6 per creare le proprie applicazioni. Tutte queste persone non sono veri programmatori, a loro non interessa scrivere del buon codice, curarsi dell’interfaccia ne tanto meno di creare un buon prodotto: il loro obiettivo non è sviluppare nel senso stretto. E in questo ambito I tre tool appena citati sono il massimo.</p>
<p>Poi ci sono tutti quei programmatori che lo fanno per lavoro e quindi nel bene o nel male hanno una certa familiarità con quello che usano. Questa gente non ama certamente le novità e non la vedrete mai fagocitare libri tecnici per aggiornarsi. Loro usano VB6 e probabilmente non vanno oltre perchè non ne hanno bisogno ne tanto meno voglia.</p>
<p>Il loro codice non sarà certamente arte ma funziona e poi il basic è pure facile. Questa gente lavora a programmi gestionali, quelli per PA o per aziende private. A nessuno di loro importa fare dell’ottimo codice, e I loro utenti sono ancora meno interessati a quello che dovranno usare.</p>
<p>Anche se il loro software non è gran che questo è il bacino più grosso di Microsoft: si tratta di applicazioni chiave fatte in VB che girano solo e soltanto su Windows.</p>
<p>Alla fine troviamo invece tutti quelli che sono I programmatori veri. Questo genere di persone sono conscie di quello che usano, si aggiornano e quando programmano cercano di dare il massimo. Di solito programmano in C++ e il software finale è molto curato e sicuramente di gran lunga superiore ai precedenti.</p>
<p>In un mondo pre-.NET tutto questo non sarebbe stato un problema: ad ognuno il suo e così  l’analista crea macro per excel, il secondo gioca con VB e il terzo fa il mago del C++.</p>
<p>Ma l’obiettivo di .NET è far stare tutti dentro .NET.</p>
<p>L’idea di base è quella di dare un set comune a tutti questi programmatori: così mentre I primi due gruppi trovano parecchio (anche troppo rispetto a quello) di quello di cui hanno bisogno, gli esperti si scoprono tutte le magagne e limitazioni.</p>
<p>Cosa ancora più grave, molte delle soluzioni adottate in .NET (come ad esempio I Windows Form) sono progettate e integrate strettamente con le relative funzioni di Win32, affossando così quello che sarebbe potuto essere ma non è questo nuovo framework: un taglio definitivo con il passato.</p>
<p> </p>
<p><strong>Il SECONDO CHECKPOINT</strong></p>
<p>Dopo aver visto .NET è tappa obbligata fermarsi su un altro punto cruciale della storia di Redmond. Win64, la versione riscritta delle API per sistemi a 64-bit.</p>
<p>Portare un programma a 32 bit in Win64 significa almeno ricompilarlo e, in alcuni casi, effettuare i necessari cambiamenti affinchè possa funzionare senza problemi e sfrutti appieno le nuove potenzialità.</p>
<p>Questo potrebbe portarci a pensare che forse questa volta MS abbia deciso di rendere le API più compatte (almeno un pò), ma in realtà non è stato così.</p>
<p>Per chiarire meglio proviamo a fare un esempio. In Windows esiste una funzione che restituisce la dimensione di un file; I file in windows sono limitati a 2 alla 64 bytes e quindi per essere espressi facilmente hanno bisogno di 64bit. Per risolvere questo su sistemi a 32 bit li si combina in una maniera particolare; su Win64 ci si aspetta invece ragionevolmente un intero di 64bit. Speranza persa.</p>
<p>Quello che voglio dire è che la necessità di supportare API deprecate (alcune fin da Win16) ha fatto si che Microsoft non riuscisse a tagliare in maniera adeguata i ponti con il passato, contribuendo a rendere tutto l’ambiente pieno di questi piccoli problemi che alla fine danno solo grattacapi ai programmatori come Peter.</p>
<p>Si è sacrificato quindi il design - e la pazienza dei programmatori - a favore di una forte retrocompatibilità.</p>
<p>Questo fatto si riflette sia sui programmi esterni che sulle applicazioni di Microsoft stessa, alcune delle quali (soprattuto nel settore business) non sono state più aggiornate e spesso incappano in problemi dovuti ai cambiamenti interni del sistema intercorsi nei vari aggiornamenti.</p>
<p>Per cercare di mantenere un ambiente il più possibile amichevole con queste applicazioni Microsoft ha inserito in windows tutta una serie istruzioni che non si sa bene come funzionano (nessuna di queste è documentata quindi la loro stessa funzionalità non è garantita da nessuno) e che tendono a rendere più fragile l’intero sistema.</p>
<p>Peter racconta anche un piccolo aneddoto per farci capire meglio le cose: in Windows a 16bit la cartella di sistema dove vengono inserite tutte le librerie è chiamata “system”. In Win32 il suo nome è cambiato in “system32”; in Win64 il suo nome è cambiato in… “system32”(!). Solito problema di retrocompatibilità, anche se quella cartella contiene tutta roba per il 32 bit.</p>
<p>I file per il 64 bit sono in “syswow64”.</p>
<p>Esatto, una cartella con 64 nel nome, ma che contiene file per il 32bit. Riuscite a darci un senso?</p>
<p> </p>
<p><strong>LA SITUAZIONE DI OS X</strong></p>
<p>Ma lasciamo per un attimo Windows. Quello che Microsoft non è riuscita a fare, ovvero troncare in maniera netta col passato - innovando - pur mantenendo una certa retrocompatibilità, lo ha fatto Mac OS X.</p>
<p>Un ottimo set di API ha facilitato la creazione di applicazioni di grande qualità; le applicazioni della stessa Apple (se lasciamo di conto alcune scelte intercorse tra 10.3 e 10.4) hanno creato una pista seguita da tutte le altre perchè hanno fatto si che nell’utente si insediasse il desiderio di poter utilizzare dei buoni prodotti (buoni nel codice ma anche nella loro resa grafica).</p>
<p> </p>
<p><strong>VISTA</strong></p>
<p>Quello che non si è materializzato con Windows XP Microsoft ha cercato di renderlo realtà con l’arrivo di Windows Vista; in particolare si è cercato di creare un intero set di funzionalità per .NET in grado di essere utilizzate in applicazioni chiave quale, ad esempio, lo stesso Explorer.</p>
<p>.NET per Longhorn (nome in codice di Vista) sin dalle prime versione ha trasmesso nel programmatore l’idea che finalmente era possibile tornare a programmare per Windows in maniera decente avendo addinittura un look&amp;feel consistente.</p>
<p>Purtroppo però quell’idea è andata perdendosi tra una build e l’altra, tra un taglio e l’altro e il sogno anche questa volta è svanito. Il risultato è stato Windows Vista.</p>
<p>Siamo tornati così al punto iniziale del nostro viaggio, ed è finalmente giunto il momento di parlare di questa (in)voluzione.</p>
<p>Durante la progettazione di Vista gli ingegneri hanno lavorato parecchio sulle linee guida dell’interfaccia; l’ovvia ispirazione viene da OS X, ma la realizzazione pecca ancora di parecchi buchi.</p>
<p>Pensiamo ad esempio alle finestre di dialogo che in Windows sono sempre state bistrattate. Queste finestre riportano quasi tassativamente I due pulsanti “Si” “No” oppure “OK”, “Cancel”; questo significa che è necessario leggere l’intero messaggio per avere solo la vaga idea di quello che succedere.</p>
<p>In un mondo perfetto non ci sarebbero problemi, ma gli utenti di solito cliccano a caso e sopra le due righe di testo perdono la concentrazione.</p>
<p>Così in un documento di testo non ci sarà ad esempio “Save” “Don’t Save” ma “Yes”, “No”.</p>
<p>Dopo 20 anni Microsoft ha capito questa cosa.</p>
<p>L’idea delle linee guida è ottima; lo abbiam visto con OS Classic e lo vediamo con OS X. La necessità di rendere le applicazioni omogenee con l’intero sistema non è semplicemente una questione di look ma anche di semplicità e immediatezza nell’uso.</p>
<p>Quando neanche Microsoft rispetta le proprie linee guida ne in Vista, ne in Office, come si può pretendere che qualcuno le legga?</p>
<p>Window Explorer e Internet Explorer sembrano uguali, alcuni pulsanti sono simili, ma se guardate bene ci sono differenze deliberate ovunque. Non c’è nessuna consistenza. E questo si riflette sia sull’interfaccia sia sull’implementazione dei controlli (che non è la stessa e condivisa ma che ricalca scelte personali dei programmatori).</p>
<p>E così si ritorna di nuovo indietro.</p>
<p>Piccoli e grandi cambiamenti, piccole e grandi differenze che contribuiscono a rendere l’esperienza d’uso da potenzialmente buona a…sicuramente mediocre.</p>
<p>Se neanche Microsoft si prende cura di rispettare le proprie linee guida perchè dovrebbero farlo I programmatori? E anche volendolo fare a quale genere di implementazione dovrebbero ispirarsi? Messenger? Office? Explorer?</p>
<p>E per quanto la loro implementazione potrà essere usata se da una versione all’altra viene abbandonata completamente la precedente?</p>
<p>Mac OS X non è certamente un sistema perfetto; chi lo ha usato continuamente durante questi anni avrà sicuramente notato i diversi esperimenti (e follie) che a volta Apple ha deciso di fare sulle proprie applicazioni.</p>
<p>Tuttavia tranne delle piccole differenze l’interfaccia rimane quella. Ad esempio, la menubar è sempre quella, non è messa sotto i pulsanti della toolbar per chi sa quale motivo e non ha un look diverso dalle altre.</p>
<p>Schemi di interfaccia come le HUD (quelle grigie) sono usati da applicazioni di terze parti in ben determinati ambiti e non sfociano in un uso indiscriminato e casuale.</p>
<p>Questo continuo reinventare la ruota senza fare di queste realizzazioni porzioni di sistema (ovvero renderle disponibili alle altre app) ha portato alla creazione di implementazioni customizzate degli stessi che possono di nuovo cozzare col resto di Windows nel momento in cui qualcosa cambia.</p>
<p>La ribbon bar (quella di Office) ha ben due implementazioni, quella interna di Microsoft e quella comprata da sviluppatori di terze parti, e nessuna delle due può essere al momento usata su .NET; solo C++.</p>
<p>La chicca speciale è che sembra ce ne sarà una nuova anche per il prossimo sistema operativo.</p>
<p> </p>
<p><strong>CONCLUSIONE</strong></p>
<p>E’ stato probabilmente l’articolo più lungo di questo blog e se siete arrivati fin qui vorrete certamente un piccolo riassunto di quanto detto.</p>
<p>Sono principalmente due i concetti che ho voluto sviscerarvi. Il primo riguarda un ambito che a prima vista può sembrare di poco conto: la passione che i programmatori in Windows metto nelle loro applicazioni. Questo punto è fortemente penalizzato dalle scelte di Microsoft nella sua storia, dalla incoerenza nel perseguire le proprie scelte e nello scarso e frammentato supporto che offre.</p>
<p>L’altro punto chiave è di natura più tecnica e riguarda la necessità sempre più impellente di dare un taglio con il passato; abbiamo visto come Apple sia riuscita perfettamente in questa scelta mentre in Redmond nella corsa a dare manforte al passato ci si è ritrovati a combattere con un futuro più disomogeneo, confusionario e ultimo ma fondamentale, anche più fragile.</p>
<p>Eppure, come abbiamo visto nell’ultima parte, le occasioni non sono mancate; semplicemente le si è ignorate.</p>
<p>Ora che Bill ha presentato le novità più grandi del Windows prossimo venturo (in cui sembra dominerà il touch) ci chiediamo se ancora una volta verranno fatti gli errori di sempre, oppure si guarderà veramente in avanti.</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=E%26%238217%3B+nella+storia+%5Bdi+Windows%5D+il+problema&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F05%2F31%2Fe-nella-storia-di-windows-il-problema%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/05/31/e-nella-storia-di-windows-il-problema/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La rivoluzione (molto prossima) del Memristore</title>
		<link>http://www.malcom-mac.com/blog/2008/05/31/la-rivoluzione-molto-prossima-del-memristore/</link>
		<comments>http://www.malcom-mac.com/blog/2008/05/31/la-rivoluzione-molto-prossima-del-memristore/#comments</comments>
		<pubDate>Sat, 31 May 2008 08:32:38 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<category><![CDATA[memristore]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=569</guid>
		<description><![CDATA[E’ notizia di qualche settimana ma l’importanza e la ricaduta futura (quanto futura lo sa solo il mercato, che probabilmente continuerà a lungo a far fruttare le tecnologie odierne) della notizia meritano sicuramente un posto d’onore in questo piccolo spazio.
La Quantum System Lab di HP ha annunciato di aver portato a termine la prima realizzazione di un nuovo componente elettronico in grado di aprire un nuovo corso nella storia, non solo delle memorie per computer, ma anche ram. Si tratta del memristore (memory resistor), componente la cui esistenza fu ipotizzata per la prima volta dall’ingegnere Leon Chua nel 1971 durante lo studio dei circuiti non lineari (sono passati 30 anni e a discapito di tutti questi anni passati, Chua è probabilmente uno dei pochi scienziati che hanno visto trasformare in realtà le proprie teorie matematiche).
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/05/31/la-rivoluzione-molto-prossima-del-memristore/" title="La rivoluzione (molto prossima) del Memristore">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "La rivoluzione (molto prossima) del Memristore", url: "http://www.malcom-mac.com/blog/2008/05/31/la-rivoluzione-molto-prossima-del-memristore/" });</script>]]></description>
			<content:encoded><![CDATA[<p>E’ notizia di qualche settimana ma l’importanza e la ricaduta futura (quanto futura lo sa solo il mercato, che probabilmente continuerà a lungo a far fruttare le tecnologie odierne) della notizia meritano sicuramente un posto d’onore in questo piccolo spazio.</p>
<p>La Quantum System Lab di HP ha annunciato di aver portato a termine la prima realizzazione di un nuovo componente elettronico in grado di aprire un nuovo corso nella storia, non solo delle memorie per computer, ma anche ram. Si tratta del memristore (memory resistor), componente la cui esistenza fu ipotizzata per la prima volta dall’ingegnere Leon Chua nel 1971 durante lo studio dei circuiti non lineari (sono passati 30 anni e a discapito di tutti questi anni passati, Chua è probabilmente uno dei pochi scienziati che hanno visto trasformare in realtà le proprie teorie matematiche).</p>
<p>Il memristore è essenzialmente un resistore (resistenza) con capacità di mantenere il proprio stato. La resistenza atuale del memristore inoltre varia a seconda dell’intensità del voltaggio e dal suo tempo di esposizione.</p>
<p>Una delle prime implicazioni di una invenzione del genere riguarda certamente il campo delle memorie ram: se i computer fossero creati con componenti di questo tipo potrebbero conservare il loro stato (e quindi i dati immagazzinati) anche quando non alimentati da corrente: il risultato pratico porterebbe quindi a non avere più bisogno di “spegnere” il sistema operativo (in maniera simile alle memorie a stato solido) ottenendo così un computer decisamente più reattivo.</p>
<p>Il motivo per il quale soltanto in questi ultimi anni è stato possibile concretizzare la teoria di Leon è dato dal progresso tecnologico: soltanto nel 2008 il team è riuscito a sviluppare una pellicola nanoscopica di diossido di titanio tra due nastri di platino dello spessore di 5 nanometri (un decimillesimo del diametro di un vostre capello).</p>
<p>In particolare il gruppo di scienziati ha scoperto il memristore guardando ad un fenomeno già conosciuto: una resistenza di diossido di tanio varia il suo valore in base all’esposizione con l’ossigeno.Il memristore creato da HP è basato su una pellicola di diossido di titanio in cui mancano alcuni atomi di ossigeno. Questi difetti del cristallo permettono il passaggio della corrente elettrica attraverso il diossido; meno ce ne sono più la resistenza è alta. Questi “buchi” (come per le lacune nei semiconduttori) possono essere “guidati” da una parte all’altra della pellicola simulando i comportamenti di on-off del memoristore e la resistenza variabile.</p>
<p>Ma la più grande implicazione di questa teoria non sta nella capacità di memorizzare il semplice stato ma di poter utilizzare il memristore come un componente analogico nella costruzioni di altri tipi di circuito. Uno degli scopi più probabili sta nella possibilità di creare reti neurali utilizzando i memristori. Costruire un computer analogico significa non è dover utilizzare soltanto 1 e 0 per codificare le informazioni ma fare conto con tutta quella scala di valori intermedia permettendo insieme ad una alta densità di storage anche una forte potenza computazionale.</p>
<p>Così mentre alcuni ricercatori provano a lavorare con l’intelligenza artificiale cercando di emulare i comportamenti di un sistema biologico su un computer digitale col risultato di avere a che fare con la scarsità di potenza che ne deriva (piccole porzioni del nostro cervello richiedono attualmente grandi potenze di calcolo), il computer analogico potrà fare questo in maniera enormemente più rapida e molto più simile a quanto la nostra natura biologica ci permette.</p>
<p>Williams (il capo ricerca del team) a tal proposito ha detto: “Invece di scrivere programmi per computer che simulano il cervello e le sue funzioni potremmo fornire “l’hardware” necessario ad emulare il comportamento del cervello stesso”.</p>
<p>I risultati del team di Williams sono stati pubblicati su Nature di qualche settimana fa (è richiesta l’iscrizione). Per ora i ricercatori hanno fatto alcune prove del memristore come elemento per lo storage. In un centimetro quadrato di componente sono riusciti ad inserire 100gigabits (le memorie allo stato solido attuali arrivano fino a 16) ma questo è solo l’inizio: si pensa infatti che con opportuni affinamenti il sistema potrà contenere terabit e più per centimetro.</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=La+rivoluzione+%28molto+prossima%29+del+Memristore&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F05%2F31%2Fla-rivoluzione-molto-prossima-del-memristore%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/05/31/la-rivoluzione-molto-prossima-del-memristore/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mirror mirror</title>
		<link>http://www.malcom-mac.com/blog/2008/05/29/mirror-mirror/</link>
		<comments>http://www.malcom-mac.com/blog/2008/05/29/mirror-mirror/#comments</comments>
		<pubDate>Thu, 29 May 2008 15:07:55 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=568</guid>
		<description><![CDATA[E&#8217; una mia impressione o ultimamente parecchi dei commenti alle notizie di melablog assomigliano più alle bibliografie nelle ultime pagine di un libro? Ogni due per tre ti ritrovi la notizia o il link alla notizia americana (e in effetti sembra proprio che melablog sia un mirror maccheronico dei vari macrumors o tuaw) e a farci proprio caso spesso e volentieri ci incollano pure le stesse immagini. Ha senso un lavoro del genere? Qualche anno a sembrava tutto più curato e ogni tanto c&#8217;erano anche degli approfondimenti con spunti interessanti. Ultimamente mi ritrovo a leggere traduzioni (diverse anche fin troppo superficiali) di notizie inglesi a cui non ci si prende neanche più la briga di dare un pizzico di propri pensieri.
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/05/29/mirror-mirror/" title="Mirror mirror">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "Mirror mirror", url: "http://www.malcom-mac.com/blog/2008/05/29/mirror-mirror/" });</script>]]></description>
			<content:encoded><![CDATA[<p>E&#8217; una mia impressione o ultimamente parecchi dei commenti alle notizie di melablog assomigliano più alle bibliografie nelle ultime pagine di un libro? Ogni due per tre ti ritrovi la notizia o il link alla notizia americana (e in effetti sembra proprio che melablog sia un mirror maccheronico dei vari macrumors o tuaw) e a farci proprio caso spesso e volentieri ci incollano pure le stesse immagini. Ha senso un lavoro del genere? Qualche anno a sembrava tutto più curato e ogni tanto c&#8217;erano anche degli approfondimenti con spunti interessanti. Ultimamente mi ritrovo a leggere traduzioni (diverse anche fin troppo superficiali) di notizie inglesi a cui non ci si prende neanche più la briga di dare un pizzico di propri pensieri.<br />
Leggo melablog e mi chiedo se ha senso fare così. E&#8217; un pò un gossip journal tipo Leggo (quello gratuito che gira qui a roma e dove all&#8217;università lo usano giusto per lo (scrauso) cruciverba) dove però non si spoglia nessuna bella donnina.<br />
A suo modo invece macity sembra aver ritrovato lo smalto perduto e ad oggi mi pare sicuramente un punto di riferimento più valido (non fosse altro che almeno qualcosa di loro ce lo mettono).<br />
Nel frattempo però faccio il doppio gioco e cullo l&#8217;idea di una collaborazione con qualcuno di loro (magari per approfondimenti più che per il servizio traduzioni). </p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Mirror+mirror&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F05%2F29%2Fmirror-mirror%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/05/29/mirror-mirror/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Notizie sparse</title>
		<link>http://www.malcom-mac.com/blog/2008/05/21/notizie-sparse-3/</link>
		<comments>http://www.malcom-mac.com/blog/2008/05/21/notizie-sparse-3/#comments</comments>
		<pubDate>Wed, 21 May 2008 10:27:16 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=565</guid>
		<description><![CDATA[Il sito è ancora qui. Presto caricò dei nuovi articoli scritti in questi mesi di latitanza. Comunque l&#8217;importante è esserci. Nel frattempo sto cercando di ridisegnare le pagine del sito e relegare l&#8217;uso di wordpress alla sola parte del blog (quindi ogni programma avrà una sua pagina a parte). Lo stile del blog sarà probabilmente questo. Abbastanza triste lo so, ma vedrete che si intonerà bene col resto del sito (la ricerca tra i millemiliardi di temi di wordpress non ha dato i frutti sperati; in vero mi il 95% della roba che ho visto era mondezza.
<script type="text/javascript">SHARETHIS.addEntry({ title: "Notizie sparse", url: "http://www.malcom-mac.com/blog/2008/05/21/notizie-sparse-3/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Il sito è ancora qui. Presto caricò dei nuovi articoli scritti in questi mesi di latitanza. Comunque l&#8217;importante è esserci. Nel frattempo sto cercando di ridisegnare le pagine del sito e relegare l&#8217;uso di wordpress alla sola parte del blog (quindi ogni programma avrà una sua pagina a parte). Lo stile del blog sarà probabilmente questo. Abbastanza triste lo so, ma vedrete che si intonerà bene col resto del sito (la ricerca tra i millemiliardi di temi di wordpress non ha dato i frutti sperati; in vero mi il 95% della roba che ho visto era mondezza.</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Notizie+sparse&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F05%2F21%2Fnotizie-sparse-3%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/05/21/notizie-sparse-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Un saluto</title>
		<link>http://www.malcom-mac.com/blog/2008/05/06/un-saluto-2/</link>
		<comments>http://www.malcom-mac.com/blog/2008/05/06/un-saluto-2/#comments</comments>
		<pubDate>Tue, 06 May 2008 20:43:30 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=564</guid>
		<description><![CDATA[Domenica scorsa è venuta a mancare una persona che per un certo periodo ha fatto parte della mia vita e a cui avevo incominciato a volere bene. Poi varie vicissitudini mi hanno comunque allontanato da quell&#8217;ambiente quindi non ho più avuto modo di incontrarlo.
Tuttavia la notizia (una di quelle che viaggiano col conto alla rovescia, di quelle aspettate che forse fanno anche più male) della scomparsa mi ha lasciato una fitta e sono riaffiorati diversi ricordi che ormai avevo messo in archivio (ma non dimenticati, quello mai).
<span class="readmore"><a href="http://www.malcom-mac.com/blog/2008/05/06/un-saluto-2/" title="Un saluto">Read the full story &#187;</a></span><script type="text/javascript">SHARETHIS.addEntry({ title: "Un saluto", url: "http://www.malcom-mac.com/blog/2008/05/06/un-saluto-2/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Domenica scorsa è venuta a mancare una persona che per un certo periodo ha fatto parte della mia vita e a cui avevo incominciato a volere bene. Poi varie vicissitudini mi hanno comunque allontanato da quell&#8217;ambiente quindi non ho più avuto modo di incontrarlo.<br />
Tuttavia la notizia (una di quelle che viaggiano col conto alla rovescia, di quelle aspettate che forse fanno anche più male) della scomparsa mi ha lasciato una fitta e sono riaffiorati diversi ricordi che ormai avevo messo in archivio (ma non dimenticati, quello mai).<br />
Ci ho pensato parecchio prima di scrivere queste righe ma alla fine mi sono deciso: questo blog e chi vi scrive salutano con affetto questa persona che se ne è andata e ha lasciato il vuoto più grande nelle persone che lo hanno amato e continuano a farlo. E io faccio un abbraccio anche a loro. </p>
<p>Ciao&#8230;</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Un+saluto&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F05%2F06%2Fun-saluto-2%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/05/06/un-saluto-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Aggiornamenti&#8230;</title>
		<link>http://www.malcom-mac.com/blog/2008/04/01/aggiornamenti/</link>
		<comments>http://www.malcom-mac.com/blog/2008/04/01/aggiornamenti/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 00:34:42 +0000</pubDate>
		<dc:creator>malcom.mac</dc:creator>
		
		<category><![CDATA[Blog Cafe]]></category>

		<guid isPermaLink="false">http://www.malcom-mac.com/blog/?p=563</guid>
		<description><![CDATA[Come vedete il blog è in fase di aggiornamento (installato anche wordpress 2.5). Visti i tempi di reazione di questi giorni è probabile che rimanga tale per un pò. Nel frattempo cercherò anche di capire che tema posso usare (che ne dite di questo nuovo asettico grigio?).
<script type="text/javascript">SHARETHIS.addEntry({ title: "Aggiornamenti&#8230;", url: "http://www.malcom-mac.com/blog/2008/04/01/aggiornamenti/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Come vedete il blog è in fase di aggiornamento (installato anche wordpress 2.5). Visti i tempi di reazione di questi giorni è probabile che rimanga tale per un pò. Nel frattempo cercherò anche di capire che tema posso usare (che ne dite di questo nuovo asettico grigio?).</p>
<p><a href="http://sharethis.com/item?&wp=2.5.1&amp;publisher=efa15e26-1150-4b31-a9f5-f432b2dee1e6&amp;title=Aggiornamenti%26%238230%3B&amp;url=http%3A%2F%2Fwww.malcom-mac.com%2Fblog%2F2008%2F04%2F01%2Faggiornamenti%2F" >ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.malcom-mac.com/blog/2008/04/01/aggiornamenti/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
