conga – the context gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · conga – the...

148
Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile Devices Brian Munck Andersen Kongens Lyngby 2008

Upload: ngonhu

Post on 01-Sep-2018

240 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Conga – The Context Gallery

Using Context Awareness for Personal Content

Management on Mobile Devices

Brian Munck Andersen

Kongens Lyngby 2008

Page 2: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Technical University of Denmark

Department of Informatics and Mathematical Modeling

Building 371, 2nd Floor, DK-2800 Kongens Lyngby, Denmark

Phone +45 45253351, Fax +45 45882673

[email protected]

www.imm.dtu.dk

Page 3: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Abstract

In this thesis, I will present my suggestion of using context awareness to ease

personal content management on mobile computing devices. Different

approaches to content management exist, with the use of folder hierarchies

being the predominant solution in use today. Other approaches used are tagging,

and annotating content using faceted metadata. Common for all these

approaches is the tediousness inherent in managing content manually, as well as

the user interface problems present in using them on certain types of mobile

computing devices, due to the limitations in user interaction options.

To lower the impact of these problems, I suggest automatically gathering context

information and use it to semi-automatically annotate generated content. This

context information can then be used to provide the user of the context aware

personal content management system with different search and filtering options,

easing the task of organizing content.

Following a theoretical introduction to the fields of personal content

management, mobile computing, and context awareness, I describe different

suggestions for the design of such a system, focusing on the possibilities present

today. During the course of work on this thesis, a prototype application has been

constructed. This prototype is named Conga, which is short for Context Gallery,

and allows users to take pictures and manage these based on gathered context

information. Conga is intended as a proof of concept, demonstrating the

Page 4: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

ii

usefulness of context information for personal content management. The findings

made in working with this prototype are discussed, and it is found that the

possibilities of gathering context information and using it to ease personal

content management are available today, as demonstrated by the Conga

prototype, but there are also certain limitations and considerations to keep in

mind when constructing a context aware personal content management system.

Page 5: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Resumé

I dette eksamensprojekt for civilingeniørstudiet vil jeg præsentere mit forslag til

brug af kontekst-opmærksomhed for at lette personlig datahåndtering på mobile

enheder. Der findes forskellige tilgange til datahåndtering, med brugen af mappe-

hierarkier som den mest fremtrædende løsning i dag. Andre tilgange er tagging,

og beskrivelsen af data ved brug af facet-opdelt metadata. Fælles for disse

tilgange er den trivielle opgave bundet til manuel datahåndtering, så vel som

problemerne med brugergrænsefladen på visse typer mobile enheder grundet

begrænsninger i mulighederne for brugerinteraktion.

For at mindske betydningen af disse problemer, foreslår jeg automatisk

indsamling af kontekst-information, og brug af denne information til semi-

automatisk at annotere genereret data. Denne kontekst-information kan derefter

bruges til at tilbyde brugeren af det kontekst-opmærksomme personlige

datahåndterings-system forskellige søge- og filtreringsmuligheder, der kan lette

opgaven med at organisere data.

Efter en teoretisk introduktion til områderne personlig datahåndtering, mobile

computing og kontekst-opmærksomhed, beskriver jeg forskellige forslag til

designet af et sådant system, med fokus på mulighederne der findes i dag. Under

arbejdet med dette speciale har jeg konstrueret en prototype applikation.

Prototypen er døbt Conga, hvilket er kort for Context Gallery, og den lader

brugeren tage billeder, og håndtere disse baseret på den indsamlede kontekst-

Page 6: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

iv

information. Conga er ment som et proof of concept, der demonstrerer

brugbarheden af kontekst-information ved personlig datahåndtering. Fundene

gjort under arbejdet med prototypen diskuteres, og det ses, at mulighederne for

indsamling af kontekst-information samt brugen af dette til at lette personlig

datahåndtering, er til stede i dag, men der er også visse begrænsninger og

overvejelser at gøre sig ved konstruktion af et kontekst-opmærksomt personligt

datahåndterings-system.

Page 7: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Preface

This thesis was prepared at the Department of Informatics and Mathematical

Modeling (IMM) at the Technical University of Denmark (DTU) in partial

fulfillment of the requirements for acquiring the degree of Master of Science in

Engineering (M.Sc.Eng).

This M.Sc.Eng thesis is the result of work carried out in the period from February

2008 to October 2008, with a workload of 30 ECTS credits.

Lyngby, October 2008

Brian Munck Andersen

Page 8: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

vi

Page 9: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Acknowledgements

I would like to thank a number of people who have assisted me in writing this

thesis.

First and foremost I would like to thank my supervisor Assistant Professor Jakob

Eg Larsen for always providing insightful feedback, sharing his knowledge, and for

our long discussions of my work, and the topic in general, which have inspired me

greatly.

I would also like to thank my friends and colleagues, with whom I have discussed

my work at numerous occasions, always yielding useful results and new insights

into the topics I have worked with.

Finally, I would like to thank my girlfriend Marianna and my family, for moral

support and for coping with my absence while working on this thesis.

Page 10: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

viii

Page 11: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Contents

ABSTRACT I

RESUMÉ III

PREFACE V

ACKNOWLEDGEMENTS VII

CONTENTS IX

LIST OF FIGURES XV

LIST OF TABLES XVII

1 INTRODUCTION 1

1.1 A Suggestion for a Different Content Management Scheme 2

1.2 The Possibilities Already Exist 4

Page 12: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

x Contents

1.3 Report Overview 4

2 PERSONAL CONTENT MANAGEMENT 7

2.1 Growing Amount of Personal Content 7

2.2 Traditional Content Management 9

2.2.1 Digital Personal Content Management 10

2.2.2 The Problem with Categorization 11

2.3 Tagging 12

2.3.1 The Use of Tagging Today 12

2.3.2 The Problems with Tagging 14

2.4 Faceted Metadata 15

2.5 Searching for Content 17

2.5.1 Searching for Contents 17

2.5.2 The Dimensions of Memory 19

2.6 Summary 19

3 MOBILE COMPUTING 23

3.1 The Spread of Mobile Computing Devices 23

3.2 Different Mobile Computing Devices 24

3.2.1 Mobile Phones 25

3.2.2 PDAs and Smart Phones 25

3.2.3 Ultraportable Computers 26

3.2.4 Laptop Computers 26

3.3 Personal Content Management on Mobile Devices 27

3.3.1 The Limitations in Mobile Computing Devices 27

3.4 Summary 28

Page 13: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Contents xi

4 CONTEXT AWARENESS 31

4.1 History and Definition 31

4.2 Context Aware Systems Today 34

4.3 Inferring Context from Sensors 35

4.3.1 Inferring Context from the Sensors Available Today 36

4.4 Using Context Awareness for Personal Content Management 36

4.4.1 Going Beyond Specific Types of Content 38

4.5 Problems with Context Awareness 39

4.6 Summary 41

5 DESIGN 43

5.1 Different Design Possibilities 44

5.1.1 Stand-Alone Application Creating Content 44

5.1.2 Stand-Alone Application for Content Management 45

5.1.3 Stand-Alone Content Management Application Integrated With the

Operating System 45

5.1.4 Building Context Awareness into the Operating System 46

5.1.5 Extending the Existing Content Management Scheme with Context

Awareness 48

5.2 Gathering Context Information 50

5.3 Using the Gathered Context Information 52

5.4 Considerations and Challenges 54

5.4.1 Saving Context with Content 54

5.4.2 Limitations in Mobile Devices 55

5.4.3 Faulty Assumptions and Incomplete Context Information 56

5.4.4 The Vocabulary Problem 57

Page 14: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

xii Contents

5.5 Summary 57

6 IMPLEMENTATION 59

6.1 The Aim of the Prototype 59

6.2 Building the Prototype 60

6.2.1 Modules Used 61

6.2.2 Sensors Used 61

6.3 Gathering Context Information 62

6.3.1 Translating the Gathered Context Information 62

6.4 Saving All Context Information 65

6.4.1 Saving Context Information in a Database 67

6.5 Structure of the Prototype Implementation 69

6.6 The User Interface 70

6.7 Searching for Content 71

6.7.1 Simple Search 72

6.7.2 Advanced Search 73

6.8 Problems, Limitations and Result 74

6.8.1 Using the Sensors in Pys60 74

6.8.2 Pys60 75

6.8.3 The Implications 75

6.8.4 Result of the Prototype Implementation 76

6.9 Summary 78

7 TEST 81

7.1 Context Information Gathering on the Prototype 81

7.2 Finding Content Using Search 84

Page 15: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Contents xiii

7.3 The Ideal User Test 85

7.4 An Actual User Test 86

7.4.1 Observations 88

7.4.2 Analyzing the Search Terms 90

7.4.3 Usability 91

7.5 Summary 91

8 DISCUSSION 93

8.1 The Prototype 93

8.2 Gathering Context Information 94

8.3 Searching for Content 96

8.4 Summary 97

9 RELATED WORK 99

9.1 MMM and MMM2 99

9.2 MediAssist 100

9.3 MobTAG 101

9.4 Summary 101

10 CONCLUSION 103

10.1 Contributions 104

11 BIBLIOGRAPHY 105

A INSTALLING CONGA 113

Page 16: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

xiv Contents

B SETTING UP CONGA 115

C USING CONGA 117

D CONTENTS OF THE ENCLOSED CD 125

E CODE OVERVIEW 127

Page 17: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

List of Figures

FIGURE 1 - FUSING THE DISCIPLINES OF CONTEXT AWARE SYSTEMS, PERSONAL CONTENT

MANAGEMENT, AND MOBILE COMPUTING, TO CREATE A CONTEXT AWARE PERSONAL

CONTENT MANAGEMENT SCHEME TO BE USED ON MOBILE COMPUTING DEVICES. .......................... 3

FIGURE 2 – THE TYPICAL USE OF A TRADITIONAL FOLDER HIERARCHY, WITH MULTIPLE LAYERS OF

FOLDERS DIVIDING CONTENT INTO DESCRIPTIVE CATEGORIES AND SUB-CATEGORIES (76) .............. 10

FIGURE 3 – A TAG CLOUD CONSTRUCTED USING TAGS FROM FLICKR. THIS IS USED TO DISPLAY THE

POPULARITY OF DIFFERENT TAGS ON THE FLICKR WEB SITE, PROVIDING VISITORS WITH AN

OVERVIEW OF OFTEN USED TAGS AS WELL AS NAVIGATION OPTIONS BY CLICKING ON LINKS (13) ..... 13

FIGURE 4 – THE FACETED METADATA SYSTEM USED IN SEARCHING FOR WINE BASED ON THE DIFFERENT

FACETS ON WINE.COM (18). THE DIFFERENT FACETS CAN BE USED TO SELECT SPECIFIC PRICES,

TYPES, REGIONS AND PROFESSIONAL RATINGS, FILTERING THE RESULTS BASED ON THESE ............... 15

FIGURE 5 – NOKIA 3500 AND NOKIA 6500 CLASSIC (35). TWO TYPICAL SIMPLE MOBILE PHONES

FOUND ON THE MARKET TODAY ......................................................................................... 25

FIGURE 6 – NOKIA N78 (35) AND APPLE IPHONE 3G (36). TWO EXAMPLES OF MODERN HIGHLY

CAPABLE SMART PHONES ................................................................................................. 25

FIGURE 7 – ASUS EEE PC 2G SURF (38), THE FIRST VERY POPULAR LOW-COST ULTRAPORTABLE

COMPUTER ................................................................................................................... 26

FIGURE 8 – ACER ASPIRE ONE (39), ACERS NEW LOW-COST ULTRAPORTABLE COMPUTER ....................... 26

FIGURE 9 – DELL XPS M1330 (40), AN EXAMPLE OF A MORE TRADITIONAL LAPTOP .............................. 26

FIGURE 10 - STAND-ALONE APPLICATION CREATING AND MANAGING ITS OWN CONTENT. CONTEXT

INFORMATION IS SAVED AND MANAGED BY THE APPLICATION .................................................. 44

FIGURE 11 - STAND-ALONE APPLICATION USED FOR MANAGING ALL CONTENT. THE GATHERED CONTEXT

INFORMATION IS SAVED AND MANAGED BY THE APPLICATION .................................................. 45

Page 18: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

xvi List of Figures

FIGURE 12 - STAND-ALONE CONTENT MANAGEMENT APPLICATION INTEGRATED WITH THE OPERATING

SYSTEM. THE GATHERED CONTEXT INFORMATION IS SAVED AND MANAGED BY THE APPLICATION ... 45

FIGURE 13 - BUILDING CONTEXT AWARE PERSONAL CONTENT MANAGEMENT INTO THE OPERATING

SYSTEM. THE GATHERED CONTEXT INFORMATION IS SAVED AND MANAGED BY THE OPERATING

SYSTEM, WHICH USES IS AS THE BASIS FOR THE ENTIRE CONTENT MANAGEMENT SCHEME ............. 47

FIGURE 14 - BUILDING CONTEXT AWARE PERSONAL CONTENT MANAGEMENT INTO THE OPERATING

SYSTEM. THE GATHERED CONTEXT INFORMATION IS SAVED AND MANAGED BY THE OPERATING

SYSTEM, WHICH USES IT TO EXPAND THE SEARCHING AND FILTERING OPTIONS OF THE PRESENT

CONTENT MANAGEMENT SCHEME ..................................................................................... 49

FIGURE 15 - THE TRANSLATION OF THE SOLAR TIMES OF DAY INTO CONTEXT INFORMATION. THE TIME

OF DAY AS SEEN ON THE TIMELINE IS TRANSLATED INTO THE GIVEN DESCRIPTIVE NAME SHOWN

IN THE BOXES AT THE BOTTOM .......................................................................................... 64

FIGURE 16 - DATABASE DIAGRAM FOR THE DATABASE CONSTRUCTED TO HOLD THE GATHERED CONTEXT

INFORMATION. THE TABLES ARE CONSTRUCTED BASED ON THE FACETS DESCRIBED IN SECTION

4.4.1, WITH A SEPARATE TABLE CONTAINING INFORMATION ABOUT THE GATHERED CONTENT ...... 68

FIGURE 17 - THE LAYERED STRUCTURE OF CLASSES IN THE PROTOTYPE IMPLEMENTATION. THE CLASSES

ARE DIVIDED INTO A TYPICAL 3 LAYER ARCHITECTURE, WITH A USER INTERFACE LAYER, A

FUNCTION LAYER, AND A DATABASE LAYER .......................................................................... 69

FIGURE 18 - THE TWO MAIN PARTS OF THE USER INTERFACE, NAMELY THE CAMERA AND THE GALLERY,

AND THE OPTIONS THESE PROVIDE. WHEN CONGA IS STARTED, THE CAMERA PART IS INITIALLY

ACTIVE, ALLOWING THE USER TO TAKE PICTURES OR OPEN THE GALLERY FROM THE MENU. ........... 70

FIGURE 19 - PERFORMING A SINGLE SEARCH USING MULTIPLE SEARCH TERMS SEPARATED BY COMMA ....... 72

FIGURE 20 - PERFORMING AN ADVANCED SEARCH USING THE ADVANCED SEARCH FORM. THIS ALLOWS

A SEARCH BASED ON CHOSEN DATES, TIMES, TEMPERATURES, HUMIDITY, TIME ZONE, AND A

LARGE NUMBER OF TEXT INPUT FIELDS ............................................................................... 73

FIGURE 21 - A PICTURE TAKEN USING CONGA, DISPLAYED IN FULL SCREEN MODE, AND A DISPLAY OF

THE CONTEXT INFORMATION GATHERED AND SAVED TOGETHER WITH IT .................................... 78

Page 19: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

List of Tables

TABLE 1 - AN OVERVIEW OF ALL THE GATHERED CONTEXT INFORMATION USED TO ANNOTATE A TAKEN

PICTURE. THE INFORMATION, GROUPED INTO THE FACETS GENERATED IN SECTION 384.4.1, IS

GATHERED USING THE NOTED SENSOR, OR TRANSLATED USING THE WEB SERVICE BASED ON THE

FOUND GPS COORDINATE. ................................................................................................. 66

TABLE 2 - THE SUMMARIZED RESULTS OF A SIMPLE TEST OF CONTEXT GATHERING. THE CONTEXT

INFORMATION GATHERED FOR A PICTURE TAKEN INDOORS AND ONE TAKEN OUTDOORS IS

COMPARED TO THE EXPECTED CONTEXT INFORMATION. ............................................................ 84

TABLE 3 – THE RESULTS OF THE USER TEST. THE PICTURE NUMBER, SEARCH TERM, NUMBER OF FOUND

PICTURES, AND THE RESULT OF THE SEARCH IS NOTED, WITH (ADV) DENOTING A SEARCH USING

THE ADVANCED SEARCH FORM ............................................................................................. 88

TABLE 4 – A COMPARISON BETWEEN DIFFERENT RELATED PROJECTS BASED ON SELECTED MAIN POINTS

OF THE WORK PERFORMED ................................................................................................ 102

Page 20: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

xviii List of Tables

Page 21: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 1

1 Introduction

As people create and store an ever increasing amount of data, especially personal

content such as images, videos, documents, bookmarks, audio recordings, and

emails, the challenge of managing, organizing, and finding this content is growing

rapidly.

Most people tend to remember some information about the context they were in

when creating a given piece of content, such as the location they created it in,

who was there when it was created, the day of the week, or even arbitrary

information such as the weather at the time of creation. Using context

information for personal content management is, in a sense, already the norm for

pictures and videos, which are often categorized by their context, such as a

person, place, or event depicted in these, but in this thesis, I will argue that this

context information could help describe all types of content and ease the process

of finding it at a later point in time.

Page 22: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

2 Introduction

1.1 A Suggestion for a Different Content Management Scheme

In the last few years, a new trend has been emerging for picture management,

namely geo-tagging. Geo-tagging is simply to add location information, usually a

GPS coordinate, to a picture, thus allowing people to search for, and browse,

their pictures based on the location in which it was taken.

I suggest taking this simple context based categorization one step further, by

automatically adding all available context information to all created content, thus

allowing users to find their content based on the context in which it was created.

In a stationary computing environment, changes in context are minor, but with

computing devices today becoming increasingly mobile, much more context

information is available which can help describe the content being created. This

can form the basis for a personal content management scheme, with content

being organized not only based on its contents, but on the context in which it was

created.

Such a described personal content management scheme would fuse the

disciplines of context awareness, mobile computing, and personal content

management, and utilize the advantages found in these disciplines to create an

alternative personal content management scheme, very suitable for modern

mobile computing.

Page 23: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

A Suggestion for a Different Content Management Scheme 3

Figure 1 - Fusing the disciplines of Context Aware Systems, Personal Content Management, and

Mobile Computing, to create a context aware personal content management scheme to be used

on mobile computing devices.

Automatically adding context information introduces another significant

advantage, namely the partial removal of the tedious task of content annotation.

Since all available context information can be added automatically, the user does

not have to spend time annotating his files. Even though no time has to be spent,

it is still very important to enable users to add more information, and to edit the

already created metadata, to cater to different user types, and to allow users to

correct wrongly assumed context information.

Context

Aware

Systems

Personal

Content

Management

Mobile

Computing

Page 24: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

4 Introduction

1.2 The Possibilities Already Exist I choose to focus my work in this thesis on the possibilities already existing today,

and not on a thought up example requiring technology which is not already

available. Even though lots of progress is made in context awareness research

focusing on placing multiple sensors on a user, this is not present in everyday life

today. What is present is a great variety of highly capable mobile computing

devices, with lots of context information at hand, which has not yet been used in

a greater scheme. My work will therefore focus on using this available context

information in a constructive way, and examining how using it can aid us in our

daily personal content management.

With computer processing power constantly increasing, and Moore’s law still

holding true today, I have chosen not to focus on implementing advanced search

algorithms and optimizations for reducing the performance requirements of the

personal content management scheme. This is of course an important aspect of

creating a commercially available successful personal content management

