You are on page 1of 72

MyEvents

A social software for social computing

Ali Y. Hussein May 9, 2011 Halden, Norway

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 rst mobile phones, it has not changed that fact that it is used to help people getting in contact with each other. MyEvents is a social application which people can use to create and share future events activities. The application allows the managements of event activities that people are interested in. This paper gives detailed description of how MyEvents where designed and tested. Keywords: Mobile computing, Event management, Socail computing

Contents
1 Introduction 1.1 Background . . . . . . . . . . . . . . . . . . . . . . 1.2 Problem description . . . . . . . . . . . . . . . . . 1.2.1 The application . . . . . . . . . . . . . . . . 1.2.2 Focus area . . . . . . . . . . . . . . . . . . . 1.2.3 Motivations . . . . . . . . . . . . . . . . . . 1.3 Related Works . . . . . . . . . . . . . . . . . . . . 1.3.1 Location based application . . . . . . . . . 1.3.2 Planning . . . . . . . . . . . . . . . . . . . 1.3.3 Event correlation using dependency graphs 1.3.4 Similar applications . . . . . . . . . . . . . 2 Methods 2.1 The design process model 2.2 The Discovery Phase . . . 2.3 The Design Phase . . . . 2.4 The Evaluation Phase . . 4 4 6 6 7 8 8 8 9 9 10 13 13 15 18 21

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 Results 28 3.1 Discovey/Design/Evaluation results . . . . . . . . . . . . . . . . 28 3.2 First evaluation results . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3 Final evaluation results . . . . . . . . . . . . . . . . . . . . . . . 44 4 Discussion 5 Conclusion A Requirements documentation A.1 Functional requirements . . . A.2 Information requirements . . A.3 Hardware requirements . . . . A.4 Software requirements . . . . B Final evaluation criteria 52 55 56 56 57 57 57 58

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

CONTENTS

B.1 B.2 B.3 B.4

General criteria . . . . . . . . Event browsing criteria . . . . Detail event browsing criteria Event creation criteria . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

58 58 59 59 60 60 60 60 61 61 62

C Final evaluation materials C.1 Pre-testing questions . . . . C.2 Post-testing questions . . . C.3 Scenario 1: Creating event . C.4 Scenario 2: Browsing event C.5 QR-image event . . . . . . . D Low- prototype

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

E Functional prototype 63 E.1 Running application . . . . . . . . . . . . . . . . . . . . . . . . . 63 E.2 Browsing events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 E.3 Creating event . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 F Code selections 66 F.1 Client-Server synchronization . . . . . . . . . . . . . . . . . . . . 66 F.2 Android listview . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Chapter 1

Introduction
This document is a product driven from an assignment given to students attending the master course Mobile Applications(ITI45309 000). Students in the course will be prepared to design and develop mobile applications that works within specic context. The implementation can be a working application or prototypes.

1.1

Background

Over the past few years, technology of hand-held devices has reached a stadium where mobile devices are merely used as cell phones for making calls, or sending text messages. Today we have smart-phones which are hand-held computers with advanced computing abilities that provides rich features for both business and personal use[11]. Computer supported cooperative work(CSCW)[9] is a term that describes the use of computer technologies to aid collaboration between people with common interest. Using collaborative tools, group members can share information and cooperate in much more ecient way. One of the basic idea in CSCW is the cooperation of people with geographical distance. The ow of information is quite dynamic, but one thing that does not change often is the working environment of the group members. This could limit the cooperative work because certain people are bound by specic environment in order to do their work. One major benet of smart devices is the mobility feature. These devices are small and compact and can be carried everywhere. The advantage is that the users are able to multi task which gives better exibility in doing their activities. Smartphones are increasingly becoming standard accessories that we carry everywhere. Advanced operative system such as Apple IOS or Google Android

1.1. BACKGROUND

provides applications for both business and personal use. Business organization are expecting their employees to be accessible from everywhere and thus smart phones have became mandatory business tool. For instance, Sales stas on business trips could retrieve information about product availability and price while they have conversation with the customers. Any order and payment will be submitted through the mobile device. Taking the advantage of the mobility of smart devices, business users are able to work from everywhere which gives them better exibility in their work. Other examples, in health care doctors could retrieve important patient information from the hospital system while they are making hospitals rounds. In postal service, customers could track their packages while the delivery people could use their device as navigation to the delivery address. One major use area is using the mobile device in social computing. Social computing is known as social interaction between people using IT technology. Through social computing, people are communicating and sharing information through the internet. Facebook and Twitter are two well known social networks on the internet where people are sharing information[2][8]. Mobile computing has became a major factor in the advancement of mobile device technologies and smart phones are driven from such advancement. The number of smart phone mobile users worldwide has increased. Statistics from Nielsen[7] made in December 2010 suggest that 31 % of US mobile phone owners have smart phones. At the same year 1.6 billion mobile phones has been sold where 297 mill(19%) of them where smart phones. Statistics also suggest that by 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 suggest that social inuences and personal traits such as individual innovativeness are potentially important determinants of adoption as well[25]. Smart-devices runs operative system that provides a platform for applications development. The possibilities are endless of what smart devices can do, but there are some challenges in developing applications for mobile devices. For instance, security and privacy are a major issue in developing application used in social computing. These are only additional challenges in the process of developing software for smart devices. The process of developing software for smart devices is dierent from the process of developing software of for desktop computers. Mobile devices have unique futures 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 android mobile devices and describe both the cognitive and the practical process through the development of such software.

1.2. PROBLEM DESCRIPTION

1.2

Problem description

I am going to develop an application that will be run on Android smart phone device. The application shall be a tool for social computing where user generated content are stored and shared. Here i shall review some of the basic ideas for the 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 application should contain informations that are created by the users and are shared between users. The concept idea is creating a application where people are sharing future events activities that takes place around themselves. These events are something that takes places in the real world. The application would act like a keeper or nder of these events activities. What are event activities? Events activities are considered to be actions or happenings that takes places in a social gathering at specic places. These activities can be a musical activities such as concerts or sports activities such as bowling or much more private activities such as birthday celebration. The main purpose of the application is to help people create and share social activities that take place in their local area. I consider a social event to be activities where more than one person is participating including the event creator. Usually such social event are limited to certain group of people. There are two types of events i dene for the application, public and private events. Private events 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 events are open events where everyone using the application should access. These are the 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 the nal solution of the application. Synchronizing with social networks I believe the application should incorporate the possibilities of synchronizing with social networks such as Facebook and Twitter. This allow the users to share their events through the social networks. Other benet is

1.2. PROBLEM DESCRIPTION

that they could also have access to their friend-list if they want to invite specic people for private events. GPS locating Each event should take place at specic location. The idea is that the application loads the events only if the users current location is near the location of the event. This requires to constantly check any change of the users location and update the events. Event management The major and the important part of the application. The application should obviously support the creation and browsing of events. The users should be able to create events by lling the necessary informations, then decide whether the events should be private or public. User prole User proling could be something to look into. The user prole could contain informations like the active events the users are attending, friends list and events created by the user. It may be necessary to create authentication and save some user information in order to create a user prole. Digital maps I was thinking of implementing map to show the locations of the events. Map view could be helpful to nd the location of the event if the users are unknown of the location.

1.2.2

Focus area

I 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 the application. Given the small time i had for the assignment i was forced to choose a focus area of the application which i would evaluate.

Figure 1.1: Application focus area

1.3. RELATED WORKS

For this project i only focused on the Event management feature of the application. 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 to create and browse events. How would a user create an event?, how would other users browse and specify whether they would like to participate to the given events?. I needed to answer such and similar questions during the design process. For testing and evaluation purpose i did create a prototype implementation of the specic focus area.

1.2.3

Motivations

Android is one of the most known platform for smart devices. Its a open source platform and there is constantly improvement. Putting aside the assignment which needs to be done, it was my personal motivation to study the Android platform and develop some functional application that can be run on Android smart devices. Social computing is the theme of the application. I have been motivated from the growth of application used for social computing in the mobile market. Social networks such as Twitter and Facebook has became quite popular. Facebook shows the statistics of their users which exceeded 500 mill users where 50% of their users are active at daily level[1]. This shows how much inuence such applications can have on people. I was hoping to create application where the focus 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 covers related work to the application. Chapter 2 covers the methods i have used during the creation the prototype. Chapter 3 covers the results methods i have used. 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 have looked 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 GPS locating. Louise Barkhuus and Anind Dey from the University of Copenhagen wrote a research paper about GPS location service and the privacy issues with location based services [13]. They have conducted some research exprirents on people to nd out what people though about location based services regarding usefulness and level of concern . 8

1.3. RELATED WORKS

I found their work to be interesting and quite relevant to my application. Users would be able to load events based on their gps location. The research paper describe some of the advantages and disadvantages of using gps services. There is also the security issue of using such system which i would like to look into for my application.

1.3.2

Planning

