Publicerat Nyheter

Bumpiness, bollhav och om att våga vara annorlunda – Vi besökte Nordic Design

Den 9 oktober åkte vårt Design-team till Stockholm för konferensen Nordic Design och har nu haft några veckor på sig att smälta allt de lärde sig där. Konferensen bestod av tio föreläsningar fördelade över en heldag, alla med olika fokus men där design var en gemensam nämnare. Utöver dessa fanns en hel uppsjö av aktiviteter att besöka i pauserna, t.ex. fluff- och glitterrum, bollhav, SEGA Rally, mjukglass- och popcornmaskiner, Legobyggarhörna, bastu med mera.

En sak som teamet tog med sig hem är nya kunskaper i hur man kan jobba agilt med designsprintar och hur ett upplägg för sådana sprintar skulle kunna se ut. Budskapet från talaren var att varje sprint måste ha ett mål och en plan för hur det målet ska nås. Sprintarna måste planeras ordentligt på dagsnivå för att få ut så mycket som möjligt av varje sprint.

Vårt gäng på plats lärde sig också att det är viktigt att stå ut och våga vara annorlunda i sina designer och att vara mer personlig. En egen signatur på till exempel en webbsida kan vara något som gör att ett företag står ut, något som de vill försöka ta med sig till Spinits kunder. ”Bumpiness är ett ord som fastnat hos alla i design-teamet och används för detaljer vars syfte är att få användaren att stanna upp med hjälp av ojämnheter. Ojämnheter i en font eller i en bild kan till exempel få användaren att stanna upp innan de går vidare, vilket kan vara önskvärt på dagens webb, där det mesta sker i raketfart.

Att bra design leder till bättre förståelse var också något som teamet tog med sig från konferensen. Design ska skapa harmoni och skapa samma känsla för alla. Något av det viktigaste från Nordic Design som teamet tog med sig var att fokusera på inkluderande design, som handlar om att ingen ska lämnas utanför. Alla användare ska ha samma förutsättningar som skapar samma upplevelse, oavsett fysiska nedsättningar eller kulturella olikheter, osv. Att tänka ”vi” istället för ”jag” och blanda in användarna tidigt i designfasen gör det lättare att uppfylla användarnas behov på bästa sätt.

Ett återkommande tema i flera av föreläsningarna var vikten av att skapa en design som är transparent mot användare, att det är viktigt att vara ärlig på nätet då det leder till att kunder får bättre tillit till företaget. Ett antal skräckexempel på hur stora företag använder data blev något som hängde kvar i våra utsända när de återvände till Göteborg.

Vi tackar Nordic Design för en rolig och lärorik dag.

Publicerat Tech

Våra Open Source-projekt på Spinit

På Spinit älskar vi mjukvara skapad med öppen källkod, eller Open Source. I alla våra projekt drar vi nytta av duktiga mjukvaru­utvecklare världen över som delar med sig av sina skapelser utan kostnad. Vi vill inte vara sämre och vill gärna vara med och ge tillbaka av det vi skapar.

För att underlätta och fin­trimma våra processer program­merar vi verk­tyg och skript när behov uppstår, och istället för att bara dela det mellan våra olika projekt i huset låter vi andra utveck­lare också ta del av det genom en open source-licens. För vad har vi egent­ligen att tjäna på att hålla saker för oss själva när vi kan vara med och bidra till en bättre webb globalt?

Vi har skapat såväl stora, väl under­hållna utvecklings­verktyg som mindre och experi­ment­ella embryon som vi gärna vill ska kunna växa vidare med hjälp av utveck­lare utanför våra väggar.

Nedan är ett urval av verktyg som våra med­arbetare skapat och valt att dela med sig av.

Web Anchor

Web Anchor, som skapades av Mattias Nordqvist, möjlig­gör de­klara­tion av ett webb-API via ett interface, vilket Web­Anchor sedan kan skapa en im­plementa­tion av.

Vi har även bloggat tidigare om Web Anchor.

