MDI Lab2
Grupp 24
Interaktiv karta

Lärare:
Jan Erik Moström<jem@cs.umu.se>
Handledare:
Leonard Ngaosuvan<leo@cs.umu.se>
Jonny Petterson<jonny@cs.umu.se>
 
Laboranter:
Tomas Ögren<stric@cs.umu.se>
Dan Sandström<di97dsn@cs.umu.se>
Joakim Tegblom<ens99jtm@cs.umu.se>
Ingemar Henriksson<c97ihn@cs.umu.se>

Adress till denna rapport: http://www.cs.umu.se/~stric/edu/mdi/lab2/












Innehållsförteckning

1Presentation
2Kravspecifikation
3Genomgående design
4Genomgång av systemet
4.1 Kommunikation med omvärlden
5Huvudmenyn
6Sökning
6.1 Lista över träffar
7Kategori
8Bokmärken
8.1 Hantering
8.2 Knappar
9Kartan
9.1 Kartvyn
9.2 Knapparna
9.3 Välja mål
10Kart-databaser
10.1 Lagring
10.2 Inläsning
10.3 Byte av databas
11Hur det gick för försökspersonerna
12Lösningens begräsningar
13Ideer vi övergett


1 Presentation

Vi har valt att göra en design av en interaktiv karta att användas av t.ex turister som besöker en stad de inte hittar (så bra) i. Den är tänkt att kunna användas av i stort sett alla med hyfsad syn och motorik. I grundutförandet finns endast aparaten på svenska. Se kravspecifikation för ytterligare detaljer.

[kartman]

Alla bilder hädanefter visar endast det innanför ramen, dvs mjukvaran.

2 Kravspecifikation

Vi har valt att kolla mot några extrem-grupper för att se hur de klarar av att använda produkten. Här följer dem:
Ole, 32 år från Bergen, Norge är på semester i Sverige och vill motionssimma som han gör varje vecka.
Stina, 17 år som vill köpa en fin kjol och sedan fara på blind-date, de skulle mötas i hörnet mellan Pligatan och Skolgatan.
Elsa, 72 år vill ta med barnbarnen på bio för att se Pippi Långstrump. Efter filmen ska barnen lämnas hos barnvakten på Rullstensgatan 179
Familjen Svensson har hittat ett perfekt smultronställe och vill hitta tillbaka nästa år.

3 Genomgående design

Vi har försökt hålla en viss standard på menyer och skärmar för att användaren ska känna igen sig och veta vad som gör vad utan att behöva fundera så länge. Att gå tillbaka till föregående meny är alltid placerad i nedre vänstra hörnet utom på huvudmenyn som inte har någon högre meny. Att gå vidare är alltid placerat i nedre högra hörnet.

På alla skärmar utom kartan och huvudmeny så står det längst upp vad skärmen handlar om.

4 Genomgång av systemet

Systemet är baserad på en PalmPilottm-liknande handdator med lite utökad funktionalitet såsom högre upplösning, GPS-modul och mottagning av Mobitex-signaler.
Upplösningen på skärmen bör vara c:a 300x450 eller högre och klara några nivåers gråskala för att man ska kunna uttyda kartor och text. Vi valde att göra den lite större än en PalmPilottm för att göra text och kartor tydligare.
Enheten bör styras med medföljande penna, men kan även (med sämre precision) användas med fingrarna.

4.1 Kommunikation med omvärlden

Hämtning av enhetens position sker via GPS med radio-pejling för bättre precision. Kommunikation för hämtning av kartor kan ske både via IR (för hämtning av karta över köpcentran) och via radiosignaler som används till Mobitex.

5 Huvudmenyn

Huvudmenyn består av några få val för att den inte ska vara för komplicerad eller ha onödiga alternativ som flyter ihop med andra.

Den ser ut som följande:

[huvudmeny]

