The Mozilla
Organization
At A Glance
Feedback
Get Involved
Newsgroups
License Terms
Newsbot
Developer Docs
Roadmap
Projects
Ports
Module Owners
Hacking
Get the Source
Build It
Testing
Download
Bugzilla
Bug Writing
Tools
View Source
Tree Status
New Checkins
Submit A Bug
FAQ
Search

The Gecko BugAThon

Help save Gecko engineers from imminent doom!

 Contents:

What is the BugAThon?

A call for volunteers: a quick check in Bugzilla shows that Tom Pixley, Chris Karnaze, Kipp Hickman, and Eric Pollman currently have 371 open bugs between them, of which 300 have blank status entries and need to be decomposed to a simple test case. Collectively, they are The Most Doomed of the Doomed.

Do you care about web standards? Do you hate working around browser bugs? Don't just stand there--with engineers bleeding by the side of the road to shipping Gecko, are you going to be the Philistine or the Good Samaritan?

You can help, and you don't need to be a C++ engineer! Simplifying bug reports to the simplest possible test case doesn't take too long per bug, but when you've got this many bugs, it really adds up. And every hour Gecko engineers spend decomposing bug reports is an hour they can't spend on FIXING bugs. The more bugs net volunteers simplify, the faster Gecko engineers can fix them, and the fewer bugs we'll ship!

So, in the spirit of public television telethons, here's the deal: if you sign up and decompose to a simple test case the listed number of bugs to the owner's satisfaction, you will earn the listed valuable reward:
 
Pledge Level Reward
5 bugs invitation to the Gecko launch party
10 bugs the invitation, plus an attractive Gecko stuffed animal
12 bugs the invitation, plus an attractive Gecko stuffed animal autographed by Rick Gessner, the Father of Gecko
15 bugs the invitation, plus a Gecko T-shirt
17 bugs the invitation, plus a Gecko T-shirt signed by the grateful engineer
20 bugs the invitation, plus a Gecko T-shirt signed by the whole raptor team

What is a Simplified Test Case?

A simplified test case means the simplest possible web page that still reproduces the bug. If you remove any more characters from the file of the simplified test case, you no longer see the bug. To turn a web page that shows a bug into a simplified test case, you:
  1. Open a Bugzilla account and download the latest milestone build of the Mozilla browser.
  2. To claim a bug, choose one of the open bugs from the search links below and enter [MAKINGTEST] and your email address in the "Status Whiteboard" field so others know you've claimed it and effort isn't duplicated.
  3. Download the web page that shows the bug to your local machine.
    • Make sure to download any linked JavaScript .js files, CSS .css files, frameset .html files, or image files as well. You can find the names of those files and figure out the URLs to get them by doing a View-->Page Source on the main page. For example, if http://www.foo.com/resume.html contains an IMG link to mypicture.jpeg, you'll want to type http://www.foo.com/mypicture.jpeg into the browser, then right click over the image and Save Image As ... to the same directory you put resume.html in.
  4. Using a text editor (like Notepad on Windows, SimpleText on the Mac, or vi or emacs on UNIX), start removing HTML markup, CSS rules, and lines of JavaScript from the page. Start by removing the parts of the page that seem unrelated to the bug. Every few minutes, check the page to make sure it still reproduces the bug.
  5. When you've cut away as much HTML, CSS, and JavaScript as you can, and cutting away any more causes the bug to disappear, you're done. Attach the test case to the Bugzilla bug report (as a ZIP file if the test case includes multiple files) and mark the bug [TESTCASE] in the "Status Whiteboard" field so engineering knows the bug is ready to be crushed.

The Rules

Please only claim five bugs at a time and decompose those five bugs to test cases before you claim the next five. This is to prevent people from signing up from 20 bugs, procrastinating, and then dropping out of the BugAThon, which would prevent others from claiming the bugs and the prizes.