Web Anchor på Github

Appeaser

Appeaser skapades av Carl Berg i ett projekt där vi började gå ifrån en lager­baserad kod­upp­delning till en vertikal kod­upp­delning. I och med det började vi dela upp kod i features bland annat med hjälp av ett så kallat mediator design-mönster. För att kunna åter­använda mönstret bröts det ut som öppen källkod.

Appeaser på Github

Captain Data

Captain Data är ett verktyg för att på ett smidigt sätt skapa data i SQL-databaser. Verk­tyget skapades av Mattias Nordqvist och används exempel­vis vid integrations­test.

Captain Data på Github

Spinit CosmosDb

En lättvikts OR-Mapper för CosmosDb. Projektet skapades av Martin Oom och Viktor Alveflo för att på ett mer typ­säkert sätt kunna inter­agera med Microsoft Azure CosmosDb.

Spinit CosmosDb på Github

Galactic Waste Management

Ett verktyg, skapat av Mattias Nordqvist, för att hantera databas­migrering på olika sätt i olika skeden (GreenField, LiveField och BrownField) av ett utvecklings­projekt. Migrerings­script skapas i olika kataloger vilket ger skripten olika betydelse. Vissa skall köras varje gång de förändras, andra bara en gång.

Galactic Waste Management på Github

Spinit Expressions

Projektet skapades av Martin Oom och förenklar de­klarering och kombina­tioner av Expressions i C#. Används exempel­vis i Spinit CosmosDB. Spinit Expressions har även lite mer avancerad funk­tion­alitet som är använd­bar vid generering av filter eller liknande för databas­frågor.

Spinit Expressions på Github.

Spinit AspNetCore ReverseProxy

Ett projekt, skapat av Martin Oom, som ger Reverse Proxy-funktion­alitet i en ASP.Net Core-applikation.

Spinit AspNetCore ReverseProxy

Jelly Dust

Ett projekt, skapat att Mattias Nordqvist, för att för­enkla transaktions­hantering i en unit of work tillsammans med Dapper.

Jelly Dust på Github

Golden Fox

Ett projekt, skapat att Mattias Nordqvist för att förenkla schema­läggning.

Golden Fox på Github

Spinit Library

Spinit Library innehåller flera paket som under åren har kurerats och använts för lösningar man vill kunna åter­använda, bland annat säkerhets­paket för hash­ning och salt­ning av lösen­ord, interface­baserad filsystem­access och exporterings­verktyg för Excel och CSV.

Spinit Library på Github
Spinit Library på Nuget

Publicerat Nyheter
Göteborgsvarvet 2019

Spinit på Göteborgsvarvet 2019 under parollen ”Du skulle se oss utveckla istället”

Nu på lördag kommer ett stort gäng av oss att springa Göteborgsvarvet, uppladdning och träning har legat högt upp på agendan de senaste månaderna.

Är du supernyfiken på hur det går för oss så skall du veta att vi startar kring 13:48, förutom två av våra mer meriterade löpare som startar 13:22, så omkring 1,40 till 3,5 timme senare kommer du se oss springa i mål. Vill du se Roger så siktar han på 4,5 timme.

Publicerat Nyheter
En tillgänglighetsanpassad webb

Designa webb för alla funktionsuppsättningar

Det är mer aktuellt än någonsin att prata om tillgänglighetsanpassning gällande webbdesign. Viktor Pinje är gränssnittsutvecklare på Spinit och menar att det är mer än hög tid att prioritera en webb för alla och hoppas att man börjar se detta som en prioriterad självklarhet i beställarnas kravspecifikationer.

– ”Alla har en unik uppsättning av kroppsfunktioner. Vissa funktioner fungerar bättre än andra, och ibland råkar vi alla ut för så kallade nedsättningar”, säger Viktor.

– ”Åldern medför flera olika svårigheter, och sjukdomar och olyckor kommer att drabbas alla i någon mån, då är vi tacksamma att något har gjort det lätt för oss att fortsätta använda internet på samma villkor som tidigare”.

