Interfaccia utente e (forse non solo) nicchie di mercato
Qualcuno avrà già provato Tafiti, interfaccia utente Silverlight sui servizi di ricerca di Windows Live - se non l'avete ancora fatto, provatelo, perché la prima sensazione è che abbiano migliorato la qualità dei risultati del motore di ricerca, anche se in realtà è solo la loro presentazione a essere migliore.
Questo sito è l'occasione giusta per introdurre un argomento su cui ragionavo due giorni fa con altre persone. Se pensiamo alle tipiche software house, abbiamo diverse tipologie, che semplificando potremmo riassumere in:
- Grandi software house per prodotto "pacchettizzati" globali (Microsoft, Adobe, Autodesk, ecc.)
- Software house con prodotti pacchettizzati "verticali" (software che risolvono un problema specifico, come la dichiarazione dei redditi, la contabilità, particolari analisi finanziarie, ecc.)
- Software house che sviluppano software "su commessa", per risolvere esigenze specifiche di un cliente
In Italia la massa del mercato non ha presenze significative del primo tipo e ci si concentra sugli altri due. In entrambe queste situazioni, un'azienda definisce la sua identità (e la sua forza sul mercato) in base alla conoscenza specifica del dominio di un problema, che può avere elementi tecnici (informaticamente parlando) ma in genere è per lo più funzionale e prescinde un po' dall'implementazione specifica. Chiaro che poi ci sono altri elementi in gioco, come la struttura commerciale, ma l'elemento su cui ricade la mia attenzione in questo momento è l'interfaccia utente.
Nel 2007 l'interfaccia utente di una qualsiasi applicazione ha due elementi chiave: l'impatto "estetico" e l'utilizzabilità. Nella mia esperienza è molto difficile (se non impossibile) trovare software house che dedichino la giusta attenzione a questi aspetti. Un campo in cui si è fatto di più è quello dei siti web, ed è in quel settore che si trovano quelle poche conoscenze in materia. A questo punto verrebbe da dire che le software house sbagliano, ma non è completamente vero.
Come ho detto, di solito l'elemento chiave per una software house è la conoscenza del dominio del problema. Questa è di solito la caratteristica che più caratterizza e discrimina un'azienda dall'altra, facendo passare in secondo piano tutto il resto (qualità dell'implementazione tecnologica, interfaccia utente, a volte anche l'assistenza). Su questo le software house investono di più (acquisire e migliorare la conoscenza del dominio del problema) ed è assolutamente corretto che sia così. Non sarebbe economicamente sostenibile mantenere anche il necessario livello di skill per poter progettare un'interfaccia utente con un buon livello di presentazione e usabilità. E qui veniamo al ragionamento che facevo.
L'interfaccia utente è un elemento importantissimo, che può diventare determinante nella scelta di un prodotto. Un'interfaccia utente intuitiva garantisce anche minori chiamate di assistenza e minori necessità formative per gli utenti (documentazione e corsi vari). Ci sono solo vantaggi ad avere una buona interfaccia utente, ma realizzarla non è facile. Ci vogliono skill particolari, non basta essere un buon grafico, bisogna anche avere chiaro in mente cosa vuol dire usabilità. La cosa più sensata (per una delle software house che ho descritto) è quella di "acquisire" all'esterno gli skill per realizzare l'interfaccia utente dei propri prodotti. Il problema verò è che allo stato attuale è estremamente difficile trovare risorse con gli skill adeguati, e di fatto non esistono aziende specializzate in questo particolare servizio. Cerco di spiegarmi meglio: è estremamente facile trovare grafici e web designer, ma se ci spostiamo nelle applicazioni "desktop" (e più in generale nell'ambito applicativo a prescindere da web/desktop, allontanandoci dalla comunicazione via web) c'è più o meno un baratro.
L'interfaccia utente, intesa come implementazione dei meccanismi di interazione con l'utente, è considerata una faccenda "da programmatori". Con il web si è generato un binomio "programmatore-grafico" che spesso cerca di far comunicare persone che vivono in mondi separati e parlano lingue diverse. L'evoluzione tecnologica ci ha portato però a un punto in cui sono necessari skill più articolati e in un certo senso "eterogenei". Strumenti come WPF (e quindi anche Silverlight) pongono le basi tecnologiche per semplificare la vita a chi deve affrontare questo cammino, ma avere uno strumento non significa assolutamente essere in grado di usarlo.
La conseguenza di tutti questi ragionamenti è semplice. Credo che esista una fetta di mercato per chi volesse specializzarsi in quest'area. Può essere una nicchia, può essere qualcosa di più, ma anche una nicchia è grande abbastanza quando la concorrenza è praticamente assente. Imparare è possibile: la ricetta è avere capacità grafiche, conoscenze tecnologiche, capacità di implementare sistemi facilmente utilizzabili (ed esistono siti dedicati esclusivamente a questo). Una forte specializzazione in questo settore consentirebbe anche di offrire un livello di qualità molto alto con un rapporto qualità/prezzo interessante per moltissime realtà (software house) dove l'interfaccia utente non è l'elemento strategico più importante dei propri prodotti, ma è comunque importate per migliorarne il posizionamento.
Se mi sto sbagliando, vi prego di avvertirmi: tutte le volte che ho avuto bisogno di qualcosa del genere, non ho mai trovato risorse adeguate - ogni suggerimento sarebbe estremamente gradito.