July 30, 2008

Firefox 3.1 Will Support Ogg

Mike Shaver, Interim VP of Engineering at the Mozilla Corporation, just announced that both Vorbis and Theora will be shipping in Firefox 3.1 as part of our <video> and <audio> HTML5 tag support. As Blizzard says, "it’s a great first step in bringing open video to the web by delivering it to a couple hundred million people around the world."

Last night's nightlies had the code switched on - grab them and try it out :-)

Posted by gerv at 7:29 PM | Comments (11) | TrackBack

July 29, 2008

Bugzilla Reorg Date and Time

Barring a crisis, the Bugzilla Products and Components Reorganization will finally be happening this Thursday evening, 31st July, from 11pm Pacific Standard Time (that's from 6am UTC Friday morning). Bugzilla will be disabled for an hour or two. Sorry if this isn't as much notice as you'd like, but we want to take advantage of the lull in usage provided by the Firefox Summit. Spread the word :-)

Remember, you'll need to check and perhaps update your saved searches after we have finished.

Posted by gerv at 6:05 PM | Comments (1) | TrackBack

July 21, 2008

OSCON

I'm at OSCON this week. If you are too, and you want to catch me, here's my public schedule, which I don't promise necessarily to stick to, but it's a good place to start :-)

Incidentally, I believe that the software that powers this conference scheduling is called Pentabarf, which must be in the running for the worst name for a software project ever.

Lastly, apropos of nothing, if you need to screw up a tiny screw like a laptop screw and don't have a screwdriver, a carefully-sculpted fingernail works very well :-)

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

July 17, 2008

Signing the New Committer's Agreement

We recently updated the Mozilla Committer's Agreement, and are looking to get current contributors to sign the new version. One important change is that it's now a real agreement with an actual legal entity - the Mozilla Foundation.

So all Firefox Summit attendees who have CVS, SVN or Hg accounts (which will be most of you) will be asked to sign the new Committer's Agreement during the Summit registration process. (This is because it's a very convenient time to catch people.) You will be asked to sign it even if you have not signed the old agreement; we have decided that it's best if everyone with a source control account completes one.

Please review it now and email me if you have any questions. There is a FAQ and a summary of changes from the original agreement which you may find useful.

Everyone else, feel free to review the agreement but please wait before submitting forms. In a month or two we hope to have an electronic system which will make this easier for everyone involved. (If this doesn't pan out, we'll fall back to paper, but for now, hold your fire.)

Posted by gerv at 6:43 PM | Comments (6) | TrackBack

July 16, 2008

OpenAjax Alliance Runtime Initiative - Voting Results

The OpenAjax Alliance is "an organization of leading vendors, open source projects, and companies using Ajax that are dedicated to the successful adoption of open and interoperable Ajax-based Web technologies." MoCo is a member, along with a lot of other companies

