Planet Mozilla L10N

November 06, 2009

Axel Hecht

PS: l10n-merge

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:

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:

  1. .../merged/browser/chrome/foo
  2. l10n/ab-CD/browser/chrome/foo
  3. mozilla/browser/locales/en-US/chrome/foo

Now it’s time to list some pitfalls that come with l10n-merge:

November 06, 2009 03:02 PM

Mozilla Developer DevNews

Firefox 3.5.5 stability update now available for download

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

Burning Edge - Firefox

2009-11-03 Trunk builds

Fixes:

  • Fixed: 523771 - Support <input type=file multiple>.
  • Fixed: 513395 - Implement less awkward/more logical CSS gradient syntax.
  • Fixed: 517902 - Reimplement image properties, using the existing "Media" panel.
  • Fixed: 514490 - Per Tab Network Prioritization.
  • Fixed: 515512 - Text urls that don't have the leading protocol should have the link context menu options when selected.
  • Fixed: 436703 - Select all + Copy/paste in contenteditable div pastes the editable div inside itself.
  • Fixed: 511503 - Need events for window focus / activation.
  • Fixed: 509329 - Background image rendered incorrectly when window resized.
  • Fixed: 521750 - Put a runtime NS_IsMainThread check in nsCycleCollector::Suspect2 and Forget2 (reduces frequency of crashes caused by several buggy extensions).

mozilla-central pushlog for 2009-10-23 04:00 to 2009-11-03 04:00

Windows builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

November 04, 2009 06:47 AM

November 02, 2009

Robert Kaiser

Weekly Status Report, W44/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 44/2009 (October 26 - November 1, 2009):


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

Pascal Chevrel

Passage à Karmic

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 :

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

Mozilla Developer DevNews

Firefox 3.6 Beta 1 is now available for download

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:

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

Robert Kaiser

Weekly Status Report, W43/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 43/2009 (October 19 - 25, 2009):


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

Mozilla Developer DevNews

Firefox 3.5.4 and 3.0.15 security updates now available for download

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

Burning Edge - Firefox

2009-10-23 Trunk builds

Fixes:

  • Fixed: 448602 - Have a way to enumerate event listeners.
  • Fixed: 482402 - Enable "svg.smil.enabled" pref by default.
  • Fixed: 517902 - Reimplement image properties, using the existing "Media" panel.
  • Fixed: 522416 - Tab Previews must not do sync http requests.
  • Fixed: 327323 - Can't "Open with" files that are send as application/octet-stream (or other "unknown to firefox" mime types).

Fixes for recent regressions:

  • Fixed: 516665 - Distorted images with moz-icon://*?size=dialog.

mozilla-central pushlog for 2009-10-15 04:00 to 2009-10-23 04:00

Windows builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

October 23, 2009 09:43 PM

October 20, 2009

Seth Bindernagel

Mayan Inspiration

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

Robert Kaiser

Weekly Status Report, W42/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 42/2009 (October 12 - 18, 2009):


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

Burning Edge - Firefox

2009-10-15 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

October 16, 2009 06:08 AM

October 14, 2009

Seth Bindernagel

The L10n Documentation Overhaul

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):

  1. Always use the L10n: namespace (wikimo only)
  2. For hierarchies, use /, not :. This will create breadcrumbs automatically.
  3. Prefer hierarchies than longer names if you need to disambiguate.
  4. If not ambiguous, simplify.
  5. Don’t repeat yourself:
  6. 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

Robert Kaiser

Weekly Status Report, W41/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 41/2009 (September 28 - October 4, 2009):


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

Seth Bindernagel

Flickr

This is a test post from flickr, a fancy photo sharing thing.

ShareThis

October 09, 2009 09:13 AM

October 07, 2009

Robert Kaiser

Weekly Status Report, W40/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 40/2009 (September 28 - October 4, 2009):


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

Burning Edge - Firefox

2009-10-03 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

October 03, 2009 11:31 PM

October 01, 2009

Robert Kaiser

Weekly Status Report, W39/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 39/2009 (September 21 - 27, 2009):


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