Planning is something that is considered to be important when making discussion. The Theory of Event Coding (TEC) is a cognitive psychology theory describing 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 when the users are going to use the application. The users actions of creating and browsing event requires planning which happens outside the application usage scope. I didnt want to consider things to be obvious, which is the reason i reviewed the research paper.

1.3.3

Event correlation using dependency graphs

Event correlation is a technique for making sense of a large number of events and pinpointing the few events that are really important in that mass of information[10]. This reserach paper show an approach to improve the technique using dependency graphs[14]. The topic mentioned in the paper is Fault management which is something outside my project, but i could see some similarities. I could think of some dependences when the users are going to create a private events . The event creator may be interested in knowing whether specic people are able to attend the event. This could happen before the user creates the event. If the creator knows that important people may not be able to partake the event, then the user may choose not to create the event. With the knowledge of dependency graph or more accurate social graph the users are able to register whether the event should be created or not based on the users that are able to attend it.

1.3. RELATED WORKS

1.3.4

Similar applications

I have also been looking into similar applications which are available for the Android platform. Foursquare Foursquare is a location based social application that is available for dierent mobile platforms[3]. The applications allows the users to tag specic places they have visited before. They could save the gps location and add informations to places they know o. Foursquare will load these places based on the current location of the users. Once the user is near any specied places, they are able to CHECK IN to that specic place. Checking in to place gives much more details that has been left by others who has visited the place before. The social aspect of the application is that users are sharing their current location by checking in to places. They are able to leave comments of what they are doing or leave recommendation of what people could do when they arrive at the same place. Foursquare has a game-system which gives the users some advantages by using the application. For each Check ins Figure 1.2: Foursquare the users are able receive points and if they have enough points they would unlock badgets or trophies. Once a user has gathered enough points by checking into the same places several times, the user is rewarded by becoming a mayor of that specic place. Being mayor may give some advantages in the real world such as getting free drinks if that place is a bar or getting discount at gasoline stations. I have been using Foursquare some time and believe that many features of the application is similar to the application i am trying to create. Some similarities are the owing: The application is loading places based on the users location which is similar with my application that loads events based on the users location. User prole that contains personal information about the user such as friend-list,checked in places and points.

10

1.3. RELATED WORKS

Once checked in to a place, the user is able add comments to the place which 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 the map in my application that shows locations of the events. Even though there are some similar features in Foursquare which i wanted to implement into my application, i still needed to mention one major dierence between the applications. In Foursquare by checking into places what people are sharing is their current location and what they are doing, but my application contains events that people are going to attend. While the focus in Foursquare is here and now in other world what is happening now, the focus of my application 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 users are able to check in to places[4]. Gowalla came out after foursquare, so its quite new compared to Foursquare. I have also tested Gowalla and have been satised with the application. Although the application is similar to Foursquare, it has its unique features which i have became fund of. Gowalla has better social networks synchronizing feature then Foursquare. I was even able to synchronize with Foursquare to retrieve information about my check ins. Like in Foursquare there is a gamesystem, but unlike Foursquare there is no real advantages yet. One think i have notices was the applications unique user interface. I think the developers have done a good job with the way the informations are presented to the user. Things like colour choice, font style and layout is much better then Foursquare in my opinion. Gowalla has nice interface which makes it worth looking into it when i am designing my application.

Figure 1.3: Gowalla

11

1.3. RELATED WORKS

Facebook Event & Facebook Places Facebook events is part of the social network Facebook. Its a service which is integrated 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 a guest list of people who can attend the specied event. Those who are registered in the guest list will automatically obtain invites to the events which means their are able to view the events on their Facebook event calender. The Facebook application for the Android has the event calender integrated,but does not support any event creation. In order to create a event, the users are forced to use facebook through a web-page and create the events there. Facebook Event service is similar to my application as it also deals with creating events, browsing events and inviting people to that event. The dierence is that there is no location based events which means that users are viewing events regardless where they are. In the other hand Facebook Places is a location based service that is part of Facebook which allows the users to check in into places just like Foursquare and Gowalla. Both Facebook Events and Facebook Places are services linked to the Facebook social networks. This means that the users are only be able to share with their friends throw Facebook. I have looked into both of the services as they contain enique features which i wanted to integrate into my applications. Not only Facebook Events and Facebook places, but also Gowalla and Foursquare have some features that i could use. I have reviewed these applications including some research papers so that i could have a better understand of how other people have implemented a solution 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

Chapter 2

Methods
In this chapter i will be describing the methods i have used during the process of developing the application. The chapter is divided in two parts, the rst part will cover any methods i have used in order to create the prototype and in the last part 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 and is used by people. As a designer of the application i needed to understand the interaction between the users and the application. There have been many approaches to interaction design, which have come from diverse domains, including software engineering, HCI, and other design disciplines[15]. Steven Heim has mentioned in his book some of design models that can be used in the process of designed and creating a interactive product[19].

2.1

The design process model

Figure 2.1: The design process model

13

2.1. THE DESIGN PROCESS MODEL

In my project i used a design model called the design process model. The model contains three phases(Discovery phase, Design phase, Evaluation phase). The rst phase is the discovery phase. In this phase i needed to dene the idea of the application and collect necessary information, interpret the collected information and create necessary documentations such as requirements documents. Any ndings in discovery phase will be helping me during the design and evaluation phase.

Figure 2.2: Discovery Phase Framework The data collection and the interpretation of the data was the must crucial part of the discovery phase. It was important for me that i was able to gather necessary 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 ow from one user and other? and many more These data needs to the interpreted in a proper way in order to nd out what i needed for the design of the application. During the discovery phase i needed to collect data that helped me dene the ideas of the application. I needed to understand what kind of data that were required in order to create the prototype. I used the discovery phase framework as a guide line and make sure that i dont miss any important information which could have eected the design of the application. since the framework supports iterative process i was be able to make changes if it was necessary. The design phase was the second phase in the design model process. This phase is divided into two parts, conceptual design and physical design. In the conceptual design part, i started thinking about how i could realize the ideas

14

2.2. THE DISCOVERY PHASE

of my application. I needed to look into any design alternatives that could incorporate the requirements of my focus area of the application. It was in the physical design part where i created the functional prototype based on the conceptual design. The functional prototype must contain any requirements i have created for the specic feature. I intended to use the functional prototype for the nal evaluation on potential users. The focus of the functional prototype was to make the parts of the feature mentioned in the evaluation criterion to be testable. The evaluation phase was the last phase of the design process model.This phase is not a discrete phase and should be included in the entire design process including the discovery and design phase. During the process of creating the application prototype, i have been trying to evaluate all the choices i have taken regarding the concept of the application and once i have created a prototype i had to perform user testing on the prototype. There was iteration between these phases that provides answers to design questions. I have chosen similar approach in dierent project which was the reason choice the same approach. Other reason for choosing this model was because the model is generic and incorporates many aspects of several models including Waterfall model, Spiral model, prototype based model,etc.

2.2

The Discovery Phase

I started with having several ideas of what the application should include, but all 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. Not knowing where to actually start i consulted with the course supervisor about my ideas. I was told to choose a focus area and focus on how to improve that specic area. Given the small time i had with the course assignment i should not 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 implemented as a features in the application. It was my motivation from start to learn programming on the android platform and create something functional that could be used, so i also thought about which features of the application i should choose in order to create something functional. It helped looking into the list of ideas i have created and start reviewing them. I also started looking into similar applications for inspiration.

15

2.2. THE DISCOVERY PHASE

The conclusion i came with was that the users and their generated content are the most important in the application. My focus should be about how the users would generate contents into the application and how these user generated content are shared among the themselves.

Usage Scenario
After the brainstorming i found out that my focus for this project should be the part where users create and browse events. In another words my focus area was the event management part of the application. Next thing i did was to specify the roles the users takes and the processes of creating and browsing events. I created two scenarios which specied the actions the and the roles the users would perform when they are using the application. The focus area of the application consist of two parts. The rst part is about users creating event activities 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 proposed design[20]. The purpose of using scenarios was to help me as a developer to put together my ideas in details and to create a meaningful usage situation. The scenarios helped me to specify the tasks i believed the users would perform when they are creating or browsing event activities. By looking into the scenarios i could point out which functionalities were important in order to for the users to do their tasks.

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

Stakeholders proles
By using scenarios i was able to dene any user roles and their tasks, but i have not looked into what kind of people the users are. I have created stakeholders proles which could help me understand the people that are involved in my project. The most important stakeholders are the primary stakeholders which are the end users of the application i am trying to create[21]. Its always important to identify primary stakeholders, so that i would understand the usage context and their expectations of my application. Identifying the stakeholders

16

2.2. THE DISCOVERY PHASE