Från början hade vi menyvalen Adress, Korsning, Kategori, Fritext och Välj Databas. Allt eftersom vi utvecklade och testade systemet så förändrades det genom tillägg och borttagningar för att göra valen mer logiska och enklare funktionellt. Korsning-alternativet togs bort då vi lade in dylika funktioner i adress-sökningen, vilket gjorde att vi omformade Fritext och Adress till Sökning då även de gör samma sak. Välj Databas valde vi att döpa om till Byt databas för att indikera att man alltid har en databas laddad och endast byter mellan dem.

6 Sökning

Vid sökning på en fras så avsöks företagsnamn, adresser och bokmärken. Om sökningen ger träff i både vanliga databasen och personens bokmärken har bokmärkena högre prioritet.

Sökningar kan ge träffar i form av företag, nån specifik adress, hela gator eller bokmärken. För att kombinera ihop flera sökningar separerar man dem med &-tecken, t.ex "Skolgatan & Östra Kyrkogatan" resulterar i att man kan hitta korsningen mellan Skolgatan och ÖK. Detta medför dock problem om man ska söka efter ett företag som heter t.ex "Nord & Syd". Dock kan detta lösas genom att byta ut & mot "och", de tolkas lika vid sökning.

Om man inte kommer ihåg riktigt vad gatan heter eller hur det stavas kan man använda jokertecken, t.ex "härad*gatan" för att söka efter "Häradshövdingegatan". Versaler och gemener spelar ingen roll i sökningen.

Medan man skriver in en söksträng (och har skrivit tre eller fler tecken) så kommer företag, adresser och bokmärken som börjar på detta att listas i en lista under sökrutan som man kan klicka i för att fylla i resten av ordet. Detta gör att man inte behöver skriva fullständiga namnet, vilket snabbar upp sökningen. Exempelvis om man skriver "härad" så visar den "Häradshövdingegatan", man klickar på den så kopieras det till sökfältet och sedan kan man skriva dit gatunummret. Man kan givetvis fylla i hela namnet själv om man så vill.

[ange_sokord]

Som det syns är sökskärmen utrustad med ett alfa-numeriskt tangentbord för inmatning av tecken. Vi valde att ha bokstäverna i bokstavssorterad ordning i stället för ett miniatyrtangentbord enligt "qwerty"-standarden för att produkten är mer riktad mot normala människor som kanske inte har full kontroll på hur tangenterna sitter på ett dator-tangentbord. Då de flesta kommer ihåg på ett ungefär var i alfabetet en viss bokstav är, men inte på ett tangentbord så minskar detta minnesbelastningen.

Även siffrorna kan placeras på olika sätt, antingen som telefoner oftast har med 123 överst eller som datorer har med 789 överst. Då fler personer har telefonvana än datorvana valde vi att följa telefonernas standard.

Det finns även en sudda-knapp (backspace) för att korrigera fel och en "CLR" för att tömma hela fältet.

6.1 Lista över träffar

När man sökt får man upp en lista på de företag/adresser/bokmärken som matchade med namn och eventuell gatuadress. Genom att sätta ett kryss i rutan bredvid alternativet väljer man de träffar som verkar intressanta. Det är tillåtet att välja flera om man vill. En tanke vore ju att man kunde ha "Markera alla" och "Avmarkera alla"-knappar, men vi ansåg att de inte var tillräckligt användbara för gemene man. Antingen får man bara några träffar, och då kan man kryssa i alla, eller så får man massvis och då vill man nog kontrollera alla träffarna.

[valj_dest]

När man sedan är nöjd med sitt val trycker man på "visa" för att komma till kartan. Kartvyn är normaliserad, dvs omskalad för att rymma aktuell position samt de valda träffarna.

Om en träff är en hel gata så kommer hela gatan att visas visuellt. Då flera hela vägar är visade ser man enkelt korsningar mellan dem. Detta är anledningen till att vi tog bort special-sökningen som endast var till för att hitta korsningar.

