Mobapp Project

download Mobapp Project

of 72

Transcript of Mobapp Project

  • 8/13/2019 Mobapp Project

    1/72

    MyEventsA social software for social computing

    Ali Y. Hussein

    May 9, 2011

    Halden, Norway

  • 8/13/2019 Mobapp Project

    2/72

    Abstract

    Mobile computing has became something quite important in the human society.The original purpose of cellphones where to help people connect with each other.Although technology has changed a lot since the inventions of the first mobilephones, it has not changed that fact that it is used to help people getting incontact with each other. MyEvents is a social application which people canuse to create and share future events activities. The application allows themanagements of event activities that people are interested in. This paper givesdetailed description of how MyEvents where designed and tested.

    Keywords: Mobile computing, Event management, Socail comput-

    ing

    1

  • 8/13/2019 Mobapp Project

    3/72

    Contents

    1 Introduction 4

    1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Problem description . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.1 The application. . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Focus area. . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.3 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.3.1 Location based application . . . . . . . . . . . . . . . . . 81.3.2 Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.3 Event correlation using dependency graphs . . . . . . . . 91.3.4 Similar applications . . . . . . . . . . . . . . . . . . . . . 10

    2 Methods 13

    2.1 The design process model . . . . . . . . . . . . . . . . . . . . . . 132.2 The Discovery Phase . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.3 The Design Phase . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 The Evaluation Phase . . . . . . . . . . . . . . . . . . . . . . . . 21

    3 Results 28

    3.1 Discovey/Design/Evaluation results . . . . . . . . . . . . . . . . 283.2 First evaluation results. . . . . . . . . . . . . . . . . . . . . . . . 403.3 Final evaluation results . . . . . . . . . . . . . . . . . . . . . . . 44

    4 Discussion 52

    5 Conclusion 55

    A Requirements documentation 56

    A.1 Functional requirements . . . . . . . . . . . . . . . . . . . . . . . 56A.2 Information requirements . . . . . . . . . . . . . . . . . . . . . . 57A.3 Hardware requirements. . . . . . . . . . . . . . . . . . . . . . . . 57A.4 Software requirements . . . . . . . . . . . . . . . . . . . . . . . . 57

    B Final evaluation criteria 58

    2

  • 8/13/2019 Mobapp Project

    4/72

    CONTENTS

    B.1 General criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58B.2 Event browsing criteria. . . . . . . . . . . . . . . . . . . . . . . . 58

    B.3 Detail event browsing criteria . . . . . . . . . . . . . . . . . . . . 59B.4 Event creation criteria . . . . . . . . . . . . . . . . . . . . . . . . 59

    C Final evaluation materials 60

    C.1 Pre-testing questions . . . . . . . . . . . . . . . . . . . . . . . . . 60C.2 Post-testing questions . . . . . . . . . . . . . . . . . . . . . . . . 60C.3 Scenario 1: Creating event . . . . . . . . . . . . . . . . . . . . . . 60C.4 Scenario 2: Browsing event . . . . . . . . . . . . . . . . . . . . . 61C.5 QR-image event. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    D Low-fi prototype 62

    E Functional prototype 63

    E.1 Running application . . . . . . . . . . . . . . . . . . . . . . . . . 63E.2 Browsing events. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63E.3 Creating event . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    F Code selections 66

    F.1 Client-Server synchronization . . . . . . . . . . . . . . . . . . . . 66F.2 Android listview . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    3

  • 8/13/2019 Mobapp Project

    5/72

    Chapter 1

    Introduction

    This document is a product driven from an assignment given to students at-tending the master course Mobile Applications(ITI45309 000). Students in thecourse will be prepared to design and develop mobile applications that workswithin specific context. The implementation can be a working application orprototypes.

    1.1 Background

    Over the past few years, technology of hand-held devices has reached a stadiumwhere mobile devices are merely used as cell phones for making calls, or sendingtext messages. Today we have smart-phones which are hand-held computerswith advanced computing abilities that provides rich features for both businessand personal use[11].

    Computer supported cooperative work(CSCW)[9] is a term that describes theuse of computer technologies to aid collaboration between people with commoninterest. Using collaborative tools, group members can share information andcooperate in much more efficient way. One of the basic idea in CSCW is the co-operation of people with geographical distance. The flow of information is quitedynamic, but one thing that does not change often is the working environmentof the group members. This could limit the cooperative work because certainpeople are bound by specific environment in order to do their work. One majorbenefit of smart devices is the mobility feature. These devices are small and

    compact and can be carried everywhere. The advantage is that the users areable to multi task which gives better flexibility in doing their activities.

    Smartphones are increasingly becoming standard accessories that we carry ev-erywhere. Advanced operative system such as Apple IOS or Google Android

    4

  • 8/13/2019 Mobapp Project

    6/72

    1.1. BACKGROUND

    provides applications for both business and personal use. Business organiza-tion are expecting their employees to be accessible from everywhere and thus

    smart phones have became mandatory business tool. For instance, Sales staffson business trips could retrieve information about product availability and pricewhile they have conversation with the customers. Any order and payment willbe submitted through the mobile device. Taking the advantage of the mobilityof smart devices, business users are able to work from everywhere which givesthem better flexibility in their work.

    Other examples, in health care doctors could retrieve important patient infor-mation from the hospital system while they are making hospitals rounds. Inpostal service, customers could track their packages while the delivery peoplecould use their device as navigation to the delivery address.

    One major use area is using the mobile device in social computing. Socialcomputing is known as social interaction between people using IT technology.Through social computing, people are communicating and sharing informationthrough the internet. Facebook and Twitter are two well known social networkson the internet where people are sharing information[2][8].

    Mobile computing has became a major factor in the advancement of mobiledevice technologies and smart phones are driven from such advancement. Thenumber of smart phone mobile users worldwide has increased. Statistics fromNielsen[7] made in December 2010 suggest that 31 % of US mobile phone ownershave smart phones. At the same year 1.6 billion mobile phones has been soldwhere 297 mill(19%) of them where smart phones. Statistics also suggest thatby the end of 2011 smart phones are expected to be the majority.

    This growth of technology acceptances can not only be described by technology

    advancement alone. Behavioural sciences and individual psychology suggestthat social influences and personal traits such as individual innovativeness arepotentially important determinants of adoption as well[25].

    Smart-devices runs operative system that provides a platform for applicationsdevelopment. The possibilities are endless of what smart devices can do, butthere are some challenges in developing applications for mobile devices. Forinstance, security and privacy are a major issue in developing application usedin social computing. These are only additional challenges in the process ofdeveloping software for smart devices.

    The process of developing software for smart devices is different from the processof developing software of for desktop computers. Mobile devices have uniquefutures and limitations. These has to be considered in the process of developing

    software that will run on mobile devices.In this document i shall look into the process of developing a software for androidmobile devices and describe both the cognitive and the practical process throughthe development of such software.

    5

  • 8/13/2019 Mobapp Project

    7/72

    1.2. PROBLEM DESCRIPTION

    1.2 Problem description

    I am going to develop an application that will be run on Android smart phonedevice. The application shall be a tool for social computing where user generatedcontent are stored and shared. Here i shall review some of the basic ideas forthe application and what the focus area is in this report.

    1.2.1 The application

    The program to be developed shall incorporate a social aspect. The applicationshould contain informations that are created by the users and are shared be-tween users. The concept idea is creating a application where people are sharingfuture events activities that takes place around themselves. These events are

    something that takes places in the real world. The application would act like akeeper or finder of these events activities.

    What are event activities?

    Events activities are considered to be actions or happenings that takes placesin a social gathering at specific places. These activities can be a musical activ-ities such as concerts or sports activities such as bowling or much more privateactivities such as birthday celebration. The main purpose of the application isto help people create and share social activities that take place in their localarea. I consider a social event to be activities where more than one person isparticipating including the event creator.

    Usually such social event are limited to certain group of people. There are twotypes of events i define for the application, public and private events. Privateevents are the type of events that the creator specify who is going to attend.Only a given group of people should have access to these events. Public eventsare open events where everyone using the application should access. These arethe kind of events that happens in a more public environment.

    Application features

    This will be a general description of the content and features of the application.These features are ideas which i would look into and possible implement in thefinal solution of the application.

    Synchronizing with social networks

    I believe the application should incorporate the possibilities of synchro-nizing with social networks such as Facebook and Twitter. This allow theusers to share their events through the social networks. Other benefit is

    6

  • 8/13/2019 Mobapp Project

    8/72

    1.2. PROBLEM DESCRIPTION

    that they could also have access to their friend-list if they want to invitespecific people for private events.

    GPS locating

    Each event should take place at specific location. The idea is that theapplication loads the events only if the users current location is near thelocation of the event. This requires to constantly check any change of theusers location and update the events.

    Event management

    The major and the important part of the application. The applicationshould obviously support the creation and browsing of events. The usersshould be able to create events by filling the necessary informations, thendecide whether the events should be private or public.

    User profile

    User profiling could be something to look into. The user profile could con-tain informations like the active events the users are attending, friendslist and events created by the user. It may be necessary to create authen-tication and save some user information in order to create a user profile.

    Digital maps

    I was thinking of implementing map to show the locations of the events.Map view could be helpful to find the location of the event if the users areunknown of the location.

    1.2.2 Focus areaI had several ideas of what the application could support as mentioned above,but unfortunately i would not be able to implement all the features of theapplication. Given the small time i had for the assignment i was forced tochoose a focus area of the application which i would evaluate.

    Figure 1.1: Application focus area

    7

  • 8/13/2019 Mobapp Project

    9/72

    1.3. RELATED WORKS

    For this project i only focused on the Event management feature of the ap-plication. Managing events is the major part of the application and i did focus

    on describing and evaluating the process the users will be following in order tocreate and browse events.

    How would a user create an event?, how would other users browse and specifywhether they would like to participate to the given events?. I needed to answersuch and similar questions during the design process. For testing and evaluationpurpose i did create a prototype implementation of the specific focus area.

    1.2.3 Motivations

    Android is one of the most known platform for smart devices. Its a open sourceplatform and there is constantly improvement. Putting aside the assignment

    which needs to be done, it was my personal motivation to study the Androidplatform and develop some functional application that can be run on Androidsmart devices.

    Social computing is the theme of the application. I have been motivated fromthe growth of application used for social computing in the mobile market. Socialnetworks such as Twitter and Facebook has became quite popular. Facebookshows the statistics of their users which exceeded 500 mill users where 50% oftheir users are active at daily level[1]. This shows how much influence suchapplications can have on people. I was hoping to create application where thefocus is to share user generated content just like Facebook or Twitter.

    The rest of the report are divided like this. The rest of this chapter coversrelated work to the application. Chapter 2 covers the methods i have used

    during the creation the prototype. Chapter 3 covers the results methods i haveused. Chapter 4 and 5 covers the discussions and conclusions.

    1.3 Related Works

    Before i started to look into design concepts and implemented a solution, i havelooked into similar application that are used on android smart devices.

    1.3.1 Location based application

    Location based application are described to be application that rely on GPSlocating. Louise Barkhuus and Anind Dey from the University of Copenhagenwrote a research paper about GPS location service and the privacy issues withlocation based services [13]. They have conducted some research exprirents onpeople to find out what people though about location based services regardingusefulness and level of concern .

    8

  • 8/13/2019 Mobapp Project

    10/72

    1.3. RELATED WORKS

    I found their work to be interesting and quite relevant to my application. Userswould be able to load events based on their gps location. The research paper

    describe some of the advantages and disadvantages of using gps services. Thereis also the security issue of using such system which i would like to look into formy application.

    1.3.2 Planning

    Planning is something that is considered to be important when making dis-cussion. The Theory of Event Coding (TEC) is a cognitive psychology theorydescribing how perceptual representations (e.g. of things we can see and hear)and motor representations (e.g. of hand actions) are linked[12].

    This research paper about behavioral and brain sciences gives an overview

    about the theory of planning[24]. I believe the planning is essential thing whenthe users are going to use the application. The users actions of creating andbrowsing event requires planning which happens outside the application usagescope.

    I didnt want to consider things to be obvious, which is the reason i reviewedthe research paper.

    1.3.3 Event correlation using dependency graphs

    Event correlation is a technique for making sense of a large number of events andpinpointing the few events that are really important in that mass of information[10].This reserach paper show an approach to improve the technique using depen-dency graphs[14]. The topic mentioned in the paper is Fault managementwhich is something outside my project, but i could see some similarities. Icould think of some dependences when the users are going to create a privateevents . The event creator may be interested in knowing whether specific peo-ple are able to attend the event. This could happen before the user creates theevent. If the creator knows that important people may not be able to partakethe event, then the user may choose not to create the event. With the knowl-edge of dependency graph or more accurate social graph the users are able toregister whether the event should be created or not based on the users that areable to attend it.

    9

  • 8/13/2019 Mobapp Project

    11/72

    1.3. RELATED WORKS

    1.3.4 Similar applications

    I have also been looking into similar applications which are available for theAndroid platform.

    Foursquare

    Foursquare is a location based social application that is available for differentmobile platforms[3].

    Figure 1.2: Foursquare

    The applications allows the users to tagspecific places they have visited before.They could save the gps location andadd informations to places they know off.Foursquare will load these places based onthe current location of the users. Once

    the user is near any specified places, theyare able to CHECK IN to that specificplace. Checking in to place gives muchmore details that has been left by oth-ers who has visited the place before. Thesocial aspect of the application is thatusers are sharing their current locationby checking in to places. They are ableto leave comments of what they are doingor leave recommendation of what peoplecould do when they arrive at the sameplace.

    Foursquare has a game-system whichgives the users some advantages by us-ing the application. For each Check insthe users are able receive points and ifthey have enough points they would un-lock badgets or trophies. Once a user

    has gathered enough points by checking into the same places several times, theuser is rewarded by becoming a mayor of that specific place. Being mayormay give some advantages in the real world such as getting free drinks if thatplace is a bar or getting discount at gasoline stations.

    I have been using Foursquare some time and believe that many features of theapplication is similar to the application i am trying to create. Some similaritiesare the flowing:

    The application is loading places based on the users location which issimilar with my application that loads events based on the users location.

    User profile that contains personal information about the user such asfriend-list,checked in places and points.

    10

  • 8/13/2019 Mobapp Project

    12/72

    1.3. RELATED WORKS

    Once checked in to a place, the user is able add comments to the placewhich would be similar to my application where the users are able to

    comment on events.

    Map that shows the location of the place which would be similar to themap in my application that shows locations of the events.

    Even though there are some similar features in Foursquare which i wanted toimplement into my application, i still needed to mention one major differencebetween the applications. In Foursquare by checking into places what people aresharing is their current location and what they are doing, but my applicationcontains events that people are going to attend. While the focus in Foursquareis here and now in other world what is happening now, the focus of my appli-cation is there and then in other words what will happen in the future.

    Gowalla

    Similar to Foursquare, Gowalla is also a location based application where usersare able to check in to places[4]. Gowalla came out after foursquare, so its quitenew compared to Foursquare.

    Figure 1.3: Gowalla

    I have also tested Gowalla and have beensatisfied with the application. Althoughthe application is similar to Foursquare,it has its unique features which i have be-came fund of.

    Gowalla has better social networks syn-chronizing feature then Foursquare. I waseven able to synchronize with Foursquare

    to retrieve information about my checkins. Like in Foursquare there is a game-system, but unlike Foursquare there is noreal advantages yet.

    One think i have notices was the applica-tions unique user interface. I think thedevelopers have done a good job withthe way the informations are presentedto the user. Things like colour choice,font style and layout is much better thenFoursquare in my opinion. Gowalla hasnice interface which makes it worth look-ing into it when i am designing my appli-cation.

    11

  • 8/13/2019 Mobapp Project

    13/72

    1.3. RELATED WORKS

    Facebook Event & Facebook Places

    Facebook events is part of the social network Facebook. Its a service which isintegrated to Facebook, which means it can be used from the Facebook webpage.Facebook Events allows the users to create any kind of events then specify aguest list of people who can attend the specified event. Those who are registeredin the guest list will automatically obtain invites to the events which means theirare able to view the events on their Facebook event calender.

    The Facebook application for the Android has the event calender integrated,butdoes not support any event creation. In order to create a event, the users areforced to use facebook through a web-page and create the events there. FacebookEvent service is similar to my application as it also deals with creating events,browsing events and inviting people to that event. The difference is that thereis no location based events which means that users are viewing events regardlesswhere they are.

    In the other hand Facebook Places is a location based service that is part ofFacebook which allows the users to check in into places just like Foursquare andGowalla. Both Facebook Events and Facebook Places are services linked to theFacebook social networks. This means that the users are only be able to sharewith their friends throw Facebook.

    I have looked into both of the services as they contain enique features whichi wanted to integrate into my applications. Not only Facebook Events andFacebook places, but also Gowalla and Foursquare have some features that icould use. I have reviewed these applications including some research papers sothat i could have a better understand of how other people have implemented asolution of the same idea. I have looked into some applications that has been

    used successfully and believe that i could learn much about them.

    12

  • 8/13/2019 Mobapp Project

    14/72

    Chapter 2

    Methods

    In this chapter i will be describing the methods i have used during the process ofdeveloping the application. The chapter is divided in two parts, the first part willcover any methods i have used in order to create the prototype and in the lastpart i will describe any methods i have used to evaluate the prototype.

    What i was trying to create was an application that is run on smart-phones andis used by people. As a designer of the application i needed to understand theinteraction between the users and the application. There have been many ap-proaches to interaction design, which have come from diverse domains, includingsoftware engineering, HCI, and other design disciplines[15]. Steven Heim hasmentioned in his book some of design models that can be used in the process ofdesigned and creating a interactive product[19].

    2.1 The design process model

    Figure 2.1: The design process model

    13

  • 8/13/2019 Mobapp Project

    15/72

    2.1. THE DESIGN PROCESS MODEL

    In my project i used a design model called the design process model. The modelcontains three phases(Discovery phase, Design phase, Evaluation phase).

    The first phase is the discovery phase. In this phase i needed to define theidea of the application and collect necessary information, interpret the collectedinformation and create necessary documentations such as requirements docu-ments. Any findings in discovery phase will be helping me during the designand evaluation phase.

    Figure 2.2: Discovery Phase Framework

    The data collection and the interpretation of the data was the must crucialpart of the discovery phase. It was important for me that i was able to gathernecessary information such as:

    Who the users are?

    In which context is the application used?

    What is the content of the application and how does such information flowfrom one user and other?

    and many more

    These data needs to the interpreted in a proper way in order to find out whati needed for the design of the application. During the discovery phase i neededto collect data that helped me define the ideas of the application. I neededto understand what kind of data that were required in order to create theprototype.

    I used the discovery phase framework as a guide line and make sure that i dontmiss any important information which could have effected the design of theapplication. since the framework supports iterative process i was be able tomake changes if it was necessary.

    The design phase was the second phase in the design model process. Thisphase is divided into two parts, conceptual design and physical design. In theconceptual design part, i started thinking about how i could realize the ideas

    14

  • 8/13/2019 Mobapp Project

    16/72

    2.2. THE DISCOVERY PHASE

    of my application. I needed to look into any design alternatives that couldincorporate the requirements of my focus area of the application.

    It was in the physical design part where i created the functional prototype basedon the conceptual design. The functional prototype must contain any require-ments i have created for the specific feature. I intended to use the functionalprototype for the final evaluation on potential users. The focus of the functionalprototype was to make the parts of the feature mentioned in the evaluation cri-terion to be testable.

    The evaluation phase was the last phase of the design process model.This phaseis not a discrete phase and should be included in the entire design processincluding the discovery and design phase. During the process of creating theapplication prototype, i have been trying to evaluate all the choices i have takenregarding the concept of the application and once i have created a prototype ihad to perform user testing on the prototype.

    There was iteration between these phases that provides answers to design ques-tions. I have chosen similar approach in different project which was the reasonchoice the same approach. Other reason for choosing this model was becausethe model is generic and incorporates many aspects of several models includingWaterfall model, Spiral model, prototype based model,etc.

    2.2 The Discovery Phase

    I started with having several ideas of what the application should include, butall my ideas were quite vague and i was not sure if everything was what i needed

    and not to mention if i could implement any of the ideas into a prototype. Notknowing where to actually start i consulted with the course supervisor aboutmy ideas. I was told to choose a focus area and focus on how to improve thatspecific area. Given the small time i had with the course assignment i shouldnot dwell on trying to implement all of them.

    Brainstorming and collecting informations

    In order to specify my ideas much better i started to create a list of my ideas.I started with the things i found was interesting that could be implementedas a features in the application. It was my motivation from start to learnprogramming on the android platform and create something functional that

    could be used, so i also thought about which features of the application i shouldchoose in order to create something functional. It helped looking into the listof ideas i have created and start reviewing them. I also started looking intosimilar applications for inspiration.

    15

  • 8/13/2019 Mobapp Project

    17/72

    2.2. THE DISCOVERY PHASE

    The conclusion i came with was that the users and their generated contentare the most important in the application. My focus should be about how the

    users would generate contents into the application and how these user generatedcontent are shared among the themselves.

    Usage Scenario

    After the brainstorming i found out that my focus for this project should bethe part where users create and browse events. In another words my focusarea was the event management part of the application. Next thing i did wasto specify the roles the users takes and the processes of creating and browsingevents. I created two scenarios which specified the actions the and the roles theusers would perform when they are using the application. The focus area of theapplication consist of two parts. The first part is about users creating eventactivities and the other part is where users browse and choose to attend events.I created one scenario for each part.

    A scenario is a description of typical task a user may perform with the proposeddesign[20]. The purpose of using scenarios was to help me as a developer to puttogether my ideas in details and to create a meaningful usage situation. Thescenarios helped me to specify the tasks i believed the users would perform whenthey are creating or browsing event activities. By looking into the scenarios icould point out which functionalities were important in order to for the usersto do their tasks.

    Use case

    Based on the scenario i was able to create a use case which helps me illustratethe roles the users can take and the tasks that are performed in each role. Usecases represents formal approach to interpreting work flows and processes[22].Use case helped me to point out any particular goal of the users within the focusarea of the application and helped met to illustrate the interaction between theusers and the application.

    Stakeholders profiles

    By using scenarios i was able to define any user roles and their tasks, but i havenot looked into what kind of people the users are. I have created stakeholders

    profiles which could help me understand the people that are involved in myproject. The most important stakeholders are the primary stakeholders whichare the end users of the application i am trying to create[21]. Its always im-portant to identify primary stakeholders, so that i would understand the usagecontext and their expectations of my application. Identifying the stakeholders

    16

  • 8/13/2019 Mobapp Project

    18/72

    2.2. THE DISCOVERY PHASE

    early in the design project helped me cope with their needs by implementingtheir requirements early in the process of the design. This reduced unnecessary

    time consumption when i was evaluating.

    Creating requirements document

    The last thing i did in the discovery phase, was to create a documentationregarding the projects. I created requirements documentation that specifiedthe requirements of the applications[18]. This document included the follow-ings:

    Functional requirements, which are the features of the application.

    Information requirements, which describes the informations that are re-quired in order to use the features of the application.

    Physical requirements, which describes any hardware that is needed inorder to use the application.

    I have created the requirements document by analysing users roles and theirtasks. The requirements documentation is based on what the users are expectingfrom the specific feature of the application. The scenarios and the use case earlyin the discovery phases were the focus when i created the requirements. Therequirements for the applications can be found in Appendix A.

    First i thought that the requirements documentation should contain all thefeatures of the application, but i figured that it was unnecessary as i am onlyfocusing on one feature of the application. If i was supposed to create therequirements for all the features, then i think i would have been forced to include

    all the features of the application as my focus area.

    17

  • 8/13/2019 Mobapp Project

    19/72

    2.3. THE DESIGN PHASE

    2.3 The Design Phase

    Once i have researched and created requirements documentation in the discov-ery phase, i moved to the design phase. In this phase i needed to define adesign for my application. In order to do this i needed to explore some designalternatives.

    Conceptual design

    First thing i did was to review my requirements document and make list ofthings to implement in the design. This helped me to remember what to lookafter as i researched some design ideas.

    Brainstorming

    This was a brainstorming process as i continued with reviewing some similarapplications that i discovered early in the discovery phase. I have installed theseapplications on my smart phone and started browsing through their features.As i was testing these applications, i have created the following questions thathelped me analyse my findings:

    What kind of design pattern are used to present the user generated con-tent?

    How are these information organized for presentation?

    What about accessibility of the information, how easy is it to access these

    information?

    Basically i felt my self to be a user of these applications and i was testing themso that i would get some inspiration. It helped using the questions mentionedabove because i managed to be critical to my personal views. I have also usedthe notes i have created from the requirements document to narrow down myfocus during the evaluation of the applications. This helped to focus on onlythe features that have important data which i could use.

    Once i was finished with reviewing the applications. I made some notes andsome drawing sketches regarding which applications that gave me some ideas ofhow to implement a design for my application.

    18

  • 8/13/2019 Mobapp Project

    20/72

    2.3. THE DESIGN PHASE

    Scanning events using QR codes

    While i was reviewing application that were similar to my ideas, there was oneother thing i wanted to find as well. I wanted to implement something thatwas unique to my application. Since the application was going to be run ona smart device, maybe i should use some of the features that are found onsmart device. The idea was to scan and load events using the camera of thedevice. For this to work i had to update the requirements document with newinformation regarding the QR images and the requirements of using them in myapplication.

    Scenario with Persona

    Earlier in the discovery phase, i created this scenario which helped me to define

    a usage case of the application. The purpose was to define the roles of theusers and the tasks that has to be performed for each roles. I have also createdstakeholders profiles, which is a detail description of the people involved theapplication.

    The users mentioned both in the scenario and the stakeholders profile, doesnot have any personalities which i believe is important when trying to find thepotential users of the application. I needed to find the reason why any specificuser needs to use my application and in order to do that i needed to make thetarget users feel more real when i was describing them.

    A persona is a user profile with a face, a personality, a history, a skill and a backstory[17]. I created several personas based on the primary stakeholders. Usingpersonas makes the users more real which makes easier for me to describe theusers.

    Once the personas were ready i created new scenarios similar to the first one icreated in the discovery phase. One different about the new scenario is that itcontains some of the personas i have created. These new scenarios did not onlydescribe the specific situations and the users tasks, but they also described thepurpose of the tasks from the users perspective. Its easier to speculate aroundthe reasons why people would do the things they do if these people have personalhistory that suggests that.

    Flowchart

    Once i created the new scenario i moved on creating a flowchart. I have usedflowchart to illustrate the process the users needs to follow in order to performa task on the application. This was the fist stage to the functional prototype.Earlier in the discovery phase i created a use case that illustrated the roles ofthe users and the flowchart illustrates the process they have to follow whenthey are using the application. The flowchart illustration the users actions and

    19

  • 8/13/2019 Mobapp Project

    21/72

    2.3. THE DESIGN PHASE

    how one action leads to another action. The flowchart was useful when i wascreating the functional prototype as it illustrated how things are connected in

    the application. Once the flowchart was ready i used the scenarios with thepersonas to test the flowchart. The reason for doing that was to figure out ifthere were some dead-ends in the design.

    Physical design

    Once i have reviewed similar applications, created flowchart,scenarios and per-sonas i moved into the the design of the physical prototype. Since i was creatingthe application for the android platform i needed to research how other devel-opers have implemented their design. There is also some User interface designpattern which Google has recommended and is commonly used so i have tostudy them. I have also studied the user interface of similar applications suchas Foursquare, Gowalla and Facebook.

    Wireframes

    I have used the flowchart to create a wireframe. Wireframes are basically struc-tured skeletons of screen design[23]. Wireframes should be in detail, but alsoshow the basic design pattern. The design of the wireframe is based on somedesign pattern which i found was interesting after reviewing some applicationfor the android platform.

    Lo-fi prototype

    Wireframes only contains the basic design concept of the application. Basedon that i created a low-fi paper prototype which contains more content thanthe wireframes. I reviewed the requirement document for the application tofind out what kind of information was necessary to be shown in the applicationand i have filled the information in to the wireframe which became the lo-fiprototype.

    Functional prototype

    At this stage of the project i was sure that i had everything i needed to proceedwith creating the functional prototype. The idea behind the functional proto-

    type was to have something functional that i could test on the users. I couldhave used the low-fi prototype on paper for usability testing, but i choose tocreate a functional prototype which i could load into a smart device and let theusers test it. I believed that the functional prototype could give better impres-sion on the users about the application then the low-fi. The other reason for

    20

  • 8/13/2019 Mobapp Project

    22/72

    2.4. THE EVALUATION PHASE

    creating a functional prototype was because i wanted to learn android program-ming. That was one of the things that gave me motivation during the projects

    process.

    2.4 The Evaluation Phase

    I have an idea which is the application and i have chosen a focus area of theapplication which will be implemented for evolution. This implementation ofthe prototype will be evaluated and tested on potential users. The process ofcreating and evaluating the prototype is a iterative process, where i will be doingsome changes based on feed-backs from the users.

    Its necessary to include potential users during the design process in order todiscovery any weakness or improvements in the application. The discovery,design and evaluation phase are not mutually exclusive. Any findings fromevaluating may results in altering the concept of the application. Since thereis iteration between the three phases, i was able to go back to previous phasesand make some changes to improve the application.

    Discovery phase evaluation

    The evaluation phase is not necessary the last phase of the design process. Itried to be critical to my discussion during the entire design process and i haverstarted with my first evaluation already in the discovery phase. From the start itwas completely my choice to think of an idea and start to create an application.

    I was free to choose what kind of application i wanted to create, but it wasimportant for me that the concept of the application was something that wasunderstandable by others. The usage scenario i created in the discovery phaseserved the purpose of conveying my ideas to others people. It was kind of myfirst evaluation of the application to see if the idea behind the application wassomething other people could agree with.

    The usage scenario started with having almost no content at all. This wasbecause at that point of the project i was still not sure about the purposeof the application and how it was going to be used. First i tried to describethe idea of the application through conversations to my friends in order to seewhat they though about the idea behind the application, but that was not easy.Obviously i was not really good at describing the application so i had to thinkabout another way of conveying my ideas. This was were a scenario came inwhich made thing easier. The scenario was an example of how people was goingto use the application. I didnt show any written sample of the scenario, butcreating the scenario made it easier for me to talk about my application once iwas able to present a usage example. I had several conversation with my friendsand i made some notes of new ideas or improvement of the application.

    21

  • 8/13/2019 Mobapp Project

    23/72

    2.4. THE EVALUATION PHASE

    Design phase evaluation

    Evaluating the design of the application was the most important part of theproject. The design of the application was based on the work i have done in thedesign phase. I was determined to create a working prototype of the applicationwhich i could run on a android device. I created flowchart and wireframes sothat i could test the design ideas. This could have been seen as an internalevaluation, where the developers are gathered and evaluate the design based onany requirements for the design. I have analysed and evaluated the flowchart,wireframes and the low-fi prototype to make sure that all the requirements wereat place. This was like an internal evaluation where i didnt involve any potentialusers. It was important to me to make sure that i was satisfied with the designi have created before i presented it to the potential users. I have used scenarioson the flowchart, wireframes and the low-fi protype to point out any weaknessand try to fix them before i moved on the functional prototype which will betested on potential users. s

    Functional prototype evaluation

    I have created the functional prototype which was based on the work i have donein the discovery and the early design phase. The prototype was programmedfrom scratch, but the design concept of the prototype was based on the low-fi prototype which again was based on the design ideas i have gather afterreviewing similar application such as Foursquare and Gowalla.

    First evaluation

    Related to the Mobile application course, the students were asked to presenttheir project to the entire class. I was not finished with the functional prototype,but this was a great opportunity for me because i was able to evaluate the designand the concept of the functional prototype.

    For the presentation each students was given fifteen minutes to talk about theirprojects. For my presentation i created some slides which i used during thepresentation. Once it was my turn to present i first talked about the ideabehind the application and what it was going to be used for. Afterwards ipresented some of the applications i found was similar to my application andwhat i believed was different between the applications. Lastly and the mostimportant part of the presentation i created a usage scenario of my application

    which i presented to the class.

    I created some images of the application which contained a scenario. The sce-nario contained a description of me creating an event and inviting everyone thatwas presented in the classroom. I described what did in order to create the eventand what the class had to do in order to browse and attend the event. After i

    22

  • 8/13/2019 Mobapp Project

    24/72

    2.4. THE EVALUATION PHASE

    finished with the presentation i asked the class to comment on the idea of theapplication and the usage scenario.

    Final evaluation criteria

    Once i was finished with the programming and created the functional prototype,it was time to evaluated it on potential users. Before i started with the usabilitytesting, i had to define what i wanted to test and how i would perform thetesting.

    As i have mentioned in the introduction, the application has several featuresand for this project i have chosen one specific feature as my focus area. I haveimplemented i functional prototype for that specific feature. It became obviousthat what i wanted to test should involve my focus area which is the event

    management feature of the application. In order to define what i wanted totest, i created some criteria which could help me measure the usability of thedesign. These criteria are set of rules i have defined for the application. JakobNielsen has developed a set of 10 heuristics for interface design. I have lookedinto them and decided to create my own criteria[16].

    The rules of criteria are more like expectations which the prototype needs tosatisfy. These rules looks similar to what i have in the requirements documen-tation. I have defined these rules based on what i believed to be important forthe design, but the users expectations are more important which is why testingis required. The criteria can be found in Appendix B.

    In the criteria i have defined that the design should have simplicity and easy touse. I also define that the users should be able to do their work in a efficient

    and effective way. I founded these criteria to be difficult to use. The problemswere the followings:

    How should i measure if the users finds the design to be effective?

    How do i measure whether the users are able to create and browse eventsin effective and efficient way?

    I knew what to test which is to find out whether the users are able to createand browse events in a effective and simply way using the design proposed inthe prototype, but i didnt know a way to measure the results. Effectivenessand Efficiency is something that is not easy to measure.

    One thing i could do was to use statistics to measure the usability and to findout whether the design is good or bad. I could have numeric presentation that

    suggested whether the design was good or bad. For instance 9 of 10 peoplefound the application to be easy to use or 60% of the user found the applicationto be easy of use. I could also measure the amount of the work the users mustdo in order to reach their goal. I could for instance try to measure the amount

    23

  • 8/13/2019 Mobapp Project

    25/72

    2.4. THE EVALUATION PHASE

    of clicks in a given tasks and measure the effective and the efficiency based onthat.

    I have decided not to use statistics for the measurement of the design usage.I wanted to evaluate the personal opinion of the users. Using statistics makesthe results impersonal and the feedbacks from users will be more generalized.It is difficult to analyse percentages because they present generalized view ofall the users. Focusing on the personal opinions of the users has also its flow.People have separate opinion of what is good and what is bad. The userswould base their feedbacks on their personal view. I cant not evaluate andmake critical changes to the design based on individual users. I need to finda common interests between the users and based on that make changes to thedesign.

    Final evaluation process

    After i have created the evaluation criteria i started with the usability testing.In order to test the application i needed the followings:

    A quite place to perform the testing

    Two smart devices which runs the application

    Two scenarios that plays each user roles of the application

    Two participants to play the two rules

    Pre and post evaluation questions

    Pen and paper to make some notes

    Pre and post evaluation question

    I have created pre-evaluation and post-evaluation question that i used during thetesting. The pre-evaluation question is used to register whether the participantsare a smart device users since the application runs on smart phones with touchscreens. The pre-evaluation question also covers whether the users are familiarwith social networks. I also wanted to find out whether the users were familiarwith social application such as Foursquare and Gowalla. The purpose of thesequestion was to make the participants compare my application with similarapplications mentioned.

    Two evaluation scenarios

    I have also prepared two scenarios which i will be using during testing. Thepurpose of using the scenarios was to give the users a usage case of the appli-cation that seemed realistic. I wanted to give a realistic feelings to the events

    24

  • 8/13/2019 Mobapp Project

    26/72

    2.4. THE EVALUATION PHASE

    that is why i prepared the scenarios. If the users had a better usage scenariosthey were free to use them.

    The scenarios served some other purposes as well. These scenarios containedeach user roles of the application. The scenarios were not complete and did notdescribe the tasks of the users in details. The scenarios only contained the goalsof the user, but not the actions that are needed in to order to reach the goals. Ihave done this on purpose. The reason for doing this way was that i wanted togive the users the freedom to explore the application. This was an opportunityfor me to evaluate first time user experience.

    What i could have done instead was to create the scenarios to be more detailedwhere they contained not only the the goals of the users, but also step to stepdescription of how the users where going to reach the goals. The problem withthis type of scenarios were that they may limit the creativity of the users. Sincethe users are asked to follow a set of procedures, they may believe that it wasthe correct way of doing the tasks. I was hoping that the users would havedisagreed with me during testing. This way i know that my design needs to beimproved. I felt that i was guiding the users through the application and limittheir personal views if i had used a detailed scenarios. That is why didnt usedetailed scenarios.

    Two participants in each usability testing

    As for the user participants, i required two people in each test. Each personwould take one of the two rules which are the event creator and the eventbrowser. I have also uploaded the application on two separate devices so thateach participants could test the application separately.

    I could have used one person and ask that person to change roles during thetesting, but i have chosen not to do so. There are two reason for not usingonly one person. First was the social aspects of the application which is quiteimportant. By using two people i hoped to demonstrate the social activity theusers are engaging in by using the application. For this reason i tried to create afunctional prototype that actually could synchronise several devices. Once theparticipant that plays the role of the event creator creates an event. Afterwardsthe participant that has the role of the event browser would be able to browsethe events using his device. This was the social aspect i wanted the users toexperience. I could not test this if i had used only one person. Other benefits ofhaving several participants where that i hoped to initiate some discussion aboutthe usage of the application between the participants and me. This would also

    cover the event planning part of the application as the participants engage indiscussion about what kind of event they would like to create.

    The are some challenges of using several participants in the usability testingwhich i had to think about. My application is a result of an individual work.I have designed the prototype and only i could perform the usability testing.

    25

  • 8/13/2019 Mobapp Project

    27/72

    2.4. THE EVALUATION PHASE

    A usability testing requires three things, participants, testers and observers. Ihave two participants, but the problem is that i was alone with the project so i

    needed to play both the roles of the tester and the observer. I could not bothobserve and test the participants at the same time. I could only focus on oneparticipants at a time. What i needed to do was to define a technique whichcould help me perform the usability testing in a effective way.

    Figure 2.3: Usability test

    The figure above illustrates how things are connected during the usability tests.There were two participants and there were two designs of the prototype sincethere are two devices that runs the application prototype. I couldnt observeeach participants at the same time. What i did was to change my focus aroundbetween the participants while i observed and test their actions. I wont befollowing how the users are using the device in details as well. I observed boththe the participants and the device at their hands and judge their performancebased on how conformable and easy they are at using the device. I believe thiswould be a very difficult thing to do. One thing that helped was asking the par-ticipants to think out load so that can could understand their intentions.

    In order to help me through the testing sessions i have created and followed thefollowing procedure:

    1. Great the participants and use the pre-evaluation questions

    2. Give a general description about the concept of the application

    3. Assign user roles for each participants

    4. Assign scenario related to the roles

    5. Start the test with the event creator and observe the event creators actions

    26

  • 8/13/2019 Mobapp Project

    28/72

    2.4. THE EVALUATION PHASE

    6. analyse and make notes of event creators actions

    7. Continue the testing by focusing on the event browser and observe theevent browsers actions

    8. analyse and make notes of event browsers actions

    9. Group discussion using the evaluation criteria

    10. Post-evaluation question

    11. Complete the testing session and thank the participants

    12. Reorganize the notes and analyse the results

    Since its the event creator that starts using the scenario by creating an eventi could move my focus on that participant. I Observed the actions and thebehaviour of the event creator. Once the creator was finished i moved to the

    next participant and did the same. Once both were finished with their scenariosi asked the participants to review their actions by having a discussion withthem. Once i finish with the testing session i needed to analyse and documentany findings before i moved to the next testing session. The questions andthe scenarios including other meterail i have used can be found in AppendixC.

    27

  • 8/13/2019 Mobapp Project

    29/72

    Chapter 3

    Results

    The results chapter is divided int two parts just like the methods chapter. Firsti will describe the results of the methods i have used during the design processof the prototype. Lastly i will describe the results of the final evaluation on theprototype.

    3.1 Discovey/Design/Evaluation results

    As i have mentioned in the previous chapter, the first thing i did was to createa scenario which helped me to convey my ideas of the application.

    Usage Scenario

    1. User A would like to socialize with his best friend User B in the comingweekend. User A knows a really good restaurant that has been recentlyopened in the city. User A already loaded the application on his androiddevice and is ready to use it. He chooses to create a new event in theprogram and starts adding information. First is the title of the event thenhe chooses the date and hour of the event. Furthermore he chooses thelocation of the event meaning the location of the restaurant. User A canalso add a small description of the event. User A will chose this event tobe private which means that only him and other people that he invites

    are able to access the event. Lastly User Awill go through his friend listand invite User B to participate the event.

    2. User Bwill get notification on his device that runs the application. GiventhatUser Bis within the location of the event activity, he is able to browsethe event. User B is able to see who has created the event and read the

    28

  • 8/13/2019 Mobapp Project

    30/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    content of the event written by User A.User B is able to comment andrate the event which User A can register on his device. Finally User B

    chooses to attend the given event which also notifies the creator of theeventUser A.

    Above i have the two scenario which i created to help me start the project. Thefirst scenario contains the tasks i believed to be completed in order to create anevent. Once the event has been created the user sends invitation. I also includedin the scenario some of the event contents such as title and location.

    In the next scenario i described what happens when a user receives an event.Those who receive the events invitations are able to attend the events. The usercan also rate and comment on the event which can be viewed by all the otherusers that has access to the given event.

    I created these scenarios early in the design process, so the content are little

    vague to understand. I didnt describe what the users are doing in a detail,but rather what they could have done with the application. Notice also that ididnt specify any personas for the users. The users are classified has User Aand User B. The users where actually not that important for me at that time.I was more focused on describing the content of the application. I didnt showthe scenarios to the potential users because i believe the content of the scenarioswere to vague to understand. What i did was to use the scenarios as an usageexample through conversation i had with potential users.

    The results of using these scenarios was that i was able to start with the project.I have used these scenarios as a starting point which helped me move on withthe project.

    Use case

    Figure 3.1: Use case diagram

    The use case diagram above was created by analysing the scenario i created in

    29

  • 8/13/2019 Mobapp Project

    31/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    the discovery phase. As i have illustrated in the use case diagram ,there are twouser roles the application. When a user has the intention of creating a new role,

    then that user takes the role of an event creator. As an event creator, the usermust plan and create a new event and send invitations to those who are goingto attend the event. Of course the event creator has access to the created eventso he or she is able to read the event, comment and attend it. One thing theevent creators cant do is to rate the event they have created them self.

    The other user role in the application is the event browser. As an event browser,the users receives invitation which gives them access to the event. The eventbrowser can rate, comment and choose to attend the given event.

    I thought i had a really good start with creating the scenarios and the use casebecause after creating them i had several unanswered questions. Some of thequestions i was left with were the followings:

    What kind of people are the users?

    How would the event creators actually create events?

    How would those who has received the invitations browse the events?

    I had some many questions related to the design of the applications. It wascrucial for me to find out the answers to these questions.

    Analysing stakeholders

    Understanding about the users of the application was crucial. I wanted myapplication to be something people would actually use so it was essential to

    know the kind of people that will be using the applications. If i understood theusers then i could build an application which meets their needs. I though thatsince the application was going to be used by real people, the application shouldhave a user-centred design.

    Figure 3.2: Primary stakeholders

    30

  • 8/13/2019 Mobapp Project

    32/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    The primary stakeholders are the end users of the application. That is whythey were my focus from the start. It was important for me to analyse the

    primary stakeholders in depth in order to to understand how they would usethe application.

    My understanding of the primary stakeholders were that they were the peoplethat loaded the application on their devices and use it freely. The applicationcontains user generated informations that are shared among among the users.The same people can also be defined as the secondary stakeholders as they arethe ones how provide inputs and outputs of for the applications.

    Figure 3.3: Facilitator stakeholders

    The facilitators stakeholders are the developers of the application. Since i amdeveloping the application i am also listed as a stakeholder. My actions andcontribution will also decide the effectiveness and the efficiency of the design.

    I alone would be responsible for the continuation the completion the applica-tion. Of course i also considered my self as primary stakeholder, but until theapplication is completed my role will be a facilitator.

    Context of use

    Building an application for a mobile device is not the same as building applica-tion for desktop pc. The way people use desktop devices is different from howpeople would use mobile devices. Desktop devices or personal computers hasstatic location. Users are forced to remain in the same environment in order touse the computer. This is different with mobile devices. Because of the mobilityfeature of mobile devices there are contextual difference between PC and smart

    phones. I wanted to specify context of my application and in order to thatthere are three major things that are important, the users,the device and theapplication[6].

    Starting with the the device, it can be any smart devices as long as it supportsAndroid OS. The device is personal and remains with the user everywhere. The

    31

  • 8/13/2019 Mobapp Project

    33/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    device is small and has certain limitation such as battery life ,small screen,wireless access etc. The device is very technical and features many technology

    such as camera, several sensors and GPS receivers. The device links the userswith the my application.

    As for the users, they are the ones that carry the devices that would run theapplication. The users are always in motions. They can use the device with theapplication in regular bases, but only on limited time. The users are able tomulti task by using the application while they are doing other things.

    Lastly the application also defines the usage context. The application is linkedwith the users through the device. The application Inherit the mobility featureof the device which means that the application should work where ever thedevice is usable by the users. The application is depended on certain features ofthe application such as camera access or wifi in order to work properly.

    32

  • 8/13/2019 Mobapp Project

    34/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Analysing similar application

    Early in the design phase i have reviewed and tested some application which ibelieved were similar to application. The purpose of reviewing these applicationwas to

    Figure 3.4: Foursquare list of places

    I have started with testing Foursquare as the first application. As it can beseen by figures above Foursquare has really nice design of the user interface.The figure on the left side shows the browsing menu of places nearby that icould check in. Foursquare uses gps to position my current location and it willupdate the the places to for me to check in. I liked that fact that they used alist to show and categorize the information about the places. Each row of thelist contains the title of the place, how far is the place in meter from my currentlocation and an image icon that illustrates what kind of place it is. For instanceif its a hotel than you get an icon of a bed.

    The figure on the right side shows detail information of selected place. Here icould see the option of checking into into the place. I could also view if othersuser have left some tips regarding the place which i could add to my to-do list.

    33

  • 8/13/2019 Mobapp Project

    35/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Foursquare has also build in map which i could use to view the place on a map.

    Figure 3.5: Gowalla list of places

    Gowalla is similar to Foursquare, but i think it has better interface then Foursquare.Colour usage and the styles are so much integrating which makes it really unique.Just like Foursquare gowalla presents the places in a list with an image icon,title and the measurements of the distance between the user and the specificplace. Once you click on the place, you get a detailed information about theplace. unlike Foursquare you also see how many people that has been checkedin previously.

    These two applications have became quite successful and a lot of people are usingthem already. This was an opportunity to get inspired by these application.

    Foursquare and Gowalla where one of the application i have reviewed and gaveme some inspiration of how to implement my own design.

    34

  • 8/13/2019 Mobapp Project

    36/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Personas

    Christopher Andersen is a collage student at his 20s. He was born and raisedin Oslo. Christopher is studying media communications and fins communica-tions between people the utmost important in life. His view of it technologiesis that its a tool that can be used to help people connect and enhance theircommunication with each other. Being born in Oslo, Christopher grow up tobeing an outgoing person. He treasures his family and friends and spends muchtime with them. Christopher has been Facebook user since Facebook was in-vented. He finds it to be a great tool that helps him to keep in touch with hisfriends.

    Kim Andreahas recently finished with a collage degree and has started work-ing in a economic department of a small company. Kim is born and raised inBergen, but moved to Oslo when he got the job offer. Kim has became an

    effective user of Facebook and Twitter over time. He found it to be a great toolthat helped him to keep contacts with his friends and family in Berger.

    I have created the scenarios above when i wanted to form an idea of how theprimary stakeholders could be. My idea of the users was that they were relativelysocial people and where using social networks. My thoughts were that the usersmust have something to share with other people in order to use the application.The users generated content are the utmost important in the application. Ifnone is created then the application is useless.

    Scenarios with Personas

    After the creation of the personas, i moved on creating scenarios which containedto those scenarios. The reason of doing this was to see whether i found the realtype of users for the application. I also wanted to improve the task of theapplication since i have reviewed similar applications and found some new ideasto improve the usage of the application.

    Its the Friday after after noon and Christopher nearly finished with hisstudies for the day. He logged in to his facebook account as usual to checkhis wall status. He notices that Kim has left a message on his wall askinghim what he would do later in Friday. He though since its Friday andboth of them are staying in the same city, maybe there was somethingthey could do together. Christopher remember that there is a new theatreshow to night and though it could be interesting to watch it. He knowsKim would like something like this and decided to see that show with

    Kim. Christopher loaded the application on his android device. Oncehe was authenticate, he was able to browse a list of features events nearhim. He wanted to create a new event regarding the show tonight so heselected to create a new event in the application. He was moved to anew page of the application and was asked to fill in information about the

    35

  • 8/13/2019 Mobapp Project

    37/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    new event. He filled the title, date, time, location and description of theevent. Furthermore he selected Kim to included for the event invitation.

    He selected the event to be private which means only him and kim areable to attend. Lastly i submitted the event for creation.

    Kim got alert notifaction on the smart device. It was from the application.He logged in to the application and he could see a new private event inthe list of events near him. He selected the event and could see detailinformation about the event that was posted by Christopher. Kim chooseto attend the event by clicking Atend.

    These two scenarios were much detailed then the fist two i created in the dis-covery phase. They include the followings:

    Personas which may indicate the type of the users that are going to usethe application

    Activity before creating the event. The users obviously need to plan firstbefore they create the event.

    Events are viewable in list which the users can select from.

    Informations needed in order to create the event such as title,location,description,etc

    Notification for the invited.

    All these changes were based on the research i have done by reviewing similarapplications and finding out how to improve the concept of my own application.Next thing i had to do was to try implement i design for the scenarios i havecreated.

    36

  • 8/13/2019 Mobapp Project

    38/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Flowchart

    Figure 3.6: Flowchart based on scenario

    Next thing i have done was to create a flowchart based on the scenarios. I wantedto illustrate the process the users have needed to follow in order to create andthe browse the events.

    First thing the user must do is to login because its part of the requirement inorder to view the events, specially the private events. Once the user has beenauthenticated he or she will be moved to the event browsing user interface. Theevent browse interface should contain a list of all event near the user. Thereare two options from this view interface, the first is to select one of the eventswhich leads to the detail browsing of the selected event. the next option is tocreate a new event which leads to the event creation view interface.

    The flowchart show the link between all the view interface that are needed inorder to create or attend an event. I also register what could happen in eachview interface by looking at the scenarios.

    37

  • 8/13/2019 Mobapp Project

    39/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Wireframes

    Flowchart shows how the screen are linked together, but in order to get closerto the the design of the screen interfaces i created wireframes based on theflowchart.

    Figure 3.7: Wireframe based on flowchart

    The wireframes above shows how the login and the event browsing screen should

    look like. Wireframes does not contain detailed informations about the differentscreen interfaces, but i believe its important with wireframes as i can visualizethe starting design of the screen interfaces.

    Using the wireframes above i could visualize that the user would use the loginscreen for authentication, then the application will load the next screen whichcontains the list of events near the user. The event browsing screen also containsa option panel at the button. I was not sure what i would add in the optionpanel, but i though the users could use the option panel to move to the eventcreation screen and to refresh the list of the events in case a new event wascreated.

    38

  • 8/13/2019 Mobapp Project

    40/72

    3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

    Figure 3.8: Wireframe based on flowchart

    Moving the next link in the flowchart i created wireframes for them as well. Theevent creation screen should contain information about the event to be created.Informations such as the title,location,date and time just like it was describedin the scenarios. Lastly the user needed to register the invitation if the event isprivate or public and simple create the event. As for the option pane i thoughi could add the functionally of scanning events my using the QR-images. Theusers create an image that contains the event detail and they are able to scanit using the program. The users spares time spare time as they could just scan

    the image during the creation of the event.

    The Low-fi prototype

    I have created a low-fi prototype based on the the wireframes. It contains moredetail information about the content of each view screen. The event browsingscreen has the list where in each raw contains the followings:

    an icon which indicates whether the event is a public or a private event

    the event title to distinguish the events

    the event date to see when the day of the event

    The rating of the event which increases with the amount of users attendingthe event.

    The detail view of the events contains information full information of the eventincluding the rates and the option to attend the event. In the event creationscreen, the users would type information about the events or they can just

    39

  • 8/13/2019 Mobapp Project

    41/72

    3.2. FIRST EVALUATION RESULTS

    scan it using the Qr-images. The low-fi prototype can be found in AppendixD.

    The Functional prototype

    After programming for weeks i managed to create this prototype which runs onsmart devices. The functional prototype looks similar to the low-fi prototypeand could use both of them for the usability testing. I decided no to use thelow-fi prototype from the beginning and created the functional prototype thatwill be run on the smart devices during the usability testing. Description of thefunctional prototype can be finden in Appendix E.

    3.2 First evaluation resultsOn Mars 18th i had a presentation about my project for the Mobile applicationcourse class. It was the first evaluation i had on the functional prototype whichwas not completed yet.

    The presented scenario

    Figure 3.9: Creating event on prototype

    40

  • 8/13/2019 Mobapp Project

    42/72

    3.2. FIRST EVALUATION RESULTS

    I presented a scenario for the class where i played the role of the event creatorand the class participants could play the role of the event browser. I created the

    event specifying a title,date,location and description. I also choose the event tobe private and create it. Other way of creating the event would be by usingthe QR image and scan it. This way all the information would be filled inautomatically.

    Figure 3.10: Browsing event on prototype

    Once i send invitation to the people that are in the class they are able to browsethe event and attend it. As more people are attending the event will receivebetter rating. The users could also comment the event or browse the locationof the event on a map.

    This was the scenario i used and i was hoping to get some important feedbacksafter showing the scenarios. There were twelve people present when i presentedthe prototype and the presentation that should take only fifteen minutes wentfor as long as 45 minutes.

    Comments and feedbacks

    I spent standing for 45 minutes and the reason for that was that there was agreat discussion that took at the place and that was helpful for me. I got goodcomments about the idea of the application. people could see the similaritiesbetween my application and the others, but i they could also see the differences

    41

  • 8/13/2019 Mobapp Project

    43/72

    3.2. FIRST EVALUATION RESULTS

    which is good. I also got some good feedbacks that effected the continuation ofthe projects.

    Filtering location

    The application loads events based on the GPS location of the user. This wasone of the things that was inspired by reviewing similar applications. One ofthe challenges that was presented to be during the presentation was how closedoes the users have to be in order to view the events. This was something ididnt though about in details.

    In Foursquare or Gowalla the users needs to be at the specific places in orderto check in so that location must be really close to the users. The events inmy application has date and takes places sometime in the feature. Unlike in

    Foursquare or Gowalla the users of the application does not need to be at thelocation of the event in order to attend. Since the event is happening in thefuture by attending event browsers are notifying the event creators that theywould attend that specific event. The question is How close must the users bein order to attend an event?. Other question was What if the users want toattend an event that takes places in another city and the user knows that he orshe will be at the city?.

    We had discussion about this and what the solution that was proposed was thatthe application should have a filter of the event locations. The filter could allowthe users to change the scope of their location and alter the radius of their loca-tion. This filter could solve the problem of loaded event even though the usersare near the event location. I found this idea to be good and decided to imple-ment in in the next prototype. I also made some changes to the requirementsdocument to include the new filter idea.

    List of attenders

    Other thing that was mentioned was that there was not a way to see how manypeople who are attending the events. The event browsing screen only has fourthings about the events, title,type,rates and date. If the users want to attendevents that their friends are attending they should see which event their friendsare attending before they choose to attend.

    This was something i did not have so it was a good idea which i will also try toimplement to the application. This requires for me to review the requirements

    document and think of a design that incorporates the idea.

    42

  • 8/13/2019 Mobapp Project

    44/72

    3.2. FIRST EVALUATION RESULTS

    The concept of rating

    Events are given ratings based on the amount of users that are attending thespecific event. This is how the defined in the requirements document. Thefeedbacks i got suggested something else. The feedbacks suggested that peopleusually associate rating with past experiences. For instance if the same event isrepeated then the users would rate the event based on past experiences regardingthe event.

    I never though about this way so i founded the idea to be interesting andsounded really logical even to me. I should change requirements of the ratingin the documentation and allow the users to rate events as they wish.

    Event time and date

    Lastly it was suggested that i would also include the time of the event in thebrowsing screen and not only the date of the event. This sounded logical thingto do so i would also include in the prototype.

    When to authenticate?

    I have partaken the presentation of other students and one thing that has beenrepeatedly discussed in many presentations where the need of authenticationin applications. Joshua Ported wrote many blogs about the needs of signingup in applications[5]. He believes that sign up feature can be in some casesunnecessary as they may destroy the users experience of the users. The idea

    is to present the important features of the application to the user before theyregister or sign up. This way they can evaluate the application and decide ifthey want to use it or not.

    I though this was an interesting suggestion which i wanted to implement. Myapplication requires authentication so that user are able to load and share in-formation related events. The flowchart 3.6i created in the design face showshow different screen are linked in the application. The first thing the users dois authenticate in order to use the application. I wanted to change that.

    43

  • 8/13/2019 Mobapp Project

    45/72

    3.3. FINAL EVALUATION RESULTS

    Figure 3.11: Improved Flowchart of the application

    I have created a new flowchart based on the previous one. I moved the authenti-

    cation screen down and the first screen the user would see is the event browsingscreen. The users would only be able to browse public events with registering.They would be able to select and view the detailed information about the publicevents al well, but if they would want to create, comment or attend events, theusers are asked to authenticate. Once authenticated the users are able to viewboth public and private events. I have commited these changes to the prototypewhich i hoped to test during the usability test.

    3.3 Final evaluation results

    After i had my first evaluation i made some changes to the prototype then i

    performed usability testing on potential users.

    44

  • 8/13/2019 Mobapp Project

    46/72

    3.3. FINAL EVALUATION RESULTS

    First usability test

    For my fist usability test i found two young men at my age. After finding a quiteroom i started the testing. Afterwards i stared with the pre-testing questions andthe results of the pre-testing questions where that the participants were expiresmart phone users and they have knowledge of the social networks.

    After the pre-testing questions i handed two devices to the participants onedevice for each that contains the application. Then i handed over the scenarios.I have explained the purpose of the application and that the scenarios describeda usage example of the application. I have also informed that they didnt haveto use that scenarios if they had a better idea of an event they were free to usethem.

    I asked the participant with the event creator role to start creating the event.While he was doing that i could observe and take some notes. I could observethat he was trying to find the option for creating a new event. After few secondshe noticed that the options for creating a new event could be viewed by clickingon the menu button of the device. The participant was asked to authenticate. Ihave already provided a user-name and password. He started typing in the logincredential. I could see that the participant had a surprised face so i changedmy focus on the device. The participant was back in the event browse screenfrom the login screen. I understood the confusion. The application sent the userback from the login screen to the event browsing screen instead of continuingto the event creation screen. I chose not to say anything and continued toobserve.

    After small pause he viewed the option panel again and clicked on new to create anew event. This time he was sent to the event creation screen. He chose to follow

    the screen the scenario i have him and started inputting event information. Hethen selected to invite people to the event. I already added their names onthe application so he could easily select the name of the other participant. Hewas already back to the event creation screen and he selected to add the newevent.

    This concluded the role of the event creator. I turned to the next participantthe event browser and told him to refresh the screen of his device. There wasa new entry in the event browsing screen which was not there before. He askedthe other participant next to him the event creator if the title of the event hecreated and confirmed that it was the new event which was created instantly. Icould observe that he was smiling and he said that was cool. He then moved onselecting the event and he was sent to the detailed browsing of the event screen.

    He used seconds to read the event information then he started clicking on hisdevice. He tested the rating which the other participant confirmed. He tried towrite a comment to the event and noticed that he could not see his comment.I said that the comment function did not work yet. He then tried selected toattend the event and his role was finished. Lastly i asked both to try scanning

    45

  • 8/13/2019 Mobapp Project

    47/72

    3.3. FINAL EVALUATION RESULTS

    events using using the camera. I created a QR-image that contained a publicevent.

    I started with the event creator and asked him to talk about his role of creatingthe event. I had the list of the evaluation criteria and i was hoping that he wouldmention some of the things i have listed in the criteria such as the simplicityand easiness of the design. I made some notes then i moved to the the eventcreation and asked the same of his role. I took notes of their feedbacks. Iasked any kind of question that was appropriate to the situation and compareit to the things i have listed in the evaluation criteria. Lastly i used the post-testing questions to conclude the testing. They asked me if they could try theapplication more and i let them do it. i stopped taking and we remained seatedwhile they experiment with the application and we had discussion about theapplication. Before i noticed i spent nearly an hour on the first test. After ihave finished the testing, i reviewed my notes and document before i forgot i

    moved to the second usability test.

    linking from login screen to event creation screen

    There was once when the event creator was confused when he wanted to createan event. He was not authenticated so by selecting to create a new event, heis automatically send to the login screen. He was expecting that he was sendto the event creation screen instead of being sent back to the event browsingscreen. I agree with him and it will be minor change in the next prototypecycle.

    Notification for sending invitations

    The event creator was not able to confirm that the invitations was sent to theother participant. I agree with this as well. The event creator should be notifiedif the invitations were sent successfully. This will be something i look into forthe next cycle of the application.

    Who has created the events?

    The event bro