127
by Noriyasu Vontin WIDE Workstation Independent Desktop Environment Diploma Thesis at the Media Computing Group Prof. Dr. Jan Borchers Computer Science Department RWTH Aachen University Thesis advisor: Prof. Dr. Jan Borchers Second examiner: Prof. Dr. Klaus Wehrle Registration date: Feb 28th, 2008 Submission date: Aug 14th, 2008

WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

byNoriyasu Vontin

WIDEWorkstation

Independent Desktop

Environment

Diploma Thesis at theMedia Computing GroupProf. Dr. Jan BorchersComputer Science DepartmentRWTH Aachen University

Thesis advisor:Prof. Dr. Jan Borchers

Second examiner:Prof. Dr. Klaus Wehrle

Registration date: Feb 28th, 2008Submission date: Aug 14th, 2008

Page 2: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

I hereby declare that I have created this work completely onmy own and used no other sources or tools than the oneslisted, and that I have marked any citations accordingly.

Hiermit versichere ich, dass ich die vorliegende Arbeitselbsta”ndig verfasst und keine anderen als die angegebe-nen Quellen und Hilfsmittel benutzt sowie Zitate kenntlichgemacht habe.

Aachen, August 14th, 2008

Page 3: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

iii

Contents

Abstract xv

Uberblick xvii

Acknowledgements xix

Conventions xxi

1 Introduction 1

1.1 Mobility . . . . . . . . . . . . . . . . . . . . . 2

1.2 Challenges of web applications . . . . . . . . 3

1.3 Chapter overview . . . . . . . . . . . . . . . . 5

2 Related work 7

2.1 Classifications . . . . . . . . . . . . . . . . . . 8

2.1.1 Web and Desktop Applications . . . . 8

User Perception-based Definition . . . 8

2.1.2 Non Web-based Remote Applications 9

2.2 Information Spaces . . . . . . . . . . . . . . . 10

Page 4: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

iv Contents

2.2.1 Online Storage Services . . . . . . . . 11

Amazon S3 . . . . . . . . . . . . . . . 12

AOL Xdrive . . . . . . . . . . . . . . . 13

2.2.2 Web Applications . . . . . . . . . . . . 13

Google Docs . . . . . . . . . . . . . . . 14

2.2.3 Web Desktops . . . . . . . . . . . . . . 15

EyeOS . . . . . . . . . . . . . . . . . . 16

G.ho.st . . . . . . . . . . . . . . . . . . 17

Stoneware webOS . . . . . . . . . . . 18

Conclusion . . . . . . . . . . . . . . . 19

2.3 Hybrid applications . . . . . . . . . . . . . . . 19

2.3.1 Desktop Integration . . . . . . . . . . 20

Adobe AIR . . . . . . . . . . . . . . . 20

Prism . . . . . . . . . . . . . . . . . . . 21

Gears . . . . . . . . . . . . . . . . . . . 22

2.4 Desktop Applications over the Network . . . 23

2.4.1 X Window System . . . . . . . . . . . 23

2.4.2 Virtual Network Computing . . . . . 24

2.4.3 Citrix XenApp . . . . . . . . . . . . . . 25

2.5 Development of Web Applications . . . . . . 25

GWT . . . . . . . . . . . . . . . . . . . 26

XML11 . . . . . . . . . . . . . . . . . . 26

Page 5: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

Contents v

2.6 Comparison Table . . . . . . . . . . . . . . . . 28

3 Initial study 29

3.1 Theory . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 General Trust Model . . . . . . . . . . 30

3.1.2 Online Trust . . . . . . . . . . . . . . . 31

3.1.3 Implication . . . . . . . . . . . . . . . 33

3.2 Survey . . . . . . . . . . . . . . . . . . . . . . 34

3.2.1 Participants . . . . . . . . . . . . . . . 34

3.2.2 Online Behaviour . . . . . . . . . . . . 34

3.2.3 Trust . . . . . . . . . . . . . . . . . . . 35

3.2.4 Data online . . . . . . . . . . . . . . . 36

3.3 Conclusion . . . . . . . . . . . . . . . . . . . . 36

4 Architecture 39

4.1 General Architecture . . . . . . . . . . . . . . 40

4.1.1 WIDE Server . . . . . . . . . . . . . . 41

4.1.2 Application Client . . . . . . . . . . . 43

4.1.3 Transactions . . . . . . . . . . . . . . . 43

4.2 Authentication . . . . . . . . . . . . . . . . . . 44

4.3 Authorization . . . . . . . . . . . . . . . . . . 47

4.3.1 Example . . . . . . . . . . . . . . . . . 50

5 Implementation 53

Page 6: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

vi Contents

5.1 Server Implementation . . . . . . . . . . . . . 53

5.1.1 Data Browser . . . . . . . . . . . . . . 54

5.1.2 Application Manager . . . . . . . . . . 54

5.2 Native Client: Wordpresser . . . . . . . . . . 55

5.2.1 Design . . . . . . . . . . . . . . . . . . 56

5.2.2 Implementation . . . . . . . . . . . . . 56

5.2.3 Interaction . . . . . . . . . . . . . . . . 56

5.2.4 Conclusion . . . . . . . . . . . . . . . 57

5.3 JavaScript Client Framework . . . . . . . . . 57

5.3.1 Design . . . . . . . . . . . . . . . . . . 58

5.3.2 Implementation . . . . . . . . . . . . . 59

Prototype: JS Editor . . . . . . . . . . 62

Implementation . . . . . . . . . . . . . 62

5.4 ActionScript Client Framework . . . . . . . . 64

5.4.1 Design . . . . . . . . . . . . . . . . . . 64

5.4.2 Implementation . . . . . . . . . . . . . 64

5.4.3 Prototype: Flex Spreadsheet . . . . . 66

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . 67

6 Integration 69

6.1 WIDE Support for Existing Applications . . . 69

6.1.1 API . . . . . . . . . . . . . . . . . . . . 70

6.1.2 Plug-Ins . . . . . . . . . . . . . . . . . 70

Page 7: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

Contents vii

6.1.3 Adapters . . . . . . . . . . . . . . . . . 71

6.2 Prototype Implementation . . . . . . . . . . . 73

6.2.1 Flickr Adapter . . . . . . . . . . . . . . 73

6.2.2 gDoc Picture Insertion Adapter . . . . 74

6.3 Conclusion . . . . . . . . . . . . . . . . . . . . 75

7 Validation 77

7.1 Design Rationale . . . . . . . . . . . . . . . . 78

7.1.1 Challenge . . . . . . . . . . . . . . . . 78

7.1.2 Solution . . . . . . . . . . . . . . . . . 79

7.1.3 Decisions . . . . . . . . . . . . . . . . 80

Server Rendered Requests . . . . . . . 80

External Window Manager . . . . . . 81

7.1.4 Lessons Learned . . . . . . . . . . . . 81

7.1.5 Expected Problems . . . . . . . . . . . 82

7.1.6 Context and Vision . . . . . . . . . . . 82

8 Summary and Future Work 85

8.1 Summary . . . . . . . . . . . . . . . . . . . . . 85

8.2 Future Work . . . . . . . . . . . . . . . . . . . 86

8.2.1 Notifications for Reactive Transactions 87

8.2.2 External Storage Space Integration . . 87

8.2.3 Exchanging WIDE . . . . . . . . . . . 88

Page 8: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

viii Contents

A Preliminiary Study: Online Survey 89

A.1 General Information . . . . . . . . . . . . . . 89

A.2 Computer Usage . . . . . . . . . . . . . . . . 91

A.3 Internet Usage . . . . . . . . . . . . . . . . . . 91

A.4 Data on the web . . . . . . . . . . . . . . . . . 93

A.5 Web applications . . . . . . . . . . . . . . . . 95

A.6 Trust . . . . . . . . . . . . . . . . . . . . . . . 96

B TITLE OF THE SECOND APPENDIX 99

Bibliography 101

Index 105

Page 9: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

ix

List of Figures

2.1 Google Docs, a Unified Information Spacefor its applications . . . . . . . . . . . . . . . 14

2.2 EyeOS, a Web Desktop System. . . . . . . . . 16

2.3 G.ho.st, a web desktop system providinghosted web applications. . . . . . . . . . . . . 17

2.4 G.ho.st: Specific applications to access onlinecontent, such as YouTube . . . . . . . . . . . . 18

2.5 Stoneware’s webOS, a web desktop virtual-ization system. . . . . . . . . . . . . . . . . . . 19

2.6 Prism hides the browser window’s naviga-tion to mimic an usual application window(left) and can be started over a desktop link(right) . . . . . . . . . . . . . . . . . . . . . . . 21

2.7 Gears separates the data layer from the userinterface. A Data switch communicates withthe offline local data layer and the onlineserver data layer. . . . . . . . . . . . . . . . . 22

3.1 Trust model by Corritore et al. [2003] . . . . . 32

3.2 Results regarding the awareness of applica-tion’s abilities . . . . . . . . . . . . . . . . . . 35

Page 10: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

x List of Figures

3.3 Results regarding password storage be-haviour (left) and reasons for offline copiesof online data. . . . . . . . . . . . . . . . . . . 36

4.1 Storage Space Solutions for Applications . . 41

4.2 General Structure . . . . . . . . . . . . . . . . 42

4.3 Authentication process at start of client ap-plication . . . . . . . . . . . . . . . . . . . . . 46

4.4 Request Based Authorization: The UserStays in Control. . . . . . . . . . . . . . . . . 48

4.5 Authorization Prompts . . . . . . . . . . . . . 49

4.6 Message exchange for transaction requestand authorization by the user. . . . . . . . . . 51

5.1 Data Browser . . . . . . . . . . . . . . . . . . 54

5.2 Application Manager . . . . . . . . . . . . . . 55

5.3 Wordpresser is a Simple Publishing ToolThat Posts Text Files. . . . . . . . . . . . . . . 57

5.4 Overview of WIDE’s JavaScript Framework . 61

5.5 JS Editor, a JavaScript-based editor that sup-ports WIDE . . . . . . . . . . . . . . . . . . . 63

5.6 Overview of WIDE’s ActionScript Frame-work . . . . . . . . . . . . . . . . . . . . . . . 65

5.7 Spreadsheet, a Flex-based Spreadsheet Ap-plication Supporting WIDE . . . . . . . . . . 67

6.1 Possible Architecture for Integration: Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . 70

Page 11: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

List of Figures xi

6.2 Possible Architecture for Integration: Tun-nelling via a Proxy Server. . . . . . . . . . . . 71

6.3 Possible architecture for integration: Codeinjection via web browser plug-in. . . . . . . 72

6.4 Injected user Interface Manipulation inFlickr by the WIDE Adapter. . . . . . . . . . . 74

6.5 The gDoc Picture Inserter Adjust the GoogleDocs Insert Image menu to Support ImagesLoaded from WIDE . . . . . . . . . . . . . . . 75

Page 12: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 13: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xiii

List of Tables

2.1 Overview of some Terminologies DescribingDesktop and Web Related Applications, Ac-cording to Moritz [2008] . . . . . . . . . . . . 9

2.2 Comparison of webtop systems . . . . . . . . 15

2.3 Comparison of the various systems . . . . . . 28

Page 14: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 15: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xv

Abstract

The convergence of the web and the desktop led to web applications that can beconsidered almost on par with desktop applications. While many systems haveemerged in the field of web applications and remote computing, none of themsucceeds in creating a single information space for web applications.

WIDE, a Workstation Independent Desktop Environment, is a framework for webapplications that connects the user, his data, and his applications. It poses as asingle information space that allows sharing of data across applications.

To gain further insight of the user’s behaviour and concerns when interacting withonline information and applications, we conducted a survey. The results of the sur-vey and literature in the field of online trust highlight that trust in web applicationsis likely to be lower than in desktop applications. Therefore, to strengthen trust andensure privacy of the user’s data, WIDE uses a request-based access control mech-anism. To minimize bothersome interruptions in the work flow it also provides asingle sign-on mechanism that allows users to seamlessly move between web ap-plications, similar to changing from one application to another on desktop systems.

Through different client prototypes of potential web applications for WIDE, wereconsidered the design resulting in adding support for Flash and JavaScript-basedapplications. Adding support for these application effectively enhanced theirfunctionality and improved the range of applications.

Another aspect of refinement considers the integration of existing applications.A review of alternative approaches highlighted benefits and deficits of each amethod. A method for external integration of existing web application wasdeveloped and is demonstrated successfully by working prototypes.

Further, we critique our design decision’s in a design rationale and criticize our ex-plore context, expected problem, and unsolved obstacles that should be addressedin future designs.

Page 16: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xvi Abstract

Page 17: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xvii

Uberblick

Das Verschmelzen von Web und Desktop fuhrte zu Webanwendungen, die manals nahezu gleichwertig mit Desktopanwendungen betrachen kann. Wahrendviele Systeme im Bereich der Webanwendungen und des Remote Computingsentstanden sind, hat kein System erfolgreich einen einzelnen einheitlichen Infor-mationsraum umsetzen konnen.

WIDE, ein Arbeitsplatz unabhangige Desktop-Umgebung, ist ein Frameworkfu Webanwendungen, die den Nutzer, seine Daten und seine Anwendungenverbindet zu einem einzigen Informationsraum, der die Mitbenutzung derDaten von verschiedenen Anwendugen erlaubt. Um weitere Kenntnisse uberdas Nutzerverhalten und die Bedenken der Nutzern beim interagieren mit In-formationen und Anwendungen online zu erhalten, haben wir eine Befragungdurchgefuhrt. Die Ergebnisse der Befragung und die Literatur, die sich mitVertrauen in Online-Umgebungen befasst, heben hervor, dass das Vertrauen inWebanwendungen dazu tendiert, niedriger zu sein, als das in Desktopanwendun-gen. Zur Vertrauensstarung und zum Schutz der Benutzerdaten verwendet WIDEdeshalb ein Anfragen basierte Zugriffskontrolle. Zum Minimieren von lastigenUnterbrechungen des Arbeitsflusses durch Passwortabfragen hat WIDE einen Sin-gle Sign-On Mechanismus implementiert, der es Nutern erlaubt nahtlos zwischenWebanwendungen zu wechseln, ahnlich wie bei einer Desktopumgebung.

Durch das Ausarbeiten von verschiedenen Client-Prototypen von poten-ziellen Webanwendungen fur WIDE haben wir das Design uberdacht. DieseUberlegungen fuhrten zur Unterstutzung von Flash und JavaScript basiertenAnwendungen. Diese Unterstutzung erweiterte ihre Funktionalitat und erweit-erte die Anwendungen um mogliche Einsatzgebiete. Ein andere Verbesserungbehandelt die Integration von bereits existierenden Webanwendungen. Nacheiner Untersuchung von verschiedenen Durchfuhrungsmoglichkeiten, die ihrejeweiligen Vor- und Nachteile bei der Integration von Anwendungen aufzeigte,wurde eine Methode gewahlt und erfolgreich durch funktionierende Prototypendemonstriert.

Desweiteren erortern wir krtisch unsere Designentscheidungen in einer Design-Begrundung und untersuchen den Kontext der Arbeit, die zu erwartenden Prob-leme und ungeloste Probleme, die im Fokus einer Weiterentwicklungen liegen soll-ten.

Page 18: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 19: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xix

Acknowledgements

First, I would like to thank Prof. Dr. Jan Borchers for making my studies andthis research possible. It was him who seeded my interest in human computerinteraction. I also especially want to say thank you to my advisor Jonathan Diehlfor his open-minded support and ideas he shared with me.