early in the design project helped me cope with their needs by implementing their 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 documentation regarding the projects. I created requirements documentation that specied the requirements of the applications[18]. This document included the followings: Functional requirements, which are the features of the application. Information requirements, which describes the informations that are required in order to use the features of the application. Physical requirements, which describes any hardware that is needed in order to use the application. I have created the requirements document by analysing users roles and their tasks. The requirements documentation is based on what the users are expecting from the specic feature of the application. The scenarios and the use case early in the discovery phases were the focus when i created the requirements. The requirements for the applications can be found in Appendix A. First i thought that the requirements documentation should contain all the features of the application, but i gured that it was unnecessary as i am only focusing on one feature of the application. If i was supposed to create the requirements 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

2.3. THE DESIGN PHASE

2.3

The Design Phase

Once i have researched and created requirements documentation in the discovery phase, i moved to the design phase. In this phase i needed to dene a design for my application. In order to do this i needed to explore some design alternatives.

Conceptual design
First thing i did was to review my requirements document and make list of things to implement in the design. This helped me to remember what to look after as i researched some design ideas. Brainstorming This was a brainstorming process as i continued with reviewing some similar applications that i discovered early in the discovery phase. I have installed these applications on my smart phone and started browsing through their features. As i was testing these applications, i have created the following questions that helped me analyse my ndings: What kind of design pattern are used to present the user generated content? 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 them so that i would get some inspiration. It helped using the questions mentioned above because i managed to be critical to my personal views. I have also used the notes i have created from the requirements document to narrow down my focus during the evaluation of the applications. This helped to focus on only the features that have important data which i could use. Once i was nished with reviewing the applications. I made some notes and some drawing sketches regarding which applications that gave me some ideas of how to implement a design for my application.

18

2.3. THE DESIGN PHASE

Scanning events using QR codes


While i was reviewing application that were similar to my ideas, there was one other thing i wanted to nd as well. I wanted to implement something that was unique to my application. Since the application was going to be run on a smart device, maybe i should use some of the features that are found on smart device. The idea was to scan and load events using the camera of the device. For this to work i had to update the requirements document with new information regarding the QR images and the requirements of using them in my application. Scenario with Persona Earlier in the discovery phase, i created this scenario which helped me to dene a usage case of the application. The purpose was to dene the roles of the users and the tasks that has to be performed for each roles. I have also created stakeholders proles, which is a detail description of the people involved the application. The users mentioned both in the scenario and the stakeholders prole, does not have any personalities which i believe is important when trying to nd the potential users of the application. I needed to nd the reason why any specic user needs to use my application and in order to do that i needed to make the target users feel more real when i was describing them. A persona is a user prole with a face, a personality, a history, a skill and a back story[17]. I created several personas based on the primary stakeholders. Using personas makes the users more real which makes easier for me to describe the users. Once the personas were ready i created new scenarios similar to the rst one i created in the discovery phase. One dierent about the new scenario is that it contains some of the personas i have created. These new scenarios did not only describe the specic situations and the users tasks, but they also described the purpose of the tasks from the users perspective. Its easier to speculate around the reasons why people would do the things they do if these people have personal history that suggests that. Flowchart Once i created the new scenario i moved on creating a owchart. I have used owchart to illustrate the process the users needs to follow in order to perform a task on the application. This was the st stage to the functional prototype. Earlier in the discovery phase i created a use case that illustrated the roles of the users and the owchart illustrates the process they have to follow when they are using the application. The owchart illustration the users actions and 19

2.3. THE DESIGN PHASE

how one action leads to another action. The owchart was useful when i was creating the functional prototype as it illustrated how things are connected in the application. Once the owchart was ready i used the scenarios with the personas to test the owchart. The reason for doing that was to gure out if there were some dead-ends in the design.

Physical design
Once i have reviewed similar applications, created owchart,scenarios and personas i moved into the the design of the physical prototype. Since i was creating the application for the android platform i needed to research how other developers have implemented their design. There is also some User interface design pattern which Google has recommended and is commonly used so i have to study them. I have also studied the user interface of similar applications such as Foursquare, Gowalla and Facebook. Wireframes I have used the owchart to create a wireframe. Wireframes are basically structured skeletons of screen design[23]. Wireframes should be in detail, but also show the basic design pattern. The design of the wireframe is based on some design pattern which i found was interesting after reviewing some application for the android platform. Lo- prototype Wireframes only contains the basic design concept of the application. Based on that i created a low- paper prototype which contains more content than the wireframes. I reviewed the requirement document for the application to nd out what kind of information was necessary to be shown in the application and i have lled the information in to the wireframe which became the lo- prototype. Functional prototype At this stage of the project i was sure that i had everything i needed to proceed with creating the functional prototype. The idea behind the functional prototype was to have something functional that i could test on the users. I could have used the low- prototype on paper for usability testing, but i choose to create a functional prototype which i could load into a smart device and let the users test it. I believed that the functional prototype could give better impression on the users about the application then the low-. The other reason for

20

2.4. THE EVALUATION PHASE

creating a functional prototype was because i wanted to learn android programming. 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 the application which will be implemented for evolution. This implementation of the prototype will be evaluated and tested on potential users. The process of creating and evaluating the prototype is a iterative process, where i will be doing some changes based on feed-backs from the users. Its necessary to include potential users during the design process in order to discovery any weakness or improvements in the application. The discovery, design and evaluation phase are not mutually exclusive. Any ndings from evaluating may results in altering the concept of the application. Since there is iteration between the three phases, i was able to go back to previous phases and make some changes to improve the application.

Discovery phase evaluation


The evaluation phase is not necessary the last phase of the design process. I tried to be critical to my discussion during the entire design process and i haver started with my rst evaluation already in the discovery phase. From the start it was 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 was important for me that the concept of the application was something that was understandable by others. The usage scenario i created in the discovery phase served the purpose of conveying my ideas to others people. It was kind of my rst evaluation of the application to see if the idea behind the application was something other people could agree with. The usage scenario started with having almost no content at all. This was because at that point of the project i was still not sure about the purpose of the application and how it was going to be used. First i tried to describe the idea of the application through conversations to my friends in order to see what 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 think about another way of conveying my ideas. This was were a scenario came in which made thing easier. The scenario was an example of how people was going to use the application. I didnt show any written sample of the scenario, but creating the scenario made it easier for me to talk about my application once i was able to present a usage example. I had several conversation with my friends and i made some notes of new ideas or improvement of the application.

21

2.4. THE EVALUATION PHASE

Design phase evaluation


Evaluating the design of the application was the most important part of the project. The design of the application was based on the work i have done in the design phase. I was determined to create a working prototype of the application which i could run on a android device. I created owchart and wireframes so that i could test the design ideas. This could have been seen as an internal evaluation, where the developers are gathered and evaluate the design based on any requirements for the design. I have analysed and evaluated the owchart, wireframes and the low- prototype to make sure that all the requirements were at place. This was like an internal evaluation where i didnt involve any potential users. It was important to me to make sure that i was satised with the design i have created before i presented it to the potential users. I have used scenarios on the owchart, wireframes and the low- protype to point out any weakness and try to x them before i moved on the functional prototype which will be tested on potential users. s

Functional prototype evaluation


I have created the functional prototype which was based on the work i have done in the discovery and the early design phase. The prototype was programmed from scratch, but the design concept of the prototype was based on the low prototype which again was based on the design ideas i have gather after reviewing similar application such as Foursquare and Gowalla.

First evaluation
Related to the Mobile application course, the students were asked to present their project to the entire class. I was not nished with the functional prototype, but this was a great opportunity for me because i was able to evaluate the design and the concept of the functional prototype. For the presentation each students was given fteen minutes to talk about their projects. For my presentation i created some slides which i used during the presentation. Once it was my turn to present i rst talked about the idea behind the application and what it was going to be used for. Afterwards i presented some of the applications i found was similar to my application and what i believed was dierent between the applications. Lastly and the most important 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 scenario contained a description of me creating an event and inviting everyone that was presented in the classroom. I described what did in order to create the event and what the class had to do in order to browse and attend the event. After i 22

2.4. THE EVALUATION PHASE

nished with the presentation i asked the class to comment on the idea of the application and the usage scenario.

Final evaluation criteria


Once i was nished with the programming and created the functional prototype, it was time to evaluated it on potential users. Before i started with the usability testing, i had to dene what i wanted to test and how i would perform the testing. As i have mentioned in the introduction, the application has several features and for this project i have chosen one specic feature as my focus area. I have implemented i functional prototype for that specic feature. It became obvious that what i wanted to test should involve my focus area which is the event management feature of the application. In order to dene what i wanted to test, i created some criteria which could help me measure the usability of the design. These criteria are set of rules i have dened for the application. Jakob Nielsen has developed a set of 10 heuristics for interface design. I have looked into them and decided to create my own criteria[16]. The rules of criteria are more like expectations which the prototype needs to satisfy. These rules looks similar to what i have in the requirements documentation. I have dened these rules based on what i believed to be important for the design, but the users expectations are more important which is why testing is required. The criteria can be found in Appendix B. In the criteria i have dened that the design should have simplicity and easy to use. I also dene that the users should be able to do their work in a ecient and eective way. I founded these criteria to be dicult to use. The problems were the followings: How should i measure if the users nds the design to be eective? How do i measure whether the users are able to create and browse events in eective and ecient way? I knew what to test which is to nd out whether the users are able to create and browse events in a eective and simply way using the design proposed in the prototype, but i didnt know a way to measure the results. Eectiveness and Eciency is something that is not easy to measure. One thing i could do was to use statistics to measure the usability and to nd out 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 people found the application to be easy to use or 60% of the user found the application to be easy of use. I could also measure the amount of the work the users must do in order to reach their goal. I could for instance try to measure the amount

