Camino 2007 in Review

Posted in Camino, Life at 11:11 pm by

Wow, how time flies when you’re building web browsers! ;) It’s time again for my annual look back at the Camino Project’s progress during the year.

While we didn’t meet our goals of getting Camino 1.5 (né 1.1) and 1.6 (né 1.2) out in early and mid-2007, respectively, we still had a good year with lots of accomplishments.

  1. First and foremost, we released Camino 1.5 in early June. After over a year of work, our “quick follow-up to 1.0” became a significant new upgrade instead, fixing a large number of our bugs that had very high vote counts in Bugzilla. We’ve also released four stability-and-security updates to 1.5 since June. The Multilingual version of Camino 1.5.x currently ships with 15 languages.
    • In concert with the 1.5 release, we debuted a refreshed version of caminobrowser.org, made possible thanks to hard work from Samuel Sidler and designer extraordinaire Jon Hicks.
    • We also continued to support our users on Mac OS X 10.2 with Camino 1.0 security updates until August, just after mozilla.org discontinued support for the version of Gecko used in Camino 1.0.x.
    • Earlier this month, we released the first alpha of Camino 1.6, showing everyone (or those who haven’t been using nightly builds) what we’ve been working on since June.
  2. We held the first face-to-face meet-up of Camino team members, at which we articulated the Project’s mission statement and finalized development plans for Camino 1.6. This event, which followed Apple’s annual WWDC conference, was made possible in part thanks to the Mozilla Corporation.
  3. For the second year in a row, we were awarded a Google Summer of Code slot. Jeff Dlouhy worked on “tabsposé,” a sort of Exposé for tabs. Jeff’s summer work is available in trunk builds of Camino.
  4. We also were able to co-sponsor (with the Mozilla Foundation) a second summer project, work from Peter Jaros to overhaul and modernize our AppleScript support. While we can’t top Safari or OmniWeb yet, we do have some nifty features like custom toolbar items written in AppleScript (see PimpMyCamino for some to try out!); all of Peter’s work is available in the aforementioned Camino 1.6 Alpha 1.
  5. As is often the case in volunteer organizations, people come and go. While some old friends have had to cut back their contributions due to graduation or new jobs, we’ve also welcomed new faces to the team.
    • In addition to Jeff and Peter, Bryan Atwood arrived this year, contributing patches for Flashblock support in Camino 1.5 as well as an extensive patch under review that will bring support for multiple accounts per website to our Keychain integration.
    • As the year came to a close, Swedish localizer Markus Magnuson started submitting patches, too; we look forward to more great work in the future!
    • The Norwegian localization of Camino, which disappeared in Camino 1.0, returned for Camino 1.5; there are also localizers working on reviving the Chinese translation and starting a Hungarian translation. (If Camino isn’t, or is no longer, available in your language, contact caminol10n and see how you can help.)
  6. Along those same lines, our Teams Coordinator Samuel Sidler started working at Mozilla Corporation in the QA Department in March. This meant that Sam was working on Mozilla-related stuff 24/7 ;-) for most of the year, which in turn meant more bugs got fixed—in shared Gecko components, in Firefox, and also in Camino—and we had a better feel for release schedules and other changes. Even though he wasn’t working on Camino directly at the day job, his work helped us out.
  7. Much to the relief of Stuart Morgan, Ian Leue, and Mark Mentovai, I obtained cvs access in October. I can now check in my own (slowly rising number of) patches, as well as those patches we take for security and stability updates, instead of having to take our other developers off what they’re working on to land things for me. ;-)
  8. Like developers, tinderboxen come and go, too:
    • We said good-bye to our old friend pawn, which had served Camino and Mozilla well for seven years, compiling the latest code day-in and day-out.
    • Late in the year (November?), we welcomed the creatively-named cb-miniosx01 to our collection of tinderboxen. cb-miniosx01, a Mac mini, is the first Mac OS X 10.5 tinderbox in the Mozilla world and will catch any build problems on 10.5.
  9. Finally, thanks to an initiative by the Mozilla Foundation, the Camino Project is now able to accept monetary donations. If you can’t code to save your life and don’t have the time (or the stomach) for dealing with bug reports, you can contribute to the Project financially. No, we’re not going to use the money to buy pinkerton a Porsche. We’ll work with the Foundation to identify and fund specific projects, like Peter’s AppleScript work over the summer, where a little bit of money can make a noticeable difference in Camino. Thanks to the Foundation for starting this program and for matching 2007 donations 2-for-1.

