April 27, 2007

Making Tiny Things Public Domain

I was emailed recently by someone authoring testcases. Such files can often be just one or two lines long, and so having a 30-line tri-license block in them seems overkill. They asked if it were possible to simply put them in the public domain.

After consultation with lawyers, we've agreed that it's fine for people writing testcases and other such fairly trivial code to use the following 2-line boilerplate (with appropriate comment characters):

Any copyright is dedicated to the Public Domain.
http://creativecommons.org/licenses/publicdomain/

I hope that makes some people's lives simpler :-)

Posted by gerv at 12:10 PM | Comments (3)

April 25, 2007

GPLv3 Draft 3 Comments

I recently sent my comments on GPL version 3 draft 3 to the FSF, and now I've marked them up and put them on gerv.net. I think I found at least one bug in the latest draft, in the new language on User Products.

It's interesting that there's been relatively little discussion of GPLv3 within the Mozilla community. Is that because we all think it's uncontroversial? :-)

Posted by gerv at 1:36 PM | Comments (5)

April 23, 2007

Column Sorting Usability: Results

I had a great response to my 3-Question Usability Quiz - thanks for everyone who participated and who commented. I asked people (perhaps unnecessarily) not to comment too much on the questions in the previous thread, so feel free to do so now.

Results (from those who actually answered all three questions):

ChoicesCount
Left, A, A12
Right, B, A5
Left, B, A2
Right, A, A1
Left, B, B1

So our first conclusion might be that there is certainly disagreement on how this should work :-) This could be a factor of the particular UI chosen or of column sorting in general. Several comments about "I just click until I get what I want" suggest the latter is certainly a factor.

Several people made the important point that using triangles is always going to be confusing - because some people will think of the triangle as an arrow, so that "A" is where the base is and "Z" is where the tip is, whereas other people will think of it as a widening, so "A" is the small tip and "Z", being bigger, is the widest part. This is interesting, because most UIs of this sort do use triangles. The solution seems to me to be to use explicit arrows, such as ↑ (↑) and ↓ (↓). (Pirates must like those entities...)

Having two arrows means that there's always a UI and affordance for sorting, but it is almost certainly an example of the UI principle where giving people two ways to do something actually loses them time, because they have to choose between them. It also implies that it's equally likely that the user will want to sort in either direction, which is usually not the case - A-at-the-top is more commonly wanted by far.

However, keeping the affordance is good. So here's a mockup of my suggested UI for this sort of sorting:

Animal  Family Price 
aardvarkOrycteropodidae£150
gnuBovidae£340
hippopotamusHippopotamidae£579
warthogPhacochoerus£187
zebraEquidae£265

There are arrows on all columns on which the table can be sorted, to show this fact. Clicking the arrow sorts the column from the smallest item at the top to the largest at the bottom - I think a downward-pointing arrow is reasonably unambiguously correct for this. There is a highlight on the arrow on the column by which the table is currently sorted, to differentiate it from the rest. Clicking this arrow again reverses the sort (this is a more advanced feature, which people can discover).

And what was the point of all this? The UI I used was from BookEx, a book-selling web app that I've just become co-maintainer of because I've put up a private installation for some people. I didn't think the UI was very good, but I wanted to find out why it seemed wrong to me. Thanks for helping me find out :-)

Update: After a little more thought, there are some other options for the symbols. For example, by analogy with "twisties", you could have the "unsorted" arrow be , converting to a downward arrow when clicked. Or, you could have the sorted arrow be to differentiate it further. One would need to work within the HTML 4 Entity List, of course.

Posted by gerv at 11:24 AM | Comments (15)

April 20, 2007

3-Question Usability Quiz

Brief usability quiz - please come up with your answers quickly, without thinking about it too hard, and without referring to any favourite apps which have this feature.

If you have tabular sortable data, and each column has a title and then two little sort arrows like this:

Animals
hippopotamus
aardvark
zebra
warthog
gnu

1) If I said "point to the 'ascending sort' arrow", is that the left hand one or the right hand one? Remember, don't think about it, just answer.

2) If you click the upward-pointing arrow, the one on the left, do you expect A or B?

A

B

Animals
aardvark
gnu
hippopotamus
warthog
zebra
Animals
zebra
warthog
hippopotamus
gnu
aardvark

3) Look back at the lists A and B. Which one is in ascending order - A or B?

Feel free to then go away and find out what your favourite apps do and whether it matches, but please don't add that information to the comments for a day or two, to avoid biasing other people.

Posted by gerv at 7:36 PM | Comments (35)

Weekly Status 2007-04-20