Ända sedan den 1 januari 2015 är bristande tillgänglighet en form av diskriminering, något som säkert fått många att få upp ögonen för tillgänglig webb. Men ännu är mer än varannan svensk webbplats bristfällig ur tillgänglighetssynpunkt menar Viktor.

Gör webben uppläsbar

När man pratar om tillgänglighet för webben brukar man ofta tala om så kallade skärmläsare. Det är ett datorprogram, i många fall redan förinstallerat i datorn, som tolkar och läser upp innehållet på skärmen. Främst används detta av synskadade, men verktyget kan också vara till hjälp för personer med till exempel lässvårigheter.

För att en skärmläsare ska kunna tolka webbplatsen rätt krävs det att HTML-koden som bygger upp sidan är skriven på ett korrekt sätt för att skärmläsaren ska kunna beskriva innehållet med ord.

Tillgänglighetsanpassning är sökmotoroptimering

Det är vanligt idag att företag redan lagt mycket pengar på sökmotoroptimering och på så vis bland annat sett till att bilder har beskrivande text och rätt rubriker används för att beskriva sidans delar med mera. Detta är även till nytta för användare av skärmläsare.

– ”Jag brukar säga att en sökmotorrobot, det vill säga det program som till exempel Google använder för att tolka sidan, är både blind, döv och förståndshandikappad. På många vis är alltså tillgänglighetsanpassning en del av sökmotoroptimering. Men vi ser sällan företag som nischat sig på det förstnämnda. Är det verkligen så mycket viktigare att alla ser dig än att alla kan använda dig?”

Var konsekvent och nyttja designkonventioner

Förutom att göra innehållet tillgängligt för skärmläsare ligger det mycket mer i tillgänglighetsanpassad webbdesign.

Här är några exempel på sådant som förbättrar upplevelsen för personer med synnedsättning, dyslexi, autism och färgblindhet för att nämna några.

  • Lättläst typografi
  • Korta stycken
  • Skalbart innehåll
  • Tillräckligt stor textstorlek
  • Få layoutkolumner (gärna en)
  • En tydlig huvudnavigation, med genomtänkt struktur.
  • Tydliga och konsekventa färger
  • Förklarande bilder och ikoner
  • Betonade nyckelord och fraser
  • Animerade övergångar
  • Konsekvent designspråk

Ett konsekvent designspråk gör att man snabbare kan ta till sig ett gränssnitt och få det att kännas intuitivt. Om man tar del av de konventioner och oskrivna regler som finns i webbdesign behöver användaren inte gissa sig fram.

Tänk utanför datormusen

En av de viktigaste funktionerna att testa när man bygger för webben är att alla interaktionselement, så som t.ex. länkar och knappar, ska kunna ”klickas” även utan mus. Datormusen är ett verktyg som kräver att du har god precision och kontroll på dina arm- och handrörelser, något som långt ifrån alla har.

– ”Personer drabbade av till exempel Parkinsons sjukdom, ALS, Downs syndrom, och CP, såväl som personer utan armar, använder alternativ till datormus. Många gånger gör jag även själv det för att det lättare för stunden”, säger Viktor.

Genom att se till att webbplatsens element går att nå med genom att flytta fokus med tab-tangenten kan man komma åt alla klickbara element. Detta brukar fungera utan att man behöver göra något extra, men för att underlätta för användaren finns möjlighet att bland annat ändra fokuseringsordningen, skapa genvägar och autofokusera, samt se till att det finns alternativ till dra-och-släpp-funktioner och liknande. Dessutom så är det viktigt att se till att alla interaktiva element får en tydlig indikation när de blir fokuserade.

Detta är ett viktigt steg i att göra webbplatsen tillgänglig för användare som nyttjar specialdesignade muspekare, tangentbord eller fjärrkontroller.

Publicerat Tips

Tankar kring användarvänlighet, UX och UI – intervju med Marcus Fridholm på Spinit

