docs: Landvex Design Constitution + quiXzoom UX Doctrine
- Add docs/design/LANDVEX_DESIGN_CONSTITUTION.md (v1.0, LOCKED) - Enterprise UX Doctrine: 21 principles for professional GIS platform - Device Adaptive (not Desktop First nor Mobile First) - Add docs/products/quixzoom/QUIXZOOM_UX_DOCTRINE.md (v1.0, LOCKED) - Field-first UX: Camera-First, Offline-First, Mission-First - Mobile-Only, One Hand, Three Seconds - Update MEMORY.md with DESIGN GOVERNANCE section (0c) - References to both doctrines - Shared DNA: components, tokens, colors, typography, motion, icons - LOCKED status with version governance
This commit is contained in:
@@ -0,0 +1,364 @@
|
||||
# QUIXZOOM UX DOCTRINE
|
||||
|
||||
**"Field-First. Speed-First. Mission-First."**
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| **Version** | 1.0 |
|
||||
| **Status** | LOCKED |
|
||||
| **Scope** | quiXzoom Mobile Application (iOS/Android) |
|
||||
| **Authority** | Highest authority for quiXzoom UX, UI, Interaction Design |
|
||||
|
||||
---
|
||||
|
||||
## 1. INTRODUKTION
|
||||
|
||||
quiXzoom är inte en app man "använder".
|
||||
|
||||
Den är ett verktyg man **arbetar med**.
|
||||
|
||||
Zoomers (aldrig "fotografer") använder appen i fält — i rörelse, i väder, under tidspress.
|
||||
|
||||
Varje sekund räknas. Varje tryck ska vara meningsfullt.
|
||||
|
||||
Målet är inte "en trevlig app".
|
||||
|
||||
Målet är:
|
||||
|
||||
- snabbare uppdrag
|
||||
- färre fel
|
||||
- högre kvalitet på inskick
|
||||
- mindre friktion
|
||||
- mer intäkt per tidsenhet
|
||||
|
||||
---
|
||||
|
||||
## 2. DEN PROFESSIONELLA ZOOMERN
|
||||
|
||||
Vi designar för personer som arbetar i fält.
|
||||
|
||||
Exempel:
|
||||
|
||||
- studenter som vill tjäna extra
|
||||
- pensionärer med flexibel tid
|
||||
- deltidsarbetare mellan uppdrag
|
||||
- professionella fältarbetare
|
||||
- personer som rör sig mycket i sin vardag
|
||||
|
||||
De använder appen:
|
||||
|
||||
- i rörelse (gående, cyklande, bil)
|
||||
- med en hand
|
||||
- i solljus och regn
|
||||
- under tidspress
|
||||
- med begränsad batteritid
|
||||
|
||||
UX ska bli snabbare ju mer de använder appen.
|
||||
|
||||
---
|
||||
|
||||
## 3. MOBILE-FIRST ÄR UNDERDRIVET
|
||||
|
||||
quiXzoom är **Mobile-Only**.
|
||||
|
||||
Det finns ingen desktop-version.
|
||||
|
||||
Det finns ingen webbportal för Zoomers.
|
||||
|
||||
Allt sker i appen.
|
||||
|
||||
Därför gäller:
|
||||
|
||||
- iPhone-first (benchmark: Apple Maps, Apple Wallet, Apple Weather)
|
||||
- En hand, en tumme, tre sekunder
|
||||
- Ljust tema default
|
||||
- Ingen mörk cyberpunk-estetik
|
||||
- Konflikt mobil/desktop: **mobil vinner alltid**
|
||||
|
||||
---
|
||||
|
||||
## 4. KAMERA-FIRST UX
|
||||
|
||||
Kameran är inte en funktion.
|
||||
|
||||
Kameran är **huvudgränssnittet**.
|
||||
|
||||
Varje uppdrag börjar med att rikta kameran.
|
||||
|
||||
Designprinciper:
|
||||
|
||||
- Kamera alltid ett tryck bort
|
||||
- Förhandsgranskning ska vara kristallklar
|
||||
- Fokus, exponering, HDR — automatiskt optimerat
|
||||
- Burst-läge för snabb dokumentation
|
||||
- Video-stöd där det krävs
|
||||
|
||||
---
|
||||
|
||||
## 5. OFFLINE-FIRST
|
||||
|
||||
Zoomers har inte alltid täckning.
|
||||
|
||||
Appen ska fungera fullt ut offline.
|
||||
|
||||
Principer:
|
||||
|
||||
- Missions cache:as lokalt
|
||||
- Bilder sparas lokalt, laddas upp vid anslutning
|
||||
- GPS-data loggas kontinuerligt
|
||||
- Status synkroniseras vid återanslutning
|
||||
- Användaren ska aldrig undra "försvann mitt uppdrag?"
|
||||
|
||||
---
|
||||
|
||||
## 6. MISSION-FIRST NAVIGATION
|
||||
|
||||
Zoomerns mentala modell:
|
||||
|
||||
**"Vad ska jag göra nu? → Gör det → Få betalt"**
|
||||
|
||||
Navigation ska spegla detta:
|
||||
|
||||
- Tillgängliga uppdrag (nära mig, nu, passar min nivå)
|
||||
- Pågående uppdrag (vad jag håller på med)
|
||||
- Inskickade uppdrag (vad som väntar granskning)
|
||||
- Godkända uppdrag (vad jag fått betalt för)
|
||||
|
||||
Inga undervattenmenyer. Inga gömda funktioner.
|
||||
|
||||
---
|
||||
|
||||
## 7. SNABB INFÅNGST — MINIMAL FRIKTION
|
||||
|
||||
Varje uppdrag ska gå från start till inskick på minsta möjliga tid.
|
||||
|
||||
Mål: **Under 60 sekunder för enkel uppdragstyp**
|
||||
|
||||
Eliminera:
|
||||
|
||||
- onödiga bekräftelser
|
||||
- obligatoriska fritextfält (använd AI, GPS, metadata)
|
||||
- flera steg för att spara
|
||||
- väntetider vid övergångar
|
||||
|
||||
---
|
||||
|
||||
## 8. GPS ÄR EN FUNKTION, INTE EN BÖRDA
|
||||
|
||||
GPS ska kännas transparent.
|
||||
|
||||
- Automatisk positionering vid fototagning
|
||||
- Automatisk spårning under uppdrag
|
||||
- Användaren ska inte behöva "aktivera GPS"
|
||||
- Tydlig indikation när precision är otillräcklig
|
||||
|
||||
---
|
||||
|
||||
## 9. BETALNING ÄR BELOPP, INTE PROCESS
|
||||
|
||||
Zoomern ska se:
|
||||
|
||||
- Vad ett uppdrag betalar (innan acceptans)
|
||||
- Vad de tjänat totalt
|
||||
- När betalning kommer
|
||||
|
||||
Inte:
|
||||
|
||||
- Stripe Connect-teknikaliteter
|
||||
- "pending"/"processing"-tillstånd som kräver förklaring
|
||||
- Dolda avgifter (det finns inga — 100% till Zoomern)
|
||||
|
||||
---
|
||||
|
||||
## 10. VISUELL TYSTNAD I FÄLT
|
||||
|
||||
quiXzoom ska vara läsbar i direkt solljus.
|
||||
|
||||
- Hög kontrast
|
||||
- Stora tryckytor
|
||||
- Tydliga ikoner
|
||||
- Ingen finlirig detalj som försvinner i solljus
|
||||
|
||||
Men också:
|
||||
|
||||
- Diskret nog att inte dra uppmärksamhet
|
||||
- Ingen blinkande reklam
|
||||
- Ingen onödig animation som drar batteri
|
||||
|
||||
---
|
||||
|
||||
## 11. MIKROINTERAKTIONER = TRYGGHET
|
||||
|
||||
Varje handling ska ge omedelbar återkoppling:
|
||||
|
||||
- Kamera-shutter-animation
|
||||
- Uppdrag accepterat: tydlig bekräftelse
|
||||
- Bild sparad: visuell indikator
|
||||
- Inskick skickat: progress + bekräftelse
|
||||
- Betalning mottagen: celebration (men diskret)
|
||||
|
||||
Användaren ska aldrig undra: "Tog det fotot? Sparades det? Fick jag uppdraget?"
|
||||
|
||||
---
|
||||
|
||||
## 12. FEL I FÄLT
|
||||
|
||||
Fel ska vara:
|
||||
|
||||
- Tydliga (stor text, tydlig ikon)
|
||||
- Handlingsbara ("Gå närmare", "Vänd på telefonen", "Försök igen")
|
||||
- Kontextuella (förstå varför det misslyckades)
|
||||
|
||||
Undvik:
|
||||
|
||||
- Tekniska felkoder
|
||||
- "Något gick fel"
|
||||
- Krångliga omvägar för att komma tillbaka
|
||||
|
||||
---
|
||||
|
||||
## 13. TOMMA LÄGEN ÄR MÖJLIGHETER
|
||||
|
||||
Inga tillgängliga uppdrag? Visa:
|
||||
|
||||
- Varför (t.ex. "Inga uppdrag inom 5 km just nu")
|
||||
- Vad användaren kan göra (t.ex. "Utöka sökradien", "Aktivera notifikationer")
|
||||
- När nästa uppdrag kan komma (t.ex. "Nya uppdrag läggs ut varje morgon 08:00")
|
||||
|
||||
Tom lista = inte trasig. Tom lista = chans att engagera.
|
||||
|
||||
---
|
||||
|
||||
## 14. HASTIGHET ÄR INTE EN FUNKTION — DET ÄR PRODUKTEN
|
||||
|
||||
Varje millisekund räknas.
|
||||
|
||||
- App-start under 2 sekunder
|
||||
- Kamera redo under 1 sekund
|
||||
- Uppdrag accepterat utan fördröjning
|
||||
- Bild sparad omedelbart
|
||||
- Inskick skickat i bakgrunden
|
||||
|
||||
Upplevd hastighet > teknisk hastighet.
|
||||
|
||||
Skeletons, progress-indikatorer, mjuka övergångar — allt ska få det att kännas snabbt.
|
||||
|
||||
---
|
||||
|
||||
## 15. FOKUS PÅ ETT UPPDRAG I TAGET
|
||||
|
||||
Zoomern ska aldrig behöva välja mellan flera aktiva uppdrag.
|
||||
|
||||
- Ett pågående uppdrag åt gången
|
||||
- Tydlig primär action: "Fotografera", "Skicka in", "Acceptera"
|
||||
- Sekundärt: historik, inställningar, profil
|
||||
- Historik: lättåtkomligt men inte i vägen
|
||||
|
||||
---
|
||||
|
||||
## 16. AI SOM OSYNLIG ASSISTENT
|
||||
|
||||
AI ska inte synas som "AI".
|
||||
|
||||
AI ska:
|
||||
|
||||
- Föreslå bästa vinkel baserat på uppdragstyp
|
||||
- Auto-granska bildkvalitet innan inskick
|
||||
- Föreslå närmaste uppdrag baserat på rutt
|
||||
- Sammanfatta uppdragshistorik
|
||||
|
||||
AI ska aldrig:
|
||||
|
||||
- Ta över kameran
|
||||
- Göra beslut åt Zoomern
|
||||
- Kräva extra interaktion
|
||||
|
||||
---
|
||||
|
||||
## 17. IDENTITETSNIVÅER SKA KÄNNAS MENINGSFULLA
|
||||
|
||||
Zoomer-nivåer ska ge tydlig progression:
|
||||
|
||||
| Nivå | Fördelar |
|
||||
|------|----------|
|
||||
| **Supplementary** | 2-4 uppdrag/vecka, standardkategorier |
|
||||
| **Active** | 8-12 uppdrag/vecka, prioritetsåtkomst |
|
||||
| **Professional** | 15+ uppdrag/vecka, premium-uppdrag, prestationsbaserad ersättning |
|
||||
|
||||
UI ska tydligt visa:
|
||||
|
||||
- Nuvarande nivå
|
||||
- Vad som krävs för nästa nivå
|
||||
- Vilka fördelar som väntar
|
||||
|
||||
---
|
||||
|
||||
## 18. TILLGÄNGLIGHET ÄR INTE EN BONUS
|
||||
|
||||
quiXzoom ska fungera för alla:
|
||||
|
||||
- Dynamisk textstorlek (iOS/Android systeminställning)
|
||||
- VoiceOver/TalkBack-stöd för navigation
|
||||
- Tillräcklig kontrast för synnedsättning
|
||||
- Haptisk feedback för hörselskadade
|
||||
- Ingen funktion som enbart förlitar sig på färg
|
||||
|
||||
---
|
||||
|
||||
## 19. INGEN VERSION ÄR "KLAR"
|
||||
|
||||
Varje release ska innehålla:
|
||||
|
||||
- Field-test med riktiga Zoomers
|
||||
- Performance-review på lågpresterande enheter
|
||||
- Battery-drain-test
|
||||
- Offline-scenario-test
|
||||
- Accessibility-review
|
||||
- Screenshot-review på olika skärmstorlekar
|
||||
|
||||
---
|
||||
|
||||
## 20. FIELD DEFINITION
|
||||
|
||||
quiXzoom uppnår optimal UX när Zoomern:
|
||||
|
||||
- inte tänker på appen
|
||||
- inte tvekar på nästa steg
|
||||
- inte oroar sig för om uppdraget sparades
|
||||
- inte behöver läsa instruktioner
|
||||
- kan fokusera helt på att dokumentera
|
||||
|
||||
När appen känns som en förlängning av Zoomerns hand — då har vi lyckats.
|
||||
|
||||
---
|
||||
|
||||
## 21. DOKTRIN
|
||||
|
||||
quiXzoom ska inte imponera genom effekter.
|
||||
|
||||
quiXzoom ska imponera genom att:
|
||||
|
||||
- försvinna i bakgrunden
|
||||
- vara snabbare än förväntat
|
||||
- aldrig överraska negativt
|
||||
- alltid fungera när det behövs
|
||||
- göra Zoomern mer effektiv
|
||||
|
||||
När Zoomern glömmer att appen finns och enbart fokuserar på uppdraget — då har designen uppnått sitt syfte.
|
||||
|
||||
---
|
||||
|
||||
## ÄNDRINGSHISTORIA
|
||||
|
||||
| Version | Datum | Beskrivning |
|
||||
|---------|-------|-------------|
|
||||
| 1.0 | 2026-07-02 | Ursprunglig version, baserad på Landvex Design Constitution DEL 1.4, anpassad för quiXzoom fältarbetsflöde |
|
||||
|
||||
---
|
||||
|
||||
## STATUS
|
||||
|
||||
**LOCKED**
|
||||
|
||||
- Mindre revideringar: 1.x-serien
|
||||
- Brytande ändringar: Kräver Architecture Review, ny major-version (2.0+)
|
||||
Reference in New Issue
Block a user