• No results found

Förbättrat informationsflöde med hjälp av Augmented Reality

N/A
N/A
Protected

Academic year: 2021

Share "Förbättrat informationsflöde med hjälp av Augmented Reality"

Copied!
78
0
0

Loading.... (view fulltext now)

Full text

(1)

DEGREE PROJECT, IN EXAMENSARBETE INOM INFORMATIONS- OCH , FIRST LEVEL KOMMUNIKATIONSTEKNIK, GRUNDNIVÅ 15,0 HP

STOCKHOLM, SWEDEN 2015

Förbättrat informationsflöde med hjälp

av Augmented Reality

DANIEL ALMQVIST, MAGNUS JANSSON

(2)

Abstrakt

Augmented Reality ¨ar en teknik f¨or att f¨orst¨arka verkligheten, d¨ar digitala objekt placeras framf¨or bilder eller liknande genom att anv¨anda kameran p˚a den mobila enhet. Eftersom det finns flera olika metoder att anv¨anda Augmented Reality-tekniken har unders¨okningar och efterforskningar inom omr˚adet gjorts. Ett exempel p˚a ett omr˚ade d¨ar denna teknik g˚ar att anv¨anda ¨ar reklam. Reklam ¨ar n˚agot som alla dagligen m¨ots av, men oftast kan ses som tr˚akiga eller ¨ar n˚agot m˚anga inte l¨agger m¨arke till. Genom en Augmented Reality prototyp kan anv¨andaren registrera respektive m¨onster eller tal och h¨amta n¨odv¨andig data fr˚an en databas. Sedan skapas en interaktiv h¨andelse som visar informationen p˚a ett unikt s¨att, d¨ar alla, ¨aven de funktionshindrade kan ta del av den information de oftast saknar. Denna interaktiva h¨andelse ger ¨aven liv till de tidigare tr˚akiga reklam- eller informationsaffischer.

Resultatet av rapporten ¨ar en prototyp p˚a mobila plattformen Android som anv¨ander Augmented Reality-tekniken och har m˚anga funktioner. Den kan acceptera r¨ostigenk¨anning f¨or att registrera det som talas in och utifr˚an specifika nyckelord kan prototypen ge information om nyckelordet. Testningen av denna prototyp visar att m˚anga ¨ar positiva i anv¨andningen av prototypen och ser det som ett intressant s¨att att f˚a ut informationen. Personerna som har testat prototypen kan t¨anka sig att anv¨anda prototypen sj¨alva f¨or att f˚a ut sin egna reklam p˚a ett unikt och lockande s¨att.

Nyckelord: Augmented Reality(AR), F¨orst¨arkt Verklighet, Informationsfl¨ode, Reklam, Andriod, Java, Text-till-tal, Taligenk¨anning, Prototyp, Referensm¨onster, Kamera.

(3)

Abstract

Augmented Reality is a technology where an object is introduced in front of a picture or a similar media using the camera on a mobile device. There are several different ways to use the Augmented Reality technology, research in the field has therefore been made. An example of an area where the technology can be used is advertisement. Since advertisement is something everyone is confronted with daily, but usually the advertisement can be seen as boring or is something many do not even notice. Through a Augmented Reality prototype, users can register both patterns and speech and get the required data from a database. It can create an interactive event that displays the information in a unique way, where everyone, even people with disabilities can take part of the information they usually can not take part of. This interactive event gives life to the previously tedious advertisement or information posters.

The result of the report is a prototype on the mobile platform Android using Augmented Reality technology and the prototype has many features. It can use voice recognition and keywords to access additional information about the keyword. The testing of this prototype shows that many are in favour of the use of the prototype and they see it as an interesting way to get the information. That is why they are willing use the application themselves to get their own advertising in a unique and appealing way.

Keywords: Augmented Reality(AR), Flow of information, Advertisement, Android, Java, Text-to-Speech, Speech Recognition, Prototype, Reference Pattern, Camera.

(4)

Contents

1 Introduktion 1 1.1 Bakgrund . . . 2 1.2 Problembeskrivning . . . 3 1.3 Syfte . . . 5 1.4 M˚al . . . 5 1.4.1 Etik . . . 5 1.4.2 Samh¨allsnytta . . . 6 1.4.3 H˚allbarutveckling . . . 6 1.5 Metod . . . 7 1.6 Avgr¨ansningar . . . 8 1.7 Disposition . . . 8 2 Augmented Reality 9 2.1 Augmented Realitys historia . . . 9

2.2 Tekniker . . . 12

2.3 Android och Augmented Reality . . . 14

2.3.1 Aurasma . . . 15 2.3.2 Junaio . . . 15 2.3.3 Wikitude . . . 16 2.3.4 Layar . . . 16 2.3.5 Android API . . . 16 2.4 Relaterade Arbeten . . . 17 2.4.1 Universal . . . 17

2.4.2 Lego Digital Box . . . 17

2.4.3 Cortana, Google Now och Siri . . . 17

3 Metod 19 3.1 Arbetsmetod . . . 19 3.1.1 Vattenfall . . . 19 3.1.2 Iterativ . . . 20 3.1.3 Scrum . . . 20 3.1.4 XP . . . 21 3.2 Produktdesign . . . 22

(5)

3.2.1 Low-Fidelity Prototyp . . . 22 3.2.2 High-Fidelity Prototyp . . . 22 3.3 Utvecklingssteg . . . 23 3.4 Projektets utvecklingssteg . . . 24 4 Verktyg 26 4.1 Android SDK . . . 26 4.2 Android Studio . . . 26 4.3 GitHub . . . 27 4.4 Utvecklingsmilj¨on . . . 27

4.5 Anv¨anda delar i Prototypen . . . 28

5 Utveckling 29 5.1 Kravspecifikation . . . 29 5.2 Prototyp 1 . . . 31 5.3 Prototyp 2 . . . 33 5.3.1 Kamera . . . 33 5.3.2 Text-till-tal . . . 33 5.3.3 Taligenk¨anning . . . 34 5.3.4 Positionering . . . 34 5.3.5 M¨onsterigenk¨anning . . . 35 5.3.6 Sammanfattning . . . 35 5.4 Prototyp 3 . . . 36 5.4.1 Kamera . . . 36 5.4.2 M¨onsterigenk¨anning . . . 37 5.4.3 Text-till-tal . . . 37 5.4.4 Taligenk¨anning . . . 37 5.4.5 Digitala objekt . . . 38 5.4.6 Sammanfattning . . . 38 6 Presentation av prototyp 41 6.1 Prototypen . . . 41 6.1.1 Kamera . . . 41 6.1.2 M¨onsterigenk¨anning . . . 41 6.1.3 Text-till-tal . . . 42

(6)

6.1.4 Taligenk¨anning . . . 42 6.1.5 Digitala objekt . . . 42 6.1.6 Anv¨andargr¨anssnitt . . . 43 6.2 Vidareutveckling . . . 43 6.2.1 Kamera . . . 43 6.2.2 M¨onsterigenk¨anning . . . 43 6.2.3 Text-till-tal . . . 44 6.2.4 Taligenk¨anning . . . 44 6.2.5 Digitala objekt . . . 45 6.2.6 Anv¨andargr¨anssnitt . . . 45 6.3 Prototypen i helhet . . . 45

6.3.1 M¨ojligheterna f¨or prototypen . . . 46

7 Resultat 47 7.1 Anv¨andbarhetstestning . . . 47

7.2 Diskussion . . . 49

7.3 Evaluering . . . 49

8 Slutsatser och fortsatt arbete 51 8.1 Slutsatser . . . 51

8.2 Diskussion . . . 53

(7)

1

Introduktion

Dagens utveckling av teknik g˚ar i stora steg fram˚at och alla tekniska produkter blir mer och mer avancerade. Tekniker som tidigare setts som dr¨ommar eller ur filmer f¨or framtiden[1], ¨ar nu mera verklighet. Tidigare kunde personer endast uppleva till exempel den virtuella verkligheten som en del av en futuristisk film som i filmen Tron[ibid.] fr˚an 1982. Nu f¨or tiden kan personer faktiskt sj¨alva se virtuella verkligheten i hemmet[2] eller genom 3D[3] filmer. 3D ¨ar teknik som g¨or att filmer ser ut att sticka ut ur sk¨armen och d¨ar med lurar det m¨anskliga ¨ogat. Personen f˚ar en illusion att denne ¨ar inuti filmernas h¨andelser, det finns ett djup i filmen som liknar verkligheten[ibid.]. Bland utvecklingen av ny teknik ¨ar dr¨ommen att integrera verkligheten med datorv¨arlden och g¨ora vardagen enklare. P˚a samma s¨att som all annan teknikutveckling, g˚ar ¨aven utvecklingen av mobila enheter med stormsteg fram˚at. Det kan ses stor skillnad i hur avancerad tekniken ¨ar och antalet funktioner en mobiltelefon har p˚a bara 20˚ars skillnad[Figur 1].

(a) Ericcson mobil fr˚an 1994 (b) Sony mobil fr˚an 2014

Figur 1: Mobiltelefoner

K¨alla:

(a) www.mobilephonehistory.co.uk/ericsson/ericsson gh337.php (b) www.mobil.se/tester/produkttester/test-sony-xperia-z1-compact

Ut¨over utvecklingen av h˚ardvaran som g¨or mobilerna mindre, med st¨orre sk¨arm och snabbare processorer, sker ¨aven utveckling p˚a mjukvarusidan. Som till exempel finns nu avancerade tekniker som l˚ater den virtuella v¨arlden och den verkliga v¨arlden att l¨ankas ihop. F¨or att ˚astadkomma sammanl¨ankningen mellan den virtuella och verkliga v¨arlden anv¨ands Augmented Reality (AR)[4].

(8)

1.1

Bakgrund

Augmented Reality ¨ar ett s¨att att placera digitala objekt som en del av bildvisningen fr˚an kameran eller p˚a en genomskinlig sk¨arm. Vart de digitala objekten placeras beror hur utvecklaren valt att designa mjukvaran. Placeringen av det digitala objektet p˚a sk¨armen sker utan f¨ordr¨ojning, vilket g¨or upplevelsen mycket mer verklighetstrogen. Den mobila enheten blir som ett filter ¨over verkligheten och l¨agger till det som inte kan ses med blotta ¨ogat. Men det ¨ar inte bara en inlagd bild i en kamera, utan det ¨ar mycket mer som sker i systemet f¨or att g¨ora Augmented Reality m¨ojligt. Det g˚ar att f¨orklara vad som sker i det bakomliggande systemet genom att f¨olja fr˚an bildupptagning till bildvisning [5, sid 4]. F¨orsta steget f¨or att skapa Augmented Reality ¨ar att med hj¨alp av kameran i den mobila enheten f˚a informationen om hur omgivningen ser ut. Omgivningen matas in i systemet som ett konstant fl¨ode av r¨orlig bild och skapar illusionen att anv¨andaren ser sin omgivning ur ett verklighetstroget perspektiv. Genom att m¨onstermatcha redan inmatade m¨onster eller bilder kan AR-programmet veta vad och vart den skall placera det digitala objektet. ¨Aven om m¨onstret/bilden flyttas kommer det digitala objektet flyttas med p˚a grund av att applikationen uppdaterar sig sj¨alv konstant p˚a ett effektivt s¨att utan att st¨ora det som h¨ander[5, sid 13]. Dessutom med ett inbyggda sensorer kan AR-programvara placera digitala objekt p˚a v¨aggar eller golv, d˚a den kan ber¨akna avst˚andet mellan det mobila enheten och den plana ytan[6]. Med den inbyggda GPS:en kan olika h¨andelser ske beroende p˚a vart den mobila enheten befinner sig i v¨arlden[7]. Detta fungerar genom att l¨asa in koordinater som ges fr˚an GPS:en som sedan j¨amf¨ors med de koordinater som finns lagrade i en databas. N¨ar j¨amf¨orningen ¨ar gjord h¨amtar applikationen det digitala objektet som ska visas utifr˚an de koordinater som GPS:en givit och placerar ut objektet p˚a sk¨armen[5, sid 48]. Med m¨ojligheter som Augmented Reality (AR) ¨ar det sv˚art att s¨atta gr¨anser, men f¨or att AR-tekniken skall utvecklas och bli mer k¨ant beh¨over tekniken n˚a ut till fler personer.