Whew! I think that just about covers the major events of this past year. 2008 promises to be another good year, with Camino 1.6 expected early in the year with better tabbed browsing and software update, followed by a switch to what’s now the trunk, Gecko 1.9, for Camino 2.0. Gecko 1.9 will fix a large number of long-standing Mac-specific bugs in page rendering, form controls, international text layout, improve the situation with plug-ins, and include all sorts of other nifty changes, and we’ll wrap an even better Camino around it. For the nostalgic (or balding ;) ) types out there, 2008 is also the 10th anniversary of Netscape’s release of the browser source code that got this whole thing started; mozilla.org’s going to party like it’s 1998.

Thanks to everyone in the Camino community—our developers, our testers, our localizers, users, and friends—for a great 2007. Happy New Year and welcome to 2008!



Posted in Life at 10:29 pm by

It’s been raining more-or-less daily for the past week or so. While it’s not enough to put a dent in our drought, it may prevent this year from being the driest since record-keeping began.

I’m not fond of dark, wet winters, but I don’t mind this rain….


Camino: 2007 Week 51

Posted in Camino at 2:35 am by

We slowed down a little bit this week (whew!) after fixing 44 bugs over the prior three weeks, and we’re all headed off to the holidays, so expect week 52 to be light on Camino activity, too. ;)

  • Mark Mentovai continued working on follow-up bugs to all the preference panes architecture work from last week, pushing through fixes to a number of Core bugs that our changes uncovered. He also consulted on our new preference pane documentation work, started work on getting Camino to use code-signing on Mac OS X 10.5, and just as the week ended jumped into some of our undo-related bugs.
  • Stuart Morgan fixed a bug that could cause Camino to crash when using the “Trash” button in the Downloads window toolbar, worked on some Core bugs affecting Camino on the trunk, and did his usual set of reviews and bug triage.
  • Chris Lawson started a (re)write of our documentation for developers of third-party preference panes. What documentation we had could hardly be called “documentation” (it merely contained references to and fixes for a very small number of “gotchas” that had previously been encountered) and needed a make-over after the recent architecture changes. Chris is also working on a sample preference pane to accompany the documentation and bootstrap other developers with sane defaults. Stuart and Mark assisted with the technical side and did a little reviewing of the work.
  • Jeff Dlouhy continued work on tab dragging, posting another demo movie illustrating animated dragging and another WIP patch. He also posted a demo movie of some animation he plans to add to tabsposé and helped with some artwork for the website.
  • We received another new patch from Markus Magnuson, to fix a problem with our bookmarks search that he reported last summer, and the patch is currently working its way through our review system.
  • This week I did a handful of little things: reviewed a few build-related patches, tested some of the proposed patches, and did a little work on ad-blocking bugs and on the website.

That’s about it for the week. Next week maybe there’ll be a 2007-in-review post instead, but in the meantime, happy Christmas wishes to all of you out there who celebrate.


Camino: 2007 Week 50

Posted in Camino, Software at 1:24 am by

If everyone is busy getting ready for the holidays, you sure couldn’t tell from the activity in Camino-land this week; my head was spinning!

  • Edit: Sam reminded me that we released Camino 1.6 Alpha 1 on Tuesday of Week 50. You can check out the first preview of what we’ve been up to by downloading it from our preview site. (Note to self: never write these summaries suffering from a Sunday evening headache.)
  • Architecture was the theme of the week, as Stuart Morgan and Mark Mentovai jointly tackled a number of major changes to our preference panes. Driven both by a desire to eliminate some old code and also by our stated goal of “getting Gecko out of the UI” to make Camino more friendly for new developers, they re-arranged the preference panes in ways I can’t even begin to describe, tackled strange compiler and linker issues across multiple Mac OS X versions, and ended up with something much better than we had after the preferences rewrite leading up to Camino 0.8. (I got in on the cleanup fun just a bit, when I converted one of the last three old NeXTSTEP-style property lists to a modern XML property list.)
  • As you know, Camino lead Mike Pinkerton has also been the lead on two of Google’s Mac projects for the six months or so and hasn’t had time for much more than code review and general leadership. All this week he had been leaving little clues in our irc channel that he was working on something, and on Friday he unveiled Camino’s new Find bar. It’s in nightlies now and will be in Camino 1.6b1, with a bit of polish. Everyone’s going to have to find a new “most requested” feature now. ;-)
  • In addition to the preferences architecture work, Mark added better support for the Mac OS X 10.5 Quarantine system (Camino should be on par with Safari now), began setting the “Where from” metadata on downloads, and started fixing some long-standing bugs with our keyboard shortcuts in alerts and sheets. He also wrote a few more patches we’ll surely see land next week and did some code reviews.
  • Stuart checked in his tab architecture rewrite patch this week, wrote a patch to fix a new crash bug involving the “Trash” button in the Downloads window, fixed a handful of other bugs, and did some reviews, as usual.
  • Jeff Dlouhy continued to work on tab drag-and-drop (he posted another video, this time of a fun bug) and perform yeoman service as our graphic artist.
  • Just as this “goes to press,” our Swedish localizer, Markus Magnuson, has started posting his first patches for Camino bugs. It’s always exciting to have a new developer around (or a familiar face from the Camino community start posting patches), and Markus is no exception. Welcome to the developer side! (His first patch was quite small and it has already been reviewed and committed to our code repository.)