scheme, but falls outside my focus for this thesis.

I will focus my work in this thesis on the possibilities already existing today, and

have chosen deliberately not to focus on privacy considerations, performance

optimization, and partly the inherent vocabulary problem in my suggestion, as

these fields alone contain enough material for a thesis. Instead, I focus on

describing my idea, designing a prototype to test the usability of adding inferred

context information to context, describing my findings in working with the Conga

prototype, and presenting my suggestions for further work in this field.

1.3 Report Overview In this thesis, I will first give a theoretical introduction to the fields of personal

content management, mobile computing, and context awareness. I will also

introduce my suggestion of fusing these disciplines in the creation of a context

aware personal content management scheme.

Page 25: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Report Overview 5

Next, I present my ideas for the design of a system using the created scheme, and

discuss the considerations to be made in the creation of such a system.

Following the design suggestions, I describe my work on implementing the Conga

prototype serving as a proof of concept of my suggested context aware personal

content management scheme. Working with the prototype, and testing it, has

yielded a number of interesting findings, which are discussed next.

Finally, I introduce possibilities for future work on this topic, as well as some

related work being done in the field, and conclude on my work and findings of

this thesis.

Page 26: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

6 Introduction

Page 27: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 2

2 Personal Content Management

In this chapter, I will give an insight into the growing amounts of personal

content, followed by an introduction to traditional content management. I will

then introduce two other content management schemes, namely tagging and the

use of faceted metadata. Following the introduction to these different content

management schemes, I will describe new advances in search technology. Finally

a summary will relate these three schemes, and discuss their usage.

2.1 Growing Amount of Personal Content In a study carried out by the School of Information Management and Systems at

the University of California at Berkeley (1), a low estimate of the amount of data

created in 2002 is set at 3.4 Exabyte. This data consists of both professional

information, ranging from cinema and TV to corporate documents, and personal

content. 12% of this information is stored on harddisks, and I assume this

percentage to be increasing, as harddisks are becoming more common for

especially multimedia storage, in for example video cameras and TV recorders

such as TiVos. I also assume the percentage of information stored on flash

memory, which was around 0.3% in 2002, to be increasing, as digital cameras and

camera phones, as well as most digital portable music players, store information

Page 28: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

8 Personal Content Management

in flash memory. More than 3.5% of the information created in 2002 was

photographs recorded on film. As digital cameras are taking over from film

cameras, this information will also be stored in magnetic media. Studies show

that people tend to take a lot more pictures with digital cameras, a trend that

might also be seen with digital video cameras, which will also influence the

amount of personal information created (2).

The amount of newly stored information grew at about 30% a year between 1999

and 2002, and this trend has most likely continued with the spread of computers,

digital cameras and camera phones, and digital video cameras. This effect is

already being seen with users of camera phones reporting, that they take more

humorous and ad-hoc pictures with their camera always at hand (3).

As mentioned by Fitzgibbon and Reiter (4), it is now possible to store every digital

photograph one takes, and this is not only true for photographs, but for all digital

personal content. Storage space is likely to keep growing together with the

amount of personal content, which, along with the new possibilities brought

forward by the digital revolution, enables us to document and save almost all

aspects of our daily lives, creating a so-called Memex which was first envisioned

by Vannevar Bush in 1945 (5). Creating a Memex, or digital diary/memory, is the

focus of the works of many researchers. As an example of a work in progress,

Gemmell, Bell, and Lueder from Microsoft Research have been working on the

MyLifeBits system, which is directly inspired by Bells vision (6). This type of

application will likely be commercialized and introduced to the public within the

next decade, and will result in a massive growth of personal content to manage.

Page 29: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Traditional Content Management 9

2.2 Traditional Content Management Managing analogue personal content, such as pictures in print, video cassettes,

and books, has mostly been done by categorization. Each piece of content is put

into a category, for example a photo album or box containing pictures from a

vacation, a video collection sorted by recording date, or an alphabetical sorting

scheme for books. Given the fact of physical objects existing in only one place at a

time, it is impossible to have objects in several categories at once, for example

having the same picture in two photo albums, one for a specific vacation and one

for sunsets, except if a copy is made, which is very impractical. This has led to

elaborate categorization schemes being constructed for libraries and other large

collections, to aid in finding sought after content.

In 1983, Malone analyzed how a group of office workers organized information

on their desks and in their offices (7). In his findings, he grouped his interviewees

into two groups, namely “messy” and “neat”, with “messy” office workers having

many piles of documents, magazines, books, and notes spread out on their desk

and around the office. “Neat” workers, on the other hand, had a much more

organized desk and office, with established workflows and specific stacks of

documents for specific tasks. The “messy” group does not necessarily represent a

group of people who work less efficiently, and have lost control over their tasks,

they merely have a different preference when it comes to organization.

Malone found, that an important aspect of desk organization is reminding. The

interviewed workers would leave documents visible, to serve as reminders of

work to be done, which leads him to suggest that this reminding function should

be built into computer-based systems. Furthermore, Malone finds that there is

both a mechanical and cognitive difficulty in categorizing documents. The

mechanical difficulty consists of the work required to create labeled folders,

binders, and so on, and the cognitive difficulty is inherent in the problem of

creating appropriate categories for filing and easy retrieval.

Malone lists a number of “implications for designing computer-based information

systems”. These include “multiple classification”, where the computer system

would allow a document to be easily put in several categories, “deferred

Page 30: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

10 Personal Content Management

classification”, where files can be categorized by storing them in some physical

location (much like a pile of papers on a desk), and “automatic classification”,

where the computer system automatically classifies information as much as

possible.

2.2.1 Digital Personal Content Management The categorization approach to content management has been brought into the

world of digital content management as well, and has resulted in the traditional

folder hierarchy which most people rely on to organize their information today.

As examples of this, we see most email programs using folders for organization,

and operating systems letting users sort files into folders as well.

The digital folders suffer from the same

limitation as their analogue counterpart,

namely that a file can only exist in one folder

at a time, unless copies are made. This leads

to different categorization schemes being

invented, which try to aid management of

files, but also require quite a bit of caretaking,

especially as the amount of content grows.

This is in line with the findings made by

Malone. Most operating systems allow the

users to place documents and folders on their

digital desktop, enabling them to keep

important documents “at hand”, thus

following Malone’s suggestion of being able

to keep documents visible as reminders.

The aforementioned increase in personal

content can easily lead to so called

“information overload”, which is most

commonly defined as “an excessive volume

Figure 2 – The typical use of a traditional

folder hierarchy, with multiple layers of

folders dividing content into descriptive

categories and sub-categories (76)

Page 31: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Traditional Content Management 11

of information”, and “difficulty or impossibility of managing it” according to

Farhoomand and Drury (8). The problem of information overload underlines the

need for efficient and useful content management, and therefore much research

has been carried out in this field.

Henderson has analyzed the way a group of knowledge workers store their digital

files (9). She finds that the participants in her study have very different patterns

of organization, with one participant being a classic “non-filer”, with a high

number of files per folder and a shallow hierarchy, who relies more on search to

locate his files, and another participant being a typical “frequent filer”, who stays

organized and uses the folder hierarchy to locate needed documents. These are

two typical approaches to personal content management, demonstrating how

people use different methods to organize their files. The findings are completely

in line with Malone’s findings 21 years earlier, and show that we have adopted

the same organizational schemes for our digital content that we use to manage

physical documents.

2.2.2 The Problem with Categorization As described by Malone, categorization can lead to cognitive difficulties. This is

further discussed by Sinha (10), who describes how the categorization required to

organize information in folders can be problematic, since only one of potentially

many describing categories for a given piece of information has to be chosen as

the filing category. This can lead to insecurity as to which category is most fitting,

since it has to be both the most descriptive category, and also be the one we are

most likely to search when looking for this information in the future.

Furthermore, we have to consider the overall categorization scheme at the time

of categorization, and worry about the correctness of this. Finally, the expensive

nature of the time needed to change categories at a later time means, that the

initial categorization is very important. The author has coined the phrase ”post

activation analysis paralysis” to describe the state of fear of making the wrong

decision in categorization, and that the information at hand will therefore be lost

forever.

Page 32: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

12 Personal Content Management

The before mentioned tradeoff between the time spent searching for files and

the time spent organizing them, together with the problem of categorization

leading to “post activation analysis paralysis”, underlines a significant limitation

inherent in the classical folder hierarchy. The limitations found in the folder

approach can significantly hinder efficient file management, or at the least make

it a tedious task.

2.3 Tagging With the inherent problems found in categorization in a folder hierarchy, another

approach to information management is becoming increasingly popular, namely

tagging of content. Tagging means adding metadata information to content, with

the metadata information containing any type of describing information, such as

a description of the content, or information about a genre, author, situation,

quality of the content, and so on. Tagging can, simply put, be described as adding

labels to content, and there are no restrictions on the number of labels, and the

information these contain. Using this approach, files can simply be organized into

folders based on e.g. their creation date, but using the tags it is possible to search

for content, and group it into a number of categories across folders, by doing

simple text searches.

According to Sinha, tagging “taps into an existing cognitive process without

adding much cognitive cost”, which is why many users find it enjoyable and easy.

By tagging content, all associated categories can be assigned as metadata, which

eliminates the decision process of choosing the right category, thereby removing

the “post activation analysis paralysis” stage (10). Tagging therefore enables

people to do “multiple classification”, as desired by Malone (7), which is not

possible in a traditional folder hierarchy.

2.3.1 The Use of Tagging Today Tagging has become very popular on the Internet, where websites such as Flickr,

del.icio.us, Digg, and numerous news-sites have embraced tagging to help

Page 33: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Tagging 13

navigation and cross-referencing across their content. Websites like Flickr and

del.icio.us have gained a lot of popularity due to the open user-based tagging

scheme, which lets users organize content using tags to build non-hierarchical

bottom-up classification systems, also known as folksonomies (11). Folksonomies

are the result of many users tagging content, but tagging can also be

implemented for personal content management, and is becoming popular for file

management as well, with especially photo management software, such as

Picasa, Photoshop, and Adobe Lightroom, leading the way. Tagging is also slowly

being built into operating systems, such as Windows Vista, which contains native

support for tagging files, and searching these tags.

Apart from being a way to facilitate the searching of content, tagging is becoming

a social phenomenon online, where users see tagging as a way of expressing

themselves and providing a personal description of the content they tag (12).

Tags are also being used to give a more graphical representation of the focus of a

given site, such as a blog, by displaying the tags used on the site in a so called “tag

cloud”. A tag cloud contains the tags used on the particular website, and displays

them varying in size according to how much the different tags are used. This

representation of tags can give readers a quick overview of the main contents of

a website, as well as provide a tool to find content tagged using these tags.

Figure 3 – A tag cloud constructed using tags from Flickr. This is used to display the popularity of

different tags on the Flickr web site, providing visitors with an overview of often used tags as well

as navigation options by clicking on links (13)

Page 34: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

14 Personal Content Management

2.3.2 The Problems with Tagging In traditional categorization schemes, similar content is grouped into fixed

categories, which are constructed to describe the content as precisely as possible,

without having different categories for synonyms of the same content. Since

tagging is based on the user entering metadata, it does not have the same

protection against synonyms being used to describe similar content (e.g. cat,

kitten, kittens, feline), which can lead to only some content being found in a

search using a single synonym. This problem arises due to the lack of a fixed set of

terms without synonyms, also known as a controlled vocabulary, which can be

used for tagging. Unfortunately, a controlled vocabulary can also limit the

precision with which content can be described. This is a serious limitation to

tagging of personal content.

According to Ames and Naaman (12), supporters of folksonomies claim that this is

a design choice, rather than a weakness, when speaking of folksonomies, and

with many users tagging the same content, more synonyms will likely be added as

tags, and the use of popular synonyms can be encouraged by providing lists of

“related terms”. This somehow minimizes the vocabulary problem in

folksonomies, but does not provide a good solution to the vocabulary problem in

tagging of personal content.

Another problem with tagging is the tedious work required to assign the

necessary tags to a collection of personal content, to make it searchable. As

mentioned by Ames and Naaman, the perceived benefits of annotation, which

are vaguely-defined and at some indeterminate time in the future, do not

overcome the investment, even with the most advanced annotation systems.

They further believe that people are more inclined to tag their content, when

they are given the right incentives and affordances for annotation (12).

Page 35: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Faceted Metadata 15

2.4 Faceted Metadata A third approach to content management, which is in part similar to both

categorization and tagging, is the use of faceted metadata. The idea behind

faceted metadata is to identify a finite number of properties of the content to

describe, so called facets, into which the descriptive tags are divided. The facets

can be seen as different axes along which content can be categorized, with each

facet containing a number of categories, which can in turn be hierarchical. This

enables searching along the different facets in any

order, to reduce the number of search results until a

desired result is found. This type of content

management was first introduced by S.R.

Ranganathan for use in library classification, and his

work is the foundation for the use of faceted

metadata (14).

An often used example, see for example Merholz (15)

and Doyle (16), is the use of facets on Wine.com (17),

which lets you search for wine along facets such as

wine type, region, winery, and price. Each search

result can then be further narrowed down by selecting

more facets, until the user ends up with a satisfying

selection to choose from. If no satisfying selection is

found, the user can choose to deselect certain facets,

thereby viewing all wines containing the other

selected facets, or in other words broaden the search

again. Searching in this manner is therefore an

iterative process, continuously allowing the user to

modify the search until a desired result is found.

Faceted metadata can be used to classify many kinds

of content, but requires the construction of the facets

along which to classify the content. Another good

example of using faceted metadata is seen in the

Figure 4 – The faceted

metadata system used in

searching for wine based on

the different facets on

Wine.com (18). The different

facets can be used to select

specific prices, types, regions

and professional ratings,

filtering the results based on

these

Page 36: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

16 Personal Content Management

image search interface constructed by Yee, Swearingen, Li, and Hearst (18), which

was used in a usability study where 32 art history students explored a collection

of 35.000 fine arts images. The faceted metadata structure used in this study,

which I find to be a very concise and useful definition of faceted metadata, is

summed up as follows:

• The metadata may be faceted, that is, composed of

orthogonal sets of categories. For example, in the

domain of fine arts images, possible facets might be

themes (military, religious, etc.), artist names, time

periods, media (etching, woodblock, ceramic, etc.),

geographical locations, and so on.

• The metadata (or an individual facet) may be flat (“by

Pablo Picasso”) or hierarchical (“located in Vienna >

Austria > Europe”).

• The metadata (or an individual facet) may be single-

valued or multi-valued. That is, the data may allow at

most one value to be assigned to an item(“measures

36 cm tall”) or it may allow multiple values to be

assigned to an item (“used oil paint, ink, and

watercolor”).

The results of the user study showed, that once the users grew accustomed with

the new search interface, many found it to be more useful and inspiring,

compared to a normal textual search implementation.

The downside of faceted metadata is the necessity of defining the facets, which

makes it hard to use for arbitrary content, but a very potent tool for searching

content which can be classified using a defined set of facets.

Page 37: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Searching for Content 17

2.5 Searching for Content No matter the content management scheme, the time needed to find sought

after information depends greatly on the care taken in categorizing, tagging, or

describing content carefully.

Barreau and Nardi (19)summarize two studies of file organization in a folder

hierarchy, describing how the users in these studies overwhelmingly preferred

finding their files using location-based search, meaning manually browsing folders

for the files based on a guess of their location in the folder hierarchy. The

effectiveness of this approach most probably depends on the type of user, with a

“non-filer” using more time to find files, but less time to organize them, and a

“frequent filer” finding his files faster, but spending more time organizing them.

This again shows how different users have different approaches to organization,

and how a good content organization scheme needs to support different types of

users.

Malone also describes how retrieving information can be hindered by the user

only being able to search using one retrieval key at a time, e.g. the title of a

folder. Often information is specified by using more than one identifier at a time,

e.g. “a message from M.A. Smith, last week, about the meeting in Palo Alto”.

Retrieval of documents is often further hindered, since documents are often filed

under one identifier, e.g. an author, but sought after using other identifiers, e.g. a

topic or point in time. Tagging or using faceted metadata can help with this task,

by allowing the user to search using several identifiers at once, but this still

requires content to be sufficiently annotated, which is not always the case

according to Ames and Naaman (12).

2.5.1 Searching for Contents A different approach to finding files is by performing a search of the file contents.

This is easy for files with textual contents, and is becoming increasingly popular

on computers, using e.g. Google Desktop (20) or Windows Desktop Search, the

latter being built directly into Windows Vista (21). This kind of search has many

Page 38: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

18 Personal Content Management

limitations, as it can only search textual contents as well as filenames of files, and

is therefore useless for multimedia data. As a result, a lot of research is being

done in the fields of multimedia searching, as seen for example in the challenges

listed by Fitzgibbon and Reiter (4).

Recently, several services for music search have been introduced, which can aid

users in their organization of their music libraries, by adding metadata to the

songs, and find the music they are looking for. As an example, Sony Ericsson has a

range of mobile phones with TrackID search, which lets you search for metadata

about the piece of music you are currently listening to on the built-in radio, MP3

player, or even the music in your current surroundings (see Sony Ericsson's

presentation on their website for a demonstration (22)). This search is based on

an analysis of the music, with a lookup in the commercial Gracenote music

database, which also powers products from Apple, Philips, and even a new

Cadillac (23). An open source alternative to Gracenote can be found in

MusicBrainz (24), which is a “community music metadatabase”. Textual searches

in the database are possible, but MusicBrainz can also be used by different MP3

tagging applications, such as their own Picard, which analyses songs and retrieves

metadata for them from MusicBrainz, which enables textual searches of this

metadata at a later time. A similar service is available online from Midomi (25),

where users can search for metadata about songs by humming or singing them,

and having the website find similar songs. The songs found on Midomi are not

only the original recordings, but also recordings made by a large user community,

which use the website for sharing their talent with the community. The metadata

found for songs will usually be stored in the ID3tag of MP3 files, or similar for

other formats, which is a good example of faceted metadata in use in file

organization today.

Other advances in multimedia content search are using image recognition and

image analysis for image search. As computer processing power is constantly

increasing, and image recognition and analysis algorithms are being perfected

and used in new ways, we are seeing new ways of searching for images, as for

example the “Multicolr Search Lab”, which lets users search a selection of images

from Flickr based on the colors found in the images (26), or “Celebrity Collage”,

Page 39: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 19

where users can upload a portrait and find the celebrities who they look like the

most (27). The techniques behind this type of search can very well be

implemented in applications for personal image management, and could change

the way people search their images.

2.5.2 The Dimensions of Memory The use of different identifiers for information, as mentioned by Malone (7) and

as seen above, is interesting since it demonstrates how people tend to remember

and describe information by a number of different factors. These dimensions of

memory are also described by Eg Larsen (28), and include:

• Spatial – The location of information or a place it was

created

• Temporal – When information was used or stored

• Identification such as a name or a number – For

example a case number or name

• Classification – The category or file in which the

information was categorized

• Content – The contents of a file

These different dimensions all serve to describe information, and since people

tend to remember at least some of this information about a given piece of

content, facilitating information search using all of these dimensions would

greatly ease the finding of content.

2.6 Summary Traditional personal content management, in the form of categorization, suffers

from a number of limitations, and coupled with the growing amount of personal

content, this is likely to cause information overload for both experienced and new

computer users, unless better personal content management schemes are

implemented.

Page 40: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

20 Personal Content Management

In this chapter, I have introduced two alternate ways of handling personal

content, namely tagging and the use of faceted metadata, which are both

possible solutions to the problems of categorization, but also include their own

limitations.

Tagging of content is a tedious task, which is often not performed due to the

perceived lack of benefits of doing so. Furthermore, the vocabulary problem of

tagging can easily render it useless, or at least much less beneficial, as a content

management scheme. To solve the vocabulary problem, faceted metadata could

be considered for personal content management, but the facets suitable for

describing different types of content vary greatly. In addition, faceted metadata

suffers from the same problem of tedious annotation as found in tagging.