Eftersom reklam ¨ar n˚agot som alla dagligen m¨ots av ¨ar det n˚agot som skulle kunna utvecklas enormt med AR-tekniken. D¨arf¨or kommer det utvecklas en prototyp, tester kommer tas fram av projektgruppen och utf¨oras av utomst˚aende personer. Med hj¨alp av testning av prototypens funktioner utr¨onas m¨ojligheterna att anv¨anda AR-tekniken inom reklam. ¨Aven om reklamen inte uppn˚att samma

(9)

niv˚a som andra delar av v¨arlden till exempel USA[8], finns det reklam p˚a TV, radio, affischer och m˚anga sidor p˚a Internet. All reklam leder dock l¨att till ett ¨overfl¨ode av information och det som anses vara relevant f¨or den enskilda individen kan bli f¨orsvunnen i m¨angden av all annan information. Det b¨asta s¨attet att f˚a reda p˚a n˚agot och f˚a reklam om ett intressant omr˚ade ¨ar genom att vara aktiv inom omr˚adet. Ett s¨att att f˚a tag p˚a relevant information f¨or individen ¨ar genom att vara delaktig p˚a evenemang eller m¨oten om det aktuella omr˚adet. I dagsl¨aget kommer n¨astan all reklam fr˚an en annons¨or ut p˚a sociala medier, vilket g¨or att reklamen n˚ar de som redan ¨ar intresserad av annons¨oren och deras erbjudanden[9]. Dels genom att personer som ¨ar intresserad av ett f¨oretag f¨oljer f¨oretaget p˚a sociala medier och d¨arigenom f˚ar informationen direkt, men ¨aven genom direktreklam mot grupper av personer som har under senaste tiden s¨okt eller informerat andra personer om produkter relaterat till f¨oretagen. Reklam som hittas p˚a konventionella medier blir l¨att bortgl¨omd, speciellt n¨ar det g¨aller affischer. En v¨agg fylld av olika reklamblad g¨or att det blir sv˚art att f˚anga uppm¨arksamheten fr˚an f¨orbipasserande personer, ¨aven med starkare f¨arger eller st¨orre text. Som konsument av reklamen finns det ingen anledning att stanna upp och l¨asa reklamaffischer, d˚a all reklam och information som kan vara av intresse redan har n˚att individen via sociala medier.

1.2

Problembeskrivning

Med fler och fler m¨anniskor som kopplar upp sig mot n¨atet med sina mobila enheter blir det digitala omr˚adet intressant f¨or f¨oretagen[10 & Figur 2].

Figur 2: Mobilanv¨anding vid annonsering av nya p˚aven

K¨alla: http://photoblog.nbcnews.com/ news/2013/03/14/17312316-witnessing-papal-history-changes-with-digital-age

(10)

Intresset f¨or det digitala omr˚adet hos f¨oretagen har sin grund i att informera en stor grupp m¨anniskor p˚a ett enkelt och effektivt s¨att om vad f¨oretaget har att erbjuda. De mobila enheterna har st¨od och funktioner som vanlig reklamaffischer inte klarar av, s˚a som att med ljud f¨ormedla budskap eller genom r¨orlig bild. Att anv¨anda sig av mer ¨an ren text g¨or att den del av befolkningen som har nedsatt syn, dyslexi eller annan l¨as- eller f¨orst˚andshandikapp kan ta del av informationen [11].

¨

Aven om f¨oretag n˚ar fler m¨anniskor digitalt beh¨ovs reklamaffischer eftersom annars g˚ar de miste om de personer som spontant l¨aser reklamaffischen p˚a anslagstavlan f¨or att n˚agot f˚angade dess blick. Alternativt att information som var uppsatt bredvid var intressant och n¨ar personen ¨and˚a stod d¨ar och l¨aste passade denne p˚a att l¨asa reklamen bredvid ocks˚a. P˚a samma s¨att ¨ar det sv˚art som annons¨or att f˚a nya personer att ta del av reklam utan att sprida budskapet om att de finns p˚a sociala medier. D¨arf¨or anv¨ands fortfarande reklamaffischer och genom att anv¨anda Quick Respons-koder (QR-koder) och genom enkla webbadresser p˚a affischer f¨ors¨oker annons¨orer f˚a nya personer att ta del av den digitala information ocks˚a.

F¨oretagen vill n˚a ut till fler och f˚a fler att intressera sig av dem. F¨or annons¨orer i dagsl¨aget handlar det att ¨oka intresset tillr¨ackligt mycket f¨or att kunden faktiskt ska ta del av informationen. Den perfekta situationen vore att hitta en balans mellan digital reklam och den analoga affischen.

Information som kan l¨amnas ut p˚a en affisch ¨ar begr¨ansad och kan ej uppdateras utan att skapa en helt ny affisch. Begr¨ansningarna med en affisch g¨or att den inte ¨ar optimal f¨or att n˚a flest m¨anniskor. Digital reklam kan ge st¨od till de funktionshindrade och mer detaljerad information till de som ¨ar intresserade, men i flesta fall b¨or konsumenten k¨anna till vart hj¨alpen eller informationen finns. F¨or att utnyttja f¨ordelarna med att n˚a m˚anga olika personer genom affischer och samtidigt fylla det behov som kan ges via digital reklam, finns Augmented Reality(AR).

AR kan ge tydligt, konkret budskap f¨or reklam. Ut¨over att budskapet blir tydligare med AR kan annons¨oren ¨aven f˚a fram mer information om sig sj¨alv. En reklamaffisch f¨or ett evenemang, som anordnas av en organisation, kan g˚a fr˚an att ha sin egna logotyp samt kort information om evenemanget med en passande bild till att logotypen blir tydligare med sv¨avande information om vad

(11)

organisationen st˚ar f¨or samt en r¨ost som l¨aser upp information om evenemanget genom att anv¨anda sig av AR. Till exempel kan AR g¨ora att evenemangets stillbild blir r¨orlig eller att en figur r¨or sig runt p˚a affischen f¨or att locka konsumenter till att ta del av informationen.

Hur kan Augmented Reality anv¨andas f¨or att f¨orb¨attra informationsfl¨odet och ¨oka tillg¨angligheten f¨or alla, ¨aven personer med funktionsneds¨attning? Genom att anv¨anda sig av AR kan alla de mobila enheter som konstant ¨ar med oss vara d¨orren mellan den digitala v¨arlden och den analoga affischen. Affischerna som tidigare bara f˚angat uppm¨arksamheten hos de som inte f¨oljer f¨oretaget eller organisationen digitalt blir nu intressant f¨or alla med mobila enheter. Med hj¨alp av den mobila enheten f˚ar anv¨andaren ut mer information p˚a ett s¨att som ¨ar intressant. Med hj¨alp av taligenk¨anning och Text-till-tal funktionalitet kan det m¨ojligg¨oras en l¨osning ˚at de personer som har funktionsneds¨attning i form av nedsatt syn eller l¨assv˚arigheter.

1.3

Syfte

Syftet med denna examensrapport ¨ar att presentera en f¨orb¨attring av informationsfl¨odet med hj¨alp av en Augmented Reality-prototyp. Prototypen skall m¨ojligg¨ora att alla kan ta del av mer information ¨an det som finns p˚a reklamaffischer p˚a ett interaktivt s¨att, ¨aven f¨or personer med funktionsneds¨attning.

1.4

M˚al

M˚alet med examensarbetet ¨ar att utveckla och implementera en prototyp som kan utf¨ora m¨onsterigenk¨anning f¨or att visa ut¨okad information. Prototypen skall ¨aven kunna anv¨anda sig av taligenk¨anning.

1.4.1 Etik

Med dessa egenskaper som satts som m˚al beh¨over det finnas i ˚atanke att de kan medf¨ora risker. Det som kan se som en risk inom etik ¨ar om prototypen anv¨ands i icke-acceptabelt syfte. Som till exempel anv¨anda sin egen h¨andelse p˚a n˚agon annans bild eller m¨onster, vilket skulle g¨ora att personen som skapade h¨andelsen kan ge information om n˚agot som inte ¨ar deras och missleda andra

(12)

anv¨andare. Informationen som skapats genom h¨andelsen kan ha ett annat syfte ¨an vad som ges p˚a bilden/m¨onstret. F¨or att detta skulle bli m¨ojligt skulle det f¨orst beh¨ovas byggas upp en databas och koppla den till prototypen. Om en databas skulle existera skulle personen som vill missleda genom fel information f¨or n˚agon annans m¨onster beh¨ova f˚a ˚atkomst till databasen f¨or att kunna ¨andra det som lagras d¨ar. Fr˚an anv¨andning av prototypen skulle inte det vara m¨ojligt, f¨or att databaskopplingen skulle logiskt bara till˚ata h¨amtning av data och inte ¨andring.

1.4.2 Samh¨allsnytta

Inom samh¨allsnytta finns risken att prototypen inte kommer bidra med n˚agot f¨or samh¨allet eller ¨ar f¨or sv˚ar att anv¨anda och blir s˚aledes bara ett on¨odigt program. Anv¨andningsomr˚ade som angetts f¨or prototypen kommer ge m¨ojligheter f¨or den att bidra till samh¨allet. Till exempel ger den nya m¨ojligheter f¨or de med funktionsneds¨attning. Prototypen kan ¨aven skapa nya s¨att f¨or f¨oretag att f˚a ut mer information p˚a en mindre yta, genom att personer kan l¨asa av f¨oretagens affischer och sedan f˚a ut specifik eller mer utf¨orlig information genom en h¨andelse via prototypen.

1.4.3 H˚allbarutveckling

