{"id":790,"date":"2004-12-19T22:12:00","date_gmt":"2004-12-20T07:12:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2004\/12\/19\/sviluppare-su-media-center-guida-per-programmatori-oberati-1-i-rudimenti\/"},"modified":"2013-03-16T11:47:26","modified_gmt":"2013-03-16T20:47:26","slug":"326794","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2004\/12\/19\/326794\/","title":{"rendered":"Sviluppare su Media Center, guida per programmatori oberati 1: i Rudimenti"},"content":{"rendered":"<p>Hi again. As announced, I&#8217;m going on with some introductory posts about Media Center development. I&#8217;m going to provide a condensed view of what can be found in the standard documentation of the product. As announced, the post will be in Italian: if you want details of an English version let me know via comments. Today I introduce the platform.<\/p>\n<p><span>&nbsp;&nbsp;<\/span>&nbsp;&nbsp;<span>&nbsp;&nbsp;<\/span><\/p>\n<p>Rieccoci! Come promesso, ecco una spannometrica introduzione a Media Center. Ricordo ancora una volta che qui mi rivolgo a chi non si \u00e8 ancora interessato alla documentazione ufficiale, perfettamente esaustiva, ma che vuole farsi una idea dell&#8217;argomento.<\/p>\n<p><strong>Media Center: alla fine delle fini, che roba \u00e8?<\/strong><\/p>\n<p>Un sistema operativo. Sostanzialmente \u00e8 XP pro, &#8220;poco&#8221; di pi\u00f9 e poco di meno. Di pi\u00f9 perch\u00e8 ha il Tasto Verde e tutto quel che ne deriva (more about that later), meno perch\u00e8 non pu\u00f2 joinare un dominio. Vediamo di vedere la cosa dal punto di vista pratico.<br \/>Mettiamo che siate abbonati a MSDN: fate un salto sui subscriber downloads e vi tirate gi\u00f9 le due .ISO che costituiscono l&#8217;installazione (attenzione, il locale \u00e8 importante: i servizi sono diversi country per country. Questa volta quindi consiglierei l&#8217;italiano, contrariamente alle mie abitudini anglofone per il sw); bruciate i due CD o mettete su Daemon tools (attenzioen alla licenza)&nbsp;o similare; ottenete una chiave valida (sempre via subscriber download) e installate (su HW tradizionale o addirittura su Virtual PC\/Virtuals Server: ricordate che NON \u00e8 supportato nella maniera pi\u00f9 assoluta su HW non certificato, ma per sperimentare\/sviluppare \u00e8 una soluzione tutto sommato praticabile). L&#8217;installazione sembra quella di un normalissimo XP.<br \/>Dopo l&#8217;ultimo reboot vi loggate, et voil\u00e0! Windows XP, paro paro. Prima di subodorare odor di fregatura, aprite il menu Start: la voce Media Center spiccher\u00e0 come croco in polveroso prato, con la sua brava icona verde.<\/p>\n<p><strong>L&#8217;interfaccia Media Center<\/strong><\/p>\n<p>Cliccando sulla entry Media Center, verrete probabilmente accolti da una dialog d&#8217;errore che avverte dell&#8217;incompatibilit\u00e0 della scheda video con Media Center: ce lo siamo meritati, abbiamo installato su HW non certificato, ma siamo sviluppateurs e non ci facciamo intimidire. Alla dialog fa seguito la comparsa a tutto schermo della UI Media Center, probabilmente in modalit\u00e0 prima configurazione. A questo punto s&#8217;impone una breve digressione sulla filosofia della cosa.<br \/>La UI di Media Center ricorda un po&#8217; un mix tra un chiosco multimediale, il menu di un DVD o la UI di un videogame. Oziando un po&#8217; tra le varie opzioni si noter\u00e0 l&#8217;evidente bias verso le feature multimediali, che costituiscono la stragrande maggioranza delle voci di menu e che sfortunatamente sono in larga parte precluse all&#8217;HW di sviluppo che abbiamo scelto.&nbsp;Ci sono decine di implicazioni &amp; motivazioni, tutte spiegate con dovizia di particolari nei siti opportuni e nella documentazione dell&#8217;SDK, ma qui fatemi essere minimalista: l&#8217;idea \u00e8 quella di offrire accesso alle feature del sistema 1) attraverso l&#8217;input di una device minimale (il telecomando) e 2) rendendo i dati fruibili&nbsp;via televisore visto dal divano,&nbsp;una distanza ben maggiore dei tradizionali 75 cm che hanno reso l&#8217;astigmatismo quasi una malattia professionale. Vediamo qualche implicazione di questi due punti.<br \/>Il telecomando: freccie direzionali per spostare il focus, tasto OK per selezionare, tasto Back per tornare alla schermata precedente, tasto Clear per ripulire campi di testo, tastierino numerico per inserire numeri (e testi, \u00e0 la SMS), tasto verde come faro di riferimento &amp; salvagente in caso di annegamento cognitivo: riporta alla schermata iniziale, da dove si pu\u00f2 ricominciare ad esplorare. Alcuni telecomandi possono avere pi\u00f9 tasti, in rarissimi casi ne possono avere meno: comunque \u00e8 FONDAMENTALE ricordare che il proprio utente avr\u00e0 solo tali comandi a disposizione, e non sar\u00e0 disposto a dare loro significati polimorfici (i tasti direzione servono a muovere il focus: se nella mia applicazione cambio questo semplice fatto, del tipo creo una combo che quando ha il focus usa i tasti su e gi\u00f9 per ciclare tra le varie voci, l&#8217;utente si sentir\u00e0 per certo &#8220;intrappolato&#8221; e la reazione + probabile sar\u00e0 di teleportarsi via tasto verde sulla home, per mai pi\u00f9 ritornare sulla pagina incriminata).<br \/>La fruizione da distante ha implicazioni se possibile ancora pi\u00f9 profonde: a parte valutazioni di natura squisitamente tecnogica (i colori non possono essere troppo saturi o troppo chiari,a ltrimenti flickerano come disperati e imprimono un tatuaggio di persistenza retinale in fondo all&#8217;umor vitreo del malcapitato utente; le linee e i dettagli non possono essere troppo delicati, o una congiura tra antialiasing e teorema del campionamento procureranno la kinetopatia anche al marinaio pi\u00f9 navigato), l&#8217;effetto pi\u00f9 macroscopico \u00e8la drastica riduzione della quantit\u00e0 di informazioni che si possono presentare a video.<br \/>Se devo usare un font di dimensioni importanti, e delimitare in maniera plateale i confini dei controlli che impiego, non mi posso permettere metter su una tavolozza di web parts&nbsp;o aggiungere portlets a volont\u00e0: ogni frammento di informazione \u00e8 importante, la sequenza delle schermate \ufffd\ufffd fondamentale, i menu gerarchici diventano off limits,&nbsp;&nbsp;etc.<br \/>Ed \u00e8 giusto che sia cos\u00ec! Un televisore non esiste nel vuoto, ma calato in un ambito pi\u00f9 complesso; e un fruitore che se ne sta a 3 metri di distanza deve far fronte a mille altri stimoli oltre a quello che appare a schermo. In questo senso il televisione \u00e8, lasciatemi dire,&nbsp;una web part nel portale del nostro salotto quanto lo \u00e8 la finestra, la bacheca con la collezione di orologi e l&#8217;armadio delle posate: pertanto \u00e8 pi\u00f9 che naturale che quando si sviluppa una applicazione per tale environment ci si debba scrollare di dosso la forma mentis del portale, nella quale abbiamo dominio assoluto sia sulle singole parti che sull&#8217;universo nelle quali queste vivono il loro ciclo.<\/p>\n<p>Quindi, la morale per oggi \u00e8: ancora non sappiamo come si sviluppa una applicazione per Media Center, ma possiamo gi\u00e0 immaginare che la componente design avr\u00e0 il primato su quella puramente tecnica. Nel prossimo post vedremo quali sono le tipologie di applicazioni che lavorano con Media Center e quali sono le modalit\u00e0 con cui l&#8217;utente pu\u00f2 accedere ai contenuti.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"clear:both\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hi again. As announced, I&#8217;m going on with some introductory posts about Media Center development. I&#8217;m going to provide a condensed view of what can be found in the standard documentation of the product. As announced, the post will be in Italian: if you want details of an English version let me know&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[111],"tags":[],"class_list":["post-790","post","type-post","status-publish","format-standard","hentry","category-media-center"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=790"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/790\/revisions"}],"predecessor-version":[{"id":1893,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/790\/revisions\/1893"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}