The approach best suited for personal content management depends on the

scenario in which it will be used:

• Categorization is best for content that can strictly be

divided into single categories, which is not often the

case for personal content.

• Tagging is the most open and diverse solution to

managing all sorts of content.

• Faceted metadata offers an approach somewhat in

the middle between the two extremes of

categorization and tagging.

New advances in search technology has made searching for certain types of files

easier, and can aid in the management of these, but searching specifically for the

contents of files is only a tool that can aid in certain types of content search, not a

solution to content management problems.

The classical “frequent filer” and “non-filer” user types mentioned by Henderson

(9) and Malone (7) both need to be taken into consideration when designing a

new personal content management scheme. In a tagging scheme, as well as one

using faceted metadata, these different kinds of users would most likely manage

their content in quite different manners, as is the case for categorization. The

Page 41: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 21

“frequent filer” would spend time tagging, or adding metadata to, his content,

which would enable him to find it quickly. The “non-filer” would spend much less

time adding tags or metadata, but would in return spend a substantial amount of

time finding needed content again. Both workflows need to be possible, and the

result of both types of management needs to be acceptable to the user.

Page 42: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

22 Personal Content Management

Page 43: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 3

3 Mobile Computing

In this chapter, I will present the spread of mobile computing devices today, and

quickly sum up the different types of mobile devices available. I will then describe

the current personal content management scheme found in mobile devices, and

how this has certain limitations.

3.1 The Spread of Mobile Computing Devices Mobile phones are by far the most wide-spread mobile computing devices in the

world, with more than one billion mobile phones being sold in 2007 alone (29).

According to Gartner, the simple mobile phones are most popular in emerging

markets such as China and India, while mature markets such as Japan and

Western Europe tend to show a higher interest in more feature-laden mobile

phones, such as high-end phones and smart phones.

Ultraportable laptops are predicted to spread rapidly in developing markets over

the next years, especially due to the very low-cost education PCs (30). Low-cost

ultraportables have also seen a great interest in established computer markets,

especially following the introduction of the Eee PC from ASUS, which has had

remarkably high sales figures, selling more than 350.000 units in the first half year

Page 44: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

24 Mobile Computing

from the release date, and projected sales of 3 to 5 million units in 2008 (31). The

success of the Eee PC has had a great effect on many laptop manufacturers, with

MSI, ECS, Dell, HP, Acer, and Medion all having introduced competitors to the Eee

PC throughout 2008 (32).

Traditional laptops are also spreading rapidly, with their sales exceeding the sales

of desktop computers in Denmark the last two years in a row (33). This trend is

also expected to hold true for the United States in 2008 (34), which can be

interpreted as a general indication, that more and more new PCs sold in the

established PC markets will be mobile.

The sales figures and new emerging markets all point to a quickly increasing

spread in mobile computing devices of all kinds, which is a trend that is likely to

continue for many years to come.

3.2 Different Mobile Computing Devices The mobile computing field is not dominated by a single type of device, but is

comprised of a great variety of different devices, differing in size, price,

functionality, and last but not least specifications. Mobile computing devices of

today offer many possibilities, but also present many challenges in personal

content management. The different kinds of devices can roughly be grouped into

the following categories.

Page 45: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Different Mobile Computing Devices 25

3.2.1 Mobile Phones This category consists of simple mobile phones,

whose main function is telephony. The

functionality of the devices in this group is ever

evolving, with almost all new mobile phones

having a camera, mp3 player, color screen, sound

recorder, calendar, Bluetooth connectivity, and

internet browsing option. Except for the calendar,

all of this functionality was only seen in high-end

mobile phones few years ago, and more and

more functions from high-end phones are

gradually trickling down into the cheaper phones.

Most simple mobile phones have very limited

computing power, and only some allow the

running of third party applications.

Figure 5 – Nokia 3500 and Nokia

6500 Classic (35). Two typical

simple mobile phones found on the

market today

3.2.2 PDAs and Smart Phones

Figure 6 – Nokia N78 (35) and Apple iPhone

3G (36). Two examples of modern highly

capable smart phones

In this category we find the traditional

middle-way between a mobile phone and

a laptop, namely the PDA, and its

successor, the smart phone. Smart phones

are, simply put, high-end mobile phones,

with a lot of functionality such as Wi-Fi and

3G connectivity, GPS navigation, higher

quality camera, document editor, higher

quality screen, and multimedia playback.

Smart phones are constructed to be a

complete personal multimedia device, and

not just a telephone with a few extra

options. Most smart phones run small

operating systems such as Symbian or

Windows Mobile, which provides more

options for running third party

applications.

Page 46: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

26 Mobile Computing

3.2.3 Ultraportable Computers In the gap between smart phones and normal

laptops, a quickly growing market for

ultraportable computers is forming. Ultraportable

laptops have been available for many years, but

at a very high cost, which has kept the market

reserved for business consumers mostly.

Recent projects aimed at constructing a very low

price, simple, and robust laptop for developing

countries, such as the OLPC project (37), has

created a market for low-cost ultraportable

computers, not only in developing countries, but

also in the established computer markets, where

the first low-cost ultraportable computer, the

ASUS Eee PC, has had great success (31).

Ultraportable computers are generally less

powerful than traditional laptops, but often run

normal PC operating systems and programs. Most

ultraportable laptops have Wi-Fi connectivity, and

many models also come with Bluetooth, and

some even 3G connectivity and GPS built in.

Figure 7 – Asus Eee PC 2G Surf

(38), the first very popular low-

cost ultraportable computer

Figure 8 – Acer Aspire One (39),

Acers new low-cost ultraportable

computer

3.2.4 Laptop Computers

Figure 9 – Dell XPS m1330 (40), an

example of a more traditional

laptop

Traditional laptop computers, or notebooks, are

the most powerful, but also largest, heaviest, and

often most expensive, mobile computing devices,

ranging from sub-notebooks with screen sizes of

around 12 inches to large desktop replacement

laptops with screen sizes passing 20 inches.

Modern laptops generally come equipped with Wi-

Fi and Bluetooth connectivity, and a few have also

been introduced with integrated 3G and WiMAX

connectivity.

Page 47: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Personal Content Management on Mobile Devices 27

3.3 Personal Content Management on Mobile Devices All types of mobile computing devices are gaining increasing amounts of features,

allowing the users to create a growing variety of personal content which needs to

be managed. Today, the norm for personal content management on most types

of mobile units is the traditional folder hierarchy, with its inherent content

management problems as underlined in Section 2.2.2. Using folder hierarchies for

content management on laptops and ultraportable computers is an obvious

choice, since these devices usually run the same operating systems as their

desktop counterparts. The adoption of folder hierarchies on mobile and smart

phones is likely due to the wish to follow computing norms, even though this is

not necessarily the most usable solution for smaller mobile devices.

One exception to the use of folder hierarchies is the content organization of many

portable music players, most notably the iPod, which allows selecting music

based on artist, album, song title, genre, and so forth. This selection is based on

the faceted metadata found in the ID3 tags embedded in MP3 files, and allows

the user a much more versatile approach to organizing his music and selecting the

songs to play.

3.3.1 The Limitations in Mobile Computing Devices One aspect of mobile computing, which greatly differs from desktop computing,

is the different limitations in user interaction options. Different types of mobile

devices each have their own limitations and advantages, concerning both the

graphical user interface and the input options, which make the design of

applications and operating systems a challenge. Dunlop and Brewster (41) list

these challenges, and especially the challenge of “Designing for limited

input/output facilities” has an impact on personal content management on

mobile computing devices.

The most limited devices are the normal mobile phones. These usually have a

small, low-resolution screen and a 12-button keypad along with a few selection

buttons. Smart phones usually feature a larger screen, though still smaller than 4

Page 48: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

28 Mobile Computing

inches, with higher resolution, and many smart phones feature touch-screens or

full keyboards for better interaction options. Ultraportable computers normally

feature either a touch-screen or a full keyboard, some feature both, and are also

often equipped with a track-pad or other pointing device replacing a mouse. The

largest device, the laptop, features a full keyboard, a track-pad or similar mouse

replacement, and a large screen, making this the device that traditionally has the

most user interaction options. These limited input/output options can make the

task of creating folders, arranging files, and generally maintaining a folder

hierarchy tedious, and often quite hard, since especially smaller devices lack the

input options, as well as overview, needed to efficiently manage folders and files.

Due to these limitations in user interaction, using faceted metadata or tagging for

personal content management on mobile computing devices could easily prove

useful.

Another important limitation in mobile computing is the processing power, with

the smaller units often having a very limited processing power compared to

desktop computers and laptops. The larger the device, the larger processing

power is usually found. The processing power can create limitations in the

searching and filtering options of personal content management systems on

mobile devices, but with processing power in new mobile devices constantly

increasing, this is a disappearing problem.

3.4 Summary Mobile computing devices are seeing a rapid spread, as well as a great evolution

in functionality, which is very unlikely to stop in the years to come.

With much more content being created on mobile devices, and storage space in

them increasing, the problem of efficient personal content management is

increasing as well. Together with the growing amounts of content, the limitations

inherent in many mobile devices further underline the need for a good personal

content management scheme on mobile devices.

Page 49: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 29

Together with the constant increase in storage space, all types of mobile devices

are getting an increasing amount of sensors built in, with GPS and accelerometers

being the biggest trend at the moment. Cheaper devices, like standard mobile

phones, are becoming equipped with built in sensors which were only found in

high end devices a few years ago, and the higher end devices are getting a whole

range of new sensors, such as digital compasses and accelerometers, built in. All

these sensors provide many new options for application development on mobile

devices.

Page 50: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

30 Mobile Computing

Page 51: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 4

4 Context Awareness

As described in the previous chapters, personal content management is

increasingly taking place on mobile computing devices, with the limitations of

categorization, combined with limited input/output options of mobile devices,

creating a growing need for a better personal content management scheme. In

this chapter, I will describe how using the sensors found in mobile devices can aid

in facilitating easier content management by using context awareness to

automatically collect metadata for created content.

I will begin with a brief history and definition of context awareness, followed by a

discussion of inferring context information from sensors, and how this can be

done in mobile devices. Finally, I will describe how context awareness can be

used for personal content management, and which problems exist related to

context awareness.

4.1 History and Definition The notion of context awareness was firstly introduced by Schilit et al. in 1994

(42), and is most often defined as a sub-discipline of ubiquitous computing

research. The field of context aware computing focuses on making computing

Page 52: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

32 Context Awareness

devices aware of their surroundings, and the user’s current context, so they can

adapt to the situation and needs of the user. Since Schilit et al. coined the term a

lot of work has been put into this discipline, on both the theoretical and practical

level.

According to Dey, Schilit’s definition of context as “location, identities of nearby

people and objects, and changes to those objects” (quoted freely from Dey), can

be hard to use in practice. Other definitions based on simple synonyms for

context, such as “referring to context as the environment or situation”, can be

equally hard to use, while other definitions are too restrictive. This has led Dey to

create one of the most widely used definitions of context, which is the following

(43):

”Context is any information that can be used to

characterize the situation of an entity. An entity is a

person, place, or object that is considered relevant to

the interaction between a user and an application,

including the user and applications themselves.”

This definition of context is not restrictive concerning the types of information

that can be used, but is at the same time specific enough to actually be usable in

practice. After defining context, Dey also created his own definition of context,

which the following:

”A system is context-aware if it uses context to

provide relevant information and/or services to the

user, where relevancy depends on the user’s task.”

Again, this is an open, but at the same time quite precise, definition, which is also

usable in practice. These definitions have been modified by many authors, but

still remain a basic foundation for work in the field of context awareness.

Zimmermann, Lorenz and Oppermann believe Dey's definition of context is too

general, and should be encapsulated in a formal and an operational part (44).

Their definition of context is therefore:

Page 53: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

History and Definition 33

”Context is any information that can be used to

characterize the situation of an entity. Elements for

the description of this context information fall into

five categories: individuality, activity, location, time,

and relations. The activity predominantly determines

the relevancy of context elements in specific

situations, and the location and time primarily drive

the creation of relations between entities and enable

the exchange of context information among entities.”

They divide context information into five fundamental categories, namely:

• Individuality: Gives access to contextual information

about the entity the context is bound to. This can be

anything that can be observed about an entity,

typically its state. Individuality is clustered into four

entity types, natural, human, artificial, and group.

• Activity: Describes the activities the entity is involved

in, and answers the question: “What does the entity

want to achieve and how?”

• Location: Describes the location both quantitatively,

using GPS-coordinates and the likes, and qualitatively,

such as room, street, country, and so forth.

• Time: Handles anything related to time, e.g. time

zone, time of day, and time intervals.

• Relations: Covers the relations an entity has with

other entities, such as people, things, devices,

services, or information. Like individuality, relations

information is clustered into sub categories, namely

social, functional, and compositional.

Page 54: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

34 Context Awareness

In my eyes, the context definitions of Zimmermann, Lorenz, and Oppermann are

very usable and thoroughly worked through, as they gather context into distinct

categories, suitable to be used as facets in a faceted metadata scheme.

Furthermore, they contain similarities to the memory dimensions discussed in

Section 2.5.2. I also find that they provide a better overview of possible context

information when working with context awareness.

4.2 Context Aware Systems Today Although we have yet to see commercially available applications and devices that

adapt themselves heavily to the user’s needs depending on his current context,

we are already surrounded by context aware devices, which make smaller

adaptations to the user’s context.

A good example of context awareness is the ABS braking system, which is found

in most cars today. ABS brakes adapt the braking force applied when braking

heavily, to prevent the tires from skidding uncontrollably, thereby shortening the

braking distance, especially in bad weather conditions. This is done by sensing if

the tire is skidding, and reacting to this information, making it a simple context

aware system.

Some smart phones, and other electronic devices featuring displays, have built-in

light sensors, which regulate the brightness level of the display depending on the

ambient light. This is done to ensure visibility of the screen, as well as conserve

battery power, and is another good example of simple context awareness. Many

of the same devices, especially smart phones and digital cameras, have built-in

accelerometers, allowing them to sense the movement of the device. This

information is mostly used to rotate the graphical user interface on the display,

depending on the orientation of the device, but a few devices have also used the

accelerometers for user interaction, for example the Sony Ericsson W910i with

shake control, allowing the user to change songs by shaking the mobile phone

(45), and the iPhone, allowing developers to use the accelerometers for user

interaction in applications (46).

Page 55: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Inferring Context from Sensors 35

These simple context aware applications can greatly enhance the user experience

of a system, making applications and devices much more usable and user friendly.

With more and more sensors being built into devices, the amount of context

aware applications is likely to greatly increase in the years to come.

4.3 Inferring Context from Sensors With the definitions of context and context awareness in place, the next question

is how to infer the current context of a device or application. Some research

concerning context awareness focuses mainly on location, since a lot of

information can be inferred from the current location, and a user’s needs often

depend on it. A good example of an application depending heavily on location is a

tourist guide system, which displays information to the tourist about the

attractions in his vicinity, but for many other applications, the context depends on

many other factors than location alone.

Context aware applications not only focused on location usually utilize several,

and other types of, sensors to infer the current context, as described by Schmidt,

Beigl, and Gellersen (47). Their work focuses on the use of a whole variety of

sensors built into a device to infer context. The discussed sensors include

optical/vision, audio, motion, location, bio-sensors, and specialized sensors,

which can all, using simple sensor-technology, help to infer a great deal of high-

level context information. Later work by the same authors describes different

applications made using simple sensors, demonstrating how these have been

used to infer context information on a higher level. (48).

Other research concerning context awareness describes placing a number of

sensors all over a user’s body, for example by integrating them in clothing, to

infer the current context of the user. This type of work is still very experimental,

and outside the focus of this thesis, but great progress is made in inferring

context using simple sensors, and we might start seeing results of this in the near

future.

Page 56: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

36 Context Awareness

4.3.1 Inferring Context from the Sensors Available Today With the increasing amount of embedded sensors in mobile computing devices,

much more context information is becoming available for use in applications. A

typical smart phone like the Nokia N82 is equipped with a light sensor,

microphone, accelerometer, Bluetooth, Wi-Fi, and even GPS, which can all be

used to gather context information. Likewise, ultraportable and regular laptops

include a growing amount of sensors such as an accelerometer, Bluetooth, Wi-Fi,

3G connectivity, WiMAX, light sensor, microphone, and some even GPS, which

can help in inferring context.

Using this type of low-level sensors to infer context is well described by Schmidt,

Beigl, and Gellersen (47), but their work focuses on inferring very specific context

information from these sensors, whereas I wish to use it for personal content

management, by simply adding as much context information to the created

content as possible, to enable the user to search for this at a later time.

4.4 Using Context Awareness for Personal Content Management

A lot of work has already been done in exploring the possibilities of adding

context information to content created on mobile computing devices. Much of

this work has focused on adding content information to specific types of content,

usually multimedia content such as images and videos, and how this can facilitate

easier management of the created content.

A good example of this type of work in progress is the MMM framework, which

focuses on metadata annotation of digital images taken with mobile phones, and

the sharing of these images online. The added metadata is comprised of

information about where and when a picture is taken, and who is in it. Metadata

is added automatically, to reduce the user effort in annotation (3).

Page 57: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Using Context Awareness for Personal Content Management 37

Another interesting application of context aware personal photo collection

management is the MediAssist system, which offers context-based photo

indexing, based on the following methods as described by the authors (49):

• Time of capture is augmented with time-based fields:

year, month, day of month, day of week, and hour,

enabling queries such as, for example, ‘all photos

taken in the summer, in the weekend’.

• Latitude/longitude co-ordinates are converted into

place-names using a publicly available gazetteer.

• Standard astronomical algorithms calculate the light

status of all images (i.e. day/night/dusk/dawn).

• Each photo is annotated with weather data from the

nearest weather station when the photo was taken.

• Indoor/outdoor classification is inferred from digital

camera metadata, such as the ambient light levels.

• We also segment personal photo collections into

‘Events’ collections by detecting large temporal gaps

between consecutively captured photos.

We can already begin to see context information being added to images today,

with so called geo-tagging, meaning the addition of location information to

images, becoming increasingly popular. This trend has especially caught on

online, with websites such as Flickr offering users the possibility to view images

based on location (50). The use of geo-tagging is likely to become very popular

with users using the built-in geo-tagging features of the new iPhone 3G (51) or

the geo-tagging software on its way from Nokia (52).

Page 58: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

38 Context Awareness

4.4.1 Going Beyond Specific Types of Content My suggestion is to take geo-tagging, and research like the MediAssist system and

the MMM framework, one step further, and use gathered context information as

metadata for all types of content. As described in Section 2.5.2, people identify

content by an arbitrary amount of information (7), and remember it along several

dimensions (28). Therefore, I believe that context information is useful for

annotating any type of content.

The available context information that can be gathered from an advanced mobile

computing device today is a perfect candidate for use in a faceted metadata

scheme, in which I have constructed the following facets, inspired heavily by the

work of Zimmermann, Lorenz and Oppermann (44). These facets have also been

chosen to follow the dimensions of memory as described in Section 2.5.2 (28):

• Ambience: Describes the near surroundings, with

information such as weather, temperature, ambient

light, and noise level.

• Activity: Describes the activities the device is, and has

just been, involved in. This can be information

inferred from movement patterns and device

settings, but also information taken from a current

calendar event.

• Location: Describes the location quantitatively, using

GPS coordinates and cell ID, and qualitatively,

containing country, state, city, area, street, and

nearby attractions.

• Time: Includes all time information, such as year,

month, day, hour, and minute, but also descriptive

terms such as weekend, holiday, time zone, and time

of day (day/night/dusk/dawn).

• Relations: Handles relations to both connected and

available Wi-Fi networks and Bluetooth devices, thus

ultimately identifying locations and networks using

Page 59: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Problems with Context Awareness 39

Wi-Fi, and people close by using their Bluetooth

devices.

• Comments: Contains any tags added by the user, not

suitable in the other facets. This can be comments

