Home
Localina Recommender Client für das iPhone: Go
Contents
1. Roter L sch Button statt Ignore Selected Ratings Button Die Ignore Selected Ratings Funktion wurde ersetzt durch einen einfachen L schknopf neben jedem Restaurant mit welchem man ein Restaurant aus der Liste entfernen kann ohne es bewerten zu m ssen vgl Abbildung 14 im PDF Dokumentation Localina Recommender Client f r das iPhone Seite 50 4 Usability Tests 4 1 Testen der Mockups Die Mockup Versionen um Feedback f r die weitere Entwicklung der Mockups zu erhalten Versuchsanordnung Die Usability Tests wurden in einem Sitzungsraum der Astina AG durchgef hrt Bei den Interviews wurden Tonaufnahmen gemacht Test Dokumentation Die Tests wurden in einem Test Protokoll dokumentiert Diese Dokumente finden sich im Verzeichnis UsabilityTests MockupTests auf der Abgabe CD Nachfolgend findet sich eine Zusammenstellung der zentralen Aussagen und Beobachtungen 4 1 a Test der Version 1 Benutzerprofil e Jurist e M nnlich vergeben 30 e Technisch interessiert und versiert e Besitzt seit rund einem Jahr ein iPhone Einf hrung Eine Freundin hat dir von Localina erz hlt einer Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation von iTunes Store heruntergeladen Dokumentation Localina Recommender Client f r das iPhone Seite 51 Situation Du gehst an deinem Arbeitsplatz immer etwa in die gleichen Resta
2. Zu Beginn ist nicht klar was der Kartenausschnitt anzeigt Es fehlt eine Erkl rung Empfehlungen werden zu oft neu geladen wobei f r eine Weile die gesamte Map blockiert wird Die Navigation soll so berarbeitet werden dass der Benutzer selbst entscheidet was er als erstes machen will Wenn er selbst w hlt dass er die Empfehlungen in seinem Umkreis anzeigen m chte weisser auch genau was der Kartenausschnitt anzeigt Der Benutzer soll selbst entscheiden wann er die Empfehlungen neu laden m chte Die Benutzer sehen nicht wie viele Restaurants sie bewerten sollen Die Applikation soll dem Benutzer aktiv Tasks zum Bewerten geben In einer typischen Situation in der man Localina verwenden w rde hat man keine Lust oder Zeit Restaurants zu bewerten Der Benutzer soll in Situationen wo esihm langweilig ist darauf aufmerksam gemacht werden dass er noch Restaurants f r Localina bewerten soll Die Infobox ist zuwenig aufdringlich und wird von den wenigsten Benutzern gelesen Infobox soll beim ersten Start der Applikation angezeigt werden Zudem soll die Infobox bersichtlich gestaltet sein und nicht zuviel Text enthalten dass sie von den Benutzern auch gelesen wird Dokumentation Localina Recommender Client f r das iPhone Seite 40 2 4 Minimale Anforderungen Da eine Erweiterung des Funktionsumfangs des aktuellen Localina iPhone Clients nicht Teil dieses Projektes ist leiten sich die minimale
3. p SOAPRequest lt RecommendRequest Z PredictLocationsForLocationldListRequest GetRatingCountForUserldentifierRequest Abbildung Il 17 SOAP Request SOAPResponse bietet eine Methode zum Parsen der Response der Localina Application F r jedes Response Format gibt es eine konkrete Implementation welche das Response Format kennt und parsen kann Diese berschreiben falls n tig auch die Methoden isValid und isSuccess falls eine Response ein nicht standardm ssiges Feedback zur ckgibt SOAPResponse StringResponse Der ERS e nm o Na Abbildung Il 18 SOAP Response CommunicationFacade Wie Abbildung II 19 CommunicationFacade zeigt besitzt das Communication Paket ber eine Facade welche einen einfachen Zugriff auf die SOAP Services der Localina Application bietet ohne dass man die Klassen des Communication Pakets kennen muss Die CommunicationFacade geh rt jedoch nur logisch zum Communication Paket Sie ist bewusst applikationsspezifisch um ein einfacheres Interface bereitstellen zu k nnen Falls das Communication Paket in einer anderen Applikation verwendet wird muss eine eigene CommunicationFacade geschrieben werden Seite 80 Dokumentation Localina Recommender Client f r das iPhone requestPlaceWithld StringResponse u xmIDocument RecommendRequest ZZ E
4. DeferredLoadingPlaces Konzept 5 2 c Place Konzept Diagramm Abbildung Il 4 Place Konzept Seite 64 Wertebereich String Ganzzahl Ganzzahl RatablePlaces Favorites Dokumentation Localina Recommender Client f r das iPhone Seite 65 Beschreibung Das Konzept Place beschreibt eine Lokalit t mit einer Predition Bei Localina wird eine Lokalit t durch ein Location Objekt beschrieben welches einem separaten Prediction Objekt angeh ngt ist Weil eine Lokalit t der Localina iPhone App jedoch nur eine Prediction haben kann Einzelbenutzer Anwendung werden die Attribute der Prediction direkt dem Place Objekt angeh ngt Attribute Name Beschreibung Wertebereich identifier Eindeutige ID unter welcher die Lokalit t in der Localina Ganzzahl Datenbank referenziert wird name Name der Lokalit t String certainty Zuverl ssigkeit Genauigkeit der Prediction f r die 1 lt x lt 1 Lokalit t prediction Prediction f r die Lokalit t 1 lt x lt 1 numRatings Gesamtzahl der Bewertungen welche f r die Lokalit t Ganzzahl abgegeben wurden popularity Durchschnittliche Bewertung der Lokalit t 1 lt x lt 1 longitude L ngengrad des Standorts der Lokalit t 0 0 90 0 latitude Breitengrad des Standorts der Lokalit t 0 0 180 0 isRated Gibt an ob der Benutzer die Lokalit t bereits bewertet hat BOOLEAN Dokumentation Localina Recommender Client f r das iPhone Seite 66 5 2 d SearchArea Konzept Diagramm
5. HSR r z Bu z astina BEE NNT i Localina Recommender Client f r das iPhone Go Live Vorbereitung Bachelorarbeit Abteilung Informatik Hochschule f r Technik Rapperswil Fr hjahrssemester 2010 Autor Simon Morger Betreuer Prof Dr Markus Stolze Projektpartner Astina AG Z rich Experte Patrick Steiger Gegenleser Prof Dr Lothar M ller Dokumentation Localina Recommender Client f r das iPhone Go Live Vorbereitung Inhaltsverzeichnis Inh ltsverzeichhisa eu ii AbBildungsverzeichnis en en v ADSra CE e A A A E A E A A 1 Technischer Berichten its tsitasesniadoienan einek tinaaa Eni iaaii ona taisia iatale 3 1 Einlelt ng sus ee nee 4 t Ausgangslage eresas a R ee 4 12 LoCall Nasera EAE E A E E 4 2 Design Contra sia i snenitiredts tsiis 9 21 Technologiesin er 9 22 SysteMarchiteKl nsse ee 9 3 Umgebung sense ea 10 34 Eric a Ea AE 10 32 Die SOAP Schnittstelle ssunensnssssnssenmssunssensssunsenuneennnsensesunseenseunsesunesnnesnnessnnesneesunnen 11 4 Stand der Technik ansehe 14 4 1 Konkurrenzvergleich Restaurant Guides f r das iPhone 14 4 2 Stand der Localina iPhone App ussssenesunnsesunnseensnsesnnnsesunnessnnnsesnnsesnnnsesunensnensennnssnnnne 18 5 Bewertung uses 24 51 Konkufrenzvergleihseueu een 24 5 2 Stand des iPhone Client PrototyPps ussesensnnnsssnensnmsnsssennsssnmesunnssunnesunssunnesunnenen 25 6 VISION See ee Reese 26 61 Anforderungen een ame 26 6 2 EICH Stateent n en
6. gt setData 1P k N ocationsResponse isValid EN E xmIDocument isSuccess ng N a setData parse N isValid er N es isSuccess lt parse pee BI S r N Bo GetRatingCountForUserldentifierRequest N Ey 1 N SinglePredictionResponse requestParams S TEE N xmi buildRequestStrin ildReq g N SE Ya isValid isSuccess 7 r a J f MultipleltemsResponse S PredictSingleLocationRequest j xmiDocument Er requestParams A setData PredictionResponse buildRequestString z 4 J jisValid xmIDocument PredictRequest ee setData requestParams pa isValid i isSuccess buildRequestString iparse K 2 PredictLocationForLocationidListRequest PredictRequest requestParams requestParams buildRequestString buildRequestString GetLocationsForCriteriaRequest requestParams buildRequestString Abbildung Il 19 CommunicationFacade Place SOAP Factory Place SOAP ist eine Kategorie vgl Categories in Objective C welche die Klasse Place um einen Konstruktor erweitert der ein Place Objekt aus einem Prediction oder Location SOAP XML erzeugen kann Place tSOAP geh rt daher nur logisch zum Communication Paket Falls das Communication Paket in einer anderen Applikation verwendet wird muss eine eigene Kategorie geschrieben werden welche die Struktur des Datenmodells kennt Dokumentation Localina Recommender Client f r das iP
7. Abbildung Il 5 SearchArea Konzept Beschreibung Das Konzept SearchArea beschreibt den Umkreis der letzten Suchanfrage Attribute Name Beschreibung Wertebereich center Ort der Suche Geokoordinate radius Suchradius in Kilometer Ganzzahl 5 2 e LocationVisited Konzept Diagramm Abbildung Il 6 LocationVisited Konzept Dokumentation Localina Recommender Client f r das iPhone Seite 67 Beschreibung LocationVisited beschreibt einen Benutzerstandort wo sich der Benutzer mittels LBS des iPhone geortet hat jedes Mal wenn er die Funktion Find Restaurants Nearby w hlt Attribute Name Beschreibung Wertebereich longitude L ngengrad des Standorts 0 0 90 0 latitude Breitengrad des Standorts 00 1800 zip Postleitzahl des Standorts 0 wigo city Stadt in der sich der Benutzer w hrend der Lokalisierung String befunden hat dateVisited Datum der Lokalisierung S Dtum oo 5 2 f SearchedCity Konzept Diagramm Abbildung Il 7 SearchedCity Konzept Beschreibung Das Konzept SearchedCity beschreibt eine Stadt nach welcher der Benutzer bereits Empfehlungen gesucht hat Attribute Dokumentation Localina Recommender Client f r das iPhone Name Beschreibung Wertebereich dateSearched Datum der Suchanfrage Datum city Stadt nach welcher der Benutzer String gesucht hat 5 2 9 SearchedAddress Konzept Diagramm Abbildung Il 8 SearchedAddress Konzept Beschreibung Seite 68 Das Ko
8. Location Array Liste von Location Objekten Prediction Objekt Das Prediction Objekt repr sentiert die Prediction zu einer Location Die folgende Tabelle erkl rt die wichtigsten Attribute des Prediction Objekts Attribut Erkl rung Wertebereich prediction Wert der Prediction Vorhersage des Systems wie der Benutzer Double 1 lt x lt 1 die Location bewerten w rde falls er sie kennt certainty Wert f r die Verl sslichkeit der Prediction Double 1 lt x lt 1 explanation Erkl rung wie die Prediction zustande kam String location Location zu welcher die Recommender Engine die Prediction Location Objekt errechnet hat Prediction Array Liste von Prediction Objekten Dokumentation Localina Recommender Client f r das iPhone Rating Objekt Seite 12 Eine Bewertung welche der User f r eine Location abgegeben hat Die folgende Tabelle erkl rt die wichtigsten Attribute des Rating Objekts Attribut Erkl rung Wertebereich certainty Wie sicher ist sich der User in seiner Bewertung Double 1 lt x lt 1 locationid ID der Location f r welche der Benutzer die Bewertung Long abgibt userldentifier Eindeutige Benutzer ID String value Wert der Bewertung auf einer Skala von 1 bis 1 wobei 1 die beste Bewertung darstellt Criteria Objekt Double 1 lt x lt 1 Kriterien welche auf eine Location zutreffen m ssen damit sie als Resultat in Frage kommen Att
9. Weil Localina ein sehr dynamisches System ist und sich die Attribute von Place st ndig ndern werden nur die IDs persitiert Die Place Objekte werden bei Bedarf vom Server angefordert Durch das Deferred Loading sind beim Start der Applikation weniger Requests n tig und wenn der Benutzer zu Beginn gleich Empfehlungen abfragen m chte stehen diese schneller zur Verf gung Attribute Name Beschreibung Wertebereich loadedPlaces Array mit allen Place Objekten die bereitsvomServer Places geladen worden sind placelds ___ Adresse nach welcher der Benutzergesuchthat Die PersistedNumberArray Adresse wird mittels Google Geocoding formatiert 5 2 i PersistedNumberArray Konzept Diagramm Abbildung II 10 PersistedNumberArray Konzept Beschreibung Das Konzept PersistedNumberArray erlaubt es einen Array mit Number Objekten mittels Core Data zu persistieren Es wird berall dort ben tigt wo eine Liste mit Ganzzahlen im Persistent Store gespeichert wird RatablePlaces Favorites Dokumentation Localina Recommender Client f r das iPhone Seite 71 Attribute Name Beschreibung Wertebereich items Liste der vom Managed Object Context von Core Data verwalteten Array mit Objekte Ganzzahlen 5 3 Architektur 5 3 a bersicht Abbildung II 11 Architektur zeigt die Architektur der Localina iPhone Applikation Der Grundaufbau erfolgt nach dem Muster des Model View Controller Pattern MVC Der Code ist in folgende Pakete gegliede
10. Die Toplist zeigt dem Benutzer auf einen Blick die seinem Geschmack entsprechenden Restaurants an sofern er bereits gen gend Bewertungen abgegeben hat Ansonsten erscheint eine Aufforderung zum Bewerten von Restaurants Neues Rating Interface Das Problem des Rating Interface des aktuellen Prototypen war dass der Benutzer keine bersicht hatte wieviele Restaurants er bewerten soll und wann er damit aufh ren kann Daher werden die zu bewertenden Restaurants neu in Form einer Task Liste dargestellt vgl Seite 9 des PDF Dokumentation Localina Recommender Client f r das iPhone Seite 45 Bewertungen k nnen entweder anhand der f nf Smileys oder eines Fragezeichens vorgenommen werden Mit dem Fragezeichen kann man eine Bewertung auslassen falls man das Restaurant nicht kennt Hat man eines der Restaurants bewertet wird das gew hlte Smiley eingef rbt und das Restaurant wird in den Register Already Rated verschoben 3 2 b Mockup Version 2 Die erste Mockup Version wurde anhand von kleinen Benutzerbefragungen auf Basis des Papierprototypen validiert wobei sich einige Schw chen aufgezeigt haben In der Mockup Version 2 wurde versucht diese Schw chen zu beheben Das vollst ndige Mockup findet sich unter Mockups Mockup v2 pdf auf der Abgabe CD nderung der Register Tabs Der Zusammenhang zwischen einer Suche Register Search und den Registern Map und Toplist war nicht gen gend klar Daher wurden die drei Register zusammen
11. LBS Location Based Services Dienste welche von mobilen Ger ten verwendet werden um positionsabh ngige Daten des Benutzers zu ermitteln Localina Application Localina Application ist f r die Verwaltung der Location Daten und der Benutzerprofile verwantwortlich und stellt ber einen Webservice verschiedene Funktionen f r Localina Clients wie die Localina iPhone App zur Verf gung Location Bezeichnet im Kontext der Localina iPhone App den Benutzerstandort Bei Localina steht der Begriff Location f r eine Lokalit t Lokalit t Sammelbegriff f r Lokalit ten wie Bar Clubs Hotel Restaurants Caf s Place Bezeichnet im Kontext der Localina iPhone App eine Lokalit t weil der von Localina verwendete Begriff Location zu Verwechslung mit dem Benutzerstandort engl User location f hrt Popularity Durchschnittliches Rating aller Benutzer der Lokalit t Prediction Vorhersage des Systems ber die Pr ferenz des Benutzers Rating Bewertung einer Lokalit t durch den User Dokumentation Localina Recommender Client f r das iPhone Seite 107 SOAP Simple Object Access Protocol Netzwerkprotokoll zum Austausch von Daten zwischen Systemen Sparse Data Problem Das Sparse Data Problem tritt dann auf wenn der Empfehlungsalgorithmus zuwenig umfangreiche Daten zur Verf gung hat um qualitative guten Empfehlungen liefern zu k nnen vgl Cold Start Problem Suchkontext Filter f r die Suchresultate Der Suchkontext kann ber d
12. Localina von den einzelnen Mockup Versionen bis hin zum ersten Release sowie die den Design nderungen zugrunde liegenden berlegungen aufgezeigt und erl utert werden 3 2 Mockups Das externe Design wurde anhand von Papierprototypen schrittweise entwickelt In diesem Abschnitt wird die Entwicklung der Papierprototypen anhand der wichtigsten nderungen beschrieben Die vollst ndigen Papierprototypen der Mockup Versionen 1 bis 2 2 sind im Verzeichnis Mockups auf der Abgabe CD zu finden 3 2 a Mockup Version 1 Das vollst ndige Mockup findet sich unter Mockups Mockup v1 pdf auf der Abgabe CD Vorschl ge zum Raten und rote Ziffernanzeige Dieser Phase entstammt die Idee der oberhalb des Localina Icons eingeblendeten roten Ziffernanzeige vgl Nummer 1 auf Seite 1 des PDF Die Ziffer auf dominant farbenem Hintergrund soll den Benutzer von Zeit zu Zeit zum Bewerten von Restaurants animieren Startet der User die Applikation wird er durch Wiederfinden derselben Ziffernanzeige auf dem Tab Rate direkt zum Bewertungsmodus gef hrt Dabei macht sich Localina die Gegebenheit zunutze dass viele User die Ziffer in der roten Anzeige m glichst tief halten wollen Dokumentation Localina Recommender Client f r das iPhone Seite 43 Neue Rubriken Die Rubriken Tabs wurden ge ndert Neu eingef hrt wurde die Rubrik Search welche nachfolgend erl utert wird Weil das Register Info beim aktuellen Prototypen der Localina iPhone App leer
13. Ti Lokalit ten meinem pers nlichen Geschmack entsprechen US09 Als Benutzer m chte ich sehen wie beliebt B g eine Lokalit t bei den anderen Benutzern ist US10 Als Benutzer m chte ich Informationen zu A S einer Lokalit t ansehen k nnen Dokumentation Localina Recommender Client f r das iPhone Seite 102 US13 Die Benutzer sollen regelm ssig daran B erinnert werden Lokalit ten zu bewerten US14 Als Benutzer m chte ich eine Lokalit t B direkt in der Detailansicht bewerten k nnen US15 Als Benutzer m chte ich sehen wieviele B Lokalit ten ich bewerten muss um gute Ergebnisse zu erhalten US19 Ladeanzeige wenn Daten ber das Internet A geladen werden AANS S 3 2 Code Metriken Vorher Nachher Vergleich F r die Bestimmung der Code Metriken wurde das CLOC verwendet http cloc sourceforge net Metrik Stand erster Prototyp Aktueller Stand Number of Files 40 101 Number of Lines Comments 872 1299 Number of Lines Code 4346 6389 CoverStory http code google com p coverstory ist ein Tool zur Bestimmung der Test Coverage in Xcode Leider verursachte das Tool einen Compiler Fehler weshalb ich die Test Coverage nicht bestimmen konnte 3 3 Protokolle der w chentlichen Sitzungen Die Protokolle der w chentlichen Sitzungen befinden sich im Verzeichnis Protokolle auf der Abgabe CD Dokumentation Localina Recommender Client f r das iPhone Seite 103 IV Anhang Dokumen
14. Zahlenwert zukommt F r das Fine Tuning der Resultatanzeige muss also lediglich das Mapping in der Klasse Popularity angepasst werden PopularityTests pr ft dass f r jeden m glichen Zahlenwert der erwartete Wert zur ckgeliefert wird 6 3 Manuelle Tests 6 3 a Applikationsverhalten Mittels diesen Tests wird die Konsistenz der Applikation berpr ft Beschreibung Aktion Erwartetes Pass Fail Bemerkungen Verhalten Beimertmaligen Erstmaliges Infobox erscheint Starten der Starten der auf dem Display Applikationen Applikation werden S Informationen zur Funktionsweise von Localina angezeigt Applikation Applikation Der Badge auf Badge zeigt den starten und die dem App Icon korrekten Wert Anzahl der Places muss der Anzahl an to Rate z hlen der Places to Rate S Applikation beenden entsprechen Favoriten werden Lokalit t zu den Die Lokalit t muss persistiert Favoriten in der hinzuf gen und Favoritenliste v Applikation neu erschein starten Gesuchte Nach Adresse Adresse erscheint Adressenwerden suchen und als erstes Element y persistiert Applikation in der Recent beenden Searches Dokumentation Localina Recommender Client f r das iPhone 6 3 b Map Ansicht der Resultate Seite 87 Mittels diesen Tests wird berpr ft dass in den jeweiligen Ansichten My Taste Most Popular und Allin Area keine falschen Icons dargestellt werden Beschreibung Aktion Erwartet
15. amp Pubs 7 Clothing Abbildung I 5 Suche von Tellmewhere Dokumentation Localina Recommender Client f r das iPhone Seite 16 l_sunrise 21 13 tellmewhere Restaurants User ratings z gt Rollis Restaurant Oerlikon u 2 j Restaurant Cheyenne s Juerstr a Jhenter 11 i o a Ba l z O Search Abbildung l 6 Anzeige der Suchresultate bei Tellmewhere l_sunrise 21 27 Connect iphone922063 loved Palavrion iphone922063 loved Les Halles iphone922063 loved Gn sserei iphone922063 amp I tried Vista Connect Abbildung l 7 Social Network von Tellmewhere 4 1 b z ritipp Die Redaktion f r Z rcher Ausgehtipps des Tages Anzeigers z ritipp hat im April eine z ritipp App f r das iPhone herausgegeben Die App liefert Informationen zu Veranstaltungen und Restaurants in Z rich und Umgebung Dokumentation Localina Recommender Client f r das iPhone Seite 17 Vergleich zu Localina Im Unterschied zu Localina bietet die z ritipp App nebst einem Restaurantf hrer auch einen weitgef cherten Veranstaltungskalender f r die Region Z rich mit den Kategorien Tagestipps Kino Musik Party Kunst und B hne Daneben erh lt man auf den Detailseiten zus tzliche Informationen zu Veranstaltungen ausf hrliche Besprechungen Kritiken Vorank ndigungen und Reviews Der Benutzer der z ritipp App hat die M glichkeit sich Restaurants und Veranstalt
16. auch eine Referenz zum Profile Objekt welches Angaben zum Benutzerprofil speichert Dokumentation Localina Recommender Client f r das iPhone Attribute Name searchContext searchArea searchResults mapRegion profile Beziehungen Beschreibung Aktueller Suchkontext des Benutzers selektiertes Register in der Resultat View Umkreis der letzten Suche Resultate der letzten Suchanfrage Speichert den zuletzt gew hlten Kartenausschnitt Referenz auf das aktuelle Benutzerprofil Seite 61 Wertebereich ENUM SearchContextFindMyTaste SearchContextFindPopularPlaces SearchContextFindAll SearchArea Array mit Instanzen von Place MKMapRegion Profile Eine Configuration verwaltet genau ein Profile Profile Konzept und eine SearchArea Dokumentation Localina Recommender Client f r das iPhone Seite 62 SearchArea Konzept Es w re auch eine Implementation denkbar wo die Configuration mehrere Profile verwaltet z B um mehrere Moods abzubilden Dokumentation Localina Recommender Client f r das iPhone Seite 63 5 2 b Profile Konzept Diagramm LocationVisited longitude latitude zip city dateVisited N locationsVisited SearchedCity 4 dateSearched e searchedCities 1 S RatabiaPiaces city a ratablePlaces RatabiePiaces searchedAddresses favorites SearchedAddress Favorites Abbildung Il 3 Profile Konzept Bes
17. das Restaurant genau befindet Verlinkung Homepage Um ber die Info Ansicht direkt zur Homepage des ausgew hlten Restaurants zu gelangen m sste die URL noch verlinkt werden nderung Pinfarbe Obschon die Benutzer die Ziffer 5 immer als Bestes erkannten w re es sinnvoller die Abstufung der Farben bei den jeweiligen Pins umgekehrt als bisher anzubringen Das heisst der Button mit der Ziffer 5 sollte heller sein als derjenige mit der Ziffer 1 Bisher ist die Ziffer 1 heller als die 5 Dokumentation Localina Recommender Client f r das iPhone Seite 93 Informations Button in der Kartenansicht Es w re sinnvoller den Button zum Aufrufen von Informationen zur Funktionsweise von Localina und insbesondere zur Bedeutung der Farbgebung der Pins direkt in die Kartenansicht einzubinden Bis anhin befindet sich der Button zu Beginn der Suchanfrage Gelangt der User aus der Kartenansicht zum Informations Button um sich wieder in Erinnerung zu rufen was die Pinfarbe bedeutet so muss er seine Suchanfrage erneut eingeben um wieder zur selben Kartenansicht zur ck zu kommen L schen von Restaurants in Favoritenliste Aus einem Benutzertest hat sich ergeben dass das L schen eines Restaurants aus der Favoritenliste sinnvoll w re Begr ndet wurde dies damit dass einem beispielsweise bei einem P chterwechsel das Restaurant pl tzlich nicht mehr gefallen k nnte Dokumentation Localina Recommender Client f r das iPhone Seite 94 7
18. in meiner N he oder wurde bereits mehrmals ein Restaurant in diesen St dten gesucht Betrachtet die Suchvorschl ge Die sind ja gar nicht alphabetisch geordnet m sste das nicht alphabetisch sein Mir werden hier also irgendwelche Restaurants aufgezeigt welche ich kennen k nnte Wie die aber ausgew hlt werden ist mir unklar Interviewer Wie gehst du vor wenn du nun das angezeigte Restaurant Angkor bewerten m chtest Testperson berlegt Muss ich zuerst auf diesen Kreis vor dem Namen des Restaurants dr cken um bewerten zu k nnen oder kann ich direkt auf das entsprechende Smiley dr cken 4 2 Release 1 Das externe Design wurde nach Abschluss des Redesigns anhand eines abschliessenden Usability Tests mit vier Benutzern validiert um die Qualit t des externen Designs sicherzustellen Die Versuchspersonen wurden nach folgenden Kriterien ausgew hlt e Besitzt ein iPhone e Geht oft ausw rts Essen e Nohntin der Stadt Dokumentation Localina Recommender Client f r das iPhone Seite 53 Versuchsanordnung Der Usability Tests wurden in einem Sitzungsraum der Astina AG durchgef hrt Bei den Interviews wurden Tonaufnahmen gemacht Erg nzend wurden falls sinnvoll folgende Notizen gemacht e Original Zitate e Aktionen Schritt f r Schritt e Gef hle des Benutzers Versuchsablauf e Willkommen e Ausgangslage erkl ren e Auf Aufnahme hinweisen e Vertraulichkeit garantier
19. jetzt aufgefallen dass immer die Restaurants geladen werden welche sich im Kartenausschnitt befinden was mir ziemlich gut gef llt 4 2 d Test mit User 3 Benutzerprofil e M nnlich Primarlehrer verheiratet 32 Jahre aus Z rich e Technisch nicht so versiert aber informiert sich gerne ber das iPhone e Geht ber Mittag meist in ein Restaurant und geht regelm ssig mit der Frau ausw rts essen e Besitzt seit einem Jahr ein iPhone Einf hrung Ein Freund hat dir von Localina erz hlt einer Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Situationen Du m chtest heute Abend mit deiner Frau in ein Restaurant in Z rich gehen Du suchst nach etwas romantischem Weil dir gerade kein gutes Restaurant einf llt m chtest du schauen was dir Localina empfiehlt Dokumentation Localina Recommender Client f r das iPhone Seite 23 Zentrale Aussagen und Beobachtungen Klick auf einen Pin und sieht sich die Details zum Restaurant an Da sehe ich die Informationen Leider gibt es nicht sehr viele Informationen Wechselt von der Detailansicht zur ck zur Kartenansicht Jetzt l dt es schon wieder die pers nlichen Empfehlungen Interviewer Eigentlich sollte man nur jene Restaurants bewerten welche man kennt Testperson Da gibt es ja keinen Cancel Button Ich habe
20. jetzt ein paar indische und ein paar asiatische bewertet und erwarte dass ich hnliche Vorschl ge kriege Dokumentation Localina Recommender Client f r das iPhone Seite 24 5 Bewertung 5 1 Konkurrenzvergleich In der folgenden Tabelle werden die Funktionen der Localina iPhone App mit den Konkurrenz Applikationen von Tellmewhere und z ritipp verglichen Tellmewhere z ritipp Localina Personalisiert Empfehlungen mittels Ti g Collaborative Filtering Personalisierte Empfehlungen aufgrund von Pr ferenzen zu bestimmten Arten von Lokalit ten Restaurants in der Umgebung finden lt S y Restaurants an einem Ort nach Wahl S finden Empfehlungen der Freunde ansehen S AOA N A S Lokalit ten zu Favoriten hinzuf gen a Detaillierte Beschreibung der Lokalit ten y Dokumentation Localina Recommender Client f r das iPhone Seite 25 5 2 Stand des iPhone Client Prototyps Aus den Resultaten des ersten Usability Tests lassen sich folgende Resultate ableiten Positiv Negativ Die Bedienung des Rating Interface ist den meisten sofort klar Es ist klar welche Funktion hinter welchem Tab steckt Wie man Moods editiert und ausw hlt ist intuitiv Umgang mit der Map Zoom Suche Klick auf Pins ist vertraut Die Information in der Infobox ist verst ndlich und den Usern ist nach dem Lesen klar dass sie zuerst Bewertungen abgeben m ssen Prozess Mood ausw hlen gt
21. lassen sich zwei unterschiedliche Ans tze Strategien unterscheiden den Content based Approach und den Collaborative Filtering Approach Beim Content based Approach werden die Empfehlungen aus den Charakteristiken der Lokalit ten abgeleitet wogegen beim Collaborative Filtering Approach die Pr ferenzen verschiedener User untereinander verglichen werden um daraus R ckschl sse auf den Geschmack des Users abzuleiten Dokumentation Localina Recommender Client f r das iPhone Seite 6 Abbildung l 2 Strategien des Recommenders Dokumentation Localina Recommender Client f r das iPhone Seite 7 1 2 b Aufbau von Localina lt Benutzerntormatinen Location wien 4 Locations b N lt Empfehlungen j Locations User Abbildung l 3 Komponenten von Localina Das Empfehlungssystem Localina besteht aus folgenden Komponenten e Localina Frontend e Localina Application e Recommender Engine Die Abbildung l 3 stellt die Komponenten und deren Funktionen dar welche nachfolgend kurz erl utert werden Die Recommender Engine bildet den eigentlichen Kern des Empehlungssystems Die Recommender Engine implementiert die Empfehlungsalgorithmen welche bei der Berechnung der Empfehlung verwendet werden Die Recommender Engine besitzt eine interne Datenbank welche die Locations samt deren Attribute und die Bewertungen der User speichert Die Recommender Engine kommu
22. nur einzelne davon Neu gibt es drei verschiedene Kennzeichnungen f r die Restaurants vgl Seite 4 des PDF Die Bedeutungen sind wie folgt e Das Standard Icon ist eine blaue Sprechblase mit einem Restaurant Symbol Dokumentation Localina Recommender Client f r das iPhone Seite 44 e Alle Empfehlungen sind zus tzlich mit einem Stern versehen e Restaurants zu welchen das System keine Bewertung abgeben kann zu wenige Attribute oder Bewertungen werden grau dargestellt Bewerten in der Detailansicht In der Detailansicht vgl Seiten 5 und 6 im PDF gibt es 5 Smilie Buttons ber welche man direkt eine Bewertung abgeben kann Falls man das Restaurant bereits kennt kann man es also direkt mittels Antippen des passenden Smileys bewerten Wurde das Restaurant bereits bewertet ist der entsprechende Button vorselektiert Informationen zur Empfehlung Solange das System noch keine verl sslichen Empfehlungen abgeben kann wird der Benutzer ber den Button Improve Localina aufgefordert zuerst einige Restaurants zu bewerten vgl Seite 5 im PDF Hat man ein empfohlenes oder aber ein nicht empfohlenes Restaurant angetippt erscheint in der Informationsansicht ein eingef rbtes Smiley das den Durchschnitt der Bewertungen anderer User anzeigt Zudem wird der Rang angezeigt welcher dem User aufzeigen soll wie gut das angetippte Restaurant im Vergleich zu den anderen 24 erschienenen Restaurants abschneidet Register Toplist
23. und w rdest deswegen gerne etwas Neues kennenlernen Stell dir vor du m chtest Empfehlungen in der N he deines Arbeitsplatzes an welchem du dich gerade befindest Zentrale Aussagen und Beobachtungen Die Testperson dr ckt den Button Nearby Nun erscheint ein Kartenausschnitt Komisch es erscheinen aber keine Pins Muss dies so sein Hmm was bedeutet die Farbe der Pins schon wieder Kann ich wieder zur ck zu dieser Erkl rung gehen Such nach dem Info Button Ah da oben rechts Dieser Knopf d rfte ein bisschen auff lliger sein Ich sehe einen Kartenausschnitt mit dem Restaurant Pin drauf Kann ich diesen anklicken um noch einmal zu schauen wo sich das Restaurant genau befindet Dokumentation Localina Recommender Client f r das iPhone Seite 57 Ah wenn ich den Stern anklicke dann erscheint beim Tab Favorites eine Ziffernanzeige mit einer 1 drin Mit dem Stern Button kann ich also wahrscheinlich ein Restaurant zu meiner Favoritenliste hinzuf gen 4 2 d Interview User 4 Benutzerprofil e M nnlich Single 40 e Informatiker e Technisch sehr interessiert und versiert e Besitzt seit rund eineinhalb Jahren ein iPhone Einf hrung Beim Durchst bern des AppStores bist du per Zufall aufLocalina gestossen Da du gerne dir noch unbekannte Restaurants besuchst hat die dort aufgef hrte Beschreibung ber Localina dein Interesse geweckt und du hast dir die App auf dein
24. Altersgruppe zwischen 25 und 55 Jahren zu welche ber ein gen gendes Einkommen verf gen Weil es sp ter m glich sein soll die Anwendung auch mit Bars und Clubs zu erweitern sollte jedoch auch eine j ngere Zielgruppe ber cksichtigt werden Dokumentation Localina Recommender Client f r das iPhone 2 3 Redesignentscheide Seite 39 Aus den Testbeobachtungen wurden wurden folgende Redesignentscheide abgeleitet Problem L sung Redesign Entscheid Prozess Mood ausw hlen gt Raten gt Empfehlungen anzeigen ist nicht klar Das Konzept der Moods hat zu mehr Verwirrung gef hrt als es einen Nutzen hat Die Idee der Moods ist daraus entstanden dass die Leute in unterschiedlichen Situationen unterschiedliche Vorlieben haben Die Idee war dass sie ihre Bewertungen innerhalb eines Moods z B Romantic abgeben und damit Empfehlungen erhalten welche dem Mood entsprechen Weil das Konzept der Moods den meisten Usern sowieso nicht verst ndlich ist und kaum jemand beim Bewerten R cksicht auf den Mood nehmen wird soll das Konzept weggelassen werden Die Bedeutung der Nummern ist nicht klar Ist 1 die beste Bewertung oder 10 Sind alle empfohlen oder nur die h chsten Nummern Die Fortschrittsanzeige ist zu unauff llig und zu wenig aussagekr ftig Die Nummern sollen durch aussagekr ftigere Symbole ersetzt werden Die Bedeutung der Fortschrittsanzeige soll z B mittelseiner Sprechblase erkl rt werden
25. Funktion der E Mail Applikation des iPhone angelehnt womit die Bedienung dem Benutzer vertraut sein sollte Register Info Statt der Informationen auf der Einstiegsseite wurde eine separate Rubrik f r Informationen ber den Lernstatus von Localina und wie Localina funktioniert eingef hrt 3 2 c Mockup Version 2 1 Die Ergebnisse der zweiten Mockup Version wurden anhand von einem Usability Test validiert Die Ergebnisse flossen in eine weitere Mockup Version ein Das vollst ndige Mockup findet sich unter Mockups Mockup v2 1 pdf auf der Abgabe CD Umbenennung der Register Tabs Die Register Search und Rate wurden in FindLocations respektive Rate Locations umbenannt damit deren Bedeutung klarer wird Auf den Begriff Search wurde bewusst verzichtet um Localina klarer von einem reinen Restaurant Verzeichnis abzugrenzen Eine Suche assoziiert n mlich dass man lediglich auf einen Suchbegriff passende Resultate erh lt Bei Localina geht es jedoch darum das Restaurant zu finden das am besten dem pers nlichen Geschmack entspricht Dokumentation Localina Recommender Client f r das iPhone Seite 47 Infobox nach dem ersten Start der Applikation Nach dem ersten Start der Applikation erscheint eine Infobox welche die Funktionsweise von Localina kurz erkl rt hnlich wie bei Tellmewhere Map Pin als Icon f r Find Locations Statt der Lupe wird das Symbol f r einen Google Maps Pin als Tab Icon f r das Tab Find Locations ver
26. Kreis 5 Anna ist beruflich sehr ehrgeizig und arbeitet oft bis sp t am Abend Wenn es ihre sp rliche Freizeit erlaubt geht sie am Abend gerne ihrem Hobby dem Kochen nach Noch lieber entdeckt sie zusammen mit Kurt neue Restaurants Bei der Wahl des Restaurants folgt Anna meistens den Empfehlungen ihrer Freundinnen oder wagt es einfach mal spontan ein ihr unbekanntes kleines Restaurant zu testen Da Anna selbst gerne kocht und auf dem Land aufgewachsen ist m chte sie gesundes saisonales Gem se auf dem Teller haben berhaupt lebt Anna sehr gesund und trainiert zwei mal in der Woche im Fitnesscenter oder geht fr h morgens vor der Arbeit eine Stunde joggen Dokumentation Localina Recommender Client f r das iPhone Seite 32 Anna besitzt zwei Mobiltelefone Ihr Arbeitgeber stellt ihr f r die gesch ftliche Kommunikation einen BlackBerry zur Verf gung Privat nutzt sie jedoch lieber ihr iPhone Anna ist sehr erfahren im Umgang mit dem Internet und mit mobilen Kommunikationsger ten denn die geh ren zu ihrem beruflichen Alltag Am iPhone sch tzt sie die besonders das Design und die Einfachheit denn sie benutzt es h ufig w hrend Aktivit ten wie Autofahren Einkaufen oder Joggen Dokumentation Localina Recommender Client f r das iPhone Seite 33 Maria die Mutter Ich liebe den Sommer in Z rich mit dem Kind im Park Maria ist 30 Jahre alt und arbeitete bis vor kurzem als Assistentin bei einer Z rcher Anwaltskanzlei Maria
27. Projektmanagement 7 1 Projektplan Der Projektplan ist unter im Verzeichnis Projektplan auf der Abgabe CD zu finden 7 2 Risiken Erl uterungen e WK bezeichnet die Wahrscheinlichkeit dass das Risiko w hrend des Projektes auftritt e Der Aufwand wurde in Tagen gesch tzt e Das Risiko wird bestimmt durch WK Aufwand ID Risiko Massnahme WK Aufw Risiko R01 Absenzen bringen den e Reservenim Zeitplan 0 5 2 1 Zeitplan durcheinander e Wichtige Deliverables fr h und verz gern den Projektfortschritt erledigen e Tasks mit hohem Risiko fr h beginnen RO2 Datenverlust e SVN f r Code 0 1 0 25 0 025 e Confluence f r Projektdokumentation e Apple Time Machine f r die Sicherung der lokalen Dateien aufeiner externen Harddisk RO3 Die Anforderungen sind Anforderungen nach 0 1 3 0 3 in der gegebenen Zeit Priorit ten ordnen und nicht zu erf llen Kernanforderungen priorisieren e Saubere Dokumentation f r Weiterentwicklung Dokumentation Localina Recommender Client f r das iPhone Seite 95 ID Risiko Massnahme WK Aufw Risiko RO4 Applikation l sst sich e Installation dokumentieren 0 1 0 5 0 05 auf Zielsystem nicht und Systemanforderungen installieren definieren e Applikation vor Abgabe auf Systemumgebung des Betreuersinstallieren RO5 Memory Leaks e Tools zur Erkennung von 0 5 4 2 generieren unerwartet Memory Leaks evaluieren um f r und w hrend der gesamten de Refactoring Ph
28. Raten gt Empfehlungen anzeigen ist nicht klar Die Bedeutung der Nummern ist nicht klar Die Fortschrittsanzeige ist zu unauff llig und zu wenig aussagekr ftig Der Zusammenhang zwischen dem Mood und den Ratings ist nicht gen gend nachvollziehbar Zu Beginn nicht klar was der Kartenausschnitt anzeigt Esfehlt eine Erkl rung Empfehlungen werden zu oft neu geladen wobei f r eine Weile die gesamte Map blockiert wird Die Benutzer wollen sehen wie viele Restaurants sie bewerten sollen Die Infobox ist zu wenig aufdringlich und wird nur von den wenigsten Benutzern gelesen Dokumentation Localina Recommender Client f r das iPhone Seite 26 6 Vision 6 1 Anforderungen 6 1 a Hintergrund des Projekts Der Wirtschaftspartner die Firma Astina AG mit Sitz in Z rich entwickelt zusammen mit der Universit t Z rich im Rahmen eines KTI Projektes Localina ein Empfehlungssystem f r Restaurants Bars Cafes Hotels und Clubs Das Team der Universit t Z rich entwickelt dabei den Empfehlungsalgorithmus und Astina ist f r die Entwicklung der Plattform verantwortlich Astina m chte Localina als Showcase nutzen um potentiellen Kunden eine Anwendungsm glichkeit f r das Empfehlungssystem an einem anschaulichen Beispiel pr sentieren zu k nnen Zur Erg nzung der aktuellen Web basierten Demonstrationsanwendung wurde im Herbstsemester 2009 ein erster Prototyp eines iPhone Clients f r Localina entwickelt 6 1 b Ziele D
29. ase einsetzen e Von Beginn weg sauberen Code schreiben RO6 SOAP Service nicht e Fehlerbehandlung 0 1 3 0 3 erreichbar e Kommunikation mit Astina e Evtl Mock Service RO7 2 Usability Test zeigt N tige Anpassungen falls m glich 0 2 5 1 auf dass die Applikation nicht funktioniert in Refactoringphase vornehmen ansonsten dokumentieren 7 3 Projektorganisation 7 3 a Annahmen und Einschr nkungen Der Aufwand f r das Softwareprojekt wird auf zirka 25 Stunden pro Woche gesch tzt Weil ich neben dem Projekt durch meine Arbeit bei Astina AG zeitlich stark ausgelastet bin sind die zeitlichen Ressourcen pro Woche auf maximal 32 Stunden begrenzt Vom 15 M rz bis 1 April bin ich zudem im Milit rdienst und kann daher w hrend dieser Zeit nur maximal zwei Tage am Softwareprojekt arbeiten Dies wurde im Projektplan entsprechend ber cksichtigt Dokumentation Localina Recommender Client f r das iPhone Seite 96 7 3 b Externe Schnittstellen Name Rolle Firma K rzel Kontakt Organisation Prof Dr Betreuer HSR HSR IFS mstolze mstolze hsr ch Markus Stolze Marc Gasser Ansprechpartner Auftraggeber Astina AG mgasser mgasser astina ch Prof Dr Gegenleser HSR Imueller Imueller hsr ch Lothar M ller Michael Graf Assistent IFS Experte f r HSR IFS mgraf mgraf hsr ch Inhaltliche Fragen und Reviews 7 4 Entwicklungstools Zweck Applikation Version IDE statische Code Analyse GUI Builde
30. bestimmte Objekt Location zur ck recommend bermitteln eines Rating Objekt Ratings an die Localina Application predictLocationsForLocationldList Liefert die Prediction String mit Prediction f r alle Locationsder kommaseparierten Array LocationldList Locationlds Dokumentation Localina Recommender Client f r das iPhone Seite 14 A Stand der Technik 4 1 Konkurrenzvergleich Restaurant Guides f r das iPhone 4 1 a Tellmewhere Tellmewhere wurde 2007 von einem franz sischen Startup gegr ndet und ist ein Guide f r unterschiedlichste Angebote von Restaurants ber Wellnessangebote bis hin zu Touristenattraktionen Die Empfehlungen von Tellmewhere basieren auf dem sozialen Netzwerk des Benutzers und ein spezieller Matching Algorithmus erlaubt es ihm den pers nlichen Geschmack mit jenem seiner Freunde zu vergleichen Der Service bindet daher bestehende soziale Netzwerke wie Twitter und Facebook ein Von Tellmewhere gibt es zus tzlich zur Online Plattform bereits eine ausgereifte Applikation f r iPhone und Android Die Applikation erlaubt es sich mit Freunden zu vernetzen nach Restaurants und anderen Freizeitangeboten in der Umgebung zu suchen und Freizeitangebote zu bewerten Tellmewhere kann wie Localina pers nliche Empfehlungen abgeben indem es die Bewertungen des Users mit denjenigen anderer User vergleicht Die Restaurantdaten bezieht Tellmewhere von Google In Z rich scheint es bereits eine ziemlich aktive Community zu g
31. chreibung Das Profile beinhaltet alle Daten des Benutzerprofils Theoretisch kann ein Benutzer mehrere Profile haben zB um wechselnde Pr ferenzen Moods abzubilden Gesch ftsessen romantisches Dinner mit der Partnerin dem Partner Bier mit Freunden Die Localina iPhone App besitzt aber nur ein Profil weil sich gezeigt hat dass das Konzept mit mehreren Moods den Benutzer mehr verwirrt als es einen Vorteil bringt Dokumentation Localina Recommender Client f r das iPhone Attribute Name identifier numPlacesToRate numRatings ratablePlaces favorites Beschreibung Beliebiger String welcher den Benutzer bei der Localina Application eindeutig identifiziert und unter welchem die Benutzerratings serverseitig gespeichert werden Der Identifier wird beim ersten Applikationsstart automatisch aus der Ger te ID und dem Timestamp generiert Speichert die Anzahl der Rating Tasks und wird in den NSUserDefaults persistiert Speichert die Anzahl der Bewertungen welche der User abgegeben hat Verwaltet die noch zu ratenden und die bereitsgerateten Places Die Localina iPhone App persistiert nur die IDs der Places Die brigen Attribute werden erst geladen wenn sie ben tigt werden vgl DeferredLoadingPlaces Konzept Verwaltet die Places welche der Benutzer zu den Favoriten hinzugef gt hat Die Localina iPhone App persistiert nur die IDs der Places Die brigen Attribute werden geladen wenn sie ben tigt werden vgl
32. commender Client f r das iPhone Seite 88 Listenansicht im Auf der Map In der Liste Kontext MyTaste Ansicht den werden Reiter MyTaste Restaurants mit klicken runden Icons mit y Nummern von 1 5 und gr nen Icons angezeigt Keine schwarzen Listenansicht im Auf der Map Kontext Ansicht den eG MostPopular Reiter MyTaste klicken 6 3 d Lokalit t bewerten Beschreibung Aktion Erwartetes Pass Fail Bemerkungen Verhalten Inder Detailansicht bewerten Unter Places to Rate bewerten ber das Popup in der Detailansicht eine Bewertung senden Im Register Rate Places eine Lokalit t unter Places to Rate bewerten In das Register Already Rated Places wechseln Popup schliesst sich und das Icon in der kleinen Mapansicht zeigt die Nummer der Bewertung an Die Lokalit t verschwindet aus der Liste Die Zahl neben dem Titel Already Rated Places erh ht sich um 1 Die Lokalit t befindet sichnun unter AlreadyRatedPlaces y Dokumentation Localina Recommender Client f r das iPhone Seite 89 6 3 e Allgemeine Funktionen Beschreibung Aktion Erwartetes Pass Fail Bemerkungen Verhalten Infobox mit Im Tab Find Places Infobox erscheint Informationen zur den Info Button auf dem Display Funktionsweise oben rechts v von Localina klicken anzeigen Restaurantsin Unter dem Tab Die Map zeigt den meiner Find Places aktuellen Umgebung Nearby anw hlen Standort und die anzeigen Restaurants werden auf d
33. eben Aufgrund der automatisch generierten Benutzernamen iphone Laufnummer l sst sich erkennen dass die meisten Benutzer von Tellmewhere die iPhone Version der Applikation benutzen Vergleich zu Localina Die Empfehlungen von Tellmewhere basieren ausschliesslich auf Empfehlungen anderer Benutzer und dem Vergleich der Benutzerprofile Das funktioniert gut sofern die Benutzerbasis gen gend gross ist In einer kleinen Stadt wo es nur wenige Benutzer hat kann jedoch das Cold Start Problem auftreten Localina kann im Gegensatz zu Dokumentation Localina Recommender Client f r das iPhone Seite 15 Tellmewhere auch Content basierte Empfehlungen liefern Das ist ebenfalls ein Vorteil wenn man sich in einer fremden Stadt aufh lt In diesem Fall gibt es n mlich wenige berschneidungen mit Pr ferenzen anderer Benutzer W hrend Tellmewhere Empfehlungen f r alle m glichen Konsumprodukte und Freizeitaktivit ten liefert wird die Localina iPhone App vorderhand nur Empfehlungen f r Restaurants liefern Das k nnte jedoch auch durchaus ein Vorteil f r Localina sein Zum einen d rfte es dadurch einfacher sein das Produkt am Markt zu positionieren und zum anderen kann das Benutzerinterface einfacher gehalten werden weil es weniger heterogene Daten anzeigen muss l_sunrise 21 27 tell where Connect now and see our friends check ins and favorite places N There are active places nearby Restaurants w Bars
34. ee 28 63 BIoOoletBacheg ern a inai 28 64 Anwendungsumield ee 31 I Projektdekufientationsa enegene nen 36 Te VISION Seen nee ee ee 37 2 nforderungsspeziikatonz ua un 38 2 1 Analyse der Ausgangslage unsessnemsnemssssnmmsnssssnunsennmsnsssesnnsssnessnnssunsesunssunsesnnsesnessnee 38 Seite ii Dokumentation Localina Recommender Client f r das iPhone Go Live Vorbereitung 22 Zielgruppe nei 38 2 3 Bedesignentscheide u a ANN ANRE RNN 39 24 Minimale Anforderungen usssssemsenssnssssssssesunsssunsssesnsnssnnnsesunesssnnnssnnessnnnsesunenssnnnne 40 25 brige Anforderungen nuemenmusemnnenensnneneneeenensenmennenenmene 41 3 Externes Designzzesizeiizeziustierbsenalusrisnkssne 42 31 ERIEtUNgG Seele 42 32 Mockups u nalen 42 4 Usability Ts a in 50 4 Testen derM ockups a ee 50 42 Release Tennene aa a a EKE A AA A A A a E a A 52 5 Internes DesigN asus an aiii ii a anii ai 59 3 1 Domanmedael see 59 5 27 Klassenkonzeple ass 60 33 JAFCHLERK F Seele 71 54 Wichtigste Pakete 75 6 Implement tion asceenssense ee 81 6 4 WICHTIGER ON Ze en 81 62 Automatische Tests une 85 63 Manuelle Tests ae 86 64 Statische Code Analyse nssssennnussusssnssussessusssenesunsenuesunssensssunseenesunsessnessumssnnssnsesene 90 6 5 Performance Tessa 90 66 M glichkeiten der Weiterentwicklung usesssssnmennmssssnssensnesnnmsesunnessnnnnee 91 7 Projektmanagement a 94 7 1 Projektplat aeanasaesua eaaLu 94 2 2 E E a ur Rt 94 73 Pr
35. einer Mock Response sichergestellt Nachfolgend werden die Unit Tests kurz erkl rt TestParsePrediction Parsed das Resultat der Mock Response Standard Response der Localina Application und generiert daraus eine Liste von Place Objekten Dabei wird gepr ft dass die richtige Anzahl Objekte in der Resultat Liste vorhanden ist und dass die Place Objekte die korrekten Attributwerte aus dem XML enthalten RatingTests Die Klasse Rating wandelt den Float Wert des Ratings in den Rating Level um welcher von der Localina iPhone App bei der Anzeige der Pins verwendet wird Durch die Rating Klasse wird also bestimmt welche Bedeutung einem bestimmten Zahlenwert zukommt F r das Fine Tuning der Resultatanzeige muss also lediglich das Mapping in der Klasse Rating angepasst werden RatingTests pr ft dass f r jeden m glichen Zahlenwert der erwartete Wert zur ckgeliefert wird AnnotationTypeTests Der AnnotationType wird verwendet um dem Place Objekt das richtige Icon zuzuordnen Diese Klasse berpr ft dass f r alle m glichen Werte RatingLevel PopularityLevel Certainty das richtige Icon bestimmt wird Dokumentation Localina Recommender Client f r das iPhone Seite 86 PopularityTests Die Klasse Popularity wandelt den Float Wert der Popularity in den Popularity Level um welcher von der Localina iPhone App bei der Anzeige der Pins verwendet wird Durch die Popularity Klasse wird also bestimmt welche Bedeutung einem bestimmten
36. en e Profil aufnehmen e Think Aloud erkl ren e Eine oder zwei konrete Aufgabenstellungen Test Dokumentation Die Anwendungssituationen aus welchen am meisten Informationen gewonnen werden konnten sind in einem Test Protokoll detailliert beschrieben Diese Dokumente finden sich im Verzeichnis UsabilityTests UsabilityTest2 auf der Abgabe CD Nachfolgend findet sich eine Zusammenstellung der zentralen Aussagen und Beobachtungen Dokumentation Localina Recommender Client f r das iPhone Seite 54 4 2 a Interview User 1 Benutzerprofil e M nnlich vergeben 35 e Technisch durchschnittlich interessiert und versiert e Besitzt seit rund zwei Monaten ein iPhone Einf hrung Auf Empfehlung eines Freundes hast du dir vor einigen Tagen aus dem AppStore Localina heruntergeladen Aufgrund der Beschreibung im AppStore und den Erz hlungen deines Freundes weisst du dass dir die App Empfehlungen zu Restaurants aufgrund deines pers nlichen Geschmacks geben kann Du bist auch dar ber informiert dass du selbst Restaurants bewerten musst um deinem Geschmack m glichst genau entsprechende Restaurants empfohlen zu bekommen Das heisst umso mehr Restaurants du bewertest umso besser werden die Empfehlungen von Localina Situation Es ist nun bereits einige Tage her seit du dir Localina vom AppStore auf dein iPhone geladen hast Mit der Suchfunktion hast du dich bereits etwas vertraut gemacht Als du erneut eine Suchanfrage starte
37. er S Karte angezeigt Zu Beginn befindet man sich im Kontext MyTaste Restaurants an Unter FindPlaces Die Mapzeigt die einer bestimmten Adresse anzeigen via Suchfeld die Option By Address w hlen und ber das Suchfeld nach der gew nschten gew nschte Adresse an und die Restaurants werden auf der Karte angezeigt Adresse suchen Zu Beginn befindet man sich im Kontext MyTaste Restaurants an Unter FindPlaces Die zuletzt einer bestimmten die Option By gesucht Adresse Adresse anzeigen Address w hlen sollte unter Adresse aus der und eine Adresse Recent Searches Such History w hlen aus Recent Searches w hlen erscheinen Nach dem Selektieren einer Adresse sollte die Map erscheinen und die gew hlte Adresse anzeigen v Dokumentation Localina Recommender Client f r das iPhone Seite 90 6 4 Statische Code Analyse Der Code wurde w hrend der Entwicklung mit dem Clang Static Analyser auf Fehler gepr ft Dieser wendet eine Reihe von Algorithmen an um Fehler im Source Code zu erkennen Der Clang Static Analyzer ist seit Xcode 3 2 Snow Leopard in Xcode integriert Wenn man den Code der Localina iPhone App mit dem Static Analyzer pr ft wird folgender Hinweis angezeigt GeocodeService m 26 6 Potential null dereference According to coding standards in Creating and Returning NSError Objects the parameter error may be null Diese Warnung kann ignoriert werden weil bei der Im
38. er beendet Ww Z visitedLocations shuffle Die Liste der Orte wo sich der Benutzer mittels LBS lokalisiert hat visitedLocations wird umsortiert Das Mischen verhindert dass immer Restaurants in der N he der selben Orte abgefragt werden S Die Orte in der gemischten Liste werden der Reihe nach verwendet um vom Server zu bewertende Restaurants in deren N he abzufragen Orte an welchen sich der User h ufiger aufh lt generieren dadurch auch mehr Resultate Die Suche wird abgebrochen sobald die Localina Application bereits 5 g ltige Vorschl ge liefern konnte bereits 5 Abfragen get tigt wurden oder visitedLocations leer ist Durch die Beschr nkung der Anzahl Abfragen wird verhindert dass die Internetverbindung nach dem Start der Applikation nicht f r eine zu lange Zeit belastet ist Dokumentation Localina Recommender Client f r das iPhone Seite 84 YES YES NO YES NO NO NO YES Abbildung Il 21 Rating Scheduler Dokumentation Localina Recommender Client f r das iPhone Seite 85 6 2 Automatische Tests 6 2 a Unit Tests Die wichtigsten Funktionen der Localina iPhone App wurden anhand von Unit Tests berpr ft Die Unit Tests befinden sich im Verzeichnis Test des Xcode Workspace Weil die Kommunikation mit der Localina Application asynchron ist konnten keine Unit Tests implementiert werden welche die gesamte Kommunikation testen Das korrekte Verarbeiten der Response wird daher mit Hilfe
39. er nicht die Zeit alle durchzugehen Die ersten 3 empfohlenen Restaurants kennt sie bereits darunter auch das Lilly s welches sie bereits bewertet hat und sie erkennt dass das Restaurant nun das Icon mit ihrer Bewertung bekommen hat Sie entscheidet sich f r das Restaurant Shaba da sie weiss dass ihr Chef asiatisch wie auch das Lily s mag und eine Freundin mal erw hnt hat dass das Restaurant ein sehr stilvolles Ambiente habe Szenario Maria Maria ist mit ihren Freundinnen und den Kindern im Park und sie berlegen sich wo sie heute Abend mit den Kindern etwas gesundes und g nstiges essen k nnten Es ist Freitag und normalerweise sind die Restaurants zu gut besetzt um eine l rmende Schaar Kindern wohlwollend zu begr ssen Deshalb w rden sie sich gerne etwas von einem Take Away holen und im Park gem tlich und unkompliziert geniessen Die Suche gestaltet sich nicht einfach bis eine Freundin von der Localina Anwendung erz hlt und die jungen M tter diese ausprobieren Sie bewerten die Take Aways die sie schon kennen und suchen darauf Dokumentation Localina Recommender Client f r das iPhone Seite 35 auf der Google Maps Karte Gr nfl chen in Z rich um zu sehen was in der N he empfohlen wird Szenario Jonny An einer WG Party welche Jonny und sein Mitbewohner organisiert haben hat sich Jonny l nger mit einer Freundin seines Mitbewohners unterhalten Die beiden haben viel ber Sport und Technik gesprochen und wollen mo
40. erz hlt eine Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Situationen Du gehts an deinem Arbeitsplatz immer etwa in die gleichen Restaurants und du w rdest gerne etwas Neues kennenlernen Stell dir vor du arbeitest hier bei der Astina an der Hardturmstrasse und du m chtest von Localina eine Empfehlung f r die n here Umgebung der Hardturmstrasse Stell dir vor du hast heute Abend ein Date und du bist f r die Auswahl und Reservation des Restaurants verantwortlich weil er keine Zeit hat Ihr habt abgemacht dass ihr euch beim Bellevue trifft Wie w rdest du vorgehen Zentrale Aussagen und Beobachtungen Startet Applikation Nachdem Empfehlungen geladen sind bewegt sie die Map um sich zu orientieren Wo bin ich jetzt hier Bin ich jetzt hier wo dieser Mensch eingezeichnet ist Da sieht man wie weit man schon ist Das m sste ich jetzt so lange machen bis es vollst ndig ist Das geht ja gar nie vorw rts Dokumentation Localina Recommender Client f r das iPhone Seite 21 Interviewer Also f r ein Date w rdest du in ein gleiches Restaurant gehen wie f r einen Business Lunch Testperson Ja warum nicht Oder k nnte ich das irgendwo ndern 4 2 c Test mit User 2 Benutzerprofil e Informatiker ledig Single 20 Jahre aus Z rich e Geht oft mit Freunden oder der Fr
41. es Pass Fail Bemerkungen Verhalten Restaurants auf Auf der Map Auf der Karte Karte anzeigen Ansicht den werden nur runde Kontext My Reiter MyTaste Icons mit Taste klicken Nummern von 1 5 v und gr ne Icons angezeigt Keine schwarzen Restaurants auf Auf der Map Auf der Karte Karte anzeigen Ansicht den werden nur Kontext Most Reiter eckige Icons mit v Popular MostPopular Nummern gr sser klicken 3 angezeigt Restaurants auf Auf der Map Es werden alle Karte anzeigen Ansicht den Resultate S Kontext All in Reiter AlllnArea angezeigt Area klicken 6 3 c Listenansicht der Resultate Mittels diesen Tests wurde das korrekte Verhalten der Listenansicht berpr ft Beschreibung Aktion Erwartetes Pass Fail Bemerkungen Verhalten Von der Map Auf der Map Die Map dreht Ansicht in die Ansicht denList sich und auf der Listen Ansicht Button oben R ckseite wechseln rechtsklicken erscheint eine A Liste Der Button oben rechts wechselt in einen Map Button berpr fen ob Auf der Map In die Die Funktion nur Restaurantsin heranzoom damit Listenansicht welche feststellt der Liste nur wenige werden nur jene ob ein Restaurant erscheinen Restaurants im Restaurants im welche auf der Kartenausschnitt angezeigt v Kartenausschnitt Karte sichtbar liegen welche im liegt ist eine sind Liste anzeigen Kartenausschnitt liegen Vereinfachung und nicht 100 genau Dokumentation Localina Re
42. eundin ausw rts essen e Besitzt seit zwei Jahren ein iPhone Einf hrung Ein Freund hat dir von Localina erz hlt einer Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Situationen Du gehst mit Freunden in den Ausgang und ihr m chtet gerne zuvor noch was essen Ihr seidim Niederdorf unterwegs und sucht daher ein Restaurant das im Niederdorfliegt Du hast dein iPhone dabei und m chtest Localina benutzen um ein passendes Restaurant zu finden Zentrale Aussagen und Beobachtungen Ich finde es gut dass gleich so eine Beschreibung aufgeht wo man sehen kann was die Localina Applikation macht Interviewer Das Business im Titel irritiert dich nicht Testperson Das ist mir jetzt gar nicht aufgefallen berlegt kurz In dem Fall muss ich jetzt zuerst noch meinen Mood einstellen Interviewer Wie lange w rdest du jetzt diese Ratings machen Dokumentation Localina Recommender Client f r das iPhone Seite 22 Testperson Ich denke es ist nicht so vorteilhaft dass man nicht sieht wie viele Restaurants in der Liste sind Wenn ich das sehen w rde w rde ich denken OK die 10 mach ich schnell Interviewer Wie interpretierst du die Anzeige unterhalb der Rating Boxen Testperson Ehrlich gesagt ist mir die jetzt gar nicht aufgefallen Mir ist
43. gefasst um zu verdeutlichen dass die drei konzeptionell zusammengeh ren und dass sowohl die Map wie auch die Liste die Resultate der Suche anzeigen Startscreen Die Informationen zur Funktionsweise von Localina wurden weggelassen weil ihnen die Testpersonen keine Beachtung schenkten Neu werden nur noch drei Buttons angezeigt womit der Benutzer sich schneller einen berblick verschaffen kann Map Filter f r Your Tastes und Most Popular Damit der Benutzer deutlicher sieht welche Restaurants seinem pers nlichen Geschmack entsprechen und welche Restaurants bei den anderen Benutzern am beliebtesten sind wurden Filter eingef hrt vgl Seite 4 des PDF Unter Your Tastes werden nur die personalisierten Empfehlungen dargestellt und unter Most Popular die Restaurants mit der besten durchschnittlichen Bewertung Unter All in Area werden alle Suchresultate angezeigt Dokumentation Localina Recommender Client f r das iPhone Seite 46 Neue Map Pins Um die Aussagekraft der Icons zu verbessern wurden in Anlehnung an die Iconographie von Tellmewhere folgende Neuerung eingef hrt vgl Seiten 8 und 9 im PDF e Runde Icons kennzeichnen Restaurants welche der User selbst bewertet hat seine eigene Meinung e Smilies wiederspiegeln die Meinung von Localina Ignore Selected Ratings Weil das Fragezeichen zum Auslassen einer Bewertung den Testpersonen nicht klar war wurde das System dahinter ge ndert Dieses wurde an die L sch
44. hone Seite 81 6 Implementation 6 1 Wichtige Konzepte 6 1 a Learning Progress Der Learning Progess soll dem Benutzer ein Feedback geben wie gut Localina seinen pers nlichen Geschmack bereits kennt Here s your opportunity to get personalized recommendations Rate the locations you know and Localina tells you where to go Abbildung Il 20 Learning Progress Der Learning Progress wird aus der Anzahl der Bewertungen berechnet welche der Benutzer abgegeben hat Weil das Empfehlungsystem zu Beginn einen gr sseren Lernfortschritt erziehlt als nach einer gewissen Anzahl Bewertungen folgt die Lernkurve einer logarithmischen Funktion Folgende Formel wird als gute N herung angenommen 100 1 e 0 05 N Diese Formular wurde nicht anhand wissenschaftlicher Methoden gepr ft aber gen gt um dem Benutzer ein gutes Feedback zum Lernstatus des Algorithmus geben zu k nnen 6 1 b Rating Scheduler Ein Problem von Localina ist dass die Benutzer in der Situation wo sie Localina verwenden um rasch einen Restaurant Tipp zu erhalten keine Lust oder Zeit haben eine Liste von Restaurants zu bewerten Der Rating Scheduler soll dieses Problem l sen indem Dokumentation Localina Recommender Client f r das iPhone Seite 82 er dem Benutzer in regelm ssigen Abst nden Restaurants zum Bewerten vorschl gt welche der Benutzer mit einer m glichst hohen Wahrscheinlichkeit kennt Es wurden die folgenden drei Ans tze evaluiert wie das S
45. iPhone geladen Situation Dieses Jahr bist du f r das Organisieren des allj hrlichen Gesch ftsessens zust ndig Zu diesem Zweck m chtest du gerade einmal testen ob dir Localina bei deiner Suche behilflich sein kann Du hast dir f r diesen Abend ein Restaurant in Z richsee N he vorgestellt Wie gehst du vor Zentrale Aussagen und Beobachtungen Testperson dr ckt den Button By Address gibt sodann im Suchfeld Bellevue ein und bet tigt den blauen Such Button Uuups da gibt es wohl noch ein Bellevue in den USA Da muss ich wohl zus tzlich noch Z rich im Suchfeld eingeben So funktioniert dies zumindest bei der SBB App wenn man eine Tramhaltestelle als Start oder Endpunkt eingeben will Dokumentation Localina Recommender Client f r das iPhone Seite 58 User hat nach Restaurants in der Umgebung des Bellevue gesucht Ausser einem Kartenausschnitt sehe ich nichts Testperson denkt nach und schaut sich auf dem Screen um Hmm ich sehe noch zwei weitere Register Vielleicht werden mir Restaurants unter einem anderen Register angezeigt Testperson klickt das Register All in Area an Super jetzt werden mir diverse Restaurants angezeigt Wieso steht hier zur Art der K che und dem Preis nichts Dies w rde mich am meisten interessieren Interviewer Was verstehst du unter dem Tab My Profile Testperson Hmm das ist eine gute Frage Vielleicht wird mir darin aufgezeigt welche Art von Res
46. ication und hat folgende Funktionen e Empfohlene Restaurants im Umkreis der aktuellen Position oder eines gew hlten Ortes anzeigen e Restaurants bewerten like dislike e Restaurants auf Karte anzeigen e Details zu Restaurant anzeigen Als Showcase hat sich der Prototyp bew hrt und Astina konnte die iPhone App bereits erfolgreich nutzen um einen grosser Schweizer Plattformbetreiber vom Localina Recommender berzeugen Ein Usability Test hat aber einige Schwachstellen der Applikation aufgezeigt Der Aufbau und die Ergebnisse dieses Usability Tests werden im folgenden Abschnitt beschrieben 4 2 a Usability Test Um die Benutzerfreundlichkeit der aktuellen Applikation zu testen wurde auf Basis des aktuellen Prototypen der Localina iPhone App ein Usability Test mit potentiellen Benutzern durchgef hrt Die Versuchspersonen wurden nach folgenden Kriterien ausgew hlt e Besitzt ein iPhone e Geht oft ausw rts Essen e Wohnt in der Stadt e Nutzt das iPhone als Informationsquelle Dokumentation Localina Recommender Client f r das iPhone Seite 19 Versuchsanordnung Die Versuche wurden in einem Sitzungsraum bei der Astina AG durchgef hrt W hrend des Tests wurden Ton und Videoaufnahmen gemacht Eine Videokamera wurde auf das Gesicht der Testperson gerichtet um deren Mimik einzufangen Eine Dokumentenkamera wurde verwendet um einen Screencast zu erstellen Spezielle Beobachtungen wie auff llige Reaktionen und Verha
47. ie Localina iPhone App soll das Localina Recommender System nutzen um pers nliche Empfehlungen f r Restaurants liefern zu k nnen Die Kommunikation zwischen der iPhone App und dem Localina Recommender System soll ber die bestehende SOAP Schnittstelle erfolgen welche von Astina bereitgestellt wird Damit Localina pers nliche Restaurantempfehlungen generieren kann muss der Benutzer eine gen gende Anzahl Restaurants bewerten Die Applikation muss ihm daher ein Interface bereitstellen um ihm bekannte Restaurants zu bewerten Es muss auch klar erkennbar sein warum diese Bewertungen wichtig sind und was der Impact auf die Qualit t der Empfehlungen ist Diesbez gliche Schwachstellen der ersten Version sollen in der aktuellen Version verbessert werden Dokumentation Localina Recommender Client f r das iPhone Seite 27 6 1 c Anforderungen seitens Astina Wie eingangs erw hnt m chte Astina die Localina iPhone App als Showcase f r ihr Empfehlungssystem nutzen Daher muss klar ersichtlich sein inwiefern sich die Localina iPhone App von herk mmlichen Bewertungssystemen und Restaurant Guides unterscheidet und wieso die Empfehlungen von Localina genauer sind als deren meist auf dem Durchschnittsgeschmack basierenden Ratings Eventuell m chte Astina die iPhone App sp ter im iTunes App Store publizieren Die Applikation muss daher damit verbundene Anforderungen an das Design des User Interfaces und die Codequalit t erf llen 6 1 d Benu
48. ie Register My Taste Popular Places und All Places bestimmt werden Think Aloud Methode bei Usability Test wo die Testperson ihre Gedanken und berlegungen laut mitteilt um den Testbeobachtern mehr Informationen preiszugeben User Benutzer der Localina iPhone App Dokumentation Localina Recommender Client f r das iPhone Seite 108 C Literatur und Quellenverzeichnis Aus folgenden Quellen konnte ich n tzliche Informationen entnehmen 1 Craig Larman Applying UML and Patterns Prentice Hall 1998 2 Core Data Tutorial for iPhone OS Apple Inc 2009 3 David Barnard et Al iPhone User Interface Design Projects Apress 2009 4 AdMob Mobile Metrics Report admob 2010
49. inden gesuchten Begriffen Adress aus einer Liste der 5 zuletzt gesuchten Adressen ausw hlen US08 1 Als Benutzer m chte ich Empfohlene Restaurants werden mit einem A sehen welche Lokalit ten speziellen Symbol gekennzeichnet meinem pers nlichen Geschmack entsprechen US08 2 Als Benutzer m chte ich Der Benutzer kann einen Filter setzen womit B sehen welche Lokalit ten nur jene Restaurants angezeigt werden die meinem pers nlichen seinem pers nlichen Geschmack Geschmack entsprechen entsprechen US09 Als Benutzer m chte ich Bei jeder Lokalit t wird deren B sehen wie beliebt eine durchschnittliche Bewertung angezeigt Lokalit t bei den anderen Benutzern ist US10 Als Benutzer m chte ich Zu jeder Lokalit t kann eine Detailansicht A Informationen zu einer angezeigt werden Lokalit t ansehen k nnen US11 Als Benutzer m chte ich Integration des Tischreservationssystems C bei einem Restaurant OpenTable com direkt einen Tisch reservieren k nnen US12 Als Benutzer m chte ich Falls die Lokalit t eine Online Speisekarte C hat kann man von der Detailansicht direkt auf eine Ansicht wechseln wo diese dargestellt wird Dokumentation Localina Recommender Client f r das iPhone Seite 30 US13 Die Benutzer sollen Es gibt eine Rating Inbox wo dem Benutzer B regelm ssig daran regelm ssig Lokalit ten zum Bewerten erinnert werden vorgeschlagen werden Die Anzahl Itemsin Lokalit ten zu bewerten der Rat
50. ing Inbox werden sowohl auf dem Rating Tab sowie auf dem Applikations Icon aufdem iPhone Desktop angezeigt Es werden Lokalit ten vorgeschlagen welche der Benutzer mit hoher Wahrscheinlichkeit kennt US14 Als Benutzer m chte ich Rating Interface in der Detailansicht einer B eine Lokalit t direkt in Lokalit t der Detailansicht bewerten k nnen US15 Als Benutzer m chte ich Eine Anzeige visualisiert dem Benutzer wie B sehen wieviele gut der Personalisierungslevel von Localina Lokalit ten ich bewerten ist und gibt ihm einen Hinweis wie er diesen muss um gute verbessern kann Ergebnisse zu erhalten US16 Als Benutzer m chte ich Aufruf desentsprechenden Dienstesin C mir den Anfahrtsweg zu Google Maps einer Lokalit t anzeigen k nnen US17 Fehlermeldung falls der Alert anzeigen C Localina Server nicht erreichbar ist US18 Fehlermeldung anzeigen Alert anzeigen C falls keine Internetverbindung verf gbar ist US19 Ladeanzeige wenn Daten Aktivit tsanzeige in der Statusliste Mit A ber das Internet geladen Vorteil sollte die Ladeanzeige die werden Benutzeroberfl che nicht blockieren US20 Als Benutzer m chte ich Beim Klick auf die kleine Mapin der C ein einzelnes Restaurant Detailansicht ffnet sich eine Grossansicht auf der Karte anzeigen der Map welche die Lokalit t darstellt k nnen US21 Falls mehrere Standorte Beispielsweise als Popup wie bei Google C auf eine Adresssuche Maps zutreffen soll eine Auswah
51. ion Localina Recommender Client f r das iPhone Seite 99 1 3 Hinweis W hrend dem Build Prozess wird folgende Warnungen angezeigt Libraries TouchXML CXMLDocument m 229 0 Users smorger workspaces iphone Localina Classes Libraries TouchXML CXMLDocument m 229 warning no _XMLStringWithOptions appendingToString method found Diese Warnung kann ignoriert werden weil sie innerhalb einer externen Bibliothek TouchXML auftritt Dokumentation Localina Recommender Client f r das iPhone Seite 100 2 Benutzerhandbuch Ein kurzes Manual zur Localina iPhone Applikation findet sich auf der Abgabe CD Dokumentation Localina Recommender Client f r das iPhone Seite 101 3 Projektmonitoring 3 1 Soll Ist Zeit Vergleich 3 1 a Nach Minimalanforderungen 3 1 b Backlog ID User Story Business Value Erf llt US02 Als Benutzer m chte ich auf den ersten B y Blick sehen welche Funktionen mir die Applikation bietet US03 Als Benutzer m chte ich die Lokalit ten auf A Hd der Karte betrachten k nnen US04 Als Benutzer m chte ich die Lokalit ten in B y einer Liste betrachten k nnen US05 Als Benutzer m chte ich eine Lokalit t in A 7 der N he finden US07 Als Benutzer m chte ich eine Lokalit t im A d Umkreis eines anderen Standorts als meines aktuellen finden US08 1 Als Benutzer m chte ich sehen welche A z Lokalit ten meinem pers nlichen Geschmack entsprechen US08 2 Als Benutzer m chte ich sehen welche B
52. ist alleinerziehende Mutter einer Tochter und wohnt in einer Wohnung in Winterthur Maria lernt gerne Leute kennen und vermisst die wilden Partyn chte von fr her als sie noch nicht die Verantwortung trug eine Tochter gross zu ziehen Sie w rde gerne Teilzeit arbeiten findet jedoch keinen Krippenplatz Die Krippenplatz Suche ist anstrengend und diese Umst nde verlangen von Maria dass sie ihre Zeit und vor allem ihr Budget genau plant Maria trifft sich oft mit ihren Freundinnen ebenfalls junge M tter in Z rcher Gr nanlagen Oft besprechen sie neue praktische iPhone Apps und die Geheimtipps der Z rcher Gastroszene Johny der Student Nichts sch neres als mit Freunden ber Technik zu plaudern Johny 23 hat gerade mit seinem Elektrotechnik Studium an der ETH Z rich angefangen Er wohnt in Z rich Oerlikon ist Vegetarier und meint dass der Konsum von Fleisch kologisch nicht zu verantworten ist Zudem ist er der Meinung Frauen stehen auf Vegetarier In seiner Freizeit macht er gerne Sport geht ins Kino oder trifft sich mit Freunden in einer Bar um ber neue Gadgets und Technik zu plaudern Als Single hat er fter ein Date Als Gentleman sieht er es nat rlich als seine Pflicht die Wahl des Lokals und die Tischreservation selbst zu organisieren Er kennt bereits einige Geheimtipps von romantischen Restaurants wo er regelm ssig hingeht Es muss ruhig gem tlich und darf auch nicht zu teuer sein Tags ber geht er
53. kte und deren Filterung zur Verf gung Sie werden von den ViewControllern verwendet um Model Objekte der View zu verwalten Communication Das Communication Paket stellt eine interne Klassenbibliothek f r die Kommunikation mit der Localina Application dar Sie implementiert die Services der SOAP Schnittstelle der Localina Application Die Klasse CommunicationFacade stellt ein stark abstrahiertes Interface zu den SOAP Services von Localina zur Verf gung Support Das Paket Support fasst alle Klassen zusammen welche den Funktionsumfang der vorhandenen Frameworks erweitern Dokumentation Localina Recommender Client f r das iPhone 5 3 b Externe Abh ngigkeiten Seite 74 Die nachfolgende Tabelle zeigt die externen Abh ngigkeiten der Localina iPhone App Abbildung Il 12 stellt die externen Abh ngigkeiten grafisch dar Bibliothek Version Beschreibung libxmi2 2 2 Programmbibliothek zum Parsen von XML Dokumenten TouchXML 1 0 8 Schlanke und performante Alternative zu den NSXML Klassen welche auf der libxmI2 Bibliothek basiert SBJSON 2 2 Framework zum Parsen und Generieren von JSON UIKit iPhoneOS3 0 sdk UI Framework der iPhone Runtime Foundation iPhoneOS3 0 sdk Stellt einen Basislayer von Objective C Framework Klassen wie NSObject NSString NSArray uvm zur Verf gung Core Graphics iPhoneOS3 0 sdk Window Server auch bekannt unter Quartz Map Kit iPhoneOS3 0 sdk Framework welche
54. lieber in eine Mensa und spart gerne beim Essen um dann am Abend in seine Dates zu investieren F r Jonny muss alles funktional sein und er ist der Ansicht dass das iPhone das stabilste und fortschrittlichste Smartphone ist welches nie abst rzt Durch sein Studium hat er grosses Interesse an technischen Ger ten und ist sehr ge bt Umgang mit diesen Dokumentation Localina Recommender Client f r das iPhone Seite 34 6 4 b Szenarios Szenario Anna Es ist 10 Uhr morgens Anna trifft sich am Mittag mit ihrem Chef zum Lunch um ein internes Projekt zu besprechen Meistens gehen Sie ber Mittag mit ihren Arbeitskollegen innen ins Lily s weil es nah und gut ist Gestern hat ihr eine Arbeitskollegin jedoch von der iPhone Applikation Localina erz hlt Dort erhalte man Restaurant Empfehlungen die auf den indivuellen Geschmack des Benutzers zugeschnitten sind Anna hat sich die Applikation bereits vom iTunes Store heruntergeladen und m chte nun gerne sehen ob ihr Localina tats chlich was gutes empfehlen kann Obwohl sie eigentlich nicht viel Zeit hat startet sie die Applikation und sieht sich Empfehlungen in ihrer N he an Nun sieht sie die Anzahl der Locations aufleuchten die in ihrer N he sind und sie noch zu bewerten hat Ihrem Ordnungssinn entsprechend macht sie sich sofort daran diese Restaurants kurz anzusehen und diejenigen die sie kennt zu bewerten Nach wenigen Bewertungen l sst Anna sich dann die Empfehlungen anzeigen hat ab
55. lient f r das iPhone Seite 78 NSObject PlaceTableDataModel PlaceFilter SearchResults RecommendedPlace AlreadyRatedPlacesF PlacesToRatefFilter SearchResultsinMap PopularPlacesFilter Abbildung Il 15 Klassenmodell des DataController Pakets 5 4 d Communication Die folgenden Klassendiagramme zeigen dass das Communication Paket grob in drei Gruppen von Klassen aufgeteilt werden kann der SOAPCommunication und den SOAPRequests bzw SOAPResponses Die SOAPCommunication verwaltet die Verbindung mit der Localina Application Ihr wird bei der Initialisiierung ein Request und ein Response Objekt mitgegeben SOAPCommunication erbt von NSOperation Dadurch kann die Kommunikation auf einem separaten Thread aufgerufen werden Bei der Localina iPhone App l uft jede Kommunikation mit der Localina Application aktive Instanz von SoapCommunication asynchron in einem separaten Thread NSOperation SOAPCommunication Abbildung Il 16 SOAPCommunication Objekt SOAPRequest erzeugt aus den Parametern des Request ein SOAP XML welches mittels HTTP Request an die Localina Application bermittelt wird F r jeden SOAP Service gibt es eine konkrete Implementation von SOAPRequest welche die Struktur der Anfrage kennt und Methoden zum Setzen der Requestparameter bereitstellt Dokumentation Localina Recommender Client f r das iPhone Seite 79 GetLocationsForCriteriaRequest PredictSingleLocationRequest PredictRequest J
56. lliste angezeigt werden US22 Die Adressen in der Bei einer Anfrage an den Google Geocoder C Search History sollen formatiert dargestellt werden so dass hnliche Eingaben aufeinander gemappt werden k nnen Service kommt eine formatierte Addresse zur ck welche gespeichert wird Dokumentation Localina Recommender Client f r das iPhone Seite 31 US23 Custering der Wenn esin einer Umgebung sehr viele C Annotations bei Lokalit ten hat wir die Darstellung schnell geringem Zoomlevel un bersichtlich Map Pins welche nahe zusammenliegen sollten zusammengefasst und mit einem speziellen Icon als Cluster gekennzeichnet werden Bei einem Klick auf das Cluster soll die Map so nahe heranzoomen dass die einzelnen Lokalit ten sichtbar sind US24 Paging f r Resultatliste Wenn esin einem Kartenausschnitt zu viele C analog Clustering in Resultate gibt soll ein Paging m glich sein Map 6 4 Anwendungsumfeld Das Anwendungsumfeld wird nachfolgend anhand von Personas und Szenarios analysiert 6 4 a Personas Anna die Social Media Managerin Mich st rt der Durschnittsz rcher ich habe es lieber einzigartig anders Die 37 j hrige Anna arbeitet als Social Media Managerin bei einer Kommunikationsagentur in Z rich Anna lebt zusammen mit ihrem Lebenspartner Kurt der als Verm gensberater bei einer kleinen Privatbank arbeitet Das kinderlose Paar wohnt in einer stilvoll eingerichteten Attikawohnung im Z rcher
57. ltensmuster wurden zus tzlich im Testprotokoll notiert Vorgehensweise Der Testperson wurde zuerst die Versuchsanordnung erkl rt und die Person wurde darauf hingewiesen dass Video und Tonaufnahmen lediglich der sp teren Auswertung dienen Danach wurde ihr der Ablauf des Interviews kurz erl utert und sie wurde zum Mitsprechen aufgefordert vgl Think Aloud Die Testperson musste sich die folgende Ausgangssituation vorstellen Eine Freundin hat dir von Localina erz hlt eine Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Test Dokumentation Die Anwendungssituationen aus welchen die meisten Informationen gewonnen werden konnten sind in einem Dokument detailliert beschrieben Diese Dokumente finden sich im Verzeichnis Usability Tests auf der Abgabe CD Nachfolgend findet sich eine Zusammenstellung der zentralen Aussagen und Beobachtungen Dokumentation Localina Recommender Client f r das iPhone Seite 20 4 2 b Test mit User 1 Benutzerprofil e Betriebs konomin UZH ledig Single 28 Jahre aus Z rich e Gesch ftsf hrerin eines Start Ups Label f r Herren Massanz ge und Hemden e Kein besonderes Interesse f r Technik e Geht sehr gerne und oft ausw rts essen und kennt daher viele Restaurants e Besitzt seit einem Jahr ein iPhone Einf hrung Eine Freundin hat dir von Localina
58. mkreis befinden Die Darstellung der Empfehlungen wurde ebenfalls verbessert Der Benutzer kann nun zwischen personalisierten Empfehlungen und solchen die auf dem Durchschnittsgeschmack basieren w hlen Zudem konnte die Reaktionsgeschwindigkeit des Benutzerinterfaces stark verbessert werden was sich ebenfalls positiv auf die Usability auswirkt Tests mittels Codeanalyse Tools zeigen dass die Codequalit t der Applikation den Anforderungen gen gt um im App Store ver ffentlicht zu werden Dank Verbesserungen an der Codebasis ist die Applikation zudem besser wart und ausbaubar Dokumentation Localina Recommender Client f r das iPhone Seite 3 Technischer Bericht Dokumentation Localina Recommender Client f r das iPhone Seite 4 1 Einleitung 1 1 Ausgangslage Die Firma Astina AG mit Sitz in Z rich ist ein IT Dienstleister der Software L sungen f r die Bereiche Information Retrieval Spidering Data Processing und Information Filtering entwickelt Die Astina AG entwickelte zusammen mit der Universit t Z rich das Empfehlungssystems Localina Astina m chte die Technologie interessierten Kunden anhand eines anschaulichen Showcases auf dem iPhone pr sentieren k nnen 1 2 Localina Localina ist ein Kollaborationsprojekt der Astina AG mit der F rderagentur f r Innovation des Bundes KTI und der Universit t Z rich Das Ziel des Projekts ist es eine Empfehlungsplattform f r Lokalit ten wie Restaurants Clubs Bars und Ho
59. n willst entdeckst du neben dem Localina Icon eineroteNummer Was denkst du bedeutet diese Nummer und wie w rdest du vorgehen wenn du dir darunter noch nichts Genaues vorstellen kannst jedoch herausfinden m chtest was es mit dieser Ziffer auf sich hat Zentrale Aussagen und Beobachtungen Die selbe Ziffernanzeige finde ich auch oberhalb des Tabs Rate Places Da ich selbst Restaurants bewerten muss damit mir Localina meinem Geschmack entsprechende Empfehlungen abgeben kann werde ich mit dieser Anzeige wohl zum Raten von Restaurants aufgefordert Dokumentation Localina Recommender Client f r das iPhone Seite 55 Also unter jedem Restaurant gibt einerseits f nf Buttons mit Ziffern von 1 bis 5 andererseits einen roten Button mit Kreuz Da mir das erste Restaurant sehr gut gef llt dr cke ich auf den Button mit der Ziffer 5 Testperson dr ckt auf den Button mit der Ziffer 5 Hmm nun ist das Restaurant verschwunden Testperson denkt nach Ah nun hat es beim Register Already Rated eine 1 gegeben Das vorher von mir bewertete Restaurant wurde also in dieses Register verschoben 4 2 b Interview User 2 Benutzerprofil e Weiblich vergeben 29 e Technisch m ssig interessiert und versiert e Besitzt seit rund einem halben Jahr ein iPhone Einf hrung Eine Freundin hat dir von Localina erz hlt eine Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Ge
60. n Anforderungen aus den Funktionen des Prototyps ab Die minimalen Anforderungen werden nachfolgend in Form von Brief Use Cases beschrieben 2 4 a Restaurant bewerten ID FR 01 Beschreibung Der Benutzer muss ein Restaurant bewerten k nnen 2 4 b Empfehlungen im Umkreis des aktuellen Standorts ID FR 02 Beschreibung Der Benutzer muss die Empfehlungen im Umkreis des aktuellen Standorts auf einer Karte anzeigen k nnen 2 4 c Empfehlungen an einer bestimmten Adresse anzeigen ID FR 03 Beschreibung 1 Der Benutzer gibt eine Adresse in ein Suchfeld ein 2 Die Applikation zeigt die Empfehlungen im Umkreis gew hlten Adresse auf der Karte an 2 A d Details zu einem Restaurant ID FR 04 Beschreibung Der Benutzer kann Detailinformationen zum Restaurant anzeigen Diese sollen in einer separaten Detailansicht dargestellt werden Dokumentation Localina Recommender Client f r das iPhone Seite 41 2 5 brige Anforderungen W hrend der Iteration 1 Optimierung des externen Designs wurde ein Backlog gef hrt vgl Kapitel 6 2 Product Backlog Die User Stories des Backlog wurden gem ss ihrem Gesch ftswert priorisiert Alle User Stories mit einer Priorit t von A oder B sollten bis zum Ende der Iteration 1 implementiert werden Dokumentation Localina Recommender Client f r das iPhone Seite 42 3 Externes Design 3 1 Einleitung In diesem Kapitel soll die Entwicklung des externen Designs von
61. n Localina usesnennmsnemsnensnssnsnssnunsenunssenssnnnsennesnne 10 Abbildung l 5 Suche von Tellmewhere uusssssensemensssssnsssnssnssnsnsesunsesnensssnnnesnnnsesnen 15 Abbildung l 6 Anzeige der Suchresultate bei Tellmewhere ununenneee 16 Abbildung l 7 Social Network von Tellmewhere uussmenesssnenenseunsensnnnnnnnee 16 Abbildung Il 1 Domainmodell der Localina iPhone App 59 Abbildung ll 2 Configuration Konzept unsssemsemsssnssssssnenssnssnssssnssssmessnnssunnesnssnnnssnnnenen 60 Abbildung II 3 Profile Konzept nssssmensensnesnsesenessunssensssunseensssunsenunesnnnesunssssnnesnmesunnesunessunesnnnssnuesoen 63 Abbildung Il 4 Place Konzept usanesnsennmmessnsssnsssesnsseennnsesunnsesnnnsesnnnesnnnsesunenssnennesnnnssnnnne 64 Abbildung Il 5 SearchArea Konzept usessnnsmensnssnsssssnseennnsesnnsssnnnsssnnnesnnnsesunenssnensesnnnesnnnne 66 Abbildung II 6 LocationVisited Konzept usssesnesennssnnesnssnsssnsssnsesnnssunneunssnnnssunnenen 66 Abbildung ll 7 SearchedCity Konzept ssnennmssmsennsnsssnensenssnssssnnsssnnessnnesnnesmssnnnssnnnesen 67 Abbildung Il 8 SearchedAddress Konzept usssssessmsmmesenssesnsssesnnsesunnsesunesssnnnsesnnnesnunne 68 Abbildung Il 9 DeferredLoadingPlaces Konzept ussseemmesenssnsssensesnnnsesunsssnnnsesunnesunne 69 Abbildung II 10 PersistedNumberArray Konzept smenmsnsensmneesnmennenmeeneesmernunsneennnesen 70 Abbildung II 11 Architektur der Localina iPhone App 72 Abbildung Il 12 Externe Schnit
62. nen Profilstatus vgl Seite 16 im PDF In dieser Ansicht kann er sehen wie gut er den Empfehlungsalgorithmus bereits trainiert hat vgl Personalization level im PDF Sch n w re wenn sich der User hier noch ansehen k nnte wie Localina ihn anhand von Adjektiven einsch tzt z B romantisch asiatisch stylisch Diese k nnten wie im Entwurf dargestellt als Tag Cloud illustriert werden Diese Anzeige w re nat rlich sehr interessant f r den Benutzer kann allerdings nur in die iPhone App integriert werden wenn Astina eine entsprechende Funktion ber die SOAP Schnittstelle zur Verf gung stellt Vereinfachung der Icons Die vielen verschiedenen Icons f hrten eher zu Verwirrung als dass sie der besseren Darstellung dienten vgl Seite 2 im PDF Im aktuellen Entwurf gibt es nur noch ein Icon f r Empfehlungen Restaurants welche man selbst bewertet hat werden mit dem Zahlenwert der eigenen Bewertung dargestellt Alle brigen Restaurants zeigen die durchschnittliche Bewertung aller User Call Button Falls die Telefonnummer des Restaurants bekannt ist erscheint oben rechts ein Call Button vgl Abbildung Seite 9 im PDF Dokumentation Localina Recommender Client f r das iPhone Seite 49 Popup f r Rating Die Bewertung geschieht nicht mehr direkt in der Detailansicht sondern in einem Popup vgl Seite 2 im PDF Dadurch wird die Detailansicht bersichtlich und es bleibt mehr Platz f r Informationen
63. niziert ber ein generisches Interface mit der Localina Application Die Localina Application sendet der Recommender Engine die Bewertungen der Benutzer sowie die Location Daten und fordert von der Recommender Engine die Prediction an Dokumentation Localina Recommender Client f r das iPhone Seite 8 Zudem stellt sie eine SOAP Schnittstelle f r Client oder Web basierte Localina Anwendungen zur Verf gung welche von den Localina Frontend Applikationen wie der Localina iPhone App verwendet werden Dokumentation Localina Recommender Client f r das iPhone Seite 9 2 Design Oontraints 2 1 Technologie Im Herbst 2009 wurde im Rahmen einer Bachelorarbeit bereits ein erster Prototyp der Localina iPhone App entwickelt In dieser Bachelorarbeit soll der Prototyp bez glich Usability und Maintainability optimiert werden Das iPhone soll daher als technologische Plattform beibehalten werden Die Applikation muss auf dem aktuellen iPhone Betriebssystem lauff hig sein ab Version 3 2 2 Systemarchitektur Die Localina iPhone App soll ein Showcase f r das Empfehlungssystem Localina sein Die Systemarchitektur und die externen Schnittstellen werden daher durch die bestehende Architektur des Localina Recommender Systems definiert Architektur und Schnittstellen werden im Kapitel 3 Umgebung detailliert beschrieben Dokumentation Localina Recommender Client f r das iPhone Seite 10 3 Umgebung 3 1 bersicht Die Abbildung I 4
64. nsicht der einzelnen Restaurants direkt auf die aktuelle Menukarte zugreifen zu k nnen Ein Blick auf die Dokumentation Localina Recommender Client f r das iPhone Seite 92 Menukarte w rde ihnen die Wahl eines passenden Restaurants zus tzlich vereinfachen und die Vorfreude auf den Besuch des Restaurants erh hen Ausweitung aufBars Cafes Um den Benutzern von Localina einen umfassenden Guide zur Freizeitgestaltung bieten zu k nnen m sste die Localina iPhone App weitere Arten von Lokalit ten wie Bars Cafes Clubs und Hotels ausgeweitet werden Allerdings k nnte sich Localina auch bewusst als personalisierter Restaurant F hrer auf dem Markt platzieren und w rde sich dadurch klarer vom Mitkonkurrent Tellmewhere abgrenzen Suche nach Kriterien Einige Testbenutzer w rden ihre Restaurant Suche gerne nach Kriterien wie Preisklasse Art der K che Ambiente etc einschr nken lassen k nnen Bisher wurde auf eine solche Funktion bewusst verzichtet um nicht vom Hauptzweck von Localina abzulenken n mlich auf den pers nlichen Geschmack zugeschnittene Empfehlungen zu erhalten Aktivierung des Kartenausschnitts in der Info Ansicht Anhand der durchgef hrten Benutzertests hat sich gezeigt dass einige User in der Info Ansicht zu einem bestimmten Restaurant den kleinen Kartenausschnitt anklicken wollten Dadurch wollten sie entweder zur Karte auf der mehrere Restaurants angezeigt werden zur ckkehren oder nachschauen wo sich
65. nzept SearchedAddress beschreibt eine Adresse nach welcher der Benutzer bereits unter Find Restaurants by Address gesucht hat Alle Suchanfragen werden als SearchedAddress Objekt gespeichert und die 5 zuletzt gesuchten Adressen werden unter Recent Searches aufgelistet Attribute Name Beschreibung dateSearched Datum der Suchanfrage address Adresse nach welcher der Benutzer gesucht hat Die Adresse wird mittels Google Geocoding formatiert Wertebereich Timestamp String Dokumentation Localina Recommender Client f r das iPhone Seite 69 5 2 h DeferredLoadingPlaces Konzept Diagramm Place identifier name certainty prediction numRatings popularity longitude PersistedNumberArray latitude isRated items attributes Pr lacelds pin p loadedPlaces Abbildung Il 9 DeferredLoadingPlaces Konzept Beschreibung DeferredLoadingPlaces verwaltet Objekte welche erst bei Bedarf vom Server geladen werden Es verwaltet eine Liste von allen Place IDs und eine separate Liste mit allen geladenen Place Objekten Das Konzept wird bei den RatablePlaces Liste aller Places unter Places to Rate und Already Rated Places und bei den Favorites Places welche der Benutzer zur Favoritenliste hinzugef gt hat angewendet Die Liste der Favorites und der Dokumentation Localina Recommender Client f r das iPhone Seite 70 RatablePlaces wird n mlich auf dem iPhone persistiert
66. odelle dargestellt welche zus tzlich erl utert werden Auf die Darstellung der Attribute und Methoden wurde bewusst verzichtet um die bersicht zu verbessern Wenn man das Projekt in Xcode ffnet findet man im Ordner des Pakets eine Datei mit dem Klassenmodell das direkt in Xcode betrachtet und navigiert werden kann Dort kann man auch die Attribute und Methoden ansehen Dokumentation Localina Recommender Client f r das iPhone Seite 76 5 4 a Model Die wichtigsten Klassen des Model wurden bereits im Kapitel 5 2 Klassenkonzepte beschrieben Die Darstellung Abbildung II 13 Klassenmodell des Model Pakets zeigt das Klassenmodell des Model Pakets Das innere Paket stellt das Unterpaket Persisted dar welches alle Model Klassen zusammenfasst welche Teil des Managed Object Context von Core Data sind PersistedNumberArray leitet selbst nicht von NSManagedObject ab geh rt aber konzeptionell in dieses Paket weil seine Elemente als direkte Instanzen von NSManagedObject persistiert werden Device Configuration Profile SearchArea Favorites DeferredLoadingPlaces Populari Factory Patari RatablePlaces lt MKAnnotation gt PlaceAnnotation NSManagedObject PersistedNumberArray SearchedAddress SearchedCity LocationVisited Abbildung II 13 Klassenmodell des Model Pakets 5 4 b ViewController Die Abbildung ll 14 stellt die Abh ngigkeiten und die Hierarchie der ViewController dar Die blauen Objekte
67. ojektorganissatlion eane ee eek 95 7 4 Entwicklungsto lssessuss ke i Ain 96 75 Tools f r das Projektmanagement ussssmsnsssssenmmsesunsssnnnsesnnnesnnnsesnesssnensesunnesnn 96 Il Software Doku mentation au 97 W Anstalation ushana nianna in a aiaa 98 1 1 Systemanforderungen na 98 Seite iii Dokumentation Localina Recommender Client f r das iPhone Go Live Vorbereitung 12 Installation im iPhoneSimulator ae sun na a 98 13 Hinweisen DR 99 2 Benutzerhandbuch u nes ee 100 3 PIOJEKENONIEON NG een 101 31 SOl ISt Zeit Vergleich een ea 101 3 2 Code Metriken Vorher Nachher Vergleich ussssnmneen 102 33 Protokolle der w chentlichen Sitzungen usssssssnessesnesnnnsesunnssnnnsesnnnesneesnee 102 IV Anhand eu an ee 103 Ar Inhalt der CDs ae ae 104 B Glossar und Abk rzungsverzeichnis unsssssemnmmensnssesnsssennsneennnsesnnsssnnnsssnnnssnunsessne 106 C Literatur und Quellenverzeichnis asssssnsssssssessesnnnsnsnnssssssssessessennnnnnnsunsessenee 108 Seite iv Dokumentation Localina Recommender Client f r das iPhone Go Live Vorbereitung Abbildungsverzeichnis Abbildung l 1 Wie Localina funktioniert usesenssnnnenennssnsesnssnnssnnnsnunsennssnnnesnnsenensnensnn 5 Abbildung l 2 Strategien des Recommenders unnnnennssnesnssnnssnsnnsnunsennnssunnesunsenenssnessnn 6 Abbildung l 3 Komponenten von Localina uusssessmmesunssnnsssessssesnnnsesunsssnsnsesnnnesnnnsesunessn 7 Abbildung l 4 Systemarchitekur vo
68. plementation damit gerechnet wurde dass der Pointer des NSErrors null sein kann Ansonsten liefert der Static Analyser keine Hinweise auf Fehler im Code wie z B Memory Leaks 6 5 Performance Tests Das Laufzeitverhalten der Localina iPhone App wurde mit Hilfe des Performance Tools Leaks getestet Leaks Leaks ist ein usserst effizientes Tool um Memory Leaks zu eruieren Es sucht in regelm ssigen Abst nden nach Objekten im Memory zu welchen es keinen Pointer mehr hat und zeigt an welche Objekte wo im Programmcode verloren gegangen sind Leaks ist seit der Xcode Version 3 in der Entwicklungsumgebung integriert S mtliche Funktionen der Localina iPhone App wurden mit Hilfe von Leaks ausf hrlich getestet Es konnten dabei keine Memory Leaks festgestellt werden welche innerhalb des Programmcodes auftreten Hinweis Kurz dem Start der Applikation zeigt Leaks ein Memory Leak an Dieses tritt jedoch innerhalb der CoreGraphics Library auf und ist nicht als kritisch zu betrachten da das Memory nur einmal verloren geht Dokumentation Localina Recommender Client f r das iPhone Seite 91 6 6 M glichkeiten der Weiterentwicklung Im Verlauf der Entwicklungsphase von Localina haben sich nach Vergleichen mit hnlichen sich bereits auf dem Markt befindlichen Applikationen wie z ritipp Tellmewhere etc und insbesondere auch anhand des durchgef hrten Usability Test diverse Verbesserungs und Ausbaum glichkeiten aufgezeigt Die Um
69. r Xcode Interface Builder 3 2 2 VCM SCM SVN 1 6 9 Dynamische Code Analyse Leak Tracking Instruments 2 1 7 5 Tools f r das Projektmanagement Zweck Applikation Beschreibung Projekt WIKl Confluence Im Confluence wurden die Taskmanagement Jira Jira wurde f r die Erfassung der Tasks und f r die Zeiterfassung verwendet Projektplan Google Docs F r den Projektplan wurde Google Docs verwendet Dokumentation Localina Recommender Client f r das iPhone Seite 97 III Software Dokumentation Dokumentation Localina Recommender Client f r das iPhone Seite 98 1 Installation 1 1 Systemanforderungen Die Localina iPhone App verwendet Funktionen welche nur mit der Version 3 der iPhone SDK funktionieren Deshalb ben tigt man zur Installation Xcode der Version 3 oder h her 1 2 Installation im iPhone Simulator 1 Kopieren Sie das Verzeichnis Localina2 0 auf der Abgabe CD in Ihren Workspace 2 ffnen Sie die Datei Localina xcodeproj im Verzeichnis Localina2 0 um das Projekt in Xcode zu ffnen 3 W hlen Sie die folgenden Einstellungen iPhone Device 3 0 Base SDK iPhone Device 3 1 iPhone Device 3 1 2 iPhone Device 3 1 3 iPhone Device 3 2 iPhone Simulator 3 0 iPhone Simulator 3 1 iPhone Simulator 3 1 2 AUEERLTNESTERE iPhone Simulator 3 2 Debug v Release v A Localina LogicTests Localina iPhone Simulator 3 1 3 v i386 4 W hlen Sie Build and Run Dokumentat
70. rgen Abend zusammen was essen und dann ins Kino in der N he des Bellevue gehen So startet Jonny seine Localina Applikation und tippt bellevue zurich in die Suchbox unter Find Locations ein Er benutzt Localina nicht zum ersten Mal und hat daher bereits einige Dutzend Bewertungen von romantischen Restaurants gemacht Es beruhigt ihn dass ihm sowohl das Rosaly s wie auch das Cakefriends von Localina empfohlen werden Sein Vertrauen in die Empfehlungen ist daher gross Er sieht dass das Od amp on an zweiter Stelle liegt Er geht in die Detailansicht und w hlt die Telefonnummer um einen Tisch f r zwei zu reservieren Dokumentation Localina Recommender Client f r das iPhone Seite 36 II Projektdokumentation Dokumentation Localina Recommender Client f r das iPhone Seite 37 1 Vision Der Inhalt des Vision Dokument ist im Kapitel I 6 Vision zu finden Dokumentation Localina Recommender Client f r das iPhone Seite 38 2 Anforderungsspezifikation 2 1 Analyse der Ausgangslage In einer ersten Analysephase wurde der Stand des aktuellen Prototypen und die Interfaces zur Localina Server Anwendung dokumentiert Die Resultate sind in den Kapitel Die SOAP Schnittstelle und Stand der Localina iPhone App zu finden 2 2 Zielgruppe Die Localina iPhone Applikation richtet sich prim r an Einwohner von Z rich welche gerne und oft ausw rts Essen gehen und somit viele Restaurants kennen Dies trifft haupts chlich auf Personen der
71. ribut Erkl rung Wertebereich critiquingResults Falls TRUE werden nur Locations geliefert deren Bewertung einen hohen Grenznutzen Boolean bringt distance Maximale Entfernung in Kilometer vom Double Standort der Suche latitude L ngengrad des Standorts der Suche 0 0 90 0 longitude Breitengrad des Standorts der Suche 0 0 180 0 maxResults Maximale Anzahl Locations welche Ganzzahl zur ckgeliefert werden sollen searchString Begriffe welche in der Beschreibung der String Location vorkommen m ssen showAlreadyRatedLocations Falls FALSE werden nur jene Locations Boolean zur ckgeliefert welche vom User noch nicht geratet wurden userldentifier Eindeutige Benutzer ID String Dokumentation Localina Recommender Client f r das iPhone Seite 13 3 2 b SOAP Operationen Die folgende Tabelle gibt einen berblick ber die SOAP Operationen der Localina Application welche von der Localina iPhone App verwendet werden SOAP Operation Erkl rung Request Format Response Format getLocationsForCriteria Liefert alle Locations Criteria Objekt Location zur ck welche auf Array das Kriterium Suchstring passen getRatingCountForUserldentifier Liefert die Anzahl userldentifier Ganzzahl der Bewertungen des Users predict Liefert die Criteria Objekt Prediction Predictionsin der Array gew hlten Umgebung zur ck predictSingleLocation Liefert die Prediction locationld Prediction f r eine
72. rt Place SOAP Factory ist eine Category welche die Klasse Place um einen Kostruktor erweitert der ein Place Objekt aus einem SOAP XML erzeugen kann Place SOAP stellt die einzige Kopplung zwischen der Communication und dem Model dar Nachfolgend werden alle Pakete kurz erl utert Auf die wichtigsten Pakete wird im Abschnitt Wichtigste Pakete genauer eingegangen Dokumentation Localina Recommender Client f r das iPhone Seite 72 System Abbildung Il 11 Architektur der Localina iPhone App Model In diesem Paket befinden sich alle Klassen welche die Objekte der Problem Domain beschreiben Objekte welche vom DataStore verwaltet werden werden im Unterpaket Persisted zusammengefasst Dokumentation Localina Recommender Client f r das iPhone Seite 73 Views Im Paket Views befinden sich alle Klassen welche ein GUI Objekt beschreiben Sie leiten alle von UlView ab und besitzen keine Applikationslogik Die Klassen in diesem Paket sind entweder Erweiterungen von Standard GUI Elementen vgl CustomAlertView oder stellen vorkonfigurierte Views dar vgl LocalinaNavigationView ViewController Die Klassen in diesem Paket haben die Aufgabe des Controllers im MVC Pattern Jede View besitzt einen ViewController welcher die Daten der View verwaltet und ber Delegate Methoden Events vom Event Loop entgegennimmt und verarbeitet DataController Die DataController stellen Methoden f r den einfacheren Zugriff auf Model Obje
73. s den Google Mobile Maps Service f r das iPhone integriert Core Location iPhoneOS3 0 sdk Stellt undeinen Service zur Richtungsbestimmung zur Verf gung Quartz Core iPhoneOS3 0 sdk F r spezielle grafische Effekte und Transformationen Core Data iPhoneOS3 0 sdk Data Model Framework welches ebenfalls Funktionen zur Persistierung der Daten bereitstellt CFNetwork iPhoneOS3 0 sdk Abstrahiert verschiedene Netzwerkprotokolle Dokumentation Localina Recommender Client f r das iPhone Seite 75 ar libxmi2 lt lt dependency gt gt 1 Mapkit TouchXML Ta f j lt lt dependency gt gt lt lt dependency gt gt i Localina iPhong App J I V I _ Corelocation lt lt dependency gt gt Communication Persisted ViewController N MR N w N N lt lt dependency gt gt I I 1 N lt lt dependency gt gt lt lt dependency gt gt lt lt dependency gt gt N I I I Ao Component Name E CFNetwork _ CoreData Quartz Core Abbildung Il 12 Externe Schnittstelle 5 4 Wichtigste Pakete In diesem Abschnitt werden die zentralen Pakete der Localina iPhone App sowie deren wichtigste Konzepte und Zusammenh nge nochmals genauer erkl rt Hier werden nur die Klassenm
74. schmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Situation Du besuchst heute Abend mit deinem Freund ein Konzert im Club X tra ander Limmatstrasse 118 in Z rich Vorher m chtet ihr gerne noch etwas essen gehen Am liebsten in der N he des Clubs Zentrale Aussagen und Beobachtungen Testperson liest den Text auf der Infobox Ich spreche leider nicht so gut Englisch Empfehlungen werden geladen Ooh da werden mir aber einige Restaurants angezeigt Ich sehe mehrere gr ne Pins Was bedeuten die schon wieder Kann ich das Fenster das zu Beginn erschienen ist nochmals aufrufen Dokumentation Localina Recommender Client f r das iPhone Seite 56 4 2 c Interview User 3 Benutzerprofil e M nnlich verheiratet 55 e Jurist e Technisch sehr interessiert aber m ssig versiert e Besitzt erst seit rund einem Monat ein iPhone Einf hrung Ein Arbeitskollege hat dir von Localina erz hlt eine Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation nun vor einigen Tagen vom iTunes Store heruntergeladen bisher jedoch noch nie benutzt Du weisst einzig dass dir die Applikation Empfehlungen zu Restaurants aufgrund deines pers nlichen Geschmacks abgeben kann wenn du selbst gen gend Restaurants bewertest Situation Du gehst an deinem Arbeitsplatz immer etwa in die gleichen Restaurants
75. setzung all dieser Ideen h tte jedoch den Rahmen der Arbeit gesprengt Trotzdem m chte ich hier kurz M glichkeiten zur Verbesserung nennen die sich aufgezeigt haben Einbindung von Facebook Twitter Foursquare etc F r viele Leute ist es ein Bed rfnis sich ber Dienste wie Facebook Twitter oder Blogs mitteilen zu k nnen Das ausgepr gte Mitteilungsbed rfnis der Benutzer von sozialen Netzwerken k nnte sich Localina zum Vorteil nehmen um mehr User Generated Content und Bewertungen zu bekommen Durch die Anbindung von Localina an Dienste wie Facebook Twitter oder Foursquare k nnte Localina auch von Effekten des viralen Marketing profitieren und dadurch den eigenen Bekanntheitsgrad steigern Einbindung von OpenTable Je l nger je mehr haben Menschen das Bed rfnis zeit und ortsunabh ngig zu agieren OpenTable bietet anstelle der klassischen zeitgebundenen Tischreservation per Telefon die M glichkeit bei den beteiligten Restaurants kostenlos und rund um die Uhr Reservationen online vorzunehmen Die Suche reflektiert die tats chliche Verf gbarkeit von Tischen in Echtzeit und Reservierungen werden umgehend in dem selben elektronischen Reservierungsbuch festgehalten das vom Restaurant verwendet wird Als registriertes Mitglied k nnen zudem Reservationen verwaltet und Begleitpersonen per E Mail zum Essen eingeladen werden Einbindung von Menukarten Einige Testbenutzer haben den Wunsch ge ussert in der Info A
76. sind Instanzen von Klassen welche in der Localina iPhone App implementiert sind Die brigen Objekte sind direkt von Klassen des UIKit abgeleitet Dokumentation Localina Recommender Client f r das iPhone Seite 77 Zu bemerken ist dass favoritesTableViewController und ratePlacesViewController von einem UlNavigationController verwaltet werden obwohl sie keine Navigation verwenden Der Grund ist dass f r diese Views eine Navigation vorgesehen ist deren Implementation jedoch den Rahmen dieser Arbeit gesprengt h tte Eu tabBarController UlTabBarController A Be _ a gt ratePlacesNavigationController UlNavigationController findPlacesNavigationController asus UlNavigationController Abbildung Il 14 Hierarchie der ViewController a EU vigation roller 5 4 c DataController Die Abbildung Abbildung II 15 stellt das Klassenmodell des Pakets DataController dar PlaceTableDataModel verwaltet die Place Objekte welche von den UITableViewControllern verwendet werden um diese in der UITableViews darzustellen SearchResults stellt statische Methoden zum vereinfachten Zugriff auf die Suchresultate zur Verf gung Die PlaceFilter implementieren speziell Filter welche u a vom MapViewController verwendet werden um nur die popul ren Restaurants anzuzeigen oder nur jene welche auf den pers nlichen Geschmack passen Dokumentation Localina Recommender C
77. ssert werden Im Gegensatz zu herk mmlichen Restaurant Emfehlungssystemen basieren die Empfehlungen von Localina auf dem pers nlichen Geschmack des Benutzers Diesen lernt das Empfehlungssystem kennen indem der Benutzer selbst Restaurants bewertet Eine besondere Anforderung an die Applikation ist daher dass dem Benutzer klar machen wird dass er im Gegensatz zu herk mmlichen Empfehlungssystemen gen gend Restaurants bewerten muss um gute Empfehlungen zu erhalten In einer ersten Projektphase wurden die Probleme des bestehenden Prototypen bez glich der Benutzerfreundlichkeit anhand von Usability Tests analysiert In der Folge wurden verschiedene Konzepte zur Verbesserung des Prototypen entworfen und wiederum anhand von Usability Tests validiert Das erarbeitete Konzept floss danach in die berarbeitung der Localina iPhone App ein Der Code wurde einem Refactoring unterzogen um die Maintainability der Codebasis zu verbessern Mittels Code Analyse Tools wurde zudem sichergestellt dass die Applikation keine Memory Leaks enth lt Das Bedienkonzept des bestehenden Prototypen wurde grundlegend berarbeitet Dabei wurde darauf geachtet dass der Benutzer bei der Bedienung klarer gef hrt wird Um den Benutzer zum Bewerten von Restaurants zu animieren merkt sich Localina neu seine h ufigsten Standorte und schl gt ihm dann Restaurants zum Bewerten vor die sich in Dokumentation Localina Recommender Client f r das iPhone Seite 2 deren U
78. stellt die Systemarchitektur des Empfehlungssystems Localina dar Der Localina Semantic Recommender und der Duine basierte Recommender stellen zwei unterschiedliche Implementationen der Localina Recommender Engine dar Zur Zeit kann die Localina Application ihre Empfehlungen wahlweise von einer dieser beiden Recommender Engines beziehen Der Duine basierte Recommender wurde aus zwei Gr nden eingerichtet Zum einen wurde ein Testsystem f r die Entwicklung der Localina Plattform ben tigt weil der Localina Recommender immer noch Gegenstand des laufenden Forschungsprojektes ist und zum anderen um die Ergebnisse des Localina Semantic Recommenders validieren zu k nnen 67 Andere mobile Localina Applikation Systemgrenze 4 Localina ANN Localina Semantic Recommender Universit t Z rich SOAP Service Duine basiertes Localina Webapplikation Recommender System Abbildung l 4 Systemarchitekur von Localina Dokumentation Localina Recommender Client f r das iPhone Seite 11 3 2 Die SOAP Schnittstelle In diesem Kapitel wird der SOAP Service beschrieben welcher von der Localina Application zur Verf gung gestellt wird Eine detaillierte Spezifikation kann in Form einer WSDL unter folgender Adresse gefunden werden http loap astina ch recommender wsdli 3 2 a SOAP Objekte Location Objekt Das Location Objekt repr sentiert eine Lokalit t Die Attribute des Location Objekts sind selbsterkl rend
79. tation Localina Recommender Client f r das iPhone Seite 104 A Inhalt der CD e Abstract pdf e Aufgabenstellung pdf e Literature Dokumente welche als Informationsquelle f r die Arbeit gedient haben e Localina2 0 Xcode Projekt mit allen Quelldateien e ManagementSummary Separate Management Summary der Bachelorarbeit e Mockups Die originalen Mockups welche zu Beginn des Redesigns entstanden sind e Mockup vi pdf e Mockup v 2 pdf e Mockup v2 1 pdf e Mockup v2 2 pdf e Originaldateien e Diagramme e UML e Dokumente e Illustrationen e Plagiats Erklaerung pdf e Poster pdf e Projektplan e Protokolle e WoechentlicheSitzungen pdf e Sequenzdiagramme e Urheber _und_Nutzungsrechte pdf e UsabilityTests Dokumentation der Usability Tests Dokumentation Localina Recommender Client f r das iPhone Seite 105 Ausgangslage e Mockups e Release1 Dokumentation Localina Recommender Client f r das iPhone Seite 106 B Glossar und Abk rzungsverzeichnis Category Kategorien in Objective C sind Erweiterungen einer Klassen um zus tzliche Methoden Certainty Sicherheit mit welcher das Empfehlungssystem eine Prediction machen kann Cold Start Problem Bekanntes Problem von Empfehlungsalgorithmen welche den Collaborative Filtering Approach verwenden Weil diese Vergleiche zwischen Benutzerpr ferenzen anstellen k nnen sie bei einer geringen Benutzerbasis keine zufriedenstellenden Ergebnisse liefern vgl Sparse Data Problem
80. taurants meinem Geschmack entspricht oder aber wie viele Restaurants ich bereits bewertet habe Am besten w hle ich einmal den Tab My Profile an Testperson w hlt den Tab My Profile Okey hier steht Localinas Learning Progress und Here s your opportunity to get personalized recommendations Rate the places you know and Localina tells you where to go Localina fordert mich hier also auf noch Restaurants zu bewerten Dokumentation Localina Recommender Client f r das iPhone Seite 59 5 Internes Design 5 1 Domainmodell 5 1 a Strukturdiagramm Abbildung II 1 zeigt das Domainmodell der Localina iPhone App Configuration searchContext ratablePlaces loadedPlaces 1 A DeferredLoadingPlaces searchedAddresses favorites 1 SearchedAddress dateSearched araia address H PersistedNumberArray Abbildung Il 1 Domainmodell der Localina iPhone App Dokumentation Localina Recommender Client f r das iPhone Seite 60 5 2 Klassenkonzepte In diesem Kapitel werden die Konzepte der Klassen des Domainmodells erl utert 5 2 a Configuration Konzept Diagramm SearchArea profile Profile identifier numPlacesToRate numRatings favorites Abbildung Il 2 Configuration Konzept Beschreibung Jede Instanz der Localina iPhone App besitzt genau ein Configuration Objekt welches den Zustand der Applikation speichert Die Configuration besitzt
81. tels zu lancieren Die Universit t Z rich entwickelt dabei im Rahmen einer Forschungsarbeit den Algorithmus w hrend die Astina AG f r die Entwicklung der Plattform verantwortlich ist 1 2 a WieLocalina funtioniert Die Idee von Localina ist dass der Benutzer Lokalit ten bewerten kann und im Gegenzug personalisierte Empfehlungen erh lt Dadurch unterscheidet sich Localina von den meisten Plattformen mit Restaurantempfehlungen deren Empfehlungen meistens nur auf dem Durchschnittsrating der Benutzer basiert Dokumentation Localina Recommender Client f r das iPhone Seite 5 Lernt Pr ferenzen des Users Bewertet Locations Erh lt Empfehlungen User Abbildung l 1 Wie Localina funktioniert Damit Localina qualitativ gute Empfehlungen liefern kann muss der Benutzer zuerst gen gend Bewertungen abgeben Das Localina Recommender System kann daraus den pers nlichen Geschmack des Benutzers ableiten indem es versucht Pr ferenzen f r bestimmte Attribute oder bereinstimmungen des Bewertungsmusters mit demjenigen anderer Benutzer zu eruieren Localina implementiert eine Sammlung unterschiedlicher Empfehlungsalgorithmen und entscheidet aufgrund der Datenbasis auf welche Algorithmen es bei der Prediction zur ckgreift Die Prediction beschreibt die Vorhersage des Recommenders wie der Benutzer eine Lokalit t bewerten w rde sofern er sie kennt woraus sich folglich die Empfehlung ableitet Wie in Abbildung l 2 dargestellt
82. tstelle uusssnsmmnnenenssnsssnnnennnsesuneseennnsesnnnesnnnne 75 Abbildung Il 13 Klassenmodell des Model Pakets uunusnmmnsennmenenssenssnnnnee 76 Abbildung Il 14 Hierarchie der ViewController uses 77 Abbildung ll 15 Klassenmodell des DataController Pakets unse 78 Abbildung II 16 SOAPCommunication Objekt usenennnmsnemsennmssnnsnunnmnnensnsssnnsssnne 78 Abbildung 1 17 50AP Reguest une 79 Abbildung II 18 SOAP Response unsunsssunssensnunsesunesunneunnssunsesnensunsesunesnnneunssssnsesmmesunnesunessumesnunssnnesoen 79 Abbildung II 19 CommunicationFacade usasesenssnensnsnessnesnsensnsnunnennnsnennnsnnenen 80 Abbildung Il 20 Learning Progress usssesensnneennmsesnsssnsssesnnneenunsesnnsssnnnsssnnnesnnnsesunenssnnnnssnnnssnnnne Seite v Dokumentation Localina Recommender Client f r das iPhone Go Live Vorbereitung Seite vi Abbildung Il 21 Rating Scheduler unssssemnmsessssssssesensesnsssssssesnnnsesunnessnnsnssnnnssnnnsesunee 84 Dokumentation Localina Recommender Client f r das iPhone Seite 1 Abstract Die Astina AG entwickelt zusammen mit der Universitat Z rich das Recommender System Localina Ziel dieser Zusammenarbeit ist die Entwicklung eines Ontologie basierten Empfehlungssystems f r Restaurants Im Herbst 2009 wurde im Rahmen einer Bachelorarbeit ein erster Prototyp einer nativen iPhone App f r Localina entwickelt Die Benutzerfreundlichkeit und Wartbarkeit dieses Prototypen soll nun in der aktuellen Arbeit verbe
83. tzeranforderungen e Erkennbarer Mehrnutzen gegen ber herk mmlichen Restaurant Guides e Es soll auf den ersten Blick erkennbar sein welche Restaurants empfohlen sind e Inuitiv zu bedienen e Wenige Schritte um zur pers nlichen Empfehlung zu gelangen e Schneller und nachvollziehbarer Lernfortschritt des Systems e Suchen von Empfehlungen an einem bestimmten Ort e N tzliche Infos zu den Restaurants 6 1 e Nichtanforderungen Im Gegensatz zum Localina Recommender System muss die iPhone App nur Restaurants und keine weiteren Arten von Lokalit ten unterst tzen Idealerweise wird bei dem Redesign jedoch eine sp tere Integration von weiteren Kategorien ber cksichtigt Dokumentation Localina Recommender Client f r das iPhone Seite 28 6 2 Vision Statement Die Applikation soll nicht nur ein reiner Showcase sein sondern sp ter auch im iTunes App Store publiziert werden k nnen In einer weiteren Version sollen auch zus tzliche Kategorien von Lokalit ten hinzugef gt werden L ngerfristig wird angestrebt dass sich Localina als Empfehlungssystem f r Lokalit ten etabliert und eine breite Benutzerbasis erlangt 6 3 Product Backlog Die folgenden User Stories beschreiben die Anforderungen an die Localina iPhone App Die User Stories werden gem ss ihrem Business Value Gesch ftswert priorisiert Priorit t A steht f r must have B f r can have und C f r nice to have ID User Story Beschreib
84. ung Business Value US01 Applikation starten Bei Starten der Applikation erscheint ein C Splash Screen US02 Als Benutzer m chteich Nach dem Start erscheint eine B auf den ersten Blick Ubersichtsseite welche die n chsten Schritte sehen welche aufzeigt Funktionen mir die Applikation bietet US03 Als Benutzer m chte ich Die Empfehlungen werden direkt aufeiner A die Lokalit ten auf der Karte angezeigt Karte betrachten k nnen US04 Als Benutzer m chte ich Wenn man sich auf der Karte mit den B die Lokalit ten in einer Empfehlungen befindet kann man die Karte Liste betrachten k nnen umdrehen und findet dort die angezeigten Empfehlungen in einer Liste eine Lokalit t in der N he finden US0O5 Als Benutzer m chte ich Lokalisierung des aktuellen Standorts mittels A LBS Dokumentation Localina Recommender Client f r das iPhone Seite 29 die Speisekarte der Restaurants einsehen k nnen ID User Story Beschreibung Business Value US06 Als Benutzer m chte ich Optionen C eine Lokalit t in einer bestimmten Stadt finden Stadt als Suchbegriff eingeben Search As You Type liefert Vorschl ge aus bereits gesuchten Begriffen Stadt aus einer Liste der 5 zuletzt gesuchten St dte ausw hlen US07 Als Benutzer m chte ich Optionen A eine Lokalit t im Umkreis eines anderen Standorts Adresse als Suchbegriff eingeben Search As als meines aktuellen You Type liefert Vorschl ge aus bereits f
85. ungen in unmittelbarer Umgebung oder Events nach Datum heute oder morgen anzeigen zu lassen Ebenso k nnen die liebsten Restaurants Clubs Museen etc in eine Favoritenlisten aufgenommen werden Localina beschr nkt sich bis anhin auf Restaurants Die Einbindung anderer Arten von Lokalit ten wie Bars Clubs oder Hotels ist jedoch bereits f r einen zuk nftigen Ausbauschritt vorgesehen vgl Kapitel 6 4 Performance Tests Wie z ritipp verf gt auch Localina ber eine Favoritenliste die es dem Benutzer erm glicht Lieblingslokale zu speichern und bei Bedarf erneut aufzurufen Was Localina hingegen grunds tzlich von der z ritipp App unterscheidet ist das Empfehlungssystem Nebst der Anzeige von Restaurants in der Umgebung oder an einem bestimmten Ort wie dies auch bei Z ritipp m glich ist bietet Localina dem Benutzer den grossen Vorteil dass er sich auf seinen pers nlichen Geschmack zugeschnittene Restaurants anzeigen lassen kann Weiter unterscheidet sich Localina von der z ritipp App darin dass sich die Suche von Lokalen nicht auf die Region Z rich beschr nkt Localina kann Restaurants an einem beliebigen Ort anzeigen Dokumentation Localina Recommender Client f r das iPhone Seite 18 4 2 Stand der Localina iPhone App Im Herbst 2009 wurde im Rahmen einer Bachelorarbeit ein erster Prototyp einer nativen iPhone Applikation f r Localina entwickelt Dieser Prototyp nutzt die SOAP Schnittstelle der Localina Appl
86. urants und du w rdest gerne etwas Neues kennenlernen Stell dir vor du m chtest Empfehlungen in der N he deines Arbeitsplatzes an welchem du dich gerade befindest Zentrale Aussagen und Beobachtungen Ich m chte eine App wo ich direkt ber OpenTable einen Tisch reservieren kann Ah super wenn man die Liste runter skrollt erscheint ein Button contact Damit kann ich das Restaurant sicherlich direkt kontaktieren 4 1 b Test der Version 2 Benutzerprofil e Kaufm nnische Angestellte e Weiblich Single 28 e Technisch m ssig interessiert und durchschnittlich versiert Einf hrung Eine Freundin hat dir von Localina erz hlt eine Applikation die dir Empfehlungen f r Restaurants in Z rich aufgrund deines pers nlichen Geschmacks geben kann Du hast diese Applikation vom iTunes Store heruntergeladen Situationen Stell dir vor du m chtest den Shopping Tag mit deinen Kolleginnen mit einem gemeinsamen Nachtessen in einem f r dich neuen Restaurant in Z rich City abrunden Wie gehst du vor Stell dir vor du warst nun mit deinen Kolleginnen in einem der Restaurants die dir Localina herausgesucht hat Am Tag darauf m chtest du nun dieses Restaurant bewerten Wie w rdest du vorgehen Dokumentation Localina Recommender Client f r das iPhone Seite 52 Zentrale Aussagen und Beobachtungen Recent cities was bedeutet das War ich dort bereits einmal oder sind dies St dte
87. war wurde es weggelassen Daf r gibt es eine neue Rubrik Toplist welche die pers nlichen Empfehlungen in einer Liste anzeigt Das Icon f r die Toplist ist das selbe wie der Map Pin welcher die Empfehlungen auf der Karte anzeigt um den Zusammenhang zu verdeutlichen Das Register Your Top 10 mit der Kartenansicht der Empfehlungen wurde umbenannt in Map Register Search Das Register Search vgl Seiten 2 und 3 des PDF wurde eingef hrt um dem User einen klareren Einstieg in die Applikation zu geben Beim aktuellen Prototypen landet der User nach dem Start der Applikation direkt in der Map und weiss nicht warum genau dieser Kartenausschnitt angezeigt wird und was die Map Pins darstellen Unter Search kann ein Restaurant nach den Kriterien Nearby By City und By Address gesucht werden Startet man eine Suchanfrage f r eine bestimmte Stadt oder Adresse erscheinen unterhalb des Suchfeldes die bereits einmal gesuchten St dte oder Adressen Recent cities Recently visited Diese k nnen direkt angew hlt werden Dem User soll damit erspart werden eine bereits einmal ans System gesandte Suchanfrage erneut im Suchfeld eintippen zu m ssen Neue Map Pins Unter Map werden dem Benutzer wie bis anhin die Restaurants in seinem Umkreis oder an einem gew hlten Ort angezeigt Bisher wurden dem User nur die 10 besten Restaurants angezeigt welche alle das gleiche Symbol hatten Der User konnte somit nicht erkennen ob alle empfohlen sind oder
88. wendet weil die Lupe schlecht zu der Kartenansicht passt Map Pins Die Form des Map Pins wurde ge ndert so dass diese die gleiche Form haben wie das Tab Icon Register mit Anzahl der bereits bewerteten Restaurants Damit der Benutzer sieht dass die bewerteten Restaurants in das Register Already Rated wandern zeigt das Register die Anzahl Restaurants in der Liste neben dem Titel des Tabs an vgl Seite 12 im PDF 3 2 d Mockup Version 2 2 Die Mockup Version 2 2 stellt die Finale Version des Externen Designs dar Das vollst ndige Mockup findet sich unter Mockups Mockup v2 2 pdf auf der Abgabe CD Die wichtigsten nderungen zu der vorherigen Version werden nachfolgend zusammengefasst Location in Place umbenannt Bei Localina steht der Begriff Location f r eine Lokalit t Im Englischen ist dieser Begriff jedoch verwirrend weil eine Location eher einen geografischen Standort bezeichnet Daher verwendet die Localina iPhone App den Begriff Place welcher am ehesten die Englische bersetzung f r Lokalit t ist Dokumentation Localina Recommender Client f r das iPhone Seite 48 Favorites Es wurde festgestellt dass es eine M glichkeit braucht ein Bookmark f r ein Restaurant setzen zu k nnen dessen Informationen man sich zu einem sp teren Zeitpunkt wieder ansehen m chte Zu diesem Zweck wurde die Rubrik Favorites eingef hrt My Profile Die Rubrik Info wurde in My Profile ge ndert und informiert den User ber sei
89. ystem ableiten kann welche Restaurants der User kennt 1 Aktionen merken welche darauf hindeuten dass der Benutzer das Restaurant n chstens besucht z B Klick auf Call Button Wenn der Benutzer ein Restaurant angerufen hat wird er es ein paar Tage sp ter wahrscheinlich beurteilen k nnen 2 Restaurants in der N he von Restaurants vorschlagen welche der User bewertet hat 3 Restaurants im Umkreis von Orten vorschl gen wo sich der Benutzer mittels LBS h ufig lokalisiert hat Evaluation Ansatz Verl sslichkeit Anzahl potentieller Resultate 1 Sehr hoch Klein 2 Mittel Hoch 3 Mittel Hoch Ansatz 1 wurde verworfen weil es zuwenig potentielle Resultate gibt Aus Ansatz 2 und 3 wurde 3 gew hlt weil er bereits funktioniert wenn noch keine Restaurants bewertet wurden und weil der Benutzer damit aufgefordert wird an allen Orten Restaurants zu bewerten wo er sich auskennt Dokumentation Localina Recommender Client f r das iPhone Seite 83 Funktionsprinzip des Rating Schedulers Die Applikation speichert alle Orte wo sich der Benutzer mittels LBS lokalisiert hat vgl LocationVisited Konzept Die Funktion des Rating Schedulers wird in der Abbildung II 21 Rating Scheduler in einem Flowchart illustriert Nachfolgend einige Erl uterungen 1 Der Rating Scheduler wir beim Applikationsstart aufgerufen 2 Falls seit den letzten Rating Tasks weniger als 5 Tage vergangen sind wird der Schedul
Download Pdf Manuals
Related Search
Related Contents
Dixon SPEEDZTR 30 User's Manual Manual de instalación y mantenimiento Posicionador para USER`S MANUAL TAKOO 3 Promag 53 Flowmeter - Rockwell Automation Dear SDN members, The Society celebrated the advent of its tenth CMCO Voir le document Copyright © All rights reserved.
Failed to retrieve file