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 (0)

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 (4) | TrackBack (0)

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 (0)

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 (3) | TrackBack (0)

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 (0)