Archive for May, 2008

MDC rollout coming soon

Friday, May 30th, 2008

We’re working on scheduling the final rollout of the MindTouch Deki based MDC, sometime in June. Our original target was June 3, but that slipped by about a week due to some changes that we decided to make a couple of weeks ago.

That slip now puts us into colliding head-on with the Firefox 3 release, more or less, so we’re negotiating a rollout date with the IT team, to make sure we don’t overload them trying to roll out two things at once.

The finishing touches are going onto the setup now, and QA has been brought in to start doing their formal testing.

The number of “one more thing” type changes we keep coming up with shouldn’t surprise me, but does anyway. It’s pretty amusing.

So I guess the gist of this post is to once again say “it’s looking great and you’ll be able to play with it soon.”

In related news, I’ve proposed to do a session to demo and discuss the new MDC at the 2008 Firefox Plus summit, and if there’s interest, I’ll look at doing a version of that as a screencast or similar web-based presentation, too.

New database

Tuesday, May 27th, 2008

We installed a slightly updated version of Mindtouch Deki Wiki onto our test server today, as well as a reconverted database. It’s still a database from about a month ago, but was converted using an updated utility that resulted in a much better end product.

We’ve got another modest skin update coming probably on Thursday, and there’s some debate over doing a few more tweaks to how things are set up there as well.

There’s also still a little more work to be done on the performance front, and I’m waiting to hear more details on what will be done there. It’s getting really close!

Not just a three-day weekend

Saturday, May 24th, 2008

As those of us in the United States settle into our extended weekend this Memorial Day, I think it’s important not to forget that it’s not just a day off from work.  It’s a time to remember those who’ve paid the ultimate sacrifice in service to their country.

Thank you to everyone who’s served, from the Revolution to Operation Iraqi Freedom.  You have my deepest respect and appreciation.

And a quick note to my colleagues at Mozilla (whether employees or contributors): have a good weekend, but be careful out there!

So close I can almost taste it

Wednesday, May 21st, 2008

We installed another skin update on the Deki Wiki based MDC test server this afternoon, which addresses the lone remaining known skin problem.  We have another software update to install to provide yet another performance boost, then we should be able to do one last round of performance testing before we unleash it on our contributors to try out.

Watch this space for news as it comes in!

An experiment

Sunday, May 18th, 2008
Just for the heck of it I’m posting this using the ScribeFire extension for Firefox. Not sure if it’s something I’ll use for the long term or not, but I was curious to try a few new extensions to see what I think.

It’s kind of neat. Looks like the author put a lot of effort into it. Just not sure that for the way I tend to work it will actually be any better than just going to my web site and blogging there. We’ll see!

Coming up

Sunday, May 18th, 2008

Everything’s looking good with the Deki Wiki based MDC now, with the exception of the skin update we should be receiving sometime on Monday.  Once we have that, we’ll do a round of performance testing, and assuming that looks pretty good, I’ll post a URL so folks can try things out and see how it goes.

So hopefully you’ll be able to try it out by Tuesday or Wednesday.

Update: I received the skin update in my email this morning and have filed a ticket to get it installed.

Quick turnaround

Friday, May 16th, 2008

When Mark Finkle’s blog today talked about parental controls support on Windows Vista, I was taken slightly by surprise.  You see, I’d never heard of the nsIParentalControlsService interface, despite a great many months (a year, in fact) of trying to hunt down all the new APIs added to Firefox 3.

So, after wondering how I missed that one, I settled down and cranked out the reference documentation for the nsIParentalControlsService interface.  Enjoy.

More Deki upgrade progress

Thursday, May 15th, 2008

Work continues apace.  We’re in the process of installing a new build of Deki Wiki that enables caching support as well as other performance enhancements that should help deal with our load better.  The new update also has some improvements to the editor and other changes we’ve requested.  The folks at MindTouch have been really great to work with, and have bent over backward to make us happy.

A very minor skin tweak is forthcoming to deal with minor breakage that will be caused by the new build we’re installing today, but once those things are both done, I expect that we’ll be able to open things up for everybody to try out.

Initial thoughts on Google doctype

Thursday, May 15th, 2008

Today Google launched Google doctype, their new open reference for the web.  I’m just starting to look it over, and while I’ll reserve my final judgement until I have the opportunity to spend more time poking at it, I thought I’d share my initial thoughts.

Google is right that there needs to be a solid, reliable, and complete reference to the web.  The Mozilla Developer Center is being built as a complete reference to the open web.  Notice the difference there.  It appears that Google’s aim is to build a complete reference to all web browsers, even the ones that diverge from open standards.

That’s a critical difference.  Mozilla aims to improve the web by encouraging the use of genuine open standards.  The more compatible browsers are with a universal standard, the better the web experience becomes for all users, regardless of which browser they choose.  Our goal isn’t to get everyone to use Firefox — it’s to get everyone using the web to the utmost of its potential.

