Ho sviluppato un software per chiosco che vende un singolo prodotto. Gli utenti possono interagire con esso tramite GUI (browser Web) e interfaccia hardware (sistemi di pagamento in contanti e con carta e stampante per ricevute).
Guardando indietro mi vedo uno sviluppatore ingenuo e ignorante, che ha visto ogni applicazione come applicazione asp mvc web. Quindi il design del sistema era incentrato sul browser come unica interazione tra utente e sistema.
Mentre lo sviluppavo sentivo che ogni cambiamento stava andando in salita controvento. E 'iniziato abbastanza presto, ma non ho potuto indicarne la causa e ho semplicemente spinto il fardard.
Volevo imparare da quel progetto e di recente ho scoperto che la GUI è un sottoinsieme di UI. Questi risultati mi hanno portato qui.
Il kiosk è stato sviluppato utilizzando ASP c # /. NET MVC che gestiva l'interazione tra l'utente e il sistema.
Se dovessi farlo di nuovo, vedo che posso fare in contanti e sistemi di pagamento con carta per invocare qualche evento (ad esempio "denaro inserito, importo X"), ma non so come incollare queste cose insieme.
Capisco che la visualizzazione nel browser a volte cambi a causa dell'interazione dell'utente di altre parti del sistema. Ad esempio, la moneta viene inserita e la quantità viene visualizzata sullo schermo - Io uso SignalR per ottenere ciò, ma ritengo che la scelta di quegli strumenti non sia stata concepita per risolvere questo tipo di problemi.
Come si dovrebbe progettare un chiosco anziché un'applicazione web?