23

2.4. THE EVALUATION PHASE

of clicks in a given tasks and measure the eective and the eciency based on that. 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 makes the results impersonal and the feedbacks from users will be more generalized. It is dicult to analyse percentages because they present generalized view of all the users. Focusing on the personal opinions of the users has also its ow. People have separate opinion of what is good and what is bad. The users would base their feedbacks on their personal view. I cant not evaluate and make critical changes to the design based on individual users. I need to nd a common interests between the users and based on that make changes to the design.

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 the testing. The pre-evaluation question is used to register whether the participants are a smart device users since the application runs on smart phones with touch screens. The pre-evaluation question also covers whether the users are familiar with social networks. I also wanted to nd out whether the users were familiar with social application such as Foursquare and Gowalla. The purpose of these question was to make the participants compare my application with similar applications mentioned. Two evaluation scenarios I have also prepared two scenarios which i will be using during testing. The purpose of using the scenarios was to give the users a usage case of the application that seemed realistic. I wanted to give a realistic feelings to the events 24

2.4. THE EVALUATION PHASE

that is why i prepared the scenarios. If the users had a better usage scenarios they were free to use them. The scenarios served some other purposes as well. These scenarios contained each user roles of the application. The scenarios were not complete and did not describe the tasks of the users in details. The scenarios only contained the goals of the user, but not the actions that are needed in to order to reach the goals. I have done this on purpose. The reason for doing this way was that i wanted to give the users the freedom to explore the application. This was an opportunity for me to evaluate rst time user experience. What i could have done instead was to create the scenarios to be more detailed where they contained not only the the goals of the users, but also step to step description of how the users where going to reach the goals. The problem with this type of scenarios were that they may limit the creativity of the users. Since the users are asked to follow a set of procedures, they may believe that it was the correct way of doing the tasks. I was hoping that the users would have disagreed with me during testing. This way i know that my design needs to be improved. I felt that i was guiding the users through the application and limit their personal views if i had used a detailed scenarios. That is why didnt use detailed scenarios. Two participants in each usability testing As for the user participants, i required two people in each test. Each person would take one of the two rules which are the event creator and the event browser. I have also uploaded the application on two separate devices so that each participants could test the application separately. I could have used one person and ask that person to change roles during the testing, but i have chosen not to do so. There are two reason for not using only one person. First was the social aspects of the application which is quite important. By using two people i hoped to demonstrate the social activity the users are engaging in by using the application. For this reason i tried to create a functional prototype that actually could synchronise several devices. Once the participant that plays the role of the event creator creates an event. Afterwards the participant that has the role of the event browser would be able to browse the events using his device. This was the social aspect i wanted the users to experience. I could not test this if i had used only one person. Other benets of having several participants where that i hoped to initiate some discussion about the usage of the application between the participants and me. This would also cover the event planning part of the application as the participants engage in discussion about what kind of event they would like to create. The are some challenges of using several participants in the usability testing which 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

2.4. THE EVALUATION PHASE

A usability testing requires three things, participants, testers and observers. I have 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 both observe and test the participants at the same time. I could only focus on one participants at a time. What i needed to do was to dene a technique which could help me perform the usability testing in a eective way.

Figure 2.3: Usability test The gure above illustrates how things are connected during the usability tests. There were two participants and there were two designs of the prototype since there are two devices that runs the application prototype. I couldnt observe each participants at the same time. What i did was to change my focus around between the participants while i observed and test their actions. I wont be following how the users are using the device in details as well. I observed both the the participants and the device at their hands and judge their performance based on how conformable and easy they are at using the device. I believe this would be a very dicult thing to do. One thing that helped was asking the participants 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 the following 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

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 the event 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 event i could move my focus on that participant. I Observed the actions and the behaviour of the event creator. Once the creator was nished i moved to the next participant and did the same. Once both were nished with their scenarios i asked the participants to review their actions by having a discussion with them. Once i nish with the testing session i needed to analyse and document any ndings before i moved to the next testing session. The questions and the scenarios including other meterail i have used can be found in Appendix C.

27

Chapter 3

Results
The results chapter is divided int two parts just like the methods chapter. First i will describe the results of the methods i have used during the design process of the prototype. Lastly i will describe the results of the nal evaluation on the prototype.

3.1

Discovey/Design/Evaluation results

As i have mentioned in the previous chapter, the rst thing i did was to create a 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 coming weekend. User A knows a really good restaurant that has been recently opened in the city. User A already loaded the application on his android device and is ready to use it. He chooses to create a new event in the program and starts adding information. First is the title of the event then he chooses the date and hour of the event. Furthermore he chooses the location of the event meaning the location of the restaurant. User A can also add a small description of the event. User A will chose this event to be private which means that only him and other people that he invites are able to access the event. Lastly User A will go through his friend list and invite User B to participate the event. 2. User B will get notication on his device that runs the application. Given that User B is within the location of the event activity, he is able to browse the event. User B is able to see who has created the event and read the

28

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

content of the event written by User A.User B is able to comment and rate the event which User A can register on his device. Finally User B chooses to attend the given event which also noties the creator of the event User A. Above i have the two scenario which i created to help me start the project. The rst scenario contains the tasks i believed to be completed in order to create an event. Once the event has been created the user sends invitation. I also included in 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 user can also rate and comment on the event which can be viewed by all the other users 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 i didnt specify any personas for the users. The users are classied has User A and 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 show the scenarios to the potential users because i believe the content of the scenarios were to vague to understand. What i did was to use the scenarios as an usage example 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 with the project.

Use case

Figure 3.1: Use case diagram The use case diagram above was created by analysing the scenario i created in 29

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

the discovery phase. As i have illustrated in the use case diagram ,there are two user 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 user must plan and create a new event and send invitations to those who are going to attend the event. Of course the event creator has access to the created event so he or she is able to read the event, comment and attend it. One thing the event 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 event browser 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 case because after creating them i had several unanswered questions. Some of the questions 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 was crucial for me to nd out the answers to these questions.

Analysing stakeholders
Understanding about the users of the application was crucial. I wanted my application 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 the users then i could build an application which meets their needs. I though that since the application was going to be used by real people, the application should have a user-centred design.

Figure 3.2: Primary stakeholders

30

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

The primary stakeholders are the end users of the application. That is why they 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 use the application. My understanding of the primary stakeholders were that they were the people that loaded the application on their devices and use it freely. The application contains user generated informations that are shared among among the users. The same people can also be dened as the secondary stakeholders as they are the 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 am developing the application i am also listed as a stakeholder. My actions and contribution will also decide the eectiveness and the eciency of the design. I alone would be responsible for the continuation the completion the application. Of course i also considered my self as primary stakeholder, but until the application is completed my role will be a facilitator. Context of use Building an application for a mobile device is not the same as building application for desktop pc. The way people use desktop devices is dierent from how people would use mobile devices. Desktop devices or personal computers has static location. Users are forced to remain in the same environment in order to use the computer. This is dierent with mobile devices. Because of the mobility feature of mobile devices there are contextual dierence between PC and smart phones. I wanted to specify context of my application and in order to that there are three major things that are important, the users,the device and the application[6]. Starting with the the device, it can be any smart devices as long as it supports Android OS. The device is personal and remains with the user everywhere. The

31

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 users with the my application. As for the users, they are the ones that carry the devices that would run the application. The users are always in motions. They can use the device with the application in regular bases, but only on limited time. The users are able to multi task by using the application while they are doing other things. Lastly the application also denes the usage context. The application is linked with the users through the device. The application Inherit the mobility feature of the device which means that the application should work where ever the device is usable by the users. The application is depended on certain features of the application such as camera access or wi in order to work properly.

32

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

Analysing similar application


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