This thesis would not be possible without all the people who supported meduring my studies. I appreciated the exchange of ideas with a lot of people of thechair. I especially would like to thank Leonhard Lichtschlag with whom I spent lotsof late hours in the lab, Moritz Wittenhagen and Mei Fang Liau for the weekendcooking that kept motivation at a high level even on sundays. Also, I appreciatethe time I spent with my “sports” buddies Dieter Drobny and Christopher Gretzki.

Of course, I would like to thank those who helped me to realize the surveyby helping me to translate it: Ai, Akiko, Aoi, and Reina, and all the participantsof the survey. The whole implementation would have been a lot more difficultwithout the advise of Ralph who helped whenever I was in trouble.

I especially would like to thank those who accompanied me from the veryfirst day at RWTH Aachen and since then I had a lot of fun with and shared manyvaluable experience with.

Thank you, Sarah, Kai, Jens, David, and Christian!

A very special thanks goes to Gyan who had to bear with me during mystressful time and of course, my family who made my studies possible andsupported me all the time.

Page 20: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 21: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

xxi

Conventions

Throughout this thesis we use the following conventions.

Source code and implementation symbols are written intypewriter-style text.

myClass

The plural “we” will be used throughout this thesis insteadof the singular “I”, even when referring to work that wasprimarily or solely done by the author.

The whole thesis is written in British English.

Unidentified third persons are always described in maleform. This is only done for purposes of readability.

Page 22: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 23: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

1

Chapter 1

Introduction

“The Internet? Is that thing still around?”

—Homer Simpson

The world wide web was initially a pure information-gathering service with limited interactions, in which usersconsumed web pages one after another. Through typingin a new address or following a hyperlink, the user couldrequest a page from a web server.

This page-based consumption, rather than interaction withonline contents, has changed to a more interactive con-sumption, such as guest books and billboards where usersgenerate additional content by leaving comments andposts. However, interaction was still page-based. Alongwith web 2.0, a term coined by O’Reilly [2005], web siteshave become more responsive and interactive. Thus, theyhave developed to resemble applications rather than pages.Some of these web applications, such as the online wordprocessing application Zoho Writer1, can be considered ona par with simple desktop applications.

In addition, they provide benefits that stems from the factthat they are online, such as workstation independence dueto web browsers being installed on almost every internet

1http://writer.zoho.com

Page 24: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2 1 Introduction

enabled computer. Instead of being only able to use an ap-plication on a single computer, this property has now al-lowed users to access their application from any connectedcomputer.

1.1 Mobility

Although these new web applications have enabled theuser to work online , Weiss [2005] asserts that the idea ofThe idea of working

online is not novel working online is not novel but points out that the reasonsfor the failing of earlier approaches was that not only thehardware performance was weak but the lack of mobility.However, with computers becoming more mobile in recentyears, web applications for working online are likely to es-tablish as an alternative to desktop applications.

Notebook computer sales surpassing the number of desk-top computers sold in the U.S retail segment for the firsttime in 20052 are indicating such trend to more mobil-ity in computing. Furthermore, many new classes of mo-More mobile

computers sold thandesktop computers

bile internet-enabled devices have emerged, such as mobilephones, Personal Digital Assistants (PDA), ultra-mobilepersonal computers (UMPC)3, and mobile internet devices(MID)4.

The Eee PC5, for example, is a notebook that, despite its lowhardware specifications, such as its reduced screen size, isvery popular. Between January 1st and February 21st 2008the 4G Surf model of the Eee PC was the most popular lap-top among the laptop brands that consumer bought, ac-cording to the Consumer Behavior Report6 from PriceGrab-ber.com. The Eee PC introduced a new class of low-costA new mobile

computer class: theNetbook

mobile devices, the so-called Netbooks, for which Bergevin[2008] despite their low hardware specifications suspects ageneral high demand around the world. It indicates a new

2http://news.zdnet.com/2100-9584_22-146603.html3http://www.microsoft.com/windows/products/

winfamily/umpc/default.mspx4http://www.intel.com/products/mid/5http://eeepc.asus.com6https://mr.pricegrabber.com/March_CBR_Portable_

Laptop_Trends_v9_FINAL.pdf

Page 25: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

1.2 Challenges of web applications 3

direction to less hardware oriented computing which dueto hardware limitations relies on services of distant remoteservers, such as Wikipedia7 that can be directly accessedfrom the Eee PC’s desktop environment like a regular pro-gram.

Furthermore, small affordable online connected devices ap-proaches to what has been envisioned by Weiser [1991] atPARC. He imagined devices called tabs, “inch-scale ma- Cheap mobile

hardware favoursubiquitous computing

chines that approximate active Post-It notes”, which to-gether with other devices, pads and boards, will count“hundreds of computers per room”.

For such ubiquitousness, hardware must be affordable andto provide a small form factor, power is limited. Since highperformance results in high power consumption, such de-vices are likely to have low hardware performance. More-over, already today falling hardware costs lead to peoplehave multiple computers, in form of mobile phones, digi-tal music players, and personal computers. As purposes ofthese overlap, same data is shared across devices, such ascontact information stored on the user’s mobile phone, hismobile computer, and his personal digital assistant. Chang-ing contact information in one device requires synchroniza-tion for consistency of the data. To overcome both prob-lems, people, instead of working on the actual physical ma-chine, can simply log into their virtual computer that is dis-tributed over the internet. Data does not exist in multipleinstances but can be accessed online avoiding the problemof synchronization.

1.2 Challenges of web applications

Web applications, such as web mail, are already used bymany people on a daily basis as they are convenient to useand can be accessed from any computer with internet con-nection and yet, web applications still do not give the usera unified user experience. Quite to the contrary, working Web applications do

not provide a unifieduser experience

with a multitude of separated web applications is trouble-some to the user as explored as follows.

Working with twoweb applications onone document is notpossible

7http://www.wikipedia.org

Page 26: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4 1 Introduction

While in a desktop system documents can be easily sharedacross applications, benefiting the user with the use of awide range of applications, web applications are isolatedand sharing across applications is in general not possible.This is because documents on the desktop computer arestored on a common information space, the shared harddisk. Such a common information space, however, doesnot exists for web applications. Currently, documents aretransferred from one web application to another by down-loading and uploading. This is cumbersome and interveneswith the user’s work flow. Moreover, web applications areprotected by log-in mechanisms, generally asking for a username and a password when using the application, whichfurthers interruptions to the user.

The web also harbours risk, such as viruses infecting thecomputer, phishing sites8 and identity theft. For these rea-The web is

untrustworthy sons, the web is considered rather untrustworthy which hashas prevented people from further embracing web applica-tions as an alternative to desktop applications.

In this regard, we will present the design process of aframework for web applications, we call WIDE, Work-station Independent Desktop Environment, that addressesthese concerns.WIDE is a framework

for web applicationsWIDE seeks to provide a single shared information spacewith single sign-on mechanism to allow users to work withvarious web applications in a more desktop-like manner.Our goal is to demonstrate a working system with proto-type applications that aims to offer a workstation indepen-dent solution to the problems mentioned above:

• Single information space helps the user to organizehis documents by placing them in one location ratherthan being distributed. Furthermore, it supports doc-ument sharing across applications which allows effi-cient and natural working with multiple applications.

• Single sign-on minimizes unwelcomed breaks in thework flow and frees the user from password concernsfor the increasing number of online accounts

8sites that mimic other sites to obtain customers passwords

Page 27: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

1.3 Chapter overview 5

• Direct access supports web applications best as manyof them are, too, directly accessible. Moreover, ithelps to engage users to work with it.

1.3 Chapter overview

The thesis is organized as follows:

• In Related Work, we describe works in the field of webapplications and remote computing and identify lack-ing support for the features of WIDE.

• The Trust chapter introduces the theory regardinggeneral and online trust as well as a survey we con-ducted to get further insight in user’s online be-haviour.

• In Architecture we present the WIDE server and how itinteracts with the clients to realize authentication andauthorization.

• Implementation describes how we implemented theproposed architecture and how through implement-ing prototypes we developed support for JavaScriptand ActionScript-base applications.

• Integration explores ways to add support for WIDE toexisting web application and presents implementedprototypes successfully demonstrating the integra-tion.

• In Validation, we discuss the our choice of an appro-priate evaluation methodology resulting in present-ing the project’s context, the reasoning behind the de-sign decisions made, and expected problems.

• In Summary and Future Work, we summarize our con-clusions and explore how future work can further im-prove our work.

Page 28: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 29: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

7

Chapter 2

Related work

In this chapter, we first try to find a categorization for thefield we investigate to provide a further understanding ofthe benefits and deficits in context of the respective ap-proach under consideration. For a better comparison withWIDE, we state features that we deem optimal for an envi-ronment to support best working online:

• Single information space allow users to share dataacross applications

• Single sign-on mechanism avoids work flow inter-ruptions

• Access control mechanism protects the user’s datafrom unwanted access

• Open system is extensible and flexible regarding tothe needs of the user

• Support any type of data to not restrict user’s in theirusage of such systems

• Workstation independence to not exclude existingworkstation independent online applications

• Instant access requires no installation and encourageflexible usage

Page 30: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

8 2 Related work

After the overview we give a comparison to show that thepresented systems do not fully support these features.

2.1 Classifications

In section tries to explain the different approaches and howto they can be classified in the field of web and desktopapplications, and remote computing.

2.1.1 Web and Desktop Applications

It is difficult to grasp an exact definitions of web and desk-top applications. Furthermore, emerging convergence ofthe web and the desktop has led to various kinds of appli-cations between these. As Moritz [2008] points out

“The terminology of Desktop and Web appli-cations and everything between is difficult andconfusing. Finding unique and unambiguousnames seems to be difficult.”

Categorization ofweb applications isdifficult The table 2.1 shows how the borders between the technolo-

gies of these terms are blurred and make a categorizationdifficult.

User Perception-based Definition

A clear technical differentiation seems difficult, as termslike rich internet application seems in some cases to apply fordesktop applications that need to be installed and in someother cases to apply for specific web sites. Therefore, weBorders between

categories are blurry propose a user perception-base definition of what a webapplication is.

An application that runs in the web browser and is per-ceived by the user to relate to the web, such as for exam-ple, having a server back-end, being originated from a web

Page 31: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.1 Classifications 9

Term Properties ExamplesDesktop application Need installation on the com-

puterMicrosoft Word,Adobe Photoshop

Internet-enableddesktop application

Uses network support, can alsorun offline, perhaps with limitedfunctionality

Outlook, Thunder-bird

Rich internet appli-cation (RIA)

Located in between, combinationof desktop application and webapplication

Web browser-basedRIA

Web sites with more richness ofuser experience, more responseand personalization facilities

social network sites,calendars, onlineemail services

Desktop-related RIA Look and feel of desktop applica-tion but strong focus on web

Apple iTunes

Smart client Very related to RIA, technologybetween thin and rich client

Web 2.0 Applications providing classicaldesktop and web features

Web site, web appli-cation, thin client

Rarely need to be installed,started and loaded via network,personalized log-in, runningconnection, often run in a webbrowser

Table 2.1: Overview of some Terminologies Describing Desktop and Web RelatedApplications, According to Moritz [2008]

page, or resembling another web site, we consider a webapplication.

Although this definition still leaves some space for inter-pretation, it will more likely reflect the user’s view on webapplications.

2.1.2 Non Web-based Remote Applications

There are also other ways to realise working remotely withapplications as follows:

• Distributed Window System

Page 32: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

10 2 Related work

• Remote Computing

• Application Virtualization

Distributed window systems allow the separation of inter-face and applications, some particular kind of remote ac-cess to application. In section 2.4.1 we explore it exempli-Distributed window

system: separationof interface andapplication

fied by the X window system.

Remote computing refers to the concept of remotely con-trolling a computer through software. This is, for example,used to maintain distant computers. Section 2.4.2 will giveRemote computing:

maintenance ofdistant computers

an overview of such a system by examining Virtual Net-work Computing.

Application virtualization refers to encapsulating the appli-cation in an virtual environment and separate it from theoperating system, according to Amir [2008]. The applica-tion however, is acting as if it is running directly on theoperating system. The encapsulating layer is the so-calledVirtualization

encapsulatesapplications andhides the actualenviromment

virtualization layer which intercepts all operating systemrelated operations and redirects them into a virtualised lo-cation, such as a single file. An example of such virtual-ization is given in section 2.4.3. In contrast to applicationvirtualization, desktop virtualization encapsulates the en-tire desktop, an example can be found in chapter 2.2.3

2.2 Information Spaces

According to Newby [2002] information space is defined asthe set of concepts and relations among these held by aninformation system. Guarino [1998] states resources, userinterfaces, and application programs as the main compo-nents of such an information system.

On workstations for example, the desktop environment issuch an information space that usually consists of concepts- files, file systems, applications, and the user - and theirrelationship to each other - e.g. folder hierarchies, accessrights, and installation of applications.

Page 33: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.2 Information Spaces 11

On the web various kinds of online accessible informationspaces exist. Therefore we define the following types for abetter categorization:

• Online Storage Services focuses on storage and accessof information in form of files in a file system and asdatabases.

• Web Applications form their own information spacescontaining their data, such as documents for officeapplications or personal information for a social net-work site. Application spaces differ in their presen-tation as they depend on the domain and type of theapplication. The focus of application spaces is how tobest support the service provided by the application.

• Web Desktops are a specific type of web applicationssimilar to the traditional desktop systems on localworkstations.

Working in an environment, such as the world wide web, inwhich services are widely distributed poses the question ofto whom or what the information belongs. The statementthat a piece of information belongs to an application be-cause the user created it with the help of the application isuntenable as this does also not hold true for the real world.Furthermore, applications are tools that, without the user, Information created

by a user shouldbelong to that user

do not access information. Information should be, there-fore, owned by the user and belong to a space that is con-trolled by the user and not by the applications.

2.2.1 Online Storage Services

Online storage spaces are information spaces that allow auser to store and organize information so that it is accessi-ble online. In the beginning, these types of services wererather simple, giving the user online accessible web stor-age with a file system where files were either public, that isaccessible to all, or not visible, being only accessible whenlogged in. Recent storage systems offer additional value Storage services add

value to their service

Page 34: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

12 2 Related work

like different interfaces for applications the files can be ac-cessed through. The approach of storage spaces is docu-ment centric as storing and accessing to data remains themain focus. However, to increase its usefulness some webstorage have provided additional services, such as addingmeta-data, being information about information, throughthe tagging of files or built-in applications that can directlyuse the stored data.

Amazon S3

Amazon Simple Storage Service1 (S3) is an online storageservice offered by Amazon. The customers pay for theamount of stored data and for data transfer.

Data and their meta-data together form so-called objects.Objects are stored in buckets and each has one unique keywith which to address it within the bucket. Thus, thebucket and the key of an object identify the object whichcan be accessed by other applications and users. The accesscontrol policy is defined by each object’s access control list(ACL). When an object is accessed it is checked to deter-Access control lists

define access controlpolicy

mined whether the object is allowed to be read or writtendepending on the rights stated in the ACL. With sufficientrights even the ACL can be accessed and modified.

With the ACL a dynamically adjustable fine-grained accesscontrol is offered. However, for applications that have onlyrights to read certain files due to limited trust, it is not pos-sible to easily set an exception granting one time object ac-cess. Furthermore, although other applications can accessS3 and S3 has knowledge about the users through the ACL,on the other hand S3 cannot call the applications. Thus, un-less the user only wants to organize his data into buckets,S3 provides an infrastructural service to other applicationsrather than a framework for working online.

In contrast WIDE offers an entry point for both data andapplications. With WIDE, documents can also be openeddirectly from the information space. Access to files for un-

1http://aws.amazon.com/s3

Page 35: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.2 Information Spaces 13