and descriptions for the content, which is not directly

related to the context in which it was created.

I believe that adding as much of this context information as possible to any type

of content will ease personal content management. Automatically annotating

content also follows the suggestion made by Malone concerning “automatic

classification”. Always adding all context information to content makes sense, as

users can relate this type of information to all types of content. For example, a

travelling businessman could search for all documents he created on his trip to

Tokyo last year, or when he was connected to his company’s wireless network, a

photographer can find all pictures taken in the rain, and a musician can find all

songs created with a certain person by his side.

I have included the “comments” facet, which is a very open descriptive facet, to

allow users to add comments and other types of information. This is to embrace

the social incentive and advantages of tagging content, and can help users to

further describe and manage their content.

4.5 Problems with Context Awareness By using sensors to infer context information, there is a chance of faulty

measurements and wrong assumptions about context entering the system.

Context aware applications which make wrong assumptions about context, and

act upon these, can be of great annoyance to the user, and can turn the benefit of

context awareness into a disadvantage of the system. One solution to this

problem is to display the uncertainty of the current context assumption, letting

the user choose the correct context, instead of making the application completely

reliant on correct assumptions.

Page 60: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

40 Context Awareness

Antifakos, Schwaninger, and Schiele (53) have evaluated the effects of displaying

uncertainty through a number of experiments, and found that displaying

uncertainty information resulted in a substantial increase in hit rates in the tasks

performed in the experiment. Users also reported that when uncertainty is

displayed, it is easier to understand what the system is doing and how well it is

doing it. These are both testaments to the higher usability of an application if the

uncertainty of context measurements is displayed. The authors mention that the

tradeoff between the cognitive load, which displaying uncertainty information

causes, and the added value that it provides should be considered when

designing an application.

Constructing context aware applications can also lead to a few pitfalls, as

described by Cheverest, Davies, Mitchell, and Efstratiou, who describe the

following three possible problems (54):

1. The system might not reach a stable state, if both the

user and system attempt to adapt to the current

context.

2. Due to the trade-off between prescription and

freedom, the system could prevent the user from

achieving a wanted task.

3. The user must trust the agent performing the

adaptation, in order to react appropriately.

The authors have worked on a context aware tourist guide system named GUIDE,

and have learnt some lessons from this work, causing them to suggest a number

of strategies for building context aware applications. In essence, a context aware

application needs dependable sensing technology, to avoid erroneously

presuming the users goals, and a flexible agent acting on the user’s behalf, to

enable users to override the adaptation strategy.

Page 61: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 41

4.6 Summary In this chapter, I have introduced the history and most common definition of

context awareness, as well as a derivate of this definition. Following this, I have

given examples of a few context aware systems in use today. I have described the

possibilities of inferring context from sensors, and how mobile computing devices

can infer context from the built-in sensors available today.

Next, I have discussed using context awareness for personal content

management, and shown examples of using it for certain types of content. I have

then presented my suggestion for a personal content management scheme, in

which context awareness is used to gather context information to be saved with

all types of content generated in the system. This context information can then

be used for finding content based on the context in which it was originally

created. I argue that saving all possible context information for all created

content makes sense, since we remember information about created content

along several dimensions, the so called dimensions of memory (28).

Automatically gathering and saving context lives up to Malone’s suggestion of

“automatic classification” (7) and makes much more versatile searching possible,

while removing the task of annotating content, which we have seen is perceived

as being tedious and therefore often not done (12).

Ending this chapter, I have listed a few possible problems of using context

awareness in a system.

Page 62: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

42 Context Awareness

Page 63: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 5

5 Design

With the suggestion for a context aware personal content management scheme

presented, and the theory behind it outlined, it is now time to look into the

design of such a system.

In this chapter, I will introduce and discuss my suggestions for different designs of

a context aware personal content management scheme. I will begin by describing

five different design possibilities, ranging from a simple stand-alone application to

a full implementation built into the operating system, and discuss the advantages

and problems with these possibilities along the way. Afterwards, I illustrate how

the different sensors typically found in mobile computing devices today can be

used to infer context information, and how this information can be interpreted.

Next, I give three suggestions for using the inferred context information for

content management, and lastly I discuss some of the considerations and

challenges found in implementing a context aware personal content management

system.

Page 64: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

44 Design

5.1 Different Design Possibilities Different possibilities exist for designing a context aware personal content

management scheme, and the option most suitable for a given system depends

on the preferences of the user and the developer of the scheme. Here, I have

listed a number of different options, which differ greatly in the functionality

offered to the user, and also in their integration with the operating system of the

device on which they run.

5.1.1 Stand-Alone Application Creating Content One type of stand-

alone application could

be an application made

for creating content,

which annotates

created content with

gathered context

information when it is

saved. Such an application provides the user with many, and more diverse,

options for managing and finding content, but is limited to managing content

created using this application only. Since only content created by this application

is annotated with context information, the user does not benefit from the

advantages of being able to search all content using the same techniques.

Such an application can be practical for managing single types of content, but its

usability to doing only that. Therefore, the general personal content management

scheme of the system on which this application is running is not improved by this

application.

Figure 10 - Stand-alone application creating and managing its own

content. Context information is saved and managed by the

application

Operating System

App 3 App 2 App 1

Content 1 Content 2 Content 3

Context

Page 65: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Different Design Possibilities 45

5.1.2 Stand-Alone Application for Content Management Another option would

be to create a stand-

alone application,

simply used for

managing content

saved on the operating

system on which it is

installed. Such an

application would

need to be installed by the user, and started every time it is needed. It can

provide the user with new options for managing and searching for his content,

but it relies on the user to find and select content to annotate. Since content is

already created when the user chooses to annotate it, user interaction is also

required to ensure that correct context information is saved.

Saving context information at a later time is a dilemma, since at least some

context information is bound to be lost, and having the user input context

information is likely to lead to the user not annotating much content, since the

perceived benefit of this is low, as described by Ames and Naarman (12). This in

turn severely limits the usability of this application.

5.1.3 Stand-Alone Content Management Application Integrated With the Operating System

A better option than a

completely stand-

alone application

would be to create an

application that

integrates with the

operating system.

Such an application

Figure 11 - Stand-alone application used for managing all content.

The gathered context information is saved and managed by the

application

Figure 12 - Stand-alone content management application

integrated with the operating system. The gathered context

information is saved and managed by the application

Content 2

Operating System

App 3 App 2 App 1

Content 1 Content 3

Context

Operating System

App 3 App 2 App 1

Content 1 Content 2 Content 3

Context

Page 66: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

46 Design

could integrate with the operating system much in the same manner as an

antivirus program does, starting up together with the operating system, and

monitoring all content being created.

Whenever new content is created, the application can annotate this content with

any available context information, allowing the user to use the application for

managing, and searching for, all his created content at a later time.

Such a scheme enables the user to use all his usual programs for creating content,

and automatically have this content annotated with available context

information, thus fulfilling the suggestion by Malone concerning “automatic

classification” (7).

Furthermore, an application integrated with the operating system, could enable

other applications to take advantage of the context information gathered for

created content. As an example, a calendar application could allow searching for

files created within certain time spans, or an application managing contacts could

provide searching for content related to certain people saved as contacts.

A downside to having a stand-alone application is that the user has to install the

application to benefit from these features, which removes the option of

integrating the context aware personal content management options deeply into

other applications made for the current operating system, since they should also

function without this application installed.

5.1.4 Building Context Awareness into the Operating System The fourth option would be to completely build context aware personal content

management into the operating system, and use it in place of the traditional

personal content management scheme, namely the folder hierarchy. In this

manner, users would not have to install any third party applications, or make any

choices between applications, to be able to benefit from the options found in

using context awareness for personal content management. The operating

system simply keeps track of all content being created, and annotates any new

Page 67: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Different Design Possibilities 47

content with all available context information. All annotation therefore happens

completely without user interaction, and, like in the suggestion for a stand-alone

integrated application, therefore follows Malone’s suggestion concerning

“automatic classification” (7).

Having the operating

system handle content

annotation also

enables all

applications created

for the specific

operating system to

utilize saved context

information for

information search, and cross-referencing of information, as described for the

operating system integrated application. With context awareness directly

integrated into the operating system, the user also always has the search and

filtering options provided by saving all context information at hand.

Like for the integrated application, this provides many options of integrating

applications, allowing context to be linked to for example contacts or calendar

events saved in other applications. This can provide a very fluent approach to

finding content, lowering the amount of user input needed for content search.

A content management scheme based on context information is able to elude

content being organized into folders, by displaying a folder hierarchy based on

the annotated context information. Content can be shown as organized into a

folder hierarchy with for example Europe, Denmark, and Copenhagen as nested

folders. The user can select which context information to use as the basis for this

“virtual” folder hierarchy, allowing for a representation of content that he is more

accustomed to.

A disadvantage of basing the content management scheme solely on context

information and these “virtual” folders is that users will need to embrace the new

Operating System

App 3 App 2 App 1

Content 1 Content 2 Content 3

Context

Figure 13 - Building context aware personal content management

into the operating system. The gathered context information is

saved and managed by the operating system, which uses is as the

basis for the entire content management scheme

Page 68: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

48 Design

scheme and adapt their usual workflows to this new way of organizing content.

Many users might also find this more abstract way of handling content hard to

understand and get used to, feeling that they lose control over the organization

of their content, since this approach is not related to the typical way of organizing

physical objects into groups and piles. This might in turn lead to “information

overload” due to the lack of overview of content saved on the system (8).

Basing the content management scheme solely on the context information is

more reminiscent of the organization in a database, where many different views

of the same data are possible, but with users not used to this way of handling

data, many will probably find this scheme more incomprehensible and annoying,

than actually useful, while others will easily adapt and find this scheme much

more efficient.

Finding all content based on filtering and searching also makes casual browsing of

for example pictures in a folder harder, since no folders exist. It is easy to find

specific pictures that are sought after, but browsing through a picture collection is

suddenly not possible in the same way as just looking through a folder. All files

that for some reason have incomplete context information, for example due to

the lack of any usable location information at the time of annotation, will also be

harder to find, and might easily “disappear” in the system, which is not as likely to

happen in a traditional file system with a folder hierarchy where all files are

always “visible”.

5.1.5 Extending the Existing Content Management Scheme with Context Awareness

Building the context aware personal content management scheme into the

operating system as an extension to the already implemented personal content

management scheme is another option. In this manner, the context aware

personal content management scheme is not meant to completely replace the

traditional folder hierarchy, but to extend it by providing new features for finding

and organizing content.

Page 69: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Different Design Possibilities 49

With context awareness

built directly into the

operating system, all

content being

generated can

automatically be

annotated, still following

Malone’s suggestion for

automatic

classification(7), without

any user interaction needed. In this way, all available context information will be

saved, and the users are free of the tedious work of annotating their content.

Furthermore, the scheme does not need to be installed as an application, and is

always present in the operating system, so the user does not need to make any

decisions about which, if any, context aware personal content management

system to install. All applications made for the operating system can also take

advantage of the context metadata, as it is always present in the operating

system.

Integrating the context aware personal content management scheme into the

operating system without replacing the folder hierarchy makes the adaptation to

this scheme a lot easier for the users, since they do not have to adapt to the more

abstract concept of storing content in “one big pile” and organizing it solely based

on the context in which it was created.

This allows users to organize their content into folder hierarchies, with “neat”

users likely to build elaborate hierarchies, and “messy” users more likely to have

shallow hierarchies as described by Malone (7) and Henderson (9), but still

provides them with the full range of searching and filtering options inherent in a

faceted metadata scheme. Furthermore, the casual browsing of folders is still

possible, as opposed to the suggestion of completely replacing folder hierarchies

with a faceted metadata scheme.

Operating System

App 3 App 2 App 1

Content 1 Content 2 Content 3

Context

Figure 14 - Building context aware personal content management

into the operating system. The gathered context information is

saved and managed by the operating system, which uses it to

expand the searching and filtering options of the present content

management scheme

Page 70: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

50 Design

In short, this suggestion contains all the advantages of a context aware personal

content management scheme as presented in the previously discussed designs,

but is free from the disadvantages discussed.

5.2 Gathering Context Information To provide the user of a context aware personal content management system

with as many search and filtering options as possible, precise and elaborate

context information has to be gathered. The more context information is saved,

the more different search and filtering options can be provided.

To gather as much context information as possible, all sensors on the given

mobile computing device should be used. Below, I have listed the sensors and

built in functions most often found in mobile computing devices today, and

described the context information these can help infer:

• Light sensor – Can be used for determining the

ambient light level. This can indicate if the device is

located indoors or outdoors, especially if combined

with information about the time of day.

• Microphone – Used for measuring the ambient

sound level. This indicates if the mobile device is in a

crowded and noisy area, or in a more peaceful

location.

• GPS – Determines the GPS coordinate of the current

location of the mobile device. This is a good source

for a lot of location information, if combined with

some sort of translation of the coordinate into more

humanly understandable place names.

• Wireless LAN – Can be used to find wireless networks

in the vicinity of the mobile device. These can help

indicate the location and the surroundings of the

mobile device.

Page 71: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Gathering Context Information 51

• Bluetooth – Used for scanning for Bluetooth devices

near the mobile device. Bluetooth devices can help

infer people and services in close vicinity to the

device.

• Accelerometer – Indicates how much, and in which

directions, the mobile device is moving and being

tilted and rotated. This can give an indication of the

activity of the mobile device user, e.g. if he is running

or sitting still.

• Digital compass – Determines the geographical

direction in which the device is facing.

• Cell ID – Determines which mobile telephone

network cell the mobile device is connected to. This

ID can help in determining the location of the mobile

device.

• Camera – The camera can be used to take a picture,

which can then be analyzed for information about

ambient light levels, surroundings and people nearby.

This requires a lot of image processing, but many

advances are being made in this field.

• Clock – Can be used to get the current date and time,

which is very essential context information.

• Calendar – Many mobile devices have a built in

calendar, which can be used to determine if any

events are entered in the calendar at the time when

context information is gathered.

• Device profile – The current device profile of for

example a mobile or smart phone can give an

indication of the activity and location of the user.

• Running programs – Other currently running

programs can give an indication of the activity of the

user.

Page 72: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

52 Design

As seen by this description, context information suitable for all of my suggested

facets, except for the comments facet which is intended for comments entered

by the user, can be gathered using these simple sensors and built in functions.

Much data gathered by the sensors is on a relatively low level, which in itself is

not necessarily enough to offer a good description of the current context.

Schmidt, Beigl, and Gellersen (47) have explored how to use simple sensors for

deriving complex context information, for example how to use a light sensor to

derive if the mobile device is currently inside or outside based on the sensor data

and an analysis of its pattern. This sort of analysis can provide much more useful

context information for certain types of sensor input.

The MediAssist system (49) uses an online translation of the latitude and

longitude coordinates from a GPS sensor, to infer more meaningful location

information, which is also a good way of providing much more descriptive and

intuitive context information. In this manner, much data gathered from the

sensors could be translated into more humanly understandable information, such

as a country, state, and city name instead of merely a GPS coordinate. Much

other work is currently taking place concerning how to infer context from sensor

information, and this is likely to yield results which can greatly improve context

inference from simple sensors.

5.3 Using the Gathered Context Information One could argue, that some facets of the gathered context information make

much more sense for certain content types, and almost no sense for others. As an

example, a reading from the digital compass could be useful for a picture,

describing in which direction the picture was taken, but hardly makes any sense

for a written document. I believe that all context information should always be

saved, regardless the content being created, as the rapidly increasing storage

space on all mobile computing devices allows for this without much

consideration, and advances in context inference could prove this data to be

useful at a later time.

Page 73: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Using the Gathered Context Information 53

Once context information has been gathered and saved as metadata for created

content, it can be used to filter and search for content in a wide variety of ways:

• Simple searches can be performed by having the user

input text in a textbox, and using this to search

through all available context metadata for any

matches. This is a quick, but not very precise, way to

search for content based on a keyword match.

• If more precise searches are required, advanced

search modes could be designed to allow the user to

enter keywords to search in specific fields of the

context information gathered, so the user can for

example search for content based specifically on

where, when, and in the company of who it was

created.

• Alternatively, a filtering scheme in the same manner

as the use of facets on wine.com (17), as described in

Section 2.4, could be used, based on the facets

constructed in Section 4.4.1. This would allow the

user to organize his content by filtering out content

based on the gathered context information, instead

of performing a search trying to match specific terms.

• Other search types could for example be based on

the current location, allowing the user to find all

content created in the same location, or the current

situation, allowing the user easy access to content

created in the same situation. This could for example

be used when the user is at his office and needs all

content he has created here, or to find all content

created with another person nearby, when the same

situation is valid again.

Numerous other search and filtering options exist, as the context information can

be used in very diverse ways. Different applications can each incorporate their

Page 74: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

54 Design

own search methods, and as described earlier, they can link information they

contain, such as locations, contact persons, or calendar events, to content

searches.

5.4 Considerations and Challenges A number of considerations have to be made, and challenges met, when

designing a context aware personal content management scheme, to ensure that

the scheme is usable and concise, and lives up to the expectations of privacy.

5.4.1 Saving Context with Content As content is shared between users, and moved to other devices for editing, use,

and storage, it is important that the context metadata follows the content. This

implies that context metadata should not be stored solely in a database, or other

means of storage disconnected from the content, on the device on which the

content is created, but should be embedded in the content, or at least

transferred together with the content.

This presents a challenge of storing the context with the content, as a uniform

method of doing this for all content types is needed. A few file formats today

already contain metadata, such as the author, title, and technical specifications of

the content, but this varies greatly from file type to file type. To successfully be

able to share content between devices, and have context information follow the

content, standards for embedding context have to be developed.

A possible alternative would be to make sure that context information is always

transferred along with content, but this is only possible if the context aware

personal content management scheme is embedded in the operating system, and

third party applications are forced to follow this policy.

To ensure good performance in searches and filtering operations, it is most

practical to also store context information in a central index or database, instead

Page 75: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Considerations and Challenges 55

of relying on searching through context information embedded in all files each

time a search or filtering operation is performed. This presents another challenge

as such an index has to be synchronized with the context information stored in

the individual pieces of content. A solution is to enforce a policy, dictating that

every time any context information is edited or any new content is added,

context information is updated in both the content and index before any other

actions are taken, which in turn requires the context aware personal content

management scheme to be built into the operating system to ensure this.

Transferring context with content not only presents a challenge in embedding

context metadata in various content types, but also introduces a very important

privacy concern. As content is shared among users, context metadata which could

be considered private is shared along with the content. This could, for example,

be information about who was in the vicinity when a photo was taken, or where a

certain document was created. A system for setting up filters for removing

“personal context information” when content is shared with other people could

help solve this issue, and could allow users to choose what context information to

share, and with who. Furthermore, users should be able to choose which context

information to share on a “per content” basis. The privacy considerations are

essential to ensure the usability and success of a new personal content

management scheme, without removing privacy from its users.

5.4.2 Limitations in Mobile Devices The previously mentioned limitations found in the user interface of mobile

computing devices can severely limit the usability of a personal content

management scheme. Therefore, these limitations have to be taken into

consideration already in the design phase.

To make a context aware personal content management scheme usable on a

wide variety of mobile computing devices, the input method and graphical user

interface for using such a scheme should be adapted to the individual operating

system and mobile device, and present good interaction options, even with very

Page 76: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

56 Design

limited screen sizes and input options. As an example, using facets for filtering

content, as described in Section 2.4, might be very useful on a mobile computing

device with a larger screen, where overview is not a great concern, but once the

system is implemented on a small mobile device with very limited interaction

options, such a filtering scheme might end up being almost useless due to the

lack of overview.

Performing searches requiring lots of user input is also very impractical on devices

without full keyboards, and can easily end up being a very tedious task for the

user. On such devices, integrating the content management scheme with other

applications, such as a contact manager or calendar, could provide the user with

better interaction options, requiring less input to the system.