Figure 3.4: Foursquare list of places I have started with testing Foursquare as the rst application. As it can be seen by gures above Foursquare has really nice design of the user interface. The gure on the left side shows the browsing menu of places nearby that i could check in. Foursquare uses gps to position my current location and it will update the the places to for me to check in. I liked that fact that they used a list to show and categorize the information about the places. Each row of the list contains the title of the place, how far is the place in meter from my current location and an image icon that illustrates what kind of place it is. For instance if its a hotel than you get an icon of a bed. The gure on the right side shows detail information of selected place. Here i could see the option of checking into into the place. I could also view if others user have left some tips regarding the place which i could add to my to-do list. 33

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 specic place. Once you click on the place, you get a detailed information about the place. unlike Foursquare you also see how many people that has been checked in previously. These two applications have became quite successful and a lot of people are using them already. This was an opportunity to get inspired by these application. Foursquare and Gowalla where one of the application i have reviewed and gave me some inspiration of how to implement my own design.

34

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

Personas
Christopher Andersen is a collage student at his 20s. He was born and raised in Oslo. Christopher is studying media communications and ns communications between people the utmost important in life. His view of it technologies is that its a tool that can be used to help people connect and enhance their communication with each other. Being born in Oslo, Christopher grow up to being an outgoing person. He treasures his family and friends and spends much time with them. Christopher has been Facebook user since Facebook was invented. He nds it to be a great tool that helps him to keep in touch with his friends. Kim Andrea has recently nished with a collage degree and has started working in a economic department of a small company. Kim is born and raised in Bergen, but moved to Oslo when he got the job oer. Kim has became an eective user of Facebook and Twitter over time. He found it to be a great tool that 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 the primary stakeholders could be. My idea of the users was that they were relatively social people and where using social networks. My thoughts were that the users must have something to share with other people in order to use the application. The users generated content are the utmost important in the application. If none is created then the application is useless.

Scenarios with Personas


After the creation of the personas, i moved on creating scenarios which contained to those scenarios. The reason of doing this was to see whether i found the real type of users for the application. I also wanted to improve the task of the application since i have reviewed similar applications and found some new ideas to improve the usage of the application. Its the Friday after after noon and Christopher nearly nished with his studies for the day. He logged in to his facebook account as usual to check his wall status. He notices that Kim has left a message on his wall asking him what he would do later in Friday. He though since its Friday and both of them are staying in the same city, maybe there was something they could do together. Christopher remember that there is a new theatre show to night and though it could be interesting to watch it. He knows Kim would like something like this and decided to see that show with Kim. Christopher loaded the application on his android device. Once he was authenticate, he was able to browse a list of features events near him. He wanted to create a new event regarding the show tonight so he selected to create a new event in the application. He was moved to a new page of the application and was asked to ll in information about the

35

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

new event. He lled the title, date, time, location and description of the event. Furthermore he selected Kim to included for the event invitation. He selected the event to be private which means only him and kim are able 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 in the list of events near him. He selected the event and could see detail information about the event that was posted by Christopher. Kim choose to attend the event by clicking Atend. These two scenarios were much detailed then the st two i created in the discovery phase. They include the followings: Personas which may indicate the type of the users that are going to use the application Activity before creating the event. The users obviously need to plan rst before 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 Notication for the invited. All these changes were based on the research i have done by reviewing similar applications and nding 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 have created.

36

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

Flowchart

Figure 3.6: Flowchart based on scenario Next thing i have done was to create a owchart based on the scenarios. I wanted to illustrate the process the users have needed to follow in order to create and the browse the events. First thing the user must do is to login because its part of the requirement in order to view the events, specially the private events. Once the user has been authenticated he or she will be moved to the event browsing user interface. The event browse interface should contain a list of all event near the user. There are two options from this view interface, the rst is to select one of the events which leads to the detail browsing of the selected event. the next option is to create a new event which leads to the event creation view interface. The owchart show the link between all the view interface that are needed in order to create or attend an event. I also register what could happen in each view interface by looking at the scenarios.

37

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

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

Figure 3.7: Wireframe based on owchart The wireframes above shows how the login and the event browsing screen should look like. Wireframes does not contain detailed informations about the dierent screen interfaces, but i believe its important with wireframes as i can visualize the starting design of the screen interfaces. Using the wireframes above i could visualize that the user would use the login screen for authentication, then the application will load the next screen which contains the list of events near the user. The event browsing screen also contains a option panel at the button. I was not sure what i would add in the option panel, but i though the users could use the option panel to move to the event creation screen and to refresh the list of the events in case a new event was created.

38

3.1. DISCOVEY/DESIGN/EVALUATION RESULTS

Figure 3.8: Wireframe based on owchart Moving the next link in the owchart i created wireframes for them as well. The event creation screen should contain information about the event to be created. Informations such as the title,location,date and time just like it was described in the scenarios. Lastly the user needed to register the invitation if the event is private or public and simple create the event. As for the option pane i though i could add the functionally of scanning events my using the QR-images. The users create an image that contains the event detail and they are able to scan it using the program. The users spares time spare time as they could just scan the image during the creation of the event.

The Low- prototype


I have created a low- prototype based on the the wireframes. It contains more detail information about the content of each view screen. The event browsing screen 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 attending the event. The detail view of the events contains information full information of the event including the rates and the option to attend the event. In the event creation screen, the users would type information about the events or they can just 39

3.2. FIRST EVALUATION RESULTS

scan it using the Qr-images. The low- prototype can be found in Appendix D.

The Functional prototype


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

3.2

First evaluation results

On Mars 18th i had a presentation about my project for the Mobile application course class. It was the rst evaluation i had on the functional prototype which was not completed yet. The presented scenario

Figure 3.9: Creating event on prototype

40

3.2. FIRST EVALUATION RESULTS

I presented a scenario for the class where i played the role of the event creator and 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 to be private and create it. Other way of creating the event would be by using the QR image and scan it. This way all the information would be lled in automatically.

Figure 3.10: Browsing event on prototype Once i send invitation to the people that are in the class they are able to browse the event and attend it. As more people are attending the event will receive better rating. The users could also comment the event or browse the location of the event on a map. This was the scenario i used and i was hoping to get some important feedbacks after showing the scenarios. There were twelve people present when i presented the prototype and the presentation that should take only fteen minutes went for as long as 45 minutes.

Comments and feedbacks


I spent standing for 45 minutes and the reason for that was that there was a great discussion that took at the place and that was helpful for me. I got good comments about the idea of the application. people could see the similarities between my application and the others, but i they could also see the dierences

41

3.2. FIRST EVALUATION RESULTS

which is good. I also got some good feedbacks that eected the continuation of the projects. Filtering location The application loads events based on the GPS location of the user. This was one of the things that was inspired by reviewing similar applications. One of the challenges that was presented to be during the presentation was how close does the users have to be in order to view the events. This was something i didnt though about in details. In Foursquare or Gowalla the users needs to be at the specic places in order to check in so that location must be really close to the users. The events in my 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 the location of the event in order to attend. Since the event is happening in the future by attending event browsers are notifying the event creators that they would attend that specic event. The question is How close must the users be in order to attend an event?. Other question was What if the users want to attend an event that takes places in another city and the user knows that he or she will be at the city?. We had discussion about this and what the solution that was proposed was that the application should have a lter of the event locations. The lter could allow the users to change the scope of their location and alter the radius of their location. This lter could solve the problem of loaded event even though the users are near the event location. I found this idea to be good and decided to implement in in the next prototype. I also made some changes to the requirements document to include the new lter idea. List of attenders Other thing that was mentioned was that there was not a way to see how many people who are attending the events. The event browsing screen only has four things about the events, title,type,rates and date. If the users want to attend events that their friends are attending they should see which event their friends are attending before they choose to attend. This was something i did not have so it was a good idea which i will also try to implement to the application. This requires for me to review the requirements document and think of a design that incorporates the idea.

42

3.2. FIRST EVALUATION RESULTS

The concept of rating Events are given ratings based on the amount of users that are attending the specic event. This is how the dened in the requirements document. The feedbacks i got suggested something else. The feedbacks suggested that people usually associate rating with past experiences. For instance if the same event is repeated then the users would rate the event based on past experiences regarding the event. I never though about this way so i founded the idea to be interesting and sounded really logical even to me. I should change requirements of the rating in 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 the browsing screen and not only the date of the event. This sounded logical thing to 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 been repeatedly discussed in many presentations where the need of authentication in applications. Joshua Ported wrote many blogs about the needs of signing up in applications[5]. He believes that sign up feature can be in some cases unnecessary 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 they register or sign up. This way they can evaluate the application and decide if they want to use it or not. I though this was an interesting suggestion which i wanted to implement. My application requires authentication so that user are able to load and share information related events. The owchart 3.6 i created in the design face shows how dierent screen are linked in the application. The rst thing the users do is authenticate in order to use the application. I wanted to change that.

43

3.3. FINAL EVALUATION RESULTS

Figure 3.11: Improved Flowchart of the application I have created a new owchart based on the previous one. I moved the authentication screen down and the rst screen the user would see is the event browsing screen. 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 public events al well, but if they would want to create, comment or attend events, the users are asked to authenticate. Once authenticated the users are able to view both public and private events. I have commited these changes to the prototype which i hoped to test during the usability test.

3.3

Final evaluation results