The past few weeks, we’ve been fixing about 12 bugs per “week” (defined as the seven days between Camino team meetings); we’ve already exceeded that number this week and might hit 20! If the holiday season has everyone busy, they forgot to tell us (that, or we’re all working on Camino to try to avoid the holiday madness)! ;-)


Camino: 2007 Week 49

Posted in Camino, Software at 12:50 am by

Let’s see how this goes…for now, maybe I can make this a weekly feature.

This week felt pretty hectic from where I stood, sandwiched in between the release of Camino 1.5.4 (and Troubleshoot Camino 1.2.1) and the upcoming first alpha of ✈ (a.k.a. Camino 1.6).

  • The “Build & Release team” (Mark Mentovai, Samuel Sidler, and I) kept busy this week, working on the final details of the Camino 1.5.4 release, preparing for the 1.6a1 release, and dealing with cantankerous tinderboxen. We shipped 1.5.4, built a release candidate for 1.6a1, brought a new tinderbox online, and tried to resurrect the tinderbox maya, who did not reboot after upgrading to 10.4.11. :(
  • Since the build/release and tinderbox-wrangling were not keeping him busy enough(?), Mark also cranked out a handful of patches to bring us parity with Safari in terms of metadata (“where from”) and 10.5’s Quarantine alert for downloads, as well as improvements to the script that packages our disk images and a couple of other bugs he stumbled on along the way.

    As an aside, the great thing about a senior dev running into something that annoys him is that he’ll quickly crank out a whole bunch of quality code to fix the (often messy) problem. The rest of us, or should I say “other Camino developers,” can buckle down and turn out code when hitting an annoyance, but it’s usually a smaller problem, less code, and not produced as quickly. Watching a senior dev in this state is beholding a thing of great beauty.

  • Nick Kreeger released a new version of Correo this week and has posted patches for review that modernize some crufty code in our embedding classes and implement support for window.blur.
  • As usual, Stuart Morgan’s been all over the place again this week. The big news was a patch to address a few architectural flaws in our tab system, which will fix a few bugs now and provide a more sane foundation going forward. He worked in some reviews and a couple of other patches as well.
  • Between end-of-the-semester and finals, Jeff Dlouhy did a review of Stuart’s tab architecture patch and went back to adapt his tab dragging code to the changes Stuart’s patch will bring.
  • In addition to my activities with “Build & Release” this week and the usual triage and support, highlights(?) included a late-night trunk bustage fix, some cleanup of our branch project file, and setting up a page to keep track of Troubleshoot Camino feature requests (I can’t keep them all in my head any more). I’m probably the last person on the Camino team to watch Mike Pinkerton’s Google Tech Talk from January, but I listened to it in the course of triaging a possible bug; if you haven’t listened to it yet, it’s worth it. We’re still not doing everything right in Camino, but we are trying.

Whew! It’s a bit of work to compile and write these up—and this was a relatively slow week. That’s all for week 49 (though I’m sure I’ve forgotten something or someone). Stay tuned this week for your first chance to board our new ✈!


Troubleshoot Camino 1.2.1, sucking less on 10.5

Posted in Camino, Software at 6:04 pm by

In tandem with the release of Camino 1.5.4, I’m pleased to announce Troubleshoot Camino 1.2.1 is now available. This release works around a bug of some sort on Mac OS X 10.5.x where Camino would launch in the background that had been bugging Sam since last summer. I also fixed, or rather prevented, a hang that could happen if you tried to launch a copy of Camino that was already running. In addition, there are some under-the-hood improvements in handling unexpected errors in this release and changes in the way messages are displayed that should help when Troubleshoot Camino is translated into languages using non-Roman scripts (e.g., Japanese).

Special thanks to my translators for supplying the new strings and to the team of beta testers who uncovered glitches in the beta releases.

Happy troubleshooting (and apologies to pinkerton for cribbing from his blog title ;) )!