Vi pratade design och digitala plattformar med min kollega Marcus Fridholm som jobbar som frontend-utvecklare. Ska webbplatser fungera bra, så krävs också bra design.

Hur förklarar du förkortningar som UX (user experience) och UI (user interface) för någon som inte känner till något om webbdesign?

Om vi börjar med UI, så betyder det användargränssnitt på svenska. Det är hur programmet, eller webbsidan är konstruerad för att du skall kunna göra det du vill. UI i en bil till exempel är saker som ratt, pedaler, växelspak, fönsterhiss och allt sånt. Men på en webbsida handlar det om var knappar och menyer sitter, hur texten ligger och var man letar efter olika typer av innehåll.

Kommer du till exempel in på en tidning, så finns det vissa saker som man tar för givet. Här ligger ofta artiklar tidningen vill lyfta fram extra mycket samlade på ett ställe, tillsammans med dem ligger det ofta annonser. Menyer hittar du längst upp eller till vänster. Effekten blir att de flesta känner igen sig, man kan säga att ”ratten” befinner sig där du tror att den skall sitta.

UX är då en förlängning på allt som har att göra med UI. Det handlar om själva upplevelsen. Hur smärtfritt du navigerar och gör det du vill göra, hur intuitivt det är, hur många manövrar du behöver utföra innan du kommer dit du vill, hur bra återkoppling du får på vad du gjort. Hur väl du får det du förväntade dig.

Ett skräckexempel är till exempel när man går in på en kvällstidning och istället för nyheterna man förväntade sig hamnar på en splash screen. Den innehåller inte någonting av tidningen, utan är bara är ett sätt mjölka så mycket annonspengar som möjligt. Det är inte så att jag inte förstår att de behöver pengarna, men det är inte bra UX. Du bryter på sätt och vis förtroendet mellan dig och besökaren, när besökaren får något annat än de förväntade sig.

Lite på samma sätt, så har många sajter en förmåga att blanda sin egen navigation med annonsnavigation. Klickar du på en länk, så skall du hamna där du förväntade dig att hamna. Om du liksom får hålla tummarna för att du hamnar där du ville och inte mitt i en annonskampanj, så är det riktigt dålig UX.

En annan vinkel på UX är om du köpt något, är missnöjd och vill kontakta kundtjänst. Om kontaktinformationen är dold fyra nivåer ner i hierakin, så är det inte roligt. Eller ännu värre om det krävs att du först går någon annanstans och registrerar sig innan du ens får kontakta företaget, då lär du inte vara på bra humör när du väl får kontakt. Om allt du söker är information eller svar på en undran, så är frågan varför du skall behöva registrera dig överhuvudtaget?

Allt sånt krångel: registrering för att söka info, åtta klick för att skicka en fråga, hopp till externa sajter, programmerade länkningar som förstör din webbläsarhistorik – allt sånt får dig till slut att trötta. Till slut vill du inte mer och försöker lösa ditt problem med Google istället.

När man möter bra UX så är det givet var man hamnar och du hittar lätt det du söker efter. Det absolut bästa betyget en UX-designer kan få är att användarna inte ens tänker på det arbete som lagts ner, utan bara är nöjda.

Har du några tankar om god informationsdesign och hur man gör webblösningar mer tillgängliga?

Vi lider idag av det som pedagogerna kallar snuttifiering. Med det menar jag att vi får en hagelskur av informationsbitar över oss. Problemet är att få människor är konstruerade att hantera den sortens flöde. Vi får för många sammanhang att ta ställning till samtidigt och förmågan att faktiskt ta in information blir lidande.

I vissa kontexter är det OK. Tittar du i ett Facebook-flöde så förväntar du dig mycket information och har nog också lärt dig att sortera bort det mesta som egentligen inte är så intressant.

Om du däremot kommer in på en myndighets hemsida, så vill du verkligen inte ha 14 olika sammanhang att ta ställning till. Där har du ofta en specifik orsak till varför du är på sidan och du vill att myndigheten ska förstå dig som besökare tillräckligt väl för att veta vilka slags frågor de flesta brukar söka svar på.