En fråga som då dyker upp är var mål-markeringen ska vara på en lång väg eller korsning mellan två vägar som snirklar sig och korsas flera gånger. Detta problem har vi dock ingen bra lösning på, utan lämnar det upp till användaren att välja en exakt position de är intresserad av.

7 Kategori

När man varken vet ett företags adress eller namn kan denna funktion vara till stor nytta. Det fungerar så att man väljer bland olika förprogrammerade kategorier av företag och tjänster (liknande Gula Tidningen®). Givetvis måste antalet kategorier begränsas till de mest allmännyttiga kategorierna men den övre begränsningen beror på vad kartan representerar.

[valj_kategori]

Det bästa är om kategorierna är så distinkta som möjligt. Detta för att undvika tvetydigheter så som om man ska leta efter "Pizzabutiker" i kategorin "Mataffär" eller "Snabbmat". Man skulle kunna lägga in dem under båda kategorierna men då är risken stor att användaren blir tveksam över i vilken kategori man ska leta. Genom att välja sina kategorier med så distinkta egenskaper som möjligt kan man minska den kapacitet som krävs för användaren att göra ett val.

När man valt kategorier och tryckt på "visa" kommer man till en lista liknande den från sökningen ovan.

8 Bokmärken

Denna del är främst avsedd för att användaren ska kunna komma åt sina egna favoritplatser utan att behöva söka efter dem varje gång. De hänger ihop med aktuell databas.

8.1 Hantering

När vi designade gränssnittet för bokmärkshanteringen valde vi mellan ett system där man kunde skapa egna kategorier och lägga bokmärken i dessa. Vi ansåg dock att detta blev för komplicerat för en "vanlig" användare med extra funktioner för att hantera detta. Istället så hamnar alla bokmärken i en lista som är sorterad i alfabetisk ordning. Man hade även kunna tänka sig att sortera den efter inmatningsordning, men detta blir svårhanterat när man inte ser alla samtidigt.
Eftersom det krävs en position för att lägga till ett nytt bokmärke har vi valt att endast låta användaren ändra namnen på bokmärken samt ta bort gamla bokmärken från denna meny. Vill man lägga till nya bokmärken gör man det från kartan. Man kan även använda bokmärken för att lagra platser som ej har någon adress, exempelvis om du hittat ett smultronstället ute i skogen och vill kunna komma dit igen.

[bokmarken] [bokmarken_dialog]

8.2 Knappar

Om man väljer "ändra" får man redigera det befintliga namnet för bokmärket, se bild med Habibs Kebab nedan. Markören placeras i slutet av ordet eftersom man endast har en suddknapp (backspace). Vill man byta namnet helt trycker man först på "CLR" för att rensa namnfältet och sedan fyller man i det nya namnet (om det helt plötsligt börjar växa hallon på smultronstället).

Om man väljer "ta bort" får man en dialog som frågar om man är säker att man vill ta bort bokmärket man valt. Genom valet av namn på knapparna ("Ja, ta bort" och "Avbryt") räcker det med att bara se dessa för att veta vad alternativen får för resultat. Dialogen känns nödvändig med tanke på att kommandot utför något som det inte finns möjlighet för användaren att ångra. Eftersom denna dialog är den enda i hela systemet har vi valt att placera knapparna enligt standardutseendet för de flesta datorsystem, dvs knappen med "ok"-alternativet till vänster och "avbryt" till höger.

9 Kartan

9.1 Kartvyn

Själva kartvyn består av en vektor-baserad karta som vrider sig så att framåt på kartenheten är dit näsan pekar. För att åstadkomma detta används den inbyggda kompassen och GPS-mottagare. Från början tänkte vi att norr alltid skulle vara "framåt" på enheten, men då måste man hålla på och vrida på enheten för att känna igen sig i miljön, detta steg har dock tagits bort i och med kompassen.

Ens egen position markeras på kartan med ett kryss och de ställen man valt att visa i tidigare menyer visas som punkter och det valda målet (om sådant finns ännu) markeras med en ring. Dessa symboler valdes för att visa samband och skillnader mellan dem.