The fine print:

  • bugs resolved as DUPs (duplicate of another bug report), WORKSFORME (when you do the test yourself, you don't see the bug), and INVALID (reporter misunderstanding or other problem with the report) instead of as valid with a simplified test case only score as half a bug each. Example: 9 valid bugs with test cases plus 2 DUPs plus 4 WORKSFORME count as 12 "finished" bugs and earn you an autographed stuffed animal.
  • If a testcase already exists as an attachment or is referenced within the notes and you verify that it's definitive and can't be simplified further, that counts.
  • If you get all the way up to the group-signed T-Shirt, you *can* qualify for a stuffed animal as well by doing 12 more.
To qualify as a finished bug, the bug must be completed with:
  • an attached simplest-as-possible test case
  • the summary line updated if necessary
  • a status message reading [TESTCASE] plus a statement of what needs to be fixed to the extent you can explain it
  • the description written up in accordance with the mozilla bug writing guidelines at  http://www.mozilla.org/quality/bug-writing-guidelines.html
  • the engineer's verbal agreement to me (when the prize is claimed) that it's been decomposed satisfactorily
When you're ready to claim your bounty for squashing your bugs, email ekrock@netscape.com with:

i) your name
ii) your physical mailing address
iii) your list of finished bugs
iv) your score (iii modified for DUPs/WORKSFORME/INVALID)
v) the reward(s) you're claiming
vi) your T-shirt size if claiming a T-shirt

So it's a race! The easiest bugs will go first, so act now to claim and crush YOUR bugs. Ladies and gentlemen, start your browsers!!!

How to Find Open Bugs with Blank Status Lines

Use these links to open bugs with a blank status field:

Vidur Apparao (JavaScripters, click here to attack Document Object Model bugs!)
Tom Pixley
Chris Karnaze
Eric Pollman
Kipp Hickman

Or, if you prefer, you can go to http://bugzilla.mozilla.org/query.cgi and manually search with these parameters:
 
Status NEW or ASSIGNED or REOPENED [select all 3]
Email karnaze Assigned To
Status whiteboard ^\s*$ regular expression

Substitute vidur, joki, pollman, or kipp for karnaze to find Vidur Apparao, Tom Pixley, Eric Pollman, or Kipp Hickman's bugs.

If you want to look at [TESTCASE] bugs (bugs which already have a finished test case), you can use these links: Vidur, Tom, Chris, Eric, and Kipp.

Update: Vidur Apparao added to the BugAThon for Document Object Model Bugs!

Just two weeks ago, Vidur was concerned that he didn't have enough Document Object Model (DOM) bugs filed against him, and he even asked me to help get more people testing our DOM support.

What's the DOM? The DOM is the object model of HTML elements on the page which we access from JavaScript. It has three levels:

  • The DOM level 0 has no formal definition, but it refers to the core browser DOM for forms, frames, windows, and events that was supported by Nav3 and IE3. It's important to make sure Gecko's support for DOM0 is solid to avoid breaking the JavaScript pages that are out on the web already. The DOM0 includes HTML document objects like document.forms[index], images[], applets[], links[], forms[], and anchors[]; document methods like open(), write(), and close();  the window object and methods; and HTML events such as onclick, mouseover, and onsubmit.
  • The DOM level 1 is the industry standard Document Object Model formally defined by the W3C with Core language-independent features (such as the Node interface for getting and setting attributes) as well as HTML-specific features, many of which are also considered "DOM0" functionality.
  • The DOM level 2 is currently under development. It adds features such as event capturing, handling, and bubbling and the ability to set style sheet properties.
In a classic example of how you should be careful what you ask for, suddenly Vidur's open bug count has jumped from 40 to 112--and I haven't yet lifted a finger! Vidur swears he didn't have one too many at the cantina before the last milestone. We have our doubts, especially because he was in charge of moving the bottomless keg from Building 22 to Building 21, and we think he may have taken personal responsibility for "cleaning it out" before the move. (Vidur's a very conscientious guy, you see.)