What we’re up to

Posted in Camino, Life at 1:16 am by

One of the things that we keep trying to do as a project (and not succeeding very well, it seems) is to be more proactive in letting people know what we’re working on for Camino. From time to time, people (such as this commenter) wonder if anyone is even working on Camino any more. This confusion is definitely a bad thing, and it’s one of the things I hoped to help address when I started writing here (unfortunately, writing is hard :( ).

First off, I’d like to assure anyone who’s wondering, yes, we are hard at work on Camino (and I’m not sure how the gentleman at TUAW has missed Camino 1.1a2, Camino 1.1b, Camino 1.0.4, Camino 1.5, Camino 1.0.5, Camino 1.5.1, Camino 1.0.6, Camino 1.5.2, and Camino 1.5.3, all released in the past year).

As an all-volunteer team, though, we don’t have the same time we can devote to Camino as the full-time (development, build, quality assurance) teams of other Mac browsers. We have day jobs or are students, so Camino is a free-time labor of love. Most of us, I think, prefer to spend our limited Camino time triaging or fixing bugs rather than writing about Camino, so while we’re making progress, people who aren’t using nightly builds or visiting the forum on a regular basis often don’t know what we’re up to between releases.

Once again I’ll try to address our “what are the Camino developers doing” “problem” by making a concerted effort to provide semi-regular updates on Camino development.

Hereafter a quick summary of recent activities:

  • While Mozilla Corp may build releases and run quality assurance tests on them during the holidays, we’re a little less insane. However, for the last two weeks, we have been working on Camino 1.5.4, coming next week. I’ve been landing patches, Stuart Morgan backported a few patches, and Mark Mentovai spun the release candidate build.
  • Jeff Dlouhy has been working on tab dragging and has a new demo of dragging with some animation. Jeff’s also been doing some graphics work for us while our regular designers are snowed under with paying work.
  • Sean Murphy has been working for some time on making adding and editing search engines for the toolbar search field more Mac-like than this, and in the past week he posted new patches for editing engines and for supporting the OpenSearch format for automatically adding new search engines.
  • Bryan Atwood, who brought us Flashblock in Camino 1.5, has been hard at work at making Camino support multiple accounts per site when storing passwords in the Keychain. The feature seems on-track to make Camino 1.6.
  • Stuart has been busy; in addition to his work on 1.5.4, he has been fighting bugs rendering trunk nightlies unusable and reviewing patches for new features. He has also been hard at work implementing software update for Camino and fixing bugs in the update framework we’re using.
  • In addition to my work on 1.5.4 and general bug triage, I’ve been spending some time working on implementing small applications to enable users of web-based feed readers to use Camino’s feed UI just like users of desktop readers currently can. In mostly-Camino-related activity, I’ve also been working on an almost-ready update to Troubleshoot Camino that fixes a few bugs; more on that soon.
  • Some of you might have noticed that Apple released a major new OS version about a month ago, so Stuart, Jeff, Mark, Ian Leue, and Samuel Sidler have been tag-teaming changes related to Mac OS X 10.5. You’ll notice the new status bar in 1.5.4, and hopefully you’ll notice some annoying 10.5-related bugs have disappeared. We’re aware the tabs and the bookmark bar still look a little out-of-place on 10.5, and we are working on those, but there are a number of aesthetic and practical considerations we have to balance, so we’re not rushing those changes.
  • Finally, you may have noticed that we’re now accepting donations. Sam had also been working with the Mozilla Foundation coordinating our end of this project, and of course setting up the new page on our website.

Truthfully, we’ve been very busy. :) I can’t promise all the new features mentioned above will appear in Camino 1.6, but most of them are on-track to do so. We’re also getting ready to release Camino 1.6a1; it won’t contain any of the features mentioned above, either (except software update, but you won’t notice that until our next milestone release—alpha 2 or beta—is ready), but there are almost six months of changes, including the scrolling tab bar, waiting for you to explore!