[kartvy] [kartvy_dialog]

Om man vill studera en annan del av kartan är det bara att peka och dra runt kartan med pennan.

9.2 Knapparna

I vår design utnyttjar vi "closure" för att på så vis dela upp knapparna i 3 huvudgrupper. Detta innebär att man först kan välja att fokusera på den del av menyn som för tillfället passar in på det man vill göra och sedan enklare hitta just den knapp man söker.

De två första knapparna används för att komma från kartvyn till någon annan meny.
De tre knapparna i mitten används för att kontrollera vyn.
De två sista knapparna byter till ett läge där man pekar på något och sedan får ett resultat.

Den meny som har flest knappar med symboler är kartvyn. Vi har dock valt att begränsa antalet knappar till 7 dels eftersom det inte ryms mer än 8 på skärmen för att behålla en lämplig storlek. En annan anledning var att vi ville få en gruppering av knappar så man inte endast har en lång rad av knappar som är svår att hitta bland. Miller utförde en del minnesexperiment runt 60-talet och slutsatsen av dessa är att människor i regel bara kommer ihåg 7+/-2 enheter. Detta kan enkelt tolkas som att man bör hålla antalet knappar på en rimlig nivå. För många knappar resulterar i att man får svårare att komma ihåg vad de gör.

"Meny"-knappen fungerar helt enkelt som en genväg till huvudmenyn. Den finns endast med på kartvyn eftersom den inte behövs lika ofta i de andra menyerna. När man är mitt uppe i någon sökning vill man vanligtvis gå tillbaka ett steg och modifiera något eller visa slutresultatet. Med detta antagande så valde vi att endast placera "Meny"-knappen vid kartvyn som ligger djupast nere i funktionshierarkin. Det maximala antalet knapptryckningar man behöver för att komma till huvudmenyn är trots detta endast 2 stycken (förutsatt att man trycker på rätt knappar).

Förstorningsglasen används för att zooma in och ut i kartan. Plus zoomar in och minus zoomar ut. Vi hade som förslag att man skulle kunna dra upp en rektangel och sedan visa det som fanns i denna. En av de oklarheter som detta sätta att zooma in skapade var vad som händer när en användare väljer en långsmal rektangel som inte passar in i skärmens utforming. Detta skulle innebära att inzoomning beror på hur stor rektangel man drar upp, och vid utzoomning används en fast konstant, vilket är inkonsekvent och kan vara irriterande.

Knappen med en "gubbe" centrerar vyn rakt ovanför användarens aktuella position på kartan. Denna knapp är speciellt användbar när man irrat bort sig på kartan och snabbt vill komma tillbaks till sin egen position.

För att få information om något på kartan använder man på "i"-knappen som då inverteras. Man klickar sedan på den position som är intressant. Då får man en liten inforuta med eventuellt namn på företaget, gatan eller korsningen. Finns det inget av intresse på den positionen anges endast longitud och latitud. Som vi har tänkt så avmarkeras "i"-knappen vid bruk, men det fungerar dåligt om man är osäker på vilken man vill ha information om och klickar på alla. Dock är man oftast bara intresserad av ett enda mål när man ska välja och man får en likhets-konflikt. Antingen välja att de två funktionerna ska bete sig olika, vilket kan ge lite bättre funktionalitet på infoknappen eller att välja samma beteende på båda och möjligtvis få lite jobbigare hantering om man är osäker var man ska klicka.

Då man ska lägga till ett bokmärke använder man också "i"-knappen, inforutan verifierar att det man valt verkligen är det man tänkte välja. Genom att sedan klicka på "boken" i inforutan kommer man till en ny skärm där inmatning av namnet för bokmärket görs. När man väl valt namn på bokmärket och bestämt sig för att behålla det trycker man spara. Ångrar man sig så trycker man på pilen nere i vänstra hörnet, i vilket fall hamnar man vid kartvyn igen.

[bokmarke_habib]

