26.11.2012 Views

Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab

Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab

Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6. Development of a Privacy Plug-In<br />

In this chapter, the applied part of this master thesis will be discussed. As already<br />

mentioned earlier, the applied part consists of the development of a Mozilla Firefox<br />

extension or to be precise: an enhancement and up-port of an outdated P3P extension<br />

for Firefox to create a basis for the open source community to further enhance it.<br />

Before describing the initial situation of the project, some general information on extension<br />

development for Mozilla Firefox will be provided. Afterwards, the enhancement<br />

of the existing extension will be briefly discussed. The chapter will then be finished by<br />

the evaluation of the newly developed Firefox extension.<br />

6.1. Add-on development for Firefox<br />

The area of add-on or extension development for Mozilla Firefox is wide and fills books<br />

[Fel07]. That is why in the upcoming part of this thesis, only a brief overview on this<br />

topic can be given. However, this work tries to provide useful resources and references<br />

if the need for in-depth information arises. Parts of this section have originally been<br />

written by the author in [EPAB09].<br />

6.1.1. The extension concept<br />

With its concept of extensions, Mozilla provides a flexible way to add new functionalities<br />

to its products. While this concept is applicable to all Mozilla products (such as Sea-<br />

Monkey, Thunderbird, Sunbird etc), this chapter only deals with Firefox specifics which<br />

may or may not be applicable to other Mozilla products. It has to be highlighted that<br />

extensions are, at least in the Mozilla scope, something different than plug-ins. Plug-ins<br />

deal with more “core”-functionalities of Firefox such as Adobe’s PDF-reader or similar.<br />

Although both extensions and plug-ins can be based on native code (such as C++),<br />

extensions are mostly developed using JavaScript and XUL (pronounced “zool”) which<br />

is an XML dialect [MDC09a].<br />

As just mentioned, extensions are basically based on two technologies: JavaScript and<br />

the XML User Interface Language (XUL). Whereas this thesis is not going to discuss<br />

JavaScript, XUL should shortly be introduced as it is not as well known as JavaScript.<br />

XUL is “Mozilla’s XML-based language that lets you build feature-rich cross platform<br />

applications that can run connected or disconnected from the Internet” [MDC09b]. XUL<br />

basically allows developers to easily create graphical user interfaces (GUI) with all known<br />

elements such as buttons, status-bars, menu-lists, drop-down lists, etc. by using an XML<br />

dialect. Besides drag and drop support, XUL also offers so called ”XUL templates”.<br />

54

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!