trusted application can be easily granted through the re-quest based access control without concern for unwantedaccess (see 4.3).

AOL Xdrive

AOL provides an online storage service called Xdrive2. Be-side a web front end for uploading data, unlike S3, Xdrivedoes not offer an interface for other applications to accessits storage. However, AOL provides stand alone softwaresuch as Xdrive Desktop Lite and built-in functionalities toadd value to the service.

Xdrive Desktop Lite is a Flash based desktop applicationthat runs in Adobe AIR (see 2.3.1) that allows drag anddrop interaction to upload data to and download from thestorage. Furthermore, its web interface includes basic func- Added value through

integratedapplications

tionalities, such as displaying pictures and playing musicwith its integrated music player. This added value actuallyshifts Xdrive from an purely storage focussed approach toa more general information space that provides, to a cer-tain degree, integration into the desktop and offers furtherinteraction over and above simple organization.

However, in contrast to the prior example Xdrive is a closedsystem that cannot be extended.

Instead of adding built-in functionalities, WIDE proposesan information space that delegates document interactionbeyond organizing them to external applications that incontrast focuses on processing the information rather thanmanaging them.

2.2.2 Web Applications

An example of how applications are also an informationspace similar to the aforementioned storage services is webmail. Web mail applications allow users to access their

2http://www.xdrive.com

Page 36: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

14 2 Related work

mails and therefore, hosts their mails to present them overthe web for reading purposes. Mails can usually be filedin folders, searched or can be filtered automatically as junkmail.

Google Docs

Figure 2.1: Google Docs, a Unified Information Space forits applications

Google Docs is a web-based office suite providing wordprocessing, spreadsheet, and presentation application ser-vices. Documents are saved on the shared web storage sys-tem which can then be tagged, placed in folders, and sharedwith other users.

Although Google Docs was initially developed as an ap-plication providing attached storage space, stored docu-ments can now be directly accessed through several in-terfaces Google offers. Through the interfaces, applica-tions can retrieve documents, upload documents to GoogleDocs. Spreadsheets can also be used as a simple databaseInterfaces provide

access to documents for applications. Furthermore, it can be used offline withGears(see 2.3.1) that also provides additional desktop in-teractions.

The provided interfaces focus on information retrieval and

Page 37: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.2 Information Spaces 15

Webtop Opensource

Engine Ownserver

Free

EyeOS yes PHP+AJAX yes yesG.ho.st no Flash no yesStoneware webOS no AJAX no no

Table 2.2: Comparison of webtop systems

meet the needs of application that solely consumes thecontents of stored information. It is however, not pow-erful enough to satisfy those applications that require bi-directional transactions which allows the application tostore arbitrary data on their storage space.

WIDE, in comparison, does provide transactions for bothreceiving and sending of arbitrary data and thus, supportsmore versatile applications that require more complex in-formation exchange mechanisms.

2.2.3 Web Desktops

Currently available Webtop systems are usually onlinedesktop environments that mimic traditional desktop sys-tem’s user interfaces, such as MacOS or Windows, on re-mote servers. Also file systems and application manage-ment systems resemble those of commonly known desktopsystems. Webtops are offered as a internet service for which Mimic traditional

desktop systemsthe user sets up an user account. This service itself is a webapplication and as such, it runs workstation and operatingsystem independently in the web browser’s environment.The different realisations of webtop systems exemplified byEyeOS, G.ho.st and Stoneware webOS are presented in ta-ble 2.2. In the following the differences of these will be fur-ther explored.

Page 38: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

16 2 Related work

Figure 2.2: EyeOS, a Web Desktop System.

EyeOS

EyeOS3, one of many Webtop systems, will present itself tothe user just like an ordinary desktop system. After the userlogs in, a desktop environment is presented, with icons, ap-plications running in windows etc.. For visualization of theuser interface HTML and JavaScript are used, while someother Webtop Systems use Flash instead. In that desktopenvironment, the user can start programs that are storedon the server on which the system is running. It is possi-ble to extend the range of application by developing newapplications with the provided eyeOS API. External appli-EyeOs can be

extended by thirdparty applications

cations (written by a third party developer) can be submit-ted to a repository. Alternatively applications can be down-loaded in so-called eyePackages that can be uploaded to theeyeOS. Similar to the traditional desktop applications needto be installed. In EyeOs this is only possible for the rootuser. That means that regular user cannot extend the set ofapplication. However, EyeOS can be downloaded and run

3http://www.eyeos.com

Page 39: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.2 Information Spaces 17

on a separate server and user can create their own EyeOSserver which then can be modified.

G.ho.st

In contrast to EyeOS, G.ho.st is a Flash-based webtop sys-tem and partly does rely on hosted web applications, thatare web applications that have been integrated into the sys-tem. For example, Zoho Writer, an online word processingapplication similar to GoogleDocs (see 2.2.2), is integratedinto G.ho.st as a hosted web application. Instead of access- Flash-based webtop

with hosted webapplications

ing the service via web browser, the user in G.ho.st starts itlike any other application directly from the desktop. Thewindow in which Zoho Writer is loaded, provides addi-tional options, as it is shown in figure 2.3. As a G.ho.stuser the edited document can be directly saved to the desk-top. On the other hand, options, such as for sharing andpublishing, that usually are included are omitted. In ad-

Figure 2.3: G.ho.st, a web desktop system providing hostedweb applications.

dition, it also provides some specific applications to accessother web services, such as YouTube or Flickr. These ap-plications are consuming the data of the services and donot provide full functionality of the services the data isconsumed from. Such an application is depicted in figure

Page 40: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

18 2 Related work

Figure 2.4: G.ho.st: Specific applications to access onlinecontent, such as YouTube

2.4. Another difference to EyeOS is that G.ho.st is still notopen-source but, according to the website4, the developersare currently working on opening their webtop system anddeveloping their API. Open-source increases transparencyand thus, lessens uncertainty resulting in more trust in theapplication (see 3.1).

Stoneware webOS

Stoneware’s webOS is different to the prior examples sinceits focus lies on desktop virtualization. It provides desk-top virtualization over the web and as such is independentof the underlying operating system and hardware. It pro-vides virtualized desktop applications, such as windowsprograms through utilization of Microsoft terminal server,and also access to web applications as hosted applications.It is designed as a single access point to all corporate com-Focus on corporate

computing puting resources. With its access to corporate web applica-tions, they can be located securely in the corporate network,reducing the vulnerability of the corporate computing re-sources.

4http://g.ho.st

Page 41: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.3 Hybrid applications 19

Figure 2.5: Stoneware’s webOS, a web desktop virtualiza-tion system.

Conclusion

In summary, webtop systems succeed in moving the desk-top environment to the web. This is adding value to thedesktop computing experience as it can be accessed in-dependently from the workstation. Extending of openwebtop systems is difficult as APIs include new widgettoolkits the potential developers have to familiarize withand existing source code, e.g. based on standard HTMLwidgets, cannot be re-used easily. Contrary, WIDE en- Existing web

applications cannoteasily adjusted forwebtop systems

hances web applications with new functionality and fo-cusses on transaction instead of dictate a user interfacetoolkit.

2.3 Hybrid applications

Despite the convergence of web and desktop applications(see also 2.1.1), there are still gaps between these twoworlds, such as sharing of documents between applicationsand trust in online applications (see 3.1).

Page 42: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

20 2 Related work

2.3.1 Desktop Integration

In this section three approaches are shown to integrate webapplications into the desktop environment that offers moresophisticated interactions, such as drag and drop, and toprovide support for working offline and direct access to ap-plications through the desktop. This is similar to the goalsof WIDE to support working with multiple applications inone single information space.

Adobe AIR

Adobe Integrated Runtime (AIR)5 is a runtime environ-ment for internet applications similar to the web browser. Itprovides a virtual machine for JavaScript and ActionScript.In AIR the applications run similarly to traditional desktopapplications as AIR, unlike a web browser, does not haveany visible controls and thus, is invisible to the user.A cross-platform

runtime for webapplications The cross-platform environment of AIR adds an abstrac-

tion layer to the operating system. It hides operating sys-tem specific behaviour from the applications and providesthe same runtime on different operating systems, such asMac OS X or Windows Vista. Thus, developers only needto write code once without modifying it for each operatingsystem. To run in AIR, applications need to be installed onthe workstation.

AIR is also adding desktop functionality to the applica-tions. While web browsers are restrictive due to securityreasons, AIR provides more interaction with the desktop asthey run locally. This also provides applications with bene-fits, such as access to the local file system and in the case ofFlash based applications, freeing the application from verylimited assigned local storage. This allows the applicationto integrate further into the desktop system because of amore direct interaction, in which functions such as drag-ging a file and dropping it on a running application, arenow possible. Furthermore, with the support of popular

5http://www.adobe.com/products/air/

Page 43: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.3 Hybrid applications 21

web programming languages it is possible to re-use sourcecode when an online version already exists.

Installing AIR applications locally take away some advan-tages of web applications, such as applications not beinginstantly available to all computers but must be installedlocally on each computer. In other words making a previ-ously directly accessible workstation independent applica-tion inaccessible on other workstations if it is not installed.

Prism

Prism6 is an add-on for the Mozilla Firefox web browserthat allows the user to “save” a web site as an desktop ap-plication. As such the user can start the application fromthe desktop directly in the same manner as other desktopapplications. Disguises web

applications asdesktop applications

Figure 2.6: Prism hides the browser window’s navigationto mimic an usual application window (left) and can bestarted over a desktop link (right)

The transformation to a “desktop application” however isachieved by removing the browser user interface, such asthe page navigations or the location bar, from the windowand wrapping it into an executable link. Although withPrism, web sites appear as desktop application, unlike AIR,

6http://developer.mozilla.org/en/docs/Prism

Page 44: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

22 2 Related work

desktop interactions other than starting the applications di-rectly from the desktop are not possible. Furthermore, theapplication is still a web application and is actually exe-cuted from the web despite the direct start through the link.

In contrast to Prism WIDE does not focus on merging off-line and online applications but rather on shifting the desk-top experience online. WIDE enhances the online experi-ence by integrating desktop-like interaction processes.

Gears

Gears7 is an open source project by Google that enhancesweb applications by adding features to the web browser.With Gears the data layer of an application can be separatedto add offline support as illustrated in figure 2.7 and alsoto provide additional desktop interactions. It is realizedAdds offline support

and desktopinteraction

as an web browser add-on that provides a Database moduleto store data offline, a LocalServer module for caching andserving application resources, and a Desktop module thatprovides the bridge between the browser and the desktopfor desktop interactions.

Figure 2.7: Gears separates the data layer from the user in-terface. A Data switch communicates with the offline localdata layer and the online server data layer.

Gears stores data in the Database module and communi-cates offline to the LocalServer module. The offline storeddata is synchronized with the online storage when onlineconnectivity is provided. If there is no internet access atthe time, synchronization is deferred during the period of-fline. Gears is not only used by web applications to add

7http://gears.google.com

Page 45: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.4 Desktop Applications over the Network 23

offline synchronization but also to speed up web applica-tion by reducing network load on the servers because thepotentially slow, high latency internet connection is onlyaccessed for synchronization instead of each time the userinteracts with the web application. By doing so, Wordpress,a weblog service, could reduce the number of request fromabout 50 to two to three.8 Unlike AIR applications, Gearssupported applications are web applications and it is pos-sible to use the applications without Gears. However, togain the benefits offered, Gears must be installed to the lo-cal workstation.

Gears enhances the interaction on workstations. WIDE fo-cuses solely on the online interaction rather than taking intoconsideration also offline access and desktop integration.This makes the two concepts complementary rather thancontrary.

2.4 Desktop Applications over the Net-work

The opposite approach is to take offline desktop applica-tions over the network and operated them from remotecomputers.

2.4.1 X Window System

The X window system, proposed by Scheifler and Gettys[1986], is a windowing system that was specifically de-signed to be used over network connections. As such, itdoes not imply the application, the X client, and the user’slocal computer to be at the same location. The X clientsends requests for graphical output over the network to theX server. On the other hand the X server sends sends userinput events back to the X client.

However, X server software is not directly available onall platforms although X terminal, a client software that

8http://trac.wordpress.org/ticket/6965

Page 46: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

24 2 Related work

runs the X server, can be downloaded. In addition, theNot nativelysupported by allplatforms

graphical output that is sent over the network requires highbandwidth that for internet connections cannot be ensured.Therefore, WIDE is based on web technology that sendsGraphical output

requires highbandwidth

rather high level output, such as buttons and tables, tothe web browser rather than pixels. Furthermore, a webbrowser is a software that many people use on a regularday-to-day basis and thus, much more familiar than an Xterminal.

2.4.2 Virtual Network Computing

Virtual Network Computing (VNC) is a platform-independent client/server-based protocol developedby Olivetti & Oracle Research Laboratory (ORL) for re-motely controlling a computer(see Richardson et al. [1998]).The implemented display of the protocol allows the userto connect a VNC client managed computer, the viewer,to a computer managed by the VNC server, the so-calleddesktop. Once a connection is established, the desktop sendsits screen content over the connection to the viewer and inreturn the viewer sends its keyboard and mouse input to thedesktop. Hence, to the user it appears as if he is interactingwith the remote desktop. The server on the desktop side alsoprovides a web server offering a Java-applet, a small Javaprogram that can run in a web browser, posing as a VNCclient. This allows the user to access the VNC server withServer offers Java

applet for workstationindependent access

any Java capable web browser and therefore, can be, to acertain degree, considered workstation independent.

Similar to X, VNC transports the screen contents over thenetwork connection requiring more bandwidth comparedto those of web applications. When the user logs into aremote computer, VNC then will display it to the user asif sitting in front of it. In contrast, WIDE can be used bymany people at a time and coordinate their work and inter-action with external web applications. As WIDE is basedon web technology, file transfer, being download and up-load, are supported. VNC, however, does not implementfile transfer, i.e. files of the remote computer cannot be di-rectly downloaded to the local computer.

Page 47: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.5 Development of Web Applications 25

2.4.3 Citrix XenApp

XenApp9 provides two types of application virtualiza-tion technologies: client-side application virtualization andserver-side application virtualization. The two types referto the location where the application is actually executed.Therefore, with server-side application virtualization ap-plication can be used on hardware that does not satisfy theapplication hardware requirements because the applicationruns entirely on the server that indeed must meet the re-quirements. The client handling the virtualization layer, ex-ist for several platforms, such as Microsoft Windows, MacOS, and Linux.

Although the concept of virtualization relates to the con-cept of thin clients in case of the web applications, virtu-alization requires the client, similar to a runtime environ-ment, that must be installed on the user’s local computerpreventing direct access. Moreover, Citrix focus lies on cor-porate networks, relatively closed network environmentsto which only particular users have access to in contrast toweb applications that can be basically accessed by everyonethrough a web browser.

2.5 Development of Web Applications

The focus of the here presented works is to ease the de-velopment of web applications by providing methods thatallow development that is similar to the of desktop applica-tions. This can make source code of the existing offline ap-plication re-usable when developing a corresponding webapplication.

9http://www.citrix.com/English/ps2/products/subfeature.asp?contentID=163987

Page 48: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

26 2 Related work

GWT

Google Web Toolkit10 is an open source Java developmentframework for web applications that focuses on browserindependent development. With GWT, web applicationsare developed and debugged in Java. For deployment,the compiler translates the Java application into a browser-compliant JavaScript and HTML application that runs in aweb browser.

GWT eases development as Java’s object orientation helpsto improve comprehension. Furthermore, many develop-ment tools exists for Java that helps to accelerate develop-ment. Through the compiler generated code, the resultingWeb application

development in Javaon client and serverside

application is performance optimized, while debugging ismore efficient as web browser incompatibility has been at-tended to.