Ur h˚allbarutvecklingssynpunkt[12] finns det en risk att det finns personer som ¨ar emot denna typ av applikation, d˚a det p˚averkar hur den sociala omgivningen agerar. Personerna som ¨ar emot kan ¨aven tycka att det ¨ar on¨odigt att fler m¨anniskor blir beroende av mobila enheter f¨or att f˚a ut all information. Det finns en risk att motst˚andspersoner k¨anner obehag av att fler m¨anniskor riktar deras mobiltelefoner ¨overallt f¨or att uppt¨acka ny information, d˚a personen som k¨anner obehag inte vet om personen med mobiltelefonen anv¨ander prototypen eller tar bilder. Detta kan begr¨ansas genom att s¨atta en logotyp p˚a de affischer som anv¨ander prototypen och ¨aven minska storleken p˚a m¨onstret f¨or att tvinga personer g˚a n¨armare affischen f¨or att kunna anv¨anda prototypen.

En del i h˚allbarutveckling ¨ar att produkten som tas fram inte f˚ar kosta f¨or mycket. Ur ekonomisk synvinkel beh¨over det ses ¨over om kostnaden f¨or utvecklingen av denna prototyp kommer vara f¨or h¨og eller om driften f¨or den ¨ar f¨or dyr. Den kostnad som kan uppst˚a vid utveckling av denna prototyp ¨ar

(13)

i form av arbetskraft f¨or att utveckla mjukvaran. Kostnader som kan uppst˚a efter utvecklingen ¨ar klar ¨ar kostnader f¨or vidareutveckling, kostnader servrar f¨or att ladda ner prototypen och kostnader f¨or servrar att uppr¨atth˚alla databasen. Kostnaderna f¨or denna AR-prototyp kommer d¨arf¨or inte vara dyrare ¨an de applikationer som finns idag och eftersom det ¨ar en mjukvara kan prototypen bara bli s˚a bra som enheten som prototypen installeras p˚a.

Sista delen av h˚allbarutveckling ¨ar milj¨op˚averkan. Eftersom denna prototyp som tidigare n¨amnts ¨ar en mjukvara och anv¨ander sig av en mobil enhet som redan tidigare finns och utvecklas konstant kommer prototypen inte ge n˚agon st¨orre milj¨op˚averkan. Det enda som kan p˚averka ¨ar de servrar som lagrar all information f¨or att l¨anka mellan m¨onster och h¨andelse. Genom detta har den ingen ¨okad p˚averkan p˚a milj¨on. Men d˚a den g¨or s˚a att mer information kan g˚a ut via affischer kan den spara papper/plast f¨or att trycka nya affischer eller liknande.

1.5

Metod

F¨or att ta fram information och g¨ora efterforskning om Augmented Reality finns det tv˚a kategorier av forskning, kvalitativa forskningsmetod[13, kvalitativ metod] och kvantitativa forskningsmetod[13, kvantitativ metod]. Den kvalitativa forskningsmetoden inneb¨ar att det tas fram en helhetsbild av det efters¨okta omr˚adet[13, kvalitativ metod]. Utifr˚an helhetsbilden tas sedan information och efterforskning om omr˚adet fram f¨or att utveckla en prototyp. Till skillnad mot kvantitativ d¨ar all m¨ojlig information som tas fram kontrolleras och bevisas[13, kvantitativ metod]. Efter att all information som tagits fram har kontrollerats och bevisats med den kvantitativa metoden anv¨ands denna information f¨or att testa en befintlig produkt och ¨aven kontrollera att f¨oljer de kontroller och bevis som tagits fram. Fr˚an definitionen av dessa tv˚a metoder kommer den kvalitativa metoden anv¨andas i detta utvecklingsprojekt, p˚a grund av typen av projekt. Eftersom examensarbetet har i syftet att utveckla en ny typ av applikation, varav hur och m¨ojligheterna i det efterforskas. Utveckling av en produkt bevisar att kvantitativ metod inte anv¨ands, f¨or att det inte finns n˚agot som kan testas eller kontrolleras kvantitativt att det ¨ar en bra fungerande produkt.

Det finns arbetsmetoder som kan anv¨andas f¨or att utarbeta produkt eller testa teori. Dessa arbetsmetoder heter induktiv[13, induktiva metoder] och deduktiv

(14)

metod[13, deduktiv metod] och metoderna anv¨ands f¨or hur slutsatser dras utifr˚an de efterforskningar som gjorts. Induktiv metod inneb¨ar att det kommer g¨oras forskning och s¨okning om ett ¨amne, sedan samlas det in data kring ¨amnet. Utifr˚an den inh¨amtade informationen skapas en egen teori och hypotes[13, induktiva metoder]. En deduktiv metod inneb¨ar att utg˚a fr˚an tidigare arbeten och teorier om ¨amnet[13, deduktiv metod]. Fr˚an de tidigare arbetena och teorierna st¨alls egna hypoteser som sedan pr¨ovas. Den induktiva metoden anv¨ands i detta projektet p˚a grund av att den induktiva metoden ¨ar en del av kvalitativa metoden [14], samt att en helt ny applikation utvecklas inom ett specifikt omr˚ade(Augmented Reality). Informationen kring ¨amnet som kommer samlas in kommer utg˚a i fr˚an vetenskapliga artiklar och b¨ocker inom omr˚adet, samt s¨okning av nyckelord p˚a Internet.

1.6

Avgr¨ansningar

I dagsl¨aget ¨ar Android[15] ledande p˚a mobila marknaden och d¨arf¨or kommer prototypen endast utvecklas f¨or detta. Prototypen kommer anv¨anda sig av en h˚ardkodad databas av m¨onster och information om dessa m¨onster. Detta d˚a funktionaliteten med en separat databas ligger utanf¨or prototypen och inte ¨ar obligatorisk f¨or att prototypen skall fungera.

1.7

Disposition

Kapitel 2 ger en bakgrund till Augmented Reality(AR) genom att beskriva ARs historia fram till idag. I kapitel 2 finns ¨aven information om vilka f¨ardiga moduler och paket f¨or utveckling som finns att tillg˚a. Samt ger en inblick i tidigare arbeten d¨ar liknande tekniker som f¨or detta projekt anv¨ands.

I kapitel 3 beskrivs de metoder som kommer anv¨andas f¨or utveckling av Augmented Reality prototypen. ¨Aven andra metoder som skulle g˚a att anv¨anda n¨amns

Kapitel 4 f¨orklarar de verktyg som kan anv¨andas och vilka som anv¨ands i detta projekt.

Kapitel 5 g˚ar igenom utvecklingen av prototypen olika delar fr˚an dess f¨orsta stadie till den prototyp som visar koncepten och uppn˚ar de m˚al som finns f¨or projektet.

(15)

Kapitel 6 presenterar den prototyp av Augmented Reality som tagits fram. Samt beskriver hur den g˚ar att arbeta vidare med och vilka andra ¨andam˚al som prototypen kan anv¨andas inom.

I kapitel 7 beskrivs resultaten av prototypen utifr˚an de tester som gjorts. Det diskuteras och evalueras om de f¨orb¨attringar som kan g¨oras f¨or att ge en b¨attre prototyp.

Kapitel 8 redovisar om hur syftet och m˚alet uppn˚atts och varf¨or, sedan utifr˚an dem diskuterats vad examensarbetet givit oss. Samt diskutera de metoder som anv¨ants och vad som g˚ar att forts¨atta med projektet.

(16)

2

Augmented Reality

Ger en bakgrund till Augmented Reality[4]. Den f¨orklarar vad som redan finns och vilka f¨ardiga moduler och paket f¨or utveckling som finns att tillg˚a.

2.1

Augmented Realitys historia

Augmented Reality (AR)[4] ¨ar en virtualisering av omgivning baserat p˚a bild, ljud, grafik eller position information. Tekniken anv¨ander sig av n˚agon eller n˚agra av informationsk¨allorna f¨or att direkt eller indirekt ¨andra synen p˚a den fysiska v¨arlden[16]. Genom att anv¨anda datorkraft f¨or att l¨agga till n˚agot som inte finns d¨ar egentligen kan verkligheten f¨orst¨arkas, Augment Reality p˚a engelska. Vad som exakt ¨ar Augmented Reality varierar fr˚an publikation till publikation, men f¨orfattaren Lester Madden[17] har i sin bok givit en bred och omfattande definiering. D¨ar han har sammanfattat det till dessa fem delar[5, sid 4]:

• Kombinerar verkligheten med datorgrafik • Tillhandah˚aller interaktion med objekt i realtid • Sp˚arar objekt i realtid

• Tillhandah˚aller igenk¨anning av bilder eller objekt • Tillhandah˚aller realtidskontext eller data

De Lester[17] menade med dessa punkter ¨ar att f¨orklara AR i sin helhet, d˚a AR tar digitala objekt och kombinerar det med vad kameran visar. F¨or att detta ska bli mer verklighetstroget tillhandah˚aller den allt i realtid. F¨or att veta vart det digitala objektet skall placeras sp˚aras objekt, vilket beh¨over ske i realtid ifall objektet flyttas. Allt den sp˚arar igenk¨anns genom att anv¨anda en databas f¨or att kunna j¨amf¨ora mot det som ses i kameran. F¨or att alla delar ska samverka tillhandah˚aller den realtidskontext eller data f¨or att det ska bli ett j¨amt veklighetstroget fl¨ode.

De f¨orsta stegen mot en virtuell v¨arld togs f¨or ¨over 50 ˚ar sedan d˚a Morton Heilig[18] lade fram ett patent som handlade om att simulera ljud och bild. ¨Aven om det har n¨amnts tidigare i b¨ocker ¨ar det h¨ar f¨orsta dokumenterade utveckling av Augmented Reality[4]. Sensorama simulator[19 & Figur 3], som Heilig[18]

(17)

kallade sin id´e, anv¨ande sig av ett b˚as med en huva f¨or anv¨andaren d¨ar bild, ljud, vibrationer, vind och lukt kunde simuleras och allts˚a f¨orvr¨anga p˚a verkligheten.

Figur 3: Sensorama maskinen vid 1962.

K¨alla: http://www.engadget.com/2014/02/16/morton-heiligs-sensorama-simulator/

N˚agra ˚ar senare skapas en mer minimalistisk l¨osning som hade enbart fokus p˚a bild. Det var Ivan Sutherland[20] som tog fram en head-mounted display(HMD),(huvudmonterad display) [21]. HMD ¨ar en apparat som har tv˚a eller en sk¨arm som anv¨ands som glas¨ogon eller skidglas¨ogon beroende p˚a design, den kan ha antingen en genomskinlig eller transparent sk¨arm beroende p˚a tekniken framf¨or ¨ogonen. D¨ar Ivan[20] reflekterar en virtuell verklighet p˚a en display som ¨ar genomskinlig f¨or att f¨orst¨arka verkligheten p˚a andra sidan displayen.

¨

Aven om tekniken inom HMD fortsatte och har lett till att vi idag har olika produkter i form av EyeTap [22], Google Glasses [23] och Tom Caudell’s[24] utveckling ˚at The Boeing Company[ibid.], var n¨asta stora steg inom AR Myron

(18)

Kreugers Videoplace [25 & Figur 4]. Videoplace var en interaktiv l¨osning, d¨ar anv¨andaren fick st˚a framf¨or en projektorduk. P˚a duken projicerades en silhuett av anv¨andaren som Videoplace sedan interagerade med. Till exempel kunde Videoplace s¨atta f¨argade ringar runt anv¨andarens fingrar eller l˚ata anv¨andarens fingrar vara penslar som m˚alade linjer p˚a duken.

