La Microsoft tiene per sè le tecnologie delle GUI… perchè ?


Da un po’ di tempo ormai sto sviluppando in C# .NET. Già… non si può sempre scegliere il sistema di sviluppo nell’ambito del proprio lavoro.

Comunque non lo reputo un aspetto completamente negativo: così posso “studiare il nemico” :-) , valutare pregi e difetti di strumenti chiusi e, non ultimo, parlare con cognizione di causa quando mi lamento di qualcosa … ari- :-) .

Questo qualcosa, oggi si concretizza nelle librerie per lo sviluppo di interfacce grafiche in ambito desktop. Visto che, nella creazione del software su cui lavoro, una buona parte del mio tempo lo impiego nel creare interfacce uomo-macchina che siano semplici, intuitive, e che non disturbino l’utente più del necessario, mi sono trovato a riflettere su alcune mancanze del più-che-lodato ambiente di sviluppo noto come Vistual Studio .NET.

Perchè ? Di cosa manca ? Premesso che sarei ben contento che qualcuno mi smentisca, segnalandomi link ad un installer che completila seguente pecca da parte dell’azienda madre (e senza ulteriori esborsi in pezzi di carta noti come licenze-software), mi chiedo il perchè la regina di tutte le software house degli ambienti desktop non dia la possibilità all’utente di creare GUI in stile Visual Studio o in stile MSOffice 2007.

Docking panels

L’ambiente di sviluppo in quesitone sfoggia dei comodissimi pannelli che si possono agganciare ai bordi dello schermo e servono a fornire informazioni di vario genere o strumenti di sviluppo.

docking panels

docking panels

Per chi programma su MS Windows, l’ambiente fotografato qui a sinistra sarà familiare: pannelli che si agganciano ai lati dell’area di lavoro, tab dei pannelli per ogni area, infiniti livelli di innesto tra i pannelli stessi, pulsanti per gestire velocemente i tab, e molto altro.

E se io volessi sviluppare un software con un’interfaccia grafica simile ? L’azienda che produce, vende e tiene nascosto il codice di tale ambiente di sviluppo non mette a disposizione alcuna libreria per implementare qualcosa di simile.

Per fortuna in questo caso ci viene incontro un munifico programmatore, Weifen Luo, autore della libreria usata in moltissimi software (Sharp Develop e MySQL WorkBench, solo per citare i primi due che mi vengono in mente) nota come DockPanel Suite e rilasciata in licenza Expat License, erroneamente nota come MIT License. Tale licenza, compatibile con la la GNU GPL, ci permette di usare tale libreria anche per progetti a codice proprietario. Salvati in corner dal Software Libero.

Ribbon Bar

E questa ? La riconoscete ?

L'ultimo ritrovato della scienza in fatto di GUI: la Ribbon Bar

L'ultimo ritrovato della scienza in fatto di GUI: la Ribbon Bar

Se la risposta è no, siete fortunati oppure baciati dalla dea bendata: infatti non state usando gli ultimi prodotti del mondo Office di MS.

Perchè tanto accanimento contro questa innovativa GUI ? Bhè, qui andiamo sul personale: credo che impiegare schiere di studiosi di ergonomia, esperti d’interazione uomo-macchina, grafici, pubblicitari, designers e quant’altro per creare qualcosa di complesso che mi costringe a reimparare una pulsantiera ormai nota da più di un decennio e digerita anche da chi ha seguito costosi corsi d’informatica o cosiddette patenti europee del computer, questa sia la massima presa per i fondelli. Non vi trovo alcuna comodità aggiunta ma anzi, oggi che i monitor sono più orizzonali che mai (il formato 16:9 sta prendendo il sopravvento sul caro 4:3) mi trovo occupato oltre un terzo dello schermo da pulsanti enormi, che nascondo altri pulsanti e, che ad andare bene, premerò al massimo 20 volte. Tutto da reimparare e da scroprire… che bello !

Ora a noi: se volessi, per un qualche motivo di cattiveria nei confronti degli utenti a cui il mio software sarà destinato, utilizzare tale stile di pulsanti, come posso fare ? Bhè, apro il mio ambiente di sviluppo e… tadaaaa ! Niente da fare: nessun automagico componente .NET mi mette a disposizione la fantastica pulsantiera in questione.

Interrogativi

question_markQuando apro un qualunque ambiente di sviluppo Open Source ho tanti controlli, tutti i controlli che posso utilizzare. In effetti, se ci pensate, perchè non mostrare la potenza di un sistema grafico mettendo a disposizione di tutti gli strumenti più avanzati ? Perchè tener fuori gli sviluppatori dalle potenzialità e dalle novità di un gestore di finestre ?

Risposte certe non ne ho, ma solo delle ipotesi, tutte egualmente plausibili.

Primo fra tutti: se l’azienda non fornisce strumenti di sviluppo, un’altra può farlo al suo posto. Economia, legge di mercato, domanda-offerta…. chiamatelo come vi pare, ma per uno sviluppatore sono soldi da sborsare in licenze inutili; inutili perchè un ambiente di sviluppo dovrebbe già fornire tutti gli strumenti necessari a far crescere il mondo dell’informatica… e invece cerca solo di trarne profitto per sè e per le associate. Chi ci rimette ? Il cliente, perchè troverà nel prezzo del nuovo software MagicTool il costo che serve allo sviluppatore per ammortizzare l’acquisto della libreria RibbonBar.dll ! Siamo alle solite: si scarica sulla massa la voglia di soldi delle aziende …

Secondo: l’azienda che fornisce l’ambiente di sviluppo non ha creato una libreria solida per la GUI che propone per gli altri suoi prodotti software, ma è una cosa che funziona lì e basta. Forse, mettendola in circolazione, salterebbero fuori magagne grosse che farebbero decare la credibilità di tale azienda. Semplificando: forse l’API della RibbonBar fa acqua da tutte le parti, ma, forzata a lavorare specificatamente per MS Office, si riesce a far funzionare…. chissà…

Terzo: domani potrebbero venderci MS Visual Studio Super Plus Limited Platinum Edition, al doppio del prezzo, ma… “ehi: quante nuove feature: la Docking Panel e la Ribbon Bar …!”. Così grideranno tutti al miracolo perchè ci è stato concesso l’uso di tali potenti strumenti… tutti piccioni in attesa di briciole di pane raffermo (scusate la metafora, mi è venuta così, e così la pubblico).

Il mondo del software proprietario mi sta sempre più stretto…..

  1. #1 di D4n13le il 29 dicembre 2009 - 11:40

    Non proviene dalla microsoft, ma se ti può servire dai un’occhiata qua http://www.prof-uis.com/elegant-ribbon/controls-framework-overview.aspx

(non verrà pubblicata)