Seth Bindernagel

How To Make a Website “Localizable”

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

Seth Bindernagel

L10n Track for the Moz EU Camp

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

Seth Bindernagel

Updating Localization Notes

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

More on Firefox in the Philippines

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.

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

Growth of blocklist pings over one year

The Philippines is #4 on the list

The Philippines is #4 on the list

Usage in the Philippines by local geography

ShareThis

September 22, 2009 08:41 AM

September 21, 2009

Robert Kaiser

Weekly Status Report, W38/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 38/2009 (September 14 - 20, 2009):


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

Seth Bindernagel

Presentation at WordCamp Philippines

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:

  1. To gain further insight into the landscapeof the Web and Internet in the Philippines;
  2. To assess whether or not a localized version is something our community here mightpursue;
  3. 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

Robert Kaiser

Weekly Status Report, W37/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 37/2009 (September 7 - 13, 2009):


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

Mozilla Developer DevNews

Plugin Updating Project: Follow up

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

Seth Bindernagel

Firefox Mongolian Direct Outreach

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

Burning Edge - Firefox

2009-09-10 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

September 11, 2009 05:54 AM

September 09, 2009

Mozilla Developer DevNews

Firefox 3.5.3 and 3.0.14 security updates now available for download

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

Axel Hecht

String freezes on 1.9.2

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:

September 09, 2009 09:59 PM

September 08, 2009

Robert Kaiser

Weekly Status Report, W36/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 36/2009 (August 31 - September 6, 2009):


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

Mozilla Developer DevNews

Helping users keep plugins updated

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:

Warning about out of date Flash

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:

Normal update page

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

Robert Kaiser

Weekly Status Report, W35/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 35/2009 (August 24 - 30, 2009):


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

Seth Bindernagel

Improving LOL

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

Burning Edge - Firefox

2009-08-27 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

August 28, 2009 06:55 AM

August 26, 2009

Seth Bindernagel

Worldwide Lexicon and the Firefox Universal Translator add-on

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

Robert Kaiser

Weekly Status Report, W34/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 34/2009 (August 17 - 23, 2009):


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

Seth Bindernagel

Compiling Localizable Objects into Native JavaScript

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:

l20n compilation schemeInflating 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 schemeCurrent 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 SilmeIntercompatibility 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

The L20n Format Shootout

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:

  1. Assign each comment to the same identifier, e.g. “comment”.
  2. Assign each comment to a unique identifier, e.g. “comment0″, “comment1″, etc.
  3. 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

Burning Edge - Firefox

2009-08-17 Trunk builds

