Home > Store

Rapid Application Development with Mozilla

Register your product to gain access to bonus material or receive a coupon.

Rapid Application Development with Mozilla


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2004
  • Dimensions: 6-1/2" x 9-1/4"
  • Pages: 800
  • Edition: 1st
  • Book
  • ISBN-10: 0-13-142343-6
  • ISBN-13: 978-0-13-142343-5

Rapid Application Development with Mozilla, part of the Bruce Perens Open Source Series, is a concise guide for any programmer who wants to learn the versatility and compatibility of Mozilla, an open source toolset with over a thousand objects and components. An additional feature of Rapid Application Development with Mozilla is the NoteTaker Web browser add-on-a sample Mozilla application that is developed throughout the book. Written by Web and XML expert Nigel McFarlane, this book is the perfect addition to the library of any user-interface software engineer, cross-platform developer, or any programmer looking to discover the benefits of rapid application development.



Download the Chapters from Rapid Application Development with Mozilla.

As an aid to readers of Rapid Application Development with Mozilla, we are providing for download in compressed archives XPIDL interface defintions, class-interface reports, and code for the NoteTaker example project.

Download the files for the platform of your choice:

Source Code

Download the Source Files related to this title.


Related Articles

An Introductory Tour of Mozilla's XUL

Mozilla Overlays: A New Way to Combine XML Documents

Searching for Substance: Hot Air Costs More Than Hardware

Searching for Substance: Web Browser Olympic Scorecard

Smoke, Mirrors and Silence: The Browser Wars Reignite

Author's Site

Untitled Document Visit the Author's Web Site related to this title.


Untitled Document

To facilitate your work with Rapid Application Development with Mozilla , below please find links to Web-based resources on technologies and standards mentioned in the book.

ActiveState ActiveState produces integrated development environment (IDE) tools for software developers. Their Komodo product is based on the Mozilla platform.

ebXML ebXML (Electronic Business using eXtensible Markup Language), is a modular suite of specifications that enables enterprises of any size and in any geographical location to conduct business over the Internet.

Ecma International Ecma International facilitates the timely creation of a wide range of global Information and Communications Technology (ICT) and Consumer Electronics (CE) standards. From ECMA, you can download the ECMA-262 ECMAScript standard (this is the JavaScript standard).

Fontconfig Fontconfig is a library for configuring and customizing font access. You will find here an explanation of the basics of the Xft font-serving system. Fontconfig is part of freedesktop.org , a free software project to work on interoperability and shared technology for desktop environments for the X Window System.

mozdev.org Mozdev.org is a software development community dedicated to making quality applications and extensions freely available to all computer users. Areas on the site referenced in the text include:

Mozilla Mozilla is a generic term for a cluster of technologies, just as Java and .NET are. Other terms are also used for products and technologies within that cluster. Mozilla's home on the Web is still referred to casually as mozilla.org. Areas on the site referenced in the text include:

Netscape DevEdge Extensive forum for developers that focusses on the use of web standards for accessibility, maintainability, and user interaction.

Nigel McFarlane - Technology in Your Terms Author Nigel McFarlane's Web site. On the site you will find his support page for Rapid Application Development with Mozilla , including the latest updates and errata.

OEone OEone produces products intended to make personal computers easily useable by novices. Their OEone HomeBase product is a custom combination of Linux and an enhanced version of the Mozilla platform called Penzilla. It provides a complete system for interacting with a computer.

PURL A PURL (Persistent Uniform Resource Locator) is functionally a URL. PURLs persist indefinitely, and as long as they do, all instances of such PURLs (for example, links in a Web document or a bibliographic record) remain valid. PURL is a project of OCLC Research , one of the world's leading centers devoted exclusively to the challenges facing libraries in a rapidly changing information technology environment.

World Wide Web Consortium (W3C) The World Wide Web Consortium (W3C) develops interoperable technologies (specifications, guidelines, software, and tools) to lead the Web to its full potential. From W3C, download all of these standards: CSS2 , CSS2.1 , XML 1.0 , XHTML 1.0 , DOM 1 all parts, DOM 2 all parts, DOM 3 all parts, and RDF . These standards are nearly all available in high-quality PDF files and can be viewed electronically with the free Adobe Acrobat Reader .

X.Org X.Org is the worldwide consortium empowered with the stewardship and collaborative development of the X Window System technology and standards.

