Pratico il KiteSurf, uno degli sport più belli del mondo. Non è uno sport faticosissimo, a meno che non ci si metta in testa di provare una nuova manovra; in questo caso la giornata può diventare MOLTO pesante per le volte in cui si cade in acqua, si prova, si perde la tavola, si ritenta, cade la vela; si chiama imparare… il mio corpo si sta adattando a dei nuovi movimenti che non conosce e ci vuole del tempo. Quanto non si può dire, dipende da moltissimi fattori: talento, atleticità, stato di salute, umore, voglia di rischiare…
Mi è venuto in mente questo confronto mentre pensavo a quanto tempo è necessario per realizzare un’applicazione WPF in confronto ad una applicazione Windows Forms Standard. Qual’è il vero motivo che rallenta la realizzazione di applicazioni WPF? E’ innegabile: stiamo imparando a diventare Application Designers, quindi “cadiamo”, “perdiamo acqua” e prendiamo un mucchio di botte. Sono certo che molti staranno dicendo “come! Io sono già un application designer… ho moltissimi anni di esperienza…”; ahimè… qui la cosa è cambiata. Le applicazioni che abbiamo sviluppato per anni non hanno mai richiesto un design curato; prendevamo i controlli “prefabbricati” e li inserivamo nelle form… canvas a go-go…problemi di resize ed etichette tagliate… griglie dappertutto, treeview come se piovesse.
Con WPF (e vale anche per Silverlight, s’intende) non si può più fare così. Ovvio, è sempre possibile realizzare un’applicazione Canvas-Style in WPF, perchè no; ma allora perchè usiamo WPF?
Il codice è sempre lì, C# o VB.net che sia, i pattern li sappiamo a menadito, l’accesso ai dati non ha segreti, maaa… siamo ancora lenti a pensare un’interfaccia PER l’utente. Del resto non l’abbiamo mai fatto… da sviluppatori il nostro compito è sempre stato realizzare l’applicazione, non studiarne l’ergonomia, l’usabilità, la gradevolezza, l’impianto grafico.
Cosa dobbiamo fare, allora? Dobbiamo mettercì lì, a testa bassa, e diventare Application Designers, ovvero non “solo” programmatori che disegnano un pulsante ed inseriscono una griglia in una finestra, bensì pensare a COME l’utente vorrà usare la nostra applicazione facendoci delle domande del tipo:
- Come l’utente vorrebbe vedere le informazioni?
- Come le vorrà cercare?
- Come si svilupperà il flusso applicativo?
- Come guidare l’utente durante delle scelte?
Queste (e molte altre) domande dovrebbero farci “pensare” e dovrebbero guidarci verso la realizzazione di una applicazione a misura d’utente e farci cominciare un nuovo percorso… perchè la nostra esperienza di oggi diventi un punto di partenza e non un traguardo.