Fixes:

  • Fixed: 485976 - Move writing sessionstore.js off the main thread. (Shawn's blog post)
  • Fixed: 455555 - Use asynchronous queries for places autocomplete.
  • Fixed: 478839 - Support South Korean SEED crypto cipher suites.
  • Fixed: 489729 - [Windows] Clicking a tab once and then moving your mouse in a downward motion causes a new window to open.
  • Fixed: 128647 - [Windows] Handler for WM_COPY/WM_CUT/WM_PASTE/WM_CLEAR.
  • Fixed: 200505 - Optimization of jsref array_join_sub() function.
  • Fixed: 504864 - mmap io for JARs.
  • Fixed: 468011 - Combine all chrome into browser+toolkit jars.
  • Fixed: 471997 - Add command line argument to start directly into Private Browsing mode.
  • Fixed: 501257 - Implement HTML 5's HTMLElement.classList property.
  • Fixed: 297467 - MathML menclose is not implemented.

Fixes for recent regressions:

  • Fixed: 500349 - DOMParser no longer available in Greasemonkey scripts.

mozilla-central pushlog for 2009-08-07 04:00 to 2009-08-17 04:00

Windows builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

August 17, 2009 11:01 PM

Robert Kaiser

Weekly Status Report, W33/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 33/2009 (August 10 - 16, 2009):


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

Mozilla Developer DevNews

Firefox 3 about to get a major update

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:

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:

An update for your add-on was found

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

Robert Kaiser

Weekly Status Report, W32/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 32/2009 (August 3 - 9, 2009):


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

Mozilla Developer DevNews

Firefox 3.6 Alpha 1 now available for download

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

Burning Edge - Firefox

2009-08-07 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

August 07, 2009 10:58 PM

August 06, 2009

Robert Kaiser

Weekly Status Report, W31/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 31/2009 (July 27 - August 2, 2009):

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

Mozilla Developer DevNews

Firefox 3.5.2 and 3.0.13 security updates now available for download

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

Seth Bindernagel

Northern Sotho

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:

  1. Make sure you have Mozilla Firefox. Visit http://www.mozilla.com and install Firefox if needed.
  2. Start Firefox
  3. Visit the Northern Sotho collection https://addons.mozilla.org/en-US/firefox/collection/northern-sotho
  4. Install both the Northern Sotho language pack and the Locale Switcher
  5. Restart Firefox
  6. Change your user interface language by selecting: Tools -> Languages -> Northern Sotho
  7. 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

Seth Bindernagel

A look at Microsoft’s website for downloading localized versions of IE8

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

Robert Kaiser

Weekly Status Report, W30/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 30/2009 (July 20 - 26, 2009):


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

Seth Bindernagel

Help me test two Kiswahili versions of Firefox

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

Seth Bindernagel

What happened to two localizations on the day of Firefox 3.5’s release

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:

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

Mozilla Developer DevNews

Firefox 3.0.12 security and stability release now available

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

Robert Kaiser

Weekly Status Report, W29/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 29/2009 (July 13 - 19, 2009):


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

Burning Edge - Firefox

2009-07-19 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

July 19, 2009 07:53 PM

July 18, 2009

Robert Kaiser

Windows and Linux Testing For SeaMonkey 2.0 Beta 1

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

Mozilla Developer DevNews

Firefox 3.5.1 update is now available for download

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

Robert Kaiser

SeaMonkey 2.0 Beta 1 Is On Track, L10n Opt-In Wanted!

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

Mozilla Developer DevNews

Reminder! about:mozilla has a new feed

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

Robert Kaiser

Weekly Status Report, W28/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 28/2009 (July 6 - 12, 2009):


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

Seth Bindernagel

A Look at Firefox’s Localization Growth Over Time

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

Mozilla Developer DevNews

New web feed for about:mozilla newsletter!

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

Robert Kaiser

Weekly Status Report, W27/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 27/2009 (June 29 - July 5, 2009):


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

Mozilla Developer DevNews

about:mozilla – accessibility projects, SFX rewards, triage team, testdays, hacks, t-shirts, and more…

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

Pascal Chevrel

July 2003 - July 2009: 6 years of Mozilla Web localization

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

Seth Bindernagel

Response to a Swahili localization enthusiast

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

Mozilla Developer DevNews

about:mozilla – Firefox 3.5 launch edition!

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

Firefox 3.5 is now available for download

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:

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

Axel Hecht

Roundup report from OTT 09

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.

Collecting agenda itemsAgenda-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.

Ed talking professionalThe 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.

Fran on MTThe 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.

translating wikisNext 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:

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.

Dwayne chats about AfricaThe 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

Robert Kaiser

Weekly Status Report, W26/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 26/2009 (June 22 - 28, 2009):


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

Burning Edge - Firefox

2009-06-28 Trunk builds

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 builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Yesterday's Linux nightly

June 28, 2009 10:05 PM

June 25, 2009

Mozilla Developer DevNews

Updated Firefox 3.5 release candidate available for download

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

Robert Kaiser

Weekly Status Report, W25/2009

Here's a summary of SeaMonkey/Mozilla-related work I've done in week 25/2009 (June 15 - 21, 2009):


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

Mozilla Developer DevNews

about:mozilla – Firefox 3.5, add-ons contest, screencasts, hacks, multi-process, collections, art, security, and a whole lot more…

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

Mozilla Developer DevNews

Thunderbird 2.0.0.22 security and stability release now available

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