Sample Content

Downloadable Sample Chapter

Download the Sample Chapter related to this title.

Table of Contents

1. Fundamental Concepts.

Understanding Mozilla Product Names. The XML Environment. Platform Concepts. The RAD Environment. Effective RAD Projects with Mozilla. Hands On: Cranking Up the Platform. Debug Corner: Debugging from Outside. Summary.

2. XUL Layout.

XUL Means Boxes. Principles of XUL Layout. Box Layout Tags. A Box Improvement: <groupbox> and <caption>. General-Purpose XUL Attributes. Good Coding Practices for XUL. Style Options. Hands On: NoteTaker Boilerplate. Debug Corner: Detecting Bad XUL. Summary.

3. Static Content.

XUL and HTML Compared. XUL Content Tags. Understanding Font Systems. Style Options. Hands On: NoteTaker Boilerplate. Debug Corner: The DOM Inspector. Summary.

4. First Widgets and Themes.

What Makes a Button a Button? The Origins of XUL Widgets. XUL Buttons. Themes and Skins. Style Options. Hands On: NoteTaker Buttons and Themes. Debug Corner: Diagnosing Buttons and Skins. Summary.

5. Scripting.

JavaScriptÕs Role as a Language. Standards, Browsers, and <script>. ECMAScript Edition 3. Language Enhancements. MozillaÕs Scriptable Interfaces. Hands On: NoteTaker Dynamic Content. Debug Corner: Script Diagnosis. Summary.

6. Events.

How Mozilla Handles Events. How Keystrokes Work. How Mouse Gestures Work. Style Options. Hands On: NoteTaker User Input. Debug Corner: Detecting Events. Summary.

7. Forms and Menus.

XUL and HTML Forms Compared. Where to Find Information on Menus. Forms. Menus. Style Options. Hands On: NoteTaker Events and Forms. Debug Corner: Diagnosing Events and Forms. Summary.

8. Navigation.

Navigation Systems. Navigation Widgets. Style Options. Hands On: NoteTaker Toolbars and Tabs. Debug Corner: Navigation Problems. Summary.

9. Commands.

Commands and Mozilla. Command Concepts. How Commands Are Started. Using Commands Via XUL. Using Commands Via the AOM. Commands and XPCOM Components. Existing Commands. Style Options. Hands On: Command Design. Debug Corner: Catching Unexpected Commands. Summary.

10. Windows and Panes.

Ordinary <window> Windows. Popup Content. Dialog Boxes. JavaScript Window Creation. Embedding Documents in Panes. Mixing Documents. Managing Existing Windows. Style Options. Hands On: NoteTaker Dialogs. Debug Corner: Diagnostic Windows. Summary.

11. RDF.

Mozilla Uses of RDF. Learning Strategies for RDF. A Tutorial on Facts. RDF Syntax. RDF Examples. Hands On: NoteTaker: Data Models. Debug Corner: Dumping RDF. Summary.

12. Overlays and Chrome.

Overlays. The Chrome Registry. Persisting Window State. Related AOM and XPCOM Objects. Hands On: The NoteTaker Toolbar. Debug Corner: Overlay Tips. Summary.

13. Listboxes and Trees.

Text Grids. Listboxes. Trees. Style Options. Hands On: NoteTaker: The Keywords Panel. Debug Corner: Making <listbox> and <tree> Work. Summary.

14. Templates.

An Example Template: Hello, World. Template Concepts. Template Construction. Common Query Patterns. Template Lifecycle. Scripting. Style Options. Hands On: NoteTaker Data Made Live. Debug Corner: Template Survival Guide. Summary.

15. XBL Bindings.

Binding Concepts. Constructing One XBL Binding. Combining Multiple Bindings. How Bindings Are Processed. Scripting. Style Options. Hands On: The <noteplacer> Tag. Debug Corner: XBL Diagnosis. Summary.

16. XPCOM Objects.

Concepts and Terms. General-Purpose Scripting. Data Transfer. Web Scripting. Platform Configuration. Hands On: Saving and Loading NoteTaker Notes. Debug Corner: Working with Data Sources. Summary.

17. Deployment.

Overview of Install Strategies. Steps Toward Remote Deployment. Install Technologies. Hands On: Bundling Up NoteTaker. Debug Corner: Logging and Testing. Summary.


