flowweaver · Filosofi
Redaktören förväntades anpassa sig till mjukvaran
Bakgrunden
Johan Furuskog
Utvecklare, och den som står bakom Flowweaver
Jag har i flera år byggt saker som redaktörer sedan ska använda. Det som står här nedanför är ingen åsikt jag kom på vid ett skrivbord — det är mönstret jag såg återkomma, arbete efter arbete, tills jag till slut gjorde något åt det. Flowweaver är vad som blev av det.
Varför det här finns
Efter många år av att bygga lösningar för redaktörer och innehållsteam återkom ett mönster. Det var redaktören som fick ändra sig.
De lärde sig utvecklarens ord för sådant de redan förstod. De fyllde i fält som speglade en databas i stället för deras arbete. De var försiktiga med verktyget i stället för trygga i det — och försiktighet är dyrt: det betyder att ändringar som borde ta en eftermiddag får vänta på någon som inte är rädd för systemet.
Inget av det är ett tekniskt problem. Det är ett beslut, fattat tidigt och oftast utan att någon märker det, att bygga runt vad tekniken tycker är bekvämt. Flowweaver är ett försök att fatta beslutet åt andra hållet och se hur långt det bär.
Redaktören först. Sedan funktioner som gör det lätt att göra rätt. Så att du känner dig trygg när du redigerar ett flöde.
Den ordningen är hela argumentet. Trygghet är inte en funktion man lägger till på slutet — det är vad som blir kvar när det rätta är det lätta, och när verktyget säger vad det gör i stället för att låta dig upptäcka det.
Principerna, och vad som gör var och en sann
En princip ingen kan peka på är en slogan. Varje princip nedan följs av det i produkten som gör den sann — något du kan öppna och kontrollera.
-
Redaktören först
Varje beslut börjar i hjälper det här redaktören?, inte klarar tekniken det här?
Vad som gör den sann
Verktygets språk och guidens språk är skilda inställningar. En engelsktalande redaktör översätter en guide till arabiska med gränssnittet på engelska — så en kommun kan erbjuda en guide på somaliska utan att vänta på att någon översätter en palett.
-
Öppenhet framför överraskningar
Du ska alltid veta var du är, varför något hände, vad som ändrades och vad som återstår.
Vad som gör den sann
Guiden är inte översatt till finska. Den visas därför på svenska.
Reservtexten fanns alltid där. Att säga det högt är principen.
-
Trygghet i stället för rädsla
Ingen ska vara rädd för att ändra innehåll. Att prova sig fram måste kännas tryggt.
Vad som gör den sann
Översättningsläget rapporterar inte en procentsats och lämnar dig att gissa. Oöversatta steg markeras på arbetsytan, en knapp hoppar mellan dem, och antalet mäts mot vad den här guiden faktiskt kan visa — en guide på åtta steg får inte veta att femtio saker återstår.
-
Lätt att göra rätt
Gränssnittet ska leda mot bra beslut och göra misstag svårare, inte lättare.
Vad som gör den sann
Inget
mode-attribut är satt, så editorn är skrivskyddad. Ingenting i guiden går att ändra. Det är det avsedda förvalet — sättmodefrån ert eget behörighetssystem när en användare får redigera.Varje kontroll säger vad som är fel och vad det leder till. Andra halvan är den som hjälper.
-
Respektera besökarens tid
Fråga inte efter information utan ett tydligt skäl. Varje fråga kostar besökaren tid och uppmärksamhet. Det ska gå att förklara varför svaret behövs — för att påverka vägen genom guiden, för att genomföra det besökaren försöker göra, eller för att mottagaren behöver informationen efteråt.
Vet sidan redan något som kan användas på ett begripligt sätt ska besökaren inte behöva mata in det igen.
Vad som gör den sann
Guiden ställer en fråga när den behöver svaret och hoppar över den när den inte gör det — det är guidens egna regler som avgör, inte en fast blankett. Och en sida som redan vet något om den som läser kan lämna över det till guiden, så att frågan aldrig ställs. Vad besökaren slipper fylla i blir därmed ett beslut ni fattar, inte något verktyget bestämmer åt er.
Löftena, och vad som skulle bryta dem
Startsidan räknar upp vad ni får. Det här avsnittet säger något annat: vad vi har bundit oss vid, och vad som skulle göra det osant. En egenskap beskriver hur det ser ut i dag; ett åtagande säger något om i morgon, och det är bara det senare någon kan väga in i ett beslut.
- En fil ni sparade i går ska gå att öppna i morgon. Ett äldre format läses in och räknas upp; det ni själva lagt i filen och som vi inte känner igen bevaras i stället för att tyst falla bort. Löftet gäller alla kommande versioner, inte bara den ni ser nu — annars vore det ingen trygghet utan en tillfällighet.
- Era uppgifter lämnar aldrig ert system. Det finns ingen plats hos oss dit något skickas, och åtagandet är att inte bygga en. Var svaren tar vägen bestämmer ni, i era egna system, precis som med allt annat innehåll ni publicerar.
- Att börja kräver varken konto eller nyckel. Ingen registrering hos oss, ingenting att hålla giltigt, ingen som kan stänga av er. Ett konto är det första steget i varje inlåsning som någonsin byggts, och det steget tas inte här.
Det här är inte en funktionslista, för en funktion kan tas bort en fredag. Tre ändringar skulle göra löftena osanna, och ingen av dem är en funktion:
- En inloggning som krävs för att komma igång.
- Ett lager som guiden inte kan lämna.
- Ett filformat bara våra egna verktyg kan läsa.
Var och en av dem vore en ändring av vad produkten är, inte en ny funktion i den. Föreslås någon av dem ska den argumenteras som just det, i öppen dager — inte glida in i en release. Flowweaver får aldrig bli det som produkten finns för att slippa.
Provet är en enda fråga, och någon måste fortsätta ställa den: kan en kund gå härifrån med det de byggt, och använda det med något som inte är vårt? I dag är svaret ja. Det förblir ett svar bara så länge frågan ställs.
Språk är tre saker, inte en
Det här är den skarpaste skillnaden och den minst uppenbara. De flesta verktyg har en språkinställning. Flowweaver har tre, och de rör sig oberoende av varandra.
| Inställning | Vems | Till exempel |
|---|---|---|
| Verktygets språk | värdsystemets | paletten och menyerna på engelska |
| Guidens innehåll | redaktörens och översättarens | frågorna på arabiska |
| Vilka språk som erbjuds | värdens | svenska, engelska, finska, somaliska |
Att översätta innehållet till ett språk får aldrig kräva att verktyget översätts till samma språk.
Det spelar roll på grund av vem det är till för. En svensk kommun i ett finskt förvaltningsområde kan vara skyldig att erbjuda en tjänst på finska. Med en enda inställning betyder det att någon måste översätta editorn först. Här betyder det att en översättare öppnar guiden och börjar skriva.
Du kan se alla tre röra sig på språksidan, som kör de riktiga anropen och skriver ut vad de gav.
Vad vi valde att inte bygga
En roadmap säger vad vi tänker göra. Det här säger hur vi tänker, vilket oftast är mer användbart.
- En spegelvänd arbetsyta för språk som läses åt andra hållet. Flödet skulle kunna vändas när innehållet är arabiskt. Det görs inte, för arbetsytan tillhör verktyget och verktyget finns på svenska och engelska — att låta innehållet bestämma hur verktyget ritas är precis den koppling de tre inställningarna ovan tar bort. Texten inne i en nod läses redan åt rätt håll. Om arbetsytan ska speglas är en fråga för dem som läser åt det hållet, och den står öppen tills någon av dem svarar.
- Att översätta namnen på delade mallar. En mall en administratör namngett är organisationens vokabulär. Att be dem om en engelsk version av sina egna ord vore att lägga arbetet på fel person, så namnen står kvar som de skrevs. De som följer med verktyget är våra, och översätts.
- Försvarsmaskineri för problem ingen haft. Textnycklarna döptes om medan ingenting var i drift, utan migrering, eftersom det inte fanns någon data att skydda. Att göra det ordentligt efter lansering är nedskrivet. Att bygga det innan det fanns något att migrera hade varit arbete för sin egen skull.
Vart det är på väg
En lista över vad som ska byggas åldras på ett kvartal. Riktningen gör det inte, och den är det enda av de två som går att väga in i ett beslut.
Det började som en editor för guider. Samma motor ska bära e-tjänster med fler fält, villkor och kopplingar till era egna system — och editorn är byggd för att inte behöva göras om när det steget tas. Det är därför vissa saker ser överarbetade ut för en guide med fyra frågor: de är inte byggda för den.
Prioriteringen följer av var värdet sitter. Att visa en färdig guide är ett löst problem. Det svåra, och det enda som är värt något, är att en redaktör utan teknisk kunskap kan bygga ett korrekt beslutsflöde utan att skriva kod — så ett arbete som gör redaktörens dag begripligare går före ett som gör en sida vackrare. Besökarens sida har ändå ett hårt krav på sig: den ska vara liten, tillgänglig och klara sig själv, för den är det enda besökaren faktiskt laddar ned.
Målet är att vara det enklaste sättet att bygga vägledning som går att lita på, oavsett vilket publiceringssystem ni kör.
Alltså något som kopplas till system ni redan har i stället för att ersätta dem — SiteVision i dag, andra sedan — och som får vara kvar när allt runt omkring byts ut. Ett verktyg man behåller genom en plattformsupphandling är ett annat slags verktyg än ett man byter tillsammans med den.