Despite using Java for development, widget sets of Java,such as the Abstract Window Toolkit or Swing, are not in-cluded. Instead the user interface is created with compo-nents of the GWT Web UI class library which holds widgetslike buttons, text fields etc.. Thus, as an example, user inter-face code of Java applications have to be rewritten althoughother parts can be re-used.

XML11

XML11 proposed by Puder [2006] is an XML based abstractwindowing toolkit inspired by the X11 protocol of the Xwindow system (see 2.4.1). It migrates native Java applica-tions to client applications that run in a web browser.

In order to run a Java application over the network in abrowser it is translated into a JavaScript and HTML appli-cation. The translating process begins on byte code levelwhere Java commands are dissembled to atomic instruc-tions. First, Java classes are translated into an XML basedMigration of Java

application throughbytecode translation

programming language, so-called XLMVM. This XMLVMprogram is then translated into JavaScript by mapping via

10http://code.google.com/webtoolkit/

Page 49: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

2.5 Development of Web Applications 27

style sheets. The resulting JavaScript program can gener-ally run in a web browser. However, some classes, suchas a database, require fixed resources that cannot migrate.Therefore, a configuration file determines which of the XM-LVM classes can be migrated to the client and which needto remain on the server side. To communicated betweensuch classes, a proxy marshals parameters and sends themto the server. The proxy appears to the application as a re-mote object.

Although XML11 uses remote communications like X11,differences are considered. While X11 is used with highbandwidth networks rather than a medium bandwidth net-work with a high latency like the internet. Thus, to adapt tothe different network environment, XML11 transfers wid-gets, instead of pixels, to the web browser and events backto the server back end.

In comparison with GWT, XML11 is also different as it fo-cuses on the migration of desktop application and GWT onweb application development. The translation of Java intoJavaScript differs, also. Unlike GWT, XML11 does not re-quire adjustment to the original Java code. One reason forit is that XML11 uses the native widget set AWT. Anotherdifference happens in the translation process. GWT trans-lates the Java source code while XML11’s cross-compilertranslates the byte code. Hence, features of newer versionsof Java can be supported as byte code instructions stay thesame.

However, similar to web desktop systems XML11 applica-tions are remotely controlled through the web browser. Theresulting application does not interact with the web or fol-low its principles. The desktop or back end in this case re-mains isolated on one server. With WIDE, the aim is to keepthe distribution of web applications and to provide a singleinformation space interacting with the distributed networkof various services.

Page 50: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

28 2 Related work

2.6

Com

pari

son

Tabl

e

Syst

emSi

ngle

in-

form

atio

nsp

ace

Sing

lesi

gn-o

nA

cces

sco

ntro

lm

echa

nism

Exte

nsib

le,

exte

rnal

inte

rfac

es

Type

ofda

taW

orks

tati

onin

depe

nden

tIn

stan

tacc

ess

Am

azon

S3ye

sno

AC

Lye

san

yye

sye

sX

Dri

veye

sno

n/a

noan

yye

sye

sG

oogl

eD

ocs

yes

yes

shar

ing

limit

eddo

cum

ents

yes

yes

AIR

loca

ldes

ktop

n/a

noye

sde

skto

p?

noPr

ism

n/a

non/

aan

yw

ebsi

ten/

aye

sn/

aW

ebto

pye

sn/

ano

noan

yye

sye

sG

ears

n/a

?n/

aye

sn/

aye

sno

Xye

sn/

ano

yes

n/a

yes

noV

NC

rem

ote

OS

n/a

noye

san

yye

sye

sX

enA

pplo

cald

eskt

op?

noye

san

y?

noX

ML1

1n/

an/

an/

an/

an/

an/

aye

s

Tabl

e2.

3:C

ompa

riso

nof

the

vari

ous

syst

ems

Page 51: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

29

Chapter 3

Initial study

“The city’s central computer told you? R2D2,you know better than to trust a strange computer!”

—C3PO

3.1 Theory

When interacting with the web, and more precisely withservice running on the web, the user enters a trust relation-ship. This trust relationship is important for smooth andsuccessful interaction. Thus, it is of particular interest toknow what trust exactly is, what effect does trust have onthe working process, and how trustworthiness is commu-nicated to the trustor.

First, some definitions are explored for a better understand-ing of trust. Trust is property of a relationship of two ormore parties. The trusting party is called the trustor andthe trusted party is called trustee.

The concept of trust appears in many different fields, suchas sociology, psychology, and computer science among oth-ers. In Sociology the degree of trust is defined as a mea-sure of belief of how honest, benevolent, and competent thetrustee is. In the field of computer science, different kind of

Page 52: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

30 3 Initial study

trust relationships, such as computer mediated trust andonline trust, are of interest. Computer mediated trust de-scribes the trust in others in situations where interactionis mediated by computers as it is the case when chatting,mailing, or online gaming with others. Online trust relatesto human-computer trust in an online environment, suchas website interaction.

3.1.1 General Trust Model

A detailed general model of trust is proposed by Riegels-berger et al. [2005]. In their model they argue that thetrustee must meet contextual conditions to be trusted.These conditions are described as temporal embedded-Contextual

conditions ness, social embeddedness, and institutional embedded-ness. Temporal embeddedness relates to the trustee’s de-pendence on the trust of the trustor at a later point oftime. When interacting multiple times, the trustor will re-act to the prior behaviour of the trustee and if the trusteehas previously acted untrustworthily, the trustor might nottrust the trustee again. Social embeddedness refers to thetrustor’s social environment, particularly other potentialtrustors of the trustee. Untrustworthy behaviour resultsin decrease of reputation and thus, other parties might notplace trust in the trustee in future interactions. The institu-tional embeddedness relates to the trustee being in an insti-tution. They describe trust as institutions motivating trust-worthy behaviour and sanctioning non-fulfilment. There-fore, however, the trustee’s actions must be traceable andinvestigation and actions must be relatively easy in com-parison to the non-fulfilment. These three aspects motivatethe trustee to act in a trustworthy manner and communi-cate - as signals - the trustworthiness of the trustee to thetrustor. In addition to these external incentives the trustee’smotivation and abilities will affect his actions.

Separation in time and space were further discussed withrespect to their effect on the trust relationship. Spatial sep-Separation increases

uncertainty aration leads to loss of information regarding the trusteeand thus, increases uncertainty. Separation in time, such asdelayed response, increases the effect as it prolongs this pe-riod of uncertainty. Uncertainty increases the feeling of risk

Page 53: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

3.1 Theory 31

and thus, increases the need of trust.

Although Riegelsberger et al.’s framework illustrated trustin general and not specifically in relation to online trust,many aspects holds true for online trust.

3.1.2 Online Trust

However, as WIDE is an online system, this thesis’ primaryfocus lay in online trust. Corritore et al. [2003] define on-line trust as an attitude of confident expectation in an on-line situation of risk that one’s vulnerabilities will not beexploited. Such vulnerabilities can be, for example, loss ofprivacy.

In their work, they present a model of trust for informa-tional and transactional websites, excluding computer me-diated trust scenarios. Their model consists of external fac-tors, physical and psychological, and perceptional factors,being credibility, ease of use, and risk.

Credibility is an important characteristic of trust, both on-line and offline, and is closely related to the predictability ofan user interface. Ease of use deals with how easily an usercan achieve his goal when using a computer. The consis-tency of the user interface can also improve the ease of use.The third perceived factor of risk, is known as a key fac-tor in offline trust literature and it has also been discussedextensively in the area of online trust.

As ease of use increases the feeling of control and credibil-ity is known to lower the perception of risk, both impactsrisk, as depicted in figure 3.1. Furthermore, Corritore et al.argue that increased ease of use reduces the cognitive work-load and thus, the user will have more cognitive resourcesto notice credibility cues. In the model the external factorsaffect all perceptional factors. The perception of risk andthe credibility of a website is also known to have direct ef-fects on trust.

Similarly, Hampton-Sosa and Koufaris [2005] define trustas the willingness of the trusting party to rely on the trustee.

Page 54: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

32 3 Initial study

Figure 3.1: Trust model by Corritore et al. [2003]

In their work they focused on the factors that leads to ini-tial trust which then encourages the user to use a websitefor the first time. The results showed that a web site’s ap-peal, namely the perceived usefulness and enjoyment, hada significantly positive effect on the initial trust. Despite thetest’s results being unable to support their hypothesis that aweb site’s usability, control and ease of use, is positively re-lated to initial trust in the web site’s company, they pointedout that this could be due to the short time the users in-teracted with the website and that longer interaction couldindeed increase the impact of usability on initial trust.

Another perspective on trust and credibility was presentedby Cyr et al. [2005] who led studies in design preferencesof different cultural groups and their effect on trust or e-loyalty. Culture is assumed to be important as culturalbackground in the effect on one’s perception and it hasbeen shown that trust related to perception, such as per-ceived feeling of risk. A study with groups of Americans,Canadians, Germans, and Japanese on their preferences oflocal and foreign web sites gave mixed results with theJapanese group unexpectedly displaying higher levels ofsatisfaction and loyalty to the foreign website than the lo-cal. Consequently, they have proposed to further researchInternet:

internationalizedcommon culture?

whether the internet itself will become or has become aninternationalized common culture. A model incorporating

Page 55: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

3.1 Theory 33

these aspects among others may result in a better picture ofpreferences across cultures.

3.1.3 Implication

From the aforementioned studies of trust certain implica-tions for a platform for web application, such as WIDE, canbe derived. In the following we describe such two implica-tions: control and transparency.

Control

Although control is not explicitly a separate factor of thesemodels, the perception of being in control is affected by theease of use, or usability. The relationship of control to riskis of inverse correlation. Corritore et al. [2003] stated that

“The body of work on risk has also shown thatcontrol reduces risk and that risk is higher in theabsence of control.”

Consequently, total control eliminates any uncertaintiesleading to a situation without risk in which trust is not nec-essary.

Transparency

According to Riegelsberger et al. [2005] institutions moti-vate trustworthy behaviour. In an online environment likethat the web such an institution can be a network of var-ious web site. They can act as an institution for each ofits members. In such a relationship, transparency is likelyto increase trustworthy behaviour as it increases the trace-ability of actions and thus, lowers the cost of investigation,supporting sanctions. Transparency to the user reduces thedegree of uncertainty presented which itself is closely re-lated to risk.

Page 56: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

34 3 Initial study

3.2 Survey

To gain further insight in online behaviour, trust towardsonline web sites, and the general understanding of onlineweb applications we conducted an online survey.

The survey asked about general online experience, such ashow often people work online or what kind of services theyuse.

3.2.1 Participants

For a more representative result that points out potentialregional differences the survey was was conducted in En-glish and in Japanese. In total 183, 58 female participantsand 125 male participants, participated in the survey. Theaverage age was 26.63. More than half, 103, were students.About 56% said that their degree was rather techical. Fur-thermore, 55% of the participants estimated their generalcomputer skills to be very good or excellent.

3.2.2 Online Behaviour

While 17.7% of the participants do online shopping at leastonce a month, 7.2% stated that they never do online shop-ping. Of those who do online shopping, 76% stating thatthey are mostly or completely satisfied. The fact that morepeople do buy things online than people who do not in-dicates that despite online shopping harbouring not onlyprivacy related risks but also financial risks for the user, isaccepted and regularly used.

In contrast to 25% storing their password for online ac-counts in the web browser, 30% store some passwords de-pending on various aspects. Most often answers were re-lated to the importance or the amount of private informa-tion. The three most stated reasons for storing passwordsin the web browser for those participants who neither gen-erally store nor not store their passwords were the impor-

Page 57: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

3.2 Survey 35

tance and level of privacy of data, the computer they workwith at that time, and the frequency they need to enter apassword. While importance of information and the com-puter the user is using are indeed privacy related factors,the frequency of use indicates that at least certain num-ber of people find passwords generally cumbersome to re-member and type in. This findings corresponds well to thenumber of distinct passwords people use for their onlineaccounts, being in average 4.64 and 10.14 respectively.

3.2.3 Trust

The average rating for trust in online application was 5.06opposed to 6.86 for trust in offline applications (10 highest),with less than 5% rating their degree of trust in online ap-plications higher than trust in offline applications and over70% rated it lower. Despite over two thirds using web mailto access their mails, a web application, 60% gave 5 or lesspoints for general trust in online applications opposed to21% for local applications. Regarding the privacy concerns,over 80% of the participants agreed that they worry aboutprivacy issues concerning personal information.

Figure 3.2: Results regarding the awareness of application’s abilities

Moreover, about 75% of the participants either completelyagree or mostly agree that they worry about privacy con-cerning documents of theirs being online. Also, more than

Page 58: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

36 3 Initial study

half of the participants worried about data loss of their on-line documents. The awareness of online application’s abil-ities to delete files, access files, and corrupt files was similarto those of offline applications, as it is depicted in figure 3.2.

3.2.4 Data online

Furthermore, the participants felt more convenient access-ing files offline than online with an average rating of 8.15 incontrast to 6.13 for the level of convenience when accessingfiles online, with 8.2% finding it more convenient to accessonline data.

Figure 3.3: Results regarding password storage behaviour (left) and reasons foroffline copies of online data.

Also, about 33% of the participants do not think that hav-ing an online copy of local data is a good idea. Of thosewho gave reason, all stated they worry about unwantedaccess of their data. Furthermore, reliability and accessi-biliy concerned the participants; 35% preferred to have alocal backup of online data and 24% wanted offline copiesto have acccess when internet connectivity is not available.

3.3 Conclusion

In general the survey confirmed lower trust in online appli-cation. However, with about two thirds of the participantsusing web mail, a web application to access one’s emails,

Page 59: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

3.3 Conclusion 37

and 17.7% doing online shopping once a month, it illus-trates how web applications are already used by people.

Furthermore, the following conclusions about the users’ re-lationship to web applications can be derived:

• Users generally trust web applications less than tra-ditional offline applications

• Users worry about their privacy being kept whendata is stored online

• Users would like a local copy to access data when in-ternet is not available

• Users use only a small number of distinct passwords

Page 60: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 61: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

39

Chapter 4

Architecture

WIDE focusses on two aspects that are closely related toeach other: Authentication and Authorization.

Authentication of a subject is the action of validating or ver-ifying the subject as authentic, that is, it is real true. Withrespect to the login mechanisms of web pages, authentica-tion of the user seeks to verify that the user logging in isreally the user he claims to be. Often the user authenticateshimself with a secret that should only be known to him andthus, the web site can verify him.

Authorization is the concept of granting access to resourcesonly to those with permission to do do and in doing so,protects resources from others. As such, information accessis essentially a problem of authorization, especially for pri-vate information, as the owner has a stronger desire to en-sure that only those he has allowed, access to such sensitiveinformation.

Furthermore, the conducted survey indicated that userstended to worry about storing data online (see 3.2.4). De-spite general trust in online applications appearing to belower than in offline applications, some online applicationsare in fact very successful and are used on a day to daybasis. Web e-mail systems are a classic example of an infor-mation oriented online service that many people use daily.The survey’s result also highlighted the fact that users are

Page 62: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

40 4 Architecture

aware of the potential risks of information being stored on-line and thus, do not place trust in some web applications.

The above leads to two basic requirements for applicationinteraction:

1. The user, in general, will prefer a smooth interactionwith as few interruptions as possible. Since trustedapplications do not pose a threat or risk to the user, in-teracting with a trusted application should minimizeinterruptions caused by, for example, increased secu-rity requirements.

2. Applications that users are unfamiliar with and areperceived to harbour potential risks to the user arenot trusted. Such a web application could, however,be still considered by the user to be useful or interest-ing, despite the lack of trust. Thus, when using suchan untrusted application, it must not gain any otherinformation than what is explicitly permitted by theuser, for example, information that the user does notconsider to be private or sensitive.