Figur 4: Videoplace utvecklad av Myron Krueger.

K¨alla: http://www.inventinginteractive.com/2010/03/22/myron-krueger/

Att anv¨anda sig av anv¨andarens egna r¨orelser, likt Videoplace, f¨or att utf¨ora en uppgift ledde till utvecklingen av Virtual Fixtures [26]. Systemet kom 1992 och till¨at anv¨andaren vara i ett rum avl¨agset fr˚an sj¨alva arbetsplatsen och kunde ¨and˚a utf¨ora arbetsuppgifter d¨ar, vilket fungerade genom att ha realistisk feedback i anv¨andarens styrenheter och ett synsystem som visar arbetsplatsen. Med den realistiska styrningen kunde anv¨andaren att k¨anna som om anv¨andaren av Virtual Fixtures faktiskt var p˚a plats och gjorde arbetet manuellt[ibid.].

90-talet var ett ˚artionde med m˚anga framfarter inom Augmented Reality[4]. Bland annat var det under denna period som det b¨orjade h˚allas konferenser f¨or AR [4]. Det var ¨aven samma tid som Knowledge based Augmented Reality for Maintenance Assistance(KARMA)[27] togs fram p˚a Columbia University. En utveckling f¨or HMD som anv¨ands f¨or att visa instruktioner f¨or hur anv¨andaren skall underh˚alla eller reparera annan elektronisk utrustning, som till exempel en laserskrivare [Figur 5].

(19)

Figur 5: KARMA d¨ar HMD visar hur en skrivare fungerar.

K¨alla: http://monet.cs.columbia.edu/projects/karma/karma.html

Det var ¨aven tiden som f¨orsta handh˚allna Augmeneted Reality enheten togs fram, i form av Chameleon[28 & Figur 6-a]. En enhet som i praktiken fungerade som en HMD, men kunde h˚allas i handen och ist¨allet f¨or att f¨olja vad anv¨andaren tittar p˚a, utnyttjar den positionen av displayen . En mer avancerad variant av handh˚allen enhet kom n˚agra f˚a ˚ar senare i form av NaviCam[29 & Figur 6-b].

(a) Chameleon (b) NaviCam

Figur 6: Handh˚allna enheter

K¨alla:

(a) http://www.dgp.toronto.edu/ gf/Research/Chameleon/ChameleonImages.htm (b) https://www.sonycsl.co.jp/person/rekimoto/navi.html

(20)

NaviCam anv¨ander sig av en portabel dator med en liten kamera f¨or att visa verkligheten med ytterligare information p˚a en HMD.

Genom tiden har AR g˚att fr˚an ett fysiskt medium till en mjukvarul¨osning p˚a olika typer av h˚ardvara. D¨ar ARToolKit [30] ¨ar det f¨orsta verktyget f¨or att utveckla en egen mjukvarul¨osning f¨or AR, som anv¨ander sig av m¨onsterigenk¨anningsteknik.

2.2

Tekniker

Som tidigare n¨amnts fungerar AR genom att kombinera flera olika delar av den mobila enheten och det som skall komma till liv. Dessa delar ¨ar sp˚arning, registration, sk¨armteknologi och realtidsrendering, genom att f˚a dem att arbeta tillsammans skapar de AR. Delarna b¨orjar arbeta tillsammans n¨ar applikationen startas och n¨ar ett objekt l¨as av den mobila enheten. D˚a den mobila enheten registrerar objektet kommer den j¨amf¨ora objektet med de tidigare inlagda referenserna. Om AR-applikationen hittar n˚agot som matchar inkomna objekt, kommer applikationen utf¨ora den h¨andelse som ¨ar l¨ankad med objektet, till exempel visa information om objektet eller spela upp ljud. Tidigare har rendera grafik varit problematisk f¨or ¨aldre system, men med dagens teknologi har mobila enheter speciell h˚ardvara f¨or att f¨orb¨attra dess prestanda n¨ar den renderar grafik. Dessutom har dagens teknik gjort att det ¨ar m¨ojligt att visa mer avancerade digitala objekt [5, sid. 4].

Sp˚arningen av objekten kan fungera p˚a olika s¨att, varav de tv˚a mest anv¨anda metoderna ¨ar referensm¨onster[33 sid. 54 & Figur 7-a] och naturella egenskaper[34 & Figur 7-b] som anv¨ands f¨or att j¨amf¨ora m¨onster eller egenskaper p˚a bilden. Referensm¨onster ser mest ut som ett enkelt m¨onster som j¨amf¨ors med en databas , d¨ar beroende p˚a vad referensen ¨ar l¨ankad till kan olika saker h¨anda.

“Naturella egenskaper”-metoden anv¨ander de karakteristiska delarna p˚a bilder som markering f¨or att visa eller l¨anka en h¨andelse. F¨or att det skall fungera ordentligt beh¨ovs bilder med h¨og uppl¨osning f¨or att skilja detaljerna p˚a bilderna. Detta p˚a grund av att det ¨ar detaljerna som anv¨ands f¨or att j¨amf¨ora med referenserna i databasen. D¨arf¨or skall bilderna ha unika detaljer f¨or att kunna urskilja dem, genom till exempel olika vinklar eller andra karakteristika detaljer. Men det viktigaste ¨ar att bilden ¨ar registrerad tillr¨ackligt s˚a att det digitala objektet

(21)

(a) Referensm¨onster ur Pro Android Augmented Reality[33, sid. 54].

(b) Naturella egenskaper anv¨ands p˚a frihetsgudinnan.

Figur 7: M¨onster

K¨alla:

(a) http://www.dgp.toronto.edu/ gf/Research/Chameleon/ChameleonImages.htm (b) https://www.sonycsl.co.jp/person/rekimoto/navi.html

kan placeras p˚a r¨att plats i verkligheten. Ett exempel p˚a unika m¨onster som anv¨ands ¨ar Quick Response koder (QR-koder)[31]. QR-koder brukar i vanliga fall anv¨andas f¨or att l¨anka till hemsidor [Figur 8].

Figur 8: Exempel p˚a QR-kod. Denna g˚ar till www.kth.se.

De fungerar genom en algoritm som kodar texten av (Uniform Resource Locator)URL:en[32] till QR-kod[31]. Det existerar en annan algoritm som konverterar QR-koden[31] tillbaka till text n¨ar en kamera ser koden. Detta fungerar som AR men ist¨allet f¨or en l¨ank till en hemsida kan enheten rendera ett 3D objekt ovanp˚a m¨onstret.

(22)

Mark¨orerna kan bli identifierade fr˚an olika vinklar, upp och ner, och fr˚an sidorna. Detta g¨or mark¨orerna flexibla och g¨or det m¨ojligt att anv¨anda dem p˚a ett dynamiskt s¨att. Den mest avancerade ¨ar den som k¨anner igen bilder och kallas f¨or “Naturell egenskaps”-sp˚arning[34].

M˚anga applikationer har n˚agon typ av grafiskt gr¨anssnitt. Detta gr¨anssnitt kan variera fr˚an menyer till r¨orliga objekt. Grafiken i sig ¨ar en viktig del av applikationen och mesta applikationer har enkla menyer som visar en l˚ada inneh˚allande information. Men mer och mer applikationer tillhandah˚aller rikare grafiskt gr¨anssnitt, speciellt spel och video applikationer.

2.3

Android och Augmented Reality

Det existerar flera olika versioner av AR-applikationer till mobila enheter. Nedan beskrivs olika AR-applikationer f¨or att ge inblick av redan utvecklade AR-applikationer och vad de kan erbjuda. AR-applikationer som kommer tas upp ¨ar Aura[35], Junaio[36], Wikitude[38] och Layar[40]. Samt kommer det ¨aven tas upp om Android API[44].

2.3.1 Aurasma

Aura[35] ¨ar en AR-applikation som ¨ar utvecklad av ett f¨oretag med samma namn. Applikationen existerar b˚ade f¨or android och iOS och anv¨ander sig av “Naturell egenskaps”-sp˚arning f¨or att veta vart det digitala objektet skall placeras. Det ¨ar ¨aven m¨ojligt att skapa egna l¨ankar till applikationen. Dessa l¨ankar anv¨ands f¨or att visa personliga h¨andelser. Detta kan g¨oras genom att f¨orst v¨alja det objekt som skall visas vid en h¨andelse via Aurasmas databas eller fr˚an den mobila enheten. Sedan tas en bild med applikationen som d˚a l¨ankar bilden med vald h¨andelse. Ett exempel ¨ar att v¨alja ett filmklipp och sedan ta bild p˚a en affisch genom Aura. N¨ar n˚agon person sedan tittar p˚a affischen med applikationen kommer filmklippet som ¨ar kopplat till affischen spelas upp.

2.3.2 Junaio

Junaio[36] ¨ar utvecklad f¨or b˚ade Android och iOS, fr˚an f¨oretaget Metaio[37]. Denna applikation kan l¨asa av “Naturell egenskaps”-sp˚aring[34] och

(23)

QR-koder[31]. Dessutom kan den k¨anna av platser och ge olika h¨andelser beroende p˚a vart den mobila enheten befinner sig. Utifr˚an det har den likheter med applikationen n¨amnd ovan och kan skapa egna AR-h¨andelser. Av samma f¨oretag finns det SDK f¨or personer som vill skapa egna versioner av denna applikation. Den har m˚anga till¨agg f¨or att ge m˚anga m¨ojligheter till anv¨andaren. Det finns gratis versioner av Junaio applikationen men f¨or att n˚a de mer avancerade m¨ojligheterna kostar de.

2.3.3 Wikitude

Applikationen Wikitude[38] finns f¨or Android och iOS. Denna registrerar “Naturell egenskaps”-sp˚arning och ¨aven positionering f¨or att ge information p˚a specifika platser. Det finns ¨aven en Wikitude SDK[39] f¨or egna utvecklare. Den ¨ar gratis att anv¨anda, men en applikation beh¨over bli registrerad f¨ore den kan distribueras p˚a Android marknaden. Detta verktyg kan anv¨andas f¨or att skapa egna intressepunkter, till exempel en bild p˚a KTH Kista med egen information om den. Dessa ¨ar sedda genom en kamera med filter som genererar AR. Det ¨ar ¨aven m¨ojligt att anv¨anda sig av bildigenk¨anning f¨or att placera och generera digitala objekt.

2.3.4 Layar

F¨oretaget Layar[40] utvecklade en applikation med en unik grafik med m¨ojlighet att l¨asa av bilder och QR-koder. Applikationen finns f¨or b˚ade Android och iOS, d¨ar den ¨ar gratis att ladda ner. Den har ¨aven inbyggda funktioner f¨or att se information beroende p˚a plats som till exempel Twitter eller Instagram, som ses som en ruta p˚a sk¨armen. Layar erbjuder ¨aven Layar Creator[41] som ¨ar en tj¨anst f¨or att l¨agga in kampanjer i Layars egna produkt. Det finns ¨aven en Layar SDK[42] f¨or de som vill skapa en egen applikation med deras mjukvara. Den erbjuder m¨ojligheten att integrera 3D-objekt och animationer i applikationen, ¨aven sin unika lokaliseringsfunktion. Lokaliseringsfunktionen kan visa olika typer av information beroende p˚a plats och ¨aven visa upp informationen p˚a olika s¨att. ¨Aven inneh˚aller den sitt s¨att att l¨asa av bild och QR-koder[31] f¨or att g¨ora applikationen komplett.