We'll be watching Vidur (and the keg!) more closely in the future. In the meantime, Vidur is now Respectably Doomed, and in sympathy, we're adding him to the BugAThon. Do you know JavaScript? This is the perfect chance for you to help. We need to get Vidur's open, no-status bugs reduced to simple-as-possible test cases. That means stripping out as much JavaScript and HTML from the test page as you can while still reproducing the bug. The less time Vidur spends simplifying bug reports, the more time he can spend fixing bugs.

And let's face it: we JavaScripters have a real interest in getting these bugs fixed. The more DOM bugs Vidur fixes, the fewer we'll have to work around when the product ships! So let's spend time now to find, fix, and simplify DOM bugs instead of spending time after the release working around them! JavaScripters, let's simplify Vidur's open, no-status bugs today!

P.S. The usual disclaimer about DOM support in Gecko: Gecko will fully support DOM0 and DOM1. There is no commitment to support any of DOM2 in the first release of Gecko or Nav5, but some support is in the current builds and we of course welcome bug reports regarding that functionality.

P.P.S. When you file new Document Object Model bugs in Bugzilla, be sure to use the correct component:
 
Component Meaning
DOM Level 0 Incompatibilities with the DOM of Nav3. (Mark [4.xP] in the Summary field.)
DOM Level 1 Incompatibilities with the W3C DOM1 specification. (Mark {dom1} in the Summary field.)
DOM Level 2 Incompatibilities with the latest working draft of the under-development W3C DOM2 specification. (Mark {dom2} in the Summary field.)
JavaScript Engine Don't file DOM bugs against "JavaScript Engine"! The JavaScript Engine component is only for core JavaScript (ECMAScript) language and interpreter bugs

If you haven't already, please read the description of what each Browser component name in Bugzilla means.

Update: Gecko BugAThon Deadline Eliminated!

The BugAThon is going great! Look at these displays of major heroism:
  • In just the first two weeks of the effort, we cut Chris Karnaze's open, no status bug list from 164 on 6/23 to 47 on 7/6!
  • Ian Hickson stayed up until 5:40 a.m. and simplified 18 bugs the first night of the BugAThon, and has processed over 42 bugs to date total!
  • Sam Allen's resolved 35 bugs as DUPs!
  • Look at all these test cases we've created for Tom, Chris, Eric, and Kipp!
... and read these comments from participants:
  • "As a result of announcing the bug contest, I've gotten a bazillion bugzilla notifications today." -- Chris Karnaze
  • "The thing is, I am quite happy to work for Mozilla just to get a decent, free, standards compliant browser onto the market. That is an incentive in itself. The rest is just a bonus...." -- Ian Hickson
  • "Glad I could help. I've made a recent move from HTML/JavaScript/CSS development to QA and was glad to get some practice in. I would be happy to do some beta testing in the future as well if you need it." -- Erin Pierce
Because the BugAThon is going so well and so many people have expressed interest in participating going forward, we're eliminating the August 15th deadline and making the BugAThon an ongoing effort. (Rick and Eric aren't guaranteeing that we'll buy and mail stuffed Geckos until the end of time, but we're eliminating the August 15th deadline and will keep awarding prizes for the foreseeable future.) Welcome to all new Net contributors!


A categorized list of some open karnaze bugs on Monday September 13th at 2:00 p.m.:

images
3943 Two images overlapping

frames
6724 Frames

table layout
1825 Right-aligned table cell on this page doesn't layout properl
4325 display:table-cell on HEAD and BODY not very successful
3681 Table column widths not properly calculated when reset
4926 second <tr> overlaps image in first <tr>
6388 [PP]COLGROUP attribute/value 'width=rel' not working properl
3094 Layout problem with filled table cells


Disclaimers: Conditions subject to change without notice. Rewards subject to substitution with goods of equivalent value. All decisions are final. This is not an official contest. It is not sponsored by mozilla.org, Netscape Communications, or America Online; it is an incentive program to recognize Internet volunteers which is being run by Rick Gessner and Eric Krock directly.

Copyright © 1998-1999 The Mozilla Organization.
Last modified September 13, 1999.