# UX Best Practices — Fitness Apps 2025-2026

## Grundprinciper

### 1. Friktionsfri onboarding

> "Users abandon apps after one bad experience"

- Max 3-5 steg till första värde
- Skippa registrering för test
- Visa värde INNAN du ber om data
- Progressive disclosure — fråga mer senare

### 2. Personalisering från dag 1

```
❌ "Välj ett program"
✅ "Berätta om dina mål så skapar vi ett program för dig"
```

- Anpassa efter mål, erfarenhet, utrustning
- Visa att appen "förstår" användaren
- Personliga hälsningar, dynamiskt innehåll

### 3. Offline-first arkitektur

**Varför:** Gym har ofta dålig/ingen uppkoppling

- Spara alla pass lokalt
- Synka i bakgrunden när online
- Tydlig indikator för sync-status
- Konflikthantering vid samtidig edit

### 4. Konsekvent cross-device

- Samma UX på iOS, Android, tablet, watch
- Responsiv design (inte separata appar)
- Synkad data i realtid
- Touch-optimerade targets (min 44x44pt)

### 5. Enkel datavisualisering

```
❌ "Du lyfte 12,450 kg totalt förra månaden"
✅ [Graf som visar uppåttrend] "↑ 8% mer än förra månaden"
```

- Progress bars > siffror
- Trendlinjer > punktdata
- Jämförelse mot sig själv (inte andra)
- Milestones tydligt markerade

---

## Design-misstag att undvika

### 1. Ingen offline-funktion

> "If I can't use it without internet, it's useless at my gym."

**Impact:** Användare byter app
**Fix:** Local-first med background sync

### 2. Inkonsekvent design

**Symptom:**
- Funkar på iPhone 15 Pro, trasig på SE
- Android-version är "afterthought"
- Tablet-vy är bara uppskalad mobil

**Fix:** Design system + responsiva breakpoints

### 3. Ingen personalisering

**Symptom:**
- Samma program för alla
- "Nybörjare" får samma vikt som "avancerad"
- Ignorerar användarens utrustning

**Fix:** Onboarding-frågor + adaptiv AI

### 4. Rörig datapresentation

**Symptom:**
- 15 siffror på dashboarden
- Ingen hierarki
- Användaren vet inte vad som är viktigt

**Fix:** Progressive disclosure, fokusera på 1-3 KPIs

### 5. Förvirrande navigation

**Regel:** Max 3 taps till viktig funktion

**Symptom:**
- "Var loggar jag mitt pass?"
- Hidden hamburger menus
- Inkonsekvent back-beteende

**Fix:** Bottom tab bar, tydliga CTAs, user testing

---

## UX Frameworks

### Habit Loop (Nir Eyal)

```
Trigger → Action → Variable Reward → Investment
   ↑__________________________________________|
```

**Fitness-tillämpning:**
1. **Trigger:** Push-notis "Dags för Pull-dag!"
2. **Action:** Öppna app, starta pass
3. **Reward:** PR-firande, progress-graf
4. **Investment:** Logga mer data → bättre rekommendationer

### Jobs To Be Done

| Job | Konkurrerande lösning |
|-----|----------------------|
| "Hjälp mig komma ihåg vad jag lyfte senast" | Anteckningsblock |
| "Visa att jag blir starkare" | Kalkylark |
| "Motivera mig att träna" | Träningskompis |
| "Berätta vad jag ska göra" | PT |

---

## Accessibility

- **Kontrast:** Min 4.5:1 för text
- **Touch targets:** Min 44x44pt
- **Screen reader:** Labela alla interaktiva element
- **Motion:** Respektera reduced motion settings
- **Color:** Använd inte färg som enda indikator

---

## Performance

| Metric | Mål | Varför |
|--------|-----|--------|
| First Contentful Paint | <1.5s | Användare ger upp efter 3s |
| Time to Interactive | <2s | Kan börja logga direkt |
| Bundle size | <500KB | Fungerar på 3G |
| Offline startup | <1s | Cached assets |

---

*Källa: UXmatters, Dataconomy, ZFort, Stormotion, RedCat — 2025-2026*