John Resig has a great analysis of how the tests were done to determine browser compatibility, so I won’t go there.

Reading through the documentation, such as it is at this point, is an interesting experience.  It’s clear that this initial release is something of a rush job, with automatically exported material posted and hoping that people will come along and tweak it up.  For example, take a look at the documentation of the document.getElementsByClassName method in the DOM.  It’s pretty much a stub right now.  The most interesting part there is the test they did to see which browsers offer the method (not to mention the links to John Resig’s blog posts on the subject).

Contrast this to MDC’s documentation for the same property, which includes a description of what the method does, what its result means, as well as a number of examples and a link to the WHATWG specification.

This is a pretty typical example.

Google doctype is an interesting experiment, and I’ll be curious to see what happens with it, despite my confusion over its purpose.

Documenting Firefox 3 for developers

Tuesday, May 13th, 2008

It was almost exactly a year ago that I wrote the first draft of the Firefox 3 documentation plan.  That marked the beginning of the effort to document the immense new feature-set of Firefox 3 from a developer’s point of view.

I thought it would be interesting to turn back the clock and take a look at how the Firefox 3 developer documentation was built.

Early scheduling

Ironically, on May 29th, 2007, I made my first prediction that the documentation for Places and the “updated Password Manager,” which wound up being the new Login Manager, would be among the first things documented.  This is particularly ironic since right now I’m actively working on finishing the documentation for Places — so instead of being the first thing written about, it’s going to be the last.

On the other hand, the Login Manager documentation was roughed-out by June 14, 2007.  There was still a little work to be done, but it was a start.

Stirring up trouble

By August 6th, Mark Finkle had posted initial documentation for FUEL, and most of the interfaces used by Places had initial reference documentation written.  Then, on September 18th, I posted my first “Hey, I think we’re almost done with the documentation, what do you think?” message.

This had precisely the desired effect: tons of email flowed in pointing out things that had yet to be documented.  Many of those things were things I’d never heard of.

On August 28th, I completed the documentation for the Download Manager, and was hard at work on a sample extension that would show off how to use it.  This was the first of the many things I’d never heard of previously.

For the next few months, it became a matter of plowing through the bug lists knocking off the smaller but sometimes more intricate issues that needed to be addressed in the docs.  Among these issues were a few key gems, though, including Microformats and continued work on Places.

Wrapping it up

Early 2008 started with a series of reminders that if there were issues not yet documented, to please file a bug against the docs to make sure I knew about it.  This is a critical step, because I often don’t know about all the things that are being done.  Indeed, this would become an issue in the spring of 2008, which we’ll get to shortly.

In mid-February, Mark Finkle posted a great article explaining how to create a web-based protocol handler, and a few weeks later, Sylvain Pasche contributed a similarly great article explaining how to create a custom Login Manager storage module (which will come in handy for whoever decides to implement Keychain support on Mac OS X).

The pleas for reminders about stuff that needed documenting still hadn’t let up, with another request going out on March 27th.  And the very next day, I followed up with a post mentioning a few things I was aware of that needed to be documented.

Those were all taken care of within the next couple of weeks, with the nsIJSON documentation landing on March 28th.  Amusingly, the caveat on that blog post still stands.  I’m still waiting for word on whether or not those two parameters will be (or have been) removed.  I need to remember to follow up on that.

A few days later, I posted documentation added for offline caching (on April 1)

Amusingly, that list also included alternative style sheets, which it turned out was not new in Firefox 3.  However, I still went ahead and wrote an article (including an example) to cover that topic.  The Thread Manager sample code and how-to came along next.

Amusing announcements

I announced about five times that the documentation for Firefox 3 was done.  The first time was way back in September of 2007, and the most recent was in March of 2008.  There’s still a little work to be done, but it’s pretty close!

Helpful helpers

A lot of people contributed to the documentation for Firefox 3.  Several students at Seneca pitched in, doing a lot of the initial passes at reference documentation for things including Places.  So thanks to AJ, Kenneth, and Andrew.

Several folks in Evangelism pitched in bits here and there, including Mark Finkle and John Resig. Rob Sayre also was very helpful, writing initial documentation for Microformats and a few other topics, which saved me a lot of research time.

Likewise, Dietrich Ayala wrote much of the initial documentation for Places, which, while a lot of it has been heavily overhauled or even removed since then, really helped me understand the concepts well enough to get the documentation whipped into shape.

Lots of others helped out too, and far too many to name.  Anyone who laid a finger on their keyboards while editing the docs in the past year contributed in some way to the Firefox 3 documentation being, without a doubt, our best set of developer documentation to date.  My hat would be off to you all — if I wore a hat.

Thank you!