Innanzitutto i programmi dovrebbero funzionare su tutte le macchine, a prescindere dal sistema operativo installato, o, comunque, sui sistemi usati più comunemente.
Occorre poi prestare grande attenzione alla `` interfaccia utente'', intesa come software che permette all'utilizzatore di interagire con il pacchetto. La facilità d'uso è di importanza fondamentale per software di qualsiasi genere Un programma ben fatto con una cattiva interfaccia perde gran parte del suo valore.
Se un utente alle prime armi non può realizzare una operazione semplice senza essere costretto a consultare un manuale di istruzioni allora il pacchetto è probabilmente destinato ad essere messo da parte. Per ovviare a problemi di questo tipo è necessario innanzitutto conoscere bene il tipo di persone che userà il prodotto e quindi utilizzare alcuni accorgimenti per mettere l'utente a proprio agio, dotando il prodotto di una struttura autoevidente e facendo uso di metafore, che permettono di fare leva sulle conoscenze ``a priori'' dell'utilizzatore [6] [7].
È di estrema importanza anche la visualizzazione: vedere rappresentazioni appropriate di fenomeni fisici ne aiuta la loro comprensione [8]. Inoltre bisogna considerare che i meccanismi di apprendimento variano da individuo a individuo. Quello che per una persona è meglio assimilato e fissato con una discussione per un'altra potrebbe esserlo grazie a immagini o animazioni o in altri modi. Di certo poi, l'utilizzo di fonti di informazioni diverse, permette un percorso didattico più ricco e meno monotono.
Le domande da porsi prima e durante la realizzazione di un pacchetto didattico sono varie. Gli utenti forniscono informazioni preziose, in primo luogo per quanto riguarda l'interazione utente-pacchetto ma anche per ciò che riguarda i contenuti e le modalità di apprendimento. Queste informazioni devono essere utilizzate per migliorare il prodotto.
Ci sono alcune questioni di carattere generale, valide per chi voglia realizzare software di qualsiasi tipo:
Le cose funzionano come ci si aspetta?
Praticamente questo significa chiedersi se la struttura del pacchetto è sufficientemente chiara e se l'utente è in grado di muoversi agevolmente anche senza esperienza.
Questo contribuisce a dare un controllo preciso e sicuro.
Se è così l'utente ne è avvisato?