In the following we describe the overall architecture ofWIDE to support both authentication and authorizationsatisfying the above stated requirements to provide an userexperience closer to that in desktop computing where pri-vacy concerns and information access are perceived to beless problematic.

4.1 General Architecture

WIDE realizes a client/server architecture on the dis-tributed systems of the different applications. It consists oftwo parties being the WIDE server and the clients - the webapplications. To ease management of information, WIDEseparates data from the applications and the informationis accessed through the WIDE server that holds a storagespace and handles authentication and authorization, likedepicted in figure 4.1. This also adopts a more documentWIDE separates data

from applications andcentralizes it

Page 63: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.1 General Architecture 41

centric working approach as an alternative to current appli-cation centric working. The requests for accessing data arerealized through so-called transactions. However, the ap-plications themselves are not affected and interact directlywith the user. As WIDE is designed as an information spaceusers can sign in and manage the information, application,and data.

(a) Storage space im-plemented in currentweb applications

(b) WIDE provides a singleshared storage space

Figure 4.1: Storage Space Solutions for Applications

The following sections describe the main components ofthe WIDE framework, the WIDE server and the applicationclients. An overview of the WIDE server structure and itsinteraction with other entities is provided in figure 4.2.

4.1.1 WIDE Server

The central component of WIDE is the WIDE server. It con-nects the user, web applications, and data to one informa-tion space. As such, its main purpose is in the handling ofauthentication and authorization so as to protect the infor-mation stored by the user.

For each connection to the involved parties a particular in-terface will handle specific tasks. The application interfaceis responsible for providing authentication to web appli-cations and serves information access requests, so-called

Page 64: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

42 4 Architecture

Figure 4.2: General Structure

transactions, from the web application to the WIDE server.The user interface controller prompts the user for autho-rization of such transactions. The execution of transactions,such as that to gain access to information, is managed bythe data model.

The storage space, realized as a part of the server, supportsvarious applications and their individual needs by way ofa database-based hierarchical file system with tag support.It was chosen as it poses a superset of a purely tag-basedfile system and the traditional folder-based file systems.The hierarchy helps users to find files and discover files byCombining tags and

hierarchicalfilesystem

browsing as shown by Jones et al. [2005]. However, Quanet al. [2003] and Marsden and Cairns [2003] have furtherfound out that tags can improve a hierarchical file systemand result in faster searching.

Transactions are further discussed in section 4.1.3 as theyare equally involved both the server and the clients. Theauthorization process utilizing the transactions is exploredseparately in section 4.3.

Page 65: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.1 General Architecture 43

4.1.2 Application Client

The application client’s primary component is the WIDEcontroller which is responsible for communication with theserver. The main concern when implementing the clientside framework was to ensure that is would integrate wellinto applications without interfering with other toolkits.Therefore, aspects other than server communication werenot explored as they are already a multitude of other tool-kits that exist from which developers can choose.

The general native client framework is for the developmentof web applications. Description of how existing web appli-cations can be extended can be found in 6.1.

The client framework consists of one controller component,the WIDE controller. It serves as an interface to the serverfor authentication and transaction requests. It communi-cates with the application via a controller of the developer’schoice.

4.1.3 Transactions

For accessing data on the storage of the WIDE server,the web application requests so-called transactions. Tosupport applications that require multiple transactions ata time, transactions are bundled to transaction bundles.Transactions must be bundled into transaction bundles as Transactions are

bundleda single transaction is not sent separately to the server.Hence, the bundle holds information about the web appli-cation, user, and status.

Each transaction defines an action on content. An action isaccess or manipulation of data that is described in content.

The action defines the kind of manipulation the applicationrequests. A list of supported actions can be found in the ap-pendix B. Some of these actions require user interaction andtherefore, will render a user interface on screen requestinguser input for execution. For example, when the user trig-gers an open file command, the application might want to

Page 66: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

44 4 Architecture

let the user choose the file to open. These prompts will notbe rendered by the application but instead by the server.This is to protect the stored information from the applica-tion and satisfies the requirement in section 1. Furthermore,it will provide a more consistent user interface. The trans-action’s content may be the files and folders depending onthe defined action. The value of content is XML encoded toprovide flexibility for further modifications.

4.2 Authentication

The general authentication is achieved by a cookie-basedauthentication, such as found in other web applications.In addition, the web application connected to WIDE ben-efits from WIDE’s single sign-on mechanism. Once loggedinto WIDE, the user does not need additional passwordsto authenticate as the user’s identity is already known tothe WIDE server. To log in to client applications the WIDEserver uses the user information to authenticate the user tothe application without requiring additional authenticationby the user.

This approach was taken in order to further unify the in-formation space. In addition, log-in procedures often in-troduce unwelcomed breaks when working with variousapplications by interrupting work flow which violates therequirement in section 4.

Further support for the single sign-on approach is high-lighted by the survey. One of the motivations for usersto web passwords was the frequency of usage (see 3.2.2).Moreover, in a traditional desktop environment, althoughSingle sign-on

approach supportedby survey

the user desktop is often protected by a log-in themselvesform part of the desktop and thus, do not request fromthe user additional login. As WIDE is a distributed sys-tem, such an behaviour can be achieved by a single-sign onmechanism with a central login instance, being the WIDEserver in this case.

When logging out on such an distributed system, the usermust be logged out on every application. Therefore, WIDE

Page 67: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.2 Authentication 45

performs its own log-out procedure after all running appli-cations of the user have been logged out. In addition, eachapplication can use WIDE’s authentication information asa base for its own authentication method to protect the ap-plication.

Assuming someone was able to gain access to an applica-tion it would still not be possible for that person to accessthe user’s information on the WIDE server itself. WIDE ap-plications may store some settings to personalisation butthey do not host the data. As each application holds an Each application

holds its individualcookie

individual authentication cookie that is only used for theapplication’s own authentication the WIDE server and theuser’s hosted data are not affected and exposed to risk.

When the web application is started, WIDE’s authentica-tion mechanism connects to the server’s ai/logged in user toreceive information about the status of authentication asdepicted in figure 4.3. If the user is not yet logged intoWIDE, he is prompted to do so. Only with the user loggedin, that means owning the cookie that the authenticationset, a random ID is generated and linked to the user’s iden-tity and passed to the user for redirection to the applica-tion. The application receives the ID and request the user’sidentification by passing the ID to ai/user hash. Once suc-cessfully logged in at the application, the client frameworksends a notification to the WIDE server for a status updateand later, log-out.

Similar to log-in procedures, logging out is also commu-nicated to the server after a successful log-out to updatethe application’s status on the WIDE server. When the userlogs out of the WIDE server, all applications are requestedto perform their log out. When an application does not logout, the WIDE server cancels the log out. This behaviour,however, can be overridden in the case of a non-responsiveapplication server. Once the user is logged out of all hisapplications, the WIDE will log out the user.

Page 68: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

46 4 Architecture

Figure 4.3: Authentication process at start of client applica-tion

Page 69: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.3 Authorization 47

4.3 Authorization

The access control mechanism of WIDE is request-based,that is, authorizations for a request’s execution is grantedrequest-by-request basis. Each transaction request from anapplication must be authorized individually on the WIDEserver’s side. In the case of transactions from an untrustedapplication, the user is prompted by the WIDE server to au-thorize the request or discard the transaction. This mecha-nism, is thus able to provide general protection of all theuser’s information. Were it to be realized on an excep- With request-based

authorization noexceptions needed

tions of the general access policy, a continually increas-ing number of exceptions could make the user lose trackof the exception and ultimately lead to unwanted access,e.g. through misplaced private information. This is not thecase with WIDE as authorizations given by accepting theprompts are only for one particular transaction and do notaffect any future transactions.

However, such prompts cause interruptions and as such,can harm the user’s work flow. For that reason, whentrusted application requests a transaction, the server grantsaccess directly without asking the user for authorization.This does not violate the requirements because trusted ap-plications are not considered to be a risk and thus, informa-tion access can be granted.

Therefore, the request-based access control of WIDE is ableto satisfy both stated requirements of application interac-tion. The technical realization of the described transactiongranting request-based access control is illustrated in figure4.4.

When the user interacts with an application and triggers anaction that requires, for example, stored information, theapplication sends an request to the WIDE server. Once theuser has permitted the transaction the server executes thetransaction and returns the result to the application.

The authorization process consists of multiple steps to sa-tisfy the needs of protecting information stored on theserver and minimize any lack of responsiveness due to badnetwork performance.

Page 70: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

48 4 Architecture

Figure 4.4: Request Based Authorization: The User Stays inControl.

Figure 4.6 provides an illustrative overview of the wholeauthorization process. When the user interacts with the ap-plication and triggers a command that requires access tothe data storage, a corresponding transaction is formed andbundled in a transaction bundle. The application then re-quests the server to create a new transaction bundle.

This and the following steps are performed in a pop-upwindow for multiple reasons. An additional pop-up win-dow does not interrupt or leave the current page of the ap-plication. This pop-up is also used for rendering the au-thorization dialog by the WIDE server. It is similar to whatPop-up window for

renderingauthorizationrequests

users are accustomed to in desktop user interactions. Fur-thermore, it provides a direct connection between the userand the server through which the server can authenticatethe user with the authentication cookie that is set by theauthentication mechanism. The user is crucial in the autho-rization and execution process. Without the user neitherwill run as only the user has the cookie holding the authen-tication information that is required for the authorization toprogress.

The server then in return requests the transactions of thebundle from the application that then returns the transac-tions’ actions, however, the content of the transactions isleft out. Content of transactions can be substantial and re-quire a long period of time when being transferred depend-ing on the network’s transfer rate. A long file for example,can delay the following steps even when the transactionis rejected by the user. Thus, the content of transactions

Page 71: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.3 Authorization 49

is transferred after the authorization by the user has takenplace.

When the application is not trusted, the server requests au-thorization for each transaction. In the case of a dialogbeing displayed, such as a file open dialog, the comple-tion of the interactions - in the given example to select afile and trigger the open command - is taken as the autho-rization. Another authorization prompt is not necessarybecause when completing the dialog interaction it can beassumed that the user is aware of the action and by submit-ting his choice, authorization is given.

(a) Simple Authorization Request Prompt

(b) Transaction Requiring Further Actions by the User

Figure 4.5: Authorization Prompts

Figure 4.5a portrays a prompt for a simple transaction, suchas to delete a file, that requires an authorization from theuser. For more complex transactions , such as that to opena file the user selects, the required dialog for further user

Page 72: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

50 4 Architecture

input is presented as shown in figure 4.5b.

These authorization prompts are rendered by the serverand thus, information about the user’s information can-not be reached by untrusted application as it does notreach the application at any point during the authorization.Moreover, it removes the need for users to have to famil-Server rendered

authorizationprompts increaseconsistency

iarize themselves with each application’s dialog styles. It,therefore, improves consistency because all dialogs are ren-dered by the one party - the server.

After successful authorization of all transactions, the con-tent is transferred to the server where the transactions areexecuted. The results of the transactions are returned to theapplication and the URL for returning to the application isrequested from the application. Once the URL has been re-turned to the server, the server guides the user back to theapplication by redirecting to the received resume URL thatlets the application further process the results.

4.3.1 Example

The following provides an example scenario to illustratethe authorization process. In this scenario the user workswith an online word processor that supports WIDE. Theuser is logged in and the user wishes to open a file to edit.

1. The user clicks on the “file open” button in the appli-cation menu.

2. The button click triggers the application to form anew transaction bundle that contains a transactionwith a “file open dialog” action. Once created, theapplication opens a pop-up window to the WIDEserver’s application interface.

3. The application interface creates an empty transac-tion bundle and links it to the application’s bundle.In the next step of the creation, the bundle fetches thetransactions, excluding the content, from the applica-tion. Once all of the transactions has been received,the user is redirected to the user interface controller.

Page 73: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

4.3 Authorization 51

Figure 4.6: Message exchange for transaction request andauthorization by the user.

Page 74: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

52 4 Architecture

4. The user interface controller renders a dialog thatprompts the user to select a file to open.

5. When the user chooses his file and completes the re-quest, he is completing the authorization. The userinterface calls the transaction bundle to execute itstransactions which requests the content of each trans-action before the actual execution. The result, the con-tent of the file the user has chosen to be opened, isstored in the transaction.

6. After the execution the server redirects back to the ap-plication that requests the results and stores it in thetransaction’s content.

7. In the final step the application’s closeWindow calls theresult receiving callback action, that resumes the ap-plication, and closes the pop-up window.

8. The callback function then displays the result of thetransaction as text in the text area to the user.

Page 75: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

53

Chapter 5

Implementation

We implemented the WIDE server as a Ruby on Rails appli-cation and several clients in various languages with differ-ent characteristics, a native application that correspondingto the server is also implemented as Ruby on Rails. How-ever, we identified certain clients that natively are not sup-ported by WIDE. By developing adjusted frameworks, asexplored in section 5.3 and 5.4, we increased the range ofapplication classes WIDE supports and provide useful en-hancement to the applications.

5.1 Server Implementation

The architecture of the WIDE server is implemented asRuby on Rails utilizing a MySQL database. For communi-cation with the clients we chose XML as it poses a standardfor data representation and parser for XML are available inmany programming languages.

The user access the server to interact with both the data andthe application working on the data. Therefore, we decidedto implement a data browser and an application manager.

Page 76: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

54 5 Implementation

5.1.1 Data Browser

The Data Browser is a file browser that provides basic filesystem interactions, such as copy, move, and delete. Fur-thermore, it allows to add and remove tags. Tagged itemsappear in automatically created tag folders that display allitems with a particular tag. As an alternative to the appli-cation centric way to work, it allows the user to first se-lect a file and then choose the application of choice to openthe file with. In summary, it is to maintain the informationspace on the data side.

Figure 5.1: Data Browser

5.1.2 Application Manager

The Application Manager maintains the user’s web appli-cations. There user can add and remove web applica-tion, analogous to installing and de-installing on traditionaldesktop systems. The list of applications also indicates thelogin status of each application. A panel presents addi-tional actions and information and allows the user to start

Page 77: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.2 Native Client: Wordpresser 55

an application or log out. The user can also set the trustlevel in this panel. Furthermore, the details to each appli-cation are presented to the user, such as the URL of the ap-plication, its description, and the last transactions.

Figure 5.2: Application Manager

5.2 Native Client: Wordpresser

For prototyping we decided to implement a small publish-ing application for Wordpress1, a weblog system that isused by many people. The application, we called it Word-presser, publishes a text post to a weblog that can be readby others. Text editors supporting WIDE that do not pro-vide publishing functionality can thus still be used to writea post and then post the saved text file with Wordpresser.Therefore, this small prototype well illustrates how a work-flow in WIDE could look like.

1http://www.wordpress.org

Page 78: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

56 5 Implementation

5.2.1 Design

As a publishing tool, Wordpresser allows the user to openfiles, add a title, and publish the post to the weblog. Theweblog is determined by settings, such as the weblog’s ad-dress and other information required for remotely publish-ing a post, that the user must enter before publishing. Thesettings are stored separately by the application.

5.2.2 Implementation

To implement the prototype we used the native clientframework in Ruby on Rails and a MySQL database. Thedatabase also stored the settings of the user’s Wordpressweblog. For the publishing the application accessed theweblog via XML remote procedure calls2 (XMLRPC).

5.2.3 Interaction