5.4.3 Faulty Assumptions and Incomplete Context Information The possible pitfall of context aware systems reacting to faulty assumptions, as

described in Section 4.5, should be considered for the construction of any context

aware system. Since my suggestion for a context aware personal content

management scheme does not directly adapt to context changes, but merely

saves context information for created content, the system will always be in a

stable state. Saving faulty assumed context information can none the less cause

annoyance for the user, and ultimately render the system much less usable. To

avoid this pitfall, or at least to largely reduce its implications, the system should

be designed in such a way, that the user is able to correct any mistakes in the

context assumption, and thereby ensure that correct context information is saved

with the content.

Incomplete context information, such as missing location information due to the

lack of GPS signals, should likewise be updatable by the user at a later time, to

allow users to maintain correct context information for more useful content

management.

Page 77: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 57

5.4.4 The Vocabulary Problem One remaining problem in the suggested system is the lack of a controlled

vocabulary in the “comments” facet, as well as the remaining facets if the user is

allowed to edit information in these. One possible solution to this problem could

be to suggest values for user entered information, based on the information

already saved in the system. This would heighten the possibility of a user

choosing the same tag for annotation of similar content every time, thus limiting

the impact of the lack of a controlled vocabulary. An example of such a system

can be found in the nTag system (55).

Context information inferred by the system should be safe from the vocabulary

problem, since the values of context metadata are chosen in a similar manner,

and from the same sources, every time. Giving the user the option to edit this

information introduces the possibility of synonyms being used, but this is an issue

of weighting user control versus system integrity.

5.5 Summary Different design possibilities for a context aware personal content management

scheme have been discussed in this chapter, with my suggestion for the best

result being to build context awareness into the operating system, and not use it

to replace the folder hierarchy, but to provide much more elaborate options for

content searching and filtering. I have described how using simple sensors often

found in mobile computing devices today can be used to infer context, and how

this data can be analyzed and translated into information more humanly

understandable.

Following this description, I have given a few examples of how the context

annotated content can be searched and filtered, followed by a discussion of some

of the considerations and challenges that come with implementing a context

aware personal content management scheme. These considerations and

challenges are important to keep in mind to design a successful commercial

product, as failure to do so could easily result in a system which is not very

Page 78: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

58 Design

usable, or which violates the users’ expectations for privacy, resulting in an

unsuccessful system.

Page 79: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 6

6 Implementation

Based on my suggestions for designing a context aware personal content

management system, I have implemented a prototype application named Conga,

which is short for Context Gallery. In this chapter, I describe the aim of this

prototype, and how it is constructed. I then describe how context information is

gathered and saved, and how searching for content using this context

information has been implemented. Finally, I describe some of the problems and

limitations I met in working on the prototype.

6.1 The Aim of the Prototype To examine how context information can be gathered, and how this information

can be used for personal content management in practice, I have implemented a

prototype application which runs on a smart phone. This prototype is meant to be

a proof of concept, demonstrating my suggestion of context aware personal

content management, and also as a study of context gathering in practice, and

how useful this information is for managing content.

I have based Conga on my first suggestion for a context aware personal content

management application, namely the stand-alone application which creates

Page 80: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

60 Implementation

content and annotates this with context information. I have chosen this

suggestion since it is the simplest proof of concept, which still demonstrates the

usability of context for content management. I have focused my implementation

on creating a useable application, which gathers context information, annotates

created content with this, and allows the user to retrieve content based on the

same information. I have not focused on performance and the creation of a fully

functional, bug-free implementation. Neither have I focused on the

considerations and challenges listed in Chapter 5, as these are important to keep

in mind when building a full implementation, but less important for simply

demonstrating the use of context information for content management.

My prototype application takes pictures and annotates these with gathered

context information. The user is able to view already taken pictures in a gallery,

and can find pictures using a few simple search methods to search through the

annotated context information. The reason for using pictures as my sample

content is, that pictures themselves contain a lot of information, and all my

suggested context information to be saved can be descriptive of pictures.

Ambience, activity, location, time, relations, and comments all make sense as

descriptive information about a picture, and therefore pictures are good for

examining the usability of context information.

6.2 Building the Prototype The prototype is implemented in Python for S60 (56), and runs on Nokia S60 3

rd

Edition Feature Pack 1 devices with Python for S60 3rd

Edition Feature Pack 1

version 1.44 installed. For the development and test of the prototype, I have used

a Nokia N82 and Nokia N95 smart phone. The reason for choosing Python for S60

(from here on called Pys60) for my implementation is, that it is an excellent

prototype tool, which allows the developer to quickly implement a lot of

functionality using built-in functions in the API. Furthermore, Pys60 is able to

access most of the sensors found in the smart phones used, so these can be used

for gathering context information.

Page 81: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Building the Prototype 61

6.2.1 Modules Used I have used the following modules to be able to use more of the sensors found in

the Nokia smart phones, which helps me gather more context information:

• LightBlue – Version 0.3.3 3rd

Edition (57). This module

is used to scan for nearby Bluetooth devices, and

return all needed information about the found

devices.

• BlueS - Version 1.0.0 3rd

Edition (58). Since the

LightBlue module depends on the Bluetooth module

being switched on, and this is not possible to do with

commands found in Pys60, I use this module to turn

on Bluetooth on the phone.

• Wlantools – 3rd

Edition (59). This module is used to

scan for available wireless networks and return all

needed information about the found networks.

Using these modules has enabled me to gather more extensive context

information, and has simplified the process of scanning for wireless networks and

Bluetooth devices. How to use the various modules was sufficiently described on

their respective websites, which helped me get them working without any bigger

problems.

6.2.2 Sensors Used In my implementation, I make use of the following sensors and built-in functions

of the smart phone for context gathering:

• GPS – Used for getting location information.

• Wireless LAN – Used to find wireless networks in the

vicinity of the mobile device.

• Bluetooth – Used for scanning for Bluetooth devices

near the mobile device. These can be used to infer

people and services in vicinity of the mobile device.

Page 82: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

62 Implementation

• Cell ID – Determines which mobile telephone

network cell the mobile device is connected to.

• Clock – Used to get the current date and time, which

is very essential context information.

• Calendar – Used to determine if any events are

entered in the calendar at the time when context

information is gathered.

These sensors are either accessed directly through the built-in functions in Pys60

or by using the modules described in Section 6.2.1.

Compared to the list of possible sensors in Section 5.2, this list of used sensors is

quite a bit shorter due to several factors. The accelerometer is not used, since

interpreting data from this would require the construction of an algorithm to

produce useable data. This is a big task, and outside the focus for this thesis. The

Nokia smart phones I have used do not have built in digital compasses, and while

they do contain the rest of the sensors and built-in functions mentioned in

Section 5.2, the ones I haven’t used have been left out because they are simply

not available for use in Pys60.

6.3 Gathering Context Information The prototype is implemented with a separate class handling the gathering of

context information. This class spawns a few threads that enable it to

continuously receive GPS data when available, and to scan for Bluetooth devices

available with one minute intervals. Whenever context information needs to be

saved, this class is used to gather the available information from all sensors,

translate parts of the information, and return it in a standard Python dictionary.

6.3.1 Translating the Gathered Context Information If a GPS signal is present at time of context gathering, the GPS coordinate is used

to look up much more descriptive information online, using a small web service I

Page 83: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Gathering Context Information 63

have made as part of the prototype implementation. This web service is

implemented in ASPX using C# on the Microsoft .Net 2.0 platform.

The idea for this translation is inspired by the use of an online gazetteer in the

MediAssist system (49). The implemented web service for translation uses a few

of the web services offered by geonames.org (60) to translate the given GPS

coordinate into much more information. The information I gather from

geonames.org is found by utilizing the following web services:

• http://ws.geonames.org/findNearbyPlaceNa

me - This web service is used to look up extensive

information about the given location based on the

GPS coordinate (a process also known as reverse

geocoding).

• http://ws.geonames.org/neighbourhood -

This web service is used to look up the name of the

current neighborhood. This only works for larger

cities in the United States.

• http://ws.geonames.org/findNearByWeather

XML - This web service is used to look up current

weather information from the nearest weather

station for the given GPS coordinate.

Apart from looking up information using the web services of geonames.org, I use

a standard astronomical algorithm to calculate the solar time of day based on the

given location and time. This algorithm is published by NOAA – the American

National Oceanic and Atmospheric Administration (61) and ported to C# by Pete

Gray (62) (The code itself is found in (63)). Based on the result of this algorithm, I

save the solar time of day as one of the following values:

Page 84: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

64 Implementation

I have set a tolerance of 30 minutes on either side of the solar times of day,

meaning that from half an hour before sunset, to half an hour after, the result will

be “Sunset”, and so forth. This is done to provide more useful data, as the solar

times of day are not only interesting in the precise minute they are occurring, but

also a bit before and after.

The single GPS coordinate, along with the current time, is used to translate this

simple information into a lot of information, which is much more humanly

understandable than just a coordinate. The result of the translation consists of

the following:

• Location information – Based on the given GPS

coordinate I look up the continent, country, country

code (for example DK or US), state, province, city, and

if the location is in the United States, also the

neighborhood.

• Weather information – Also based on the GPS

coordinate, I look up information from the closest

weather station, and save the weather station name,

Before Sunrise

Sunrise

Morning Solar

Noon

Afternoon

Sunset

After Sunset

Solar Noon Midnight Sunset Sunrise Midnight

Figure 15 - The translation of the solar times of day into context information. The time of day as

seen on the timeline is translated into the given descriptive name shown in the boxes at the

bottom

Page 85: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Saving All Context Information 65

temperature, dew point, humidity, cloud cover,

weather condition, wind direction, wind speed, and

air pressure in hectopascal.

• Time information – Using the GPS coordinate and

time, I calculate to solar time of day and return this

along with the current time zone.

6.4 Saving All Context Information The result of the online translation of the GPS coordinate and time stamp is

combined with the gathered context information from the other sensors, and

results in the following context information being saved in the constructed facets

as metadata for a taken picture:

Context

Information

Sensor Description

Ambience

Weather station Translation The name of the weather station used for

gathering the current weather information

Temperature Translation The temperature in degrees Celsius

Dew point Translation The dew point in degrees Celsius

Humidity Translation The humidity in percent

Cloud cover Translation A text string describing the cloud cover

Weather

condition

Translation A text string describing the weather

condition

Pressure

in hectopascal

Translation The air pressure in hectopascal

Wind direction Translation The wind direction in degrees from North

Wind speed Translation The wind speed

Activity

Movement Accelero-

meter

A number indicating historic movement

measured by the accelerometer. I have not

implemented this since getting useful data

for this would be a big project in its own

Page 86: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

66 Implementation

Calendar event Calendar The calendar events entered in the phones

calendar for the current day

Location

Latitude GPS The latitude from the GPS sensor

Longitude GPS The longitude from the GPS sensor

Altitude GPS The altitude from the GPS sensor

GPS time stamp Clock The time GPS data was gathered

Cell ID Cell tower The ID of the mobile telephone cell the

phone is connected to

City Translation The current city

State Translation The current state

Province Translation The current province

Country Translation The current country

Country code Translation The current country code

Continent Translation The current continent

Time

Timestamp Clock A timestamp describing when the context

information was gathered

Weekday Clock The full name of the current weekday

Month Clock The full name of the current month

Week Clock The current week number

Time of week Clock A text string describing the time of week.

Saved as “Workday” if the day is Monday to

Friday, otherwise saved as “Weekend”

Time of day Translation The calculated solar time of day

Time zone Translation The current time zone

Relations

Wlans Wlan All currently found Wlans are saved with

name and MAC address

Bluetooth

devices

Bluetooth All currently found Bluetooth devices are

saved with name and address

Table 1 - An overview of all the gathered context information used to annotate a taken picture.

The information, grouped into the facets generated in Section 384.4.1, is gathered using the

noted sensor, or translated using the web service based on the found GPS coordinate.

Since many people tend to name their Bluetooth devices and wireless networks

using very non-descriptive names, this information is not always suitable for

Page 87: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Saving All Context Information 67

searching for content in a context aware personal content management scheme.

To make information about wireless networks and Bluetooth devices more

useable, I have implemented an option for the user to enter aliases for the

already saved wireless networks and Bluetooth devices, which allows him to add

more meaningful names than the standard name found.

6.4.1 Saving Context Information in a Database All the gathered context information for a taken picture is saved in an SQL

database on the smart phone. The database has been constructed using a

number of tables, with one table per facet in the faceted metadata constructed in

Section 4.4.1. To save the “Relations” facet, two further tables have been added,

namely “BluetoothDevices” and “Wlans”, which contain information about the

found Bluetooth devices and wireless networks. These tables are made so each

found Bluetooth device and wireless network is only saved once, easing the

saving of aliases for these.

Apart from the tables containing facets, an “Images” table is made, which

contains an ID and the filename for each saved picture. The ID is used as a foreign

key in all the facet tables, linking saved context information to a specific picture.

Page 88: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

68 Implementation

Figure 16 - Database diagram for the database constructed to hold the gathered context

information. The tables are constructed based on the facets described in Section 4.4.1, with a

separate table containing information about the gathered content

Saving all context information in a database gives me the advantage of being able

to perform quick searches in all context information, and the ease of constructing

more advanced searches using the features of SQL. I have not focused my work

on saving context information with the generated content, since the challenges

and considerations of doing so, as described in Section 5.4.1, is a whole topic of

its own.

Page 89: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Structure of the Prototype Implementation 69

6.5 Structure of the Prototype Implementation I have constructed the prototype implementation using a number of classes, with

the aim of splitting up functionality and enabling higher reusability of the

different classes. Conga is structured in a classical 3-layer design, with a user

interface layer, a function layer, and a database layer.

This design is chosen, to allow the reuse of the function and database layer for

other implementations of a context aware personal content management

application, by simply building a new user interface layer on top. Very few

changes would have to be made to the lower layers, to reuse them in a new

application creating and managing completely different types of content.

The database layer can easily be extended to implement other search types and

more saved context information, by simply editing the existing functions to allow

Figure 17 - The layered structure of classes in the prototype implementation. The classes are

divided into a typical 3 layer architecture, with a user interface layer, a function layer, and a

database layer

IO and Database Layer

User Interface Layer

Function Layer

ContextFetcher

FuncLayer

BluetoothAliasForm

AdvancedSearchForm

Conga

WlanAliasForm

ImageSaver

DB

IODBLayer

Page 90: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

70

for more types of context information, and adding new functions with new search

and filtering methods.

The functions layer is likewise easy to extend, to allow for the gathering of more

context information using other sensors and built

which the application will run.

6.6 The User Interface The user interface is constructed with usability and ease of

Camera Start Conga

Take a picture

Quit

Open gallery

Return to camera

Here the user can

take pictures, open

the gallery, and quit

Conga.

Figure 18 - The two main parts of the user interface

the options these provide. When Conga is started, the camera part is initially active, allowing

the user to take pictures or open the gallery from the menu.

Implementation

for more types of context information, and adding new functions with new search

likewise easy to extend, to allow for the gathering of more

context information using other sensors and built-in functions of the device on

The user interface is constructed with usability and ease of navigation in mind.

Gallery Start Conga

Browse pictures

lery

Return to camera

Here the user can search

for pictures, see context

info, add comments, add

Wlan and Bluetooth

aliases, return to the

camera, and quit Conga.

The two main parts of the user interface, namely the camera and the gallery, and

. When Conga is started, the camera part is initially active, allowing

the user to take pictures or open the gallery from the menu.

Page 91: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Searching for Content 71

I have tried to construct a user interface that gives a good overview, and allows

for use of the application with little user interaction needed.

The main navigation in the application is done using a menu. This menu is

constructed to present the user with options where they are logically available,

with the application having two main functions, namely taking pictures, and

viewing taken pictures in a gallery.

When the application starts up, the camera is ready for use, since having to start

the camera manually would be a great hinder in taking snap-shots of current

events. The user is now able to take the pictures he desires, with context

information being saved automatically for each picture taken.

When the user chooses to open the gallery to view his already taken pictures, a

new set of options becomes available. The user is now able to search for content

using different search methods, as well as browsing through the pictures found as

a result of these searches. Pictures can also be viewed in full screen, comments

can be added to pictures, and context information gathered for a picture can be

displayed. Furthermore, the user is able to enter aliases for already saved

Bluetooth devices and wireless networks.

6.7 Searching for Content The different search types I have implemented, to allow the user to search

through pictures already taken, are two types of simple search, and an advanced

search option. As suggested in Section 5.3, numerous different possibilities exist

for searching and filtering content, but I have chosen to implement these, as I

believe they give a good idea about the options found in using context

information for content management, and are also well suited for use on a device

with limited user interaction options, as well as a limited display size.

Page 92: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

72

6.7.1 Simple Search The user is able to perform simple searches, where

keywords can be entered in a textbox. This text box approach is inspired by the

simple approach to searching used by Google

a simple “and” search, and a simple “or” search, which returns pictures matching

all the entered keywords and pictures matching any of the entered keywords

respectively.

The keywords entered are used to search all

text strings saved in the context information

database, and very elaborate searches are thus

possible using this simple search function. As

an example, a simple “and” search for

“Denmark, Thursday, Frederiksberg, Brian”

would return all pictures taken in Denmark, in

Frederiksberg, on a Thursday with a Bluetooth

device or wireless network with the alias

“Brian” entered. A similar “or” search would

return all images taken in Denmark, in

Frederiksberg, or on a Thursday, or with a

comment or device with the name or alias

“Brian” close by.

Using the simple search function, very specific

searches can be performed, as for example a

single “and” search for “Denmark, Thursday, Frederiksberg,

few clouds, birthday” would only return all pictures matching all these values,

which would most probably describe a birthday party in Frederiksberg, on a

Thursday, close to a wireless network named “home wireless”, with Brian close by

and weather with only a few clouds.

The simple search is very easy to use, and users are already somewhat

accustomed to the Google-style search using a single textbox. The downside is the

amount of user input required in typing the search terms. This could be solved by

Implementation

The user is able to perform simple searches, where comma separated search

can be entered in a textbox. This text box approach is inspired by the

used by Google (64). The user can choose between

a simple “and” search, and a simple “or” search, which returns pictures matching

all the entered keywords and pictures matching any of the entered keywords

keywords entered are used to search all

saved in the context information

, and very elaborate searches are thus

possible using this simple search function. As

search for

an”

would return all pictures taken in Denmark, in

Frederiksberg, on a Thursday with a Bluetooth

device or wireless network with the alias

“Brian” entered. A similar “or” search would

return all images taken in Denmark, in

or with a

name or alias

Using the simple search function, very specific

searches can be performed, as for example a

“Denmark, Thursday, Frederiksberg, home wireless, Brian,

rthday” would only return all pictures matching all these values,

which would most probably describe a birthday party in Frederiksberg, on a

Thursday, close to a wireless network named “home wireless”, with Brian close by

The simple search is very easy to use, and users are already somewhat

style search using a single textbox. The downside is the

amount of user input required in typing the search terms. This could be solved by

Figure 19 - Performing a single search

using multiple search terms

separated by comma

Page 93: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Searching for Content

providing some sort of dictionary which suggests search terms based on words

already saved in the context information index. An approach to using such a

system could be adopted from for example the nTag system

6.7.2 Advanced Search To allow for more specific searches than can

be performed using the simple search

possibilities, I have implemented an advanced

search option. Performing advanced searches

are done using a form with 20 fields that can

be used to search in specific parts of the saved

context information. Due to undocumented

limitations in Pys60, forms can only contain up

to 20 fields, which is why I have limited the

advanced search form in this manner.

Using the advanced search, it is possible to

perform searches for pictures taken whe

temperature was between a given minimum

and maximum temperature, the humidity was

over a given threshold, the date between

given dates, and the time between given

times. Furthermore, keywords can be entered

for most of the textual context informatio

entered, with each of the textual searches being performed using an “or” search.

The result from every line in the form is then gathered

to yield search results only fulfilling all entered requirements. Any field left with