Their "Runtime Advocacy" taskforce has spent the last six months canvassing opinion on features they think should be added to browsers, and getting votes on which are the most important. The Summary Report was published today. Here are the top ten feature requests, with a quick analysis of where the Mozilla project is on each:

  1. 2D Drawing/Vector Graphics. This is basically a cry for IE to support SVG. They also ask for SVG 1.1 Full support (I'm not sure what our current state is; perhaps roc can comment?) and text support in <canvas>, for which we have an experimental API in Firefox 3.

  2. Better Security for Cross-site Scripts. We're proposed Site Security Policies (which may undergo a name change) for feedback; bsterne is currently ingesting it all in order to update the proposal. I've also proposed Script Keys.

  3. Better APIs about positioning and styling. This seems to be another "please fix IE" request. The only API mentioned, getBoundingClientRect, is in Firefox 3.

  4. HTML DOM Operation Performance In General. It doesn't say what version of Firefox they tested, but even if it was 3.0 alphas, the performance numbers for this request were done in January, before the Firefox 3 performance push around beta 4. We still smoked IE in every test they did, splitting first place with Safari. If the author of the page ("Cwei") could redo the tests against 3.0, that would be useful.

  5. Better Support for Rich Text Editing. As the Summary document notes, "various people in the Ajax community want to move desktop-like document editing into the browser. However, the contributors to this feature request did not outline a detailed strategy for how to accomplish this in future browser." The page has some useful feedback from Frederico Caldeira Knabben (of FCKeditor) on what he found difficult; we should take note of that. Otherwise, define your requirements more specifically :-)

  6. The Two HTTP Connection Limit Issue. Both IE 8 and Firefox 3 have raised the limit here from 2 to 6, which helps. Having the server specify how many connections it would like is an interesting idea; perhaps our network team could comment.

  7. Better UI Layout Support. They want something like XUL hbox and vbox in HTML. David Baron recently reintroduced the CSS flexbox spec on the W3C CSS mailing list.

  8. Native JSON Parsing. Done for Firefox 3 (docs).

  9. Persistent Connections Issue. Increasing the HTTP connection limit helps to avoid lockup in the short term. We also have offline events and state detection. Exactly what to do in the longer term is still being worked out - it may involve the WHATWG WebSockets spec.

  10. Video and Audio. Patch checked in - should be in Firefox 3.1 :-)

    Posted by gerv at 6:40 PM | Comments (3) | TrackBack

Travel Observations

Observations from a long day's travelling:

  • Delta's menu card has two identical sides. Both I and the lady from Microsoft sitting next to me spent 30 seconds trying to see if the two sides were different in any way (and they were, in a tiny and irrelevant fashion). A clear real-world example of the UI principle that giving people two ways to do something slows them down, because it takes longer to choose the method than the time saved by having two options.

  • Apparently, you are disqualified from sitting in an exit row on Delta if you are travelling with an "emotional support animal", something apparently different to a "family pet" or a guide dog. What is one of these, and who needs one?

  • Delta's 767 entertainment system keeps running until you get right to the gate, as opposed to being shut down twenty minutes before landing, as seems to have happened on every flight I've been on for the past fifteen years. It's about time. (And it's widescreen and VOD.)

  • According to United, you shouldn't use the toilets in other sections of the aircraft for two reasons. The first is to avoid overcrowding (although one would assume people would only try moving to another section for precisely that reason) but the second, and "more important" reason is "for security purposes". Add this to the long list of impositions companies now have a convenient excuse for.

  • According to the episode of House shown on the plane, Dr. House thinks that airplanes are "flying cesspools" of germs. Great choice, United :-)

  • Taxi drivers on at least two continents encourage dishonesty by offering to hand out uncompleted receipts.

Posted by gerv at 3:27 PM | Comments (6) | TrackBack

July 14, 2008

Exercises In Masochism 1: Writing OpenOffice.org Macros

<rant>
Has anyone else found writing OpenOffice.org macros an exercise in hair-tearing frustration?

It gives you a choice of four different languages to write them in, which would be great if it didn't make the documentation four times as long and complicated, and if at least one of them actually worked reliably and was easy to use.

The "documentation", api.openoffice.org, is a maze of twisty little classes, all equally useless. How do I get, munge and then replace the current selection? It's hardly an edge use case. Why do I need to work out if my XComponent can be UNO.QueryInterfaced to an XDocument, which doesn't have a getCurrentSelection method anyway? XModel does, but it doesn't have a setCurrentSelection() method, and all I could find about that little anomaly was a sarky mailing list message saying that the getCurrentSelection() method on XModel was a misfeature and I should use XComponent. "That's what it's there for." Well, gee, thanks. Except that it doesn't have any methods relating to the selection at all.

Searching doesn't work. Each page has about three search boxes, two of which are the wrong one but you don't know which two. Some take you off into the wilds of other websites and wikis which contain content which seems tantalisingly related to what you are doing but in fact is (as far as I can now tell) about OpenOffice.org's C++ internal interfaces.