For publishing a post the user starts Wordpresser and thenopens a text file from WIDE or types in a new text. Due tothe alternative more document centric approach, anotherway of opening a text file with Wordpresser is to select thefile in the Data Browser and open it with Wordpresser. Intothe input field at the top the user can further type in a titlefor the post, as depicted in figure 5.3. To send the post tothe weblog, the user clicks the publish button. Once pub-lished, the most recent posts are displayed to the user toconfirm the successful post to the user. In the recent postspanel, posts can be directly accessed through the providedhyperlinks.

The user does not have to enter the setting required for pub-lishing because WIDE’s authentication identified the userto Wordpresser that then loads the corresponding settings.

2http://www.xmlrpc.com/spec

Page 79: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.3 JavaScript Client Framework 57

Figure 5.3: Wordpresser is a Simple Publishing Tool ThatPosts Text Files.

5.2.4 Conclusion

The Wordpresser prototype implemented successfully theWIDE request based authorization. For other kind of appli-cations however, a different framework is needed. The fol-lowing section describes such a framework for JavaScriptbased applications.

5.3 JavaScript Client Framework

When analysing the framework, a lack of support forJavaScript stand-alone application was discovered. Stand-alone JavaScript applications are small applications that

Page 80: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

58 5 Implementation

work without a server back-end. These kinds of applica-tions do not work with the general WIDE framework as isrelies on direct server communication.

They are limited as they can process data but cannot accessand manipulate stored data. For example, with a JavaScriptbased drawing program, one could draw simple images,but not save them for future editing. These kinds of appli-cations can be considered stateless as states of the applica-tion cannot be stored in a database. Instead, the state existsin the current instance of the browser environment of theapplication. A reload resets the instance and the state is nolonger available. This is also true for another window of thesame application that creates a new instance of the applica-tion that is independent of the other instance. A problempresents itself here as instances are independent from eachother. Callbacks addressing web pages of the applicationcreates new instances that cannot retrieve the data of theother instance. Furthermore, instead of having a databaseon the server for such applications a local database solu-tion is required that runs in the application’s instance in thebrowser environment. Another difference is that in contrastto a server, HTML applications cannot send HTTP requeststo domains other than of the originating server. To over-come this restriction of the JavaScript environment, anothermethod has to be chosen for both inbound and outboundcommunication.

5.3.1 Design

The WIDE client framework for JavaScript addresses thesekey problems and provide a local WIDE client imple-mented in JavaScript that runs in the browser’s environ-ment. Thus includes a simple database to store transac-tion data, communication across window instances, POSTmethod based transaction requests, and alternative data re-trieval.

When the web page of the application is loaded, the trans-action bundle database is initialized. New transaction bun-dles are stored in that database and referenced through itsindex in the database.

Page 81: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.3 JavaScript Client Framework 59

To bridge instances of the application, the frame makesuse of the opener attribute of the window instance. This isachieved, for example, when opening a new window, suchas a pop-up window, this window can back-reference to theoriginating window via window.opener. This bridges thetwo instances and data can be accessed across instances ifthere is such a parent-child relationship. This relationshipholds even when containing documents changes, as longthe currently referencing document is of the same domain.

To send transaction requests to the WIDE server the frame-work uses a HTML form that is submitted via JavaScriptto post data. For receiving messages, such as the result oftransactions, the framework dynamically pulls the resultsfrom the WIDE server by loading a 〈script〉tag onto the ap-plication’s page when the transaction has been executed onthe WIDE server. These mechanism however require a dif-ferent behaviour of the WIDE server.

5.3.2 Implementation

The framework consist of the following two Javascript filesand three HTML files.

• wide settings.js

• wide no http.js

• post tas.html

• post tas content.html

• result receiver.html

wide settings.js holds constants for communication with theWIDE server, such as the application’s code and URL.These settings must be defined correctly to ensure that theframework will run.

wide no http.js handles transaction creation and the com-munication with the pop-up window instances. In aJavascript based client, the instantiation of a transaction

Page 82: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

60 5 Implementation

bundle is similar to a server based client. First, newTB()creates a new bundle and stores it in the local database.Through the attribute resume function , the function whichis called after the results are received, is specified. Newtransactions are appended to the array transactions ofthe bundle by newTA() , a function of the bundle. Tospecify the transaction, attributes, such as ta action,ta name, ta content , can be set. With the submitmethod submit tb() of the transaction bundle the au-thorization starts.

An example of a simple initialization for saving a documentis listed here.

var tb = newTB(); //new bundlevar ta = tb.newTA(); //new transactionta.ta_action = SAVE;ta.ta_name = ’text’;ta.ta_content = ’hello world’;tb.resume_function = ’saved’;tb.submit_tb(); //submit to server

The three HTML files are for the communication of the au-thorization process that is undertaken entirely in a pop-upwindow created when the transaction bundle is submittedas depicted in 5.4. With the three HTML files, the transac-tions are sent to the WIDE server and the result is requestedfrom the server in the form of a JavaScript file that executesthe resume function of the transaction bundle together withthe result.

In more detail, the submitted transaction bundle’s ID issent to the WIDE server’s application interface to createa corresponding transaction bundle. Due to the specificno http mode sent alongside the request, the server redi-rects back to the application. post tas.html instantaneouslyretrieves the transaction data from the application host in-stance over the window.opener context and posts thetransaction details without the content to the ta receiver ac-tion of the WIDE server’s application interface where theauthorization of the transaction occurs.

Page 83: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.3 JavaScript Client Framework 61

Figure 5.4: Overview of WIDE’s JavaScript Framework

After successful authorization, the server redirects back topost tas content.html that posts the transactions’ content to

Page 84: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

62 5 Implementation

the ta content receiver action that executes the transactionsand redirects to result receiver.html. With the received in-dex, the result is pulled from the WIDE server by insert-ing a 〈script〉 tag into the DOM that loads a JavaScript fileat show result js. This JavaScript file is dynamically createdfrom the content of the associated index. It contains codethat transfers the content of the transactions to the applica-tion’s host instance’s database and calls the correspondingresume function. The resume function has to accept one pa-rameter which will be the resulting transaction bundle, likethat shown in the following example.

function saved(tb){var ta = tb.getTransactionByName(’text’);myText = ta.ta_content;

}

Through the adjustments explained above, the frameworksupports the same mechanism of transaction handling forJavaScript-based applications. This was prototyped withthe implementation of the JS Editor prototype application.

Prototype: JS Editor