(24)

2.3.5 Android API

Google[43] som ligger bakom Android har valt att k¨ora med ¨oppen k¨allkod, vilket inneb¨ar att alla kan f˚a tillg˚ang och modifiera deras operativsystem f¨or mobila enheter. Ut¨over det har de lagt fram ett API (application programming interface) f¨or Android [44]. Ett gr¨anssnitt (interface) f¨or programmerare som g¨or att avancerade kodstycken som anv¨ands ofta kan ers¨attas med ett f˚atal rader, detta ¨ar grunden f¨or all programmering. Androids API ¨ar ett paket som tillhandah˚aller ett flertal funktioner som underl¨attar f¨or programmeraren. I detta paket finns det delar f¨or att m¨ojligg¨ora text till tal och tv¨artom [45]. Det finns fler som anv¨ander sig av egna API:er med samma teknik bakom, men g˚ar mot en annan server och egenutvecklad ¨overs¨attare. F¨or programmeraren ser majoriteten av de olika API:erna lika ut, skillnaden ¨ar hur f¨oretaget hanterar informationen.

2.4

Relaterade Arbeten

Nedan ¨ar f¨oretag som har anv¨ant n˚agra av ovanst˚aende utvecklingsmilj¨oer och skapat egna applikationer, f¨or sina egna f¨oretag. D˚a f¨or att g¨ora sina egna varor mer interaktiva som till exempel affischer eller f¨orpackningar.

2.4.1 Universal

Universal[46] har f¨or sitt hundra˚arsjubileum utvecklat en applikation[47] med hj¨alp av Aursama[48]. De har utvecklat en Augmented Reality-applikation som kan genom att anv¨anda mobiler eller surfplattor initiera h¨andelser p˚a deras blu-ray skivor och vissa platser i v¨arlden. Det som sker ¨ar att n¨ar en mobil l¨aser av ett specifikt blu-ray-fodral dyker en 3D-figur fr˚an filmen upp p˚a fodralet med tillh¨orande musik fr˚an filmen. Ett exempel ¨ar n¨ar en person tittar p˚a ett “Jurassic Park” fodral dyker en T-rex upp och ryter med tema s˚angen fr˚an filmen i bakgrunden. Deras applikation kan ¨aven visa 3D-figurer p˚a specifika platser genom att l¨asa av platsen personen st˚ar vid. Ett exempel ¨ar att kunna se “tillbaka till framtiden”-bilen vid Westminister Bridge.

(25)

2.4.2 Lego Digital Box

Lego[49] har valt att p˚a utvalda butiker installera en digital box inneh˚allande en kamera och en sk¨arm. Med hj¨alp av Unifeye SDK (Junaio) har de utvecklat en applikation som anv¨ander sig av Augmented Reality f¨or att ta fram vilken Lego-byggsats personen h˚aller upp mot kameran. P˚a sk¨armen visas p˚a produktkartongen en levande bild av hur Lego-byggsastsen ser ut n¨ar den ¨ar f¨ardigbyggd [50].

2.4.3 Cortana, Google Now och Siri

De tre stora f¨oretagen, Microsoft[51], Google[43] och Apple[52], bakom operativsystemen f¨or mobila enheter har alla valt att g¨ora en egen variant av Automated Speech Recognition (ASR). D¨ar Microsoft kallar sin Cortana[53], Google har Google Now[54] och Apple har Siri[55]. Den bland allm¨anheten mest omtalade ASR:en Siri[55] f¨or iOS anv¨ander sig, likt de andra, av igenk¨anning av tal och vanliga fraser f¨or att ta fram information ˚at anv¨andaren. Den kan ta fram v¨adret, ta noteringar eller ringa samtal f¨or att bara n¨amna n˚agra funktionaliteter. Alla ser sig sj¨alva som din personliga assistent.

(26)

3

Metod

De metoder som kommer anv¨andas f¨or utveckling av Augmented Reality[4] prototypen tas upp. ¨Aven andra metoder som skulle g˚a att anv¨anda n¨amns.

3.1

Arbetsmetod

Under 1960-talet var det flera stora mjukvaruprojekt som misslyckades och d¨arf¨or tog Winston Royce[56] fram den f¨orsta utvecklingsmetoden som nu ¨ar k¨and som vattenfallsmetoden [57]. I dagsl¨aget finns det flera metoder f¨or att utveckla en mjukvara. Alla har en egen struktur f¨or hur delm˚al s¨atts upp och hur de hanterar dessa delm˚al. ¨Aven om m˚anga bygger p˚a tidigare utvecklade arbetsmetoder finns det ett f˚atal grundmetoder.

3.1.1 Vattenfall

F¨or att f¨orhindra fler misslyckade projekt skrev Royce[56] ner sina egna id´eer p˚a hur processen av att utveckla mjukvara kan f¨orb¨attras[58]. I sin text b¨orjar Royce[56] g˚a igenom de vanliga utvecklingsmetoderna som kan f¨orenklas till analys och kodning, f¨or att sedan g˚a in p˚a mer avancerade metoder. Slutsatsen Royce[56] drar efter sitt utl¨agg ¨ar att utveckla tillsammans med kunden ¨ar v¨aldigt viktigt och allt som gjorts ska dokumenteras. Vattenfallsmetoden[57] b¨orjar med att l¨agga fram system krav f¨or vad produkten ska inneh˚alla. Detta g¨ors f¨or att veta hur och mot vad den ska utvecklas. Efter det l¨aggs kraven f¨or mjukvaran fram i detalj och allt dokumenteras f¨or att inte n˚agot ska gl¨ommas bort. Ett designf¨orslag tas fram med detaljerad dokumentation. Designf¨orslaget anv¨ands tillsammans med tidigare krav och specifikationer f¨or att analysera problemet f¨or att ta fram en programdesign. Denna design ska dokumenteras och bland annat hantera hur anv¨andargr¨anssnittet skall se ut. Metoden skall ocks˚a behandla hur problem skall l¨osas och l¨agga fram testplaner f¨or hur l¨osningarna skall testas f¨or att se om de f¨oljer kravspecifikationen. N¨ar allt ¨ar dokumenterat kan utvecklingen p˚ab¨orjas och under utvecklingsprocessen skall ¨aven allt detta dokumenteras. Utvecklingen skall f¨olja den tidigare framtagna dokumentationen. Innan produkten kan s¨attas i bruk beh¨over de tester som tagits fram genomf¨oras och resultaten dokumenteras.

(27)

kunden vet exakt hur de vill att produkten skall se ut, d˚a kravspecifikation anses vara klar n¨ar n¨asta steg p˚ab¨orjas [59]. Idag ses vattenfallsmetoden som n˚agot fr˚an det f¨orflutna, men det ¨ar en av grundstenarna till m˚anga nya metoder som tagits fram.

3.1.2 Iterativ

F¨or att bli mer flexibel f¨or att kunna hantera flera ¨andringar utan att hela projekten m˚aste b¨orjas om har en metod att dela upp ett st¨orre arbete i mindre delar tagits fram. Denna metod kallas iterativ metod[60] och ¨ar en av de vanligare metoderna som anv¨ands i olika projekt. Detta p˚a grund av att det ¨ar en enkel metod som fokuserar p˚a en del i taget f¨or att till slut f˚a ett fullst¨andigt projekt. Att fokus ligger p˚a en del i taget beror p˚a att det finns en stor sannolikhet att projekt kan beh¨ova ¨andras under tiden den utvecklas, vilket leder till att delar m˚aste g¨oras om. F¨or att detta ska bli s˚a effektivt som m¨ojligt presenteras och utv¨arderas varje mindre del av det st¨orre projektet tills varje del ¨ar godk¨ant. Trots att uppdelningen kan k¨annas som en bra och l˚angsiktig plan kan den dra ut p˚a tiden. Iterativ metod kan dra ut p˚a tiden p˚a grund av att den inte g˚ar fram˚at f¨orr¨an delen innan ¨ar klar och det ¨ar inte alltid det g˚ar att dela upp ett projekt in i mindre delar. ¨Aven att delarna g¨ors om tills dess att delarna ¨ar godk¨anda medf¨or det att varje del kan dra ut p˚a tiden. F¨or att delarna skall kunna presenteras m˚aste de kunna testas och utvecklandet av test funktionerna kan ocks˚a dra ut p˚a tiden.

Detta m˚a vara en enkel och anv¨andbar metod men den ¨ar tidskr¨avande och det finns metoder som ¨ar b¨attre i samma omr˚ade den anv¨ands i. Som till exempel finns det b¨attre metoder ifall den skulle anv¨andas i mjukvara utveckling.

3.1.3 Scrum

En av de mest anv¨anda metoderna ¨ar Scrum[61] och ¨ar bland de b¨asta metoderna som kan anv¨andas, dock mest f¨or st¨orre projekt. Scrum liknar iterativ metod genom att projektet delas upp i mindre delar. Men dessa delar delas upp s˚a de kan g¨oras samtidigt med andra delar. Dessutom s¨atts prioritering p˚a dessa delarna, hur prioriteten s¨atts beror p˚a projektgruppen d¨ar de diskuterar och f¨orklarar varf¨or en del f˚ar en viss prioritering. F¨or att diskutera det som beh¨ovs har projektgruppen ett m¨ote p˚a morgon eller kv¨all p˚a ca 15 min f¨or att se vart personer i gruppen befinner

(28)

sig p˚a sin del och ¨aven om prioriteringen p˚a den kan s¨ankas eller beh¨over h¨ojas. Dessutom antecknas den antagna tiden f¨or att g¨ora klart delen. Delarna skrivs ner p˚a lappar som s¨atts p˚a en anslagstavla som ¨ar indelat i ett antal kolumner och rader. Detta f¨or att veta vad som ¨ar klart, vad som ¨ar p˚ab¨orjat och vad som ej ¨ar p˚ab¨orjat. Efter en period som kallas sprint som ¨ar ca 2 veckor h˚alls m¨oten med kunden f¨or att se hur det g˚ar med projektet, dessa forts¨atter till projektets slut. Under m¨otena g˚ar det igenom vart utvecklarna ¨ar och vad kunden tycker om det som har gjorts. Utifr˚an m¨otet ges nya riktlinjer och vad som beh¨over prioriteras. Genom att ha dessa delar och ¨aven regelbundna m¨otet kan projektet f¨ardigst¨allas effektivt och ordentligt. I Scrum finns det en person som kallas Scrum master och ¨ar den som best¨ammer vad som kommer upp anslagstavlan. F¨or att se till att en har det slutgiltiga ordet och minskar risken konflikter. Allt detta g¨or Scrum v¨aldigt bra, flexibel och effektiv i arbetet f¨or projekt.