That’s it for now, but I do hope to turn this into a semi-regular feature so that it will be easier for everyone to see all the work we are doing on Camino. ;)


Fighting the Cookie Monster, Mac-style

Posted in Camino, Software at 2:11 am by

Shawn Wilsher (most famous in Camino circles for repeatedly breaking Camino while rewriting the Firefox download manager and Gecko content handling last summer ;) ) recently wrote about a problem plaguing trunk builds of Mozilla applications: cookies are mysteriously disappearing. Since the internet runs on cookies, this is not a pleasant development.

At the time he wrote, there were no Mac instructions on the page describing cookie logging, so I filed a bug and provided a patch (having been vaguely familiar with NSPR logging from looking at some bug so painful that I’ve blotted the details from my memory in the years since). I also mentioned that it would be “trivial” to write a small AppleScript applet to make the command-line incantations something more palatable for the average Mac user.

As we know, the devil is always in the details. It took me 30 seconds to write the code and about three hours of tweaking and debugging to get things working in a polished way that also handled many “unexpected” but common situations, as well as plugging in the localization framework from Troubleshoot Camino.

At the end of the day (or night), though, I’m happy to announce Enable Cookie Logging 1.0 (in English and rough French) for ease of fighting the Cookie Monster. Enable Cookie Logging will work with Camino, Firefox, and SeaMonkey and will run on Mac OS X 10.3.9 through Mac OS X 10.5. I hope this helps everyone get to the bottom of this cookie-eating bug (and remember, > /dev/null 2>&1 & is your friend!)

Edit: For those of you experiencing vanishing cookies, bug 403372 has all the details of the problem.


libwpd-0.8.12, the Mac, and you

Posted in Life, Open Source at 12:43 am by

Not too long ago, someone emailed me looking for a Mac OS X version of the excellent libwpd tools for converting WordPerfect documents. Said correspondant had found my email and a now-404ed URL from a message in a mailing list archive, but couldn’t find a live version of the tools. After that, I told myself I needed to do a better job of blogging about libwpd and our releases, so that there would be fresher hits and valid URLs in search engines.

To that end, we released libwpd-0.8.12 earlier this month (it’s been a busy one for me, hence the delay). The main addition in this version is Fridrich’s fine work in bringing support for tabs and text alignment in WordPerfect 5 and WordPerfect for Mac 2.x and 3.x documents. Tabs and text alignment are probably the last common, “daily-use” features that were not converted in these document formats, and they are now supported more-or-less on par with WordPerfect 6/7/8/9/10/11/12 documents. This release is great news for Mac users who formerly used WordPerfect, as document fidelity should be much improved. In addition, for the first time ever, the Mac OS X versions of the tools are Universal Binaries.

Meanwhile, Fridrich is pushing forward on support for converting text and image boxes for the 0.9 series. Great things are in store for the future.

In the meantime, you can download the libwpd command-line tools (and an AppleScript wrapper for wpd2sxw) for Mac OS X from the project site and go convert documents with tabs until you’re blue in the face. Enjoy!


Introducing Toolbar Scripts (Again)

Posted in Camino, Software at 5:17 pm by

Back in August, Peter wrote about his work on creating an infrastructure for custom toolbar items. If you can dream it—and write it in AppleScript—you can have it in your Camino toolbar. After a long period of code review, comments, and some last-minute fixes from Peter, I’m happy to announce the toolbar capability has landed in nightly builds of Camino (both branch and trunk) and will be in Camino 1.6.

Here’s how it works:

  1. You write an AppleScript to do something useful, perhaps string together a few commands from Camino’s enhanced AppleScript support, or to connect Camino to another app on your Mac, or whatever you can dream.
  2. Save your new script as a (compiled) script, script bundle, application, or application bundle—even text (.applescript) files will work.
  3. Give your script an icon (I can hear the phones ringing off the hook at the studios of our local icon designers!).
  4. Put your script in the ~/Library/Scripts/Applications/Camino folder (creating any of those folders if necessary).
  5. Launch a Camino nightly (October 10th or newer).
  6. Customize the toolbar and add your script.

And you’re off! Show us what you can dream up!

No introductory post is complete without some sample code, so I’m happy to announce Clone Tab and Combine Windows to get everyone started pimping their toolbars!

Thanks to Peter for all the AppleScript work this summer and for handling all my “bugs,” and to his partner in Summer of Camino 2, Jeff Dlouhy, for the rockin’ icons!