After i had my rst evaluation i made some changes to the prototype then i performed usability testing on potential users.

44

3.3. FINAL EVALUATION RESULTS

First usability test


For my st usability test i found two young men at my age. After nding a quite room i started the testing. Afterwards i stared with the pre-testing questions and the results of the pre-testing questions where that the participants were expire smart phone users and they have knowledge of the social networks. After the pre-testing questions i handed two devices to the participants one device for each that contains the application. Then i handed over the scenarios. I have explained the purpose of the application and that the scenarios described a usage example of the application. I have also informed that they didnt have to use that scenarios if they had a better idea of an event they were free to use them. 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 observe that he was trying to nd the option for creating a new event. After few seconds he noticed that the options for creating a new event could be viewed by clicking on the menu button of the device. The participant was asked to authenticate. I have already provided a user-name and password. He started typing in the login credential. I could see that the participant had a surprised face so i changed my focus on the device. The participant was back in the event browse screen from the login screen. I understood the confusion. The application sent the user back from the login screen to the event browsing screen instead of continuing to the event creation screen. I chose not to say anything and continued to observe. After small pause he viewed the option panel again and clicked on new to create a new 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. He then selected to invite people to the event. I already added their names on the application so he could easily select the name of the other participant. He was already back to the event creation screen and he selected to add the new event. This concluded the role of the event creator. I turned to the next participant the event browser and told him to refresh the screen of his device. There was a new entry in the event browsing screen which was not there before. He asked the other participant next to him the event creator if the title of the event he created and conrmed that it was the new event which was created instantly. I could observe that he was smiling and he said that was cool. He then moved on selecting 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 his device. He tested the rating which the other participant conrmed. He tried to write 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 to attend the event and his role was nished. Lastly i asked both to try scanning

45

3.3. FINAL EVALUATION RESULTS

events using using the camera. I created a QR-image that contained a public event. I started with the event creator and asked him to talk about his role of creating the event. I had the list of the evaluation criteria and i was hoping that he would mention some of the things i have listed in the criteria such as the simplicity and easiness of the design. I made some notes then i moved to the the event creation and asked the same of his role. I took notes of their feedbacks. I asked any kind of question that was appropriate to the situation and compare it to the things i have listed in the evaluation criteria. Lastly i used the posttesting questions to conclude the testing. They asked me if they could try the application more and i let them do it. i stopped taking and we remained seated while they experiment with the application and we had discussion about the application. Before i noticed i spent nearly an hour on the rst test. After i have nished 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 create an event. He was not authenticated so by selecting to create a new event, he is automatically send to the login screen. He was expecting that he was send to the event creation screen instead of being sent back to the event browsing screen. I agree with him and it will be minor change in the next prototype cycle. Notication for sending invitations The event creator was not able to conrm that the invitations was sent to the other participant. I agree with this as well. The event creator should be notied if the invitations were sent successfully. This will be something i look into for the next cycle of the application. Who has created the events? The event browser could not see who has created the event. The application should register who has created the events so that the event browser should be able to conrm the identity of the creator. This was something that i should have though of my self. I dont understand why i never included it?. I will also include this in the next prototype cycle.

46

3.3. FINAL EVALUATION RESULTS

Dont show friends that are attending before you logged in This was a programming bug in the prototype, but it was funny to see that your friends are attending some events before the application identify you. Add event though scanning without editing In order to scan an event the user needs to follow the same process of creating a new event. Once the user is in the event creation screen he can choose to scan the event and event detail will be automatically lled in the elds. The user are able to edit the information and save to create the event which will be stored locally. Scanned events are public and does not require invitation to attend them. The feedbacks suggest that scanned event should be available for editing and the option to scan an event should be moved to the event browsing screen. Their arguments were that the users join the scanned events not create them and thus should not go through the same process of creating a new event. I agree that the purpose of scanning events are to make it easier for the user to avoid the creation process of public event that other people have created, but i still believe that the users should have the freedom to edit them if they wish. Since scanned event are not saved on the server and thus not shared there should not matter whether the users edit them or not. Event ratings VS how many attenders My original concept of rating was that events gets rates based on how many people were attending on the event, but this has been changed in my rst evaluation. Now users can rate an event freely. In the event browsing screen i have both a numeric representation of the amount of people attending events and the rating of the event. The feedbacks i got from the users suggested that maybe the users do not need to see the ratings of the event to understand whether an event is popular or not. Its sucient to compare the amount of attenders between the events to see how popular an event is. I founded this to be a interesting personal view. Rating is a popular mechanism that is quite used in web pages and applications. That was one of the reason i wanted to implement one. Of course knowing the amount of people that are attending events is a important feature of my applications. I though having both makes the application unique and that is why i have both in the event browsing part. I need to analyse this problem in a further details before i make some changes.

47

3.3. FINAL EVALUATION RESULTS

Some positive feedbacks Of course i expected some positive feedbacks on my prototype and some of them are the following: Simple user interface easy to understand User can use most of the functionality right away Simple colouring which gives easiness feeling when using Same design pattern through the screen which makes it easier to nd functionalities I appreciated all the positive feedbacks it means that i have managed to do some thing in correct way. Specially with the fact that users can use most functionalities without having to authenticate. This means that my decision of moving the login screen later in the application process was a correct decision.

Second usability test


I moved to the next usability test. I followed the same pattern i used during the rst usability testing by starting the pre-testing questions then the scenarios and the post-testing questions. I have also made sure to include the things i have learned from the rst usability testing. If there has been any specic issues that has been discussed in the rst test then i could also mention to the new participants and ask them what they thing about it. There was one thing i had to be careful about though. I should not mention the conclusions from the last participants. I dont want their personal views to be eected by the previous participants. What i did was to guide the new participants to the problem area and let them express their though about it. The second usability test was successful just like the previous one. The new participants were also experienced in the use of smart devices and they are using social networks such like Facebook or Twitter. I have got several feedbacks just in the rst test. More options for attending One of the participants the event creator suggest that the application should allow more option when the a user want to attend to an event. Currently the prototype only has one option which is actually to attend the given option. The participant that suggested this, was i Facebook users. Facebook has this service called Facebook Events which is similar to my application. The service allows several option to choose between one they attend. The users can choose to say that will attend if they had time or the users can say the wont be able to attend

48

3.3. FINAL EVALUATION RESULTS

and lastly the users can choose to say that they want to attend. These are the three choices the users can choose between. This was a great idea. I have tested Facebook Events, but i choice not have this kind of option in the end. I wanted to keep the functionality of the application to be simple and easy to understand. I was afraid that by increasing the option the users can choice from i also increase the complexity of the application. I asked the other participant of his opinion about the matter and he just agreed with the participant without going into detail. I am not quite sure how to handle this issue. I think i need to make research and testing before i can make any decision. Most likely i wont make any changes on next prototype regarding this issue. Who is attending the event? This issue is similar to the one mentioned in the last test about knowing who creates the events. The participants suggested that the application should allow the users to browse who is attending any specic event. I am not quite sure about this idea. Showing information about the attenders requires to retrieve personal information about the users. In private events, the event creator has access to the list of people that got invited. I think this is normal because the people are already in the friendlies, but other users does not need to access the same list even though they are linked by common friend. In public events then their is no invitations and the amount of attenders may be larger then the private events. There should not be any list of attenders with personal information. I think i will need to do some research regarding this kind of problem. This may go against my privacy policy which i though about but not implemented yet. Send invitations after creating events The participants suggested that they would like the option to send invite after the user has created the private event. Private events can only be browsed by the creator until he or she invite some one. The event will then be visible only to the event creator and those that are invited. Enabling the event creator to send invitations after the event is created is something i plan to implement. It was just that i didnt implement in this prototype.

49

3.3. FINAL EVALUATION RESULTS

How to send to send invitation? The event creator wondered about how the the event creator received his invites. The idea is that the application would take care of this. Invitation would be send through the application server and direct it to the user. This of course requires that the event browser is using the application. I think what the participant wanted to point out was the case of those who does not use the application. How would they then receive the event invitation? I never though about it in detail. I know that Foursquare has this options that allows the users to share information through simple text messages(SMS). Maybe i could do something similar, bur for now i require that everyone should use the application in order receive invites to an event. Event scanning without editing I could see that the same thing has been suggested here as well is the last test. Public events that are scanned should not be editable and the option of scanning events should be moved to the event browsing screen instead of the event creating screen. Four people has agreed to same thing already i should considered their suggest with creator weight. If this continues as i continue with the testing then i need to consider to make the changes. Some positive feedbacks As usual i was expecting some positive feedbacks. I got the following postive feedbacks: Easy to understand the interface Sensible order to task process. Things are linked good together from creating to browsing events Important functionality easy accessible Simple design and colouring I really appreciated these positive comments and they many thing in common with the last test as well. The participants has pointed out similar things that they thought to be really important and i believe that is important for me.