3.1.4 XP

Extreme Programming (XP)[62] ¨ar en utvecklingsmetod f¨or att snabbt ta fram en produkt genom att koda i grupp. Den hanterar situationer d¨ar kraven ¨ar vaga eller under st¨andig f¨or¨andring. Utvecklingen sker hela tiden i par och personerna sitter vid en sk¨arm. Allt som utvecklas ska det finnas tester f¨or. Programmeringen f¨oljer de krav som ¨ar uppsatta av kunden och g¨ors p˚a en enkel design. Designen utvecklas kontinuerligt och en minimal produkt kan snabbt levereras. Denna produkt v¨axer hela tiden i den riktning som ¨ar viktigast och on¨odigt komplexa saker tas bort. Samtidigt utvecklas och l¨aggs funktionaliteter till hela tiden [63].

XP till˚ater utvecklaren vara med i alla steg under utvecklingen och har d¨arf¨or inga specialister inom olika omr˚aden. Eftersom Extreme Programming handlar om att programmera extremt utf¨ors ingen grundlig analys och design innan utvecklingen drar ig˚ang, utan en snabb analys g¨ors endast. Dokumentation f¨or underh˚all och implementation skrivs inte ned utan all kommunikation sker genom personliga m¨oten och effektiva tester.

(29)

3.2

Produktdesign

Att veta hur en ny produkt skall se ut ¨ar en av de sv˚arare uppgifterna p˚a grund av att den beh¨over implementera flera aspekter, som till exempel anv¨andarv¨anlighet. F¨or att f˚a fram dessa aspekter och ¨aven se hur utseendet beh¨over ¨andras eller vilka val som inte ¨ar optimala, anv¨ands prototyper i olika stadier. Att ha prototyper i olika stadier g¨or att utvecklarna kan se vad kunden eller testarna tycker om produkten, samt ber¨atta som ¨ar bra och vad som ¨ar d˚aligt. Genom att utv¨ardera prototyper kan den optimala produkten tas fram i slutstadiet.

3.2.1 Low-Fidelity Prototyp

I tidiga skeden av projektarbeten ¨ar det bra att skapa en prototyp f¨or att visa vilken riktning produkten eller applikationen kommer att g˚a. Ett s¨att att g¨ora detta ¨ar genom att skapa en Low-Fidelity (Low-fi) prototyp[64]. Low-fi prototyp ¨ar en prototyp som oftast ¨ar en ritad bild p˚a ett papper. Det kan ¨aven vara ett bildmanus, men det ¨ar viktigt att visa kunden att det inte ¨ar den f¨ardiga produkten f¨or att det skapar mer m¨ojlighet att ge ˚aterkoppling. Dessutom d˚a prototypen ritas p˚a papper ¨ar den billig att g¨ora och kostnadseffektiv i l¨angre sikt d˚a det ¨ar enkelt att g¨ora ¨andringar till applikationen d˚a den ¨annu inte ¨ar p˚ab¨orjad[ibid.]. Vid anv¨andning av bildmanus g˚ar det att visa vad som h¨ander vid olika h¨andelser, till exempel om anv¨andaren skulle trycka p˚a en specifik knapp eller utf¨ora n˚agon annan handling p˚a applikationen. Nu f¨or tiden finns det 3D-skrivare som ¨ar tillr¨ackligt billiga f¨or att ge kunden en fysik produkt att se hur den den produkten kan se ut utan att p˚averka f¨oretagets budget allt f¨or mycket. Dock g˚ar det inte att interagera med den d˚a det bara ¨ar ett stycke plast. Av Low-fi metoden finns det liknande metoder och de ¨ar pappersprototypen och ¨ar som n¨amnt tidigare att rita upp en prototyp p˚a papper. En annan metoden ¨ar att anv¨anda sig av wire-frame[65] och det ¨ar liknande pappersmetoden men den g¨ors digitalt p˚a datorn.

3.2.2 High-Fidelity Prototyp

Genom att f˚a ˚aterkoppling fr˚an anv¨andning av Low-Fidelity prototypen finns en grund f¨or att testa navigeringen och funktionaliteten. High-Fidelity[64] ¨ar en interaktiv prototyp utan avancerad bakomliggande kod. En prototyp av High-Fidelity kan g¨oras b˚ade som en del p˚a datorn eller ett enklare skelett p˚a

(30)

den enhet applikationen skall utvecklas, en s˚a kallad native applikation. Den ¨ar till f¨or att l˚ata anv¨andaren navigera och utforska applikationen som om det vore den slutgiltiga prototypen. Att det ser ut som en f¨ardig applikation g¨or att anv¨andaren kan ge kritik p˚a prototypen. Anv¨andaren som testar prototypen kan g¨ora informerade rekommendationer p˚a hur gr¨anssnittet kan f¨or¨andras f¨or en b¨attre anv¨andarv¨anlighet. St¨oter anv¨andaren p˚a problem eller g¨or avvikelser fr˚an f¨orv¨antat beteende kan utvecklarna ha detta i ˚atanke och ¨andra p˚a applikationen till den f¨ardiga prototypen. Till skillnad fr˚an Low-Fidelity kan High-Fidelity prototyp vara kostsamt och tidskr¨avande[ibid.]. ¨Aven om resultaten fr˚an testerna kan liknas vid de fr˚an Low-Fidelity prototyp metoden ger High-Fidelity prototyp metoden tidig kritik och rekommendationer som ligger n¨ara den slutgiltiga applikationen. Att g¨ora en High-Fidelity prototyp kan ¨aven spara p˚a kostnader j¨amf¨ort med de som inte anv¨ander sig av dessa prototyper d˚a st¨orre misstag kan undvikas. F¨or att om gr¨anssnittet utvecklas utan eftertanke under utvecklingen leder det i m˚anga fall till ett kostsamt omarbete av gr¨anssnittet[ibid.].

3.3

Utvecklingssteg

De olika arbetsmetoderna har alla sin grund i vattenfallsmetoden och f¨oljer p˚a n˚agot s¨att utvecklingsstegen framtagna f¨or vattenfallsmetoden [66].

(31)

Utvecklingsstegen[Figur 9] kan f¨orenklas till Krav, Design, Utveckling, Testning och Lansering, d¨ar kraven f¨or prototypen l¨amnas genom en kravspecifikation och f¨orklarar vilka funktionaliteter som ska finnas. Dessa krav kan vara v¨aldigt detaljrika och specificera exakt hur det ska se ut och var de ska placeras. Eller s˚a kraven kan vara v¨aldigt vaga och bara ge en ¨overgripande kategori f¨or anv¨andningsomr˚adet. Varje steg i utvecklingsstegen har ett beroende till f¨oreg˚aende steg och det g¨aller ¨aven designen. Designen tas fram f¨or att kunden och utvecklarna ska vara p˚a samma sp˚ar och f¨orst˚a varandra. Hur designprototypen framst¨alls och presenteras beror p˚a projektets typ och val av arbetsmetod. F¨or arbetsmetoder som g˚ar igenom alla steg i utvecklingsstegen anv¨ands ofta en enklare framst¨allning av design f¨or att likt tidigare n¨amda Low- och High-Fidelity prototyperna f˚a fram en billig prototyp att visa kunden. Designsteget kan vara sv˚art och ¨aven on¨odigt f¨or vissa typer av utvecklingsprojekt och anv¨ands exempelvis inte i Extreme Programming(XP) arbetsmetoden. Anledning till att designen inte g¨ors f¨or XP ¨ar att kraven ofta ¨ar f¨or vaga och att ta fram en design f¨or prototypen tar upp on¨odig tid fr˚an utvecklingen. Gemensamt f¨or alla arbetsmetoder ¨ar dock att n˚agot utvecklas och utvecklingen sker under utvecklingssteget. Efter en varierande tid har en prototyp utvecklats som kan g˚a in i n¨asta utvecklingssteg, vilket ¨ar testning. Under testning testas prototypen mot de tidigare st¨allda kraven i kravspecifikationen. F¨or metoder som ¨ar iterativa kommer testerna ge ˚aterkoppling till n¨asta iteration av utvecklingssteg. Vid n¨asta iteration b¨orjas det om fr˚an design eller utveckling och genomg˚ar alla steg igen. Denna omstart sker ¨aven f¨or metoder som delar upp prototypen i flera delar. Enda fallet d˚a en omstart inte g¨ors ¨ar den traditionella vattenfallsmetoden d¨ar prototypen sedan lanseras efter testningens slutf¨orande.

3.4

Projektets utvecklingssteg

F¨or att projektets prototyp skall bli anv¨andarv¨anlig, kommer flera anv¨andartester g¨oras. D¨ar de f¨orsta blir i form av en Low-Fidelity prototyp f¨or att f˚a fram ett gr¨anssnitt som fungerar och f¨or att se till att ingen funktionalitet missas. Utifr˚an ˚aterkoppling fr˚an anv¨andaren i form av “t¨anka h¨ogt”-metoden[67] tas n¨asta prototyp fram f¨or testning. “T¨anka h¨ogt”-metoden[ibid] inneb¨ar att anv¨andaren f˚ar s¨aga allting denne t¨anker p˚a och ¨aven varf¨or personen klickar d¨ar denne klickar

(32)

n¨ar testet utf¨ors. F¨or att f˚a en bra grund att st˚a p˚a och f¨or att veta hur prototypen skall se ut kommer Low-Fidelity att anv¨andas. Denna metod ger tidig ˚aterkoppling fr˚an anv¨andaren p˚a ett tids- och kostnadseffektivt s¨att.

Med ˚aterkoppling fr˚an Low-Fidelity prototypen finns grunden f¨or att utveckla den f¨orsta Androidprototypen. F¨or att f˚a struktur p˚a utvecklingen och tydliga riktlinjer f¨or vad prototypen skall inneh˚alla beh¨ovs ett givet arbetss¨att. I dagsl¨aget finns det m˚anga arbetsmetoder som anv¨ands och ¨ar anpassade f¨or olika situationer. Bland de metoder som anv¨ands mest i systemutveckling finns Vattenfall[57], Iterativ[60], Scrum[61] och Extreme Programming[62] som n¨amnts tidigare i kapitlet. Eftersom erfarenheten i utvecklandet f¨or Android ¨ar l˚ag inom projektgruppen och kravspecifikation som skall tas fram inte kommer vara vag, blir Extreme Programming en metod som inte ¨ar l¨ampad f¨or utvecklingen av den h¨ar Augmented Reality prototypen. Vattenfallsmetoden som anv¨ands vid systemutveckling ¨aven idag ¨ar f¨or linj¨ar och till˚ater inte testning av f¨ardiga delar av projektet, vilket g¨or att metoden ej ¨ar anpassningsbar f¨or prototypen. Scrum ¨ar en metod som anses vara bra f¨or systemutveckling och passar bra f¨or projekt med m˚anga deltagare och en n¨ara kontakt mot en kund. Genom att dela upp projektet i m˚anga sm˚a delar med olika prioriteringar kan arbetet ske parallellt och av flera utvecklare. Uppl¨agget med att dela upp ett projekt i mindre bitar ¨ar den del av Scrum som passar de flesta projekt och ¨aven det h¨ar projektet. Att dela upp projektet finns ¨aven med i den iterativa arbetsmetoden och ¨ar inte lika beroende av kund och m˚anga projektdeltagare. Eftersom projektet kommer att ha l˚ag kontakt med kunden och mycket kommer sk¨otas p˚a egen hand anses den iterativa arbetsmetoden anpassa sig b¨attre f¨or utvecklingen av den h¨ar Augmented Reality prototypen. Under utveckling kommer utvecklingsstegen f¨oljas f¨or att uppfylla varje krav i kravspecifikationen. Testningssteget i utvecklingsstegen kommer utf¨oras av utvecklingsgruppen tills de k¨anner att kraven ¨ar uppfyllda. N¨ar varje modul genomg˚att ett flertal iterationer i utvecklingsstegen f¨or att uppn˚a kravspecifikationens krav kan en prototyp presenteras f¨or personer utanf¨or utvecklingsgruppen. F¨or att bed¨oma om prototypen har n˚att upp till uppsatta m˚al och den givna kravspecifikationen kommer prototypen evalueras genom att testpersoner genomf¨or tester p˚a den klara prototypen.