This Week

  • Carefully considered and wrote comments on GPLv3 draft 3, and sent them to the FSF; may publish them soon as well
  • Started to nail down procedure for getting certs included in root store and Firefox point releases; current plan is to check in and wait for next NSS point release
  • Filed technical inclusion bugs for first three CAs to complete evaluation (QuoVadis, DigiCert, GlobalSign)
  • Continued progress on sundry other CA applications - see Bugzilla
  • Started working on JSS-based tool to analyse certificates for flaws or concerns
  • Finished mozilla.feedback.* discussion; now waiting for new groups to be created
  • Took Thursday off to do personal stuff and have a chest CT scan (nothing untoward found)
  • Some SoC cleanup - trying to find homes for a few special unfunded projects

Next Week

  • More CA-related work
  • Finish certificate analysis tool
  • Teleconference with beltzner/johnath/window etc. about latest CA/Browser Forum draft

The Week After

  • Travel to Mountain View
  • Visit the MoCo office and various people therein
  • CA/Browser Forum meeting (Thu/Fri)
  • CHI conference, if there's time
  • Travel on to Toronto on the Saturday
  • Meet with beltzner and johnath on the following Monday
Posted by gerv at 4:58 PM

400,000 Bug Sweepstake - Deadline Approaching

The entry deadline for the 400,000 bug sweepstake (entry instructions) is next Monday. Get your entries in now! It only takes a minute.

I've had quite a lot fewer entries for this contest than previous ones - and I can count on one hand the number of names I immediately recognise. Not a single MoCo or MoFo employee has entered. Is there some promotions-related law that no-one's told me about that prevents them? Or are people just not bothered? Or do we need better prizes? :-)

Posted by gerv at 10:09 AM | Comments (6)

IETab Considered Harmful?

This Slashdot article talks about MovieLink requiring either IE, or Firefox with IETab. I think that's the second site I've seen suggest this in less than a week.

The harm is that this 'solution' still excludes everyone on a Mac or on Linux, and its availability also makes the site far less likely to change to support Firefox properly. In other words, whereas before Mac and Linux users could add Windows Firefox users to their numbers when petitioning sites to upgrade to support web standards, the existence of IETab divides those two groups and gives those of us using non-Windows operating systems, and those who want to see sites supporting standards properly, far less clout.

I'm sure it's very handy for web developers for testing purposes, but is IETab actually working against what the Mozilla community is trying to achieve?

Posted by gerv at 8:30 AM | Comments (19)

April 17, 2007

Botnet Statistics

A picture is worth a thousand words. In the case of the bottom graph on this page, I suspect a lot of them would be unprintable. After a long period of stability, that's a ninefold increase in six weeks.

Posted by gerv at 8:58 AM | Comments (1)

April 13, 2007

Weekly Status 2007-04-13

This Week

  • Launched 400,000 Bug Sweepstake - get your entries in!
  • Finished last-minute frantic SoC conflict resolution and application triage
  • We got 10 slots, up from 8 two hours before the deadline - Leslie Hawthorn at Google is a star
  • Here's the list of accepted students - 1 extension, 1 Camino, 1 SeaMonkey, 2 Thunderbird, 5 Firefox
  • I am mentoring a student to write an RFC for and implement Link Fingerprints
  • We are looking at alternative sources of funding for some proposals which missed out
  • Reviewed several Bugzilla patches relating to custom statuses, which it is becoming increasingly clear we need in the Mozilla project (NEEDINFO, READY etc.)
  • Designed workflow-editing UI for when we have custom statuses
  • Completed CA application assessment for Keynectis and posted to newsgroup
  • Started evaluations for IdenTrust, S-TRUST and SwissSign
  • Pinged the applicants who haven't responded for a month

Next Week

  • Much less SoC work :-)
  • Join W3C HTML Working Group
  • If there have been no objections, file technical inclusion bugs for the first three CAs who passed evaluation
  • Start work on certificate analysis tool to check potentially-included root certificates for problems
  • Drive new Bugzilla resolution discussion to completion
  • Same with mozilla.feedback.* rearrangement
  • Thursday afternoon off for a chest CT scan
Posted by gerv at 6:31 PM | Comments (2)

SoC Project List Announced

The final list of funded SoC projects has been announced by Google. I'm pleased to say we finally got 10 slots, which went to 1 extension, 1 Camino, 1 SeaMonkey, 2 Thunderbird and 5 Firefox projects. We had a large number of excellent applications (along with some not-so-good ones) and are actively looking at alternate means of funding some of those that didn't make the cut.

Some comedy application titles from those which just missed out:

  • features
  • need assistance?
  • My Project
  • <name> Letter of Intention and Personal information
  • I want to join you
  • General Programmer
  • Confidence,Capacity and ambition

And last but definitely not least, in any way (given that it was submitted twice):

  • ALGORITHM TO FIND AND VALIDATE THE ORTHOLOGUS AND PARALOGOUS SEQUENCE FOR PHYLOGENTIC ANALYSIS
Posted by gerv at 3:51 PM | Comments (1)

