Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab
Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab
Wirtschaftsuniversität Wien Magisterarbeit - SemanticLab
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