Since JavaScript-processed data generally cannot be storedonline due to the restrictions of JavaScript, sophisticatedapplications are difficult to realise. To complement thesketched potential workflow for Wordpresser (see 5.2 wedecided to implement a text editor based on JavaScriptnamed JS Editor. JS Editor is a text editor web application tomanipulate text which the user can save and load throughthe WIDE framework.

Implementation

TinyMCE JavaScript Content Editor3 (TinyMCE) provideda powerful text editor framework for the JavaScript based

3http://tinymce.moxiecode.com/

Page 85: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.3 JavaScript Client Framework 63

editor. However, it does not define from where the con-tent to be edited comes or how the data is saved. The get-ter and setter methods for the currently edited content pro-vided also by TinyMCE. These were used to implement theopen and save functionalities with the described JavaScriptFramework.

Figure 5.5: JS Editor, a JavaScript-based editor that sup-ports WIDE

When JS Editor is started, the user can use the top buttonsto open a text file and to save the current text, for example,to continue editing at a later point in time. Furthermore,the top right button quits the application.

In summary, we successfully demonstrated that WIDE’sJavaScript client framework provided additional value toJavaScript stand-alone applications by way of data manip-ulating and storing functionality that is not possible solelywith JavaScript and HTML.

Page 86: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

64 5 Implementation

5.4 ActionScript Client Framework

The JavaScript framework provides a solution forJavaScript applications that is similar to Flash-basedapplications. They, like JavaScript applications, run in thebrowser and do not necessarily rely on a back end server.However, Flash does provide methods for HTTP requestswithout restrictions, that is, a server outside the domain ofthe originating server can be accessed. This functionalitycan replace the problematic reception of the results in theJavaScript client framework. Therefore, we designed aclient framework by re-using parts of the JavaScript clientframework and using the external interface of ActionScriptto communicate with it.

5.4.1 Design

The ActionScript client framework consists of JavaScript,HTML files, and ActionScript classes. The communicationduring the authorization process is achieved analogous tothe JavaScript client framework. The external interface ofActionScript provides callbacks from JavaScript functionsto call ActionScript functions in the Flash application, andexternal calls to run JavaScript functions in the embeddingHTML file from the Flash application. These methods areused to communicate the transactions natively formed inActionScript to the external JavaScript and to return thecallbacks of the WIDE server to the Flash application as theuser instance of it cannot be called directly from outside thebrowser environment. Finally, the results are received via aHTTP request similar to server based applications.

5.4.2 Implementation

In general the implementation of the ActionScript clientframework consists of a modification of the JavaScriptclient described before and the following ActionScriptclasses and JavaScript file.

Page 87: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.4 ActionScript Client Framework 65

Figure 5.6: Overview of WIDE’s ActionScript Framework

• WideClientSystem

• Transaction

• TransactionBundle

• no http flex.js

The WideClientSystem class holds settings, the initialization,and the transaction database. It also communicates the ini-tialization to the external JavaScript environment.

Page 88: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

66 5 Implementation

The setup of transactions is similar to other client frame-works. An example is shown here.

var tb:TransactionBundle = wideClient.newTB();var ta:Transaction = tb.newTA();ta.ta_name = ’save_transaction’;ta.ta_content = ’hello flex’;ta.ta_action = wideClient.SAVE_AS;tb.resumeFunction = ’savedToWide’;tb.submit();

When a transaction bundle is submitted, the transactionis sent to the external JavaScript framework that initi-ates the authorization process. For a detailed descrip-tion of the authorization process communication see 5.3.2.However, when result receiver.html is called by the WIDEserver, it calls the Flash framework with the received index.The framework then requests the result via a ActionScriptHTTP request. An overview of the whole process is pro-vided in figure 5.6

5.4.3 Prototype: Flex Spreadsheet

After having implemented two applications dealing withtext, the prototype of a Flash-based web application we de-cided to be a spreadsheet application. Spreadsheets beingalso text-based are good for prototyping as textual data issmall and easier to read. Furthermore, spreadsheet appli-cations seems to pose the next most important office appli-cations after word processing applications as they can becommonly found in office suites, such as Google Docs andZoho.

We developed Spreadsheet with Flex Builder 2 and inte-grated the ActionScript framework. As data format for thespreadsheets we chose comma separated values in favourof quick prototyping as it can easily edited manually. Thespreadsheet application provides basic functionalities in-cluding labelling cells and entering simple formulas forcalculation. In addition, similar to JS Editor it provides aWIDE supported loading and saving functionality.

Page 89: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

5.5 Conclusion 67

Figure 5.7: Spreadsheet, a Flex-based Spreadsheet Applica-tion Supporting WIDE

The Load from WIDE button loads a file from WIDE afterwhich, depending on the contents, the application displaysa table with the corresponding cells or a notification that thecontents is not in the right format. The user can edit cellsindividually and enter formulas as shown on figure 5.7. Forlater editing the spreadsheet then can be saved to WIDE.

5.5 Conclusion

In this chapter we described two frameworks that enablednew web application classes to utilize WIDE and thus, ex-panded the range of supported web applications. Both ad-dressed application classes can be offered by a simple webstorage service as they do not rely on a server and if do-ing so cannot provide functionality as it is provided by theframeworks.

Through the prototyping of the new frameworks we ad-

Page 90: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

68 5 Implementation

justed the WIDE server to the new frameworks, in particu-lar the returning of results and handling of requests.

While WIDE supports ways to develop web applications,it is unlikely that existing well established web applica-tions will instantaneously support WIDE. Thus, chapter 6explores ways to integrate existing web application exter-nally.

Page 91: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

69

Chapter 6

Integration

6.1 WIDE Support for Existing Applica-tions

In contrast to applications that are being developed, exist-ing applications cannot be adjusted easily. Although someapplications provide APIs to access the application’s ser-vice or plug-in support, others do not offer any support forexternal adjustment.

Integration of applications is crucial for several reasons. AUser who is content with his current web application isunlikely to change his favourite application. Furthermore,data of that application might have taken a long period oftime to be gathered and if migration is possible, at leastcumbersome to the user. For some applications the accu-mulation of data itself is a valuable information that is lostwhen the data is migrated. In such a case, integrating theexisting application solves the problem without losing anydata of the user. In addition, with integration, applicationsdo not have to be developed from scratch and developmenteffort is reduced to the development of an appropriate in-tegration.

Therefore, this chapter explores methods to incorporateWIDE support into existing applications.

Page 92: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

70 6 Integration

6.1.1 API

APIs can be used to interact with the application throughother applications, but they do not offer methods to inte-grate new functionality to the existing web application. In-tegration of new functionalities requires the application toact and react instead of merely returning replies to incom-ing request from the API. To overcome this a new view canbe created that interacts with the API. This, however, re-sults rather in a new application since APIs often do notprovide all the functionality the application provides. In-stead, APIs can be used together with other methods to in-tegrate new functionality to the existing application. Thefollowing sections will discuss these methods.

6.1.2 Plug-Ins

As adjustment of the original existing application is impor-tant in keeping the user experience when working with theapplication, it is necessary to seamlessly integrate withoutany additional user interactions. Plug-ins offer such seam-less integration. Plug-ins are computer programs that canextend (be plugged into) the application, the so-called hostapplication. To interact with the host application, plug-insuse the application’s API. The plug-ins are usually calledautomatically from the host application itself and thus, donot require additional user interaction to be run. Further-more, plug-ins are installed to the host applications whichkeeps the web application’s workstation independence.

Figure 6.1: Possible Architecture for Integration: Plug-ins

Therefore, plug-ins in combination with APIs offer a goodsolution for WIDE to integrate into existing applications.

Page 93: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

6.1 WIDE Support for Existing Applications 71

6.1.3 Adapters

For web applications that do not support plug-ins, a moregeneral approach to insert new functionality to an exist-ing web application is needed. Flash-based applications aredifficult to adjust as they run in the web browser’s sandboxthat cannot be accessed from the outside without chang-ing the original code inside the application. In comparison,HTML-based application’s views are in text and thus, areeasier to to interact with. Two possible approaches are tun-nelling and code injection.

Figure 6.2: Possible Architecture for Integration: Tun-nelling via a Proxy Server.

Tunnelling

Tunnelling requires all the interaction to be tunnelledthrough another web server that inserts some extra func-tionality or adds some WIDE specific interface. The tun-nelling option gives the adapter application full controlof the adapted application. However, the additional webserver between the adapted server, being the applicationserver, and the user also means that interaction is delayedby the factor of two, because every request and response isrouted through the adapter server. Furthermore, it also in-creases the risks of identity theft as all interactions are pass-ing through the adapter server. Thus, login information,such as passwords, and other information, such as docu-ment data, can be monitored easily by the adapter. In fact,this kind of misuse is not possible to detect because it is un-dertaken on the server with server sided processing and assuch, can occur without the user’s knowledge.

Page 94: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

72 6 Integration

Code injection

The other approach is to inject some JavaScript code intothe web application’s site to be adapted. JavaScript pro-vides means to insert, remove, and manipulate elementsof a web page. In contrast to the tunnelling approach,JavaScript is executed on the client’s machine which leadsto better scaling as opposed to a server sided solution. Evenwith an optional backend server that the injected JavaScriptcode communicates with, only those interactions requiringthe backend server will need this additional communica-tion while other parts of the web application’s interactionremain the same.

Figure 6.3: Possible architecture for integration: Code in-jection via web browser plug-in.

However, as code injection requires the injecting softwareand the code to be injected to be situated on the webbrowser’s workstation, this approach is not workstation in-dependent. Despite the lack of independence, locally ex-ecuted JavaScript has one major advantage over the tun-nelling approach. One of the major drawbacks of tun-nelling was the potential identity theft due to invisibleserver sided code. In contrast, since JavaScript runs in theweb browser it is possible to inspect the code at any time.This openness cannot prevent identity theft but facilitatesdetection of it and thus, lowers the probability of maliciouscode. Furthermore, JavaScript injection code does not re-quire a running web server giving more developers accessto the development of adapters.

In light of the above factors, we have chosen the code injec-tion approach. The code to be injected varies depending onthe web application because the user interface, in which the

Page 95: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

6.2 Prototype Implementation 73

adapter needs to be inserted, differs. As the injection codeneeds to be downloaded and stored locally on the worksta-tion the problem of different versions, like those of tradi-tional software, can still arise. This effect can be reducedhowever, through dynamic loading of external JavaScriptcode. The scripts are dynamically requested at runtimefrom a single source, a web storage, and thus, unless theloader for dynamic loading requires change different ver-sions of code should not appear.

6.2 Prototype Implementation

6.2.1 Flickr Adapter

The Flickr Adapter incorporates WIDE support to Flickr1,an online community platform for hosting videos and im-ages, by integrating methods to interact with the storageof WIDE. It provides two basic functions: loading pic-tures from WIDE to the user’s Flickr account and savingFlickr pictures to WIDE. Technically, the adapter is real-ized by a server supported web application and Grease-monkey2, a Mozilla Firefox extension that allows users torun JavaScript scripts on web pages.

When the user interacts with Flickr, Greasemonkey runsthe Flickr Adapter script that inserts enhancements to theuser interface and catches user events. It shows a ‘Loadfrom WIDE’ option in the ‘You’ menu as depicted in figure6.4a and it also inserts ‘Save to WIDE’ at the bottom of pic-tures as shown in figure 6.4b. For pictures to be loaded fromWIDE, the script calles the Flickr Adapter server that com-municates with Flickr via its API. Furthermore, the scriptassists the Flickr Adapter server in notifying the WIDEserver when the login status changes.

1http://www.flickr.com2https://addons.mozilla.org/de/firefox/addon/748

Page 96: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

74 6 Integration

(a) Additional Menu Item to Load Picturesfrom WIDE Inserted into the Flickr Menu.

(b) Inserted Hyperlinkto save Pictures toWIDE.

Figure 6.4: Injected user Interface Manipulation in Flickr bythe WIDE Adapter.

Load from WIDE

When the user chooses to load a picture from WIDE, thefile open dialog is presented from which the user can se-lect a picture. After the upload has been completed, he isredirected to the picture page of Flickr and can edit details,such as description, and add tags to the picture.

Save to WIDE

The download of pictures to WIDE is also done throughthe server. After the adapter server has downloaded thepicture, it forms a transaction and request a save dialog.

6.2.2 gDoc Picture Insertion Adapter

The gDoc Picture Insertion Adapter introduces an optionto insert images loaded from WIDE. It uses a Greasemon-key script and the JavaScript client framework discussed in5.3. It integrates “From WIDE” as a third option, besides

Page 97: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

6.3 Conclusion 75

Figure 6.5: The gDoc Picture Inserter Adjust the GoogleDocs Insert Image menu to Support Images Loaded fromWIDE

‘URL’ and ‘upload’, into the image insertion dialog. Whenthe users clicks the “Browse...” button the “File open” dia-log pops up and the user is prompted to select a file. Oncethe transaction is completed successfully a small previewthumbnail appears. By clicking the “Insert” button the im-age is inserted at the position of the cursor.

6.3 Conclusion

Although the latter adapter is rather an add-on than a fulladapter that completely integrates Google Docs, it pro-vided access to the shared information space of WIDE forthe particular functionality of inserting picture. With theadapter prototypes successfully implemented the integra-tion of existing web application’s functionalities in WIDE,it demonstrates how third party developers can extend ap-plication to utilise WIDE.

Page 98: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 99: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

77

Chapter 7

Validation

“How can we create what could becomeculturally significant systems if we demand that the

system be validated before a culture is formedaround it?”

—Bill Buxton et al.

In considering WIDE as a proof of concept of a distributeddesktop environment, we argue that a usability evalua-tion is not an appropriate approach to validate the system.WIDE as an architecture and framework instead, focusseson usefulness, rather than that usability which, however,should form the focal point of the applications itself. Also,WIDE communicates mainly with the applications whileuser interaction is limited to authentication and authoriza-tion. WIDE’s evoked working environment is in some as- WIDE is not very

visible to the userpects similar to or resembles offline systems. When evalu-ating, users might mistakenly compare it to offline systemsin which performance is, in many respects, better due to theinnate nature of the web and the local workstation. Hence,such evaluations are more likely to show limitations ratherthan evaluate the novel approach and concept itself intro-duced in this thesis. As, according to Greenberg and Bux-

Page 100: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

78 7 Validation

ton [2008],

“the choice of evaluation methodology - if any- must arise and be appropriate for the actualproblem or research question under considera-tion.”

WIDE purposes a system for working online although sucha culture of working online has yet to come despite the pop-ularity of the web in general as it is yet not seen as place toplace information and people prefer to have an offline copy(see 3.2.4).

Taking the aforementioned arguments into account, we be-lieve that a usability evaluation is not beneficial and there-fore, we are going to validate our work by a design ratio-nale. Hereby, we follow what has been recommended byDesign rationale to

validate WIDE Greenberg and Buxton and critique our design by reasonour design decisions, what alternative were considered, thecontext of the work, the problems that can be expected insuch context and what to do next.

7.1 Design Rationale

In this design rational we reason about the goal WIDE seeksfor, the decisions made to approach this goal, but also whathave been learned and what problem we are expecting con-cerning WIDE.

7.1.1 Challenge

As pointed out in chapter 2 current distributed applicationslack centralized online information access which results indecreased efficiency when working with them as the dis-tribution of information across several information spacesadds complexity to information retrieval as the informationspaces are not linked together. That means, e.g. that usersIncreased complexity

through distributedinformation spaces

Page 101: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

7.1 Design Rationale 79

have to search for a file in one information space after an-other, instead of one search over all information spaces.

This happens when users work with various applicationsand files can be opened by more than one application.When the user wishes to find that file, there are no cuesin which application to find that file. Such reduced vis-ibility lowers the information in the world and increasesthe knowledge that is required to be in the head which isharder to obtain as stated by Norman [2002]. This is partic-ularly problematic as a file’s position can change over timeand learned knowledge becomes useless and furthermore,is likely to mislead the user to an outdated location.

Having a file at all the applications that can open it, doesease the problem but on the other hand introduces the prob-lem of different versions when edited by an application. A Synchronization

increases effortsolution to this could be to synchronise information whichincreases the effort and thus, reduces the efficiency of work.

Furthermore, to gain the most benefit from online systems,the framework must be able to work platform indepen-dently and with no additional application requiring setupor installation. Also, users want to keep their applicationsof choice due to their personal preferences and thus, keeptheir diversity and distribution. However, efficient work-ing requires an unified information space, as highlightedabove, and a single entry point for applications. In addi- Accessible Unified

information spacetion, applications must in general be able to access all datanecessary even although some of the information can beconsidered private.

The idea of a single central external entry point would in-troduce a new concept to web applications but it must alsoprovide a way to keep existing applications and provideease of implementation for the development of new appli-cations.

7.1.2 Solution

To resolve these requirements, a single point of informationis needed that ensures trustworthy behaviour by means

Page 102: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

80 7 Validation

such as ’human-in-the-loop’. An information browser andits induced document-centric work flow will offer an al-ternative, more natural way of working. Furthermore,adapter applications help to integrate already developedapplications and the use of standards eases the integrationinto new applications and makes it in general run in webbrowsers without any modifications. Thus, WIDE providesa unified workstation independent information space fordistributed applications that, due to its usefulness, helps toincrease the efficiency of work flow in an distributed onlineenvironment.

7.1.3 Decisions

WIDE separates the data from the applications. While withseparated data the user could decide by placing the filewhich application to give access the file, in a single informa-tion space this needs to be addressed. WIDE, therefore, fo-cusses on keeping the user in control of his documents andprotect them from untrusted applications and unwantedaccess. Furthermore, we decided to utilize the external win-dow management that the underlying web browser and itsoperating system provide. Both decision and the reasoningbehind it are as follows.

Server Rendered Requests

One major design decision to support control of the user,was to render the authorization requests by the server. Theadvantage of such an approach is that the user interface ofrequests are the same, independent of the requesting appli-cation. This satisfies one of the best known usability heuris-Be consistenttics in computer interaction, being to keep the interface con-sistent.

Shneiderman and Plaisant [2004] proposes consistent style,layout, and terminology to help the user to find necessaryinformation more efficiently.

The style of user interface that is rendered by the WIDE

Page 103: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

7.1 Design Rationale 81

server resembles dialogs of the well-known desktop. Thefamiliarity improves, beside consistency and predictabilityamong others, the user interface’s learnability, as stated byDix et al. [2003]. Improved learnability also increases thecommunicated trustworthiness, as the user has a higherperception of control (see 3.1). higher

trustworthiness andusability throughserver renderedrequests

External Window Manager

When interacting with WIDE another aspect is how ap-plications are displayed to the user. While webtop sys-tems, such as EyeOS and G.ho.st, use an internal windowmanager to display applications inside their environment,WIDE utilizes the web browser’s and its underlying oper-ating system’s window managing capabilities by openingapplications in new tabs or windows.

This decision was made for several reasons. Externalrendering of the application maximizes the application’sscreen space available as it uses all the window’s screenspace for itself instead of sharing it with internally renderedwindow decorations and other applications. Furthermore,windows are handled either by the web browser or the un-derlying operating system which is likely to be more pow-erful and provides more functionality to handle them. It Independent window

managementincreasesresponsiveness

is also more responsive to manage the windows on a lo-cal system opposed to an online system that runs in a low-performance environment or lags due to bad connectivity.

An external window managing also prevents WIDE fromobserving the user when working with an application. Alsointeraction with WIDE supporting application and regularweb application do not differ and thus, increases furtherfamiliarity and consistency.

7.1.4 Lessons Learned

Currently, many different forms of web application popu-late the web and are provided to the user. This is partlybecause the internet makes it so easy to distribute and pro-

Page 104: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

82 7 Validation

mote new ideas. The variety of web toolkits for web de-velopment is similarly diverse. And still, the web is chang-ing at a high pace. However, it makes it difficult to findthe best possible solution for development that benefits theusers. Especially, with cross-web browser incompatibilitynot yet resolved and different paradigms for development(see 2.5 and 2.5). Complexity is particularly high when thedevelopment of a web application includes several differ-ent frameworks that need to work together.

7.1.5 Expected Problems

According to O’Reilly [2005], “data is the new intel inside”and control over data has become key advantage of somecompanies over their competitors. That means, not onlythe service provided by an application is of value but alsothe data created within the service. As WIDE proposes toApplication/data

separation is unlikelyto be tolerated.

separate data from the applications and to move it to theWIDE server, this is unlikely to be tolerated by web appli-cation providers.

However, O’Reilly also points out that a free data move-ment, similar to the free software movement, will emerge.

7.1.6 Context and Vision

The motivation of this project was briefly explored in theintroduction (see 1). While the potential and benefits ofweb applications are unambiguous, current systems to notsupport these. With WIDE the user can organize his dataand coordinate it with the applications. Further develop-ment will allow users to change their information spaceprovider, that are web sites providing services like WIDEoffers, without loosing data and need to re-install all theapplications. Information spaces will be as easily to switchas themes in current desktop systems. Furthermore, infor-mation system like WIDE will not only incorporate appli-cations but also storage providers. They will offer a singleentry point to a distributed information space in which ele-ments can be added, changed, and removed, very similarly

Page 105: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

7.1 Design Rationale 83

to how people can change hard disks of their computer andchange the programs installed on the computer.

Therefore, the next steps to further improve WIDE and howto approach the envisioned idea by addressing unresolvedissues are described in the future work section 8.

Page 106: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 107: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

85

Chapter 8

Summary and FutureWork

“The future is here. It’s just not widelydistributed yet.”

—William Gibson

While working on this project we encountered many ideasfor further improvement for which there was not sufficienttime to implement them. In this chapter these ideas are fur-ther explored.

8.1 Summary

WIDE is a framework for more desktop-like working withweb application. It provides a workstation independentshared single information space and further ensures trust-worthy behaviour through giving the user enhanced con-trols over his files.

First, we analysed different approaches that aim for moreconvergence of the web and desktop on various levels, suchas user experience and development, and explored alterna-tive remote computing approaches, such as virtualization.

Page 108: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

86 8 Summary and Future Work

We could, in a comparison, identify a lack of support forthe requirements that a system like WIDE seeks to satisfy.

To gain further insight of the users’ perception and con-cerns when working with online information and storinginformation online, we conducted an online survey con-firming the requirements. We also reviewed current modelsof online trust on which we based parts of the design for thearchitecture.

Then, we proposed the architecture of our WIDE frame-work for supporting working online and protection of in-formation. Through several client prototypes of poten-tial web applications interacting with the WIDE system,we refined the design, added support for Flash-based andJavaScript-based applications. As part of the implementa-tion, we further reviewed different ways to integrate exist-ing applications and presented our choice for integrationwhich we also were able to successfully implement as pro-totypes.

In the validation we argued our evaluation methodologyand stated our rationale in which based on HCI literature,common user heuristics, and the gained knowledge abouttrust we reasoned our design decisions that successfully en-hances usefulness of web application and therefore widenstheir application area.

We also gave insight in other considerations and finally em-bedded our design in the vision WIDE seeks to approach.

8.2 Future Work

Although WIDE can be already utilised by web applica-tions, many aspects could not be implemented due to timelimitations.

• notifications for reactive transactions

• integration of external storage spaces

Page 109: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

8.2 Future Work 87

• exchanging of WIDE systems

Also, we expect near future changes of the restrictions onXMLHttpRequest, as the W3C workgroup web applica-tion is currently working on access control for cross-site re-quests1. Once such an access control is available cross-site Evolution of web

standards helps tosimplify the WIDEframework

JavaScript calls would be possible and make some aspectsof the proposed JavaScript client framework redundant re-quiring it to be adjusted.

8.2.1 Notifications for Reactive Transactions

Current transactions are created by the application, mostlikely due to a user’s action. However, transactions thatmay be required after an event that occurred without anydirect interaction of the user, are not supported yet. Thus,adding notification, that communicate such events to a par-ticular web application, would enrich interaction betweeninformation space and application. For example, a weblog Notification increase

the level involvementof applications

application could update a post when the user adds pic-tures or modifies the text file of the post’s folder on theWIDE storage space. Such reversed transactions tighten therelationship of server and application, similar to agents indesktop environment that observe a certain aspect.

8.2.2 External Storage Space Integration

Existing web application have their own storage space tohost the data of the application. For example, Flickr hostpictures uploaded by the user. These currently need to bemigrated to WIDE to share them across applications. Sucha collections of pictures however can grow over time tothousands of pictures. Moreover, meta-data added to thepictures, such as comments by other users, cannot be mi-grated with the data resulting in complete loss of such in-formation.

1http://www.w3.org/2008/webapps/charter/webapps-deliverables.html

Page 110: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

88 8 Summary and Future Work

To avoid such a scenario, WIDE should in future also sup-port storages in a similar manner it currently supports ap-plications. A storage can be plugged to WIDE, analogousto a external hard disk drive that is plugged into the com-puter, and provide the data to the WIDE system. However,External data

sources should beable to plugged intoWIDE

passing such external data through the WIDE server doesnot seem appropriate as transfer time is likely to doublewith the WIDE server in between the data and the applica-tion. Instead, for data transfer, such as when opening a file,the server should arrange a direct connection between theapplication and the data source for the data transfer.

This approach promises to be a way to integrate data, thatis already made available online, to WIDE.

8.2.3 Exchanging WIDE

Currently web application know of one WIDE system theybelong to. However, this is a restriction and should beavoided. In future, application should instead by able toconnect to multiple WIDE systems and allow the user tochoose a WIDE system he wants to use. When changingfrom one WIDE system to another application should al-low to exchange the WIDE server they are connected to.This provides smooth migration without any lost of infor-mation, similarly to exchanging a window manager in theX window system.

Page 111: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

89

Appendix A

Preliminiary Study:Online Survey

A.1 General Information

1. What is your age?

Age in years

2. Are you female or male?

© female

©male

3. What country are you from?

4. In which of the following fields is your currentoccupation?

© Administration© Advertising, marketing and PR© Arts, design and crafts© Construction and property management© Counselling, social and guidance services© Education, teaching and lecturing© Engineering© Finance and management consultancy© Health care© Human resources and employment

Page 112: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

90 A Preliminiary Study: Online Survey

© Insurance and pensions and actuarial work© IT, economics, statistics and management services© Law enforcement and public protection© Legal services© Leisure, sport and tourism© Logistics and transport©Manufacturing and processing© Publishing, media and performing arts© Sales, retail and buying© Scientific services© Student© Other (please specify)

5. What is your highest degree of education you haveobtained or, if you are a student, you are studying fornow?© High School© Bachelor©Master/Diplom© Ph.D.© Other (please specify)

6. Of which field is that degree?© rather technical© rather non-technical

7. How do you consider your skills?excellent very good good fair poor

General computerskills

© © © © ©

Web skills (familiar-ity with the web)

© © © © ©

Page 113: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

A.2 Computer Usage 91

A.2 Computer Usage

8. How many days in an average week do you use..

neverless than once

a week1 or 2 days

3 days4 days

5 days6 or more days

...your com-puter at home?

© © © © © © ©

...your com-puter at work?

© © © © © © ©

...a differentcomputer thatwas not initiallyintended to beused by you?

© © © © © © ©

9. How do you rate the level of convenience whenusing a computer with an environment differentthan yours, such as different OS, different browser,mediaplayer etc.?

completely

convenient

mostlyconvenient

neither convenient nor

inconvenient

mostlyinconvenient

completely

inconvenient

N/A

different OS © © © © © ©Differentprograms

© © © © © ©

A.3 Internet Usage

10. How many days in an average week do you accessthe internet with a computer?

neverless than once

a week1 or 2 days

3 days4 days

5 days6 or more days

At home © © © © © © ©At work/school © © © © © © ©At other places © © © © © © ©

11. At what other places than at home and at your workdo you access the internet?2 Internet cafe2 Library2 Hotel

Page 114: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

92 A Preliminiary Study: Online Survey

2 Airport/station2 Other (please specify)

12. How frequently do you purchase online?© Never© Rarely© Several times a year© About once a month© About once a week© Several times a week

13. How frequently do you purchase songs online?© Never© Rarely© Several times a year© About once a month© About once a week© Several times a week

14. How satisfied are you with online shopping?© Completely satisfied©Mostly satisfied© Neither satisfied nor not satisfied©Mostly not satisfied© Completely not satisfied© N/A

15. In the past 2 months, how many different web ac-counts have you used that require login?Answer with number

16. How many different passwords do you use for theseaccounts?Answer with number

17. Do you store passwords in your browser, i.e. yourbrowser fills out the login form for you?© Always© Never© Depends (please specify on what it depends)

18. How many times in the past two weeks have you for-gotten a password?Answer with number

Page 115: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

A.4 Data on the web 93

19. How do you retrieve your password when you can-not remember your password?2 Look up the password in the registration mail2 Look it up somewhere else2 Answer the security question2 Request the application send you the/a new pass-word by mail2 Other (please specify)

20. How many times in the past two weeks have you for-gotten your username?Answer with number

21. How do you retrieve your user name when you can-not remember your user name?2 Look up the user name in the registration mail2 Look it up somewhere else2 Request the application send you the user name bymail2 Other (please specify)

A.4 Data on the web

22. Which of the following statements are true?2 I have a web space account to store documents onit.2 I am aware of some of my documents being onlineavailable.2 I access my email account over a web site.2 I access my instant messenger client online, i.e. viaweb messenger.2 I have contact information stored online.

23. How do you make documents available to others?2 I do not make documents available to others2 Email2 Upload to a web space service2 Instant messenger2 To make a document available online I do some-thing else (please specify)

24. Why do you make the documents available online?2 I do not make documents available online2 Share documents

Page 116: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

94 A Preliminiary Study: Online Survey

2 Collaborate2 Backup2 Availability / Access2 Other (please specify)

25. How often do you back up your documents on yourcomputer?© never© rarely© about once or twice a month© about once or twice a week© about every or every second day

26. What kind of documents do you back up?2 I do not back up documents2 Office documents2 Contact data2 Mails2 Schedule2 Media2 Other (please specify)

27. How do you back up your documents on your com-puter?2 I do not back up documents2 Backup on a media (CD, DVD etc.)2 Backup on another hard drive2 Backup to a web space2 Other (please specify)

28. Do you think it is generally a good idea to have a copyof your online documents on your own computer?© Yes© Depends© No

29. Why do you think so?

30. Do you think it is generally a good idea to have anonline copy of your local documents?© Yes© Depends© No

31. Why do you think so?

Page 117: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

A.5 Web applications 95

A.5 Web applications

32. I am interested in what you consider a web applica-tion. Please try to give some examples of what youthink web applications are.Please enter the name and/or the web address.

(a)

(b)

(c)

Some examples for web applications are

• web-based mail services like hotmail(http://www.hotmail.com)

• map services like google maps(http://maps.google.com)

• e-commerce sites like amazon(http://www.amazon.com)

• web-based office application like google docs(http://docs.google.com)

• web-based instant messenger like meebo(http://www.meebo.com)

• auction sites like ebay(http://www.ebay.com)

• social networks like facebook(http://www.facebook.com)

• blogging sites like wordpress(http://www.wordpress.com)

33. With these examples, do you know some web appli-cations?

I do not know any

I know some

I use one

I use more than one

Web mail service © © © ©Web instant messenger © © © ©Office application © © © ©Map service © © © ©Auction site © © © ©Online Shop © © © ©

Page 118: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

96 A Preliminiary Study: Online Survey

A.6 Trust

34. Do you agree with the following statements?

Completely agree

Mostlyagree

Neither disagree nor agree

Mostlydisagree

Completely disagree

N/A

Web applications can-not corrupt/harm myonline stored web appli-cation documents.

© © © © © ©

Web applicationsmanipulate onlyonline stored webapplication documentsI have allowed to bemanipulated.

© © © © © ©

Web applications candelete online storedweb application doc-uments without myknowledge.

© © © © © ©

35. Do you agree with the following statements?

Completely agree

Mostlyagree

Neither disagree nor agree

Mostlydisagree

Completely disagree

N/A

Software on mycomputer cannot cor-rupt/harm my locallystored documents.

© © © © © ©

Software on my com-puter manipulate onlylocal documents I haveallowed to be manipu-lated.

© © © © © ©

Software on my com-puter can delete localdocuments without myknowledge.

© © © © © ©

36. Do you agree with the following statements?

Page 119: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

A.6 Trust 97

Completely agree

Mostlyagree

Neither disagree nor agree

Mostlydisagree

Completely disagree

N/A

I am worried about pri-vacy issues concerningpersonal informationabout me.

© © © © © ©

I am worried about pri-vacy issues concerningmy documents beingonline.

© © © © © ©

I am worried about dataloss on my hard disk

© © © © © ©

I am worried about dataloss of my online docu-ments

© © © © © ©

37. Do you agree with the following statements?

Completely agree

Mostlyagree

Neither disagree nor agree

Mostlydisagree

Completely disagree

N/A

My Software is updatedregularly

© © © © © ©

I do not update softwareif not needed

© © © © © ©

Updating software isgood

© © © © © ©

Updating software dis-tracts from my flow ofwork

© © © © © ©

I trust updated softwaremore than not updatedsoftware

© © © © © ©

38. Rate your general trust in the following.(answer with numbers, whereas 0 stands for ’no trustat all’ and 10 stands for ’trust without doubts’)General trust in software on your computerGeneral trust in web applications

39. Rate the level of convenience in accessing informa-tion/documents in the following situations(answer with numbers, whereas 0 stands for ’unac-ceptable’ and 10 stands for ’comfortable’)documents/information online (assuming you areconnected to the internet)documents/information on your hard disk

Page 120: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

98 A Preliminiary Study: Online Survey

Thank you very much for your participation!

Page 121: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

99

Appendix B

TITLE OF THESECOND APPENDIX

The different actions of a transaction are introduced in thefollowing list.

• OpenFile opens the file that is defined in content andreturns the file.

• SaveFile saves the file that is defined in content.

• DeleteFile deletes the file that is defined in content.

• CopyFile copies the first file defined in content to thesecond file defined in content and returns the desti-nation file.

• MoveFile moves the first file to the second file definedin content.

• SelectFileDialog opens a dialog that prompts the userto select a file.

• OpenFileDialog opens a dialog that prompts the userto select a file to open.

• SaveAsFileDialog opens a dialog that prompts the userto select a file or enter new filename to save a file un-der a particular filename.

Page 122: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

100 B TITLE OF THE SECOND APPENDIX

• OpenDir opens the folder defined in content and re-turns a listing of the contained files and folders.

• CreateDir creates the folder defined in content and re-turns the created folder.

• DeleteDir deletes the folder that is identified in con-tent.

• CopyDir copies the first folder defined in content tothe second folder defined in content and returns thedestination folder.

• MoveDir moves the first folder defined in content tothe second folder defined in content and returns thedestination folder.

• SelectDirDialog opens a dialog that prompts the userto select a folder and returns the listing of the con-tained folders and files.

• CreateDirDialog opens a dialog that prompts the userto enter a name and select a location to create a newfolder and returns the empty folder.

• DeleteDirDialog opens a dialog that prompts the userto enter a name or select a folder to delete that folder.

Page 123: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

101

Bibliography

Amir. weblog, 2008. URL http://vdiworks.com/wp/?p=15.

Paul Bergevin. Thoughts on netbooks, 2008. URLhttp://blogs.intel.com/technology/2008/03/thoughts_on_netbooks.php.

Cynthia L. Corritore, Beverly Kracher, and Susan Wieden-beck. On-line trust: concepts, evolving themes, a model.International Journal of Human-Computer Studies, 58(1):737–758, 2003. URL http://portal.acm.org/citation.cfm?id=941183&dl=ACM&coll=&CFID=15151515&CFTOKEN=6184618.

Dianne Cyr, Carole Bonanni, John Bowes, and Joe Ilsever.Beyond trust: Website design preferences across cul-tures. Journal of Global Information Management, 13(4):24–52, 2005.

Alan Dix, Janet E. Finlay, Gregory D. Abowd, and RussellBeale. Human-Computer Interaction (3rd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2003. ISBN0130461091.

Saul Greenberg and Bill Buxton. Usability evaluation con-sidered harmful (some of the time). In CHI ’08: Proceed-ing of the twenty-sixth annual SIGCHI conference on Humanfactors in computing systems, pages 111–120, New York,NY, USA, 2008. ACM. ISBN 978-1-60558-011-1. doi:http://doi.acm.org/10.1145/1357054.1357074.

Nicola Guarino. Formal Ontology in Information Systems:Proceedings of the 1st International Conference June 6-8, 1998,Trento, Italy. IOS Press, Amsterdam, The Netherlands,The Netherlands, 1998. ISBN 9051993994.

Page 124: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

102 Bibliography

William Hampton-Sosa and Marios Koufaris. The effect ofweb site perceptions on initial trust in the owner com-pany. Int. J. Electron. Commerce, 10(1):55–81, 2005. ISSN1086-4415.

William Jones, Ammy J. Phuwanartnurak, Rajdeep Gill,and Harry Bruce. Don’t take my folders away!: orga-nizing personal information to get ghings done. In CHI’05: CHI ’05 extended abstracts on Human factors in comput-ing systems, pages 1505–1508, New York, NY, USA, 2005.ACM Press. ISBN 1595930027. doi: 10.1145/1056808.1056952. URL http://portal.acm.org/citation.cfm?id=1056952.

Gary Marsden and David E. Cairns. Improving the usabil-ity of the hierarchical file system. In SAICSIT ’03: Pro-ceedings of the 2003 annual research conference of the SouthAfrican institute of computer scientists and information tech-nologists on Enablement through technology, pages 122–129,, Republic of South Africa, 2003. South African Institutefor Computer Scientists and Information Technologists.ISBN 1-58113-774-5.

Florian Moritz. Rich internet applications (ria): Aconvergence of user interface paradigms of web anddesktop exemplified by javafx. Master’s thesis, Uni-versity of Applied Science Kaiserslautern, Germany,2008. URL http://www.flomedia.de/diploma/documents/DiplomaThesisFlorianMoritz.pdf.

Gregory B. Newby. The necessity for information spacemapping for information retrieval on the semanticweb. Information Research, 7(4), 2002. URL http://InformationR.net/ir/7-4/paper137.html.

Donald A. Norman. The design of everyday things. BasicBooks, [New York], 1. basic paperback ed., [nachdr.] edi-tion, 2002. ISBN 0-465-06710-7.

T. O’Reilly. What is web 2.0 - design patterns and businessmodels for the nect generation of software. 2005. URLhttp://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html.

Arno Puder. A code migration framework for AJAX appli-cations. In DAIS ’06: 6th International Conference on Dis-

Page 125: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

Bibliography 103

tributed Applications and Interoperable Systems, pages 138–151. LNCS, Springer, 2006.

D. Quan, K. Bakshi, D. Huynh, and D. Karger. User Inter-faces for Supporting Multiple Categorization. Proceedingsof INTERACT, pages 228–235, 2003.

Tristan Richardson, Quentin Stafford-Fraser, Kenneth R.Wood, and Andy Hopper. Virtual network computing.IEEE Internet Computing, 2(1):33–38, 1998. ISSN 1089-7801. doi: http://dx.doi.org/10.1109/4236.656066.

Jens Riegelsberger, M. Angela Sasse, and John D. McCarthy.The mechanics of trust: a framework for research anddesign. Int. J. Hum.-Comput. Stud., 62(3):381–422, 2005.ISSN 1071-5819. doi: http://dx.doi.org/10.1016/j.ijhcs.2005.01.001.

Robert W. Scheifler and Jim Gettys. The x window system.ACM Trans. Graph., 5(2):79–109, 1986. ISSN 0730-0301.doi: http://doi.acm.org/10.1145/22949.24053.

Ben Shneiderman and Catherine Plaisant. Designing theUser Interface: Strategies for Effective Human-Computer In-teraction (4th Edition). Pearson Addison Wesley, 2004.ISBN 0321197860.

Mark Weiser. The computer for the twenty-firstcentury. Scientific American, pages 94–110, 1991.URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html.

Aaron Weiss. Webos: say goodbye to desktop applications.netWorker, 9(4):18–26, 2005. ISSN 1091-3556. doi: http://doi.acm.org/10.1145/1103940.1103941.

Page 126: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and
Page 127: WIDE - Workstation Independent Desktop Environment · WIDE, a Workstation Independent Desktop Environment, is a framework for web applications that connects the user, his data, and

Typeset October 8, 2008