Apparire o essere?

Ieri (ad Innovaction) qualcuno mi ha fatto notare che gli effetti grafici di Aero si potevano ottenere utilizzano un certo window manager in LINUX con schede molto meno potenti di quelle DirectX richieste da Aero. Secondo questa persona Aero era solo un mero aggiustamento estetico senza nessuna vera novità.

Questo meme  ricorre spesso in rete.

Lasciatemi essere esplicito: credere che basti prendere un semplice window manager per fare le stesse cose di Vista è una stupidaggine! Vuol dire fermarsi alla sola apparenza ma non pensare alla sostanza.

Per farla breve Aero è basato sul nuovo Desktop Window Manager (DWM). DWM supporta una funzionalità denominata desktop composition. Un programma in questo ambiente non scrive direttamente sul video (tramite le API) come faceva prima ma scrive in una sorta di schermo virtuale che poi viene riprodotto sullo schermo reale. In pratica il sistema operativo “compone” la schermata usando i vari schermi virtuali. DWM si appoggia al nuovo modello di device driver grafici e ad alcune funzionalità di DirectX. Questo modo di renderizzare le finestre spiega anche perchè siano richieste schede con un certo livello di GPU e una certa capacità di memoria.

Rispetto ad un banale window manager la differenza è molto marcata quando si utilizzano le nuove API (ovvero le interfacce di programmazione) sia classiche sia Windows Presentation Foundation (WPF). In particolare queste ultime espongono una interfaccia grafica con un rendering 2D e 3D degli elementi. Il modo di programmazione è dichiarativo e non procedurale ed è possibile utilizzare, oltre a delle normali classi .NET, un linguaggio XAML. XAML è un linguaggio di markup, non limitato alla grafica, basato su XML.

In pratica DWM e WPF lavorano assieme per ottenere un sistema molto avanzato per la grafica e per la gestione dell’interfaccia utente. Questo sistema è fatto per i programmatori di applicazioni e solo indirettamente per l’utente finale.

Ovviamente Vista non è l’unico sistema a fare questo. Ad esempio Apple con il suo Quartz ha un approccio simile.

In conclusione il punto non è l’apparenza del sistema tramite il window manager ma l’uso combinato di varie tecnologie tramite le API di programmazione. Per l’utente finale questo sarà più evidente con la progressiva diffusione di applicazioni che le sfruttano. E’ questa l’essenza che non deve sfuggire per una seria valutazione.