Om det är en myndighet så är det också deras skyldighet att se till att sidan är anpassad för olika typer av användare. Det kan handla om allt från uppläst innehåll, innehåll på enklare svenska och innehåll anpassad utifrån den kontext du befinner dig i.

Om man tittar på företag, så är de ibland onödigt hemliga med vad de gör. Det är inte supersmart att tvinga dig som besökare att gissa vad företaget sysslar med. Kommer du in på en bilverkstad, så bör det nog stå att ‘vi är en bilverkstad’ redan på första sidan högt upp. Säljer du bildelar, men inte har en verkstad, så får det väl istället stå ’vi säljer bildelar’. Eller ‘vi är konsulter inom marknadsföring’ om det är den tjänsten man erbjuder. Varför krångla till det?

Jag skulle vilja påstå att du har max tio sekunder på dig att förklara vad ni gör. Att vara mystisk gör att man håller kvar några som inte är intresserade av vad man gör och att andra som är intresserade tappar sugen och letar vidare. Varför ska du hålla kvar människor som inte är ute efter det du erbjuder? Gör det tydligt vad det är du håller på med, då hjälper du dina användare och de vet att de har hamnat rätt.

Vad är skillnad på frontend- och backendutveckling?

Oftast så går vårt arbete i varandra, jag gör en del saker som backend-utvecklarna också gör. Men min expertis är närmare det visuella och själva upplevelsen. Deras expertis handlar mer om hur saker fungerar bakom kulisserna. På riktigt stora utvecklingsföretag så är folk lite oftare specialister, medan kompetenserna på ett mindre företag som Spinit går ofta in i varandra. Bredare kunskaper gör oss mindre sårbara.

Är det stor skillnad på hur man designar för olika åldersgrupper?

Douglas Adams skrev ungefär att det som sker innan du fyllt 15, är lika naturligt som luft, vatten och mat, det är så världen fungerar. Det som sker mellan du är 15 och 30 är spännande, det senaste och det hetaste som du bygger din karriär på. Det som sker efter att du fyllt 30 är onaturligt, mot guds lagar och borde förbjudas. Haha, ungefär så är det.

Den största utmaningen med att designa för unga, för folk som är runt 15 till 20, är att de har inte en ”medveten medvetenhet” om hur saker och ting fungerar. För dom är den digitala tillvaron som att andas, de bara gör. Så om du bryter mot de oskrivna reglerna för hur saker och ting ska fungera, så kan du bara göra det till en viss gräns. När du kommer till en ny svårighetsnivå så blir ungdomarna ofta helt handfallna, för de har aldrig medvetet lärt sig hur saker fungerar. De vet inte, men vet inte att de inte vet.

De lite äldre är ofta mer medvetna, men lider lite av problemet som någon som lärt sig ett nytt språk. Den digitala tillvaron är inte deras ”modersmål”, så den kommer inte lika självklart och naturligt.

Sen har vi min föräldrageneration, de som är 75 och uppåt. Rätt många i den generationen vet knappt hur man använder internet alls, de hade helst behållt en stationär telefon och en tjock-tv.

Så nog är det är lite klurigt att designa för flera åldersgrupper.

Hur hittar du vilka trender som gäller inom UI och UX?

Google. Jag söker på olika nyckelord som UI, UX och design, sen lägger jag till nuvarande år och så sållar jag ordentligt och får upp relevant information. Jag hänger på en del forum där teknik och design diskuteras. Jag är inte så aktiv, utan mest där för att hålla koll på hur diskussionen går.

Vilka olika verktyg använder du i ditt jobb som frontend-utvecklare?

Photoshop, Illustrator, Acrobat, Sketch, webbläsare, IDE – programmeringsverktyg för all kodhjälp som jag kan tänkas behöva. Och sen lite webb-baserade verktyg som Toggl, Jira och Git.

Tack så mycket!