(33)

4

Verktyg

Beskriver de verktyg som anv¨ands f¨or utvecklingen och vilka verktyg som finns. F¨or att ta fram en produkt till Android-enheter finns det flera olika milj¨oer att utveckla i och verktyg att anv¨anda sig av, men bara tv˚a som Android sj¨alva har utvecklat.

4.1

Android SDK

Android Software Development Kit (SDK)[68] ¨ar en integrerad utvecklingsmilj¨o (Integrated development environment, IDE) som rekommenderas av Android och ¨ar deras officiella utvecklingsmilj¨o. Den bygger p˚a Eclipse[69] med Android Development Tool (ADT) f¨orinstallerat med Android API (Application Programming Interface) inbyggt [70]. Eclipse ¨ar en popul¨ar IDE f¨or bland annat Java, vilket ¨ar det programmeringsspr˚ak som Android anv¨ander sig av. I Android SDK[68] har Google lagt in allt som beh¨ovs f¨or att bygga, testa och fels¨oka en applikation f¨or Android. Om Eclipse redan finns installerat p˚a datorn finns det m¨ojlighet att bara installera Android till¨agget f¨or Eclipse, ADT. I Android SDK finns det en Android Virtual Device Manager (AVD Manager) [71] som har ett grafisktgr¨ansnitt f¨or att ¨andra inst¨allningar f¨or Android Emulator [72] (Android simulator). Simulatorn till˚ater utvecklaren att k¨ora en virtuell mobilenhet med Android p˚a datorn. Genom att anv¨anda sig av AVD[71], kan tester g¨oras p˚a flera olika enheter och kontrollera hur applikationen fungerar p˚a olika storlekar och versioner av Android.

4.2

Android Studio

N¨asta officiella utvecklingsmilj¨o f¨or Android ¨ar Android Studio [73], som ¨annu ¨ar i betastadiet [Mars-15]. Att en produkt ¨ar i beta inneb¨ar att den ¨ar under utveckling fortfarande och kan inneh˚alla problem som kommer l¨osas till den slutgiltiga produkten. Trots att Android Studio befinner sig i betastadiet ¨ar den sl¨appt f¨or allm¨anheten och uppdateras kontinuerligt. Till skillnad fr˚an Android SDK bygger Android Studio p˚a IntelliJ[74] ist¨allet f¨or Eclipse[69]. Den inneh˚aller alla funktionaliteter som finns i Android SDK, f¨orutom Native Development Kit (NDK)[75] st¨od som fortfarande utvecklas f¨or Android Studio. NDK till˚ater

(34)

utvecklaren att anv¨anda kod i andra spr˚ak och exekvera dem i Java-applikationen. Android Studio har dock f˚att mer st¨od ¨an Android SDK. N˚agra viktiga skillnader ¨ar att Android Studio har b¨attre automatisk kod komplettering, m¨ojligheten att g¨ora flera varianter av applikationspaket (APK) f¨or olika enheter och den till˚ater dig att utveckla med Maven [76]. Maven ¨ar ett verktyg f¨or att bygga programfiler och f¨or enkel distribution. Strukturen av alla filer och beroenden till andra komponenter och moduler sparas av Maven i en Project Object Model fil (POM-fil)[ibid.]. POM-filen anv¨ands f¨or att enkelt konfigurera och s¨atta upp ett projekt p˚a flera datorer. Ut¨over dessa skillnader har den verktyg som g¨or utvecklingen l¨attare. Bland annat verktyg f¨or att testa prestanda, versions kompatibilitet och mer utf¨orliga verktyg f¨or att utveckla det grafiska anv¨andargr¨anssnittet.

4.3

GitHub

GitHub[77] ¨ar en tj¨anst f¨or n¨atbaserad Internet delning av kod. Denna tj¨anst utvecklades av Tom Preston-Werner, Chris Wanstrah och PJ Hyett [ibid.], d¨ar GitHub fungerar som en Git[78]. Git ¨ar ett SCM(source code management) system och Git designades av samma person som utvecklade Linux allts˚a Linus Torvalds[79]. Detta system utvecklades p˚a grund av att ett annat system som Linux anv¨ande slutade vara ett gratis system, d˚a Linux baseras p˚a att vara ett

¨oppet system f¨or alla.

Med hj¨alp av GitHub kan koder delas mellan olika personer och arbeta med samma kod fr˚an olika datorer samtidigt. GitHub g˚ar att anv¨anda med olika operativsystem s˚a som Linux eller Windows och ¨ar ¨aven gratis f¨or studenter i ca 2 ˚ar. Dessutom medf¨or denna tj¨anst mer effektiv kod hantering d˚a anv¨andare slipper kopiera kod och sedan f¨ora ¨over den till huvudkoden, ist¨allet skrivs kod p˚a en plats fr˚an olika h˚all. Den kod som byggs s¨atts ihop automatiskt och underl¨attar arbetet f¨or de som utvecklar en applikation i grupp.

4.4

Utvecklingsmilj¨on

Google som ligger bakom Android har tv˚a utvecklingsmilj¨oer att tillg˚a, d¨ar Android Studio[73] ¨ar deras kommande officiella verktyg. Trots att det ¨ar ett verktyg som befinner sig i Beta har den flera funktionaliteter som g¨or utvecklandet

(35)

l¨attare. Android Studio[73] inneh˚aller grafiska hj¨alpmedel f¨or att bygga upp en enkel applikation, som till exempel placera ikoner eller textrader i en virtuell bild av hur applikationen ska se ut. Vilket g¨or Android Studio v¨aldigt bra f¨or nyb¨orjare av utveckling av egna applikationer, d¨ar anv¨andare ¨aven kan testa dessa funktioner med hj¨alp av en virtuell simulering av applikationen. Den andra utvecklingsmilj¨on ¨ar Android SDK som m¨ojligg¨or andra utvecklingsprogram s˚a som Eclipse[69] att utveckla Android applikationer. Eclipse ¨ar mer f¨or avancerade programmerare d˚a den inte har samma grafiska hj¨alpmedel som Android Studio, men Eclipse har NDK som m¨ojligg¨or kombinationen av olika programspr˚ak m¨ojlig. Vilket medf¨or att den som vill utveckla applikationer f¨or g¨ora de fr˚an grunden. Samt med Android SDK kan Eclipse ¨aven visa virtuella simuleringar av applikationer som Android Studio, vilket g¨or att anv¨andare kan testa de applikationer de utvecklat utan att beh¨ova ¨overf¨ora dem till en mobil enhet. Eftersom utvecklingen sker av fler ¨an en personer ¨ar det bra att anv¨anda ett verktyg som m¨ojligg¨or att flera arbetar p˚a samma projekt. Med hj¨alp av versionshistorik och m¨ojligheten att arbeta p˚a flera olika delmoment inom utvecklingsprojektet genom GitHub[77] kan utvecklandet ske p˚a flera datorer samtidigt. Genom central lagring och hopslagningsfunktionaliteten som finns med hj¨alp av GitHub[ibid.] kan utvecklingen g˚a fram˚at fortare.

4.5

Anv¨anda delar i Prototypen

Av de tidigare n¨amnda AR-applikationer och relaterade arbeten i kapitel 2, kommer detta utvecklingsprojekt anv¨anda liknande m¨ojligheter s˚a som referensm¨onster och Automated Speech Recognition (ASR). Varav Android API[44] och Google Now[54] kommer anv¨andas till fullo f¨or att ge prototypen som utvecklas de funktioner och m¨ojligheter som satts upp som m˚al, som till exempel taligenk¨anning och m¨onsterigenk¨anning. Av de andra AR- applikationer Aura[35], Junaio[36], wikitude[38] och Layar[40] och de utvecklingsverktyg som de har kommer de inte anv¨andas, f¨or att de inte erbjuder den frihet som s¨oks n¨ar prototypen skall utvecklas. Genom att anv¨anda verktygen som ger mer frihet, d¨ar friheten ¨ar att kunna utveckla egna funktioner och h¨andelser kan prototypen anpassa efter behov. Verktyget Android Studio ger den efters¨okta friheten.

(36)

5

Utveckling

De specifika krav som kommer ing˚a i Augmented Reality prototypen tas upp. Hur olika stadier av prototypen ¨ar uppbyggd. Beskrivning av hur funktionerna som anv¨ands f¨or prototypen utvecklas finns ocks˚a.

5.1

Kravspecifikation

En Augmented Reality prototyp med m¨ojlighet att k¨anna igen m¨onster i reklamsyfte. Vid igenk¨anning ska prototypen till˚ata uppspelning av ljud och/eller visa information p˚a sk¨armen. Prototypen skall ¨aven k¨anna igen tal och kunna reagera p˚a ord f¨or att kunna presentera mer information om orden.

Krav: Kamera - Visa Typ: Huvudfunktionalitet F¨orklaring: F¨or att kunna

presentera f¨or anv¨andaren vad som den mobila enheten ser och i en fri r¨orlighet. Ingen stillbild.

Rationalitet: Grunden f¨or att kunna f¨or¨andra verkligheten.

Krav: M¨onsterigenk¨anning Typ: Huvudfunktionalitet F¨orklaring: F¨or att inte hela

tiden presentera informationen utan endast n¨ar den ¨ar relevant. Ska k¨anna igen m¨onster och skapa en h¨andelse f¨or detta.

Rationalitet: Grunden f¨or att kunna f¨or¨andra verkligheten.

Krav: Presentation av information Typ: Huvud icke-funktionalitet F¨orklaring: Ska visa n˚agot n¨ar

ett m¨onster registreras. Sj¨alva h¨andelsen vid m¨onsterigenk¨anning.

Rationalitet: Grunden f¨or att kunna f¨or¨andra verkligheten

Krav: Text till tal Typ: Huvudfunktionalitet F¨orklaring: F¨or att kunna ge

information till de personer med till exempel nedsatt syn.

Rationalitet: Stor del i att n˚a en st¨orre grupp m¨anniskor.

(37)

