-
Notifications
You must be signed in to change notification settings - Fork 3
/
browser-innovation.html
342 lines (332 loc) · 22.1 KB
/
browser-innovation.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="top" title="Home" href="http://www.mozilla.org/">
<link rel="stylesheet" type="text/css" href="css/print.css" media="print">
<link rel="stylesheet" type="text/css" href="css/base/content.css" media="all">
<link rel="stylesheet" type="text/css" href="css/cavendish/content.css" title="Cavendish" media="screen">
<link rel="stylesheet" type="text/css" href="css/base/template.css" media="screen">
<link rel="stylesheet" type="text/css" href="css/cavendish/template.css" title="Cavendish" media="screen">
<link rel="icon" href="images/mozilla-16.png" type="image/png">
<title>Browser Innovation</title>
<script src="__utm.js" type="text/javascript"></script>
</head>
<body id="www-mozilla-org" class="deepLevel">
<div id="container">
<p class="important">You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is
highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If
there are any pages on this archive site that you think should be added back to www.mozilla.org, please <a
href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Websites&component=www.mozilla.org">file a bug</a>.</p>
<p class="skipLink"><a href="#mainContent" accesskey="2">Skip to main content</a></p>
<div id="header">
<h1><a href="/" title="Return to home page" accesskey="1">Mozilla</a></h1>
<ul>
<li id="menu_aboutus"><a href="about/" title="Getting the most out of your online experience">About</a></li>
<li id="menu_developers"><a href="developer/" title="Using Mozilla's products for your own applications">Developers</a></li>
<li id="menu_store"><a href="http://store.mozilla.org/?r=mozorg1" title="Shop for Mozilla products on CD and other merchandise">Store</a></li>
<li id="menu_support"><a href="support/" title="Installation, trouble-shooting, and the knowledge base">Support</a></li>
<li id="menu_products"><a href="products/" title="All software Mozilla currently offers">Products</a></li>
</ul>
<form id="searchbox_002443141534113389537:ysdmevkkknw" action="http://www.google.com/cse" title="mozilla.org Search">
<div>
<label for="q" title="Search mozilla.org's sites">search mozilla:</label>
<input type="hidden" name="cx" value="002443141534113389537:ysdmevkkknw">
<input type="hidden" name="cof" value="FORID:0">
<input type="text" id="q" name="q" accesskey="s" size="30">
<input type="submit" id="submit" value="Go">
</div>
</form>
</div>
<hr class="hide">
<div id="mBody">
<div id="side">
<ul id="nav">
<li><a title="Roadmap" href="roadmap.html"><strong> Roadmap</strong></a></li>
<li><a title="Projects" href="projects/"><strong> Projects</strong></a></li>
<li><a title="For developers" href="developer/"><strong> Coding</strong></a>
<ul>
<li><a title="Module Owners" href="owners.html"> Module Owners</a></li>
<li><a title="Hacking" href="hacking/"> Hacking</a></li>
<li><a title="Get the Source" href="http://developer.mozilla.org/en/docs/Download_Mozilla_Source_Code"> Get the Source</a></li>
<li><a title="Building Mozilla" href="http://developer.mozilla.org/en/docs/Build_Documentation"> Build It</a></li>
</ul>
</li>
<li><a title="Testing" href="quality/"><strong> Testing</strong></a>
<ul>
<li><a title="Downloads of mozilla.org software releases" href="download.html"> Releases</a></li>
<li><a title="Latest mozilla builds for testers" href="developer/#builds"> Nightly Builds</a></li>
<li><a title="For testers to report bugs" href="https://bugzilla.mozilla.org/"> Report A Problem</a></li>
</ul>
</li>
<li><a title="Tools for mozilla developers" href="tools.html"><strong> Tools</strong></a>
<ul>
<li><a title="Bug tracking system for mozilla testers." href="https://bugzilla.mozilla.org/"> Bugzilla</a></li>
<li><a title="Latest status of mozilla builds" href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Firefox"> Tinderbox</a></li>
<li><a title="Latest checkins" href="http://bonsai.mozilla.org/cvsqueryform.cgi"> Bonsai</a></li>
<li><a title="Source cross reference" href="http://lxr.mozilla.org/seamonkey/"> LXR</a></li>
</ul>
</li>
<li><a title="Frequently Asked Questions." href="faq.html"><strong> FAQs</strong></a></li>
</ul>
</div>
<hr class="hide">
<div id="mainContent">
<h1>Browser Innovation, Gecko and the Mozilla Project</h1>
<p class="author">Mitchell Baker
<h2>The Big Picture</h2>
<p>The goal of the Mozilla project is to promote innovation and enable the creation
of standards-compliant client technology to help keep content on the web open.
The key to open content is not any particular browser application, but openness,
standards compliance and cross-platform technologies. The more people
who use browsers based on open, standards-compliant technologies, the better
the chances we will all enjoy viable choices in the way we conduct digital
transactions.
<p>To meet this goal, mozilla.org hosts the development of key components necessary
to develop applications that make use of the web. These include Gecko, our
rendering engine, which takes data from the server and displays it for the
user; JavaScript, a scripting language standardized as ECMAScript,
which is ubiquitous in both web pages and server applications; and XUL (pronounced
<q>zool</q>), an XML-based language for creating cross-platform applications.
<p>Mozilla also hosts and/or supports the development of a number of browser
applications. Mozilla 1.0 was released last June to great reviews and has
continued to mature since then. (Some of the improvements since the
1.0 release can be found in the <a href="http://www.mozilla.org/releases/mozilla1.1/#new">1.1</a>,
<a href="http://www.mozilla.org/releases/mozilla1.2.1/#new">1.2.1</a> and
<a href="http://mozilla.org/releases/mozilla1.3b/#new">1.3b</a> release notes.)
Mozilla 1.0 includes browsing, mail/news, web-page editing and chat applications,
as well as a framework for application development. Other Gecko-based browsers
include K-Meleon, a browser for the Windows platform, Galeon, a browser for
Linux's GNOME desktop environment, Epiphany, an additional browser for GNOME,
and AppMac's set of three Gecko-based browsers for Mac OS X. In early 2002
the Chimera project launched a web browser for the Mac platform, combining
Gecko with Apple technology to create the native Apple "look and feel."
An experimental project known as Phoenix to create a leaner browser-only application
for the Windows and Linux platforms was also initiated at mozilla.org in 2002.
Mozilla-based browsers aimed at specific markets and task also exist, including
a new XUL application geared specifically to browsing the Amazon website.
The Gecko layout engine is also used by a range of companies and projects
to bring web-browsing capabilities to other types of applications. Mozilla.org
has always supported these efforts and viewed these projects as completely
complementary with the goals of our project.
<p>(The name "Chimera" is being retired. Beginning with the 0.7 release
the project will be known as the Camino project, and the browser as the Camino
browser. The rest of this document will no longer use "Chimera"
and will instead refer to the Camino project and browser.)
<p>Innovation in browser design is a cause for celebration. One key goal for
the Mozilla project has been to create an open source browser that would serve
as a base for innovation, and we accomplished this goal with the Mozilla 1.x
application suite. The technology now exists for a flowering of innovation.
The key infrastructure, including Gecko, is robust, proven and available to
anyone. JavaScript and XUL significantly expand the set of developers able
to create browsers and other applications. Mozilla.org welcomes exploration
in browsers and the search for new and better ways of coping with the massive
amounts of data available on the web. Exploration, innovation and the expansion
of creative potential are among the great benefits of the open source development
model.
<p>In addition to the Mozilla-based browsers, Apple has recently launched its
own browser for Mac OS X, known as Safari. It may be that the majority of
Mac end users will end up using Safari because it comes with the OS, just
as many people end up using IE because it comes with the Windows distribution.
Some see this as traumatic or as a mark of doom.But the
Mozilla project understands that almost everyone in the US market (and a substantial
percentage of the international market) receives Internet Explorer when they
acquire a computer, and our job is to provide an alternative. We would
have preferred to have Apple use Gecko or collaborate with us on the development
of the Camino browser, but providing an alternative to an OS-sponsored browser
is nothing new to us. The key goal of the Mozilla project is to help
keep content on the web open and help keep access to that content from being
controlled by a single source. Apple's decision to ship a browser based
on an open source rendering engine, with a focus on standards compliance,
is a good thing for the big picture goal.
<h2>Gecko</h2>
<p>Gecko is the premier cross-platform, full-featured, mature and well-tested
layout engine available, providing robust and high quality support for a massive
array of standards. Its ability to render web content correctly is exceptional.
<p>The release of Safari has generated some discussion of Gecko's complexity
and performance which bear addressing. Gecko is large and complex. We
would like Gecko to be smaller and simpler and we're working on it.
Elegance, like speed, is sexy. But simple and elegant must be weighed
against the need to cope with web content as it exists today. And web
content today is not simple, not elegant and not standards compliant.
Today's web requires a rendering engine to do gymnastics to understand the
wildly varying ways in which websites operate. Gecko performs these
gymnastics with exceptional precision.
<p>Everything we've seen suggests that KHTML has a ways to go to catch up with
rendering real web pages. At the same time, Gecko should become smaller
and simpler. We've seen significant improvements during the last year,
and we anticipate continued refinements. We've achieved an exceptional ability
to render the web, now we're looking at maintaining that compatibility while
eliminating unnecessary overhead.
<p>The particular performance data released by Apple for the Safari and Camino
browsers have limited implications for Gecko performance for several reasons.
First, the version that Apple tested, was the 0.6 release, which is built
on an old version of Gecko. The Camino project began using a branch of the
Gecko source almost a year ago and has not yet updated to a newer version.
This means that the 0.6 does not contain a number of the performance improvements
made to Gecko in the last year. The Camino team plans to move Camino to the
current version of Gecko in the 0.8 timeframe, after which Camino will better
demonstrate Gecko's capabilities and potential.
<p>Second, the scope of content a browser knows how to render can also affect
its performance. A browser that knows how to render advanced CSS2 style rules,
for example, is liable to take more time to display a page using those rules
than one that doesn't, since browsers ignore code they don't understand. Gecko's
support for standards-based and non-standards-based pages is unparalleled.
This ability to render pages correctly--one of Gecko's significant benefits--may
come at a small price in performance, but it is a price likely to be paid
by other browsers as well as they develop Gecko's level of sophistication.
<p>Third, browsers can be tuned for various, sometimes conflicting goals. Browsers
may use techniques to improve perceived performance (how fast the browser
feels to the user) at the expense of the actual load performance. For example,
Camino displays a portion of a web page before the complete page has finished
loading. This technique drastically improves the perceived performance of
the page for users, who can browse a portion of it much sooner, even as it
reduces load performance. There are no tests for measuring perceived performance
or comparing it between browsers, but anecdotal evidence suggests that Camino
is at least as fast as Safari at browsing the web.
<p>What is clear is that both Camino and Safari are wicked fast browsers. This
is excellent news. In addition, Safari uses code and ideas from Gecko, and
high quality ideas from the KHTML/Safari world will make their way back into
Gecko. This brings benefits to both layout engines. The big picture question
is the performance of open alternatives compared to that of the dominant Internet
Explorer browser, and the open source community can share satisfaction as
the open alternatives continue to improve.
<h2>Gecko and XUL - a potent combination</h2>
<p>The Mozilla project believes that cross-platform technology is a critical
element in today's environment. Control of the desktop by a single platform
is an enormous danger to the ability of citizens
and consumers to have free access to the web. In the Mozilla application suite,
both the rendering engine and the application itself are built as cross-platform
technologies. It is critically important to allow developers to
focus on a monopoly platform and simultaneously create applications useful
on other platforms.
<p>The combination of Gecko and XUL make this a reality. "XUL"
(XML-based User Interface Language, pronounced as "zool") is Mozilla's
cross-platform user interface language. The combination of Gecko and
XUL provides two great advantages. First, it expands the range of people
who can actually create useful applications. It is now possible to use
the same technologies that are used for creating web pages, such as CSS and
JavaScript, in conjunction with XUL to create an application. This means
that a savvy web developer can now create sophisticated applications.
<p>A second great benefit of the Gecko-XUL combination is that it results in
cross-platform application running on a cross-platform rendering engine.
A XUL application may be written with the Windows audience in mind.
But this same application can be run on the many platforms for which a Gecko-based
browser exists without the developer rewriting the application.
This allows those who use other than the Windows desktop to enjoy the applications
written by those who may focus on the Windows monopoly.
<p>In some cases a XUL application has a "look and feel" very similar
to that of an application written for a specific platform. For example,
Mozilla's Phoenix browser on Win XP looks and feels very much like a native
application. A platform that has a set of highly distinctive elements
may find XUL applications to have less than a completely native look and feel.
But a number of platforms lack adequate market share to expect many platform
specific, full-featured applications to be written for that platform, and
XUL provides a way to enjoy applications written primarily for other platforms.
In addition, Mozilla provides a simple mechanism for customizing the interface
with themes. Themes are a collection of CSS and image files packaged for easy
installation in the Mozilla application. Users can download and install dozens
of themes <<a href="http://themes.mozdev.org/">http://themes.mozdev.org</a>/>
to customize the look and feel of the browser's UI, the toolbars, the buttons,
scrollbars and other UI elements. Themes are also cross-platform.
<p>XUL provides an excellent answer for organizations with heterogeneous computing
environments. Customized XUL applications with significant business
logic can be written once, and used on the range of platforms that may exist
within the organization. In addition, if the organization maintains
sophisticated, interactive websites, it will already possess a wealth of technical
expertise that will be relevant for creating the XUL applications.
<p>In addition to its cross-platform nature, Mozilla's plug-in architecture
offers enormous benefits. Through this plug-in architecture one can
easily download and install <a href="http://www.mozdev.org">add-on packages
</a>like mouse gestures, pie menus, google bar, etc. etc.
<h2>Some Further Thoughts on Camino and Safari</h2>
<p>Camino and Safari are different types of efforts, with different development
methodologies. Camino is an open source browser developed through an open
source project. The source code for the entire application is available,
the bug and project management database is open, and the exact status of the
code can be determined at any time through our automated build system with
its web-based front end known as "tinderbox":
<a href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino">http://tinderbox.mozilla.org/showbuilds.cgi?tree=Camino</a>.
Code that has been checked in can be determined at any time using Bonsai,
our web-based tool for CVS: <a href="http://bonsai.mozilla.org/">http://bonsai.mozilla.org/</a>.
Our code can be viewable
and searched by interested parties at any time using the tool known as "LXR"
<a href="http://lxr.mozilla.org/mozilla/">http://lxr.mozilla.org/mozilla/</a>.
Mozilla.org provides daily pre-compiled binaries for testing so developers/testers/users
can participate in the leading edge of our development.
<p>Mozilla.org projects are driven by the people who contribute to them and
use them. Participation in the project is open to all those qualified.
Even more important, <a href="http://www.mozilla.org/hacking/">leadership
and decision-making authority</a> can be earned by those with the requisite
technical savvy and level of participation in the project. In other words,
Camino is developed by the community, as in the classic open source model.
It is not based on the perspective of a single vendor. Camino has received
excellent reviews, and has a large and contented user base. Camino
users across the world have clearly expressed their belief that Camino is
a great browser with features and performance unavailable in any other product.
Tabbed browsing and customizable toolbars are just a sample of the features
Camino offers that attract devoted users.
<p>Safari is a browser built on top of open source technologies. While
Safari uses those technologies--KHTML from the KDE world, parts of the "view
manager" from Mozilla, and perhaps others as well--it combines them with
other, closed-source technologies to create a closed-source browser application.
Some of the features Apple highlights for Safari appear
to be developed through a traditional closed development model. In
other words, Safari is built using open source technologies, but it is <strong class="stronger">not</strong>
an "open source browser."
<p>Current information suggests that Apple will work with the KDE project in
connection with the KDE technologies Apple uses, while still developing Safari
internally and making decisions about its development in line with Apple's
business model and view of its situation.The Mozilla project actively
supports this model of development, where open source and proprietary software
is combined into a single product or project. The <a href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla
Public License</a> includes provisions explicitly allowing this, and the Mozilla
project welcomes the participation of projects and companies that choose this
model.Many companies and projects do exactly this with Mozilla technology,
using that technology as part of a product which may also include other open
source, free software, and/or proprietary technology. This represents Mozilla's
goal of creating an open source project based on technical merit, peer review,
and other open source development principles, as well as coordination with
commercial entities that build and ship Mozilla-based products.
<p>So the Safari model of a closed application built on top of open source technologies
is in no way a bad thing. It is, however, different from Camino, whose development
is not based on the perspective of a single vendor. Some may like the
focus that comes from a single decision-maker with a clear view of its business
and aesthetics. Others may prefer the world of distributed decision-making
and community development found in the Mozilla project. For those
who wish to participate in a community-based, open source browser development
project, Camino is the place to be.
<h2>Web Browsers Matter</h2>
<p>The web is becoming increasingly integrated into our lives as more and more
critical financial, health and other personal information is managed through
web-based transactions. Browsers are the mechanism through which individual
human beings access and manage this digital data. We don't yet know what new
innovations will be possible in this arena. New innovations should be judged
on their own merits, on their ability to benefit human beings, and not solely
by their effect on the business plans of one or even a few companies. Mozilla.org
remains committed to a world-wide-web based on open standards and developed
for the common benefit. We provide world-class software and technology to
promote this vision.
<p>Come join us.
<hr class="hide">
</div>
</div>
<div id="footer">
<ul>
<li><a href="sitemap.html">Site Map</a></li>
<li><a href="security/">Security Updates</a></li>
<li><a href="contact/">Contact Us</a></li>
<li><a href="foundation/donate.html">Donate</a></li>
</ul>
<p class="copyright">
Portions of this content are © 1998–2009 by individual mozilla.org
contributors; content available under a Creative Commons license | <a
href="http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>.</p>
<p>
<span>Last modified September 16, 2004</span>
<span><a href="http://bonsai-www.mozilla.org/cvslog.cgi?file=mozilla-org/html/browser-innovation.html&rev=&root=/www/">Document History</a></span>
</p>
</div>
</div>
</body>
</html>