<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="design-principles" xml:lang="sv">

  <info>
    <credit type="author">
      <name>Allan Day</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
    <desc>Generella designråd och riktlinjer.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Anders Jonsson</mal:name>
      <mal:email>anders.jonsson@norsjovallen.se</mal:email>
      <mal:years>2015, 2018</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sebastian Rasmussen</mal:name>
      <mal:email>sebras@gmail.com</mal:email>
      <mal:years>2017, 2018</mal:years>
    </mal:credit>
  </info>

<title>Designprinciper</title>

<p>Följande designprinciper utgör en uppsättning allmänna regler som om de följs låter dig skapa en högkvalitativ upplevelse för dina användare.</p>

<section id="focus">
<title>Ge ditt program ett tydligt fokus</title>

<p>Tydliga, väl definierade mål är nyckeln till bra design. Identifiera en konceptuellt sammanhängande mängd funktioner som du vill tillhandahålla, och akta dig för att utöka målen för mycket. Ett program som försöker göra för många skilda saker kommer att bli komplext och potentiellt förvirrande för användare.</p>

<p>Kom ihåg: de bästa programmen tillhandahåller en elegant lösning till ett visst uppgiftsområde.</p>

</section>

<section id="complexity">
<title>Minimera komplexitet på användargränssnitt</title>

<p>Varje komponent eller bit av information som du lägger till i ditt program skapar ytterligare arbete för användare och ökar komplexiteten i ditt program — vilket eventuellt kan göra det svårare och mindre njutbart att använda. Inkludera därför endast nödvändiga komponenter och information i ditt programgränssnitt.</p>

<p>När du lägger till en ny komponent eller informationsbit, ifrågasätt alltid huruvida den är nödvändig.</p>

</section>

<section id="progressive-disclosure">
<title>Använd stegvis avslöjande för att visa komponenter allt eftersom de behövs</title>

<p>Att visa varje möjlig komponent hela tiden gör ett program svårare att använda då användarna måste navigera varje komponent, som ofta är irrelevant. Visa istället komponenter allteftersom de behövs. Detta gör program enklare att använda, även om samma mängd funktioner tillhandahålls.</p>

<p>Det finns olika sätta att stegvis avslöja komponenter, allt från att använda olika vyer eller lägen till att visa tillfälliga eller svävande komponenter när särskilt innehåll markeras.</p>

</section>

<section id="work">
<title>Kräv så lite arbete från användaren som möjligt</title>

<p>Ett program som är mödosamt att använda kan bli en källa till irritation, så eftersträva att få ditt program att göra arbete för dina användare, inte åt andra hållet. Varje gång ditt program kräver inmatning från användaren, antingen i form av att komponenter ska användas eller information ska tillhandahållas, fråga dig själv om det är möjligt att göra det arbetet åt dem.</p>

<p>Försök att undvika behovet av en skärm för manuella inställningar eller en guide, och gör det enkelt att gå tillbaka till tidigare använt innehåll.</p>

</section>

<section id="hierarchy">
<title>Skapa en tydlig hierarki</title>

<p>Människor tenderar att ”läsa” ett gränssnitt från vänster till höger och uppifrån och ner. Objekt som anträffas först ses som om de dominerar de som kommer senare. Använd denna implicita hierarki för att kommunicera vilka delar av ditt program som är de viktigaste.</p>

<p>Placera de viktigaste komponenterna i övre vänstra hörnet av dina fönster och placera dominerande komponenter tidigare än de komponenter som påverkas av dem. Se riktlinjerna för <link xref="visual-layout">visuell layout</link> för vidare information.</p>

</section>

<section id="content">
<title>Prioritera innehåll</title>

<p>Program presenterar vanligtvis innehåll, så som bilder, text, meddelanden eller mer komplex data. Det är detta innehåll som din användare är intresserade av och för många komponenter eller element i användargränssnittet kommer att distrahera och flytta deras uppmärksamhet.</p>

<p>Ge innehåll så mycket plats som möjligt i ditt användargränssnitt genom att reducera antalet komponenter. Träng inte undan huvudobjektet med sekundär information.</p>

</section>

<section id="errors">
<title>Förutse fel</title>

<p>Folk gör fel. Att förutse dessa misstag kommer att hindra skadliga konsekvenser, och gör ditt program mer angenämt och tillfredsställande att använda. Första försvarslinjen här är att designa ditt program så att misstag inte kan göras. I andra hand, om det är möjligt att göra misstag, att göra det enkelt att återställa.</p>

<p>Korrigera automatiskt eventuellt ogiltig inmatning och gör det alltid möjligt att göra destruktiva åtgärder ogjorda.</p>

</section>

<section id="interruptions">
<title>Undvik avbrott</title>

<p>Avbrott orsakar frustration och irritation samt förhindrar människor från att fokusera på det som de är intresserade av. Designa ditt program så att det håller sig ur vägen när det inte används, och inte förvånar när det används.</p>

<p>Använd <link xref="notifications">aviseringar</link> med återhållsamhet, undvik alltid att spontant visa dialogrutor utan användarens avsikt, och undvik störande återkopplingsmekanismer så som meddelandedialoger.</p>

</section>

<section id="search">
<title>Tillhandahåll snabb och effektiv sökning</title>

<p><link xref="search">Sökning</link> är en kraftfull mekanism som kan användas för att snabbt hitta innehåll. Tillhandahåll den så fort du presenterar stora mängder data, oavsett om det är i form av listor eller rutnät. När du tillhandahåller en sökfunktion är det av yttersta vikt att den är så snabb som möjligt och att den visar de resultat eftersöks av användaren.</p>

<p>GNOME 3 tillhandahåller också en integrerad sökfunktion. Att integrera programsökning med denna ger människor ett snabbt och enkelt sätt att komma åt innehåll som hanteras av ditt program.</p>

</section>

<section id="options">
<title>Använd inställningsval sparsamt</title>

<p>Att lägga till inställningar verkar ofta som en enkel designåtgärd. Men de flesta kommer dock aldrig att se eller använda konfigurationsinställningar. Istället för att lägga till inställningar, försök att få standardbeteendet i ditt program att fungera för så många människor som möjligt.</p>

</section>

<section id="name-and-icon">
<title>Ge ditt program ett informativt namn och en attraktiv ikon</title>

<p>Ditt programs <link xref="application-basics#application-names">namn</link> och <link xref="icons-and-artwork#application-icons">ikon</link> är två av de mest uttrycksfulla delarna av det, så designa dem för att kommunicera dess funktion och identitet. Se till att folk kommer att förstå syftet med ditt program utifrån dess namn. Säkerställ att du har en vacker, igenkänningsbar programikon för att ge ditt program en attraktiv och distinkt visuell identitet.</p>

</section>

<section id="emotion">
<title>Använd känslor och humor (sparsamt)</title>

<p>Effektivt använt kan känslor och humor lyfta upplevelsen av ditt program och hjälpa till att utveckla en positiv relation med dina användare. Var dock försiktig så att du inte överanvänder dessa tekniker — det är väsentligt effektivare att välja ett litet antal tillfällen att använda känslor, snarare än att peta in dem i hela ditt användargränssnitt.</p>

<p>Var välkomnande då ditt program används för första gången. Att använda humor då saker går fel är en annan effektiv teknik.</p>

</section>

</page>
