Dans la conception fondamentale des interfaces utilisateur, les ingénieurs peuvent choisir entre des systèmes sans état ou avec état. Un système sans état est un système qui ne dispose pas de mémoire résidente utilisée pour stocker les informations entre les sessions. Les systèmes avec état, quant à eux, placeront les entrées dans la mémoire résidente et les stockeront pour des opérations futures.
L'un des meilleurs exemples d'applications sans état est celui des applications HTML utilisées pour exécuter des sites et des pages Internet. Ces applications sont apatrides car elles ne conservent ni ne stockent d'informations sur les utilisateurs ou leur activité après qu'un utilisateur a quitté un site.
En conséquence, les pages Web s'appuient sur de petits fichiers numériques appelés cookies pour stocker les informations des utilisateurs. Les cookies seront activement utilisés dans les sessions futures pour déterminer qui accède au système et ce qu'ils ont fait dans le passé.
L'un des principaux avantages des applications sans état réside dans le fait que les parties chargées de la maintenance n'ont pas la responsabilité de gérer la mémoire résidente. Les applications sans état peuvent être moins coûteuses qu’une application avec état similaire. Ils peuvent également être moins complexes, car il n’est pas nécessaire de recueillir des données et de les conserver à portée de main pour les enregistrer en vue d’une utilisation ultérieure. Chaque session est toute nouvelle et la même programmation se produit.
L'inconvénient des applications sans état est que, comme mentionné, elles ne conservent pas d'informations sur une session utilisateur particulière. Ce problème est évident dans la conception des cookies pour gérer les informations de session des utilisateurs sur Internet. D’une manière générale, l’utilisation de cookies est moins efficace que n’importe quel système en mémoire. Les webmasters ont la responsabilité de manipuler et de maintenir les cookies. Les systèmes apatrides sont donc intrinsèquement moins performants. Il peut être ennuyeux pour les utilisateurs de ne pas stocker certaines informations de session. Les clients peuvent penser que les fonctionnalités avec état ajoutent de la valeur.
En fin de compte, le choix d’une conception sans état ou avec état dépend des utilisations spécifiques du logiciel lui-même. Par exemple, les systèmes de kiosques publics peuvent bénéficier grandement des technologies apatrides. Il n'est souvent pas nécessaire de conserver les données entre les sessions, car de nombreux utilisateurs publics gèrent le système dans l'ordre. Pour les systèmes plus personnalisés, la conception avec état peut ajouter beaucoup de commodité et les fonctionnalités souhaitées.