Från labbet

Ett virtuellt husdjur för Prototyps fyra kontor

Anställda från Barcelona och Stockholm samarbetade i skapandet av ett virtuellt husdjur i syfte att stärka företagets sammanhållning.

Tech used

  • Prisma ORM
  • Typescript
  • AR.js library
  • GeoJSON
  • Raspberry PI
  • WS281x Led lights

Press to view video

Bakgrund

Sju medarbetare använde Prototypveckan till att förbättra den redan starka sammanhållningen på bolaget. Genom att skapa ett virtuellt husdjur som kunde röra sig fritt mellan de olika kontoren så gav man medarbetare möjligheten att interagera med maskoten på olika vis, inklusive genom lek och matning.

Processen

För att snabbt och smidigt kunna göra konceptet till en verklighet så delades gruppen in i mindre team, där samtliga arbetslag hade olika arbetsuppgifter. Ett gäng jobbade med den interaktiva delen av projektet, vilket inkluderade byggandet av en AR-app.

En annan grupp fokuserade på beteendedelen av systemet, även kallat “hjärntjänsten”, medan resterande medarbetare ägnade tid till själva visualiseringen av husdjurets geografiska plats och omgivning. Detta åstadkom man genom att markera specifika positioner på både en digital och en fysisk karta. När de olika delprojekten färdigställts så var också slutmålet nått - man hade byggt ett fullt fungerande virtuellt husdjur.

Utmaningarna

Både AR-appen och platsklienten var beroende av husdjurets generella tillstånd och beteende, och den så kallade "hjärntjänsten" var en central punkt i det systemet. Utmaningen var att samordna och prioritera de olika kraven för att allt skulle fungera, något man lyckades med genom samarbete och ett flertalet lösningsinriktade diskussioner mellan arbetslagen.

Vidare var en stor utmaning för kollegorna som fokuserade på den fysiska omgivningen att försöka få LED-lamporna på den fysiska kartan att fungera som planerat. Till en början stötte teamet på flera programmeringsrelaterade problem med artefakter, vilket hindrade lamporna från att tändas och lysa som dom borde. På grund av hur tidskänslig uppgiften var (då det var Prototypveckan) så var den här delen av projektet inte helt funktionsduglig när det var dags för demonstrationen.

AR-appen var också en liten utmaning då teamet inte hade omfattande erfarenhet av vare sig AR eller att designa 3D-modeller. Men efter lite research så hittade arbetslaget ett tillfredsställande alternativ med AR.js. Den lösningen gav kollegorna ett bibliotek som gjorde det möjligt att visa innehåll i den fysiska världen, vilket i sin tur gjorde det lättare att visa objekten ovanpå markörerna som hade distribuerats runt om på kontoret. Gänget använde sedan samma problemlösningsfärdigheter för att kunna använda enkla objekt och animationer för att framgångsrikt visa 3D-modellerna i mobiltelefoner.

Resultat / Lärdomar

Att använda rätt GIS (Geografiskt informationssystem) visade sig snabbt vara väldigt viktigt. För att optimera husdjurets omgivning och rörelsemönster använde sig teamet därför av en GIS-lösning som tillät dem att hantera och analysera kartdata, nämligen GeoJSON, ett typ av dataformat som är branschstandard och som bygger på JSON-formatet. Genom att använda denna specifikation för GEO-refererade punkter och polygoner kunde de konsekvent och noggrant beskriva de fysiska formerna på kontoren och platserna. Data som formaterats med den standarden var kompatibel med en mängd olika verktyg, tjänster och programmeringsspråk, vilket i sin tur hjälpte teamet att definiera reglerna för husdjurets generella rörelser. Detta gjorde i slutändan att projektet upplevdes som väldigt levande.

Under projektets gång insåg kollegorna även hur viktigt det var att ha ett kompatibelt bibliotek. Tack vare AR.js kunde teamet använda AR på webben, vilket i sin tur möjliggjorde användning av teknik som de flesta i teamet var bekanta med, inklusive HTML, Javascript och CSS.

Framtida Åtgärder

På grund av att Prototypveckan är någorlunda tidsbegränsad så kan husdjuret för närvarande bara röra sig runt Stockholmskontoret. I framtiden skulle teamet kunna lägga till objekt som kan interagera med husdjuret runt olika kontor för att skapa känslan av att hen aktivt reser mellan olika platser. En idé att potentiellt bygga vidare på i framtiden inkluderade även Sonos ljudsystem. Tanken bakom det är att man kan använda ljudsystemet för att kunna meddela kollegorna på ett kontor om att det virtuella husdjuret är närvarande eller på väg. Man skulle även kunna använda samma system för att kommunicera husdjurets olika behov och motivationer genom att förknippa det med specifika ljud.