Others usability testing


I have performed two other usability testing and they went pretty much the same like the previous two. This time i focused on none experienced participants. I 50

3.3. FINAL EVALUATION RESULTS

have got some general feedbacks and some that were similar to the two rst usability testing. I concluded my usability testing with 4 test and eight participants altogether. The prototype had some functionality but also some thing that was only visual. i believed that i have evaluated enough using this prototype and i should move to the next prototype.

51

Chapter 4

Discussion
I have completed the project and it was a long and interesting journey. The idea behind the application may have been trigged by the fact that it was part of the school assignment but it became something that i decided to continue to see if it can be nished. This was a individual assignment where everyone needed to work alone. Early in the project, i started with having small idea of what i wanted to do for the school assignment. I had the freedom to choose what ever i wanted which had its advantage and disadvantages. The advantage was that i was able to form the project just like a wanted. I had to choose an idea of an application that was going to be run on smart devices which i did. I was also supposed to go through the designing process of the application and create a prototype which should be tested on potential users. The disadvantage with working alone was that, i alone made all decision during the interaction design process. I noticed that during the usability testing that there were something that sounded logical but i never thought about. There is limitation on what one person alone can do and think about. Other challenges of working alone on this project occurred during usability testing. I choose a testing method which required two participants. Since i worked alone, i had to take both the role of the tester and observer. It was a time when i considered to ask other people to help me during the usability testing, but i soon realized that it was impossible as i was the only one who had enough knowledge about the application. I choose to perform the testing alone. It was not easy to focus on both of the participants so i had to focus on one participant at a time. There was some times which i may have missed some important details, but in return i managed to create some discussion in each test and that contribute to any loss of information. Working alone was not the only challenge, time became a critical factor as well. It became clear to me from start that i wanted to focus more on the programming 52

part of the project. I spent a lot of time programming and testing several things. This took a lot of time, but fortunately i managed to nish some of it which i have implemented in the prototype. The prototype was supposed to contain specic features which i wanted to test. Once tested i reviewed and analysed the feedbacks. Any possible changes from the feedbacks were weighed based on the amount of participants who gave the same feedbacks. If the changes sounded logical and it was something the prototype lacked, then i made changes to the prototype. The great change that the prototype went through occurred between the rst and the nal evaluation. I was fortuned to show the unnished prototype to the entire class. I got a lot of positive feedbacks which resulted a major change on the prototype. I conrmed the changes was the correct decision because i got some positive feedbacks during the nal evaluation as a results of the changes. There was one thing i tried to remind my self while i was creating the design of the application. It was to not get too attached to the design and be open minded about new changes. Any developer has greater adaptivity to the system that they are creating then any one else. I have spent so much time on programming and creating the design. The design became natural and easy to use for me. I knew how things worked and of course i knew how things could fail so i unintentionally tried to avoid doing anything that may lead to a application error. In order to prevent such mistake from happening, i made a scenario that described a task for me to do on the application. I used the scenario to test the things i believed to be important. I tried to follow the instructions of the scenario which forced me to try dierent things on the prototype. This was only implied when i was testing the prototype myself. Testing the prototype on potential users required something else. I tried to not get too prideful about the design i have created an be open minded about new changes. I believe its dicult for every developer to admit that there is something wrong with the things they create. I tried to listen and take notes of every suggestion i got. I was also open minded about implementing those suggestions. As for the testing phase i really wanted to give realistic feelings. That is why i created the prototype with the functionality to synchronize with the event server. This way i managed to have two participants for the usability testing. I wanted the users to experience the social aspect of the application which is sharing events with each other. Although the process was dicult because i was alone, still i believe that everything worked just like i wanted it to be and i got positive feedbacks on the way i chosen to test. I had four tests and eight people to test on my prototype. Two people for each testing phase. The rst two usability tests were really interesting. The participants were quite experienced users of smart devices. They were also users of Facebook and Twitter. They also knew about Foursquare and Gowalla. The last two tests were not that successful. There were some feedbacks that was similar to the rst two tests, but i got better suggestions from the four rst partici53

pant. The reason for this i believe is because the last four participants were less experienced in computer and smart phones then the rst once. They knew of Facebook and have been using it, but they never tried it on smart devices. They also did not knew about Foursquare and Gowalla so they could not compare my application with these. I spent some time explaining about my application and help them through the test scenario. They had a lot question about simple things which were rather related to the device then the application. Since i all ready had tested the application on four experienced users, i thought that i could test the application on people that were less experienced with touch devices and smart devices. The results i got from the test indicated that i should not focus on inexperienced users at this stage of the application. I realized that i should focus on users that are experienced in Android devices and are using social application on their devices. These people would know what to expect from the design because they have used similar thing already. New users will not be able to comment on the design that much because they would not have anything to compare it with. Also since they are not adapted to the application they would properly disagree with a lot things. The st four participants commented that they would denitely wanted to see the full version of the application, while they the four last commented that they would properly not be using the application as they didnt have android devices and they were content with Facebook to try something else. As for feature improvements, i would need to create a new prototype that would implement the new changes that are suggested from the feedbacks. In this time i would focus on experienced users which i believe could contribute the the development of the application. I may want to test the application on inexperienced people later when it is closer to the full versions.

54

Chapter 5

Conclusion
I conclude with this that i have nished with this project. I have learned a lot during this project. I started with simple idea which was not that simply to implement. I have learned a lot about usability testing and the most important i have learned to program for the Android platform which was basically my drive through the project. I would like to continue with the project, but i would dierently try to nd a partner i can work with. I have learned that there are many weakness with designing something alone when its expected to be used by other people. I was glad that the methods that i used for testing worked really good. I was quite sceptical about using two participants for tests when i was alone with the project, but i am glad that i went through with it. I founded to be exciting and fun having a discussion with other people about the application i wanted to create. There are a lot of things which i hoped to cover with this report, but i didnt have time for it. The rst thing was about privacy and security related to location based application. This was something i was looking for to of doing but didnt had the time to look into. There was also about implementing my own version of digital map which i didnt have time to create. What i did instead was to to use intent for the Android Google Map. Overall i am quite satised with the things i have achieved and hope that i get the chance of doing something similar. I may also consider a master thesis about mobile devices and the usability of mobile devices. Its denitely an interesting eld worth researching.

55

Appendix A

Requirements documentation
A.1 Functional requirements

Application must support login screen in order to authenticate the users against the server Application must support event browsing screen where the user are able to see all the events near them User should be able to view detail information of the selected events User should be able to create new public or private events User should be able to comment selected events User should be able to attend selected events The event creator should be able to invites other user to participate the given event User should be able to rate the events User needs to be authenticated in order to create new event, comment event,attend event regarding whether the event is public or private Public events are viewable without authentication. Only invited users are able to view private events Users should be able to scan events using qr images The application should support map view of the event location

56

A.2. INFORMATION REQUIREMENTS

A.2

Information requirements

A username and password are required in order to login Events must be in a organized using a list view in the browsing screen The event browsing screen must contain event title,type,date,location and rating for each events Public events should be distinguished from the private event in the event browsing screen Event browsing screen must have refresh button Event browsing screen must have a link to the event creation screen

A.3

Hardware requirements

Smart device with Android OS is required to run the application The Android smart device should support GPS The android smart device should support camera in order to scan qr images in the application The android device should have internet access in order to work A server is required in order to save user and event informations.

A.4

Software requirements

The android application Barcode scanner is required in order to use the qr functionality of the application. Barcode scanner can be downloaded Google maps is required in order to view the location of the map

57

Appendix B

Final evaluation criteria


Here i have the criterion i have used for the nal evaluation.

B.1

General criteria

The design should have a simple interface that visualizes easiness and simplicity Important functionalities should be shown rst in the design and should be placed at easy accessible places The content of the design should be self explanatory The user should know his/her location in the application at any given time. The design should have the same pattern so that important functions can be recognized between dierent screens

B.2

Event browsing criteria

The list of the events should be simple and understandable The users should be able to browse through all the events in easy way The users should be able to easy select and choose an event. The users should easy access the option for that specic screen

58

B.3. DETAIL EVENT BROWSING CRITERIA

B.3

Detail event browsing criteria

Information regarding the events should be presented as simple as possible Informations regarding the event should be easy to understand and interpret Important functions such as attending, commenting or rating event should take the visual focus of the users when they load the screen

B.4

Event creation criteria

All the input elds of the event creation should be self explanatory and easy to understand The users should easy select whether to create a public or private event The users should be able to invite people in a ecient and easy way

59

Appendix C

Final evaluation materials


C.1 Pre-testing questions

1. Do you use smart phones with touch screen? 2. Are you using social networks such as Facebook and Twitter? 3. Do you know or have you tried the application Foursquare,Gowalla?(if no explain them after the main scenario test)

C.2

Post-testing questions