About the Author.


Untitled Document

Welcome to Software Development the Mozilla Way

The Mozilla Platform is a large software development tool that is a modern blend of XML document processing, scripting languages, and software objects. It is used to create interactive, user-focused applications. This book is a conceptual overview, reference, and tutorial on the use of the platform for building such applications.

The Mozilla Platform encourages a particular style of software development: rapid application development (RAD). RAD occurs when programmers base their applications-to-be on a powerful development tool that contains much pre-existing functionality. With such a tool, a great deal can be done very quickly. The Mozilla Platform is such a tool.

One strategy for doing RAD is to make sophisticated HTML pages and display them in a Web browser. This book does not explain HTML, nor does it show how to create such pages. It has very little to do with HTML. Instead, it shows how to create applications that require no browser, and that might appear to be nothing like a Web browser. Such applications might be Web-enabled, benefiting from the advantages that Web browsers have, or they might have nothing to do with the Web at all.

Because Mozilla is closely linked to the Web in people's minds, this last point cannot be emphasized enough. The Mozilla Platform is far more than a browser. Here are some statistics:

  • Mozilla contains well over 1,000 object types and well over 1,000 interfaces.
  • It is highly standards compliant, supporting many standards from bodies such as the W3C, IETF, and ECMA. These bodies are, respectively, the World Wide Web Consortium, the Internet Engineering Task Force, and the European Computer Manufacturers' Association.
  • Mozilla is built on a very big source code base and is far larger than most Open Source projects. It is 30 times larger than the Apache Web Server, 20 times larger than the Java 1.0 JDK/JRE sources, 5 times bigger than the standard Perl distribution, twice as big as the Linux kernel source, and nearly as large as the whole GNOME 2.0 desktop source--even when 150 standard GNOME applications are included.
  • As a result of the browser wars in the late 1990s, the platform has been heavily tested and is highly optimized and very portable. Not only have hundreds of Netscape employees and thousands of volunteers worked on it, but millions of end users who have adopted Mozilla-based products have scrutinized it as well.

This extensive and tested set of features is a huge creative opportunity for any developer interested in building applications. These features also offer an opportunity for traditional Web developers to broaden their existing skills in a natural way.

This book covers the Mozilla Platform up to version 1.4. Changes between minor versions (e.g., 1.3 and 1.4) are small enough that most of this book will be correct for some time.

Useful Knowledge

