Människor med stor teknisk kunskap, som till exempel ingenjörer och programmerare, har åstadkommit storverk. Detta speciellt under de senaste decennierna. Den moderna högteknologiska och informationstäta värld vi lever är till stor del skapad av människor med stort kunnande inom teknik.
Denna teknik är dock inte skapad för sakens skull. Den ska användas av människor som till stora delar saknar teknisk kompetens (och många gånger intresse) för saker som programmering och kod. De som använder tekniken vill att den ska fungera och vet hur man exempelvis skriver på en laptop eller använder pekskärmen på en smartphone. Hur datorn eller telefonen fungerar inuti är mindre intressant.
Mellan användaren och teknikern finns en tydlig gräns. Denna gräns finns också i fysisk form i och med datorns eller telefonens fysiska yta. För att kontrollera tekniken behövs ett begriplig utformning av den del som låter användaren kontrollera tekniken. Denna del, alltså till exempel pekskärmens utformning, kallas för gränssnitt (ibland användargränssnitt). Att utforma detta på ett sätt som är begripligt kallas för gränssnittsutveckling.
Inom gränssnittsutveckling är användarvänlighet viktig och något som måste finnas med under hela processen. Om man inte har användaren i åtanke i tillräcklig utsträckning vid gränssnittsutveckling så kommer resultatet bli att tekniken inte används i vardagen av användaren. Man brukar säga att det viktigaste är att gränssnittet är intuitivt. Detta betyder helt enkelt att den som använder telefonen eller är på en viss webbsida automatiskt förstår hur man ska göra för att hitta något.
Processen för gränssnittsutveckling är komplicerad och de som arbetar med detta är utbildade inom området, och arbetar ofta uteslutande med detta. Hur hela processen går till är därför svårt att förklara på ett enkelt sätt. Följande är därför en mycket schematisk överblick.
Man utgår från vad det är man vill åstadkomma med att använda programmet eller appen. Strax efter görs en första skiss på hur gränssnittet skulle kunna vara utformat och sedan görs tester. Dessa tester är både praktiska och teoretiska. När man sedan kommit fram till en potentiell utformning så tar man fram en prototyp – en så kallad mockup är vanlig i detta skede.
Sedan observerar man användare interagera med prototypen och tar efteråt in synpunkter på hur denna upplevdes. Det är utifrån den praktiska erfarenheten av prototypen och de observationer man gjort som gränssnittet sedan utformas.