November 06, 2009
Armen just blogged about this, and as it’s constantly mentioned around l10n, I wanted to add a bit more detail to l10n-merge.
l10n-merge is originally an idea by our Japanese localizer dynamis. The current implementation used in the builds is by me, integrated as an option to compare-locales. There are spin-offs of that algorithm in the silme library, too.
l10n-merge attempts to solve one reason for “yellow screens of death”, i.e., XML parsing errors triggered by incomplete localizations. This is really crucial as localizations don’t just pop up by swinging magic wands, they’re incremental work, and a huge chunk of that. So in order to test your work, you need to see the strings you have in, say, Firefox, without having the other 4000 strings done yet. Other l10n-infrastructures handle this by falling back to the original language at runtime (gettext), but doing that at runtime of course has perf impact, and size. l10n-merge does the same thing at compile (repackaging) time.
Design goals for l10n-merge were:
- not mess with any source repositories
- not do any file-io that’s not really needed
Thus, in order to not mess with the source repos, l10n-merge doesn’t modify the sources inline, but creates copies of the files it touches in a separate dir. Commonly, we’re using ‘merged‘ in the build dir. Now, creating a full copy of everything would be tons of file io, so l10n-merge only creates copies for those files which actually need to get entities added to existing localized content. This plays together with code in JarMaker.py which is able to pick up locale chrome content from several source dirs.
A Firefox localization contains some 450 files, and say for the current 9 B1-to-B2 missing strings in two files, it would copy over those two files from l10n, and add the missing entities to the end. Then JarMaker is called with the right options, and for those two files, will pick them up from merged, the rest of the localization is gotten from l10n. For missing files, it actually looks into the en-US sources, too, so we don’t have to do anything for those. To give an example, for chrome/browser/foo in the browser ‘module’, it searches:
.../merged/browser/chrome/foo
l10n/ab-CD/browser/chrome/foo
mozilla/browser/locales/en-US/chrome/foo
Now it’s time to list some pitfalls that come with l10n-merge:
- If you’re passing the wrong dir for mergedir, nothing breaks. All build logic breakage would come from missing files, and due to the fallback to en-US, there are no missing files.
- l10n-merge, as compare-locales, doesn’t cover XML parsing errors inside entity values yet. Bug 504339 is filed, there are some tricky questions on reporting, as well as having to write an XML parser from scratch.
- l10n-merge only appends entities, but that’s fine 95% of the time. Only counter-examples are DTDs including other DTDs.
- People using l10n-merge need to manually maintain the merge dir. Pruning it via compare-locales is risky business if you specify the wrong path by accident, so I consider this a feature. But if you’re seeing Spanish in a French build, clobber the mergedir and build again :-)
November 06, 2009 03:02 PM
As part of Mozilla’s ongoing stability and security update process, Firefox 3.5.5 is now available for Windows, Mac, and Linux as a free download from http://firefox.com/.
We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.5, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please review the Firefox 3.5.5 Release Notes.
Note: All Firefox 3.0.x users are encouraged to upgrade to Firefox 3.5.5 by downloading it from http://firefox.com/ or by selecting “Check for Updates…” from the Help menu.
November 06, 2009 12:02 AM
November 04, 2009
November 02, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 44/2009 (October 26 - November 1, 2009):
- Releases:
While I sat in a talk at the Cyber Liberties Conference here in Vienna on Tuesday, I performed the final steps for the big 2.0 release - web site updates and sending out the announcements. Downloads picked up fast and we should be around or over 100,000 of those less than a week later (I don't have good numbers due to disabling bouncer logs once again when database loads became high with Firefox 3.5.4 beings released as well).
I'm reading and reacting to loads of feedback on the newsgroups, most seems good, esp. migrating from 1.x seems to have slightly rough edges though. - SeaMonkey L10n:
The final 2.0 release sports 19 official languages plus an experimental Turkish version, and other locales have told me they are working on getting ready to join when we'll do a 2.0.1 in December.
Two small patches could land to get dashboard ready to support both SeaMonkey branches (sea20x and sea21x) in the future.
I added Simplified Chinese to our all-locales files, to hopefully have them in as one of those, increasing our world coverage a lot (oh, while we're at Asian languages, Japanese is aiming to join as well). - Various Discussions:
AMO and German dictionary, comm-central branching, ChatZilla move to hg, modal windows, dormant accounts, FF 3.5 -> 3.6 updates and SeaMonkey 2.x impact, Cyber Liberties Conference and Open Web track/talks, the twisted clearUserPref() story, Thunderbird 3.0 RC freeze, AMO compatibility center, etc.
The amount of posts in the SeaMonkey support newsgroup is almost mindboggling right now, and thanks to the team (thank
you for supporting us!) are mixing with migration problem from 1.x, unclarities about changed feature sets, as well as other questions and problems.
The step from 1.x to 2.0 is rather large, we know that, and migration is something people don't test repeatedly, so it was clear we would run into a certain amount of problems there, that's just unavoidable. I'm pretty happy with the low amount of real bugs that have popped up so far, though I'd be happy if I would have the time to prepare an update parallel to the crash-fix Firefox 3.5.5 release that's upcoming late this or early next week - unfortunately, the slowness of our build machines, some time needed for community QA, and my vacation starting Saturday leaves too little time to do such a cycle in time and we'll need to wait with fixing those somewhat higher-profile crashes only in December in a 2.0.1 update.
I hope our users can do with what we have in 2.0 until then - and of course, we'll work on improving this product even further, with 2.0.* stability and security updates as well as a 2.1 development cycle and release next year.
November 02, 2009 08:27 PM
November 01, 2009
Je suis passé cette nuit de Jaunty à Karmic sur mon Lenovo Y650, si vous avez ce modèle de portable, vous pouvez y aller, pas de problème 
Les choses que j'ai remarquées :
- Je ne note pas de différence de temps de boot contrairement à ce qui était annoncé partout, par contre le boot est un poil plus joli (pas important pour moi, ma machine est soit allumée soit en veille, je l'éteins ou la redémarre assez peu en fait).
- Le passage en veille n'est pas plus rapide mais la sortie si, l'hibernation marche aussi
- Ma machine est nettement plus réactive pour à peu près tout, j'avais souvent des problèmes de processeur qui s'affolait sur tout ce qui touchait aux paquetages par exemple, ce n'est plus du tout le cas.
- Le thème par défaut est beau et pro.
- Le raccourci clavier pour la mise en veille ne marche plus mais le bouton d'allumage de la machine fait la même chose donc c'est pas génant.
- Ubuntu One est une bonne idée, quand ça marche... J'ai dû réussir à synchronise mes fichiers deux fois seulement
- La nouvelle appli Logithèque Ubuntu est beaucoup mieux que l'ancienne appli à mon avis
- Compiz n'a pas l'air d'avoir de bugs, j'ai toujours eu des petits bugs graphiques qui me faisaient finalement le désactiver, là on dirait que je vais finir par le garder.
- La gestion du son est beaucoup mieux, pas mal d'autres détails Gnome sont mieux aussi d'ailleurs
Une version très mature donc, très léchée, avec un focus évident pour l'amélioration de l'ergonomie et de l'esthétique du système, on sent que le projet
papercut a porté ses fruits. Pour l'instant je suis content
November 01, 2009 03:17 PM
October 31, 2009
The Mozilla community is proud to release Firefox 3.6 Beta 1 for download. This beta version of the next version of Firefox is built on the Gecko 1.9.2 web rendering engine, containing many improvements for web developers, Add-on developers, and users. The Mozilla community appreciates your feedback and assistance in testing this preview of the next version of Firefox. Your beta software will update itself periodically, and eventually will be updated to the final release itself.
This first revision of the Beta of Firefox 3.6 / Gecko 1.9.2 introduces several new features:
- Users can now change their browser’s appearance with a single click, with built in support for Personas.
- Firefox 3.6 will alert users about out of date plugins to keep them safe.
- Open, native video can now be displayed full screen, and supports poster frames.
- Support for the WOFF font format.
- Improved JavaScript performance, overall browser responsiveness and startup time.
- Support for new CSS, DOM and HTML5 web technologies.
Web developers and Add-on developers should read more detail about the many new features in Firefox 3.6 for developers on the Mozilla Developer Center. For the full list of changes since the alpha release, see this list (it’s big).
Please use the following links to download Firefox 3.6 Beta, or visit the beta download page:
At this time most Add-ons have not yet been upgraded by their authors to be compatible with Firefox 3.6 Beta. If you wish to help test your Add-ons, please also download and install the Add-on Compatibility Reporter – your favorite Add-on author will appreciate it!
As always, the Mozilla community would appreciate hearing about any feedback you have about this release, or any bugs you may find.
October 31, 2009 12:20 AM
October 28, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 43/2009 (October 19 - 25, 2009):
- Releases:
Yeah, I know, the broken record again,but I guarantee you that this was the last week I've been watching over 2.0 and driving it for release.
We published RC2 on Monday of that week and after a few days, the picture became clearer and clearer that this one would indeed go gold and so I prepared its conversion to the final 2.0 release as well as the updates of the website (including a feature page update and new screenshots) and spent the Sunday evening writing, getting feedback and native language "review" and finally pre-posting the announcement, so that everything would be ready for a Tuesday morning release. - Build Machines:
As it became clear that 2.0 wouldn't need another RC to be built, I could risk some temporary brokenness and possibly permanent changes to the build infrastructure and install the Win7 SDK as well as MozillaBuild 1.4 on the Windows build slaves, which in turn made the Windows comm-central-trunk builds go green again. The closed tree and needed clobbers on the machines for comm-1.9.1 branching did help as well and provide the perfect time to do that work. - SeaMonkey L10n:
RC2 shipped in 19 official languages including US English, plus another one in experimental stage - and that state was transferred to final unchanged. Some more languages are working on getting ready in time for 2.0.1 - if you're a Mozilla localizer and 2.0 isn't available officially in your language yet, we'd welcome your help on getting in ready for 2.0.1!
I also cared that we can get dashboard ready to support both SeaMonkey branches (sea20x and sea21x) in the future. - German L10n:
Michael Opitz did another large help update, which I could land so that we'll have help more up-to-date in an upcoming 2.0.1 update. Thanks, Michael! - Various Discussions:
comm-central branching, RC2 feedback, Mac build machines, Microsoft add-ons and blocklist, findbar, modal windows, download progress windows, dormant accounts, FF 3.5 -> 3.6 updates and SeaMonkey 2.x impact, Cyber Liberties Conference and Open Web track/talks, etc.
This status update is late once again, but somehow I had other things in mind in those last two days.
And I'm not sure I have fully realized yet that we managed to do that release we've been working on for almost 4 years - but it's great that we actually made that step and I can't tell enough how proud I am of everyone who helped that to come true - everyone one of those contributors and those
fixing bugs in the 2.0 cycle are only one part of the people behind this release. In addition to the developers, all localizers, everyone doing QA, testing nightlies, and prereleases, filing bugs or otherwise helping the project, including the users - all those people in our community have been helping to build this release. I might be coordinating the project but it's all of you who make it a success, so congratulations to everyone in our community, you have done a really great job and made things possible that nobody would have believed when we started this project in 2005.
Well done, thanks for everything, and I'm looking forward to continuing this for improving the suite even further!
October 28, 2009 10:19 PM
As part of Mozilla’s ongoing stability and security update process, Firefox 3.5.4 and Firefox 3.0.15 are now available for Windows, Mac, and Linux as free downloads:
We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.5 or Firefox 3, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please review the Firefox 3.5.4 Release Notes and the Firefox 3.0.15 Release Notes.
Note: All Firefox 3.0.x users are encouraged to upgrade to Firefox 3.5.4 by downloading it from http://firefox.com/ or by selecting “Check for Updates…” from the Help menu.
October 28, 2009 03:06 AM
October 23, 2009
October 20, 2009
When I was at the Mozilla Camp in Chile, I met Julián Ceballos, the team leader from Mexico’s Yucatán Peninsula who is working on localizing Firefox in Mayan. Yesterday, he wrote me, saying,
“In Mozcamp i said, mozilla is no helping just to translate firefox to mayan, mozilla is helping to rescue and make strong the mayan language. Well, i’ll send it and we’ll be in contact.” [sic]
Aw, shucks. That just makes me happy.
Maybe I have delusions of grandeur as I sit here and sip my Kool-Aid, but I think there is something critical to language preservation happening in the Mozilla localization project for cultural anthropologist and linguists to study. I’ve discussed this topic with other Mozillans who are interested like Tiffney Mortensen, Chofmann, Staś, John Lilly, Søren Skrøder (Mozilla Denmark), and Kadir Topal (Mozilla Germany). Every time we ship a new version, even for some of the most niche locales, Mozilla helps just a little bit to preserve the culture of language and communication. Imagine how unique an experience it becomes for a total newcomer to browse the web with an application whose user interface is both translated and customized for local use. That can be very powerful and is why we want Mozilla locale count to continue to grow.
To see a little more about what our Mayan friends are doing, check out these links:
Do you know of a new localization effort? I will pay chocolate dipped cake donuts for every referral that becomes a localization.
ShareThis
October 20, 2009 06:24 PM
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 42/2009 (October 12 - 18, 2009):
- Releases:
This should hopefully have been the last week of trying to figure out what patches can still go into 2.0 and approving them, I built SeaMonkey 2.0 RC 2 (with a long track of redoing things), getting it ready for making it public yesterday (including a fix for partial updates so they apply correctly on Windows).
This should be the final release candidate and if things go well in testing this week, it will be converted to a final 2.0 release scheduled for next Tuesday. woo-hoo! - Smaller Fixes:
I tested and reviewed a patch from Adrian to make extra-jar.mn work for localizers, esp. our French guys were happy about this, as they have split mail help into smaller chunks for easier L10n.
A small patch for showing release notes on first run could also land for RC2, including a followup to make it actually work. 
And, trying to keep users' hard disks clean, I checked in a fix to remove a few unused modules on complete updates. - SeaMonkey L10n:
Catalan chatzilla and venkman was added in time for RC2, Georgian and Swedish could be added as official locales, Turkish requested to only be experimental for RC2 and final due to unfinished translations.
With that, RC2 ships in 19 official languages including US English, plus one in experimental stage! - Various Discussions:
Lightning support, comm-central branching, 1.9.1.4 builds, RC1 feedback, needed build and machine updates for 2.1/m-c trees, testday, Microsoft add-ons and blocklist, etc.
I hope that finally our builds for SeaMonkey 2.0 are done - we'll see how well RC 2 holds up in testing this week, but chances are good that next Tuesday will be the big day and we can go gold, just converting those exact build to the final ones. A tremendous development effort from all around our team went into this release in the 3½ years we've now been working on it, and the
What's New list in the release notes only shows the tip of the iceberg. This is the first really major release from our project after we've been releasing fixed-up, slightly improved and rebranded version of the old Mozilla suite for quite some time.
This time we ship a new suite, a modern reincarnation of the original idea, and completely done by the volunteer team of the SeaMonkey project. Thanks to everyone who helped us to come so far, every one of those people in our community can be proud of him/herself these days.
Now let's test the hell out of it this week and then actually release it - are you with me?
October 20, 2009 04:46 PM
October 16, 2009
Fixes:
- Fixed: 435441 - Implement Webkit's CSS Transitions proposal.
- Fixed: 474049 - SVG SMIL: Add support for animating CSS properties.
- Fixed: 459301 - TM: Trace recursive function calls.
- Fixed: 473045 - [Windows] Implement Windows 7 Jump List features.
- Fixed: 474060 - [Windows] Show download progress in app icon in Windows 7 taskbar.
- Fixed: 501490 - [Windows] Enable Taskbar Previews for Windows 7.
- Fixed: 474056 - [Windows] Implement optional taskbar preview-per-tab.
- Fixed: 412796 - Optimize fastload system (mmap fileIO, endianness, packed structs).
- Fixed: 510844 - Remove memcpy()s for compressed jar reading.
- Fixed: 521967 - Going back/forward to a page shows the default favicon briefly.
- Fixed: 518104 - Implement HTML5 changes to <script defer>.
- Fixed: 507805 - Support for asynchronous file data access.
mozilla-central pushlog for 2009-10-03 04:00 to 2009-10-15 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
October 16, 2009 06:08 AM
October 14, 2009
What could be worse than outdated and disorganized documentation for an open source project looking to grow its volunteers and support its contributors? I’m not sure, but the l10n-drivers had to wake up each day asking ourselves that question about the state of our localization documents.
Something had to change, but to rectify that problem was a daunting task. Not only were documents outdated or obsolete, but also they were scattered through the Mozilla Wiki (wikimo) and the Mozilla Developer Center (MDC) like wet leaves across a yard, over into flowerbeds and onto the driveway.
Staś (and the l10n team, but primarily Staś) took up the goal of overhauling Mozilla’s l10n documentation. One result of a lot of work and many meetings was a Delicious page that we created and titled “Mozdocs“. If you’ve clicked through on that link, you’ll see our attempt to bookmark and tag *every document written* about Mozilla localization. This became our base for updating all of our documentation.
The Mozdocs Site
Staś determined that the best way to work was to create an inventory of what we had, categorize that, and then begin work. And so, we began by finding pages in our documentation and adding them to the Mozdocs page. We then tagged each page we found with something that described it.
Tagging pages became critical in our ability to work on these docs. Staś created a set of meta tags that tell us some information about the state of the page. Namely, does it need to be updated, is it obsolete, does it need to be fixed, should it be deleted, and more. We also have “location” tags that tell us where we found the document (i.e. my blog, Axel’s blog, Mozilla Wiki, etc.). Lastly, we have general purpose tags that describe the document.
If you’re interested, Mozdocs could be a very helpful page for you to get a sense of what is in the Mozilla L10n inventory of docs.
New documents, New Naming Guidelines
As foreman of the cleanup crew, Staś also determined that we needed to separate our documents properly. MDC would serve as the place for docs that describe how to develop and localize and can be abstrated from the Mozilla process. The Mozilla Wiki would serve as the spot for anything specific to the Mozilla Project’s localization process.
Get that? MDC = how to/abstract from Mozilla; Wikimo = Mozilla process.
As we created and edited documents, we made sure that they were placed on the proper platform. Furthermore, we started to rename documents using new “Naming Guidelines“. If you plan to create a new localization document on the Mozilla Wiki or MDC, we are asking that you use the following (Below is one massive hyperlink to the Naming Guidelines from the previous sentence):
- Always use the L10n: namespace (wikimo only)
- For hierarchies, use /, not :. This will create breadcrumbs automatically.
- Prefer hierarchies than longer names if you need to disambiguate.
- If not ambiguous, simplify.
- Don’t repeat yourself:
- Add localization-related tags (on MDC) or categories (on wikimo)
Our hope is that all new pages that deal with Localization will follow these naming guidelines.
And now, your turn…
As I mentioned, if you’re interested in scanning the inventory of documents, take a look at Mozdocs and the tags we have created. This could be a very helpful page for you to get a sense of what is in the Mozilla L10n inventory of docs.
Also, if you are finding new documents, can you please tell us and we’ll tag them on the Delicious site? Staś is the module owner of this site and we are accepting any “patches” to it. So, if you want to add something, just let us know and we will make the change.
ShareThis
October 14, 2009 10:39 PM
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 41/2009 (September 28 - October 4, 2009):
- Releases:
On the risk of sounding like a broken record, once again one of my main work items this week was release driving for 2.0 - the news is that we have released SeaMonkey 2.0 RC 1 on Saturday, I spent a large amount of time building it and later could push it public.
Follwoing that, I worked on a few followup issues found in build verification and early testing. - SeaMonkey L10n:
We could add Italian and UK English to the all-locales file for SeaMonkey - it looks like both are not just yet ready to deliver a complete localization for 2.0 final, but we hope they'll make 2.0.1 a number of weeks later.
On the actual shipping side, RC 1 shipped in 18 languages including US English, which mean we have all locales on board that shipped either of the betas - with more to come in RC2 (which hopefully will be final). - German L10n:
I synched up the last changes to about:rights and ChatZilla just in time for the RC 1, German should therefore be complete for the 2.0 series - except for minor bugs, which are usually only reported when it goes to the masses in any case. - Various Discussions:
Lightning support, gloda, comm-central branching, 1.9.1.4 builds, RC1 feedback, etc.
I'm sorry my status updates are not coming as early as they should come, I had a few things to do this weekend including Monday, e.g. moving the SeaMonkey 1.x tinderboxes to a new location - and trying to recover from a cold.
In any case, things look very good when looking at RC1 feedback, no major issues reported, a few more smaller bugs have been fixed though - we are at 154 fixed-seamonkey2.0 bugs now, which is a very impressive number since the second beta and which also includes a number of fixes since RC1 already. We currently have no reported blockers and no requests for blocking, so we look to be ready to go for a RC2 which is as much ready to be the final 2.0 as we know yet (we're just waiting for a "go" on a new build of the 1.9.1.4 platform right now). Of course, only good testing will show if it can hold up and really go golden roughly a week after it's being published to testers as an RC.
Let's hope that nothing bad comes up and it can step in front of the curtain as the real thing later this month!
October 14, 2009 10:00 PM
October 09, 2009
This is a test post from
, a fancy photo sharing thing.
ShareThis
October 09, 2009 09:13 AM
October 07, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 40/2009 (September 28 - October 4, 2009):
- Releases:
Another week of intense release driving - we had the string freeze for the whole 2.0 series this week, and the code freeze just after it. Things are looking good for the release, RC1 should come later this or early next week, depending on the speed of the build machines and our QA. We now have 130 fixed-seamonkey2.0 bugs, a lot of work has happened here! - Default Theme Icons:
The task icons for the new default theme could land this week. - Build machines:
On the weekend, I filed a bug on tinderbox reporting being brokwn which was fixed fast by Mozilla IT - thanks justdave!
Also, I talked to Seth from the community giving program and he told we they are committed to give us the machines we were promised to get, so the ball in in IT's court now, I'll get into contact with them. - EU MozCamp Prague:
I had tons of interesting talk with people from all over the Mozilla community at EU MozCamp 2009 in Prague - from core SeaMonkey contributors via Moco folks and localizers to Thunderbird, Lightning and KompoZer people - and writing down everything here would be too much. Though it's clear that even I love this community!
One topic is something i should probably highlight somewhat: The KompoZer folks and us from SeaMonkey agreed to cooperate much more in the future, we talked about how to work together to improve both SeaMonkey 2.1 and KompoZer 0.9 by sharing code and making KompoZer join comm-central for those Mozilla-1.9.3-based release and beyond. - SeaMonkey L10n:
I fixed a small typo in an en-US file so that it doesn't creep into locales as well.
Also, after the string freeze, I started the opt-in thread for 2.0 RC1 and final. - German L10n:
I synched up de SeaMonkey with the current trunk on the day before string freeze, so that only one change was left for opting in for RC1 later on. - Various Discussions:
Lightning support, gloda, comm-central branching, 1.9.1.4 changes, www.mozilla.org planning, etc.
Sorry this update is late once again, but I was somewhat busy getting all the L10n opt-ins etc. ready for starting 2.0 RC1 builds, which should be in progress now, hopefully we can push them public quite soon after some preliminary testing, so we get broader testing on the builds before we do a final release.
So, once we have those builds, please help testing!
October 07, 2009 11:57 PM
October 03, 2009
Fixes:
- Fixed: 334697 - Implement pie-chart throbber.
- Fixed: 453063 - Support for fullscreen video playback.
- Fixed: 511771 - Lightweight themes. (Personas now work without installing an extension.)
- Fixed: 514327 - Detect outdated plugins and offer upgrade path.
- Fixed: 515354 - Create "about:memory". (Windows screenshot, Mac screenshot)
- Fixed: 367596 - Create "about:support" page with troubleshooting information (e.g. list of extensions).
- Fixed: 507970 - Support new web font format (WOFF) in @font-face.
- Fixed: 518003 - Implement function to check whether element matches a CSS selector, mozMatchesSelector.
- Fixed: 510110 - Extend MozAfterPaint with more features for testability of Gecko and Web applications.
- Fixed: 516213 - Freshen WebGL implementation and enable on trunk. (If you set webgl.enabled_for_all_sites to true, these demos should work.)
- Fixed: 482985 - Add hidden pref for whether a "busy" cursor is shown while pages load.
- Fixed: 512854 - VACUUM places.sqlite database on daily idle once a month.
- Fixed: 307791 - ES5: Implement Object.keys(O).
- Fixed: 505587 - ES5: Implement Object.getOwnPropertyDescriptor.
- Fixed: 495325 - ES5: Make indirect eval act like global eval.
- Fixed: 209275 - Mozilla doesn't update link's/hrefs when changing base href.
- Fixed: 372980 - XPInstall reports "(Author not verified)" when signing certificate has no organization subject.
- Fixed: 513817 - [Windows] Switch scrolling to 6 lines in the default case.
- Fixed: 456646 - [Mac] Replace Carbon printing dialog with Cocoa one.
Fixes for recent regressions:
- Fixed: 513982 - DOMWindow leak opening new window on trunk.
- Fixed: 467601 - Long bookmark names (page titles) will hide tagging icon and tags' text in location bar dropdown list (overlaps, covers up).
- Fixed: 497434 - Tooltips no longer shown for bookmarks in places' menupopups.
- Fixed: 499447 - Hanging when changing width of main window - on BBC.
- Fixed: 510856 - Scrolling performance regression after bug 507334.
- Fixed: 517768 - Crash with view page source and external editor.
- Fixed: 504797 - Crash on Google Docs with jit enabled.
- Fixed: 482941 - "View Background Image" context-menu item is always greyed out.
mozilla-central pushlog for 2009-09-10 04:00 to 2009-10-03 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
October 03, 2009 11:31 PM
October 01, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 39/2009 (September 21 - 27, 2009):
- Releases:
Once again, I spent a lot of time release driving work for 2.0, blockers are down to 5 and one request now. We are up to 113 fixed-seamonkey2.0 bugs now, quite a large number of small fixes landing to finish up this release. - Default Theme Icons:
I uploaded a new patch for the task icon part of the new icon set for the default theme that week, meanwhile this has already landed. - Support Mails:
I went through the accumulating support mails in my inbox subfolder once again (I only do that every few months) and replied to every mail there that hadn't got a reply from someone else. This always takes some time, but I don't want to leave such mails without any reply, even if it takes a long time to come and even if me or council are the wrong people to contact for support. - ISPDB:
I filed a few bugs on ISPDB, the database Mozilla Messaging is building for the "autoconfig" feature of Thunderbird 3, which we probably want to use for SeaMonkey as well in the future. It enables users to just enter their email address and have most account settings configured automatically by pulling the relevant info from the server. - Statistics:
I mailed Daniel from the Mozilla Metrics team if I could get a few numbers of how SeaMonkey 2 is doing, and he sent me some good data culminating in my recent blog post on SeaMonkey statistics. Interesting material, thanks, Daniel!
I also received some interesting statistics on the spread of fixed bugs in the 2.0 cycle across people and components, I'll post about that when we get it updated after the code freeze. - Various Discussions:
Lightning support, 1.1.18, gloda, comm-central branching, Thunderbird UI changes, Mozilla Camp Europe, talk about Mozilla at a FOSS event in Vienna, etc.
I gave an interview this week with
Mozilla Hispano, the English version of which has been posted to
Mozilla Links.
And this weekend I'll be at
EU MozCamp 2009 in Prague and hope to meet a few of you there - and
show off SeaMonkey 2.0 there!
October 01, 2009 01:03 AM
September 30, 2009
Ever wonder what it takes to make a website localizable?
Last quarter, the l10n-drivers set out to document the steps necessary to make a web site or web application localizable (i.e. designing a project so it can be translated and localized). All too often, we found ourselves providing feedback on projects that had begun with the intention to reach a global audience, but had not been designed to scale at the intended level.
To illustrate our point, we decided to choose a real life example that we could go through with a team of project managers to document the steps necessary to make a project localizable. What we needed was a pilot project that had launched quickly to test a concept and see if the idea had enough global appeal that it would require localization. We chose Get Personas as the test case because it fit our criteria perfectly. With this project, Mozilla Labs had a site that had launched to prove its concept. Mozilla Labs often moves quickly and may not have the time or resources to map out just what of its many projects might take off since some of them may not. In this case, Personas quickly appeared to have global appeal and a need for l10n, but it contained project design flaws that did not have localization in mind from the beginning.
After working for the entire quarter with Mozilla’s Ryan Doherty, who was charged with making the site localizable, Staś Małolepszy, with Pascal Chevrel’s guidance and some from me, compiled all that we learned into several documents now hosted on the Mozilla wiki and on the Mozilla Development Center. Our intended audience for these documents is marketing and web dev folks.
If you’ve ever wondered what it takes to make a website localizable so it can scale to a global audience, please take a look at this wiki page and its links to other important documentation.
We’ll walk through the piece of this wiki page in more detail in a few forthcoming posts.
ShareThis
September 30, 2009 04:58 PM
September 25, 2009
For those of you who will be joining me at the MozEUCamp in Prague next weekend, I’ve updated the l10n track on the schedule and written longer descriptions of the presentations that will be given by the l10n-drivers and some critical volunteers (jhiatt and adriank).
Got a presentation or topic you want to discuss? Email me or comment or this blog and we’ll see how to get it in a slot. I intentionally left some open blocks so localizers can attend other non-l10n talks of interest. See you in Prague next week.
ShareThis
September 25, 2009 07:54 AM
September 22, 2009
Tomer, from the Hebrew localization team, highlighted an interesting problem the other day when he emailed the l10n-drivers to point out an issue that has been bothering him and many other localizers. Sometimes, developers will change entities in our locales/en-US directory, but forget to change the localization note above it to reflect the new entity. As Tomer explains,
“This causes the comment to become irrelevant to the text it references. Additionally, if someone then fixes the localization note, localizers won’t be notified on this change, and the comment does not get changed in our translations…As some of us are actually reading such comments before translating, it is important to get it 100% accurate.”
Here is an example that Tomer provides.
<!– LOCALIZATION NOTE (bookmarksSidebarGtkCmd.commandkey): This command
- key should not contain the letters A-F, since these are reserved
- shortcut keys on Linux. –>
<!ENTITY bookmarksGtkCmd.commandkey “o”>
You can see that example in our code on MXR here: http://mxr.mozilla.org/mozilla1.9.2/source/browser/locales/en-US/chrome/browser/browser.dtd#110
For those readers who may not be seeing what is happening here, notice that the <!– LOCALIZATION NOTE –> is referencing “bookmarksSidebarGtkCmd.commandkey“, but the !ENTITY variable name is actually “bookmarksGtkCmd.commandkey“.
That mismatch in the entity names has made that localization note untrackable by any locaization tools. Unfortunately, localization tools will not understand which comment belongs to bookmarksGtkCmd.commandkey. Furthermore, localizers who use these notes for translations will have to make the educated guess where the comment is pointing. If the note gets updated in the future, it’s likely that localizers will miss it.
Tomer suggested writing a script to look for these mismatches. In the very least, I am hoping this post will spread the awareness to developers to remember to do this. A quick request from l10n community: please maintain localization notes if entities get changed.
ShareThis
September 22, 2009 08:36 PM
While we were in the Philippines, Gen and I learned quite a bit about the local Internet landscape there. I thought I would share some more information that I picked up from the trip.
- Population is 92 million, online population is between 20-24 million
- English is one of the official languages of the Philippines. Tagalog is spoken by roughly 22 million people in and around Manila. Cebuano is another language spoken by nearly 20 million Filipinos south of the Luzon region (where Manila is located).
- Depending on what factor we use as a multiplier for our blocklist/AUS ping data, we can estimate that between 3 and 6 million Filipinos are using Firefox. That is a rough guess, but it places Firefox market share at a low-end of 12.5% and a high-end of 30%
- Most people we spoke to browse the Web in English (Firefox US version), but some did suggest that a local version would have appeal.
- Even further debate arose on whether a Tagalog version would have traction, with an audience of bloggers at Wordcamp responding collectively that it might not.
That latter point does not rule out Mozilla shipping a local version of Firefox. But, like every other localization, if we were to ship something localized to the Philippines, it will be because a local community member(s) responds to my call to action and decides to help us complete the body of work.
Obviously, Mozilla Firefox is taking off in the the Philippines, so I wouldn’t be surprised to see if the nascent community stepped forward with an offer to localize Firefox.
Finally, take a look at some stats about Firefox in the Philippines. (All numbers are based on our blocklist data.)

Growth of blocklist pings over one year

The Philippines is #4 on the list




ShareThis
September 22, 2009 08:41 AM
September 21, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 38/2009 (September 14 - 20, 2009):
- Releases:
Good parts of my time this week were spent in release driving work - triaging the rest of the blocking and wanted flag requests (mostly ones where Ian and/or me were unsure what to do in the past), approving fixes we can still take for 2.0, and trying to poke people to get the remaining blockers fixed and the wanted bugs resolved where possible.
We're down to 7 blockers and two requests made by me now, one of which probably has been rendered bogus as it now has an approved fix. Open wanted bugs are at 27 now, but a number of them don't need to be fixed, even though they would be nice to have. At the same time, fixed bugs since 2.0b2 are up at 76, which is quite a lot for two weeks in the SeaMonkey world and really nice to see! - Build Machines:
I did shut down buildbot on our Tiger test box as it has started to become somewhat unreliable recently and we have Leopard coverage in any case. - Lightning Support:
As we have tabmail in 2.0b2, we could support Lightning in principle with that milestone, but found out that Lightning nightlies won't claim they are compatible with it. So I filed a patch to make the minimum SeaMonkey version accepted by Lightning 1.0pre always to be 2.0b2 for now.
A blog post on this seened useful, as people started commenting about 2.0b2 and Lightning in my older entry on the general matter.
I also filed bugs on the two major issues we've been still seeing there, missing pref UI and an error with the invitation UI - both of which have been fixed within this week, either on SeaMonkey or on Lightning, so nightlies on both should work pretty well together now. - Small Fixes:
I fixed AMO URLs that had broken certificates - this unfortunately has an impact on all localizations without being able to change a string ID, so I posted on the L10n list/group about it.
A small NSS packaging fix also keeps us working with the NSS update that has happened on the platform. - Default Theme Icons:
The bug about a new icon set for the default theme has stalled for a long time after the main toolbars of all applications as well as the smaller MailNews icons had been done. To get things moving again, I posted a list of icons that are still unchanged from the old set in the bug and I did a patch for the task icons that appear in the component bar at the left bottom of the windows and in the Window menu.
More help on the rest of the missing buttons is badly wanted, this is work that only needs design knowledge, not code knowledge! - Website Work:
An update to our documentation on location-aware browsing (geolocation) has long been overdue, and I was reminded of this on IRC, I went and did that work now, making our info page fit with its Firefox equivalent. As that page links a SeaMonkey privacy policy, which we didn't have so far, I also created that, seeding it with Firefox's policy and fitting it to our needs. It sounded logical to put this into a new legal resources section on our website. - German L10n:
I added another round of fixes for the latest SeaMonkey code changes. - Various Discussions:
2.0b2 feedback, EnigMail support, NSS initialization on 1.1.18, gloda test failures, comm-central permissions, comm-central branching, SeaMonkey testday, Thunderbird UI changes, AMO process and reviews, Mozilla Camp Europe, OpenWebCamp Vienna, talk about Mozilla at a FOSS event in Vienna, etc.
I'm starting to feel the strain of the release driving I'm doing right now and the pressure I put on myself due to being so eager for this release to finally happen and be really good.
On the other hand, I've created a counter on my default home page that counts down to the takeoff for my vacation in about 46 days and 14 hours from now - and I have bought our tickets for the Thanksgiving game in Cowboys Stadium in Dallas! Since I saw that new stadium on TV yesterday I definitely know that those tickets are worth the money - I guess it will be pretty much sold out that day, and that means a crowd of over 100,000 people there! This will be pretty awesome! I just hope the Raiders will play a defense as good as yesterday, then we'll also see an interesting game down there on the field, which should complete a hopefully very memorable day...
Before that, there's still work to do though, so that SeaMonkey 2.0 will be a pretty damn good release.
September 21, 2009 08:09 PM
September 19, 2009
Gen and I attended WordCamp Philippines and I presented today to the audience of about 100-150 people. The purpose of our visit and participation was straightforward:
- To gain further insight into the landscapeof the Web and Internet in the Philippines;
- To assess whether or not a localized version is something our community here mightpursue;
- To meet our community of campus reps and others.
It’s been a steamy (as in the humidity), but amazingly kind reception here and we booked our schedules full with meetings and events. That’s all Gen’s amazing work.
As for my WordCamp chat, here is my presentation. I started by taking the audience through our open web demos (video, canvas, svg, css, js etc. thank you Paul Rouget…), and then honed in on describing our Mozilla community, using localization as an example of how we are a global community of passionate contributors working to promote Mozilla’s mission.
My call to action was two-fold: the blogging community can help promote the Open Web through their blogs, AND, if people feel empowered to do so, let’s start a localization for Filipino users.
Feedback from these local bloggers was energetic, questions were poignant, and the message was embraced. My prediction, a Mozilla community here is going to take off if we continue to nurture, empower, and participate.
I am trying to embed the presentation here, based on some code that Gen shared with me, but it looks like it is not working.
ShareThis
September 19, 2009 12:20 AM
September 17, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 37/2009 (September 7 - 13, 2009):
- Releases:
Continued uploading contributed 1.1.18 builds.
The big work item for this week was SeaMonkey 2.0 Beta 2 though. As I need to play release driver, build engineer, marketing guy and some part of the QA lead, it took some time to get everything finished off, but I could push the beta public on Saturday. So far, everything looks fine and feedback from that release is already leading to patches being landed for 2.0 final. - Build Machines:
I had more discussions with Mozilla IT on how to solve the unsatisfactory situation we are in due to Parallels not delivering the stable virtualization of Mac machines we'd need, and they might get us a few minis set up. Going virtual would have been nice but unfortunately there is no good solution for this yet apparently.
I also fought an instability of tests on Tiger, I guess it's time to make our testing on Mqac Leopard-only. - SeaMonkey L10n:
Beta 2 could go public with 17 official languages (including US English). I hope this number will even rise with RCs and final. - German L10n:
Unfortunately, there's a nasty typo in German SeaMonkey 2.0 Beta 2 that breaks sending email to SMTP servers that need authentication. People only found that when testing the beta itself, but I found the cause and current nightlies as well as RCs next month are fixed, the German newsgroup has a fix circulating for those who dare to edit files inside a zipped de.jar file of their installation. 
I also updated the localization for a few changes made since we re-opened the tree for post-beta fixes. - Various Discussions:
Lightning support, EnigMail support, 2.0 approvals, quit dialogs, intermittent 1.1.18 NSS problems on Linux, QA community, Mozilla Camp Europe, Mozilla Weekly Project Meetings, etc.
I know this update is somewhat late again, I barely come to do the routine daily work right now. How does the saying go - so much to do, so little time? something like that.
In any case, we could release SeaMonkey 2.0 Beta 2 on Saturday, and I hope it's getting out to our testers, unfortunately the Mozilla release guys who could moderate the post to the prerelease announcement list are all on vacation and the download counter has not been turned on again after being turned off for performance reasons during some recent Firefox release, we don't have any other statistics that could show us anything about the uptake of this beta, so feedback in the newsgroups etc. is the only way we know if people use and test this version. I already saw that some media has picked it up, so at least one channel seems to be working!
It's nice to see the new Mac theme in a screenshot in
one of the press reports, and tabmail makes it possible to use to use current Lightning nightlies with the Beta 2 release and newer nightlies, even though there are still some glitches. We're working on fixing those problems as well so that SeaMonkey 2.0 should hopefully support Lightning 1.0 fully. Oh, and we're also working on getting our APIs beefed up enough that EnigMail should work again, by the way.
September 17, 2009 12:11 AM
September 16, 2009
We wrote last week about a new project we’ve started, informing our users when they’re running out of date versions of popular plugins. We focused our initial efforts on the Adobe Flash Player and now, a week after launch, Mozilla’s Numerator, Ken Kovash, has a blog post up looking at the results.
Those results have been nothing short of awesome. In the first week that the project has been live, we’ve seen 10 million people click through from our page to Adobe’s update site. As Ken points out, this is not just a huge number, it’s also about 5x higher click through than that page typically sees.
We’re continuing to look for ways to help our users stay safe and up to date. We’re working to roll other plugins into our web-based checking, and the Firefox team is also building an integrated check that will let you know whenever a site you visit is trying to use an outdated plugin (more on that soon). This is just the beginning.
September 16, 2009 09:49 PM
Over the past couple Firefox releases, the Mozilla community has proudly shipped a Mongolian localization of Firefox. And, based on the blocklist pings that Firefox makes everyday, we can estimtate that we have between 10,000 and 20,000 active daily users in that locale. That’s a nice accomplishment by the Mongolian community!
However, as we ramp up our efforts to localize Firefox 3.6, and a mobile Firefox, we have been reaching out to our “mn” community leader, Natsagdorj (Nagi) Shagdar, but have had no response to the emails we have sent. I guess it’s an inevitability to have some turnover when a 100% volunteer community rallies together to ship Firefox in over 70 languages. Building sustainable communities is critical to our ongoing success and something we take very seriously.
Therefore, this is an open blog post to reconnect with our Mongolian team in order to make sure everything is OK and receive a status update on the work/team going forward. It would be terrific to receive an email from Nagi or others to let me know how to proceed with work on the mn locale.
This post serves a secondary purpose because we also would like to invite any others interested in joining the Mozilla Mongolian community to contact us. We are looking for community members to help take up some of the localization effort so we don’t lose all that we have accomplished with the mn version. Plus, we don’t want to let down thousands of our Mongolian users who will be looking for the latest and greatest when Firefox 3.6 comes out.
If you have interest in joining the community or know of anyone who might help in some capacity (even with simple referrals), then contact me through the comment section of this blog. We have a robust set of community members and tools that makes localization easy and fun.
As a matter of fact, we are welcoming all newcomers, so just ping me. Thanks, everyone!
ShareThis
September 16, 2009 06:46 PM
September 11, 2009
Fixes:
- Fixed: 465673 - Tabs opened from links should appear next to the current tab (instead of at the end of the tabstrip).
- Fixed: 310738 - Don't show progress indicators when using bfcache to go to another page (causes slowdown).
- Fixed: 505699 - [Mac] Need UI to get into and out of fullscreen mode on OS X.
- Fixed: 244371 - Show a tooltip in Bookmarks and History sidebars.
- Fixed: 506430 - Optimize UTF8 to UTF16 conversion.
- Fixed: 488270 - New APIs for precise time measurement of net requests.
- Fixed: 454518 - Allow opening URLs that are not linked from the context menu (if selected).
- Fixed: 513233 - Implement accelerometer support for Windows ThinkPad.
- Fixed: 513147 - Get rid of the "Properties" context menu item.
- Fixed: 293889 - Typing in "find as you type" freezes Firefox for a while on big webpages when search term is not found.
mozilla-central pushlog for 2009-08-27 04:00 to 2009-09-10 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
September 11, 2009 05:54 AM
September 09, 2009
As part of Mozilla’s ongoing stability and security update process, Firefox 3.5.3 and Firefox 3.0.14 are now available for Windows, Mac, and Linux as free downloads:
We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.5 or Firefox 3, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please review the Firefox 3.5.3 Release Notes and the Firefox 3.0.14 Release Notes.
Note: All Firefox 3.0.x users are encouraged to upgrade to Firefox 3.5.3 by downloading it from http://firefox.com/ or by selecting “Check for Updates…” from the Help menu.
September 09, 2009 11:11 PM
As we’re struggling with our string freezes for 1.9.2, I figured I’d put something up on planet for everyone to notice:
- String freezes are one only, and done with. No “I’ll get that in the next milestone”. First string freeze is the last.
- String freeze for mobile-browser and toolkit was last Friday. For mobile-browser seriously this Friday, Sept 11th. (*).
- String freeze for Firefox 3.6 is Sept 14th.
September 09, 2009 09:59 PM
September 08, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 36/2009 (August 31 - September 6, 2009):
- Releases:
Released 1.1.18, including putting relnotes and announcements online and uploading contributed builds.
Also, SeaMonkey 2.0 Beta 2 went into a freeze, I did start the release process, including tagging and creating builds and updates for all 17 languages including US English. The process went smoother than for 2.0b1 but still had a few hiccups, both due to my faults and the build machines not being as stable and speedy as we could hope. - Build System:
Created and landed a patch to ship an add-on blocklist in our builds, and as AMO people also updated the list there and I used that, we are now saving our users from crashes etc. from bad plugins right from the start. - Identity/EV UI:
My patch for an identity icon in the Page Info "Security" tab could land this week right before 2.0b2 was frozen up, so people get a better visual clue on the security of the viewed page. - SeaMonkey L10n:
We had 16 locales opting in with valid changesets, unfortunately cs didn't make it this time, but nl joined and the ones that were unofficial for Beta 1 are also official in Beta 2 so we are up 2 languages for 17 official languages supported including US English in Beta 2. I hope the numbers will rise even more for the RC(s) and final. - Various Discussions:
Mac build boxes, tree rules towards 2.0, Lightning support, quit dialogs, 1.1.18 NSS problems on ancient Windows and intermittently on Linux, SeaMonkey and Snow Leopard, www.mozilla.org planning, Mozilla Camp Europe, Mozilla Weekly Project Meetings, etc.
Tabbed mail landed in time for SeaMonkey 2.0 Beta 2, so we have all the features in that we wanted to have in the 2.0 series! Thanks to everyone who has worked on getting us here, I hope we now can take this remaining month to polish up this version enough that it's ready for shipping as an official 2.0 release.
Also, thanks to jenzed from Mozilla Messaging for putting up
SMILE documentation on MDC so SeaMonkey add-on developers can find resources about those APIs!
September 08, 2009 06:29 PM
September 04, 2009
Starting with the upcoming releases of Firefox 3.5.3 and Firefox 3.0.14, Mozilla will warn users if their version of the popular Adobe Flash Player plugin is out of date. Old versions of plugins can cause crashes and other stability problems, and can also be a significant security risk. For now our focus is on the Adobe Flash Player both because of its popularity and because some studies have shown that as many as 80% of users currently have an out of date version.
After installing the Firefox security update, users with an out of date version of the Adobe Flash Player will see this message:
Our intent is to get the user’s attention, and direct them to the Adobe web site where they can download the most up to date version.
For users who are already running the latest version, or who don’t have the Adobe Flash Player installed, the page will look very much like what they would normally see after a Firefox security update:
Mozilla will work with other plugin vendors to provide similar checks for their products in the future. Keeping your software up to date remains one of the best things you can do to keep yourself safe online, and Mozilla will continue to look for ways to make that process as easy as possible for its users.
September 04, 2009 08:24 PM
September 01, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 35/2009 (August 24 - 30, 2009):
- Releases:
I've spun a second round of Windows candidates for 1.1.18, things look good now for releasing this version very soon.
In Parallel, we've frozen strings for SeaMonkey 2.0 Beta 2 and are taking L10n opt-in from localizers as we speak, freezing the code as well this night and hoping to kick off build very soon. - Build System:
I closed up filtering out the entries I had so far in my new buildsystem porting tool, and wrote up a blog entry about it. - Identity/EV UI:
Sitting in the train and looking for something to do, I took an hour (or possibly less) to write up a patch for an identity icon in the Page Info "Security" tab, which is where you get to when clicking on any of the security indicators in the status or url bar of the browser. With that icon, users can get an impression of the security level of a site without reading all the info on the tab in detail: green icon is an EV (extended verification) level that verifies the identity of the other side, blue icon is a normal secure level that verifies the domain of the other side, gray icon is no security.
The patch landed after the week I'm reporting on but in time for 2.0b2. - Automated tests:
I filed and tried to help fix mochitest timeouts on the SeaMonkey2.0 tree, but it looks like the patch Honza Bambas came up with breaks Firefox3.5 tests, while it interestingly work well for Firefox trunk. We need to further investigate this. - Session Store:
I landed patches for Undo close window, another feature that came just in time before the feature freeze for the SeaMonkey 2.0 series. Thanks to Misak Khachatryan for doing the work and porting that functionality to SeaMonkey! - SeaMonkey L10n:
I started the opt-in thread for SeaMonkey 2.0 Beta 2 and hope many localizations will join the train this time! - German L10n:
I landed two patches with help updates, thanks to Michael Opitz for doing this work. Also, I integrated more work for fixing spelling mistakes in ChatZilla, here the thanks go to Hagen Halbach for finding them and offering a patch.
Next to that, I updated the localization for a number of SeaMonkey changes coming in before the string freeze for the upcoming second beta. - Various Discussions:
Tabmail, Mac build boxes, QA team, www.mozilla.org new design going live, Mozilla Camp Europe, etc.
Tabbed mail has landed last night, and so today's nightlies are the first one to contain this feature officially, making them feature-complete for the 2.0 series! Also, the last blocker for Beta 2 just landed, more than 12 hours before the code freeze, so we should be in perfect timing for this beta - and with that, hopefully for the final as well. I'm really looking forward to both of those releases!
September 01, 2009 07:50 PM
August 28, 2009
One more post coming from l10n intern, Jeremy Hiatt. The following word-for-word post describes his work to improve the format of LOL, making it more readable and understandable for the developers and localizers who might use it.
————————————-
Today I gave a presentation to some of the guys from the platform team about the state of l20n. In my previous posts I’ve blogged about the advantages and drawbacks for each of the formats we’ve considered, and I got some more good feedback about that in today’s brownbag. After the talk, I chatted with fantasai about how we could improve the LOL format to made it more readable and understandable. She had some interesting ideas that I’d like to share.
Dropping Angle Brackets
First, she (and a few others) pointed out that angle brackets make LOL look like XML. However, this resemblance might be confusing since LOL is otherwise nothing like XML. The intention for angle brackets in LOL was to delimit entity definitions and give clear visual separation. These cues are helpful for our parser, especially when it comes to error recovery. In an error case, the parser can drop all tokens until it recognizes an opening bracket (<) and resume the parse. If you have suggestions for implementing effective error recovery if we do remove the brackets from the syntax, please leave them below.
Encoding Properties
Another potentially confusing aspect of LOL files is that an entity may have properties defined in addition to its value. Here’s our usual example of a noun with a specified gender:
<appName: "Jägermeister"
gender: "male">
This can be disambiguated slightly with indentation, but fantasai noted that the current syntax does little to explain the difference between the first assignment (which is specifying appName itself), and the second assignment to the appName.gender property. She suggested a syntax that differentiates assigning the value from assigning properties: use ‘=’ for the first assignment, and curly braces to delimit additional properties. Here’s the same example from above:
appName = "Jägermeister" {
gender: "male" }
In this format, LOL would look a lot like CSS.
Indexing
An entity that mentions a variable gendered noun may define different forms for different genders. For example:
<complex[appName.gender]: {
male: "Ein hübscher ${appName}s.",
female: "Ein hübsches ${appName}s."}>
In the current syntax, square brackets following the entity key denote the index used to select the proper form. The suggestion was to move that to the RHS of the assignment:
complex = [appName.gender] {
male: "Ein hübscher ${appName}s.",
female: "Ein hübsches ${appName}s."}
If you’re familiar with a switch statement in programming, you’ll probably notice that we basically adopted the standard syntax, but substituted square brackets for the switch( ) keyword.
Objects with Multiple Attributes
Objects in the UI, such as buttons, typically have a “label” and “accesskey” attribute but no canonical string value. This is subtly distinct from the cases above, where in the first case we wished to specify additional properties, and in the second the string value was resolved based on an external index. Example time:
<button: {value: "Push me", accesskey: "p"}>
In this case, it doesn’t make sense to refer to just “button”: you want either the label or the accesskey, which are available through the “.” accessor (e.g. button.label). To draw attention to this distinction, we could require a syntactic difference, or we could simply omit the index from the switch syntax above.
Summary
There are plenty more features of l20n that I’d love to put under the microscope here, but in the interest of focusing the discussion I’ll add them to a future post instead. As always, please share your opinion. You can also find us on IRC if you’re looking to start a lively debate; just look for me (jhiatt), Pike, and gandalf. Thanks to everyone from the brownbag today, and thanks especially to fantasai for taking the time to help us out!
ShareThis
August 28, 2009 09:25 PM
Fixes:
- Fixed: 295977 - Autoscrolling does not work for elements such as div using overflow.
- Fixed: 477118 - https webpage with data: images trigger a "Page contains unencrypted information" mixed content warning.
- Fixed: 378528 - Crash reporter should allow resubmission of pending reports.
- Fixed: 113577 - Implement -moz-image-rect(): use a rectangular region of an image as CSS background image.
- Fixed: 439815 - [Mac] Keyboard shortcuts with alternate keyboard layouts (including colemak) are missmapped; they are mapped for qwerty.
- Fixed: 435041 - [Mac] Implement Cocoa NPAPI event model for Mac OS X.
- Fixed: 511902 - [Mac] Device Orientation Support for laptops. (dougt's post, demo)
- Fixed: 443178 - Tooltips cause bogus mouse events.
- Fixed: 502818 - Property access on "DOMMouseScroll" events does not propagate to `Event.prototype`.
- Fixed: 402892 - [Linux] Switch from gnome-vfs to GIO.
Fixes for recent regressions:
- Fixed: 506491 - Download Manager opens 'Blank' - intermittent - Error: gStr.timeUnits is undefined and download is null.
mozilla-central pushlog for 2009-08-17 04:00 to 2009-08-27 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
August 28, 2009 06:55 AM
August 26, 2009
Asa passed me this Read Write Web article about the Worldwide Lexicon’s project, Firefox Universal Translator, which helps translate web pages automatically within the browsing experience. The tool enables project members to create, curate, and share translations. Have you seen it and what do you think? I’m curious to hear.
ShareThis
August 26, 2009 08:44 PM
August 25, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 34/2009 (August 17 - 23, 2009):
- Releases:
After I could fix at least one major problem on the Linux 1.1.x build box (something is still strange with nightlies), I started the release process for SeaMonkey 1.1.18, which has a major upgrade of NSS (and NSPR) as the only major change, which fixes a few SSL issues, including possible MITM of SSL connections. We found a regression on Windows, failing to package some new files coming up with that upgrade and rendering NSS unusable, we're fixing this right now and doing a second round of candidates with it.
A 1.1.19 in a few weeks will then catch up with other fixes ported from Firefox 3.0.13 and 3.0.14 (the NSS we ship now is exactly the same as in those versions).
I also filed a bug on 2.1a1 as well as 1.1.19 flags on Bugzilla, we now can mark things we'd like to see fixed in those future milestones. - Build System:
Even more review for Serge's patches for porting build system changes to comm-central and and some, but not much progress in filtering out the to-be-ported changes in my new tool. - Various Discussions:
Tabmail, Mac build boxes, AMO and SeaMonkey, QA team, www.mozilla.org planning, Mozilla Camp Europe, Mozilla Creative Collective, SUMO browser sniffing, doorhanger notification plans, Thunderbird schedules, etc.
I've been quite busy this week with a halfway-finished move in real life, but things are moving well along even with me not being around as much as usually and I'll be back for the usually amount of time every week when the move is completed.
By the way, I just did get some interesting numbers about SeaMonkey 2 usage: Over the last week, we had ~2700 people average daily users on 2.0 Beta 1, about 500 on the alphas, ~460 on 2.0b2pre builds, ~150 on 2.1a1pre, and ~160 on "pre" version from before 2.0b1 - a total of almost 4000 daily users on our current unstable versions and in August, where many people are probably still on holidays. I think those are pretty decent numbers, esp. as there is a 25% rise in total numbers compared to 4 weeks earlier.
August 25, 2009 07:55 PM
As promised, here is the second post from Jeremy Hiatt’s work on our l20n project. This is a word-for-word reposting of his essay about compiling localizable objects in native JS.
====================================
One of the goals for my summer internship is to improve performance of l20n. The initial implementation was a parser written entirely in JavaScript that operated on .lol files. For more details about our choices for file formats, see my previous post. After some failed attempts to rework the parser’s use of regular expressions that regressed performance, I experimented with JSON as an alternative file format. The hope was that we could leverage the performance of Gecko’s built-in JSON parser to speed up l20n. We did see some tremendous improvements: on a large testcase constructed from browser.dtd, JSON cut our parsing time from ~140 milliseconds down to just a few ms. Unfortunately, we were still slow when it came to evaluating and displaying all those entities. We still had a big chunk of parsing left that we couldn’t outsource to JSON. Each string value in l20n may contain variable placeholders. Here’s an example (in JSON):
"droponbookmarksbutton" : {
"value" : "Drop a link to bookmark it"},
"popupWarning" : {
"value" : "${brandShortName}s prevented this site
from opening a pop-up window."}
(Line breaks inserted for clarity.) The first string doesn’t use any variables, but the second does. In order to catch all these placeholders, we scanned each string with a regular expression to match the ${…}s syntax, even though many strings don’t use any variables. That translated to a linear traversal of every single string before it could be returned, costing us a lot of time. In tests conducted in the xpcshell, rendering all the elements from browser.properties took roughly 40ms. In comparison, the current framework for properties files can parse and display all the elements in under 20ms. Since we can’t afford to regress overall performance, that meant we still had work to do to get faster.
One way to eliminate checking every single string is to add extra information to the encoding for strings. Many languages define different behavior for single- vs. double-quoted strings, performing replacements in one but not the other. We could also have added a special flag to indicate simple (no replacements) vs. complex strings. Either of these approaches would have added further complexity to the localization process, so we did not seriously consider this approach.
Instead, on the advice of the brilliant Staś Małolepszy, we embarked on an experiment to compile our l20n objects into native JavaScript. As a result, we saw another impressive performance jump. In an xpcshell test, we can load and display all of browser.properties in roughly 4ms (an order of magnitude improvement!). Here’s what our previous example looks like as compiled JavaScript:
this.droponbookmarksbutton="Drop a link to bookmark it";
this.__defineGetter__("popupWarning",
function() { return "" + (brandShortName) +
" prevented this site from opening a pop-up window.";});
Another great thing about compilation is that our runtime performance doesn’t depend on our choice of source file format. Here’s a diagram showing the different ways an l20n file can get inflated into a localization context:

Inflating l20n source into a context
The performance numbers were collected using nsITimelineService in the xpcshell. The l20n runtime infrastructure can inflate a source file directly into a context, or it can load compiled JavaScript definitions for a significant performance boost. For comparison, here’s a diagram of Mozilla’s current l10n scheme:

Current l10n scheme
Again, this time was measured in the xpcshell when loading the browser.properties string bundle. It’s not necessarily representative of performance for DTD files as well. As we can see, compilation now guarantees at least comparable performance to the current approach, no matter what file format we end up using. If you’d like to weigh in on that debate, please leave a comment on my previous post! And finally, we are also working on l20n support in Silme so that it will be easy to migrate existing DTD/.properties files to our new l20n format.

Intercompatibility with Silme
Silme will serve as a critical compatibility layer to ensure a smooth transition to our new l10n framework. Please let me know if you have any questions or comments!
ShareThis
August 25, 2009 03:59 PM
Jeremy Hiatt is our localization summer intern who has been doing some fantastic work to advance the conceptual idea of L20n into something more practical. Below is a word-for-word copy of a post he made on his blog. I am reposting his words to get more people reading what he has been working on. Tomorrow will come a second repost about compiling localizable objects into native JavaScript.
——————————-
L20n (for localization, 2.0) aims to empower localizers to describe complexities and subtleties of their language: gendered nouns, singular/plural forms, and just about any other quirk that might exist in the grammar. Like DTD and .properties formats, which we currently use to encode localizable strings, l20n objects associate entity IDs with string values. Localizers translate these values into the target language. L20n has all the power of the current framework, plus a lot more, and it’s just as simple to use (provided we choose the right format!). You can find some examples of l20n in action here. In the past weeks, we’ve experimented with JSON (JavaScript Object Notation) as a file format to represent localizable objects in hopes of achieving better performance by leveraging the new built-in JSON parser in Firefox. The performance gains were substantial, but still not enough to compete with the current DTD/properties framework in terms of speed. We’ve since adopted a new scheme to compile our l20n source files into native JavaScript (credit to Staś Małolepszy for suggesting this). This compilation now guarantees good performance independent of our choice of source file format. I will discuss the specifics of compilation in an upcoming post; this post will focus on the relative merits of the various formats under consideration.
Meet the contenders
LOL files
Before experimenting with JSON, we developed a novel format for l20n, playfully titled “localizable object lists” (.lol files). A lol file looks like a hybrid of DTD and .properties formats, with entities delimited by angle brackets and colons separating keys from values. Here’s a simple example, constructed from brand.dtd:
<brandShortName: "Minefield">
<brandFullName: "Minefield">
<vendorShortName: "Mozilla">
<logoCopyright: " ">
In this simple case, the lol file looks a lot like the original brand.dtd, which looks like this:
<!ENTITY brandShortName "Minefield">
<!ENTITY brandFullName "Minefield">
<!ENTITY vendorShortName "Mozilla">
<!ENTITY logoCopyright " ">
We lost the !ENTITY declaration and added a colon, but otherwise the lol format should look familiar. What if we want to do something more complex, like define an entity that involves a gendered noun? Here’s a German example encoded in a lol file:
/* This entity references a gendered noun */
<complex[appName.gender]: {
male: "Ein hübscher ${appName}s.",
female: "Ein hübsches ${appName}s."}>
/* This is a gendered noun */
<appName: "Jägermeister"
gender: "male">
In the above example, we indicated the “complex” entity depends on the “gender” property of the “appName” entity. The ${…}s expander within the string is a placeholder that will be replaced with the value of “appName” (Jägermeister). Note that we can insert comments in the familiar /*…*/ style. If you’re curious to see more use cases for l20n and the lol format, be sure to check out the link above to Axel’s examples.
JSON
JSON is a well-known data exchange format. It’s simple to understand, and with implementations available in many different languages, simple to use. As mentioned above, our initial attempt to encode localizable objects in JSON was motivated by performance concerns. Even without a speed advantage, JSON still has some attractions, namely its existing implementations. Our JSON-based l20n infrastructure leverages Gecko’s built-in parser to do a lot of heavy lifting, meaning we have less code to maintain on our part. Plus, arrays and hashes, the fundamental datatypes available in JSON, are a natural fit for localizable objects. Still, JSON has some serious shortcomings, which we will see shortly.
As mentioned above, JSON is great for describing key-value pairs. Here’s the same brand.dtd example, now expressed in JSON:
{"brandShortName" : {"value" : "Minefield"},
"brandFullName" : {"value" : "Minefield"},
"vendorShortName" : {"value" : "Mozilla"},
"logoCopyright" : {"value" : " "}}
Our localizable objects in JSON feature a “value” attribute denoting the string to be displayed. This makes our JSON example slightly more verbose, along with the required quotes surrounding the keys. Now here’s the sample gendered-noun example from above, this time in JSON:
{ "complex" :
{"indices" : ["appName.gender"],
"value" : { "male" : "Ein hübscher ${appName}s.",
"female" : "Ein hübsches ${appName}s."}},
"appName" : {"value" : "Jägermeister",
"gender" : "male"}}
In JSON, we need to reserve some keywords for attributes, like “indices” here, to implement certain l20n features. Still, JSON works pretty well to express the structure of the object. One area where JSON doesn’t work so well is comments. In JSON, our top-level object is a hash that associates entity IDs with their definitions. There are a few apparent ways to integrate comments into this object:
- Assign each comment to the same identifier, e.g. “comment”.
- Assign each comment to a unique identifier, e.g. “comment0″, “comment1″, etc.
- Don’t allow top-level comments: each comment has to be an attribute of an entity
Option 1 makes sense for humans writing JSON, and it’s valid, but a little strange.
Option 2 is a little painful when writing the file, especially when it comes to inserting new comments. This scheme would make it possible to reference specific comments, which might be useful.
Option 3 is somewhat of a straw-man but still deserves some consideration. Most comments in a localizable file give instructions for how to translate a specific entity, and now that relationship would be explicitly enforced. This form of comment is likely the best choice in most situations, but it probably is too restrictive to make it the only choice.
Another shortcoming in JSON is that it doesn’t support multiline strings. This is a serious problem when it comes to presenting long strings to localizers, since line breaks aren’t just for readability; they also give important cues for localization about logical separation between thoughts. As it turns out, the native JSON parser built into Gecko is perfectly content to accept multiline strings, but most other parsers will report an error.
YAML: A better JSON?
YAML is a data serialization language that is a superset of JSON. It supports comments, multiline strings, and user-defined data types. On the downside, it’s not nearly as well-known as JSON, it’s considerably more complex, and it’s not already built in to the Mozilla platform.
Here’s our first example from above, now in YAML:
brandShortName: Minefield
brandFullName: Minefield
vendorShortName: Mozilla
logoCopyright:
And the second example:
complex:
indices: appName.gender
value:
male: Ein hübscher ${appName}s.
female: Ein hübsches ${appName}s.
appName: {value: Jägermeister, gender: male}
YAML has the same logical structure as JSON with a much cleaner look, since indentation can be used instead of curly braces to denote objects, and it doesn’t require strings to be delimited with quotes. That’s another attractive feature, since it reduces the chance for errors with improperly escaped quotes within strings, and missing trailing quotes, that cause a lot of frustration. The less rosy side of the picture is that we don’t have a YAML parser that we can simply drop into place like we did with JSON, so it would require a lot of work on our part to get it up and running. YAML does have a fair number of implementations floating around, but development seems to have stalled on many of these. For example, this JavaScript implementation hasn’t seen any updates in nearly 5 years.
Summary
So far we’ve seen examined three choices: LOL, JSON, and YAML. The first was designed specifically for l20n, so naturally it encodes the complex features of l20n most gracefully. The remaining two are established formats with implementations available in many different programming languages (JSON to a far greater extent than YAML). The lack of comments and multiline strings is probably enough to eliminate JSON from the discussion, since these deficits outweigh any advantage of interoperability, leaving us with LOL and YAML. If you’d like to make a case for one of these, or any other format dear to your heart, don’t hesitate to leave a comment! We’d love to get your input.
ShareThis
August 25, 2009 12:49 AM
August 17, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 33/2009 (August 10 - 16, 2009):
- Build and Release Machinery:
The last step for release automation is done - after the move of CC* release factories to buildbotcustom, we have all the tooling for comm-central-based releases in shared code. We share those classes completely betwen SeaMonkey and Thunderbird release automation in the future, and also share as much as possible with the Firefox process. Because of that, any fixes in the process benefit all of us at once, and we all have the same tools for verification of updates, etc. There should be quite some mutual benefit in this. - Build System:
I reviewed more patches from Serge for porting build system changes to comm-central and next to this worked with my new tool described here last week to filter out those changes that still need porting. From about 350 changes last week I could filter the list down to about 230 right now, and that list still needs a bit more work to eliminate changes that we actually don't need to port after all. When I get to finish that filtering, I'll post a link publicly, until then, links are available on personal request. - Download Manager:
I did another pass on the "Properties" view patch and now included a test that actually calls it, checks that indeed a progress window comes up and that it correctly gets the end time for finished downloads. The patch got review and could land on Sunday. This patch also fixed the wrong icon on the download manager window, it displays its own icon again now. - German L10n:
As reported in a bug, German SeaMonkey 2.x builds had strings overflowing multiple panels in the account manager. I fixed that by both increasing the account manager width and shortening a number of strings. While I was at it, I took care that preference panels fit as well. - Various Discussions:
2.0b2 and 2.0 final scheduling, 1.8.1.23 security release, tabmail, new Mac theme, SMILE, QA team rebuilding possibilities, AMO and SeaMonkey, www.mozilla.org planning, Mozilla Camp Europe, Community Store contacts, etc.
Two great features landed this week in the SeaMonkey tree:
SMILE and the
new Mac theme. While I still hope we'll hear a bit more about them in blog posts on the official SeaMonkey blog, here's a small description of what makes those two items special enough to be highlighted:
SMILE is the
SeaMonkey Interface Library for Extensions and is the same as
FUEL for Firefox and
STEEL for Thunderbird - a collection of APIs or access points that make work tremendously easier for add-on developers and. Starting with nightlies this week, SeaMonkey provides the Application object (as a smileIApplication instance) implementing the common extIApplication functionality and a bit more. Any add-on that uses those functions in Firefox or Thunderbird already is now much easier to get to run in SeaMonkey as well. Jorge Villalobos did the initial implementation of SMILE, Philip Chee finished it up so we could add it now - thanks to both of them for this work! We're still looking for someone who can write up documentation for it on
MDC - are you willing to help there?
The new Mac theme is important for completely different yet creatively similar reasons, the common thread is consistency. While SMILE makes add-on interfaces more consistent with Firefox and Thunderbird, this new default theme on OS X make SeaMonkey's look not only consistent with those but also practically all of the modern Leopard desktop. The unified look of the window title bar and the toolbars, their dark look, the look of tabs in the page info dialog, thin vertical splitters and a lot of other things were tuned by Stefan Hermes to make SeaMonkey fit as well with the Leopard style as reasonably possible, even if he says that there's still a few things he can improve even more. I hope he'll do a post with a few screen shots soon so everyone can see how much better SeaMonkey 2.0 looks in Mac style now.
We have about two weeks left until feature freeze for the 2.0 series and we're coming along nicely. Let's use the remaining time and make it even better!
August 17, 2009 07:33 PM
August 14, 2009
Starting a little later tonight, users with the latest version of Firefox 3 will be getting an offer to update to Firefox 3.5. If you’re running Firefox 3.0.13 you will see the offer in the next couple of days, though if you’re eager you can always “Check for Updates” in the “Help” menu. This is what the offer will look like:

Clicking the “Upgrade to Firefox 3.5″ link will open a new tab with more information about Firefox 3.5 to help you make your decision about upgrading. From there, you have a choice:
- select Later if you don’t want to decide now; Firefox will ask again in 24 hours
- select Never if you don’t want to accept this upgrade offer; we might send you another offer again in the future, but it won’t be for several weeks or months
- select Get the new version to continue on with the upgrade process!
Once you’ve accepted that, Firefox will download and install the update, then offer to restart the browser. When you restart, you’ll be rolling with Firefox 3.5!
Now, although over 90% of Firefox add-ons have been updated to be compatible with Firefox 3.5, in some cases the authors have created entirely new versions. If that happens with your favorite add-on, you might see the following screen:

You can see exactly which add-ons are being flagged as potentially incompatible by clicking on Show List. As mentioned above, for most popular add-ons, there probably is an update available, but you’ll need to install Firefox 3.5 first in order to check. If you continue with the update process, when Firefox 3.5 starts up for the first time you’ll see the following screen:

By all means, Check Now to see if there’s a version of that add-on which works with Firefox 3.5. If there is, you’ll see the following:

You’ll want to Install Now which will fetch the update and then continue loading Firefox 3.5.
If an update isn’t available, Firefox will check every day and let you know once the add-on author has created one. If you’ve come this far and decide that you can’t live without your favorite add-on, you can always go to www.firefox.com and click on “Other Languages and Systems”, and click on the link to download an older version of Firefox.
August 14, 2009 12:18 AM
August 10, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 32/2009 (August 3 - 9, 2009):
- Build and Release Machinery:
When I got alerted to the link to the source tarball for 2.0b1 being wrong, I tracked the issue down to a wrong filename caused by a variable in the build harness, which I could then fix easily for all our future releases.
While I was there, I decided to finally go the last step for release automation and file a patch for moving the CC* releases factories to buildbotcustom. When testing this patch with current buildbotcustom, I saw some redness caused by an earlier patch and fixed it by using correct references to the mozilla directories.
I also helped Thunderbird folks to fix some bustage of their L10n builds when they switched to the same repack classes we are using (and which share code with Firefox et al).
The compile failures of comm-central-trunk builds on two Linux VMs were solved by increasing their RAM, at the same time the disk size of one of them was increased to match our other boxes. Thanks to Mozilla IT for those upgrades.
The bad news from IT come mainly in the form that we don't think that the network issues with Parallels will be fixed, so we need to find other solutions to get the two VMs we are still missing. All in all, the Parallels experiment ended up as quite a disappointment. Even if it sounded good to have virtualized Macs, there seems not to be a mature solution to do that in a server-style environment yet.
Continued investigating the issue with the "hoshi" box that does SeaMonkey 1.1. Linux builds, might all come down a filesystem problem I can't solve remotely. - Build System:
Porting changes from the Mozilla build system to the comm-central release system is an ongoing and probably never-ending task. While Serge has gone for porting a number of patches in that area, my watching of the change feeds of the relevant files ended up badly as I couldn't find the time to flag new changes as needed or unneeded and much less do the actual porting.
For some time, I had the thought in my head to do a webtool that would poll those feeds and enable marking of changes we don't need to port or are ported, as well as bugs filed on porting, etc.
I finally got around to working on that tool this week, and while it's mostly working, I'm a bit reluctant to link it publicly, as the main page still lists almost 350 changes to be looked at right now, and a good number of that still need to be set to being ignored (i.e. not needed porting) or being already ported. Also, right now only I can edit anything in the tool, but better permission management can be added easily, it just wasn't a priority.
If you are interested in that tool, pass me a note, I can give you a link - it's publicly accessible, just not openly linked for now. - Download Manager:
Once again, I came back to download manager work this week. Linking progress windows from download manager as a "Properties" view was something I left out in the original patches so development of the two parts could progress individually. Now that both exist, we can easily link them. I have a patch up that would have review, but I need to look into one nit/improvement before actually landing it.
And while I was at it, I went through all open bugs in the "Download & File Handling" component of SeaMonkey and triaged them - some were moved on the respective backends in toolkit or core, the majority could be duped or otherwise closed based on the rewrite and the testing I did on all that rewritten UI. In the end, slightly over 30 open bugs were left in the component out of 120 or so before my triage. It's nice to be able to find the really relevant ones easily now. 
- German L10n:
Once again mainly mailnews updates to keep SeaMonkey L10n up to date. - Various Discussions:
1.8.1.23 security release - build and planning issues, tabmail, new Mac theme, code style discussion, www.mozilla.org planning, Mozilla Camp Europe, etc.
Porting things is a major topic in SeaMonkey these days, esp. in the ongoing effort to go from a left-behind codebase we inherited in 2005 to a product that is up-to-date with all the things ongoing in Firefox 3.5, Thunderbird 3 and even beyond. We made a good number of large steps already, but more is to do. Many of those things are opportunities for new contributors to learn Mozilla code, if you're playing with the thought of helping out with code, don't be afraid to look into the
TB2SM and
FF2SM bugs that list application-specific thing we want to port from Thunderbird or Firefox. Of course, we need to and will add our own innovations next to and/or on top of those things, after all, we are more than a sum of Firefox and Thunderbird (download manager is a good example where we don our own thing on top of their base).
That said, our focus in about the last two months of SeaMonkey 2 development, which we are probably entering right now, must turn more and more to fixes. Some glitches can be fixed more easily, some are harder, and we need all the help we can get to smoothen things as much as possible for 2.0. Still, I don't expect SeaMonkey 2.0 to be perfect. It surely will be better than 1.1.x in the vast majority of things, but in some, it might be worse. We're trying to fix everything we can - but after all, we're a rather small group of people, working on this project in their free time. And we are humans, which in our very nature makes us not perfect, and neither the products we create. We're damn good people though, and we're trying to do our best, and we hope that will make SeaMonkey 2.0 a damn good product as well.
Oh, and do you know the
new "suite." T-shirt on the Mozilla Community Store?
August 10, 2009 03:10 PM
August 08, 2009
The first developer milestone of the next release of Firefox – code named Namoroka Alpha 1 – is now available for download. Namoroka is built on pre-release version of the Gecko 1.9.2 platform, which forms the core of rich internet applications such as Firefox. Please note that this release is intended for developers and testers only.
This Alpha of Namoroka / Gecko 1.9.2 introduces several new features:
Anyone interested in Namoroka should read the article about Firefox 3.6 for developers on the Mozilla Developer Center. For a full list of changes, see this list (it’s big).
Please use the following links to download Namoroka:
We would appreciate hearing about any feedback you have, or any bugs you may find.
August 08, 2009 12:03 AM
August 07, 2009
Fixes:
- Fixed: 189519 - Implement CSS3's background-size.
- Fixed: 479220 - Implement the CSS gradients proposal.
- Fixed: 486200 - Add API to compute screen coordinates of DOM elements.
- Fixed: 503598 - Add API for accepting file drag and drop.
- Fixed: 269908 - <legend> default style changes restrict styling options.
- Fixed: 455555 - Use asynchronous queries for places autocomplete.
- Fixed: 477564 - Session restore hangs/not responding with high CPU on large form with many checkboxes.
- Fixed: 354894 - Session restore doesn't work if process hasn't exited (Downloads window open).
- Fixed: 475053 - Implement asyncPromptAuth to fix multiple HTTP/proxy password prompt overlap.
- Fixed: 206544 - Include "Full Screen" button in toolbar customize menu.
- Fixed: Compositor phase 1, including 339548 - Move plugin widgets to the top of the widget hierarchy and 352093 - Remove child widgets from content area.
- Fixed: 499816 - [Windows] Minimizing Firefox opens and gives focus to minimized Steam windows.
- Fixed: 370857 - [Mac] Full-screen backend for Mac (still needs UI).
- Fixed: 465076 - Yet another Ctrl+Tab / All Tabs design revision (pref'd off). (mozilla.dev.apps.firefox thread)
- Fixed: 502959 - Permission denied for <http://sendsome.org> to create wrapper for object of class UnnamedClass.
- Fixed: 370117 - Form autocomplete should sort by frequency of use.
- Fixed: 446247 - Form autocomplete should match any part of the string.
- Fixed: 753 - Combined nsImage* & gfxImageFrame.
- Fixed: 462809 - Interpretation of scroll events on Windows and OS X. (Margaret's blog post)
- Fixed: 427715 - nsCryptoHash apparently being called while NSS is in shutdown state -- crash [@ NSSRWLock_LockRead_Util].
- Fixed: 500304 - Turn on chrome jit by default.
- Fixed: 498938 - Add Levenshtein Edit Distance function to Sqlite so we can use it in queries.
Fixes for recent regressions:
- Fixed: 500349 - DOMParser no longer available in Greasemonkey scripts.
mozilla-central pushlog for 2009-07-19 04:00 to 2009-08-07 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
August 07, 2009 10:58 PM
August 06, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 31/2009 (July 27 - August 2, 2009):
- Build System and Release Harness:
Continued investigating the issue with the "hoshi" box that does SeaMonkey 1.1. Linux builds. - Planning and Feedback:
I spent a good amount of time with both looking at feedback for 2.0 Beta 1, which look quite positive in principle, but includes a few reports of regressions and bugs that need attention, as well as planning for the second beta and even final. We discussed the latter at the SeaMonkey Status Meeting and decied to decouple the schedule from Thunderbird so that we're able to get the new generation out and can set a stamp on retiring the old one, which is really overdue.
I also closely followed the planning for an upcoming security update for 1.8-based releases, which will include a SeaMonkey 1.1.18. - German L10n:
Some mailnews updates for keeping de sea20x green. - Various Discussions:
Windows linking issue, tabmail, new Mac theme, Gecko/platform planning, some XULRunner-based Mandelbrot fun, checkin comment rules, code style discussion, etc.
This Tuesday, Beta 1 has surpassed the ~18,500 downloads we had for Alpha 1 - just that the first alpha had two months of lifetime as the newest development release to gather that amount, while the first beta had two weeks to get up to the same number.
Also, we get repeated reports of Beta 1 working at least as stable as 1.1.x for people, most of the problems people have seem to be related to migration of profiles or regressions we are working on (or even have already fixed in current nightlies). All in all, things seem to go well with the first beta.
As for the second beta, the code freeze for it will also mean feature freeze for the whole 2.0 series, so we need to get the two large missing features - the new Mac theme and tabbed mail - in before that freeze to have them in this series. Things are moving for both though, each of them got significantly nearer to checkin readiness lately, tabmail has been tested for a number of interesting use cases and got its first full pass of code review comments, the Mac theme has UI review now. I'm looking forward to seeing everything wrap up before the targeted freeze on September 1.
August 06, 2009 12:56 AM
August 03, 2009
As part of Mozilla’s ongoing stability and security update process, Firefox 3.5.2 and Firefox 3.0.13 are now available for Windows, Mac, and Linux as free downloads:
We strongly recommend that all Firefox users upgrade to this latest release. If you already have Firefox 3.5 or Firefox 3, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please review the Firefox 3.5.2 Release Notes and the Firefox 3.0.13 Release Notes.
Note: All Firefox 3.0.x users are encouraged to upgrade to Firefox 3.5.2 by downloading it from http://firefox.com/ or by selecting “Check for Updates…” from the Help menu.
August 03, 2009 11:03 PM
July 31, 2009
Northern Sotho is an official language of South Africa, and you’ve probably guessed why I am blogging about it. Thanks to the folks at Translate.org.za, Firefox is now available for use in this language (by way of an AMO Collection).
Since one of our localization community leaders, Dwayne Bailey, posted the following message via Facebook, I thought I would repost it on my blog. Sorry for lifting the email and reposting if you’ve already read this note, but I’m hoping to provide maximum coverage.
“Are you a Sepedi speaker, Firefox user or able to help test a Pedi version of Firefox? Yes that probably means all of you
“This work is soon to be part of the African Network for Localisation (ANLoc) (http://www.africanlocalisation.net/) activities where we’ll be localising Firefox into a number of African languages. So your help here can help change the way Africans view the internet, create content, etc, etc. You’re about to change the world!
“OK testers here we go:
- Make sure you have Mozilla Firefox. Visit http://www.mozilla.com and install Firefox if needed.
- Start Firefox
- Visit the Northern Sotho collection https://addons.mozilla.org/en-US/firefox/collection/northern-sotho
- Install both the Northern Sotho language pack and the Locale Switcher
- Restart Firefox
- Change your user interface language by selecting: Tools -> Languages -> Northern Sotho
- Restart Firefox
“Enjoy Firefox in Northern Sotho! Whenever we update the translations you should get new copies. Please provide any feedback on the Translate.org.za Facebook wall (or on Seth’s blog).
“If you would like to get involved in the actual translation or in fixing errors then please contact Dwayne via Facebook (or Seth’s Blog). If your interested we could have a Northern Sotho Firefox bug day at our offices and work at fixing any errors. But most of all HAVE FUN!”
ShareThis
July 31, 2009 02:33 PM
July 29, 2009
A while back, Tristan passed me a blog post by the Internet Explorer 8 team that announced the availability of IE8 in over sixty languages. Their opening quote: “We are pleased to announce the availability of Internet Explorer 8 in 20 additional languages today. Internet Explorer 8 is now available in a total of 63 languages!” That’s a nice accomplishment by their team and congratulations.
I went to their site to investigate how Microsoft offers downloads of their localized versions and noticed some distinctions between the Firefox and IE8 experience.
Most interesting for me off the bat, IE8 is offering some languages Firefox does not have, including Konkani, Kyrgyz, Malay, and Uzbek (Latin). Those are the languages listed on their blog, but I am not sure if that is a comprehensive list of the differences, so I could use some help on determining where we fall short. It’s hard for me to tell from the official download page, which lists eighty-five different “county/region” selections, bringing me to my next observation.
Microsoft asks in English for its users to select a “country/region” and operating system. Then, they automatically send users to a localized download page. That seems to be pretty nice, perhaps a user experience person could give me an opinion. Looking at the list, I did see some Indian language fonts, indicating Indian versions, but I don’t know if that corresponds directly to a country or region. Either way, the count in that drop down selector is around eighty-five. Therefore, I don’t know if they offer sixty-three or eight-five localizations. Either number is impressive.
In addition to all this, Microsoft’s “Worldwide Sites” page lists fifty-four “country-languages” for a user to select that will change the UI of the website to that country-language. Mozilla does not distinguish based on country specifically; we simply list languages. Interestingly, they have several versions of French available for France, Canada, Switzerland, and North Africa. Mozilla lists only one version of French.
At Mozilla, we do not offer downloads based on “country/region” because we feel that it is best to showcase the language of the localization, not the geopolitical boundary. For instance, in India, we have eleven different localization teams, so isolating downloads to country/region didn’t seem to get users exactly what they wanted. Instead, we try to provide the best possible download by looking at the language of the browser in use at the moment of a visit to Mozilla for download and offering the version that matches that language. If we cannot recognize the existing language, we have a series of fall-back options in our website code that tries to offer the best possible download. If that doesn’t work, the en-US page provides an “Other Systems and Languages” link available just under the main download box. That takes users to our all.html page where all of our localizations can be seen.
Just looking at the copy of the Microsoft download site, the IE8 team states that the browser is available in many “locales/languages”. We use a bit different terminology in an attempt to distinguish the term “localization” from “language”. For Mozilla, localizations are partly identified by the language of the UI. But, a localization is customized to the region where the language is most prevalently spoken. For instance, using our eleven Indian localizations as an example again, each team is able to customize their version of the browser so that web services like search or protocol handlers are packaged together in one download. It may be a nuance, but for Mozilla, we try not to interchange language and localization.
Lastly, I am not quite sure how those sixty-three (eighty-five) languages are shipped to end-users. Does Microsoft ship each version simultaneously? Or, are versions offered as “downloadable” packs after major release in Englsh? In the past, I had heard that IE only ships one version (en-US) at the time of a major release. But, I suspect that has changed, I just couldn’t find the information anywhere. Please link me in the comments if you know.
ShareThis
July 29, 2009 12:40 AM
July 28, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 30/2009 (July 20 - 26, 2009):
- Release Process:
I spent quite some time the SeaMonkey 2.0 Beta 1 release this week again, the good news is that it was about setting the finishing touches and making the release public on Tuesday (missing the moon landing anniversary by just a day). Builds for Windows, Linux and Mac in 17 languages as well as partial and complete updates (for US English, we didn't have any localized versions before) could be delivered right from the first minute and what I wrote up in the announcement seems to be reflected in some media coverage we get. - Build System and Release Harness:
The version bump problem I found in Beta 1 work got reviews and could land once I had time after the release was public. With that and the beta release coming off it, I could mark the release harness as fixed. 
Build with mozilla-central now requite wireless-tools on Linux, I fixed the x86_64 box by installing those. Also mainly for the mozilla-central trees, I installed Java 6 on the Windows machines, this also fixed a leak that only had happened on a single machine but introduced a known leak that is fixed on mozilla-central but not 1.9.1 yet.
As a side note, I should have the SeaMonkey 1.1 build machines up and running again, I'm still investigating an issue with the Linux box and its X server. - SeaMonkey Project Website:
Landed the the reworked 2.0 Beta 1 download page with the locale matrix and the download button figuring out the fitting language as well as OS. - Statistics on Dev Site:
From time to time, I like to play with my SeaMonkey development website and get resources up there that I think are helpful for our project. Last weekend, I created more elaborate weekly bug and release radar statistics to get a better view of current work in historic perspective and to get a better overview for release planning. - SeaMonkey L10n:
14 locales plus US English shipped as official builds in 2.0 Beta 1, two shipped as experimental/unofficial with a note that they didn't fully meet quality and formal requirements for official builds at this time, but I think both should be up to making it for Beta 2. Overall, this beta was a good experience in terms of L10n, and I hope we'll get more locales joining in for the second beta and the final release. - German L10n:
Synched up with geolocation and mailnews string changes, discussed de community IRC meetings with Topal. - Various Discussions:
Add-on blocklist, landing dlmgr search fix, tabmail, mozilla-central build problems, Gecko/platform 1.9.2 planning and SeaMonkey/Thunderbird, security updates for vulnerabilities disclosed at BlackHat, etc.
The SeaMonkey 2.0 Beta 1 release seems to go well so far. We have received reports of a few minor regressions, which we are working on, but almost all of the feedback is quite good. So far, we have over 13,000 tracked downloads for this beta and the numbers are growing (somewhat more slowly than at other times because of the holiday season). The media reports I saw are fairly OK, though the note comes through that we're not up to feature parity with Firefox 3.5 and Thunderbird 3 on all accounts, which we know, but we also should be doing better there than SeaMonkey 1.1.x in comparison to Firefox 2.0 and Thunderbird 2.0, so we are on the right track.
Actually, there are only two major features we miss that we want to ship in SeaMonkey 2.0 that are not present in this beta yet, and that is tabbed mail and a reworked Mac theme. Both are being worked on right now, in their final touches and review phase, and hopefully landing soon. Other than that, all that's left is making the experience rounder and fixing some annoyances and bugs, everything else is topping on the cake.
SeaMonkey 2.0 Beta 1 already works and feel so much better than 1.1.x in so many ways that it's really time for us to push for releasing as soon as we can, even if that means pushing some nice-to-have things to the next version. We don't have to be concerned about not doing everything in 2.0, as this version already more than warrants its major version jump. There will be a next release after it that can improve many more things, and the solid add-ons platform even makes 2.0 able to be improved a lot by itself.
I hope everyone of you will support and help us to get a great final as soon as reasonably possible for us!
As a side note, thanks to Matthias "matti" Versen for
caring about out add-ons blocklist and trying it keep it up to date in the future!
July 28, 2009 05:39 PM
July 24, 2009
Surely, you saw me fire off a response two weeks ago about playing politics with our Kiswahili localization communities. Let’s move on from that flame war by summarizing our situation and presenting a path to a solution.
Presently, we have two communities, the tzLUG and the Kilinux teams, who have translated the Firefox application into Kiswahili (sw-TZ). Unfortunately, we have had tough luck in getting an unbiased, thorough evaluation of each body of work to help us decide which one to use. As it turned out, it was hard to find a number of individuals familiar enough with technical writing and Kiswahili who had time on their hands to volunteer for Mozilla. Furthermore, we didn’t have an easy package to evaluate, except for the “diff” of the code differences between the two. Yeah, that sounds ugly and it was. Still is.
To solve what has become a long-standing debate, we asked each team leader to create a Mozilla language pack of their work as an add-on that we would then host on and promote though our addons.mozilla.org Web site. Both teams agreed and uploaded their versions. Since then, I created two separate “collections” that bundle each language pack with Ben Smedberg’s Locale Switcher addon. Our hope is that end-users ready to test will install both versions and use the addons.mozilla.org site to provide feedback to each developer team.
If you are interested in testing each version, please install the following two collections:
Once you have installed these, you can switch between the two versions and your English interface by going to the menu item Tools –> Languages…
Now for testing…
Requirements: You must be able to read Swahili and English fluently and you must use Firefox.
If you choose to test these localization language packs, you’ll need to follow something similar to the “Firefox 3.5 Localizer Test Run” that has been created in Litmus, Mozilla’s testing application. If you use Litmus, please follow the steps I have posted in the first comment on this blog post.
You can also just use each language pack and keep notes of errors you spot. Whether you choose to use Litmus or not, please record any translation errors that you find in the user interface of each version. Please be very descriptive and thorough with any notes you keep, and write the notes in English. Take a look at the word choices, terminology, spelling, grammar, etc. and keep a record of errors you see. When you are finished, you can submit your evaluation to me. Just ping me on this blog.
As always, please ask some questions if you have them. Nothing is off limits.
ShareThis
July 24, 2009 12:57 AM
July 23, 2009
Not everything is picture perfect in the world of Mozilla localization. Though it pains me to say that, we hit two snafus at the release of Firefox 3.5. Here’s what happened with our Macedonian (mk) and Serbian (sr) localizations, complete with a mea culpa and a plan on how to fix things going forward.
On the day we released, our community found two very similar errors in our mk and sr builds. In both cases, a misspelling of &brandShortName; inside an <!ENTITY> triggered the “the yellow screen of death” when users selected the Help -> Check for Updates… option to get the new version.
A thousand apologies to our localizers and mk and sr users for not catching these errors pre-release.
With damage control in full swing, we removed the two localizations from the Firefox 3.5 release channels so that users would not receive a broken version of Firefox. The two localizers and the l10n-drivers then worked through our options. We could either release a special post-Firefox 3.5 Macedonian and Serbian version, or wait until the release of Firefox 3.5.1.
The unexpected timing of the Firefox 3.5.1 release helped us with the above decision. Although the circumstances of the security update were not ideal, it did allow us to release mk and sr earlier than expected, getting users of those localizations back on the release track. Furthermore, any users who might have gotten the broken mk or sr version of Firefox 3.5 on release day will be updated behind-the-scenes without having to check for updates. [1]
What happened on the 3.5 release day underscored a few errors in our system that need to be fixed. Here are the proposed and soon-to-be or already implemented measures we are taking to reduce this margin of error:
- Localization sign-off via the Web: Rather than opting-in with change sets, localizers will soon select the Mercurial change set they want to use for a release from a list of IDs pulled from their locale’s repository. How does this help? In Macedonian’s case, a localizer *had* submitted to Axel a change set that corrected the error prior to RC3. However, Axel was unreachable at a conference and couldn’t relay that update to me. Sadly, I submitted the incorrect change set. Mea culpa. This application allows localizers, l10n-drivers, and Firefox project managers to view the choices that have been made, and to the extent possible, test to make sure that the version the localizer wants is good for release.
- Test automation: We are working on creating a script that can be run by our QA team before each milestone that will scan for misspellings in things like &brandShortName;. This bug is tracking that progress. Our QA team also is increasing the number of automated tests that will be run on each locale before each milestone release.
- L10n-testable builds: Presently, we are producing testable nightly builds with Axel’s l10n-merge code that will create localizations with en-US strings replacing any untranslated ones. Now, localization teams can give their testing communities something to test from the beginning of the release process. In the past, localizers had to wait until they had 100% translation before we provided them a nightly build.
- Localized builds with nightly updates: Added to the testable builds above, we’ll soon be able to offer nightly updates to localizers and their testing communities. Right now, only en-US testers of Mozilla’s pre-release versions get nightly updates pushed to them. Soon, *all* localizations will get these nightly updates pushed their way so our global testing community can see the most recent additions made by Mozilla’s developers.
These tools empower the localizers and the testing community, and we believe will help narrow our margin of error so that we don’t repeat what happened to our mk and sr builds.
Many thanks to our Macedonian and Serbian localization teams for their understanding and patience and sorry for the errors discovered at the time of the Firefox 3.5 release.
[1] Mozilla developer rstrong and his team fixed this bug and cleaned up a lot of code for the Firefox 3.5 release so that users of Firefox get updated behind-the-scenes without having to check for updates or get prompted unnecessarily if they want/need an update.
ShareThis
July 23, 2009 01:31 AM
July 22, 2009
As part of the Mozilla Corporation’s ongoing security and stability process, Firefox 3.0.12 is now available for Windows, Mac, and Linux users as a free download from firefox.com.
We strongly recommend that all Firefox 3.0.x users upgrade to this latest release. If you already have Firefox 3, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please see the Firefox 3.0.12 release notes.
Note: Firefox 3.0.x will be maintained with security and stability updates until January, 2010. All users are encouraged to upgrade to Firefox 3.5 by downloading it from firefox.com or by selecting “Check for Updates…” from the Help menu when using Firefox 3.0.12.
July 22, 2009 12:41 AM
July 21, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 29/2009 (July 13 - 19, 2009):
- Build System and Release Harness:
After some poking of release drivers, I could land the Mac unpacking fix on 1.9.1 so that L10n repackaging of Mac comm-1.9.1 nightlies and 2.0b1 builds could work. The botched checkin of the equivalent for release tools was fixed as well, so now we should be able to reliably unpack DMGs everywhere (would have been easier if Apple wouldn't create commandline tools that act asynchronously).
We found a good solution for automatically removing debug UI from beta and final releases and I landed that also in time for Beta 1.
When starting to run release automation I found out about a version bump problem with the release tools and created a patch to handle our special case. - Release Process:
The really big thing this week was working on the SeaMonkey 2.0 Beta 1 release itself. The tracking bug and the Build Notes have a good amount of the story of how it went. I did run into a few small issues, including one obscure error that looks like a machine issue with one VM, but the release automation work done in the last weeks turned out to have been almost perfect, as that part performed like a charm. We have builds for Windows, Linux and Mac in 17 languages now, as well as partial and complete updates (for US English, we didn't have any localized versions before) and we are all set for release from that point of view. - SeaMonkey Project Website:
I needed to come up with some new things for the 2.0 Beta 1 download page, as this is the first time we ship localized builds, and while I was at that, I included some small style improvements to the overall site, like highlighting headers when they are direct targets in the called URL. - SeaMonkey L10n:
Some significant work went into the opt-in process for the beta, where I took the time to do a fast productization review of all opted in revisions, which proved to be interesting as I also got to see all the websites of those locales that use custom homepages or bookmarks. We ended up with 15 locales opting in, one of which (hu) has over 450 obsolete strings which I disliked for releasing as official, but the others looked just good. One (pt-PT) had a complete and looking-good localization but failed to opt in. Because of that, we'll release the beta in 15 official languages (including en-US) and offer hu and pt-PT as "unofficial" one with a note that they didn't fully meet quality and formal requirements for official builds at this time. - Various Discussions:
Various version changes on websites and tools to support 2.0b2pre and 2.1a1pre nightlies, landing support for various shortcut keys in download manager, progress window accessibility, tabmail, getting old "-tbox" slaves into new buildbot pools, mac theme work, real and unreal FF 3.5 (Gecko 1.9.1) exploit reports, Gecko/platform 1.9.2 planning and SeaMonkey/Thunderbird, etc.
Apart from one strange issue that appears to be related to a single VM in our build machine pool, creation of the SeaMonkey 2.0 Beta 1 release went really smoothly, and I'm really excited to see this version hit the public in 15+2 languages (see above), probably today or tonight. Even thought there are 20 language packs available to be used for 1.1.17, we never had any release that had official localized builds, and never had any version that had fully builds available in such a number of languages right from the start. We really can be proud of starting the beta phase of SeaMonkey 2.0 with that achievement, even though the collection of languages shows pretty much how Europe-centric our project is - I hope more parts of the world will join in for the next beta and for the stable releases.
In addition to that localization story, the first Beta offers the same Gecko and platform as Firefox 3.5.1, the completely reworked download manager, feed preview including better feed subscription, customizable mail toolbar, mail archiving and many more features and fixes in addition to all the good things we already had in the alphas -
about 130 fixes were done just in SeaMonkey-specific code since Alpha 3, many more come from mail/news code shared with Thunderbird 3 Beta 3 and the Gecko/platform code we additionally share with Firefox 3.5.1.
I hope this beta release will be remarkable not just for our team, but also for all of you out there!
July 21, 2009 01:29 PM
July 19, 2009
Fixes:
- Fixed: 487949 - Land HTML5 parser, preffed off (in about:config, html5.enable).
- Fixed: 385434 - Add support for HTML5 onhashchange (event for named anchor changes).
- Fixed: 499538 - Arabic letters are disconnected in edit fields.
- Fixed: 500233, 500317 - Make some cycle collector information accessible to memory tools.
- Fixed: 503942 - Implement Geolocation Addresses.
- Fixed(?): 76053 - Windows mouse integration: "Snap to default button in dialog boxes".
- Fixed: 176244 - Fix column resize and reorder issues when direction is rtl.
- Fixed: 259199 - Tooltips don't work in the sidebar.
- Fixed: 500822 - Importing passwords to mozstorage can fail when signons3.txt is corrupted.
- Fixed: 442399 - Remove LiveConnect from the tree.
- Fixed: 421351 - Allow styling richlistitems with -moz-appearance:menuitem.
- Fixed: 479667 - Firefox should use SetProcessDEPPolicy to enable NX on XP SP3.
- Fixed: 329869 - Dynamically loaded scripts don't degrade security state.
- Fixed: 457809 - Speculatively load images from preloading.
- Fixed: 500846 - Can't create xmlhttprequest from within JS component.
- Fixed: 482788 - Lightweight DOM wrappers.
- Fixed: 492866 - Nanojit: variable-width LIR.
- Fixed: 502374 - Don't call cycle collector so often.
- Fixed: 500925 - Don't unload plugins as soon as possible by default.
- Fixed: 200505 - Optimization of jsref array_join_sub() function.
- Fixed: 456721 - Control GC frequency/a high water mark of Tracemonkey via about:config.
Fixes for recent regressions:
mozilla-central pushlog for 2009-06-28 04:00 to 2009-07-19 04:00
Windows nightly
(discussion)
Mac nightly
Linux nightly
July 19, 2009 07:53 PM
July 18, 2009
I ran into strange problems with the Mac builds of SeaMonkey 2.0 Beta 1 (a step in the process that works flawlessly everywhere else hangs with very strange errors), but that shouldn't stop us from starting tests on the other two platforms that have builds available now.
So, please help us testing the available Windows installers and Linux packages, both available in 17 languages including US English!
I hope to sort out the Mac problems ASAP, we'll have disk images when those are solved and will get updates ready on the testing channels once all platforms have builds ready.
Update: Mac disk images are now available for all languages as well.
Update #2: Updates are available on the betatest channel.
July 18, 2009 01:47 PM
July 17, 2009
As part of the Mozilla Corporation’s ongoing security and stability process, Firefox 3.5.1 is now available for Windows, Mac, and Linux users as a free download from www.firefox.com.
We strongly recommend that all Firefox 3.5 users upgrade to this latest release. If you already have Firefox 3.5, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please see the Firefox 3.5.1 release notes.
Please note: If you’re still using Firefox 2.0.0.x, this version is no longer supported and contains known security vulnerabilities. Please upgrade to Firefox 3.5 by downloading Firefox 3.5.1 from www.firefox.com.
July 17, 2009 02:34 AM
July 16, 2009
If you have the SeaMonkey 2.0 Beta 1 Schedule in mind, you know that by now, all the code and strings are fully frozen for this release, all we are waiting for is for additional L10n opt-ins until their deadline of midnight Pacific time today.
10 locales have opted in so far, 8 of those (be, de, fr, gl, pl, ru, sk, tr) are good to go, the other two (ca and hu) are not green on dashboard due to obsolete strings, they should just remove those and are good to go as well.
13 locales are green on dashboard, so 5 of those haven't opted in yet (cs, es-AR, lt, nb-NO, pt-PT) - if yours is one of them, please tell us which revision to use for release in the opt-in thread on the mozilla.dev.l10n group/list - 2 more locales (es-ES and nl) have just a handful of missing strings and also could make this release easily, but any opt-in needs to be there until midnight Pacific time, remember that. (The remaining 7 locales on dashboard, ja/ja-JP-mac, ka, pt-BR, ro, si, sv-SE, need a good amount of work to get ready, any locale not on dashboard yet please follow the process outlined in our wiki to get on for future releases.)
For me, this release will be special not only because we finally can release official localized builds and do that in sync with the en-US builds, but also because we'll be using release automation for the first time, the same hg- and buildbot-based tools Firefox is using for their releases. I just checked in a fix for repackaging localized builds on Mac, so all that tooling we need should be there and working now, but it's the first live run, so far I only did test runs of those tools. They will provide us with partial updates as well (for en-US only, as that's the only language for which we have an earlier release), so we have a number of firsts in this release from a build and release management point of view.
Of course, that only complements the firsts we have in the source, we have the same platform and web functionality as Firefox 3.5 (including the 3.5.1 security updates), the same mail and newsgroups backend as Thunderbird 3.0 Beta 3 and about 130 SeaMonkey-specific fixes upcoming in this release.
I will start release automation early in the morning tomorrow, so localizers, remember to opt in today, and testers (including L10n testers!) be ready for candidate builds being available later in the day tomorrow (including updates on the betatest channel)!
July 16, 2009 01:52 PM
July 14, 2009
The about:mozilla newsletter feed has moved! If you are currently subscribed to the feed at the Mozilla Developer Center “DevNews” blog, you should instead subscribe to the feed at the newly-revamped about:mozilla weblog.
* New blog: http://blog.mozilla.com/about_mozilla/
* New feed: http://blog.mozilla.com/about_mozilla/feed/
Beginning today, the about:mozilla newsletter will be published on the new blog rather than through DevNews. Nothing else will change — email subscriptions will continue working, and the newsletter will still be syndicated to Planet. Thanks!
July 14, 2009 01:21 PM
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 28/2009 (July 6 - 12, 2009):
- SeaMonkey Build/Release Harness:
A series of patches for buildbot tooling concerning L10n repackaging and release automation for comm-central applications got reviews and landed during a Mozilla maintenance window (to ensure that Firefox machines would be undisturbed). I also landed configuration files for SeaMonkey release automation, so that we are mostly ready for using that harness for 2.0 Beta 1.
The Mac unpackaging fix needs to land on 1.9.1 (I could land it on mozilla-central already and it performs well there) and the same for release tools needs to land correctly before we are fully ready.
I also could do Phase II of switching new buildbot configs to production, now the SeaMonkey waterfall has builds based on mozilla-central, while the default builds based on 1.9.1 are on the SeaMonkey2.0 page.
The fix for trunk Mac builds landed before doing that, as did the fix by Neil that also made the nightly update breakage go away, so things looked quite good for the trunk builds from the beginning, though I needed to switch off tests for Windows nightlies and enlarge the timeout for making build symbols to get the nightlies for Windows going there.
In addition to all that, I did a patch for automatically removing debug UI from beta and final releases, which should land soon and be in place for Beta 1. - Release Process:
Continued uploading a few remaining contributed builds for SeaMonkey 1.1.17. - SeaMonkey L10n:
We could add Turkish to the SeaMonkey trunk locales, so that we now have 25 languages listed there, including US English. It will be interesting to see how many of them make the first automated simultaneous localized release in SeaMonkey history (2.0 Beta 1). - German L10n:
I kept up with the late-l10n change of the download manager prefs and mailnews search so that de should be good for beta 1. - Various Discussions:
Adding 2.1a1pre to AMO, DEL and other keys in download manager, Download manager pref panel, tabmail, getting Beta 1 into shape, etc.
It looks like Beta 1 might finally just fall into place nicely, even thought we are still tracking an
issue with history import from 1.x builds, we now have a clue on how it could be fixed in toolkit code (mozilla-central appears to be fixed), but it might just not make the 2.0b1 build cutoff, unfortunately. We'll deal with that in this week's
SeaMonkey Status Meeting and we'll re-evaluate if we can ship with that bug and just relnote it or if we need to have it fixed (we did ship Alpha 3 with this bug, apparently). For everything else, we look good for freezing Beta 1 this Tuesday and start builds for it later this week, making them available for testing. I hope you all will help to do that testing and hopefully clear the builds for an important milestone release, which will be the first time that we'll offer official localized release builds for all major platforms.
July 14, 2009 12:18 AM
July 13, 2009
Mozilla Firefox’s localization count has grown each and every release over the years. I created the following to show just how much we’ve grown from launch to launch.
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
# |
Firefox 1 |
-> |
FF 1.5 |
-> |
FF 2 |
-> |
FF 3 |
-> |
FF 3.5 |
|
|
.
|
|
|
|
|
|
|
|
|
|
|
|
.
|
75 |
|
|
|
|
|
Languages added |
|
27 |
af |
|
.
|
74 |
|
|
|
|
|
|
Growth |
56.25% |
ar |
|
.
|
73 |
|
|
|
|
|
|
|
|
as |
|
.
|
72 |
|
|
|
|
|
|
|
|
be |
|
.
|
71 |
|
|
|
|
|
|
|
|
bg |
|
.
|
70 |
|
|
|
|
|
|
|
|
bn-BD |
|
.
|
69 |
|
|
|
|
|
|
|
|
bn-IN |
|
.
|
68 |
|
|
|
|
|
|
|
|
ca |
|
.
|
67 |
|
|
|
|
|
|
|
|
cs |
|
.
|
66 |
|
|
|
|
|
|
|
|
cy |
|
.
|
65 |
|
|
|
|
|
|
|
|
da |
|
.
|
64 |
|
|
|
|
|
|
|
|
de |
|
.
|
63 |
|
|
|
|
|
|
|
|
el |
|
.
|
62 |
|
|
|
|
|
|
|
|
en-GB |
|
.
|
61 |
|
|
|
|
|
|
|
|
en-US |
|
.
|
60 |
|
|
|
|
|
|
|
|
eo |
|
.
|
59 |
|
|
|
|
|
|
|
|
es-AR |
|
.
|
58 |
|
|
|
|
|
|
|
|
es-ES |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
57 |
|
|
|
|
|
|
|
|
es-MX |
|
.
|
56 |
|
|
|
|
|
|
|
|
et |
|
.
|
55 |
|
|
|
|
|
|
|
|
eu |
|
.
|
54 |
|
|
|
|
|
|
|
|
fa |
|
|
.
|
53 |
|
|
|
|
|
|
|
|
fi |
|
|
.
|
52 |
|
|
|
|
|
|
|
|
fr |
|
|
.
|
51 |
|
|
|
|
|
|
|
|
fy-NL |
|
|
.
|
50 |
|
|
|
|
|
|
|
|
ga-IE |
|
|
.
|
49 |
|
|
|
|
|
|
|
|
gl |
|
|
.
|
48 |
|
|
|
Languages added |
|
11 |
af |
|
gu-IN |
|
|
.
|
47 |
|
|
|
|
Growth |
29.73% |
ar |
|
he |
|
|
.
|
46 |
|
|
|
|
|
|
be |
|
hi-IN |
|
|
.
|
45 |
|
|
|
|
|
|
ca |
|
hr |
|
|
.
|
44 |
|
|
|
|
|
|
cs |
|
hu |
|
|
.
|
43 |
|
|
|
|
|
|
da |
|
id |
|
|
.
|
42 |
|
|
|
|
|
|
de |
|
is |
|
|
.
|
41 |
|
|
|
|
|
|
el |
|
it |
|
|
.
|
40 |
|
|
|
|
|
|
en-GB |
|
ja |
|
|
.
|
39 |
|
|
|
|
|
|
en-US |
|
ja-JP-mac |
|
|
.
|
38 |
|
|
|
|
|
|
es-AR |
|
ka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
37 |
|
Languages added |
|
5 |
ar |
|
es-ES |
|
kn |
|
|
.
|
36 |
|
|
Growth |
15.63% |
bg |
|
eu |
|
ko |
|
|
.
|
35 |
|
|
|
|
ca |
|
fi |
|
ku |
|
|
.
|
34 |
|
|
|
|
cs |
|
fr |
|
lt |
|
|
.
|
33 |
|
|
|
|
da |
|
fy-NL |
|
lv |
|
|
.
|
32 |
Langs added |
4 |
ar |
|
de |
|
ga-IE |
|
mk |
|
|
.
|
31 |
Growth |
14.29% |
ca |
|
el |
|
gu-IN |
|
ml |
|
|
.
|
30 |
|
|
cs |
|
en-GB |
|
he |
|
mn |
|
|
.
|
29 |
|
|
da |
|
en-US |
|
hu |
|
mr |
|
|
.
|
28 |
ast-ES |
|
de |
|
es-AR |
|
id |
|
ms |
|
|
.
|
27 |
ca-AD |
|
el |
|
es-ES |
|
it |
|
nb-NO |
|
|
.
|
26 |
cs-CZ |
|
en-GB |
|
eu |
|
ja |
|
nl |
|
|
.
|
25 |
da-DK |
|
en-US |
|
fi |
|
ka |
|
nn-NO |
|
|
.
|
24 |
de-DE |
|
es-AR |
|
fr |
|
ko |
|
oc |
|
|
.
|
23 |
el-GR |
|
es-ES |
|
fy-NL |
|
ku |
|
or |
|
|
.
|
22 |
en-GB |
|
eu |
|
ga-IE |
|
lt |
|
pa-IN |
|
|
.
|
21 |
en-US |
|
fi |
|
gu-IN |
|
mk |
|
pl |
|
|
.
|
20 |
es-AR |
|
fr |
|
hu |
|
mn |
|
pt-BR |
|
|
.
|
19 |
es-ES |
|
ga-IE |
|
it |
|
nb-NO |
|
pt-PT |
|
|
.
|
18 |
fi-FI |
|
he |
|
ja |
|
nl |
|
rm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
17 |
fr-FR |
|
hu |
|
ko |
|
nn-NO |
|
ro |
|
|
.
|
16 |
he-IL |
|
it |
|
lt |
|
pa-IN |
|
ru |
|
|
.
|
15 |
hu-HU |
|
ja |
|
mk |
|
pl |
|
si |
|
|
.
|
14 |
it-IT |
|
ko |
|
mn |
|
pt-BR |
|
sk |
|
|
.
|
13 |
ja-JP |
|
mk |
|
nb-NO |
|
pt-PT |
|
sl |
|
|
.
|
12 |
ko-KR |
|
nb-NO |
|
nl |
|
ro |
|
sq |
|
|
.
|
11 |
nb-NO |
|
nl |
|
nn-NO |
|
ru |
|
sr |
|
|
.
|
10 |
nl-NL |
|
pl |
|
pl |
|
si |
|
sv-SE |
|
|
.
|
9 |
pl-PL |
|
pt-BR |
|
pt-BR |
|
sk |
|
ta |
|
|
.
|
8 |
pt-BR |
|
ro |
|
pt-PT |
|
sl |
|
ta-LK |
|
|
.
|
7 |
ro-RO |
|
ru |
|
ru |
|
sq |
|
te |
|
|
.
|
6 |
ru-RU |
|
sk |
|
sk |
|
sr |
|
th |
|
.
|
5 |
sl-SI |
|
sl |
|
sl |
|
sv-SE |
|
tr |
|
.
|
4 |
sv-SE |
|
sv-SE |
|
sv-SE |
|
tr |
|
uk |
|
.
|
3 |
tr-TR |
|
tr |
|
tr |
|
uk |
|
vi |
|
.
|
2 |
zh-CN |
|
zh-CN |
|
zh-CN |
|
zh-CN |
|
zh-CN |
|
.
|
1 |
zh-TW |
|
zh-TW |
|
zh-TW |
|
zh-TW |
|
zh-TW |
|
With the release of Firefox 3.5, Mozilla added twenty-seven localizations and grew our locale count by 56.25%. Future versions of this graph might include an overlay that shows Firefox usage statistics for each of these locales. I’ll work with Ken Kovash to figure out some more ways to interesting present the data.
ShareThis
July 13, 2009 11:28 PM
July 09, 2009
The about:mozilla newsletter web feed is moving! If you are currently subscribed to the feed at the Mozilla Developer Center “DevNews” blog, you should instead subscribe to the feed at the newly-revamped about:mozilla weblog.
* New blog: http://blog.mozilla.com/about_mozilla/
* New feed: http://blog.mozilla.com/about_mozilla/feed/
Beginning next Tuesday morning, the about:mozilla newsletter will be published on the new blog rather than through DevNews. Nothing else will change — email subscriptions will continue working, and the newsletter will still be syndicated to Planet. Thanks!
July 09, 2009 03:10 PM
July 07, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 27/2009 (June 29 - July 5, 2009):
- SeaMonkey Build/Release Harness:
Phase I of switching new buildbot configs to production has been done, official nightlies are now coming from those.
Automated updates stopped working, probably because of the first step for Phase II, using a different version number for mozilla-central builds, for which I apparently made a somewhat incomplete patch checked in.
I also fixed up making repack independent of ChatZilla or venkman being enabled just before that large switch.
The small patch for installer dealing with "pretty names" finally got into the tree, and I did put up a patch for a small fix for trunk Mac builds Mark pointed me to. - Release Process:
Continued uploading contributed builds for SeaMonkey 1.1.17. - German L10n:
Fixed some mailnews strings to keep the de locale green. - Various Discussions:
Talk on open source project management at an event of the local IT branch of the chamber of commerce, DEL and other keys in download manager, Download manager pref panel, tabmail, Firefox 3.5 release, etc.
We finally have a
schedule for SeaMonkey 2.0 Beta 1, freezes are already happening and things are progressing nicely towards making the goal of shipping this beta within the current month. We had an unfortunately row of delays, not all of them self-inflicted, since the last alpha, but this major step to a fully revamped SeaMonkey is now coming near.
July 07, 2009 06:24 PM
In this issue…
New Mozilla accessibility projects
Two new Firefox-related accessibility projects have been started, courtesy of special funding from the Mozilla Corporation. The first is a project by the Paciello Group to build upon their previous work towards making the Firebug developer tool more accessible, with a particular focus on the Firebug releases intended for use with Firefox 3.5. The second is a project by Silvia Pfeiffer to start the implementation phase of her project related to the accessibility of open video formats. Silvia previously produced a report on video accessibility issues with Ogg and related formats, and will be working with Chris Double and other developers to implement changes to Firefox’s new open video support. Frank Hecker has written about these two projects, and about the Mozilla accessibility strategy in general, in a recent post on his weblog.
Firefox 3.5 privacy features
Many people don’t realize that Firefox 3.5 includes several features devoted specifically to protecting and enhancing user privacy. Alex Faaborg has written about these features in some detail. “Now users have considerably more control over their privacy, both proactively and retroactively. There are five new privacy features introduced to Firefox with the 3.5 release.” These features include Private Browsing mode, Clear Recent History, Forget about this site, simplified privacy options, and control over what appears in the location bar search results. Alex’s post goes on to talk about user profiles as a privacy tool, as well as what’s next for Firefox and privacy.
Spread Firefox affiliates program
Since July 1st, 2009, every download you generate from your Firefox 3.5 Affiliate buttons gives you an opportunity to be rewarded as an active member of the Spread Firefox Affiliates Program. Everyone with more than five downloads in a quarter will be entered into a reward pool. We will randomly award ten individual Affiliates each quarter with rewards like a Flip video camera, an iPod Touch or Nano, Amazon gift certificates, and exclusive Top Fox t-shirts. Awardees will be notified by email, so please make sure your email address in Spread Firefox is up to date! For more information about this new rewards program, see Laura’s weblog post.
Join the Community Triage Team!
Carsten Book and Chris Hofmann are heading up the formation of a brand new Community Triage team to help identify Firefox crash and critical bugs. “Focus of this team should be on unconfirmed Crash (and Critical) bugs that are filed every day. Doing this daily allows us to find regressions/crashes sooner and faster and also allows us to create a testcase for this Crash before a site changes.” Many crash bugs are also frequently missing key information, and the triage team will help fill in those blanks to make a bug more useful. Bug triage is an absolutely vital task, and is a great way to get involved with Mozilla community and development. If you’re interested possibly joining this team, sign up on the mailing list.
Friday: Firefox security testday
MozQA is holding a Security Testday for Firefox 3.5 on Friday, July 10th. We have recently updated our security test cases and added some new ones for Firefox 3.5. The QA team will be available to help get you started and answer questions in the #testday channel on irc.mozilla.org, QMO forums, and dev-quality newsgroup. Security Testday is an all-day event, and is a really great way to get involved with Firefox development. More information, including how to prepare for the event, is available on the event page.
Firefox 3.5 launch t-shirt!
“Firefox 3.5 is finally here! And what better way to celebrate the launch than with the brand new 3.5 t-shirt. We had a lot of fun last year with an open call for designs that led us to the official Firefox 3 shirt. But this time around, we tried something different. Inspired by the concept of a tag cloud, we turned to the community for help in coming up with a collection of words that best described Firefox. We then used these words to create a stylized typographic visualization of what Firefox 3.5 is all about – highlighting some of the key features and goodness that’s baked into the browser.” You can buy the t-shirt over at the Mozilla Store, and read more about it at Tara’s weblog.
Live tracking Firefox 3.5 adoption
There are two interesting online applications that are tracking and displaying the total downloads and adoption of the recently released Firefox 3.5 browser. The first of these is brought to us by whos.amung.us, and it tracks overall marketshare of Firefox 3.5 in comparison to the other browsers, including Firefox 3. The second project was put together by Daniel Einspanjer, who built a site that displays recent and total downloads by country, as well as a live map displaying where people are downloading Firefox 3.5 in real-time.
Firefox hacks, continued
The Firefox Hacks team continues to bring us articles and demos for new Firefox 3.5 features. Recent articles include: synchronous XHR requests in Firefox 3.5, another great CSS media query demo, new CSS3 properties in Firefox 3.5, exploring music with the audio tag, and the text-shadow spotlight demo. Check out the Firefox Hacks weblog for all these new demos and more.
How to make community members stick
David Tenser has written a blog post in which he attempts to unravel some of the mystery behind building and growing communities — a topic very much at the heart of the Mozilla project and everything we do. Some of the motivators he identifies (through an examination of his personal experiences with Mozilla) include: a belief in the project’s mission, a feeling of belonging to the community, a desire to give something back, valuing the experience gained through participation, being recognized and appreciated for the contributions made, and feeling pride for being responsible for an important piece of the project. If you’re thinking about how to grow and develop the community around your project or piece of the project, David’s post is well worth reading.
Improving accessibility through ARIA
“Accessibility is a pretty hairy issue in web development. When attempting to determine if your site is accessible, there are so many standards and recommendations to follow. Well, now there is a new standard from the W3C called WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications). The simplest definition of ARIA is adding UI semantics via HTML element attributes. Simply, you add things to specific HTML elements to give screen readers a better understanding of your content.” Ryan Doherty has written an article that goes over four parts of the ARIA spec. “This is just a quick overview of ARIA and its uses, but I’m really excited about the possibilities it creates.” Read more at Ryan’s weblog.
Faces of the web video revolution
Robert O’Callahan writes, “There’s a lot of press these days about the HTML5 video tag and the struggle for universal unencumbered video and audio codecs — much of it associated with the Firefox 3.5 launch. I wonder how many people know that the Firefox video implementation is almost entirely due to just a few people in the Mozilla office in Newmarket (New Zealand) — Chris Double, Matthew Gregan, Chris Pearce, and to a lesser extent, me. (Justin Dolske did the controls UI, but I’m not sure where he lives!)” Robert goes on, “It’s a great privilege to have the opportunity to really shake up the world for the better, with a very small team, in a relatively small amount of time.”
What’s next for testdays
Aakash Desai is looking for feedback and input about how Mozilla Testdays could be changed and improved. “I’m pretty proud of the work that’s been done so far by the Mozilla QA community since we re-started Testdays on a bi-monthly basis. With that said, what would you like to see out of Testdays that you haven’t seen already? I’d love to hear anything, especially comments and concerns, about what the Mozilla community has seen so far and would like/like not to see again!” Read Aakash’s full post and leave your feedback and ideas on his weblog.
Upcoming events
The Mozilla community is organizing an increasing number of events and meetups all the time, and we include a list of these here every week. If you have events you would like listed, send them along to: about-mozilla*at*mozilla.com.
* Fri, Jul 10 – Online – Firefox 3.5 Security Testday
* Wed, Jul 15 – Mountain View – Mozilla Crash Reporting and Analysis
* Fri, Jul 24 – Munich – Open Source Meeting
* Fri, Jul 24 – Online – Testing a Mozilla Web Property
* Fri, Aug 7 – Online – Testscripting with MozMill 1.2
* Sept 14-21 – Everywhere! – Mozilla Service Week
Developer calendar
For an up-to-date list of the coming week’s Mozilla project meetings and events, please see the Mozilla Community Calendar wiki page. Notes from previous meetings are linked to through the Calendar as well.
About about:mozilla
about:mozilla is by, for and about the Mozilla community, focusing on major news items related to all aspects of the Mozilla Project. The newsletter is written by Deb Richardson and is published every Tuesday morning. If you have any news or announcements you would like to have included in our next issue, please send them to: about-mozilla[at]mozilla.com.
If you would like to get this newsletter by email, just head on over to the about:mozilla newsletter subscription form. Fresh news, every Tuesday, right to your inbox.
July 07, 2009 12:14 PM
July 02, 2009
Although I got into the mozilla project through en-user documentation and support around 2001, I really got involved in Web localization in 2003 when I started to build a Spanish Mozilla community around the Mozilla Suite and I convinced Bob Clary (who also gave me my canconfirm rights in bugzilla, thanks for that!) to publish a page in Spanish on mozilla.org so as to promote Tech Evangelism activities in Spanish.
That was the first non-English page on an official mozilla site ever and the funny thing is that... this page is still online! 
We are now in July 2009 and we just shipped Firefox 3.5 in more than 70 languages, all with a set of in-product pages hosted on mozilla.com. But more than in-product pages, we now have with this release a localized home page on mozilla.com for ALL of our locales!
Now that the release is done and millions of users are downloading the best version of Firefox ever every day, I have some time to thank all of the people that have made such an achievement possible.
Thank you to our localizers first, without them, the Mozilla project would not have the international outreach it has and I really think that our localizers are way more than translators, they are involved in every corner of mozilla activities, from code, to marketing and documentation. It is a privilege for us to work with people having so many skills and passionate about FLOSS and the open web!
Thank you also to the rest of the l10n-drivers team (Seth, Axel, Stas, Gandalf...) and thank you to Delphine who did an awesome job with QA of all of the localized pages over the past weeks on our sites!
Happy international browsing 
Pascal
July 02, 2009 01:33 PM
Those who read this blog may remember that we are trying to finalize a version of Firefox in Swahili. As it happens now and again, we have two groups who have completed translations at nearly the same time. The l10n-drivers team is now trying to find the most judicious solution to the problem: determining fairly which translation is best and shipping that. Amazingly, the differences between the the strings for the two localizations number in the thousands, and properly evaluating the discrepancies is a sizable undertaking for us to find the better version of the two. If you’d like to see the existing diff, comment here and we’ll send it your way. Now that we have a finalized Firefox 3.5, I’ve asked each team leader to update the strings in their language pack for final evaluation and we’ll prepare the final diff.
Sadly, amidst all we have done to ship Firefox to seventy-five locales, it was frustrating to read a blog post from one person suggesting that Mozilla’s l10n-drivers team is playing politics when it comes to shipping the Swahili version. If it needs to be made explicitly clear, we are in the business of shipping excellent localized software to as many locales as possible. If our team allowed politics to disrupt prudent judgment, I am not sure we would scale at all.
In his post, huarya writes, “The Mozilla people want to play nice with everyone instead of giving priority to the team that has actually showed results, real result!”. I responded extensively in the comment thread, an d here is a copy of my lengthy response for those who care to read it:
huayra: I’m not sure if we have ever spoken personally, so it seems a bit careless to suggest that we are playing politics. If we have spoken via email or IRC, then my apologies. You can find me on irc.mozilla.org, nick: sethb.
We ship Firefox now in 75 locales. We are not in the business of playing games. It’s about scaling our localization communities in the most sustainable way possible AND providing an excellent finished product.
But, as you can see through the comments in this post, you’ve planted the seed that our team at Mozilla is doing something dubious. We are not and that’s irresponsible on your part since you do not mention the full story in your post. Exactly what do you mean by “The Mozilla people want to play nice with everyone instead of giving priority to the team that has actually showed results, real result!”?
Here are the facts and consider rewriting your post:
We do have two language packs from the two teams with thousands of differences. With those two language packs, my team prepared a presentation of grammatical and translation differences between the two versions and reached out to many different linguistic professors who have expertise in East African Language Studies. One was eager to help and we are trying to get a final evaluation from him since he wants to get sw-TZ users a version of Firefox. Another academic contact requested tens of thousands of dollars to do the evaluation and we cannot fund that since no other locale has been afforded any funding to help settle disputes. A final academic contact did a rough evaluation, said that both translations contained many errors, he wouldn’t be comfortable with either, and would need to charge Mozilla a fee for him to do the thorough evaluation. These responses come from department heads at leading universities.
Playing politics would be something less prudent.
Please also keep in mind that we have several things going on right now, not the least of which is shipping Firefox to 75 locales to our 300+ million users who want updates to Firefox 3.5. In addition, we are actively working with many other new locales who want to participate. Yes, sw-TZ has been trying to localize Firefox for many years now. But, we are responding to requests from all over the world and do our best to manage it all and have done fairly well since we have scaled to 75 localizations. Most importantly, we want our end users to have something that is an excellent finished product.
sw-TZ is unique because we have two translations asking to be the official one. We are seeking the most judicious result as possible because surely one team will be quite disappointed if their translation is not chosen. The team at Mozilla is the group who deals with the aftermath of that decision. And, not making a wise decision would only complicate things.
I’d ask for your patience and understanding as we come to a resolution. And, please minimize the flaming when you don’t have all the facts. Not sure how that helps.
ShareThis
July 02, 2009 10:10 AM
June 30, 2009
In this issue…
Firefox 3.5 now available
Firefox 3.5 has been released and is now available for Windows, Mac, and Linux in more than 70 languages. This release represents the hard work, dedication, and perseverance of thousands of contributors throughout the Mozilla community and around the world.
Firefox 3.5 has a huge number of additions and improvements for both users and web developers alike, including: robust new user privacy features; support for high quality open video and audio; a new, high performance JavaScript engine (and a host of other performance and speed improvements); downloadable fonts that will fundamentally change how we view typography and the web; powerful new developer features such as location aware browsing, canvas features, worker threads, native JSON, and media queries; and so much more. Firefox 3.5 is essentially an upgrade to the Web itself.
Mike Beltzner, Firefox Product Director, stars in this quick video introduction to Firefox 3.5. Visit GetFirefox.com for more information about and to download this release.
Firefox Hacks
The Firefox Hacks team continues to focus on the new features that are part of Firefox 3.5, posting an article and demo every day. Recent posts include: Open video codecs and quality, a short introduction to media queries, 3d transforms, better security and performance with native JSON, and HTML5 video and the web. Check out the Firefox Hacks weblog to read about all of these new features and more.
Discover Shiretoko
Mozilla Japan has started a new “Discover Shiretoko” campaign in cooperation with the non-profit Shiretoko Nature Foundation in Hokkaido, Japan. “As some of you may know, each version Firefox has a code-name that is the name of a national park. The code name for Firefox 3.5 is ‘Shiretoko’ which is taken from the name of the Shiretoko National Park in Northern Japan. Mozilla and this organization have a number of common goals and you can read 4 stories about Firefox and Shiretoko on the Discover Shiretoko site.” The team is also running a new web banner campaign, featuring a unique and creative use of the Canvas element to grow a virtual tree on your website or blog. Read Foxkeh’s weblog to find out more.
Firefox in context
Mitchell Baker has written an article that talks about Firefox in context of Mozilla’s larger mission to promote choice and innovation on the Internet. “Firefox enables the web and web applications to be ever more robust and exciting. The web enables Firefox to be more flexible, more agile and more responsive. Firefox builds an experience where the center of the entire system remains a person. Not a website, not a business, not a piece of software. The most important actor in the entire picture is a human being; an individual. You. Me. Each person living part of his or her life online.” Read Mitchell’s full post on her weblog.
Weave 0.4 released
Weave Sync is a prototype add-on that encrypts and securely synchronizes the Firefox experience across multiple browsers, so that your desktop, laptop and mobile phone can all work together. It is part of the Weave project, which aims to integrate services more closely with the browser. This new release includes a major rewrite of many of Weave’s key components since the last major release in June. For more information, see the Weave 0.4 release announcment.
Two new Fennec releases
Stuart Parmenter has announced the release of Fennec 1.0 Beta 2 for Maemo and Fennec 1.0 Alpha 2 for Windows Mobile. “For these releases we have worked on improving the user experience, replacing our old theme with a much nicer looking one and fixing numerous usability issues. We’ve continued to increase performance and responsiveness.” Other changes include how add-ons are installed, how the download manager works, and several improvements to web forms.
Firefox browser for CyberMentors
Jane Finette has posted about Mozilla’s involvement with the UK-based charity that works to help Britain’s youngsters deal with and protect themselves from bullying. “Earlier this year they launched their CyberMentors program, offering help and advice from trained mentors to anyone who is being bullied online. Mozilla supported CyberMentors straight out of the gates, whereby members of the Mozilla community volunteered to be trained as CyberMentors. Yesterday, we took our partnership a stage further for this worthwhile cause by building and launching a new custom Firefox browser for CyberMentors.” To learn more about this project, see Jane’s weblog post.
Open Video Conference roundup
Mark Surman posted an interesting round up of the goings-on and takeaways from the Open Video Conference that took place recently in New York. “It was an amazing confluence of people from the worlds of online video, art, free culture, open content and web technology.” Mark’s takeaways, summarized, are: “people who make video are great potential allies”, “we have a long way to go”, “there are some simple things we can do now to build momentum”, and finally “open video is both important and fun”. Mark’s post finishes up with some potential next steps, and you can read it in full over at his weblog.
Mozilla Service Week
There are two new stories about the exciting new Mozilla Service Week project that’s taking place Sept 14-21. The first article asks that non-profit and community organizations that are in need of technology help get in touch with Mozilla, so your organization can be included in the program. If you already have ideas about what sort of help you need, you can register directly at the Idealist volunteer organization. The second post is about how individuals can get involved with and get a head start on the Service Week. The team is looking for help promoting the Mozilla Service Week event over the summer, both to volunteers worldwide and to non-profits and local organizations that could use help. For more information, check out both articles: Public benefit organizations: How can we help you?, and Mozilla Service Week: How to help!
Design Challenge: vote now!
The submission deadline for the Mozilla Labs Summer ‘09 Design Challenge has passed, and over 120 concepts have been submitted around the theme of reinventing tabs in the browser. The nine panelists will be going through the submissions and determining the four “best in class” honors, but there’s an additional honor to be bestowed, and we need your help! You can participate by going to the Design Challenge showcase site, reviewing the concepts, and voting for your favorite to help determine which entry should receive the “People’s Choice” award. Voting closes on July 5th, so now’s a great time to start checking out some of the incredible work that’s been submitted for this Challenge. More information is available on Pascal’s weblog post.
Upcoming events
The Mozilla community is organizing an increasing number of events and meetups all the time, and we include a list of these here every week. If you have events you would like listed, send them along to: about-mozilla*at*mozilla.com.
* Fri, Jul 10 – Online – Firefox 3.5 Security Testday
* Sept 14-21 – Everywhere! – Mozilla Service Week
Developer calendar
For an up-to-date list of the coming week’s Mozilla project meetings and events, please see the Mozilla Community Calendar wiki page. Notes from previous meetings are linked to through the Calendar as well.
About about:mozilla
about:mozilla is by, for and about the Mozilla community, focusing on major news items related to all aspects of the Mozilla Project. The newsletter is written by Deb Richardson and is published every Tuesday morning. If you have any news or announcements you would like to have included in our next issue, please send them to: about-mozilla[at]mozilla.com.
If you would like to get this newsletter by email, just head on over to the about:mozilla newsletter subscription form. Fresh news, every Tuesday, right to your inbox.
June 30, 2009 04:03 PM
Mozilla is proud and pleased to present Firefox 3.5, now available for download. Firefox 3.5 has been under development for the past year, contains many new exciting features for users and web developers, and is our fastest Firefox release ever. A video highlighting some of these new features is available, describing how:
- Firefox 3.5 is available in more than 70 languages – get your local version.
- We have included tools for controlling your private data, including a Private Browsing Mode, and the ability to go back in time and Clear Recent History.
- Firefox 3.5 has support for the HTML5 <video> and <audio> elements including native support for Ogg Theora encoded video and Vorbis encoded audio.
- The browser features faster performance on complex websites thanks to the new TraceMonkey JavaScript engine.
- Users can enjoy Location Aware Browsing using web standards for geolocation.
- Web developers can make use of native JSON parsing, and web worker threads.
- This release includes improvements to the Gecko layout engine, including speculative parsing for faster content rendering.
- Firefox 3.5 supports new web technologies such as: downloadable fonts, CSS media queries, new transformations and properties, JavaScript query selectors, HTML5 local storage and offline application storage, <canvas> text, ICC profiles, and SVG transforms.
As always Firefox 3.5 is available as a free download. Firefox 3.0 users can update their existing browser by selecting “Check for Updates…” from the “Tools” menu in Firefox.
We encourage web and Add-on developers to read the Firefox 3.5 for Developers article on the Mozilla Developer Center.
Note: users already running a Firefox 3.5 Beta or Release Candidate can also obtain an update by selecting “Check for Updates…” from the “Help” menu. If no update is available, you already have the final version!
June 30, 2009 03:59 PM
June 29, 2009
I’ve spent half of last week in Amsterdam joining the “Open Translation Tools 2009” unconference. It was a pretty interesting and diverse crowd to be with, and by far not as tool-author-only as it would sound like. Folks coming spread all over from sex-worker activists over global voices to translate.org.za to folks from the “professional translation companies”.
We started out with a few opening ceremonies. First of which was an introduction, the regular “who are you and where are you from”, along with a “how do you feel”. I was the only one that didn’t give a geolocation, but disclosed Mozilla as my point of origin. It’s obviously a more common theme in such events that localization folks are much more focused on their geographical background as defining their cultural background (what this should be about, right? This is not couch-surfing.) and not so much what they work on. The “how do you feel” was one of the hippie-pieces, along with a lot of twinkling. Reading the urbandictionary on twinkle makes me wonder, but it was just hands-not-clapping. Honestly.
Next up was a round of spectograms in the room. Two opposite oppinions where offered, and you had to stand across a line in the room on where between the two your opinion would be. Then Gunner, our head master of ceremonies, went in and poked people on why they’d be where they were. It’s an interesting exercise to figure out what kind of crowd you’re with, and scales pretty well.
Agenda-building worked pretty much like it does in most unconferences these days, we created tons of sticky notes and then tried to build themes and agendas from that. The resulting sticky notes are transcribed on the wiki. Mighty job by Lena. I feel quite fortunate that I didn’t have to distill those notes into an agenda. Gunner did that pretty loosely, which was probably a good combination. The resulting schedule is on the wiki, too. In the rest of my coverage, I’ll focus on those sessions that I’ve been in. The schedule links to the full notes of each session, the note takes were usually in good shape, so do take a look.
The session that Ed Zad (both of which are shortened, the parents are not to blame for this one) led about the professional translation companies and ecosystem was OK. The actual translation is almost never done in-house, but contracted out to freelancers. The money you pay the companies goes into project management, and they hire translators, reviewers and editors to do the actual work, and get paid by the company. The interesting part here was really that those companies make their money from the project management and recruiting part. I didn’t get any useful feedback beyond “you must have hired the wrong guys” on my report that any time we had to contract translation out, the results were not really usable. Maybe asking that question the wrong guy :-). The main takeaway would be that the industry is really fragmented and diverse. I doubt there are any good rules for picking a partner when looking for a company for localization, either. The process Ed described about reviews and editing seem rather low-key compared to what you can do if you develop your localized content in the open.
The next session I was in was about machine translation, led by Francis. He introduced the group to both statistical machine translation as well as rule-based MT. Interesting here are both the enormous amount of data you need for statistical MT, as well as the different stages. Rule-based MT on the other hand works well for closely related languages. For those that heard me talking about l10n-fork, that’d be rule-based MT. Francis offered to take a look at whether we can actually do better MT to share work in Mozilla localizations for at least closely related languages. All our romance languages with the Spanishs, Portugueses and French could benefit from that, possibly even patch-based.
We “closed” Monday in Vondelpark. Matt broke the aspiration techies on Monday night, though. Amsterdam is good at that. I ended up at Petra’s place, together with Tanya and Pawell. Thanks to Petra for a fun evening.
Tuesday started off with a crazy “crawl on the floor and draw as many workflows as you have”. I figured that I don’t know enough about 90% of the workflows we use at Mozilla, and just sketched out two extremes when it comes down to localizing Firefox. One is localizing patch by patch, like for example the French team does. And then we have a long tail of localizations that work within their toolchain and just occasionally export to hg and update the upstream repos. For the cats among you, there are 40 pictures of the workflow diagrams on flickr.
Next was a pretty interesting session on translating wiki content. That made it a good fit for me to kill the session on “Localizing a hybrid organization – BOF on Mozilla”. I wanted to clone myself three or four times already, so not having to do a session myself was a win. Anyway. We had tikiwiki and mediawiki represented in the group. And me with some experience on those two, plus deki via MDC. The discussion turned up two fundamentally different ways of working:
- Forking documents into different documents for different languages, with some cross-referencing that localizations exist. You’d know this from wikipedia.
- Maintaining the different translations as variants of a single document. This is what tikiwiki does, as we see it on SUMO.
The discussion around one single living document in multiple languages was more lively, which gave me a good sense of what’s out there to address our needs at SUMO/MDC etc. There doesn’t seem to be anything blowing tikiwiki out of the water, so in terms of finding a wiki engine with l10n, SUMO made a good choice. We talked quite a bit about the multiple edits in various languages of the document, and what tiki defines to be 100% in the end. I showed off the l10n dashboard page we have on SUMO now, which was well received. The idea to not demand that people do as a bot tells them, and instead to empower them with relevant information seemed to resonate well. There was a different session about CMSes and l10n, read drupal etc. I only overheard the last bits, didn’t seem to have great answers over there. Judge yourself from the notes. Finding the right UE and UI paradigms for keeping a living document in multiple languages in sync seems to be an open item of work. In particular if your document isn’t bound to get value contributed in one single source languages. We would want to understand which changes are ports of fixes in other languages, and which are new fixes to the actual document that other translations of this document including the original source language would benefit from.
Next up was a round of speed-geeking. That’s similar to speed dating. A few geeks get a table each to present something to the rest of the group. The rest of the group is split up to watch one at a time. Each presentation is 4 minutes, then the groups rotate to the next table. If you’re bored by something presented, you just wasted 4 minutes. I took the challenge to present l20n 8 times in a row. That’s a pretty technical topic and a pretty diverse audience, so apart from being a stress test on ones vocal chords, it’s also pretty heavy on your brain. I must have been doing allright, though. The feedback was generally interested to positive. I got out with an action item to work with Dwayne on how we could actually present localization choices so that they’re options to fix and not just hell-bound confusion. On a general note, if you’re ever found speed geeking: Don’t sit in front of your computer. Don’t make people walk around the table to see something. It’s perfectly fine to sit next to your computer and have your laptop and yourself face your audience. Or do it like Dwayne did, just present without your damn laptop open :-). If feasible.
The last session on Tuesday was about building Volunteer Translation Communities. We had a few people there that are just starting to build such a community, but also a few people from Global Voices Online and yours truly from Mozilla. It’s pretty interesting how easy it is to think “I need to get such and such in language other, how do I ask for volunteers?” and how easily that fails. The common ground of those with living communities was that you don’t ask for translators, but you need to be open for contributors. At Mozilla, we’re hackable. We offer opportunities for all kinds of volunteer contributions, among which localization is one. That is something different than asking for some unit of work to be done for no pay. Another key is that you find your volunteers among those that are interested in the outcome of the localization work. The project management work you need to do to empower your translation community to actually do some work and get to the results shouldn’t be underestimated, too. There’s a reason why people make a living out of this one.
I moved from Tuesday to Wednesday through the Waterhole. As good as it used to be. Getting up in time was tough, but not as bad as it initially felt.
The first session I joined on Wednesday was on localization issues in Africa. We had similar sessions for Central Asia, South Asia, and Asia Pacific, which I didn’t manage to get to. I even didn’t get to read the notes from those yet. Anyway, back to Africa. The challenges there aren’t all that surprising. Connectivity is really bad, cell phones are really big. During the OTT, though, the first cable made it to Kenya, so in terms of connectivity, things are changing. Fonts in Africa are mostly based on Latin script, so there’s not too much to do there, though a few characters usually need fixing. At least for web content, downloadable fonts offer a smooth upgrade path. In terms of technical abilities, a lot of the techies for African languages end up in Europe or the US and only occasionally visit home. For actual translators, there isn’t enough work to actually make a living of that, so you likely end up with part time night shifters. For many people with access to computers and internet, localization is a good thing, but not something on their own list of priorities, which leaves us with a rather small potential community there. Localizing really obvious things like cell phones or Firefox is a good way to start of a community, though. I’ve had some off-track discussions with Dwayne on how to work together with the ANLoc project he’s running, too.
The discussion about open corpora to be used for linguistic research and statistical machine translation training was OK, but not of that much interest for Mozilla. It’s a good thing to do, and if we can help in asking the right people, that’d be cool, though. There’s tons of politics to resolve first though, and they got enough folks for the initial group.
The next round of speed geeking had me on the consumer side. I already mentioned that you shouldn’t sit in front of the laptop that you use for presenting. John talked about Transifex, which is designed to be a system to bridge various version control systems for localizers, by having write access itself to the upstream repos. They start to offer an interface to actually translate a few strings in place, which they reuse from somewhere. It’s not pootle code, though. That was the one with most immediate touch point to what we do.
The last session for me was one driven by Dwayne again, closing the loop. We tried to find out how to get feedback from the localizers into tools, and into the software they localize. This was pretty interesting, thanks to the input from Rohana and Gisela, the two are actually localizers and could hint us at what they do and how. The main take away was that Localizers and l10n tool authors don’t talk enough to each other. Gisela, Dwayne and I have a follow-up conference in our heads to actually do that, I’ll talk about that in a different post. The other main point was that we need to get tools to support “l10n briefs” and annotations, and need to establish ways for that information to be exchanged. A localization brief might be something like a file-wide localization note that explains what the context for these strings is. Or that it’s about XSLT error messages, that you should leave in English unless you have a thriving local community in your language on that technology. Annotations are more diverse, and are both to communicate among localization teams and back to the original author. The idea is to create a system that allows localizers to communicate over a particular string or set of strings in an easier fashion than using hg blame to find the bug, and then having to read through all of the bug to find out how to reproduce a problem. We might want to have annotations as simple as “star a string”. If it’s helpful that a string is tricky, someone else can go in and offer help or a more constructive annotation beyond “I didn’t get it”. How to communicate that back and forth is another follow-up project from this session.
Adam Hyde ran a book sprint on open translation tools aside all sessions, with a real face-to-face book sprinting event that closes today. It’s going to be interesting to see what that comes down to. As I suck at writing (you can tell by reading this post), I didn’t participate in that one myself. There is a version on the net already on flossmanuals.net.
So much for the actual sessions. As always, floor communication was essential, too. I made contact with folks from the Tajik, Khmer, and Nepali localization efforts for Firefox, and there’s already traction on some. If you know someone willing to help with Nepali, please make them introduce themselves in m.d.l10n. I have met a ton of other interesting people, of course. I had some really great conversations with Dwayne on a bunch of different topics, ranging from technical bits in tools to mission statements. Generally, there was a lot of interest in Mozilla, and how we do things. Thanks to Aspiration for inviting me, and thanks to all the people at OTT for the warm welcome to this new community for us.
Last but not least, thanks to Mozilla. In environments like OTT it becomes really obvious how rare organisations like Mozilla are. We had a lot of discussion on how hard it is to do localization as an afterthought, and we just don’t. How valuable it is for the localization community to get acknowledged. Which happens throughout Mozilla, pretty independent on whether it’s John and Mitchell most anywhere they talk, or our developers fixing their patches to have a prettier localization note, or our marketing folks empowering our local communities to localize the message. And we’re still learning and eager to get better. It is an honor to represent such an organization.
Pictures in this post are by Lena under CC by-nc-nd.
June 29, 2009 03:42 PM
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 26/2009 (June 22 - 28, 2009):
- SeaMonkey Build/Release Harness:
Followup work on getting SeaMonkey release automation (also has wiki documentation now) from testing into production to actually work is continuing. The main bug now has the SeaMonkey-specific configuration files attached for review, I tried to make repack independent of ChatZilla or venkman being enabled (doesn't correctly work yet, though), filed a bug and (trivial) patch for pretty names in Windows installer and added shipped-locales files to both trunk and the 2.0a3 release tag (release automation needs to fetch that file from the last release to determine what to generate updates for). The removed-files.in fixup I wrote up after analyzing update verification logs from the release harness has landed, which should also make us ready for shipping static builds in nightly updates.
I did a small update to the patch for DMG unpackaging in the buildsystem and updated the patch for repack factory abstraction once again for some bitrot from buildbotcustom changes. - Release Process:
SeaMonkey 1.1.17 has been released on Monday, containing a good number of security fixes compared to 1.1.16. I continued uploading contibuted builds as they came in. - Download Preferences:
As I start to see more and more people being confused about the behavior preference on the download panel not working I started the work on updating the download preference panel to reflect changes from the download manager switch. This will focus on making the behavior and location prefs work correctly so that 2.0b1 will behave itself, more improvements can be done in later followups building on this. - Bug Triage, Support Mails, Start Page:
I spent some time looking at bugs that were changed again after the large NEW->UNCONFIRMED change, trying to get actions to happen where possible, or deciding to WONTFIX them in a number of cases (such decisions need module owners or Council members in most cases).
Also, I finally came around to work the backlog of support mails I had in a subfolder of my inbox (I don't feel responsible for support, so I push them in there, but try to at least give some reply with pointers when I come around to it - might take weeks to months though). I ended up writing 70 replies in 4 hours, taking 3:30 minutes per mail, mostly with standardized replies, sometimes one or two sentences containing more specific help.
The "start" page on the SeaMonkey project website has been warning people that their alpha/beta builds were outdated when they were older than four weeks which is not the best idea in the light of e.g. Alpha 3 being four months old and still "current" right now. I finally came around to modifying the page to restrict this warning to nightlies and doing a special warning for non-current alpha/betas. - German L10n:
Fixed some ChatZilla and general SeaMonkey strings to keep the de locale green. - Various Discussions:
Checkin for packaged tests uploading glitch, DEL and other keys in download manager, OpenWebCamp Vienna, Parallels VM adjustments, FF 3.5 release preparations, Scheduling of Mozilla's Weekly Update Meeting, thundertab restore and SeaMonkey, etc.
I have a very strong opinion about how successful our planning of SeaMonkey 2.0 Beta 1 in sync with Thunderbird 3.0 Beta 3 went - and believe me, there's nothing positive on it. Since we defined a freeze for our first alpha, we have learned that only a definitely scheduled freeze date will bring people to pick up speed and concentrate on the really needed stuff for that release. Sure, there's a lot of stuff to do in general, but usually only a few items that really need to go into a release. Most people fail to deliver on those things unless there are deadlines for making it happen. Thunderbird 3.0 Beta 3 is a glaring failure in that kind of scheduling, and with making SeaMonkey 2.0 Beta 1 dependent on that milestone, we ended up with a miserable performance on scheduling and delivering ourselves. If we had know how long that short delay would take, we might have done an Alpha 4 just before the download manager landing and still would be ready to wrap up the beta right now.
In any case, I'll propose uncoupling this beta from the Thunderbird cycle, set L10n and code freezes to happen soon and deliver SeaMonkey 2.0 Beta 1 within the next few (meaning really few) weeks, independently if Thunderbird ships a Beta in the fifth month after their most recent one or not.
We'll set freeze dates at this week's
SeaMonkey Status Meeting and follow up with posts on the relevant groups and lists.
June 29, 2009 03:35 PM
June 28, 2009
Fixes:
- Fixed: 500883 - Check Canvas3D into core.
- Fixed: 449156 - Implement the poster attribute for the <video> element.
- Fixed: 90587 - clickSelectsAll should not trigger on task switch if textbox already had focus (url bar selected unnecessarily when switching windows while editing).
- Fixed: 486990 - Context Menu can be disabled by stopping propagation (cancelEvent=true or stopPropagation).
- Fixed: 333808 - Safe mode should disable userContent.css and userChrome.css.
- Fixed: 498770 - Enable optimized Theora code in Windows builds.
Fixes for recent regressions:
- Fixed: 498609 - Cannot focus location bar after cancelling/pausing a download.
- Fixed: 499169 - Top crash [@ js_MonitorLoopEdge(JSContext*, unsigned int&)].
- Fixed: 500124 - Slow processing of innerHTML in a table body.
- Fixed: 500467 - Table row reordering much slower in minefield, whether done on or off DOM.
mozilla-central pushlog for 2009-06-18 04:00 to 2009-06-28 04:00
Windows nightly
(discussion)
Mac nightly
Yesterday's Linux nightly
June 28, 2009 10:05 PM
June 25, 2009
Please note: the Firefox 3.5 Release Candidate is a public preview release intended for developer testing and community feedback. It includes many new features as well as improvements to performance, web compatibility, and speed. We recommend that you read the release notes and known issues before installing this release candidate.
A new version of the Firefox 3.5 Release Candidate is now available for download, containing fixes based on the feedback obtained from the previous release candidate. This updated milestone is focused on providing a preview of the functionality provided by the new features and changes that will be included in Firefox 3.5. A video highlighting some of these new features is also available. Ongoing planning for Firefox 3.5 can be followed at the Firefox 3.5 Planning Center, as well as in mozilla.dev.planning and on irc.mozilla.org in #shiretoko.
Testers can download Firefox 3.5 Release Candidate builds for Windows, Mac OS X, and Linux in over 70 different languages. Developers should also read the Firefox 3.5 for Developers article on the Mozilla Developer Center.
Users already running a Firefox 3.5 Beta or Release Candidate can obtain an update to this latest Release Candidate version by selecting “Check for Updates…” from the “Help” menu.
Note: Please do not link directly to the download site. Instead we strongly encourage you to link to this Firefox 3.5 Release Candidate milestone announcement so that everyone will know what this milestone is, what they should expect, and who should be downloading to participate in testing at this stage of development.
June 25, 2009 05:13 AM
June 23, 2009
Here's a summary of SeaMonkey/Mozilla-related work I've done in week 25/2009 (June 15 - 21, 2009):
- SeaMonkey Build/Release Harness:
After lots and lots of hours spent testing and fixing things, I could get the automated release harness for SeaMonkey to actually work, producing a bogus test-only "2.0a4" from current code, the resulting patches for buildbotcustom factory abstraction, dealing with brand names in update tools, DMG unpackaging in build and same in tools are all awaiting reviews.
As a followup, I added a few files to be removed on update so that resulting complete or partial updates (yes, we can do the latter now for releases) end up as clean as they should be.
I also updated the patch for repack factory abstraction for some bitrot, attached a patch for a small unit test packaging followup and made package-compare run in comm-central builds. - Release Process:
Continued the SeaMonkey 1.1.17 release process towards a planned public release in sync with Thunderbird 2.0.0.22, containing a good number of security fixes compared to 1.1.16. - Misc Work:
Did some changes in how my SeaMonkey development website retrieves and stores data: Weekly Bugzilla stats are now requested more efficiently using the microsummary ctype instead of full lists to retrieve the count and the results are kept in a DB, once I have more data and time, I'll make more than 3 weeks available on a separate page. Also, SeaMonkey 1.x update notification ping stats are now stored in a DB on the server, still need to write a report on those.
I also fixed the Thunderbird and SeaMonkey nightly file paths on www.m.o/developer. - Various Discussions:
DEL and other keys in download manager, OpenWebCamp Vienna, Bugzilla improvements, NEW->UNCONFIRMED mass change, etc.
With all the work I did put into that in the last weeks, I hope we will be able to actually ship the SeaMonkey 2.0 Beta 1 release off the automated harness which can produce L10n builds as well as partial updates, both of which we didn't have previously. Additionally, using that buildbot-based mechanism makes it much less manual work to get the release done. We still need to do a bit of discussion if we can live with using so-called "pretty" file names for the release (e.g. "SeaMonkey Setup 2.0 Beta 1.exe" instead of "seamonkey-2.0b1.en-US.installer.exe") and we also have no signing infrastructure for Windows builds, but we can fake it by copying unsigned builds to the final place and continue to ship unsigned releases as we did up to now.
Next to that, I'm realizing that a few areas of our project are pretty dormant and I can't find time myself to move them much forward myself. this especially concerns
QA and marketing. We really would need people to help making progress there - if you can support us in any of them, please contact me!
June 23, 2009 07:25 PM
In this issue…
Firefox 3.5 Release Candidate!
The Firefox 3.5 Release Candidate is now available for download and testing. We need feedback on several things in this milestone, including all 70+ localizations, new privacy tools, open audio and video, performance and stability improvements, geolocation features, native JSON support, web worker threads, downloadable fonts, CSS media queries, and a whole host of other changes and new features. Developers should read the Firefox 3.5 for Developers article, and everyone should read through the release notes before installing this release candidate.
Extend Firefox 3.5 contest
Extend Firefox is a worldwide developer contest that will be giving out prizes for the best new Firefox Add-ons developed for Firefox 3.5. Last year’s contest (for Firefox 3) received over 100 add-on submissions, and with Firefox 3.5 raising the bar in terms of features, we expect this year’s competition to be intense. Top prizes include MacBook Pro laptops, professional development tools, software and books. For all the details, head over to the Mozilla Add-ons blog and read the full contest announcement.
Help Firefox users transition to 3.5
The Firefox Support (SUMO) team is looking for help! When Firefox 3.5 launches they’re hoping to provide friendly, prompt and personal support to new Firefox 3.5 users through the knowledge base, forums, and live chat service. If you’re an experienced Firefox user, you can help the team by joining the dedicated SUMO community for the first week or two after the final Firefox 3.5 release and volunteering some of your time and expertise to help new users. If you would like to help, there’s more information about what you can do and how to get started over at the Firefox Support Blog.
More Firefox 3.5 hacks and demos
The Firefox Hacks team has continued to post feature articles and demos for some of the new Firefox 3.5 features at the Hacks weblog. Recent topics include: DOM traversal in Firefox 3.5, Using HTML5 video with fallbacks to other formats, Color correction for images in Firefox 3.5, an update on open video codecs and quality, and geolocation with open street maps. All of these demos and more can be found at hacks.mozilla.org.
Multi-process Firefox, Phase I demo
Benjamin Smedberg recently posted about the motivation for splitting Firefox into multiple processes, and now Chris Jones has posted a video (Ogg format, viewable with Firefox 3.5) that demonstrates what the team has accomplished so far. The demo is of the nearly-Phase I-complete browser, and represents a lot of hard work done by the team. See Chris’ blog post for more information.
SUMO 1.1 – screencasts are here!
Chris Ilias writes, “Last week, the fixes for SUMO 1.1 were applied to support.mozilla.com. The big news: SUMO now supports screencasts! Firefox 3.0.x users will be able to view screencasts in Flash format, but we also support the open video format called Ogg/Theora. Firefox 3.5 users will be able to view Ogg/Theora videos without the need for a plugin. What makes screencasts on SUMO especially great is that the SUMO knowledge base is a wiki. Adding a screencast to an article can be done by anyone!” The SUMO team has put together a tutorial about how to add screencasts, including a list of software you can use to create them. Other details are available on Chris’ post.
Localizing the Getting Started page
Seth Bindernagel has written an interesting article in which he talks about the power of localized Getting Started pages, and why he believes they are a critical step in helping users optimize their experience on the Web. The example he uses is the Danish version of the Getting Started page, where the team experimented with featuring the Danish dictionary add-on. “The experiment resulted in a bit of a surprise. The link became the most popular click-through on the page!” Read the rest of Seth’s article on his weblog.
Open video and the price of freedom
Robert O’Callahan writes, “With the imminent release of Firefox 3.5 and the big step forward for unencumbered video and audio that this represents, there’s been a lot of discussion about the merits of the free Ogg codecs vs the flagship encumbered codecs. The real question that matters is this: at comparable bit rates, in real-world situations, do normal people perceive a significant quality advantage for H.264 over Theora? Because if they don’t, theoretical technical advantages are worthless.” Some tests have been run and, “in these tests, it seems pretty clear that there is no real advantage for H.264, or even that Theora is doing better.” Robert’s full post is available on his weblog.
Mozilla Add-ons: a week of collections
The Add-ons team launched the new collections feature on addons.mozilla.org (AMO) over a week ago, and the response has been amazing. Justin Scott writes, “Above the Fold has details on press coverage, and we’re happy to see so many bloggers and news sites creating their own collections. Reading the articles, it was very exciting to see that people really understood collections and their potential.” During the first week, add-on users created more than 11,000 collections, comprising 140,000 instances of 3500 different add-ons. Over 245,000 add-on downloads were served from collection view pages, not including downloads served from other pages accessed through collections. In addition, the Add-on Collector has been downloaded 46,000 times.
Infectious Designs + Mozilla Firefox
Jay Patel has been heading up a new Community Art Project to inspire creative contributors to join us in making the internet better for everyone. “Today we unveil some amazing designs by 5 Infectious artists that we asked to help kick off the project. We challenged them to create art inspired by Firefox and the values that drive the Mozilla project. The result? Original art pieces that reflect the innovation, openness, opportunity and idealism that Mozilla represents.” The designs are available as iPhone skins, car decals, desktop wallpaper, and iPhone wallpaper through Infectious.com, as T-shirts at the Mozilla Community Store, and as Personas for your Firefox browser. To read more about this collection and the Community Art Project, read Jay’s post.
Embedding the error console in Fennec
One thing many developers don’t realize is that any Mozilla-based application automatically supports displaying and using the JavaScript Error Console, you simply need to launch the application using the -jsconsole command line flag. Making this work on a mobile device, however, is a bit trickier. Mark Finkle writes, “Trying to debug problems in Fennec while running on a mobile device can be a pain. To make it easier to view errors, we added the Error Console as a browser panel in Fennec. It’s hidden by default — you need to use about:config to display it.” Read the rest of Mark’s post (which includes screenshots of the Fennec Error Console) at his weblog.
Shutting down XSS with Content Security Policy
For several years, Cross-Site Scripting (XSS) attacks have plagued many of the web’s most popular sites and victimized their users. At Mozilla, a team has been working on a new technology called Content Security Policy (CSP), designed to shut these attacks down. Brandon Sterne has written an article that gives some of the background of the project and provides an update of the progress so far.
Madrid Mozilla Technologies Course
The Madrid Mozilla Technologies Course is a three-month blended learning course organized by the Mozilla Foundation, Mozilla Europe and the Universidad Rey Juan Carlos (Madrid Spain). The course starts July 1st 2009 and will finish October 15th. Most of the course is on-line and can be followed by students using the web, mailing lists, wikis, IRC, etc. Students who follow the course with success will obtain a degree from the Universidad Rey Juan Carlos and a diploma from the Mozilla Foundation/Mozilla Europe. For more information, see the course website. Note that registration closes on June 30th.
Lifehacker’s Top 10 Firefox 3.5 features
With the release of Firefox 3.5 right around the corner, Lifehacker has put together its list of “Top 10 Firefox 3.5 Features“. These include: open video, the geolocation API, TraceMonkey JavaScript engine, Color profile support, Private browsing mode, Smarter session restore, Keyword AwesomeBar filters, tear-off tabs, Forget this site, and Undo closed window. If you’re champing at the bit to get a look at these, you can download the newly released Firefox 3.5 Release Candidate now (and help test!)
Upcoming events
The Mozilla community is organizing an increasing number of events and meetups all the time, and we include a list of these here every week. If you have events you would like listed, send them along to: about-mozilla*at*mozilla.com.
* Wed, Jun 24 – Mountain View, CA – Testing Mozilla web properties
* Thu, Jun 25 – Online – Support Firefox Day
* Thu, Jun 25 – Mountain View, CA – Mozilla Labs Meetup
* Fri, Jun 26 – Online – Fennec web compatibility testing
* Sun, Jun 28 – Fastest Firefox videos deadline!
* Fri, Jul 10 – Online – Firefox 3.5 Security Testday
* Sept 14-21 – Everywhere! – Mozilla Service Week
Developer calendar
For an up-to-date list of the coming week’s Mozilla project meetings and events, please see the Mozilla Community Calendar wiki page. Notes from previous meetings are linked to through the Calendar as well.
About about:mozilla
about:mozilla is by, for and about the Mozilla community, focusing on major news items related to all aspects of the Mozilla Project. The newsletter is written by Deb Richardson and is published every Tuesday morning. If you have any news or announcements you would like to have included in our next issue, please send them to: about-mozilla[at]mozilla.com.
If you would like to get this newsletter by email, just head on over to the about:mozilla newsletter subscription form. Fresh news, every Tuesday, right to your inbox.
June 23, 2009 03:48 PM
June 22, 2009
As part of Mozilla Corporation’s ongoing stability and security update process, Thunderbird 2.0.0.22 is now available for Windows, Mac, and Linux as a free download from www.getthunderbird.com.
Due to the security fixes, we strongly recommend that all Thunderbird users upgrade to this latest release.
If you already have Thunderbird 2.0.0.x, you will receive an automated update notification within 24 to 48 hours. This update can also be applied manually by selecting “Check for Updates…” from the Help menu.
For a list of changes and more information, please review the Thunderbird 2.0.0.22 Release Notes.
Please note: If you’re still using Thunderbird 1.5.0.x, this version is no longer supported and contains known security vulnerabilities. Please upgrade to Thunderbird 2 by downloading Thunderbird 2.0.0.22 from www.getthunderbird.com.
June 22, 2009 10:13 PM