April 9, 2007

Bugzilla 400,000 Bug Sweepstake

It's that time again! :-) The bugzilla.mozilla.org bug database will soon hit another major milestone and, as is traditional, I'm running a sweepstake on exactly when that will be.

So please email me using this link, filling in the date and time you think bug 400,000 will be filed. As the link suggests, your entry should be on the first line of your email, and formatted as follows:

2007-06-05 01:23:45 bugzilla-id@example.com

All times are in ZST ('Zilla Standard Time, a.k.a. Pacific Time, as displayed in Bugzilla timestamps), and the email address must be your Bugzilla ID. If you prefer to be contacted on a different address, add that as well, on the end of the same line in brackets. We have ample graphs and charts (requires editbugs) to help you with your assessment.

This is a Mozilla community event. To keep it that way, entrants must have a Bugzilla account on bugzilla.mozilla.org created before the end of February 2007, and which has done something useful in the past six months. I'll check those who are closest, and keep discarding entries until I find one which meets these criteria. Therefore, there's no point posting this to Slashdot or any other non-Mozilla-focussed news source.

The judge's decision is final, and any funny business regarding the filing of bugs on or around the 400,000 mark will be frowned upon. The closing date for entries is midday ZST on Monday 23rd April.

The winner and two runners-up will get some Mozilla or Firefox merchandise. Things may change, but we currently plan to give the winner a Firefox Fathead - a copy of the logo over a metre across to put on your wall, not currently available in the store. 2nd and 3rd will get a laptop bag, a fleece or something of that nature.

Posted by gerv at 12:10 PM | Comments (6)

Weekly Status 2007-04-08

This Week

  • With chofmann, triaged remaining SoC applications in multiple stages as the week progressed
  • Compiled "6 months on" data for 2006 SoC and wrote a blogpost; bottom line is that last year was much better than the year before
  • Found mentors for all but three SoC projects that we consider worthy; still seeking mentors for MathML, Accessibility and XSLT projects
  • Started negotiations regarding those students who have been assigned mentors by multiple projects
  • Continued Discussion in mozilla.dev.planning about possible new Bugzilla resolutions
  • Discussion in .l10n about helping open-tran.eu to avoid encouraging people to commit copyright infringement
  • Wrote a proposal for rearranging the mozilla.feedback.* newsgroups
  • Made some comments on the GPLv3 draft 3 in their webtool
  • Finished assessment of GlobalSign, QuoVadis and DigiCert CAs, and opened the two-week comment period for each application
  • Continued assessment progress on other CAs
  • Took Good Friday off

Next Week

  • Work out final funded SoC project list
  • Start looking at the final three complete CA applications (there are several others which are still incomplete)
  • Start work on certificate analysis tool to check potentially-included root certificates for problems
Posted by gerv at 10:53 AM

April 5, 2007

Free Software Hacker Name Chains

OK, this is entirely random. At FOSDEM this year, I was sitting in front of Jeremy Allison and Allison Randal. I mentally placed Randal Schwartz on the end to make a 3-person free software hacker name chain. How many more are there, I wondered?

Here's what I have so far, thanks to a little help from Wikipedia. The first one is a perfect 10, as all the names match exactly and they are all free software people. In order of decreasing quality, then:

  • Jeremy Allison (Samba) -> Allison Randal (Perl) -> Randal Schwartz (Perl)
  • Rusty Russell (ipchains/netfilter) -> Russ(ell) Nelson (OSI) -> Nelson Bolyard (NSS)
  • Kristoffer Ericson (jlime Linux) -> Eric Raymond (fetchmail) -> Raymond Chen (Er... Microsoft; never mind)
  • Brian Paul (Mesa) -> Paul Vixie (cron)
  • George Williams (FontForge) -> William Jolitz (386BSD)

Also, a guy called Rick Adams founded UUNet, and I'm sure there are plenty of free software programmers beginning with "Adam".

Can anyone improve on my chains, or produce ones of their own?

Posted by gerv at 5:58 PM | Comments (9)

April 4, 2007

Only Browser Geeks Need Apply...

The Alliance and Leicester Building Society's "3D Secure" secure internet shopping service has the following requirements:

What are the system requirements for 3D Secure?

3D Secure requires the use of Windows Microsoft® Internet Explorer 5.5 and 6.0, Windows Netscape® 7.1 and 7.2, Windows AOL ® 9, Windows Firefox® 1.0 and Macintosh Safari®.

Wow. It's a pretty small and exclusive clientele who can run all of those at once. I guess you'd need a Mac (for Safari) running at least two copies of Parallels (one for each version of IE)...

Posted by gerv at 9:42 AM | Comments (4)

April 3, 2007

DRM-Free Music from iTunes

DRM-Free Music from iTunes. Great! Two questions:

  • Can I currently buy them while running Linux?
  • Can I play them using only free software?

I'm fairly sure the answer to the former is still no. But I might well boot into Windows (I still have the copy of XP which came with my PC), install iTunes and buy some tracks just to give Apple and EMI a pat on the back, if I knew there was a free implementation of AAC or whatever it is to play them with. Is there?

Posted by gerv at 5:39 PM | Comments (19)

CVS Poetry (Part 3)

The third in an occasional series. The timeless words of Psalm 23, written in CVS checkin comments. I chose it because, when I walked through the valley of the shadow of death, this psalm taught me to fear no evil, because God was and is with me. What a wonderful truth!

As last time, it's not quite perfect; bugzilla.org had a big repository rearrangement half way through.

Posted by gerv at 10:54 AM | Comments (2)

April 2, 2007

Release Note Comparison

One demonstration that the OpenOffice.org guys still have a way to go on the user-friendliness front:

Of course, ours could do with further improvement too. If they are going to suggest hacking prefs via about:config, they could at least link to instructions.

Posted by gerv at 5:27 PM | Comments (11)

Summer Of Code 2006 - Six Months On

Six months ago, the Google Summer of Code 2006 finished, and the twelve Mozilla-related projects submitted their final reports. Just as after the 2005 SoC, I've spent some time looking into the current status of all the projects, and thought I would share those results with you.

I should say before I start that the following assessment is just how I see it, sometimes based on limited information. People with better knowledge should feel free to ask me to make corrections.

Name Student Mentor Story Mentor Happy? Current Status Code useful to Mozilla? Student Still Involved?
Mozilla and D-BUS Integration Christophe Nowicki Darin Fisher This student produced progress reports on his blog, and seemed to get started, but it all got a bit bogged down. There is code available, but not much evidence that it does anything useful. Yes Stalled; code is here Not really No
Implementation of APNG Andrew Smith Vladimir Vukicevic This student worked on and implemented animated PNG, to the satisfaction of all concerned. Yes Integrated into trunk on 2007-03-20 (bug 257197) Yes Yes
Rewrite of Cairo's 2D rendering library Eric M. Hielscher Stuart Parmenter This project changed course mid-stream, rather - the end result was an AGG surface backend for Cairo. Student site. Yes In Cairo GIT, maintained by Vlad Unknown No
Develop JS libraries for common Thunderbird tasks Oren Nachman David Bienvenu This student made some improvements to Thunderbird to ease the lives of extension developers. Example bug, student site/final report. Yes Code checked in Yes Unknown
Enhanced Page Info window Florian Queze Mike Beltzner This work went well (log of work done), but got stalled for a long time on UI review. Yes Very nearly integrated into trunk (bug 339102) Yes Yes
XUL editor plugin for Eclipse Lian Liming Benjamin Smedberg This student discovered that the underlying Eclipse technologies also needed work, which added more effort. But an alpha version was produced. Student home page. There has been no work done since the end of the SoC. Yes Alpha code available here Probably not in its current state No
Thunderbird spam filter testing and improvements Anthony Urso Scott MacGregor The mentor was positive about the experience but the student seemed less so. Most of the interaction was private and so I can't find records or the final code to make a judgement. Yes Unknown - I can't find the code Possibly No
Giving web developers a better JavaScript debugging experience Gijs Kruitbosch Mike Shaver This student did a great deal of work to improve JavaScript debugging both with Venkman and Firebug. Status page. Yes Integrated into trunk Venkman and latest Firebug Yes Yes (but was already a developer)
Improvements to the Camino tabbed browsing experience Desmond Elliott Mike Pinkerton This student did a solid job implementing various tabbed browing improvements in Camino. Tracking bug, final report. Yes Integrated into trunk Camino (not 1.x branch) Yes Yes
CZilla Translator - tool to manage translation of Firefox, Thunderbird and extensions Jan Matousek Zbigniew Braniecki This one never really got off the ground; the student had a busy personal life, and the student and mentor had communication difficulties. No No code to speak of No Yes, in Czech community
Glitz improvements Daniel Amelang Vladimir Vukicevic Exams and illness meant that this student didn't even get started by the midterm evaluation. No No code came out of the SoC No Yes - Daniel is now part of the Cairo community
ZipWriter Lan Qiang Benjamin Smedberg This student did not communicate well with his mentor, who felt that the quantity of work was not all that it should have been. No Code is in Bugzilla and on his own site, but was not of usable quality at the end of the SoC. Not in its current state Now involved in another open source project

Note the massive contrast with 2005, when all ten projects basically failed. Of the 12 projects from 2006, 9 had happy mentors at the end, 5 had code which was immediately and directly useful to the project, and several people are still part of either the Mozilla or another open source community. Let's hope this improving trend continues in 2007.

Posted by gerv at 2:43 PM | Comments (2)