its default value will not be used in the search performed.

With the advanced search, it is thus possible to for example search for all pictures

taken at sunset, with the temperature between 10 and 20 degrees Celsius,

73

of dictionary which suggests search terms based on words

already saved in the context information index. An approach to using such a

system could be adopted from for example the nTag system (55).

more specific searches than can

using the simple search

, I have implemented an advanced

Performing advanced searches

are done using a form with 20 fields that can

be used to search in specific parts of the saved

Due to undocumented

limitations in Pys60, forms can only contain up

to 20 fields, which is why I have limited the

Using the advanced search, it is possible to

perform searches for pictures taken where the

temperature was between a given minimum

and maximum temperature, the humidity was

over a given threshold, the date between

given dates, and the time between given

times. Furthermore, keywords can be entered

for most of the textual context information

entered, with each of the textual searches being performed using an “or” search.

The result from every line in the form is then gathered in an “and” search fashion,

to yield search results only fulfilling all entered requirements. Any field left with

default value will not be used in the search performed.

With the advanced search, it is thus possible to for example search for all pictures

taken at sunset, with the temperature between 10 and 20 degrees Celsius,

Figure 20 - Performing an advanced

search using the advanced search form.

This allows a search based on chosen

dates, times, temperatures, humidity,

time zone, and a large number of text

input fields

Page 94: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

74 Implementation

humidity over 80 percent, in London, Copenhagen, Paris, or Rome, between the

first of January 2007 and the 15 of June 2009.

Such advanced searches require more user interaction, but yield much more

precise results which can aid the user in finding images based on very specific

terms. Still, advanced searches are most probably seldom used, since simple

searches can be used to perform very elaborate searches. Another downside with

the advanced search is the lack of overview in the advanced search form due to

the limited screen size of the smart phones.

6.8 Problems, Limitations and Result During my work on the prototype, I have met a few limitations which have had an

impact on how the prototype works, and which context information can be

gathered.

6.8.1 Using the Sensors in Pys60 Only some of the sensors found in the Nokia S60 3

rd Edition Feature Pack 1

devices can be used for context gathering in Pys60, which limits the amount of

context information that can be inferred. I have used all available sensors, except

for the accelerometer, but more sensors are present in the Nokia N82 and Nokia

N95 telephones I have worked with. Both smart phones include a light sensor and

of course a microphone, but neither are available through pys60. These sensors

could have been used to give an indication of the ambient light and noise levels,

but unfortunately this is not possible. The amount of sensors available to Pys60 is

likely to grow, with newer versions of the Symbian S60 operating system coming

out, and Pys60 being updated often.

Page 95: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Problems, Limitations and Result 75

6.8.2 Pys60 Some of the standard features in Python have not been implemented in Pys60,

which can sometimes result in problems when trying to implement features that

you expect are easy to make. One such limitation is the absence of sets in Pys60,

which makes the “and” and “or” search functions a bit harder to implement, since

no set operations like union and intersection are available.

Another problem I faced was getting the “like” keyword working in SQL. “Like”

allows searches with wildcards, so the searched for keyword does not have to be

a full match. This would have been very useful in providing better search options,

but despite many different approaches, I failed to get it working. Searches have to

be performed with full text strings matching the saved context information for

this reason.

A third limitation is the calendar implementation. There is no simple way to

extract entered calendar events for the current time only. It is only possible to

extract all calendar events for the given day, rendering the calendar function less

precise. It is easy to imagine several calendar events being entered for a specific

day, and with no straightforward method of extracting only the one valid at the

given moment, this data is less useful than it could have been.

6.8.3 The Implications The limitation in the amount of sensors available in Pys60 has had an impact on

the amount of context information that can be gathered in Conga. Being able to

use the light sensor and microphone could have given interesting and useful data,

and the use of such sensors would be very valuable in a full implementation. The

ambient light and sound level could easily be very descriptive of the ambience in

which content is created, and therefore makes for good context information.

With further analysis of this data, much more context information could be

extracted, but that falls outside the aim of this thesis.

The problems with getting the “like” keyword working in the database

implementation has meant that all searches can only be performed with full text

Page 96: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

76 Implementation

string as search terms. I have implemented a workaround for this in the search

for calendar events, just to experiment with it, but implementing this workaround

for searching every single string in the saved context information would be much

more computing intensive than using the native function in SQL. Unfortunately,

limiting text searches to only using full search terms lowers the user-friendliness

of the application.

The limitation in the calendar implementation has caused me to save all calendar

events valid for the given day in the context information. I have chosen this

approach, to still be able to search for calendar information, but this also causes

pictures taken at one event in a day to be indexed together with all other

calendar events of the day.

Lacking sets in Pys60 has not had a big impact on the implementation, since I

have programmed a simple workaround for this, which performs quite well. From

a performance viewpoint, sets are a desirable programming feature that would

be valuable in a full implementation. For the prototype, the lack of it was more of

a simple annoyance during development, but has had no bigger impact on

usability of the system.

6.8.4 Result of the Prototype Implementation Conga has been implemented as described, and works as I had hoped. The

gathering of context functions well, although a bit slow at times, but serves the

purpose of the prototype. There are still a few bugs left in Conga, which I have

not paid much attention to, since they do not have a big influence of the main

functionality of the system. These bugs are:

• Freezing at start-up – The application will sometimes

freeze at start-up, when the user has to select an

internet access point. The reason for this is unclear,

but a restart of the phone usually solves the problem.

• Sporadic failure to save pictures – In a few cases, the

prototype has taken a picture, but failed to save it

Page 97: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Problems, Limitations and Result 77

properly. An inspection of the log file I generate

suggests that the problem stems from issues with

saving data in the database. This can be caused by

trying to save data which is not encoded correctly,

but since it happens very rarely, I have left this bug

unsolved. Furthermore, the application keeps

running, so a new picture can simply be taken.

• Failure to show all context information – If a large

amount of context information is gathered, the

option to show context information for a selected

picture in the gallery will fail to show all context

information. I have left the implementation like this,

since most context information can be seen, and for

the purpose of the prototype, this is sufficient.

• Camera white balance – Even though I have set all

options of the camera module in Pys60 to automatic,

the camera still has major issues with taking pictures

in sunlight. The normal camera application on the

smart phones function well, but using my prototype,

all pictures taken with even a moderate amount of

sunlight are very overexposed, usually resulting in

almost completely white images. The reason for this

remains a mystery, and I have left this bug alone,

since it has no impact on the demonstration of using

context information for content management.

Apart from these bugs, Conga works well. Context information is gathered and

saved when content is created, content can be found by searching for the context

information, and using context information for content management is well

presented by it.

Page 98: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

78

Figure 21 - A picture taken using Conga, displayed in full screen mode

display of the context information gathered and saved together with it

As already described, I have not focused my work on performance questions.

Despite this, it is nice to see that the prototype works at a useable speed.

picture and saving context information for it usually takes less than

and searching for pictures in the gallery takes

search types and one to twenty keywords, with

of 40.

In the next chapter, I will go deeper into the

these tests.

6.9 Summary In this chapter, I have described my work with implementing a prototype

Conga as a proof of concept of gathering and using context information

content management. Conga is implemented in Python for S60 and runs on Nokia

Implementation

, displayed in full screen mode, and a

gathered and saved together with it

escribed, I have not focused my work on performance questions.

Despite this, it is nice to see that the prototype works at a useable speed. Taking a

for it usually takes less than 20 seconds,

s in the gallery takes between 1 and 7 seconds using all

keywords, with a current total amount of pictures

the testing of Conga, and the results of

is chapter, I have described my work with implementing a prototype named

as a proof of concept of gathering and using context information for

is implemented in Python for S60 and runs on Nokia

Page 99: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 79

S60 3rd

edition Feature Pack 1 devices, such as Nokia N82 and Nokia N95 smart

phones.

Conga gathers context information using the built in sensors and functions of the

smart phone. Afterwards, the current GPS coordinate and time is used in an

online translation, which returns much more usable context information

describing the current weather, location, and time of day. All this context

information is saved in a database on the smart phone, after which the user is

able to search for created content using both simple and advanced search

features.

I have presented an overview of my design of the prototype application, as well

as the structure of the user interface and database, and described why I have

chosen to build the application in this manner. During the development of the

prototype, I encountered a few limitations and problems, which are also

described in this chapter.

Page 100: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

80 Implementation

Page 101: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 7

7 Test

In this chapter, I will describe the tests I have performed using the constructed

prototype, and the results of these. First I will focus on the context information

gathered, followed by using this context information for content search. I will

then describe the ideal test to be performed using this prototype, followed by the

actual user test I have carried out. Finally I will reflect on the results of the user

test, and summarize my findings.

7.1 Context Information Gathering on the Prototype I have begun my testing of Conga by verifying that context information is in fact

gathered, and that the gathered context information is accurate. The tests have

taken place at various locations in Denmark, as I have had the smart phone with

me almost all the time while working on this thesis. I have tried capturing images

on different trains, as well as in various inside and outside locations, with good

results. I have taken around 70 pictures while testing different versions of the

prototype, and have taken 40 with the final version of the prototype at the time

of writing.

Page 102: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

82 Test

I have found that if the application is used outdoors, and given 30 seconds to a

minute to ensure that a GPS location has been found, context information is

gathered and translated correctly. The location information gathered from

GeoNames (60) has been highly accurate, and the weather information is

accurate as well. The translated time information also makes good sense, so all in

all, the translated context information seems accurate and meaningful.

If used indoors, the GPS sensor is unfortunately unable to get a signal, unless the

smart phone is held very close to a window. This limits the amount of context

information gathered quite a bit, but is to be expected when relying solely on GPS

for positioning.

If Conga is left running for a minute or two, nearby Bluetooth devices and

wireless networks are usually found, but this seems to be a bit more sporadic. I

have had many cases where known nearby Bluetooth devices and wireless

networks have not been detected, unfortunately leaving this information less

reliable than I had hoped.

All other context information gathered works as I had expected, and apart from

the few bugs mentioned in Section 0, Conga works well.

The table below sums up a single test, listing the expected as well as the actual

context information gathered for a picture taken outdoors and one taken indoors

at the same day and location, two minutes apart. The Conga application was

started up and left for 2 minutes to get a GPS position and scan for Bluetooth

devices and wireless networks. The expected information is based on a weather

report from the website of the Danish Meteorological Institute (65) as well as

assumptions about the context.

The nearby Bluetooth device is another mobile phone left close by for the test,

and the wireless network expected is a network usually available at the test

location. No expectations were entered for the Cell ID, since this is not

information a user would often have expectations about, and the state and

province have been left empty, since states and provinces are not used in

Denmark.

Page 103: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Context Information Gathering on the Prototype 83

Context

Information

Expected Outdoors Indoors

Ambience

Weather

station

Kastrup Koebenhavn/Kastrup

Temperature 10.4 11

Dew point 9 9

Humidity 90 87

Cloud cover Clouds Few clouds

Weather

condition

Rain Light rain

Pressure

in hectopascal

1012 1011

Wind

direction

235 230

Wind speed 8 10

Activity

Movement

Calendar

event

Test event Test event Test event

Location

Latitude 55.681819 55.68172

Longitude 12.549262 12.54917

Altitude 20-22 19.5

GPS time

stamp

“Time of capture” “Time of capture” “Time of

capture”

Cell ID 13591 13591

City Frederiksberg Frederiksberg

State Capital region

Province None

Country Denmark Denmark

Country code DK DK

Continent Europe Europe

Time

Timestamp “Time of capture” “Time of capture” “Time of

capture”

Weekday Saturday Saturday Saturday

Month October October October

Page 104: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

84 Test

Week 41 41 41

Time of week Weekend Weekend Weekend

Time of day After sunset After sunset

Time zone GMT+1 GMT+1

Relations

Wlans Default Default, Zyxel,

Home-wavelan

network, Skovlund,

dhihome

Default, Home-

wavelan-

network, Dlink

Bluetooth

devices

Brians telefon Brians telefon Brians telefon

Table 2 - The summarized results of a simple test of context gathering. The context information

gathered for a picture taken indoors and one taken outdoors is compared to the expected context

information.

As seen in Table 2, the gathered context information for the picture taken

outdoors lives up to the expectations. The weather information is almost

precisely what was expected, and is more than accurate enough to be useable,

and the location information even includes a descriptive word for the state. The

picture taken indoors clearly suffers from the lack of a GPS position, as all

information gathered based on this is missing, underlining the lack of much

context information when the GPS location is absent.

7.2 Finding Content Using Search After taking an amount of pictures in different locations and situations, I have

tried searching for them using various context information gathered. I have found

that the implementation of the simple and advanced search features works as

expected, allowing the user to search for all text strings using the two simple

search functions and for much more context information using the advanced

search form.

The results of testing the simple search functions have always been as expected,

returning pictures matching all the keywords entered and any of the keywords

Page 105: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

The Ideal User Test 85

entered using ‘and’ and ‘or’ search respectively. I still find the single search

functions to be quite powerful, since multiple terms can easily be combined to

allow for quite specific searches.

Using the advanced search has also yielded the results I expected, and all the

different search fields seem to work as they are supposed to. As expected, the

advanced search allows for making much more specific searches, and especially

the to and from dates and times can be used to quickly filter out lots of pictures.

An advantage of having all search results shown in the gallery is, that as soon as

the search results are narrowed down to twelve pictures or less, the easy

overview provided by the gallery lets the user find the picture quickly. This is

practical, since even with hundreds of pictures, narrowing the result set down to

around 12 pictures does not take extensive searching, as long as some context

information is remembered for the picture sought after.

7.3 The Ideal User Test An ideal test of the prototype, and of using context information for personal

content management in general, would be to have a select number of users use it

for an extended period of time, such as half a year or more. During this period,

they should be instructed to use the system on a regular basis, creating a large

amount of content, for example by taking at least a picture a day on average. At

the time of the test, a number of pictures should be picked out, and the users of

the system would be given the task of finding these pictures based on the context

information they remember about it.

Such a test is interesting, since it tests the system in four ways:

• User friendliness – The users’ use of the menus can

be monitored, and they can be asked to explain how

they go about using the prototype in general. This

can give an insight into flaws and inconvenient design

issues of the user interface.

Page 106: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

86 Test

• The remembrance of context information – The

users should explain which search terms they use in

searching for a given picture, and why. This can give

an indication about which context information users

of the system tend to remember, suggesting which

types of context information are most important to

the users of the prototype.

• The search methods used – Monitoring which search

methods the users favor using gives an insight into

where focus on further development of search

features should be put. It might also underline any

flaws that exist in the current implementation.

• The hit and miss rate – The amount of pictures

returned with the performed searches should be

noted, as well as the success in finding the correct

picture. This can show if users are actually able to

find their pictures using the remembered context

information, and also if the saved context

information is elaborate, as well as accurate, enough

for the searches performed.

Such a test is most useful with a large content base to search from, as well as a

long enough time span, allowing for the users to forget some of the information

about given pictures. It is not very hard to search through a small collection of

pictures taken recently, since much context information is remembered about the

taken pictures, and with up to twelve pictures being presented on screen at a

time, not much filtering has to be performed to be able to find a given picture in a

small collection.

7.4 An Actual User Test To have Conga tested by others than myself, I have equipped a friend with a

Nokia N95 running the prototype, and had him use it for 12 days. Even though the

Page 107: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

An Actual User Test 87

time span is very short, and the test user has only taken 23 pictures spread out

over the test period, I have performed the test described above. I have done this

to see if any indications about the four mentioned test areas could be found

despite of the limited time span. The test was carried out by me selecting 11

pictures the user had taken, after which he had to find these in Conga by using

the various search methods and the context information he remembered. I noted

down the search terms used, the amount of pictures found at each search, and

the result. The test results are summarized in Table 3.

Picture Search term Found Result

1 Thursday 2 Easy to find

2 Frederiksberg 0 Picture not found

2 (Adv) From time = 18.00.00 2 Picture not found

2 (Adv) From time = 17.00.00 8 Picture not found

3 Lyngby 0 Picture not found

3 Norgesvej22 0 Picture not found

3 Weekend 10 Picture was number 2 in the list

4 Weekend 10 Was in same result as picture 3

5 Lyngby 0 Picture not found

5 (Adv) From date 04/10 to

date 04/10

9 Picture was in the list

6 Esther 0 Picture not found

6 Saturday 10 Picture was second to last

7 Gitte 0 Picture not found

7 Monday 2 Picture was number 1 in the list

8 Dtu 0 Picture not found

8 Dtu wireless 0 Picture not found

8 Tuesday 4 Picture was number 4 in the list

9 Brian 1 Not the right picture

9 David 6 Picture not found

9 (Adv) From time = 19.00.00 2 Picture not found

9 (Adv) From time = 17.00.00 8 Picture was number 6 in the list

10 Sara 0 Picture not found

Page 108: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

88 Test

10 Friday 2 Picture not found

10 Saturday 10 Picture was last in the list

11 Jacob 1 Picture was the only result

Table 3 – The results of the user test. The picture number, search term, number of found pictures,

and the result of the search is noted, with (Adv) denoting a search using the advanced search

form

7.4.1 Observations A number of interesting observations were made while performing the test,

describing how a normal user interacts with the prototype, which context

information was predominantly used to perform searches, and which context

information was most useful:

• Picture 2 was never found, since context information

for it apparently failed to save due to the bug

described in Section 6.8.4.

• Picture 3 and 8 were both attempted found using the

name of a wireless network known to be close by, but

neither had this context information saved. This

further indicated problems with relying on

information about wireless networks close by.

• Picture 5 was attempted found using the search term

“Lyngby”. The picture did in fact have location

information saved, but the city name of “Brede” had

been saved instead. Brede is the correct name for the

location, but since Brede is a very small area, the user

expected the system to have saved Lyngby, which is

the name of the area in which Brede lies. This

highlights an interesting problem with the translated

context information, since the user does not always

Page 109: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

An Actual User Test 89

know how precise he should expect this data to be.

One solution could be to add more translated

location information, so both search terms could be

used.

• Picture 8 was sought after using the search term

“Tuesday”. This was merely a guess, since the user

did not remember much context information for that

particular picture. This highlights how the user can

easily resort to guessing for context information,

using this to narrow down the number of results, and

then using the gallery to visually find the picture.

• Picture 9 is a picture of a person named David, but

searching for David returned six pictures taken with

another person named David close by. Apparently his

Bluetooth device is named David, and therefore

these pictures were found. This demonstrates the

need for more precise naming in certain situations,

where a user could for example enter the alias

“David A” for one Bluetooth device, and “David B” for

another, allowing him to search for pictures using

more specific names of people. One can easily

imagine Henderson’s “frequent filer” (9) spending

time adding comments to his pictures, and making

sure that aliases are added for different peoples

Bluetooth devices and wireless networks, easing the

search for such a picture. A “non-filer” is more likely

to resort to simple searches like the one performed

by the user, and visually looking for the sought after

picture using the gallery.

Page 110: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

90 Test

• Picture 10 was taken at a party starting Friday

evening, but since the picture was taken after

midnight, the day was saved as Saturday, which

initially confused the user. This is a good example of

the user remembering context information which

does not initially help him find the picture. More

reliable location and relations information could ease

the finding of such a picture, or an advanced search

could be used searching for content created at events

taking place overnight.

• Picture 11 was easily found since “Jacob” had been

added as a comment at an earlier time. This

demonstrates the power of adding comments to

pictures, improving the hit rate of the search terms.

7.4.2 Analyzing the Search Terms Looking at the search terms used in the searches for content, a trend is emerging,

namely that the first keyword used is usually either a location or the name of a

person in the picture. This pattern underlines the importance of gathering

elaborate and correct location information, as well as the high usability of

information saved in the relations facet.

Most pictures taken in the test were taken indoors, and were therefore lacking

location information. In a discussion of the overall usability of the system taking

place after the initial user test, the user described how he sees this lack of

location information as a big limiting factor of the system.