Some experience is required when reading this book. Some familiarity with Web standards is assumed. This list of skills is more than enough preparation:

  • A little HTML or XHTML
  • A little XML
  • A little JavaScript, or another scripting language, or one of the C languages (C, C++, C#, Java, IDL)
  • A little CSS2
  • A little Web page development
  • A little SQL
  • A little experience working with objects
  • The pleasure of having read the W3C's DOM 2 Core standard at least once

All the standards for these technologies, except SQL and JavaScript, are available at <www.w3.org>.

To read this book with very little effort, add these skills: a little Dynamic HTML; a little Prolog; more experience with an object-brokering system like COM or CORBA; additional experience with another RAD tool like a 4GL or a GUI Designer; and more SQL experience.

It is common for advanced Mozilla programmers to have a full copy of the Mozilla Platform source code (40 MB, approximately). This book sticks strictly to the application services provided by the platform. There is no need to get involved in the source code, unless that is your particular interest.

The Structure of This Book

Chapter 1, Fundamental Concepts, is an overview of Mozilla. The remaining chapters mimic the structure of the Mozilla Platform. The early chapters are about the front part of Mozilla, comprising XML markup, which displays the elements of a graphical user interface. As the chapters proceed, the subject matter works its way to the back of Mozilla. The back consists of objects that silently connect to other computing infrastructure, like file systems, networks, and servers. To summarize:

  • Chapter 1 is a concept overview.
  • Chapters 2-4 describe basic XUL markup. XUL is a dialect of XML.
  • Chapter 5 explains the JavaScript language.
  • Chapters 6-10 describe interactions between the DOM, JavaScript, and XUL.
  • Chapter 11 explains the RDF data format.
  • Chapters 12-14 describe interactions between XUL and RDF.
  • Chapter 15 explains how to enhance XUL using XBL.
  • Chapter 16 describes many useful XPCOM objects. XPCOM is Mozilla's component technology.
  • Chapter 17 describes how to deploy a finished application.

Within this flow from front to back, each chapter follows a set structure:

  • Facing the start of each chapter is a special diagram called the NPA diagram.
  • The first few paragraphs of a chapter introduce the chapter concepts, expanding on brief remarks in Chapter 1, Fundamental Concepts. Read these remarks to identify whether the chapter is relevant to your need.
  • For more difficult material, these concepts are expanded into a concept tutorial. Read this tutorial material when looking through the book for the first time, or if a concept seems very foreign.
  • Next, all the technical detail is laid out in a structured manner. Many examples are provided to support a first-time read, but this detail is designed to be flipped through and revisited later when you've forgotten something.
  • In later chapters, this reference material is followed by a scripting section that explains what JavaScript interactions are possible. Read this when XUL and RDF alone are not enough for your purposes.
  • "Style Options" describes the impact of the CSS standards on the chapter. Read this when a window doesn't look right.
  • "Hands On" contains the NoteTaker tutorial that runs throughout the book. Read this when you need to get into the coding groove.
  • "Debug Corner" contains problem-solving advice and collected wisdom on the chapter's technology. Read this before coding and when you're really stuck.
  • Finally, the summary closes with a reflective overview and exits gracefully in the direction of the next chapter.

Some of these structural elements are discussed in the following topics.

The NPA Diagram

The core of the Mozilla Platform is implemented in the C and C++ programming languages, using many object classes. To understand how it all works, one could draw a huge diagram that shows all the object-oriented relationships explicit in those classes. Such a diagram would be quite detailed, and any high-level features of the platform might not be obvious. Although the diagram might be accurate, it would be a challenge to understand.

The NPA diagram is a simplified view of Mozilla's insides. NPA stands for not perfectly accurate. It is a learning aid. No one is arguing that Mozilla is built exactly as the diagram shows; the diagram is just a handy thinking tool. There is no attempt to illustrate everything that Mozilla does.

The NPA diagram appears prior to each chapter of this book. The subject matter of a given chapter is usually tied to a specific part or parts of the diagram.

Style Options

Mozilla makes extensive use of cascading stylesheet styles. In addition to features described in the CSS2 standard, Mozilla has many specialist style extensions. An example of a Mozilla-specific style is

vbox { -moz-box-orient: vertical; }

Most chapters contain a short section that describes Mozilla-style extensions relevant to that chapter.

The NoteTaker Tool

NoteTaker is a small programming project that is a running example throughout this book. There isn't room for developing a full application, so the compromise is a small tool that is an add-on. NoteTaker is a Web browser enhancement that provides a way to attach reminder notes (Web notes) to displayed Web pages. The browser user can attach notes to the pages of a Web site, and when that Web site is visited at a later date, the note reappears. This is done without modifying the remote Web site at all. Notes can be created, edited, updated, and deleted.

The browser window shown has a new toolbar, which is the NoteTaker toolbar. That toolbar includes a drop-down menu, among other things. The displayed HTML page includes a small pale rectangle--that is the Web note for the page's URL. That rectangle does not appear anywhere in the displayed test.html file. Also shown is the Edit dialog window, which is used to specify the content and arrangement of the current note.

As an idea, it doesn't matter whether NoteTaker is pure genius or horribly clumsy. Its purpose is to be a working technology demonstrator. Each chapter enhances NoteTaker in a small way so that, by the end of this book, all Mozilla's technologies can be seen at work together.

There is no generally agreed upon technical term for describing NoteTaker. The relationship between the tool and a browser is a little like the relationship between a Java applet and a Java application. It is an add-on that is more than a mere configuration option but less than a plugin.

This example project is attached to a Web browser. Generally speaking, Mozilla applications should run in their own windows with no Web browser in sight. There is no implication that all Mozilla applications should be designed like NoteTaker--it is just that NoteTaker is too small as described here to stand by itself.

Hands On: Tools Needed for Development

Even this short introduction attempts to follow the chapter structure described earlier. To begin development with Mozilla, you need a computer, software, and documentation.

Microsoft Windows, Macintosh, and UNIX/Linux are all acceptable development systems, although MacOS 9 support is slowly being dropped and perhaps should be avoided. The computer does not need to be Internet-enabled or even LAN-enabled after the platform is installed. The Mozilla Web site, www.mozilla.org, is the place to find software. Chapter 1, Fundamental Concepts, discusses software installation in "Hands On."

The sole warning in this introduction relates to documentation. This book alone is simply not enough information for all development needs. It would need to be a 10-volume encyclopedia to achieve that end. Just as UNIX has man(1) pages and applications have help systems, Mozilla has its own electronic reference information. That information complements the material in this book.

Unfortunately, that help information is widely scattered about and must be collected together by hand. Here are the documents you should collect while you are downloading a copy of the platform:

  • From the W3C, www.w3.org, download all of these standards: CSS2, CSS2.1, XML 1.0, XHTML 1.0, DOM 1 all parts, DOM 2 all parts, DOM 3 all parts, and RDF. These standards are nearly all available in high-quality PDF files and can be viewed electronically with the free Adobe Acrobat Reader (at www.adobe.com). The CSS2, DOM 2 Core, and DOM 2 Events standards are the most important ones; the others are rarely needed.
  • From ECMA, www.ecma.ch, download the ECMA-262 ECMAScript standard. This is the JavaScript standard. You can do without it, but it is occasionally handy.
  • From Prentice Hall's Web site, <http://authors.phptr.com/mcfarlane/>, or from the author's Web site, <www.nigelmcfarlane.com>, download sets of XPIDL interface files. These definition files describe all the object interfaces in Mozilla. These files are extracted from the source code and bundled up for your convenience.
  • Also from <http://authors.phptr.com/mcfarlane> or from <www.nigelmcfarlane.com>, download class-interface reports. These specially prepared files are a nearly accurate list of the class-interface pairs supported by the platform. These lists help answer the question: What object might I use? They can be manipulated with a text editor or a spreadsheet.
  • Finally, it would be helpful to possess a Web development book with a JavaScript focus.

If you are very detail oriented and have copious free time, then you might consider adding a full copy of the Mozilla Platform source code (40 MB approximately). That is not strictly required.

It is common for advanced application programmers to retain a full copy of the Mozilla Platform source code (40 MB, approximately). This book sticks strictly to the application services provided by the platform, so there is no need to get involved in the source code, unless that is your particular interest.

Debug Corner: Unreadable Documentation

Make sure that any documentation you download has the right format for your platform. The UNIX tools unix2dos and dos2unix can help; also UNIX files can be read on Microsoft Windows with any decent text editor (e.g., gvim at <www.vim.org>).

The font system on Linux is sometimes less than adequate and can make PDF text hard to read. To fix this, follow the suggestions in the Mozilla release notes. For other font problems, see the discussion on fonts in Chapter 3, Static Content.

Some standards are written in HTML. If you save these files to local disk and disconnect from the Internet, sometimes they display in a browser very slowly. This is because the browser is trying to retrieve stylesheets from a Web server. To fix this, choose "Work Offline" from the File menu, and reload the document.


Mozilla is a massively featured development environment with origins in XML, objects, and the Web, and application developers can easily exploit it. I hope you enjoy reading this book as much as I enjoyed writing it. I wish you many constructive and creative hours exploring the technology, should you choose to take it up. With that said, here we go…


Download the Index file related to this title.


Updates & Corrections

Untitled Document

  • Chapter 1

    Page 35, Section 1.6.5, NoteTaker Preparation:

    In dot point 3, for "chrome" put instead: "content".

  • Chapter 3

    Page 93, Table 3.1, Row 2:

    The properties -moz-border-radius-topright and -moz-border-radius-bottomleft (in columns 2 and 3) should be inserted in the first column underneath the property -moz-border-radius-topleft.

    Similarly, in row 4, -moz-border-top-colors and -moz-border-left-colors should be inserted in column 1 underneath -moz-border-bottom-colors.

  • Chapter 7

    Page 249-250, Listings 7.2 and 7.3:

    The third argument to open(), which controls the synchronous or asyncronous behaviour of the method is stated in reverse. The default is true, meaning asynchronous behaviour.

    In Listing 7.2 req.open() should have an explicit false argument; in Listing 7.3, req.open() should have no third argument (or it should explicitly be set to true). The comment in Listing 7.3 is also incorrectly reversed.

    As an aid to readers of Rapid Application Development with Mozilla, we are providing for download in compressed archives XPIDL interface defintions, class-interface reports, and code for the NoteTaker example project.

    Download the files for the platform of your choice:

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020