User experience

Brukeropplevelse – eller UX på fint – er et område de fleste utviklere kan bli MYE bedre på. Her er det jeg har skrevet om dette emnet..

Crowdsource testing av software

Crowdsourcing har vært et hot begrep lenge, men det er først nå i det siste at vi virkelig har begynt å se mange bedrifter etablere seg basert på denne modellen.

Prinsippet er å distribuere problemløsing og produksjon; en oppgave kringkastes til stor gruppe ukjente problemløsere – amatører og frivillige, eller gjerne også profesjonelle. Enkeltpersonene i denne gruppen, the crowd, leverer hver sin løsning. Gruppen kan også brukes til å stemme frem de beste løsningene. Disse blir så levert til oppdragsgiveren, the crowdsourcer, og den/de som vant blir kompansert – enten med penger, en pris, kudos, eller annen form for belønning.

Fordelene ved crowdsourcing kan være at problemer kan løses raskt, og til en relativt lav pris pga. stor konkurranse. Man betaler kun for resultater, og som oppdragsgiver kan man utnytte talentet til mange flere personer enn man tradisjonelt sett kan ansette selv.

crowdsourcing value chain

Det finnes som oftest tre ulike parter innenfor crowdsourcing, illustrert i tegningen over, og alle posisjonene i modellen er interessante. Som profesjonell utvikler kan jeg utnytte crowds til å levere verdi for meg på en kostnadseffektiv måte. Som et individ med kunnskaper og fritid kan jeg også bli medlem av et crowd community, og kanskje tjene litt penger på småoppdrag som distribueres til alle medlemmene. Og som en person interessert i inovasjon og nettverksbygging høres det utrolig spennende ut å fasilitere crowdsourcing, og å kunne høste en fortjeneste på å formidle oppdrag.

Den siste tiden har jeg blitt oppmerksom på flere, nystartede firmaer som tilbyr softwaretesting basert på crowdsourcing. Her er noen tjenester man ikke bør overse i disse trange tider:

uTestTestcrowd 1: uTest
uTest gir deg et virtuelt QA team når du trenger det. Nettverket består for tiden av over 16 tusen testere. Du gjør tilgjengelig det som skal testes, f.eks. linken til en testsite, og beskriver gjerne hva som skal testes og eventuelt hvordan. Du betaler kun for bugs som blir funnet (etter at du har kontrollert dem), og du kan også lage en liste med kjente feil, slik at du ikke trenger å betale for ting du vet om på forhånd.

Testerne bygger opp en kvalitets-score, og som oppdragsgiver kan du spesifisere hvilken type testere du ønsker, hvor mange, hvor lenge de skal teste, osv. Startup Success Podcast #22 går i dybden på uTest, og diskuterer også hvordan man bygger et crowd community. Meget insteressant.

UserTestingTestcrowd 2: UserTesting
Dette nettverket har spesialisert seg på usability testing. Dette er en form for testing som ofte er vanskelig å få til selv, og som normalt koster mye tid og penger om det skal gjøres skikkelig. For 29 dollar tilbyr UserTesting en video av en tester som bruker websiten din mens han forteller hva han opplever, samt en skriftelig oppsummering hvor testeren forteller hva han likte, ikke likte, osv.

Last gjerne ned Startup Success Podcast #20, som går i dybden på UserTesting.com.

BrowserMobTestcrowd 3: BrowserMob
Dette er en litt annen form for crowdsourcing. Kanskje er det mer riktig å kalle det cloudsourcing. BrowserMob automatiserer load-testing av websiden din ved hjelp av virtualisering, og viser deg nøyaktig hvordan siden oppfører seg i ulike browsere under høy last. Startup Success Podcast #18 intervjuer Patrick Lightbody som står bak BrowserMob.com, så lytt gjerne på det hvis du er insteressert.

Mange andre typer crowdsourcing..

Sammen med en kollega har jeg forsøkt meg litt på et crowdsourcing-konsept selv også, nemlig The Forecast Exchange, hvor man kan tappe kunnskapen til en gruppe mennesker for å spå om fremtiden. Nå i mai kjører vi andre runde med beta-testing, og tar du en titt på forsiden kan du se hvor stor tro brukerne har bl.a. på hvordan det vil gå med den norske børsen fremover, om Liverpool kommer på andreplass i premiere league, og om Norge vinner melodi grand prix.

Ting som Open Source Software, Wikipedia og StackOverflow er også varianter av crowdsourcing. Uservoice, som vi bruker på Forecast Exchange, er en crowdsource facilitator som gjør det mulig for oss å få tilbakemelding fra brukerne om hva de vil ha i produktet fremover. 99designs er et crowdsourcing community hvor du kan legge opp en konkurranse for grafiske designere, hvor folk konkurrerer om å komme opp med et design som du er villig til å betale for.

Er du interessert i flere slike crowds kan du ta en titt på denne listen fra Open Innovators over plattformer og tjenester. Crowdsourcing i ulike former er fremtiden. Det betyr mindre og mindre hvor man befinner seg i verden, og de som klarer å tappe kunnskap og talent over internett vil komme seirende ut av de komende årene. Dette er et utrolig spennende felt, og jeg gleder meg til å se mange, nye måter å utnytte dette på fremover.

Contiki bruker Reporting Services

Contiki ECMJeg jobber i et software-selskap (eller ISV om du vil) som heter CMA Contiki. Vi lager en enterprise contract management løsning som brukes av kunder over hele verden – av selskaper som Total, Halliburton, ConocoPhillips og Telenor.

Contiki ECM versjon 6, som er det jeg har jobbet med i snart 3 år, har hele tiden vært et veldig fleksibelt produkt som i stor grad kan tilpasses ulike kunder – bl.a. gjennom en egenprodusert workflow-løsning. Rapportering har også vært en sentral del, og vi hadde bygget inn XtraReports fra DevExpress i klienten vår for å kunne gi kundene en fleksibel rapporteringsløsning.

Nå har vi derimot gått bort fra denne løsningen, og i versjon 6.6 vil våre kunder få et produkt som er fullt integrert med SQL Server Reporting Services (SSRS) fra Microsoft. Vi tror både vi og kundene vil tjene på dette, siden SSRS er en mer kjent løsning som mange allerede har erfaring med.

Vi lar selvsagt kundene definere opp og tilgjengeligjøre alle de rapportene de selv ønsker, men vi har også valgt å ta et ekstra steg og bytter nå ut enkelte, sentrale skjermbilder i klienten vår med SSRS rapporter.

Standard contract summary
Contiki ECM: Standard contract summary

I skjermdumpen over ser du Contiki ECM versjon 6.5, hvor jeg har åpnet hovedbildet for en kontrakt. Det inneholder 6 faner (til høyre i bildet) hvor man får tilgang til nøkkeldata om kontrakten. Ulempen er at ulike kunder er interessert i ulike ting, og vi skulle derfor hatt en måte å tilpasse dette skjermbildet på. Derfor jobber vi nå med å bytte ut dette bildet..

Contract summary with SSRS
Contiki ECM: Custom contract summary with SSRS

Skjermdumpen over viser det samme oversiktsbildet for kontrakt, men denne gangen er den en SSRS rapport som lastes. Denne kan enkelt skreddersys til å vise akkurat de dataene kunden er mest opptatt av – de som er viktigst for dem. Takket være vårt konfigurasjonssystem kan man velge å vise ulike skjermbilder (dvs. rapporter) for ulike avdelinger (f.eks. markedsavdelingen kontra innkjøpsavdelingen), eller til og med for enkeltbrukere – CEO kan få sitt helt eget oversiktsbilde for kontrakter.

Som du kanskje ser gjenstår det litt på designet, men det er en smal sak. Vi har lagt mye arbeid ned i integrasjonen, for eksempel for å knytte SSRS mot vårt ACL system, slik at brukerne bare får tilgang til data de skal ha tilgang til.

Standard commercial commitment screen
Contiki ECM: Standard commercial commitment

Her ser du et annet skjermbildet vi ønsker å bytte ut. I bildet over ser du de komersielle dataene for en kontrakt slik det ser ut i versjon 6.5 og tidligere. Her har kundene meget varierende behov, og vi velger derfor å gå for en rapport (bildet nedenfor) som kan tilpasses.

Commercial overview with SSRS
Contiki ECM: Commercial commitment with SSRS

Denne strategien betyr også mere arbeid for våre konsulenter, som vil tilpasse skjermbildene og også lage nye rapporter for kundene. Erfaringen sålangt er bra, og kunsulentene har raskt lært seg å jobbe med SQL Server og Reporting Services. En bi-effekt er muligens at utviklerne ikke har behovet for å forstå kundenes behov i samme detaljgrad, som kanskje også vil kunne øke effektiviteten i utviklingen noe.

For å muligjøre en så tett integrasjon som mulig mellom rapportene og klienten vår har vi også utviklet funksjonalitet får å kunne klikke på linker i rapportene som navigerer til objekter i klienten. Vi har implementert en egen Contiki-protokoll som gjør at vi kan lage linker som f.eks. contiki://open/contract/id/1234 – som vil åpne kontrakten med id 1234. Slik blir rapportene er helt naturlig del av grensesnittet.

Vi bruker selvsagt også SSRS-integrasjonen i webklienten vår, som har vært mitt ansvarsområde. Reporting services kommer med Report-viewer for både WinForms og WebForms.

Jeg mener det har vært et lite genitrekk å knytte rapportene så tett inn i løsningen vår. Etterhvert som vi implementerer rapport-muligheter flere og flere steder i klienten, vil kundene kunne tilpasse produktet mere og mere til akkurat det de trenger, uten at vi behøver å øke kompleksiteten i det vi leverer. Nå gjenstår det bare å gjøre Contiki skriptbart, så kan vi slutte å kode selv også :)

Knagger: Contiki, SQL Server.

Ukonvensjonelt, nytt brukergrensesnitt

sugerUI.jpgSom jeg har nevnt tidligere er jeg – med min bakgrunn fra e-læring – nokså interessert i One Laptop per Child prosjektet til Nicholas Negroponte. Jeff Atwood forteller i bloggen sin Coding Horror om Sugar UI – det nye brukergrensesnittet som utvikles til 100-dollar-laptopen, som blir noe ganske anderledes enn det vi er vandt til fra Windows/Mac/Linux. Nettopp fordi at de potesnielle brukerne av laptoppen sansynligvis vil ha liten eller ingen erfaring med konvensjonelle brukergrensesnitt så har man kunnet tenke helt nytt, og man forsøker her å finne frem til det intuitivt riktige grensesnittet for et barn.


Torbjørn: La oss anta to ulike definisjoner av Template Method pattern - de to ytterpunkte...

Lars-Petter: Hei igjen. Siden du inviterer til å ta diskusjonen i bloggen, og har tatt deg t...

Torbjørn: Lars-Petter: Det er én måte å se det på. Det er absolutt fortsatt Template M...

Lars-Petter: Hei. Har du ikke i prinsippet her gått over fra Template Method (arv) til Strat...

Christian Abildsø: I alle fall i C#, så føles dette som kode som blir mer fleksibel men vanskelig...

Torbjørn: Hei Henrik, og takk for tilbudet. Ble oppmerksom på Rasberry Pi for under en uk...

Henrik Sandaker Palm: Ang. større hobby prosjekt. Du er som er en slik rakker på programmering har j...

Øivind Nilsen: Slutt å bruke mobilnummeret mitt som eksempel !...

Bjørn Einar Bjartnes: Jeg har også latt meg fascinere av Clojure, uten at jeg har kommet så veldig l...

Bjørn Einar Bjartnes: Sweet :) Jeg tror egentlig jeg liker det som det er, med musikk. Litt av utford...

 Hold deg oppdatert

Søk i bloggen

Ferske innlegg

  • Template Method del 4: Multippel arv
  • Template Method Intermesso
  • Template Method del 3: Bare funksjoner
  • Template Method del 2: På vei mot funksjonell programmering
  • Kategorier

  • .net ninja (37)
  • Bøker (17)
  • Diverse prosjekter (35)
  • DSL (10)
  • Erlang (10)
  • F# (5)
  • Hardware (1)
  • Jobb (77)
  • Julekalender (51)
  • kjempekjekt.com (23)
  • LISP/Clojure (33)
  • NNUG / community (60)
  • O/RM & databaser (10)
  • Off topic (116)
  • OO-design/clean code (30)
  • Podcasts (14)
  • Polyglot (77)
  • Ruby (27)
  • Silverlight / RIA (3)
  • Software/verktøy (20)
  • Softwareutvikling (20)
  • Testing / TDD (30)
  • the contiki strip (13)
  • User experience (3)
  • WCF (3)
  • Webutvikling (32)
  • WPF (9)
  • WTF (12)
  • Last ned Wallpaper

    Programmeringsbloggens tøffe skrivebordsbakgrunn med snippets fra ulike språk laster du ned her!

    Abonner via epost

    Om du vil kan du få alle nye blogposter tilsendt til din epost. Abonner nå, det er kjempeenkelt!

    Meta