Att webben är en fantastisk miljö för att bygga och använda applikationer är självklart i dag. Men i vissa avseenden brister det, på sätt som påverkar både utvecklare och användare negativt. Inte minst är felhantering en stor källa till frustration.

Om vi tittar på det ur en webbutvecklares synvinkel finns det åtskilliga utmaningar. Den första är att ens få reda på när ett fel uppstår i en webbapplikation. Det här gäller speciellt för publika webbtjänster. Man vet ofta inte ens vem användaren som råkar ut för ett fel är och kan inte räkna med att personen ska rapportera problemet.

Nästa utmaning är att försöka ta reda på hur ett fel inträffar och att lyckas återskapa det. Sedan kan man börja felsöka, till exempel genom att analysera koden, för att slutligen åtgärda felet.

Läs också: Så här får du nytta av Bash på Windows

Vad resulterar den här struliga processen i? Jo, att mängder av fel i webbapplikationer inte åtgärdas. Utvecklarna orkar helt enkelt inte, alternativt har inte tid, att ta tag i problemen.

Det här ämnar Mats Bryntse, vd på det svenska mjukvaruföretaget Bryntum, ändra på. Och det ska han göra med webbtjänsten Rootcause. Åtminstone för Javascriptbaserade applikationer.

Bryntum vars största produkt är det webbaserade projekthanteringsverktyget Ext Gantt har tio medarbetare som mestadels jobbar med utveckling. Upprinnelsen till Rootcause är dels den frustration man känt över hantering av fel i företagets produkter, dels insikten att man redan hade många av de delar som skulle krävas för ett ambitiöst felhanteringsverktyg, i form av interna verktyg.

Rootcause används till att fånga upp och rapportera Javascriptfel automatiskt, sedan kan utvecklare söka bland loggade fel i ett administrationsverktyg och se var i koden de inträffat. Dessutom kan de återspela sessioner och användaraktiviteter som ledde fram till fel. Det är som att titta på en video med en muspekare som rör sig tills det går åt pipan. Sammantaget kan man säga att det handlar om att återskapa fel och att få hela sammanhanget med koppling till koden.

Den här animerade gif:en visar hur det ser ut när man spelar upp session som ledde till ett fel:

Rootcause

Den här funktionaliteten måste väl redan finnas i andra produkter än Rootcause?

– Nej, den gör faktiskt inte det. Jag kan tänka mig att företag som Google och Mozilla kanske har en del interna verktyg. Det finns andra tjänster som loggar fel och visualiserar flödet, men det finns inget annat verktyg som erbjuder samma funktionalitet som Rootcause i ett paket, säger Mats Bryntse.

Han beskriver marknaden för felhantering som en samling tjänster med mer nischad och mindre sofistikerad funktionalitet. Det han kallar ”första generationens verktyg” används för att samla in data om vad som händer på användarnas datorer. Man kan till exempel se hur ofta det blir fel och vilka användare som drabbats av vilka fel.

Med andra generationens verktyg kan man numera även visualisera sekvenser, alltså återspela användningen av en applikation och se vad användaren gjorde. Men det finns ingen koppling till koden för applikationen. I de flesta fall handlar det om att verktygen sparar undan det som sker rent tekniskt i en applikation, men utan att ge någon större hjälp att analysera vad som händer.

– Med Rootcause simulerar vi i stället allt som användaren gjorde på sidan vilket återskapar felet och man ser direkt var i koden det händer, säger Mats Bryntse.

Hur fungerar det?

Det som krävs är till att börja med att börja använda Bryntums webbtjänst Rootcause vilket görs genom ett skript som läggs in på webbsidan. Sedan behöver man ange värden för ett antal inställningar för tjänsten som man vill använda.

– Vanligtvis handlar det om mellan fem och tio inställningar, men man kan göra fler.

Läs också: Brist på utvecklare öppnar för outsourcing till helt nya länder

Sedan är det bara att köra. Bland inställningar som kan göras märks att det går att ”pixla” utvalda fält, så att värden som anges i dem inte syns under återspelning. Typexempel på det är fält för personnummer och kontokortsnummer. Här kommer man in på integritetsfrågor som kan bli aktuella med Rootcause.

– Man får fundera på i vilka sammanhang det passar att använda Rootcause, i vissa fall kan det vara känsligt att spela in vad användare gör.

Det bör dock alltid fungera som hjälpmedel för ambitiösa interna tester.

Mats Bryntse ser användningsområdet som större än att enbart följa upp fel maskinellt. Det finns en funktion som förenklar för användare att ge feedback på användargränssnitt, med möjlighet att visuellt peka ut olika områden på skärmbilden. Han ser också en möjlighet att förenkla kommunikationen mellan utvecklare och testare med hjälp av Rootcause.

I dagsläget har man cirka 50 företag som kunder, med sammanlagt cirka 200 användare, inklusive gratisanvändare. Priset börjar med en gratisvariant för hobbyister, sedan kostar det 49 dollar, cirka 440 kronor, per månad för fem utvecklare och fem applikationer. Därefter finns det mer omfattande erbjudanden och även möjlighet att köra tjänsten på sin egen privata server.

Läs också: 4 tecken på att säkerhetsläget faktiskt blir bättre

Mats Bryntse har höga förhoppningar på Rootcause och står själv för en marknadsföringsinsats genom att åka världen runt och prata på meetups och konferenser om verktyget. Han bokar också möten flitigt för att övertyga potentiella kunder:

– Det är lätt att få komma på möten och reaktionen blir alltid den samma, webbutvecklare känner igen sig i hur mycket tid som krävs för att följa upp felrapporter från deras slutanvändare. Sedan kommer det in andra frågor i bilden som hur ett sådant här verktyg kan användas i ett företags interna processer innan ett beslut kan fattas att börja använda tjänsten.