We also discussed the problem of relying on people having Bluetooth activated

on their mobile devices, since this is seldom the case. In an ideal situation, where

Bluetooth can be expected to be turned on at all times, the user does agree that

this is very useful context information.

Page 111: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 91

When searching using location or relations information failed, the user resorted

to searching by the name of the day the picture was taken. He described this as

being easy since there weren’t too many results, and said he would probably use

a more specific approach if the amount of content had been much higher. This is

the problem with such a limited test, and the reason a larger scale test would

yield more interesting results.

7.4.3 Usability In our discussion about the prototype, the test user had a few remarks about the

general usability of the system. One remark was concerning the editing of aliases

for Bluetooth devices and wireless networks. The user felt that it wasn’t entirely

logical that you can always choose from all saved devices, even though you chose

the menu while a picture is selected. His initial expectation was that he would be

able to add aliases to the devices saved when the chosen picture was taken, and

not be able to choose from all devices ever saved. This is a very good point that

should be addressed in future work.

Another annoyance to the test user was the need to enter the precise text string

saved in the system when performing searches. This is already a known problem,

due to the problems with getting the “like” keyword working in the SQL

implementation, and a solution needs to be found in any future work on the

system.

The test user was quite impressed with the usefulness of being able to find all

pictures taken at a family birthday by simply searching for “David”, which was

another person attending the event. He had named his Bluetooth device “David”,

making this search possible without having to enter any comments or aliases.

7.5 Summary The performed tests verify that the constructed prototype is able to gather

context information and use it to annotate created content. Searching for created

Page 112: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

92 Test

content using the annotated context information also yields the expected results,

demonstrating the use of the various search types.

Unfortunately not all context information can be gathered as reliably as one could

wish for, which is especially seen in the sporadic nature of the saved Bluetooth

devices and wireless networks. Furthermore, the dependence of GPS signals for

location information usually hinders the collection of good location information

for all content created indoors, which is a big limiting factor when searching for

this content.

The performed user test, although limited due to the available time for testing,

has resulted in some interesting observations. These observations are especially

concerned with which context information is used in searching for content, and

how the lack of always available location and relations information sometimes

results in the need for performing several searches before the desired content is

found. Other observations give good pointers to the areas needing focus in future

work.

Despite these problems, Conga functions well, and is a good demonstration of

gathering context information by using the already available sensors in a mobile

computing device, and using this context information for personal content

management.

To further investigate the usability of context awareness for personal content

management, as well as the user friendliness of the prototype, the described

ideal user test should be performed. This would offer better insights into how

different users use the system to manage larger amounts of content, and would

provide more indications for the directions in which future work should be carried

out.

Page 113: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 8

8 Discussion

Many possibilities exist for continuing work on both the prototype and the

suggested context aware personal content management system in general. In this

chapter, I will first discuss a number of ideas for future work on the user

friendliness of the prototype. Following this, I will describe my suggestions for

how to gather more elaborate and reliable context information, and then propose

a different approach to content search. Lastly, I summarize the suggestions

presented in this chapter.

8.1 The Prototype Based on the test results, a number of improvements to Conga are desirable,

which could make it more user friendly. Apart from removing the few found bugs,

performance of the prototype could be taken into consideration. To decrease the

waiting time experienced when taking a picture, a separate thread in the program

could be used to gather context information and save the picture, leaving the

user free to take more pictures instead of waiting for the first one to be saved. To

further increase performance, the code could be optimized in various ways,

which I have not focused on in this thesis.

Page 114: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

94 Discussion

A function for better viewing, and possibly also editing, the saved context

information could allow the user to keep context information for his content up

to date. Editing context information, and entering search terms, could also greatly

benefit from a system aiding the user in choosing keywords to enter, based on

already existing terms, like the nTag (55) and mobTAG (66) systems.

The editing of aliases for wireless networks and Bluetooth devices should also be

made more logical, allowing the user to choose from devices saved for a selected

picture, all devices saved, and devices that can currently be detected. In this

manner, the user can more easily edit the aliases for devices captured together

with a selected picture, instead of having to run through a long list of devices.

Letting the user enter aliases for all devices currently detectable lets the user save

devices in the system, before these devices have been saved as context

information for a particular picture, also heightening user friendliness.

8.2 Gathering Context Information For both the prototype and any other implementation of context awareness for

personal content management, more options should be considered for the

gathering of elaborate, descriptive, and humanly understandable context

information. As described in Section 5.2, as many sensors as possible should be

used to gather as much context information as possible. The data gathered from

these sensors could be analyzed using various techniques, as described by

Schmidt, Beigl, and Gellersen (47), which can yield better and more descriptive

results.

As Conga has demonstrated, the lack of location information and all the

information gathered based on the GPS coordinate, leaves a big part of the often

remembered context information missing. Using alternative methods to gather

location information, together with GPS, should be investigated. An obvious

approach would be to use mobile phone tower information and information

about the wireless networks available to get location information. This approach

is already used on the iPhone (51) and other mobile devices, and while location

Page 115: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Gathering Context Information 95

information gathered from mobile phone towers and wireless networks available

is less precise than GPS, it is often more than precise enough to yield useful

location information. Since the accuracy of location information using cell phone

towers varies from a few hundred meters and up to several kilometers, this

information cannot be used to infer information about the current street, or

maybe even neighborhood, but it can still be used to gather information about

the current city, region, state and country, just as Conga does today, and as

opposed to using GPS, getting the location information based on cell phone

towers also works indoors.

Another technique, which should be investigated further, is the translation of

gathered context information into more elaborate and descriptive information. I

have experimented with this in the prototype, translating a simple GPS

coordinate and time stamp into much more descriptive and humanly

understandable context information. This can be taken a step further, by for

example adding a list of attractions nearby, which could be coupled with data

from a digital compass to infer which attraction the mobile device is facing. Other

very useful information could be street names, postal codes, any known name of

the location such as a theater, shopping centre, or airport name, and other

descriptive location information. Finally, information about known events, such

as concerts and festivals taking place at the given location and time, could be

gathered and saved. All of this translated context information could prove very

useful for the user when managing his annotated content.

Expanding the use of aliases to also include locations could prove useful. Such a

system could allow the user to choose a location, either on a map, or from a

previously saved piece of content, or use his current location, and enter an alias

for this. The alias could possibly be entered together with a tolerance of the

precision of this location. This approach would allow the user to for example

enter “Home”, “School”, and “Work” locations, and be able to find his content

based on this at a later time.

Page 116: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

96 Discussion

8.3 Searching for Content To draw full use of the gathered context information, many different types of

filtering and search can be implemented. I have described some possibilities in

Section 5.3, and working with the prototype has inspired another type of search

that should be further worked on, namely a sort of similarity search. This search

could work by allowing the user to use a piece of content as a starting point, and

find other content created under chosen similar circumstances as the current

content. For example, it could allow the user to find a picture, and use this picture

to find other pictures taken at the same day, event, location, with the same

people, or with the same comments.

A system could be created, allowing the user to use the annotated context

information as sort of links, starting new searches based in this information. The

user should be able to choose how much context information has to be similar to

the currently selected piece of content, thereby setting a sort of tolerance.

Letting the user search his content in this way could ease user interaction

considerably, by requiring less typing of keywords, and allows the user to browse

his content in many useful ways. It is also a valuable tool in organizing content in

interesting ways.

Another possibility for searching content could be to allow for searches which

also return “near matches”. For example, a search for “Friday” could also return

content created a few hours after midnight on Saturday, and a search for

Copenhagen could also include content created in nearby suburbs. This could

help the user find content mentally associated with certain context information,

which was actually created in a different, but almost identical, situation. Such a

search scenario was observed in the user test, where the user tried finding a

picture taken at a party Friday evening, but since the actual picture was taken

after midnight, it was saved with Saturday as the day instead. Such a “near

match” search options should be further considered, to provide a better hit rate

for searches.

Page 117: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 97

8.4 Summary I have listed a number of possibilities for future work on both the prototype and

the context information gathering system, as well as a new approach to searching

for created content. The suggestions for Conga are aimed at making it more user

friendly, and are primarily based on the results of the tests performed. The

suggestions for the gathering of context information mainly focus on the addition

of even more usable information, thereby further expanding the search options

possible. Finally, the suggestion for a different approach to content search is

founded in the desire to lower the amount of required user input, and offering

more different ways to browse and find content. These suggestions are also

mainly based on experiences gained from working with the prototype.

Many of the presented suggestions require large amounts of research on their

own, and represent interesting ways to expand the usability of using context

awareness for personal content management.

A full system implementation could benefit from these suggestions, as they would

heighten the usability of the system. Alongside with these improvements, any

future work on an implementation aimed at everyday use, and not just as a

research tool, should incorporate the considerations listed in Section 5.4.

Page 118: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

98 Discussion

Page 119: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 9

9 Related Work

During the work on this thesis, I have encountered other projects which share

similarities to the work I have done. In this chapter, I will describe the projects I

find most similar to mine, and have drawn inspiration from.

9.1 MMM and MMM2 The MMM (67) and MMM2 (68) systems let mobile phone users take pictures,

which can then be annotated by manually entering tags at the time of capture.

The pictures are then uploaded to a web server, together with automatically

gathered context information which has been gathered when the picture was

taken. This context information consists of “all automatically available

information at the point of capture (time, spatial location, phone user, etc.)” (67).

The web server analyzes the uploaded picture and the connected metadata, and

annotates the picture with more information, based on the metadata of pictures

uploaded with similar context information. The suggested metadata is stored in a

faceted metadata structure, with facets such as Person, Location, Object, and

Activity.

Page 120: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

100 Related Work

Users accept the suggested metadata using the mobile phones web browser, and

are now able to share the online image with friends saved in the MMM/MMM2

system.

9.2 MediAssist The MediAssist system (49) focuses on efficient searching of personal photo

collections by using context metadata, such as time and location, content

analysis, such as face detection, and semi-automatic annotation to annotate the

pictures, allowing for better search possibilities. All pictures used in the system

have had time and location information added, which is then translated into a

wide range of information as quoted directly from (49):

• Time of capture is augmented to include a number of

time-based fields: year, month, day of month, day of

week and hour, enabling queries such as, for example,

‘all photos taken in the summer, at the weekend’.

• Latitude/longitude co-ordinates are converted into

placenames using a publicly available gazetteer.

• Standard astronomical algorithms calculate the light

status of all images (i.e. day/night/dusk/dawn).

• Each photo is annotated with weather data from the

nearest weather station when the photo was taken.

• Indoor/outdoor classification is inferred from digital

camera metadata, such as the ambient light levels.

• We also segment personal photo collections into

‘Events’ collections by detecting large temporal gaps

between consecutively captured photos.

Page 121: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Summary 101

Furthermore, large building objects and faces in the pictures are detected, and

identities are suggested for the found faces.

The MediAssist system also lets users edit the semi-automatic annotations,

allowing them to add more information, and correct wrong assumptions.

9.3 MobTAG The mobTAG system aims to ease the annotation and searching of personal photo

collections on mobile devices, by implementing an approach to tagging based on

a mapping of tags to the numerical keys of the mobile device. This allows the user

to quickly annotate taken pictures with tags, without having to manually enter

them every time.

Using the same mapping technique, the user is able to search for his photos,

selecting between different search strategies.

The mobTAG system is thus not focused on context awareness, but attempts to

ease the management and use of photo collections by taking the limited user

interaction options of mobile phones and smart phones into account.

9.4 Summary The mentioned systems share similarities with the work done in this thesis, but all

have different focuses than my general suggestion.

The MMM and MMM2 systems share similarities with this thesis when it comes

to the gathering of context information, and saving of this in a faceted hierarchy,

but here the similarities end. MMM and MMM2 do not run solely on the mobile

device, but use the mobile device more as a client in a client-server architecture.

MMM and MMM2 depend on an external web server for most context inference,

annotation, and photo sharing, with all content being stored and managed on the

server. They are therefore not solutions for personal content management on a

mobile device.

Page 122: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

102 Related Work

The MediAssist system has inspired me with the translation of simple context

information to much more elaborate information, and using this for managing

content. Other interesting techniques, such a content analysis, are being used in

the MediAssist system, but these are very focused on pictures as the only type of

content, whereas I suggest using context information for a general personal

content management system. Furthermore, the pictures used in the MediAssist

system are not annotated with context information at the time of capture, but at

a later time.

The MobTAG system contains good ideas for easing user interaction with a

system running on mobile and smart phones. These ideas could be used in

improving my prototype, and should be taken into account for designing user

friendly applications for mobile devices with fewer options for user interaction.

Since the Conga prototype is solely created as a proof of concept, it has been

limited to using pictures as the content type to create and manage. Despite this,

the general suggestion of this thesis is to use the same context aware personal

content management approach to all types of content, and this is different from

the presented related work.

In the table below, I have compared the mentioned systems with the work

presented in this thesis on a number of key elements.

MMM MediAssist MobTAG Conga

Context gathering X X - X

Context translation - X - X

Automatic annotation X X - X

Content management - X X X

User friendliness - X X X

Content analysis - X - -

Sharing content X - - -

All types of content - - - (X)

Table 4 – A comparison between different related projects based on selected main points of the

work performed

Page 123: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 10

10 Conclusion

The work presented in this thesis has partly been concerned with constructing a

scheme for using context awareness to ease personal content management, and

partly with designing such a system and testing it by constructing a prototype

named Conga. Working with the prototype, and performing a user test, has

highlighted a few issues to take into consideration when implementing such a

system. It has also demonstrated that constructing such a system is indeed

possible using the sensors and technology already found in high end smart

phones today, and clearly confirmed the usability of context information for

personal content management.

If the suggested context aware personal content management system is

implemented, taking the considerations mentioned in Section 5.4 as well as the

test results in Chapter 7 into consideration, it will provide users with new content

management options not found in the used personal content management

schemes of today. Different possibilities for implementing such a system exist, as

described in Section 5.1. My preference would be to have context awareness built

directly into the operating system, and use the gathered context information to

provide much more elaborate search and filtering options on current file systems,

but not completely replace these.

Page 124: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

104 Conclusion

Such a system could greatly ease the tedious work of content management by

supplying “automatic classification” (7), and by allowing further addition and

editing of saved context information, it would cater to both “messy” and “neat”

users, as described by Malone (7).

10.1 Contributions I consider the following points to be contributions of this thesis:

• Using context awareness for personal content management – Most

work reviewed during the work on this thesis has focused solely on the

management of specific types of content, often multimedia. I have here

presented my suggestions for a general use of context information to

easy the management of all types of content, with no specific focus, as I

believe context information is meaningful for any type of content.

• Facets for saving context information – The facets constructed in Section

4.4.1 are designed to contain all gathered context information to be used

in a personal content management scheme, and allow for various search

and filtering options.

• Design suggestions – I have laid out five design suggestions for context

aware content management systems, ranging from a stand-alone

application managing its own content, to a system fully built into the

operating system. These design suggestions can easily form the basis of

further work in this field.

• Prototype implementation – The constructed prototype can without

difficulty be used as a basis for further work, with the database and most

classes in the implementation being completely reusable in another

project.

• Proof of concept – By constructing and testing the prototype, I have

proven that a great deal of context information can be gathered on

mobile computing devices, using the built in sensors and functions

already available today. I have also demonstrated the usability of context

information for personal content management

Page 125: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

CHAPTER 11

11 Bibliography

1. Lyman, P and Varian, HR. How Much Information? [Online] 2003.

http://www.sims.berkeley.edu/research/projects/how-much-info-2003.

2. Wire, Business. InfoTrends Study Reveals that Digital Camera Owners Expect

Digital Photography to Replace Film in 4 years. BNet Business Network. [Online]

February 21, 2000. [Cited: April 10, 2008.]

http://findarticles.com/p/articles/mi_m0EIN/is_/ai_59580803.

3. Photo Annotation on a Camera Phone. Wilhelm, Anita, et al. Vienna, Austria :

CHI, 2004. CHI '04 extended abstracts on Human factors in computing systems.

pp. 1403-1406.

4. Fitzgibbon, Andrew and Reiter, Ehud. "Memories for life" Managing

information over a human lifetime. [book auth.] T. Hoare & R. Milner (Eds.).

Grand Challenges in Computing Research. Swindon : British Computing Society,

2003, pp. 13-16.

5. Bush, Vannevar. As We May Think. The Atlantic. 176, July 1945, 1, pp. 101-108.

Page 126: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

106 Bibliography

6. MyLifeBits: A Personal Database for Everything. Gemmell, Jim, Bell, Gordon

and Lueder, Roger. 1, New York, NY, USA : ACM, January 2006, Communications

of the ACM, Vol. 49, pp. 88-95.

7. Malone, Thomas W. How Do People Organize Their Desks? Implications for the

Design of Office Information Systems. ACM Transactions on Information Systems

(TOIS). 1983, Vol. 1, 1, pp. 99-112.

8. Farhoomand, Ali F. and Drury, Don H. Managerial Information Overload.

Communications of the ACM. 45, October 2002, 10, pp. 127-131.

9. Henderson, Sarah. Personal Digital Document Management. Lecture Notes in

Computer Science. Berlin, Heidelberg : Springer-Verlag, 2004, Vol. 3101, pp. 651-

655.

10. Sinha, Rashmi. A cognitive analysis of tagging (or how the lower cognitive cost

of tagging makes it popular). Rashmi Sinha - thoughts on technology, design &

cognition. [Online] September 27, 2005. [Cited: Februar 22, 2008.]

http://rashmisinha.com/2005/09/27/a-cognitive-analysis-of-tagging/.

11. Kroski, Ellyssa. The Hive Mind: Folksonomies and User-Based Tagging.

InfoTangle. [Online] December 7, 2005. [Cited: March 31, 2008.]

http://infotangle.blogsome.com/2005/12/07/the-hive-mind-folksonomies-and-

user-based-tagging/.

12. Why We Tag: Motivations for Annotation in Mobile and Online Media. Ames,

Morgan and Naaman, Mor. San Jose, California, USA : ACM, 2007. Proceedings of

the SIGCHI conference on Human factors in computing systems. pp. 971 - 980.

13. Godwin-Jones, Robert. LLT Vol 10 Num 2: EMERGING TECHNOLOGIES Tag

Clouds in the Blogosphere: Electronic Literacy and Social Networking. Language

Learning & Technology. [Online] May 2006. [Cited: April 12, 2008.]

http://llt.msu.edu/vol10num2/emerging/default.html (picture:

http://llt.msu.edu/vol10num2/emerging/figure1.gif).

Page 127: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Bibliography 107

14. Ranganathan, S. R. Elements of library classification. New York : Asia

Publishing House, 1962.

15. Merholz, Peter. Innovation in Classification. peterme.com. [Online]

September 23, 2001. [Cited: April 1, 2008.]

http://www.peterme.com/archives/00000063.html.

16. Doyle, Bob. Facets in your Future. EContentmag.com. [Online] June 8, 2004.

[Cited: March 26, 2008.] http://www.econtentmag.com/?ArticleID=6707.

17. Wine.com. Wine.com. [Online] [Cited: April 20, 2008.] http://www.wine.com.

18. Faceted Metadata for Image Search and Browsing. Yee, Ka-Ping, et al. Ft.

Lauderdale, Florida, USA : ACM, 2003. Proceedings of the SIGCHI conference on

Human factors in computing systems. pp. 401-408.

19. Barreau, Deborah and Nardi, Bonnie A. Finding and Reminding: File

Organization from the Desktop. ACM SIGCHI Bulletin. July, 1995, Vol. 27, 3, pp. 39

- 43.

20. Google Desktop. Google Desktop. [Online] Google. [Cited: May 18, 2008.]

http://desktop.google.com/.

21. Windows Search. [Online] Microsoft. [Cited: May 18, 2008.]

http://www.microsoft.com/windows/products/winfamily/desktopsearch/default.

mspx.

22. Sony Ericsson - Track ID. [Online] Sony Ericsson. [Cited: May 18, 2008.]