17 comments
  1. alberto said:

    Ciao

    ho letto con molto interesse questo post riguardo alla nuova interfaccia di Vista.Non conosco molto di programmazione win e linux ma per esperienza diretta come utente ho provato questo “famoso” desktop manager di linux ( Beryl ) che tra l’altro e’ ancora in beta test e devo dire che come primo impatto e’ molto bello, veloce e personalizzabilissimo.
    Cosa ci stia sotto e cosa permetta di fare rispetto a al DWM di vista non lo so …ma non credo sia da meno..sarebbe a mio parere un po stupido sviluppare una interfaccia solo per “impressionare”. . . mi informero..
    Hai per caso qualche link dove possa leggere qualcosa su come funziona il WDM ?

    grazie ..sempre interessantissimi i tuoi post🙂

  2. Max said:

    Prima vorrei precisare la mia idea. Non sto dicendo che Linux non sia confrontabile. Quello che sto dicendo è che, nella valutazione del sistema (qualsiasi sistema), non si deve fermarsi al solo lato estetico perchè è assolutamente limitativo.

    Aggiungo un aneddoto letto in qualche blog MS: il cubo come task switcher c’era in qualche versione di Longhorn ma lo hanno tolto perchè non ha passato i test di usabilità con gli utenti. Su Internet si trova poi un interessante tool con sorgenti di una funzionalità tipo Exposè per Vista. In altri termini la flessibilità del sistema è molto vasta. Le motivazioni di certe scelte sono probabilmente da ricercarsi nei loro studi e nei loro test, senza contare che occorre mantenere una certa uniformità con il passato.

    Per i riferimenti la questione è complessa e quindi in futuro “posterò” sull’argomento sviluppo e sulle nostre esperienze. Per chi sviluppa comunque si parte da http://msdn.microsoft.com. Ci sono però tanti blog interessanti. Tim Sneath, per esempio, sta elencando delle “grandi applicazioni” che utilizzano WPF: http://blogs.msdn.com/tims/default.aspx . Ma, ripeto, c’è veramente tanto tanto tanto. Nel mio prossimo webcast con lo IAL farò anche una (breve) introduzione a WPF. Ti direi anche di rimanere sintonizzato perchè comincerò a parlare di questo a breve.

  3. alexxx said:

    Riguardo l’uso di xml o xaml, sono un bel po’ di anni che esiste nei desktop liberi un tool per gtk che si chiama glade. Attenzione, glade non disegna le finestre compile-time, ma running-time, tramite le libglade. La differenza è che aero mette tutto insieme, mentre cairo-gtk-gnome-glade-compiz-xorg sono tutti separati, come è tradizione unix. Detto questo compiz è solo un wm, perché così deve essere, mentre se vuoi modificare i widget lo devi fare a livello gtk, se devi variare la disposizione degli stessi devi modificare glade. Forse dovresti informarti meglio.

  4. Max said:

    Alexxx, tool che usano XML per definire le maschere li uso dai tempi della versione Java per sistemi embedded di IBM (diversi anni fa, quindi). Non si tratta del linguaggio di markup anche se XAML (e in effetti potresti non usarlo e l’ho pure scritto). Non si tratta neppure del fatto che Aero mette tutto assieme perchè in effetti non è così. E WPF non “disegna” le finestre durante la compilazione. Non voglio neppure parlare di Linux (che uso dai tempi del kernel 0.9) proprio per evitare di fare confronti. Tutto il senso del mio post era che non ci si può fermare alla superficie per fare una valutazione.

    Preparerò un post che descriverà un po’ meglio l’architettura grafica di Vista.

  5. Sono le tue informazioni ad essere errate, la persona che ti ha detto “che gli effetti grafici di Aero si potevano ottenere utilizzano un certo window manager in LINUX”, ha detto la verità.

    Compiz e Beryl sono dei “composite manager”, esattamente come Aero, solo che hanno effetti molto più avanzati di Aero e con richieste hardware inferiori, su youtube si trovano un sacco di video dimostrativi.

  6. Max said:

    Doxaliber, leggi il paragrafo completamente e in particolare la frase “Secondo questa persona Aero era solo un mero aggiustamento estetico senza nessuna vera novità”.

    Io non sto criticando Linux! Io sto criticando un certo atteggiamento disinformato nei confronti di Vista.

    Personalmente ho lavorato su Linux alla realizzazione di applicazioni di classe enterprise persino su zSeries, ho diversi clienti che usano Linux, nella mia azienda ci sono diverse macchine Linux e sul mio PC Vista ho un PC virtuale con l’ultima versione di OpenSuSE (distribuzione che usavo da prima che l’azienda venisse acquistata da Novell). A casa mia ho persino l’access point di LinkSys con Linux modificato.

    Quindi evitate di cercare di convicermi che Linux va bene e fa le stesse cose di Vista, perchè non è questo il punto: questo è un blog su Windows Vista! Non voglio guerre di religione!!!

    Segui i miei futuri post su Vista UX e vedrai cosa intendo dire quando dico che non si può valutare un sistema solo dal window manager. Questo vale per tutti i sistemi ma io racconterò di Vista. Se vuoi raccontare cose analoghe di Linux io ti seguirò volentieri.

  7. Veramente io ho solo voluto correggere la tua affermazione. Chi ti ha detto che su Linux esistono dei composite manager come Vista e che sono anche più avanzati di Aero e richiedono un hardware decisamente inferiore non ha detto una cosa errata, come sembrava trasparire dal tuo post, solo questo.

    Se invece intendevi dire che le innovazioni di Vista non si fermano alla sola interfaccia grafica questo è un altro discorso, io comunque ho tante buone ragioni, non solo tecniche, per non volere la diffusione di Vista.

    Ma non per questo voglio innescare guerre di religione, è giusto che ogni utente scelga il sistema operativo che preferisce, l’importante è che sappia fare le dovute distinzioni e che quindi scelga con consapevolezza, ripeto, ho solo voluto correggere quella parte del tuo post che non mi sembrava chiara. Solo questo.

    Buon proseguimento..😉

  8. kijio said:

    Mi fa piacere da un lato che anche chi e’ fan di windows legga le opinioni di chi usa linux, dall’altra pero’ mi permetto di criticarti in quando:
    1. hai detto che qualcuno ha detto questo e quest’altro ma non hai linkato il mio post (io per correttezza metto sempre i link di chi cito, nel bene e nel male)
    2.io ho chiaramente detto (se questo articolo parla del mio post .. altrimenti gia’ mi sti cospargendo di cenere il capo) del solo aspetto visivo. Le mie considerazioni su perche’ NON scelgo vista sono altrove:
    http://kijio.wordpress.com/2007/02/14/perche-non-posso-amare-windows/
    tieni presente che la mia e’ un’opinione personale e soggettiva, come d’altronde e’ la tua.
    Mi piace pensare di avere in te un `nemico` sincero e quindi pronto a rispondermi in merito alle mie affermazioni non criticandone alcune presunte mai detto che vista non ha innovazioni meritevoli di essere applicate o possibilita’ da scoprire).
    grazie😉

  9. kijio said:

    errata corrige ..
    Nella foga di voler rispondere .. ho commesso errori:
    1- 8a riga – leva [mi sti] adde [mi sto]
    2- penultima riga – leva [detto] adde [dette]
    3- penultima riga – dopo [dette] aggiungere [( ad esempio ..]
    ari-ciao🙂

  10. Max said:

    Kijio, io non sono proprio nemico di nessuno e il commento che cito mi è stato fatto personalmente a Innovaction 2007 giovedì scorso da un ragazzo. E pure domenica ho trovato un paio di altri studenti preoccupati di una serie di cose non vere riguardanti DRM, HD e supporto hardware.

    Come già detto questo è un blog essenzialmente dedicato a Vista dove cerco di postare contenuti più o meno originali su informazioni verificabili e su esperienze reali senza però nessuna pretesa di significanza statistica.

  11. kijio said:

    .. ma emm la mia non era un’accusa ma una citazione (dal noto film di fantascienza `il mio nemico`).
    La mancanza di un riferimento pero’, secondo me, e’ una fonte di dubbio del lettore su quello che si afferma nel blog.
    Aggiungo che in special modo sui drm non c’e’ da dormire tranquilli, aldila’ delle illazione dei fanatici anti-microsoft.
    ri-saluti

  12. Max said:

    “Il mio nemico” è tratto da un racconto. Quando l’ho letto mi ha colpito perchè l’umano passava dalla parte del nemico (o ex-nemico). Il film non rende giustizia al racconto. Comunque ti aspetto su Vista.
    Per le fonti la prossima volta chiederò la carta di identità e una liberatoria per la privacy.

    Ironia a parte sul DRM ho già scritto e non cambia nulla rispetto a XP a parte il fatto che Vista supporta anche i contenuti ad alta definizione. Non capisco perchè ci sia tutto questo FUD su un’argomento che non meriterebbe più di qualche riga di testo.

  13. Dott.Wisem said:

    Non sono un detrattore del Windows, lo uso da sempre, dai tempi del Win95, però non posso fare a meno di chiedermi tante cose su Vista, che non sto certo qui ad elencare per intero, ma giusto per citarne alcune:

    1) Perché Aero necessita di una scheda video di ultima generazione, quando l’interfaccia del MacOSX, che non gli è certo da meno (anzi), gira perfettamente e con una fluidità invidiabile, anche su un MacBook dotato di una Intel integrata?

    2) Perché quando metto in modalità Windows Classico, ho la netta impressione che le GDI siano meno performanti rispetto ad XP? Ad esempio, quando sposto velocemente una finestra, vedo una sorta di ‘effetto trail’ ai suoi bordi, in direzione opposta a quella del movimento del mouse, cosa che non mi succedeva in XP a meno che la scheda video non fosse proprio una fetecchia.

    3) Perché si è ritornati al design squadrato e minimalista delle ‘tab’ selezionate? Dov’è finita quella bella lucina arancione che compariva sulle tab dell’XP che avevano il focus?

    4) Perché Halo 2 PC funzionerà solo su Vista?

    5) Non sono espertissimo di file system, ma ho sentito dire in giro che nei Mac e in Linux, l’operazione di defrag non la si deve fare frequentemente, in quanto adottano degli algoritmi di storage molto sofisticati. In Vista c’è ancora il solito NTFS che necessita di defrag piuttosto frequenti, se si vuole mantenere il sistema sempre pimpante. Difatti, di default, in Vista, il defrag entra in azione automaticamente una volta a settimana.

  14. Max said:

    Dott. Wisem, io uso Windows dalla versione 2. La versione 1 l’ho scartata perchè richiedeva ben 512 KB di RAM, una cosa esagerata per il tempo! Non uso solo Windows comunque.

    Visto che i tuoi punti mi sembrano interessanti ti dò la mia opinione a riguardo.

    1) Sulla scheda grafica non vorrei tornare. Leggi i miei post e cerca di capire anche lo roadmap evolutiva. E tieni presente che per Vista va bene una scheda di 2/3 anni fa non certo di ultima generazione. Sul modello MacOSX dove Apple controlla completamente l’hardware e il software si potrebbe aprire una discussione interessante. E comunque a me il Mac piace ma qui si parla di Vista.

    2) Sul Windows Classico probabilmente è colpa del PC che usi. Sui miei non succede. Boh? Sarò fortunato! O forse i miei non sono proprio dei PC “value”.

    3) La selezione dovrebbe essere evidenziata dall’effetto 3D. Una finestra o un tab compare più in alto rispetto a prima. Consiglio di leggere la “UX Guide – Windows Vista User Experience Guidelines” che trovi sui siti Microsoft per capire il perchè di certe scelte.

    4) Solo con Vista o solo con DirectX 10? Sul perchè risultava difficile fare il “retrofit” di DirectX 10 c’era qualche dichiarazione di alcuni tecnici Microsoft (mi pare relative al nuovo modello di device driver ma non sono sicuro – i giochi mi interessano relativamente). Ti consiglio qualche ricerca in rete.

    5) E’ vero che NTFS si frammenta soprattutto con dischi particolarmente pieni. E’ un difetto di molti file system evidente in misura maggiore su questo sistema. In realtà doveva essere sostituito ma la cura è risultata peggiore del male. L’introduzione delle priorità di I/O e il defrag in background sono abbastanza adeguati per il problema. In compenso Windows e NTFS hanno sempre avuto diverse funzionalità interessanti che molti altri sistemi non hanno. L’ultima in ordine di tempo è il sistema di transazioni (da non confondere con il journaling) ma non dimentichiamo le shadow copy (c’erano già in 2003).

  15. Dott.Wisem said:

    Ciao Max, mi fa piacere che tu abbia trovato interessanti le mie osservazioni.
    Innanzitutto ci tengo a dire che non è mia intenzione scatenare flame o guerre di religione fra vari OS.
    Io attualmente sto utilizzando Vista Home Premium su un notebook acquistato da poco (un HP 17″ dotato di 2GB di ram, Core 2 Duo T5500 e scheda video Geforce Go7600 con 256MB di VRAM. Una macchinetta di tutto rispetto, credo).
    Il fatto è che qualche giorno fa ho avuto in prova un MacBook per una mezza giornata, quindi capirai che era inevitabile per me fare dei paragoni. Poi, scusa, ma non mi pare sbagliato fare dei confronti fra prodotti, no? In fondo, alla fine si copiano tutti a vicenda, come nelle vetture di F1. A me non interessa capire chi ha copiato cosa, ma mi interessa capire i motivi di fondo per cui parti di un certo OS funzionano meglio che in altri OS, indipendentemente se siano usciti fuori dall’azienda di Cupertino, piuttosto che da un anonimo programmatore squattrinato. Ed è in questo senso che mi piacerebbe intavolare delle discussioni.😉

    Per quanto riguarda il problema delle minori prestazioni di Vista in modalità Windows Classico, rispetto ad XP, se a te non dà questo problema, allora devo supporre che sia un difetto dei driver nVidia, ancora poco maturi per Vista. Ma, onestamente, non credo che nVidia si metta a perdere tempo sull’efficienza delle operazioni di disegno che non usano le pipeline dedicate al 3D. Ha ben altri problemi da risolvere, considerato che proprio nelle prestazioni 3D, Vista, al momento, perde un bel po’ rispetto ad XP (se non ci credi, vai a farti un giretto per i principali e più autorevoli siti di benchmark schede video che hanno testato le performance di Vista nel 3D).

    Per quanto riguarda il discorso delle tab, onestamente io ne facevo proprio un discorso d’estetica. Su Windows XP erano molto più carine, sia quelle selezionate, che quelle non in focus. Poi non vedo come una lucina arancione sopra il tab possa inficiare la funzionalità dell’interfaccia. Immagino che ti incavoleresti se ti dicessi che le tab dell’OSX sono ancora più belle di quelle dell’XP, perciò meglio andare avanti, anche perché su tutti i difetti estetici di Vista (per me) ti potei scrivere un articolo di svariate pagine… E’ vero che è una questione di gusti, però la maggior parte delle persone con cui ho parlato e alle quali ho mostrato un raffronto estetico fra vari OS sono stati d’accordo con me… Sicuramente una coincidenza!🙂

    Per quanto riguarda Halo 2, il fatto è molto semplice: non userà le DirectX 10, ma le 9. Però il gioco si installerà solo su Vista. Scelta ovviamente mirata a far diffondere ulteriormente Vista, anche fra le masse di videogiocatori accaniti del mondo PC. Del resto le DX10 al momento sono solo una curiosità tecnologica, poiché le uniche schede in grado di sfruttarle veramente sono quelle dotate di architettura a shader unificati (vedi le ultimissime Geforce 8800). Di conseguenza, i produttori continueranno a sviluppare in DX9 per molti anni, affiancandoci magari una path DX10 per i primi motori 3D sperimentali (tipo il Cryengine 2).

    Infine, per quanto riguarda il defrag in background che parte una volta a settimana, visto che non sono esperto di algoritmi di storage, mi chiedevo semplicemente se esiste un file system che non mi costringe a sentire periodicamente l’hard disk che ‘grattuggia’ spostando file a destra e a manca se vuoi garantirti delle buone performance nel tempo, oppure quello che ho sentito dire su altri OS sono semplicemente fregnacce.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: