Show simple item record

dc.contributor.advisorJaccheri, Maria Letizia
dc.contributor.advisorAlstad, Rune
dc.contributor.authorGjørvad, Arnfinn Refshal
dc.date.created2014-12-01
dc.date.issued2014
dc.identifierntnudaim:10348
dc.identifier.urihttp://hdl.handle.net/11250/2353215
dc.description.abstractMengden smarte enheter, slik som smarte klokker, briller eller til og med røykvarslere, som blir solgt vokser og vokser. De fleste slike enheter trenger en form for fjernkontroll for å styres eller konfigureres. Det gjøres ofte med en egen kontroll eller app. Dette fører fort til problemer hvor brukerne mister oversikten og sliter med å lære seg alle kontrollene. Det finnes kontrollsenter-apper, men disse er ofte begrenset av små, lukkede APIer som gjør det vanskelig å utvikle gode løsninger. I denne oppgaven ser jeg på en måte for å lage et service lag i mellom en simpel, hardware-nær API og en større, brukervennlig API. Målet med denne oppgaven er å finne det beste kryssplattform rammeverket for hardware nære applikasjoner, og undersøke hvor egnet dette er til en slik app. I tillegg vil oppgaven se på forskjellige teknikker for å øke mengden kryssplattform kode man kan oppnå. Til slutt vil den undersøke hvordan man ved hjelp av Cognitive Dimensions rammeverket kan teste det ferdige APIet. I forstudien fant man ut få av cross-platform rammeverkene har støtte for USB. Ved hjelp av plugins kan man gjøre det i et par av de, men ingen av de har plugins som er ferdig utviklet eller offisielt støttet. Xamarin ble derfor valgt som rammeverket for resten av oppgaven. Det er klart at Xamarin ikke er godt egnet til denne typen prosjekter. Selv om den gir tilgang til alle metoder som kreves for å lage USB-kommunikasjon (noe de andre rammeverkene ikke gjør), så er det bare en enkel skall rundt de native metodene. Dette fører til flere negative konsekvenser. I tilleggg er dokumentasjonen manglede, og dette fører til mye tapt tid. Allikevel, sluttproduktet fungerte bra, og man endte opp med ca. 50\% cross-platform kode (og når programlogikken blir mer compleks, vil mengden kryssplattform kode øke). Ved å fokusere på designtaktikker for modifiserbarhet kan man redusere problemene ved Xamarin. Å bruke Cognitive Dimensions rammeverket for å analysere APIet var hjelpsomt, da det lot deltakerne i brukerundersøkelsen reflektere rundt opplevelsen sin på en mer strukturert måte. Når man sammenligner resultatene man fikk når man lot deltakerne selv analysere systemet i følge dimensionene med resultatet man fikk når man analysere det på bakgrunn av hvordan folk brukte systemet, ser man at det er en klar sammenheng. Systemer som ble produsert er kun implementert på ANdroid. Det skal være enkelt å bytte ut både platform og kommunikasjonskanal, og resultatene burde holde på andre platformer, men det kan allikevel være verdt å sjekke. I tillegg vil det være spennende å se om sammenhengen mellom brukernes analyse og analysen basert på brukertesten også eksisterer i andre produkter.
dc.languagenob
dc.publisherNTNU
dc.subjectInformatikk, Software
dc.titleEt kryssplatform API for å kontrollere en ekstern enhet
dc.typeMaster thesis


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record