The "Macro Management" screen is an exercise in how not to design a UI to "manage" anything, with an utterly unnecessary and imposed three-level hierarchy of "Modules" and so on, where clicking the wrong button dismisses the dialog and makes you painfully reopen it from its home nested four levels deep in the menus and renavigate using a widget the size of a postage stamp back to the relevant place in the complex tree to try hitting the other button to see if it works any better.

What were they thinking? I bet VB is far easier than this.
</rant>

Posted by gerv at 8:23 PM | Comments (4) | TrackBack

July 10, 2008

8,002,530 - 1 = 8,002,529

Last night, at the second (!) Firefox 3 launch party in London, a representative from Guinness World Records presented Tristan Nitot with a certificate to say that the Mozilla project is the current holder of the world record for largest number of complete copies of a piece of software downloaded in 24 hours - 8,002,529. The UK contribution was over 300,000, just behind the Spanish but (sorry, Tristan) ahead of the French :-)

The certificate we were presented with actually says 8,002,530. However, on his way to the party, the Guinness representative remembered that he had absent-mindedly downloaded the software himself within the 24-hour period, and that his download was not permitted to count. Therefore, the official figure will actually be 8,002,529!

Posted by gerv at 9:36 AM | Comments (0) | TrackBack

Open Website Creation Tools

Asa and Paul Ellis have been having an exchange; Paul started by asking why it is we don't bother users at first run with a "Before you go any further, you must choose a search engine from this list of every possible engine we can find, none of whom have ever given us any money" dialog, arguing that therefore we aren't "open to choice". Asa replied, pointing out the difference between our governance model and a standard corporation. He also said, further down in the same comment thread:

It’s really hard for me to believe that either of those companies have the free and open Web at heart when they’re actively subverting it with closed technologies like Flash and Silverlight.

In a follow-up, Paul picks up on this and asks why it is that Flash and Silverlight are stealing a march on open web technologies. He claims it's the slow standards process, but he also writes:

The real weak spot is in the development tools for “free and open” technologies. There are no AJAX development environments that can compare to the tools available for Flash and Silverlight, and the latter has only been out for one year. It is so bad that people made a big deal over a framework to make AJAX development a little easier.

The recent discussions about the future work of the Mozilla Foundation are leading me to think that we need to get back into this space. I wrote this comment giving one way I think we can distinguish what the Foundation should be doing from what it shouldn't; as you can see, authoring tools falls into the IN category. In writing that comment, it did strike me that this was a ball we used to be running with, at least in some way (with Composer) and which we've now dropped.

Of course, there's history in this space, just like any other. For whatever reason, Gecko-based development in this area has taken a different path from browser or mail client development. But is it time that the Mozilla project looked actively again at how it can better support the open web with authoring tools?

Posted by gerv at 7:54 AM | Comments (8) | TrackBack

July 7, 2008

ORG-GRO

The Open Rights Group - the EFF for the UK - is having a supporters drive, palindromically named ORG-GRO. In order to be financially stable, they need 1500 supporters - which isn't many, considering how many people in the UK should care about their digital rights. This is how far they've got (using a cute live-updated totalizer widget):

The list of stuff they've done in the past couple of years is incredibly long for a two-full-time-person organization. Help them defend your freedoms - sign up today. Only a fiver a month - not much more than the price of a pint of beer plus the price of the petrol to drive a mile to the pub. :-)

Posted by gerv at 9:57 AM | Comments (0) | TrackBack

Partying Again In London

Firefox 3 - so good, we are celebrating the launch twice :-)

As Jane Finette has posted, there's another Firefox 3 launch party this Wednesday (July 9th) to celebrate our Guinness World Record success (8 million downloads!). Gaz Deaves from Guinness World Records will be presenting the World Record Certificate to Tristan Nitot, President of Mozilla Europe and me.