Krav: Taligenk¨anning Typ: Huvudfunktionalitet F¨orklaring: F¨or att kunna ge

extra st¨od till personer med till exempel nedsatt syn. Aven f¨or¨ att kunna l˚ata alla anv¨andare f˚a ut mer information. Ta ut det den h¨or anv¨andaren s¨aga och svara p˚a fr˚agan.

Rationalitet: Oppnar upp f¨or mer¨ information till anv¨andaren.

Krav: Mikrofonknapp Typ: Huvud icke-funktionalitet F¨orklaring: F¨or att registrera n¨ar

den ska lyssna f¨or taligenk¨anning.

Rationalitet: Ska inte tjuvlyssna hela tiden och ger anv¨andaren sj¨alv m¨ojlighet att v¨alja n¨ar.

Borttaget efter Low-Fidelityprototypen:

Krav: H¨ogtalarknapp Typ: Huvud icke-funktionalitet F¨orklaring: F¨or att kunna ge extra

st¨od till personer med till exempel nedsatt syn.

Rationalitet: Till˚ater anv¨andaren att f˚a informationen uppl¨ast.

Tillagt efter Low-FidelityPrototypen:

Krav: Menyknapp Typ: Huvud icke-funktionalitet F¨orklaring: Frig¨ora utrymme p˚a

sk¨armen och samla funktioner p˚a ett st¨alle.

Rationalitet: Oppnar upp f¨or mer¨ funktioner utan att t¨acka synf¨altet.

Krav: Kamera - Ta bild Typ: Huvud icke-funktionalitet F¨orklaring: Ta en bild av vad som

visas av m¨onsterigenk¨anningen f¨or att kunna titta p˚a informationen vid ett senare tillf¨alle.

Rationalitet: Mer anv¨andarv¨anligt och ¨oppnar upp fler flexiblare anv¨andning.

(38)

5.2

Prototyp 1

F¨or att f˚a en bra start med snabb respons fr˚an omgivningen tas en Low-Fidelity prototyp fram utifr˚an kravspecifikationen, i form av en pappersprototyp. Eftersom prototypen skall anv¨anda sig av kameran och endast f¨orst¨arka verkligheten skapades en ram av ett urklippt papper. En del i symboliseringen av den f¨orst¨arkta verkligheten var den mindre pappersbit som har text p˚a sig, som vid anv¨andning agerar som en ruta vid igenk¨anning av m¨onster. Ut¨over texten och ramen skapas ¨aven en symbol som ¨ar en mikrofon och en som en h¨ogtalare som tejpas fast p˚a insidan av ramens nedre kant[Figur 10]. F¨or att g¨ora det m¨ojligt att demonstrera och l˚ata anv¨andare testa pappersprototypen skrivs ¨aven av de f¨orv¨antade igenk¨anningsm¨onstrerna ut[Appendixfigur 7-12].

(a) Innan m¨onsterigenk¨anning. (b) Efter m¨onsterigenk¨anning.

Figur 10: Pappersprototyp

Sju studenter som har teknisk kunskap och ¨ar v¨anner till projektgruppen fr˚an skolan p˚a KTH Kista tillfr˚agas att vara testpersoner f¨or att testa pappersprototypen. Studenterna f˚ar testa prototypen en och en i ett grupprum i KTH Kista, d¨ar projektgruppen ¨ar n¨arvarande som observat¨orer och antecknar studentens kommentarer. Pappren med m¨onster p˚a finns placerade framf¨or studenten som ska genomf¨ora testerna och studenten f˚ar en kort introduktion. Introduktionen f¨orklarar att prototypen ¨ar t¨ankt att f¨orst¨arka verkligheten och f¨orb¨attra informationsfl¨odet med hj¨alp av Augmented Reality. Testpersonen blir instruerade att h˚alla upp pappersramen likt en surfplatta med kamera och testpersonen ombeds navigerar runt bland de affischer som l¨aggs ut p˚a bordet i syfte att symbolisera en affischeringstavla. Studenten blir ¨aven ombedd att anv¨anda “T¨anka h¨ogt”-metoden och observat¨orerna f¨orklarar vad detta

(39)

inneb¨ar. N¨ar testpersonen h˚aller pappersramen ¨over m¨onstret som ¨ar ¨amnad f¨or igenk¨anning h˚alls pappersbiten med information upp mellan m¨onstret och pappersramen[Figur 10]. Tre studenter har sv˚art att l˚ata fantasin arbeta och se symboliken och har d¨arf¨or sv˚art att ge n˚agon konstruktiv kritik. Testpersonerna som har sinnet ¨oppet f¨or vad som pappersprototypen faktiskt symboliserar, ger f¨orslag p˚a ¨andringar och f¨orb¨attringar. Ut¨over att testpersonerna av prototypen gillar id´en och ser syftet med mer information, tycker fyra av studenterna i testet att funktionerna med Text-till-tal genom h¨ogtalaren ¨ar n˚agot som ist¨allet skulle kunna ske vid igenk¨anning av m¨onstret. Detta f¨or att underl¨atta f¨or personer med nedsatt syn. Ett f¨orslag som sannolikt inspirerar av f¨orklaringen till vad knappen ¨ar ¨amnad till. En pappersprototyptestare tycker att knapparna f¨or mikrofon och h¨ogtalare ¨ar i v¨agen, speciellt om en mindre mobiltelefon anv¨ands. Samma testperson f¨oresl˚ar att funktionaliteterna ska ligga i menyn ist¨allet. Menyn ¨ar en funktionalitet som finns inbyggd i Android och en del enheter har en fysisk knapp f¨or enkel ˚atkomst.

Utifr˚an alla ˚asikter fr˚an f¨orsta prototypen skapas en ny prototyp i papper med design¨andringar som n¨amnts. F¨or att underl¨atta f¨or de studenter som inte k¨anner en enkel anknytning till en framtida digital prototyp anv¨ands en pappersprototyp med motiv av en Android mobil med fysiska knapparna f¨or meny, hem och backa. Genom att klippa ut mitten av pappret efterliknas anv¨andning av en kamera. Ut¨over en ny pappersbit med menyalternativ anv¨ands samma papper som tidigare. Samma test genomf¨ors med den nya prototypen i papper. Testet utf¨ors p˚a samma s¨att som vid f¨orsta pappersprototypen och med tidigare testpersoner. Testpersonerna uppskattar ¨andringarna och de kom inte p˚a n˚agot nytt f¨orslag p˚a f¨or¨andringar. F¨or att ¨oppna upp f¨or nya synvinklar och f¨orslag, fr˚agas tre nya studenter och v¨anner till projektgruppen testa p˚a andra pappersprototypen. Med samma uppl¨agg som tidigare och en kort introduktion till vad som testpersonerna hade framf¨or sig fick de nya testpersonerna l¨amna sina ˚asikter. Tv˚a av de nya testpersonerna tyckte det var besv¨arligt med att beh¨ova st˚a och h˚alla mobilen still ¨over m¨onstret en l¨angre tid f¨or att kunna ta del av alla ny information och f¨oreslog m¨ojligheten att ta en bild av den f¨orst¨arkta verkligheten. De nya studenterna arbetar i KTH Kistas studentpub och ser prototypen som en rolig id´e om det gick att anv¨anda som extra reklam p˚a till exempel underl¨aggen till glasen.

(40)

5.3

Prototyp 2

Med Low-Fidelity prototypen och ˚asikter fr˚an denna i ˚atanke b¨orjas utvecklingen av prototypen i Android Studio[73]. F¨or att f˚a i ordning samma milj¨o f¨or utvecklarna inf¨ordes en github[77] f¨or projektet. Efter att all mjukvara och f¨orberedande inst¨allningar ¨ar gjorda p˚ab¨orjas kodandet av f¨orsta prototypen.

5.3.1 Kamera

F¨or att ha en “Augmented Reality”-prototyp m˚aste kameran i den mobila enheten anv¨andas. Det ¨ar p˚a grund av att genom kameran som prototypen skapar sin illusion med digital objekt. Detta g¨ors med hj¨alp av Android Studio[73] och boken “Pro Android Augmented Reality”[33] . Eftersom boken erbjuder kodexempel i olika steg av utvecklingen kan prototypen testas i olika niv˚aer med inspiration och guidning fr˚an boken.

Bland de f¨orsta stegen som tas f¨or denna prototyp ¨ar att testa att skapa en prototyp som kan starta kameran p˚a mobilen. N¨ar det fungerar delas projektet upp i tv˚a delar, d¨ar ena fokuserar p˚a kamerans m¨ojligheter och den andra fokuserade p˚a vad som kan integreras med kameran. Den som fokuserar p˚a kameran forts¨atter med att implementera m¨ojligheten att ta och spara bilder, samt att bygga in ett galleri f¨or alla bilder.

5.3.2 Text-till-tal

N¨ar prototypen utvecklas ska fler funktioner integreras med prototypen och en av dem ¨ar Text-till-tal funktionen. Denna funktion existerar i Androids utvecklar system som ett paket som kan anv¨andas. D˚a Android Studio[73] anv¨ands kan detta paket enkelt implementeras med den kodexempel som angivits fr˚an boken. Detta testas genom att skapa en knapp som aktiverar funktionen. N¨ar v¨al funktionen aktiveras l¨aser Android-funktionen upp en bit text som angetts Detta fungerar riktigt bra och det anses att den ¨ar en funktion som kan anv¨andas och enkelt implementeras i den slutgiltiga prototypen.

Text-till-tal fungerar genom att anv¨anda sina inbyggda funktioner att s¨aga de bokst¨aver som den kan j¨amf¨ora med Googles egna databas som finns lagrat lokalt p˚a mobilen. Sen genom att anv¨anda samma spr˚ak som finns inbyggt i funktionen

References

Related documents

Styrelsen föreslår att årsstämman beslutar att godkänna styrelsens förslag till principer och riktlinjer för ersättning till ledande befattningshavare i enlighet med vad som

Kan även erbjuda olika typer framkallningar av era bilder allt från vanliga pappers kopior på kvalitets papper, till stora tavlor.. Det går även att beställa många olika

Har ni inte möjlighet att skapa underlag själva skicka information om arrangemanget samt bild i jpg eller png format till Höganäs Sportcenter per e-post.. KULTUR-

Förutom det som framgår av utdrag från FDS samt av uppgifter som lämnats av uppdragsgivaren/ägaren el- ler dennes ombud har det förutsatts att värderingsobjektet inte belastas av

1. Telemakos är tillbaka i palatset. Han vill berätta för sin mamma Penelope om Odysseus men får inte. Varför tror du att Odysseus inte vill att Telemakos säger att han är

könsöverskridande identitet eller uttryck, sexuell läggning, ålder eller funktionshinder eller för annan kränkande behandling. Sådana tendenser skall aktivt

Huvudman för allmänna platser såsom lokalvägar, natur, park m m (inklusive dess dag- vattenhantering) inom detaljplanen förutsätts bli Skrea vägsamfällighet vilket sker ge- nom

Eventuellt iordningställande av allmänna anläggningar (främst eventuellt befintliga vägar som idag ej ingår i Skällentorp Ga:1 eller Skällentorp Ga:2) till en sådan stan- dard