Genom att använda symboler som kan relateras till verkligheten har användaren hjälp av sin kunskap från verliga livet vilket gör systemet enklare att lära sig. Med hjälp av kunskap om symbolens betydelse kan man ofta ganska enkelt lista ut vad funktionen gör. Om valet av en symbol för en funktion inte stämmer överens med verkligheten kan symbolen uppfattas som onaturlig och medföra att systemet blir svårare att lära sig.

9.3 Välja mål

Då man vill välja ett nytt mål att gå till eller veta vägen till så klickar man på knappen med "siktet", som inverteras, och sedan på platsen som man är intresserad av. Då dyker det upp en liten inforuta som berättar vad man klickade på och en bokmärkes-knapp om man vill komma ihåg den till senare tillfällen. Även om det finns en knapp för att visa info-rutan så är det bra att man får direkt tillbakakoppling till valet man just gjort.

Om man har använt sökfunktionen för att hitta det man är intresserad av så justerar den lite mot de punkterna även om man skulle träffa lite bredvid, för att göra det lättare att träffa det man sökt efter.

10 Kart-databaser

10.1 Lagring

Enheten har kapacitet att lagra flera kartor samtidigt med automatisk borttagning av den äldsta databasen vid minnesbrist. Då alla kartor komprimeras och själva vägarna består av vektorer kan 5-10 medelstora städer rymmas i minnet samtidigt.

10.2 Inläsning

Själva inläsningen av kartorna kan både ske via Mobitex-nätet som täcker c:a 95% av Sverige och IR-överföring för kartor över större varuhus och liknande.

Om man anländer till en ny stad, över vilken man inte har en korrekt databas så börjar den tankas över via Mobitex så fort enheten slås på i den nya staden. På så sätt slipper man fylla den med "onödiga" kartor om man passerar förbi flera städer utan att ha något direkt intresse av dess kartor.
Då detta sker automatiskt behöver användaren inte bry sig om att skaffa uppdaterade kartor, utan kan direkt använda den (när väl databasen är överförd, vilket sker utan användarinteraktion).

För att läsa in en karta över varuhus måste de ha en annan enhet med IR-möjligheter för att ladda över positioner för t.ex smör och golfklubbor.

10.3 Byte av databas

Om man vill t.ex välja mellan kartan över Umeå och OBS! så kan man göra det från huvudmenyn. Då det inte finns något sätt just nu att "välja sin position" så är vissa funktioner i kartvyn begränsat om man väljer en annan stad än den nuvarande. Man kan då inte hitta vägen mellan punkt A och punkt B för att ena punkten är för närvarande alltid sin egen position, vilket ej existerar i andra städer än den man är i just nu.

[valj_databas]

11 Hur det gick för försökspersonerna

Ole som kunde svenska hyfsat bra och lyckades hitta till badhuset och bli blöt genom att använda kategori-sökning.
Stina visste att KappAhl har fina kjolar och sökte därför på det, hittade dit och daten blev perfekt (hon hittade till korsningen).
Elsa och barnen tyckte att filmen var bra och barnvakten bjöd på glass när de kom till Rullstensgatan.
Familjen Svensson lyckades inte hitta sina smultron, för att MoDo hade skövlat skogen (troligen hittade de rätt ställe ändå).

12 Lösningens begräsningar

Den kräver för mycket uppmärksamhet för att kunna användas under bilkörning

Vi vet inte riktigt hur man ska visa/använda kartor som är väldigt långsmala, då man endast ser en liten yta av den eller hela med dålig precision.

Info-rutan skulle kunna ersättas av kontinuerlig information på en statusrad som uppdateras vid behov.

Ska kartan återställas eller bibehålla all information om man trycker "tillbaka" och sen "framåt" igen?

13 Ideer vi övergett


MDI Lab 2 Grupp 24
Tomas Ögren, Dan Sandström, Joakim Tegblom, Ingemar Henriksson Umeå, 1999-10-12