http://www.sonyericsson.com/product/trackid/.

23. Gracenote. Gracenote. [Online] [Cited: May 18, 2008.]

http://www.gracenote.com/.

24. MusicBrainz. [Online] MetaBrainz Foundation. [Cited: May 18, 2008.]

http://musicbrainz.org/.

Page 128: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

108 Bibliography

25. Midomi. Midomi. [Online] Midomi. [Cited: May 18, 2008.]

http://www.midomi.com/.

26. Inc., Idée. Multicolr Search Lab. Idée Inc. [Online] Idée Inc, 2008. [Cited:

September 15, 2008.] http://labs.ideeinc.com/multicolr#colors=000000,842db8;.

27. Ltd., MyHeritage. Celebrity Collage. MyHeritage. [Online] MyHeritage Ltd.,

2008. [Cited: September 17, 2008.] http://www.myheritage.com/celebrity-

collage.

28. Eg Larsen, Jakob. NEXUS - A Unified Approach to Personal Information

Management in Interactive Systems. Lyngby, Denmark : Technical University of

Denmark, 2005.

29. Gartner. Gartner Says Worldwide Mobile Phone Sales Increased 16 Per Cent

in 2007. Gartner. [Online] February 27, 2008. [Cited: May 15, 2008.]

http://www.gartner.com/it/page.jsp?id=612207.

30. —. Gartner Says Ultralow-Cost Mobile PCs To Drive Growth for Education PC

Segment in Emerging Markets. Gartner. [Online] Gartner, October 2, 2007. [Cited:

May 16, 2008.] http://www.gartner.com/it/page.jsp?id=528107.

31. ASUS. ASUS Eee PC is America’s Most Wanted Christmas Gift. ASUS | Eee PC.

[Online] November 21, 2007. [Cited: May 15, 2008.]

http://eeepc.asus.com/global/news11212007.htm.

32. Portal, UMPC. The complete UMPC comparison, details and specifications

website. UMPC Portal. [Online] [Cited: May 20, 2008.]

http://www.umpcportal.com/products/.

33. Elsparefonden. Rekordsalg af bærbare computere. Elsparefonden. [Online]

Elsparefonden, January 31, 2008. [Cited: May 15, 2008.]

http://www.elsparefonden.dk/aktuelt/nyt-fra-elsparefonden/rekordsalg-af-

baerbare.

Page 129: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Bibliography 109

34. Hruska, Joel. 2008 could be the year laptop sales eclipse desktops in US. Ars

Technica. [Online] Ars Technica, January 3, 2008. [Cited: May 16, 2008.]

http://arstechnica.com/news.ars/post/20080103-2008-could-be-the-year-laptop-

sales-eclipse-desktops-in-us.html.

35. Nokia. Nokia Mediearkiv. Nokia. [Online] [Cited: May 1, 2008.]

http://www.billedarkiv.nokia.dk/Nokia/loginAnonymous.do?lang=dk.

36. Apple. Apple - PR - Products - iPhone. Apple. [Online] [Cited: May 1, 2008.]

http://www.apple.com/pr/products/iphone/iphone.html.

37. Child, One Laptop per. One Laptop per Child. One Laptop per Child. [Online]

One Laptop per Child. [Cited: May 15, 2008.] http://www.laptop.org/laptop/.

38. Computer, ASUSTeK. Eee PC 2G Surf. ASUSTeK Computer Inc. [Online] [Cited:

May 3, 2008.]

http://www.asus.com/products.aspx?l1=24&l2=164&l3=0&l4=0&model=2007&m

odelmenu=1 (picture:

http://www.asus.com/999/images/products/1907/EeePC4G-2.jpg).

39. AspireOneUser.com. Acer Aspire One Images | AspireOneUser.com - Acer

Aspire One User Resource Forum & Blog . AspireOneUser.com. [Online] [Cited:

May 2, 2008.] http://www.aspireoneuser.com/aspire-one-images/ (picture:

http://www.aspireoneuser.com/wp-

content/uploads/2008/06/acer_one_white_blue_closed.jpg).

40. Dell. Dell. [Online] [Cited: May 2, 2008.]

http://www.dell.com/downloads/global/corporate/imagebank/notebooks/xps_m

1330_open.jpg.

41. The Challenge of Mobile Devices for Human Computer Interaction. Dunlop,

Mark and Brewster, Stephen. 4, London, UK : Springer-Verlag, September 2002,

Personal and Ubiquitous Computing, Vol. 6, pp. 235-236.

Page 130: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

110 Bibliography

42. Context-Aware Computing Applications. Schilit, Bill N., Adams, Norman and

Want, Roy. Palo Alto, CA, USA : IEEE, 1994. Proceedings of the Workshop on

Mobile Computing Systems and Applications. pp. 85-90.

43. Understanding and Using Context. Dey, Anind K. 1, London, UK : Springer-

Verlag, February 2001, Personal and Ubiquitous Computing, Vol. 5, pp. 4-7.

44. Zimmermann, Andreas, Lorenz, Andreas and Oppermann, Reinhard. An

Operational Definition of Context. Modeling and Using Context. Berlin,

Heidelberg : Springer-Verlag, 2007, pp. 558-571.

45. Ericsson, Sony. Sony Ericsson - Mobile Phones - Overview - W910i. Sony

Ericsson. [Online] [Cited: June 3, 2008.]

http://www.sonyericsson.com/cws/products/mobilephones/overview/w910i?cc=

gb&lc=en.

46. Inc., Apple. Apple - iPhone - Features - Accelerometer. Apple.com. [Online]

Apple Inc. [Cited: Jube 10, 2008.]

http://www.apple.com/iphone/features/accelerometer.html.

47. There is more to Context than Location. Schmidt, Albrecht, Beigl, Michael and

Gellersen, Hans-W. 6, Karlsruhe : Elsevier, December 1999, Computers &

Graphics Journal, Vol. 23, pp. 893-902.

48. Multi-Sensor Context-Awareness in Mobile Devices and Smart Artifacts.

Gellersen, Hans W., Schmidt, Albrecht and Beigl, Michael. 5, Hingham, MA, USA :

Kluwer Academic Publishers, October 2002, Mobile Networks and Applications,

Vol. 7, pp. 341-351.

49. Using Text Search for Personal Photo Collections with the MediAssist System.

O'Hare, Neil, et al. Seoul, Korea : ACM, 2007. Proceedings of the 2007 ACM

symposium on Applied computing. pp. 880-881.

50. Flickr. Flickr: Explore everyone's photos on a Map. Flickr.com. [Online] Flickr.

[Cited: June 3rd, 2008.] http://www.flickr.com/map.

Page 131: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Bibliography 111

51. Apple. Apple- iPhone - Features - GPS. Apple.com. [Online] Apple Inc. [Cited:

June 14, 2008.] http://www.apple.com/iphone/features/gps.html.

52. Nokia. Nokia - Location Tagger. Nokia Beta Labs. [Online] Nokia, May 21,

2008. [Cited: June 4, 2008.] http://www.nokia.com/betalabs/locationtagger.

53. Antifakos, Stavros, Schwaninger, Adrian and Schiele, Bernt. Evaluating the

Effects of Displaying Uncertainty in Context-Aware Applications. [book auth.] N.

Davies et al. UbiComp 2004. Heidelberg : Springer-Verlag Berlin, 2004, pp. 54-69.

54. Using Context as a Crystal Ball: Rewards and Pitfalls. Cheverst, Keith, et al. 1,

London, UK : Springer-Verlag, February 2001, Personal and Ubiquitous

Computing, Vol. 5, pp. 8-11.

55. Hu, Qi. nTag - an image management system on camera-euipped

smartphones. Kongens Lyngby : IMM, DTU, 2008.

56. Pys60. Pys60. [Online] [Cited: April 18, 2008.]

http://sourceforge.net/projects/pys60.

57. Lam, Bea. LightBlue: a cross-platform Python Bluetooth API. [Online] 2008.

[Cited: May 10, 2008.] http://lightblue.sourceforge.net/.

58. BlueS. BlueS. [Online] November 27, 2007. [Cited: May 20, 2008.]

http://sourceforge.net/project/showfiles.php?group_id=132176&package_id=25

3746.

59. Berger, Christophe. Christophe Berger: Py S 60. Christophe Berger. [Online]

2008. [Cited: May 15, 2008.] http://chris.berger.cx/PyS60/PyS60.

60. GeoNames. GeoNames WebServices Overview. GeoNames. [Online]

GeoNames. [Cited: April 03, 2008.] http://www.geonames.org/export/ws-

overview.html.

61. NOAA. Solar Calculation Details. NOAA. [Online] NOAA. [Cited: April 20, 2008.]

http://www.srrb.noaa.gov/highlights/sunrise/calcdetails.html.

Page 132: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

112 Bibliography

62. Gray, Pete. Pete Gray's Astronomical Page. Pete Gray's Astronomical Page.

[Online] August 26, 2007. [Cited: April 25, 2008.]

http://home.comcast.net/~pete.gray/Astronomy/index.htm.

63. —. AstronomyClock v1.1. Pete Gray's Astronomical Page. [Online] August 26,

2007. [Cited: April 25, 2008.]

http://home.comcast.net/~pete.gray/Astronomy/AstronomyClock1.1.zip.

64. Google. Google. [Online] Google Inc. [Cited: June 10, 2008.]

http://www.google.com.

65. DMI. DMI - vejrobservationer. DMI. [Online] DMI. [Cited: October 18, 2008.]

http://www.dmi.dk/dmi/index/danmark/vejrobservationer/vejrobservationer-

land.htm.

66. Jensen, Søren Svane. mobTag - Mobile Tagging. Kongens Lyngby : IMM, DTU,

2007.

67. Mobile Media Metadata for Mobile Imaging. Davis, Marc and Sarvas, Risto.

New York, NY : IEEE Press, 2004. Proceedings of ICME 2004 (Taipei, Taiwan, June

27-30, 2004).

68. MMM2: Mobile Media Metadata for Media Sharing. Davis, Marc, et al. New

York, NY, USA : ACM, 2005. Proceedings of the 13th annual ACM international

conference on Multimedia. pp. 267-268.

69. Greer, Matt. Matt Greer Photography: Image File Management. Matt Greer

Photography. [Online] December 14, 2006. [Cited: April 10, 2008.]

http://mgreerphoto.blogspot.com/2006/12/image-file-management.html

(picture: http://bp3.blogger.com/_QvUXNiUo8UQ/RYH8-

SVTu8I/AAAAAAAAAI8/7RzpgKyR8jI/s1600/DriveProperties.jpg).

Page 133: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

APPENDIX A

A Installing Conga

To be able to run Conga on a Nokia S60 device, a few requirements need to be

met:

• The device should run S60 3rd

edition FP1

• Python for S60 (Pys60) version 1.44 should be

installed

• The Python Script Shell version 1.44 needs to be

signed and installed

With these requirements met, a few additional programs have to be signed and

installed:

• Blues for 3rd

edition version 1.00, to enable Conga to

activate Bluetooth

• LightBlue for 3rd

edition version 0.3.2, to enable

Conga to scan for Bluetooth devices

• WlanTools for Pys60 1.44 3rd

edition, to enable Conga

to scan for Wlans

After installing these programs, the following directories should be created:

Page 134: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

114 Installing Conga

• E:\Python

• E:\Conga

• E:\Conga\Images

• E:\Conga\Images\Thumbs

Finally, the source code for Conga (2 files and a directory named Conga) should

be placed in E:\Python

Page 135: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

APPENDIX B

To setup Conga, start the Python script

shell and run the script “CongaSetup.py”,

which will open the CongaSetup

application

B Setting up Conga

script

shell and run the script “CongaSetup.py”,

which will open the CongaSetup

Page 136: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

116

From the menu, first select “Create

settings file”. This will save the settings

file for Conga in E:\Conga.

Secondly, choose “Create DB” from the

menu, which will create and save the

database for Conga in E:\Conga

After following these two steps, quit

CongaSetup.

Conga is now installed, setup, and ready

to run.

Setting up Conga

Page 137: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

APPENDIX C

To start Conga, start the Python script

shell and run “Conga.py”.

When Conga runs, it will first require a

selection of internet connection, which

has to be available for Conga to be able

to properly fetch context for the pictures

taken.

C Using Conga

To start Conga, start the Python script

When Conga runs, it will first require a

selection of internet connection, which

le

pictures

Page 138: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

118

After selecting an internet connection,

Conga will automatically start the

camera, and display a viewfinder.

To take a picture, simply press the select-

button on the phones keyboard.

The captured picture will be shown while

it is saved.

Conga will display a message when the

picture is saved, and the viewfinder will

become active again, to allow for more

pictures being taken.

To open the gallery, and search for

pictures already taken, select “Open

gallery” from the menu.

The menu also allows the camera to be

stopped, and Conga to be closed.

Using Conga

Page 139: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Using Conga

When the gallery is first opened, no

pictures are shown.

To search for pictures, and access the

other functions of Conga, simply open

the menu and select the desired action.

From the menu a selection of options are

available.

To return to the camera function to

capture more pictures, simply select

“Return to camera”.

To quit Conga, select “Quit” at the

bottom of the menu.

119

When the gallery is first opened, no

To search for pictures, and access the

other functions of Conga, simply open

From the menu a selection of options are

To return to the camera function to

capture more pictures, simply select

To quit Conga, select “Quit” at the

Page 140: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

120

To search for pictures, three options are

available:

- Simple ‘and’ search

- Simple ‘or’ search

- Advanced search

The two simple search modes allow you

to enter one or more keywords,

separated by comma, which will then be

used to search for pictures.

All the keywords entered are matched

against all text strings saved in the

context for a picture.

Using the ‘and’ search, all pictures

containing all keywords will be shown,

while using the ‘or’ search, all pictures

containing any of the keywords will be

shown.

In the advanced search, search terms can

be entered for most context information,

enabling you to do more precise

searches.

Some fields in the advanced search form

are text fields. Here one or more comma

separated keywords can be entered, and

all matches are found using an ‘or’ search

on these keywords.

Any field left with its default value will

not be used in the search, and all fields

with an entered value will be used to

search in an ‘and’ type search.

As an example, a search with Continent

Using Conga

Page 141: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Using Conga

set to “Europe”, “Denmark, London,

Tokyo” entered in the City field, the

temperature set to be between 10 and

20 degrees, and the Time zone set to

GMT+1 will return all images taken in

Denmark with a temperature of between

10 and 20 degrees, since Tokyo is not in

Europe, and London is not in the GMT+1

time zone.

After a search has been performed, the

resulting pictures are shown in a gallery.

This gallery can be browsed using the up,

down, left, and right arrow keys of the

phone, which will move the green

selection square.

If a gallery consists of more images than

can be shown on the screen, it is possible

to scroll one line at a time by pressing

down when the selection square is at the

bottom of the screen, and up when the

selection square is at the top.

121

n,

Tokyo” entered in the City field, the

temperature set to be between 10 and

set to

GMT+1 will return all images taken in

Denmark with a temperature of between

10 and 20 degrees, since Tokyo is not in

t in the GMT+1

After a search has been performed, the

resulting pictures are shown in a gallery.

This gallery can be browsed using the up,

down, left, and right arrow keys of the

phone, which will move the green

lery consists of more images than

can be shown on the screen, it is possible

to scroll one line at a time by pressing

down when the selection square is at the

bottom of the screen, and up when the

Page 142: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

122

To view a picture in full screen, simply

select it with the green selection square,

and press the select button on the phone

keyboard. This will load the full screen

picture.

To return to the gallery, simply press the

selection button again.

To show the context information saved

for a given picture, select the picture in

the gallery using the green selection

square and choose “See context info”

from the menu. Alternatively, open the

picture in full screen, and select the same

menu point.

This will display the gathered context

information for the selected picture.

To return to the previous view, simply

press the select button on the phone

keyboard.

Using Conga

Page 143: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

Using Conga

To enter comments for a picture, select it

in the gallery view using the green

selection square, and choose “Add

comments” from the menu.

Alternatively, the same menu point can

be selected from a full screen picture

view.

This will open an input box, allowing you

to enter comments separated by comma,

similarly to the simple search box.

All entered comments can thereafter be

used to search for pictures using both a

simple or advanced search.

To enter aliases for the currently saved

Bluetooth devices, select “Set BT alias”

from the menu.

This will open a window with a

dropdown box allowing the selection of

one of the currently saved Bluetooth

devices. All devices have their current

alias shown in parenthesis in front of

their name, with empty parenthesis

indicating that no alias has been saved.

After selecting a Bluetooth device to

enter an alias for, simply enter the alias

in the “Alias” textbox and press OK.

The alias is now saved, and can be used

to search for pictures taken with the

current Bluetooth device nearby.

123

To enter comments for a picture, select it

in the gallery view using the green

selection square, and choose “Add

m the menu.

Alternatively, the same menu point can

be selected from a full screen picture

This will open an input box, allowing you

to enter comments separated by comma,

All entered comments can thereafter be

d to search for pictures using both a

To enter aliases for the currently saved

Bluetooth devices, select “Set BT alias”

This will open a window with a

dropdown box allowing the selection of

y saved Bluetooth

devices. All devices have their current

alias shown in parenthesis in front of

their name, with empty parenthesis

After selecting a Bluetooth device to

enter an alias for, simply enter the alias

The alias is now saved, and can be used

to search for pictures taken with the

Page 144: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

124

Similar to the Bluetooth alias function, it

is possible to enter aliases for already

saved Wlans by selecting “Set Wlan alias”

from the menu.

In the opened window, a Wlan can be

selected from the dropdown box, and an

alias can be entered in the textbox.

The alias is saved by pressing OK, after

which it can be used to search for

pictures taken in the vicinity of the given

Wlan.

Using Conga

Page 145: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

APPENDIX D

D Contents of the Enclosed CD

The CD attached to this report contains this thesis, the Python code for Conga,

and the ASP.Net code for the web service in the following directories:

• Thesis\ - Contains this thesis

• Conga\Prerequisites\ - Contains the Symbian

packages to be installed before installing Conga, as

described in Appendix A.

• Conga\Code\ - Contains the Python code for Conga,

to be installed on a Nokia Series 60 3rd

Edition

Feature Pack 1 smart phone, as described in

Appendix A

• Web service\ - Contains the code for the web service

used for translation of context information.

Page 146: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

126 Contents of the Enclosed CD

Page 147: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

APPENDIX E

E Code Overview

The following is an overview of the code developed for Conga:

• User interface layer

� Conga.py – The main code for Conga and the

graphical user interface layer. This contains

most of the functionality used for showing

the graphical user interface.

� Conga\advancedSearchForm.py – Used for

displaying the advanced search form.

� Conga\bluetoothAliasForm.py – Used to

display the form for entering aliases for

Bluetooth devices.

� Conga\wlanAliasForm.py – Used to display

the form for entering aliases for wireless

networks.

• Function layer

� Conga\FuncLayer.py – The main code for the

function layer. This contains the code called

by the user interface layer.

Page 148: Conga – The Context Gallery - etd.dtu.dketd.dtu.dk/thesis/224649/ep08_107.pdf · Conga – The Context Gallery Using Context Awareness for Personal Content Management on Mobile

128 Code Overview

� Conga\contextFetcher.py – Used to gather

all context information. When this code is

initialized it begins GPS positioning, and

starts scanning for Bluetooth devices nearby.

• Database layer

� Conga\IODBLayer.py – The main code for

the database layer. This contains the code

called by the function layer.

� Conga\db.py – Contains all database

functionality, allowing for saving and

searching for context information in the

database.

� Conga\ImageSaver.py – Used to save the

taken picture, as well as a generated

thumbnail, to a file.

� Conga\SystemTools.py – Used to save and

load the settings file

• Other

� Conga\LogFile.py – Used to provide logging

capabilities in the various code files.

� Conga\PicoIO.py – A small IO class, used by

several classes for saving files in a given

folder.

� CongaSetup.py – Used to setup Conga as

described in Appendix B.