1. What are you opinion of the application idea? 2. Can you compare the application with Foursquare or Gowalla? 3. Can you imagine your self using the application MyEvents when its complete?

C.3

Scenario 1: Creating event

May 17 is the National Day of Norway; you know that you will be attending some formal celebration party with closest family, but you also would like to engage informal celebration with your closest friends. That is why you want to invite your friends to small party starting in the evening. You pick start the application then.... 60

C.4. SCENARIO 2: BROWSING EVENT

C.4

Scenario 2: Browsing event

You received an alert notication on your mobile device and you have been asked to authenticate in order to access your private events. You see that you have been invited by your friend to come to a party hat is going to be arranged in 17th May. You clicked in to the event and....

C.5

QR-image event
Enigma lan Hogskolen remmen halden 2011-05-05 Its time for enigmalan once again met up in room D1-055 at 18.00 clock!!

Tile Location Date Description

Figure C.1: Qr-image of public event

61

Appendix D

Low- prototype

Figure D.1: Low- prototype

62

Appendix E

Functional prototype
E.1 Running application

The application requires that the the device is connected the wi before it starts otherwise the prototype fails with other message. Using the camera functions requires an additional application barcode scanner that is available in the android market. I have included the prototype on cd so that it can be tested

E.2

Browsing events

Figure E.1: Browsing event

63

E.2. BROWSING EVENTS

Once MyEvents is loaded the users is sent to the event browsing screen(left gure). Here the users are able to either select event and move to the detailed view(Right gure) of the event or the users can choice New to create a new event. There are the following information in the event browsing screen: An icon that changes whether the event is public or private The title of the event The date of the event The amount of people that are attending the event There are the following information in the detailed event browsing screen: The event title and date Rating of the event. Users can add rating to the event. The description of the event Location of the event. The users can select the location and it will shown on a map. The users are able to see some of the last comments of the event The option to comment and attend the event. The map view of the application is not part of the application. The application runs Google Map though intent. This allows the users to have all the functionality of Google Map including navigation.

64

E.3. CREATING EVENT

E.3

Creating event

Figure E.2: Creating event From the event browsing event there users can choose to create a new event. If the users is not authenticated they will be sent to the login screen. Once they have been authenticated they are able to create the event. Once the users

Figure E.3: Adding event add events informations, they can invite people from their friend list. The users can also create events using QR-images. The program will retrieve the information about the events from qr-image and ll all the elds in the event creating screen.

65

Appendix F

Code selections
F.1 Client-Server synchronization

Figure F.1: Client-Server connection One of my great achievement is the fact that i have managed to implement i working client-server connection. The social aspect of the prototype requires that people are able to share events. In order to do that i need to create and store information on a server. The server uses a database to store event informations. The client makes a request the event information through HTTP request. There is PHP-script that retrieves the request and creates a connection to the database. The same PHP generates a JSon objects which the client receives. The code sample that the client used to request and to retrieve looks like this: HttpClient httpclient = new DefaultHttpClient(); ArrayList<NameValuePair> nv = new ArrayList<NameValuePair>(); 66

F.2. ANDROID LISTVIEW

url = "http://www-ia.hiof.no/~aliyhuss/mobapp/getPublicEvent.php"; HttpResponse res = DBHandler.POST(url, nv, httpclient); String r = getResult(res);

F.2

Android listview

List View is one of the major used controller in the android platform. It has some many functionality which supports both portrait and landscape screen mode on the android devices. It also has auto scrolling which makes it easy to t the information on every android devices regardless the screen size. Although list view is must used its not easiest android view to use. I have spent 50% of the time i used to programmer on creating the listview that would contain the events. I had to code from scratch by implementing my own custom listview. The event browsing screen activity only uses the following layout which only contains the list view. <ListView android:id="@+id/ListView" /> Currently the list is empty. In order to specify the content of the listview i needed to create another layout. The layout denes the content of each raw of the list. <ImageView android:id="@+id/icon"/> <TextView android:id="@+id/title"/> <TextView android:id="@+id/date" /> <RatingBar android:id="@+id/rate"/> In each row of the list, i dene a layout that contains an icon for the type of the event, a textview for title, a textview for the date and a rating bar for the ratings. These are all the things that are required in the event browsing. The code that linked the two layout are the followings lv = (ListView) findViewById(R.id.ListView); adapt = new CustomAdapter(this); lv.setAdapter(adapt); Event browsing screen loads the listview layout, but this listview is still empty. A listview uses an adapter which basically loads content into the list. I created my own custom adapter that lls the list with rows.

67

F.2. ANDROID LISTVIEW

private static class CustomAdapter extends BaseAdapter { public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder=null; if (convertView == null) { convertView = mInflater.inflate(R.layout.list, parent, false); holder = new ViewHolder(convertView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } } The custom adapter created a new each list row for each event that is loaded from the server. The adapter uses the layout for the rows and lls the list with it. This is a simplied code, but i have spent weeks to understand and nding about a way to implement listview on my prototype.

68

Bibliography
[1] Facebook usage statistics, may 8 2011, http://www.facebook.com/press/ info.php?statistics. [2] Facebook webpage, may 8 2011, http://www.facebook.com. [3] Foursquare homepage, may 8 2011, https://foursquare.com/. [4] Gowalla homepage, may 8 2011, https://gowalla.com/. [5] Joshua ported signing up, may 8 2011, http://bokardo.com/archives/ designing-for-sign-up-video-slides/. [6] Mobile context, may define-mobile-context. 8 2011, http://mobiforge.com/blog/ http:

[7] Nielsen smart phone statistics, may 8 2011, //www.email-marketing-reports.com/wireless-mobile/ smartphone-statistics.htm. [8] Twitter webpage, may 8 2011, http://www.twitter.com.

[9] Wikipedia: Computer supported cooperative work, may 8 2011, http://en. wikipedia.org/wiki/Computer_supported_cooperative_work. [10] Wikipedia :event correlation, may 8 2011, http://en.wikipedia.org/ wiki/Event_correlation. [11] Wikipedia: Smartphones, may 8 2011, http://en.wikipedia.org/wiki/ Smartphone. [12] Wikipedia: Common coding theory, http://en.wikipedia.org/wiki/ Common_coding_theory, 2011. [13] L. Barkhuus and A. Dey, Location-based services for mobile telephony: a study of users privacy concerns, Proc. Interact, vol. 2003, Citeseer, 2003, pp. 709712. [14] B. Gruschke et al., Integrated event management: Event correlation using dependency graphs, Proceedings of the 9th IFIP/IEEE International

69

BIBLIOGRAPHY

Workshop on Distributed Systems: Operations & Management (DSOM 98), Citeseer, pp. 130141. [15] Steven Heim, Interaction desing models, ch. 3, p. 86, in [19], 2008. [16] [17] [18] [19] [20] [21] [22] [23] , Nielsens heuristics, ch. 5, p. 173, in [19], 2008. , Personas, ch. 5, pp. 158160, in [19], 2008. , Requirements documentation, ch. 4, pp. 142143, in [19], 2008. , The resonant interface, hci foundations for interaction design, Addison-Wesley, 2008. , Scenarios, ch. 5, pp. 161162, in [19], 2008. , Stakeholders, ch. 4, pp. 128140, in [19], 2008. , Use case, ch. 4, p. 125, in [19], 2008. , Wireframes, ch. 5, p. 162, in [19], 2008.

[24] B. Hommel, J. M usseler, G. Aschersleben, and W. Prinz, The theory of event coding (TEC): A framework for perception and action planning, Behavioral and Brain Sciences 24 (2001), no. 05, 849878. [25] James E. Yao June Lu and Chun sheng Yu, Personal innovativeness, social inuences and adoption of wireless internet services via mobile technology, 1.

70

List of Figures
1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 Application focus area . . . . . . . . . . . . . . . . . . . . . . . . Foursquare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gowalla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The design process model . . . . . . . . . . . . . . . . . . . . . . Discovery Phase Framework . . . . . . . . . . . . . . . . . . . . . Usability test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use case diagram . . . . . . . . . . . Primary stakeholders . . . . . . . . . Facilitator stakeholders . . . . . . . . Foursquare list of places . . . . . . . . Gowalla list of places . . . . . . . . . Flowchart based on scenario . . . . . . Wireframe based on owchart . . . . Wireframe based on owchart . . . . Creating event on prototype . . . . . . Browsing event on prototype . . . . . Improved Flowchart of the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 10 11 13 14 26 29 30 31 33 34 37 38 39 40 41 44 61 62 63 65 65 66

C.1 Qr-image of public event . . . . . . . . . . . . . . . . . . . . . . . D.1 Low- prototype . . . . . . . . . . . . . . . . . . . . . . . . . . . E.1 Browsing event . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.2 Creating event . . . . . . . . . . . . . . . . . . . . . . . . . . . . E.3 Adding event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . F.1 Client-Server connection . . . . . . . . . . . . . . . . . . . . . . .

71

You might also like