Mi è stato assegnato il compito di creare un'applicazione client desktop che recuperi i dati da apis web e li presenti all'utente.
Nell'ultimo mese circa, ho trascorso la maggior parte del mio tempo e delle mie energie portando in vita la funzionalità che UX ha descritto con due immagini.
Guardando le immagini, sembra un design semplice. Ci sono solo 4 controlli:
Un elenco a discesa che attiva un evento di selezione. Un altro elenco a discesa che viene popolato in base ai dati selezionati dal primo elenco a discesa e genera inoltre un evento di selezione. Due comandi radio che abilitano o disabilitano il secondo elenco a discesa. Un terzo elenco a discesa che, a seconda del pulsante di opzione selezionato per ultimo, viene popolato con i dati basati sul primo elenco a discesa o sul secondo elenco a discesa.
Non sembra difficile.
Ma poi quando effettivamente inizio a implementare questo disegno trovo che non conosco, per esempio, che cosa fare se l'utente seleziona il pulsante di opzione B (che dovrebbe abilitare il secondo elenco a discesa) ma il drop la lista in basso non ha elementi; in tal caso, impone di selezionare nuovamente il primo pulsante di opzione A? Visualizzo un messaggio di errore? Chiedo all'utente di intervenire?
Sono questi piccoli casi "d'angolo" che non salgono necessariamente alle persone che chiedono questi disegni che mi fanno chiedere se sono nella linea di business sbagliata o se sono bloccato a lavorare con persone che non lo fanno avere un'immagine chiara di ciò che vogliono o non sanno quello che vogliono, ma aspettati che io compili i punti senza fare il disegno UX da solo.
UX sta migliorando l'esperienza dell'utente, non l'esperienza del programmatore, l'ho capito, ma è questo il tipo di input che i programmatori dovrebbero ricevere da UX? I programmatori si aspettano sempre di riempire i punti, anche quando il comportamento corretto non è stato esplicitamente dichiarato?