The party, kindly organized by Glaxstar (of Glubble fame) is at at Club Eve on Regent Street, and doors open at 6:30pm. It's going to be a bit bigger than the last one - 200 people have already signed up to come along. Register!

Posted by gerv at 9:10 AM | Comments (0) | TrackBack

July 2, 2008

ORG E-Counting Report Published

The Open Rights Group has published its report on the e-counting of votes cast in the London Mayoral Elections in May. I was an Electoral Observer for ORG at these elections, at the Alexandra Palace count centre.

The report finds that:

...there is insufficient evidence available to allow independent observers to state reliably whether the results declared in the May 2008 elections for the Mayor of London and the London Assembly are an accurate representation of voters’ intentions.
Posted by gerv at 7:38 PM | Comments (3) | TrackBack

July 1, 2008

Summer of Code 2007 - "Six Months" On

In the past, I have written a report about the fate of the Mozilla Summer of Code projects, six months after the projects closed. In this case, due to delays on my part, it's more like ten months, and the SoC 2008 is already up and running. Still, better late than never. For reference, here are the reports from the 2006 and 2005 SoCs.

In 2007, we had ten projects. I've spent some time looking into the current status of all of them, 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 post corrections.

Name Student Mentor Story Current Status Code useful to Mozilla? Student Continues?
Enable Roaming Support in Thunderbird Nick Kreeger David Bienvenu A seemingly-comprehensive patch was written and there were several rounds of review and discussion. Work continued until December, but then seems to have stalled at the review stage. Patch has been awaiting review since December 2007. Potentially Yes - making all sorts of mailnews fixes. (But was involved before.)
Implementing cross-session download resume Srirang G. Doddihal Dan Mosedale Written during SoC; completed just before deadline. Part of Firefox 3 since alpha 8 Yes Yes, odd bits and pieces.
Places: Indexing Visited Pages Kunal Kumar D. Jain Dietrich Alaya A patch has been created, but needs updating to take review comments into account. Patch has been awaiting update by student since December 2007. Potentially No
Link Fingerprints Edward Lee Gervase Markham Implementation written, but spec (RFC) received a chilly reception from the IETF; student ended up doing other work at MoCo HQ. Project dead. Probably not Yes - the power behind AwesomeBar, also working on Download Manager.
JPEG2000 Support for Firefox Benjamin Karel Stuart Parmenter Six platform-specific extension XPIs produced (3 platforms x FF2/3). Progress reports. No sign of the code getting checked in. Code is available as XPIs. Unknown Yes, odd bits and pieces.
Microsummary Generator Web Service etc. Ryan Flint Myk Melez Basic functionality implemented but it still needed a lot of polish and additional development at the end of the SoC No further development Probably not Yes - works for Mozilla Corporation
Camino : Tabosé Jeff Dlouhy Stuart Morgan Feature was implemented. Progress reports. Working, if unpolished, code on trunk Yes Yes
Integration of Thunderbird with Vista Desktop Search Damitha Pahan Fernando Scott MacGregor Some code was written but the project seems to have died at the end of the summer. Some code in the bug; no idea if it works. Probably not No
Make SeaMonkey Not Suck As A News Reader Markus Hossner Karsten Düsterloh Various patches were written and checked in. Communication over ICQ so no progress reports. Code in Seamonkey. Yes No
Firefox automation & Tinderbox integration K Harishankaran Nagappan Alagappan Testcases were written. Code used in tests. Yes No

So of the 10 projects from 2007, 8 or 9 had happy mentors at the end, 4 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. This is about the same proportion of happy mentors as 2006, but a smaller proportion of projects produced directly useful code. There could be several reasons for this. At least one project foundered on issues outside the control of student or mentor; a couple more got stuck at the review stage (one because of the student, another because of us). So a mixed bag - but I guess we can't have total success all the time :-)

Posted by gerv at 11:30 PM | Comments (7) | TrackBack