Planet Mozilla L10N

November 22, 2009

Burning Edge - Firefox

2009-11-21 Trunk builds

Fixes:

  • Fixed: 407875 - Unprivileged users are not notified of security updates.
  • Fixed: 260264 - Popups from a site that is in the "Allowed List" (whitelist) are blocked, starting with the n-th popup (dom.popup_maximum).
  • Fixed: 521905 - Make extensions.checkCompatibility be per-application-version. (Mossop's blog post)
  • Fixed: 396392 - Support for getClientRects and getBoundingClientRect in DOM Range.
  • Fixed: 503481 - Implement async attribute of script element.
  • Fixed: 517804 - Try to avoid reflows and new invalidations during painting. (On Mac, this makes warm startup 13% faster.)
  • Fixed: 452319 - border-collapse rewrite.
  • Fixed: 519357 - Only load known components from app directory. (DevNews post)
  • Fixed: 524904 - [Windows] Add support for generic DLL blocklist.
  • Fixed: 525103 - [Windows] Block npffaddon.dll (malware) and old versions of avgrsstx.dll (AVG SafeSearch).
  • Fixed: 497665 - Images are downloaded multiple times if defined multiple times, on Shift-Reload / Ctrl+F5.
  • Fixed: 517224 - Firefox downloads CSS background images that it doesn't need (from overridden CSS rules).
  • Fixed: 77882 - getComputedStyle returns incorrect font-weight value if |font-weight:bolder| or |font-weight:lighter|.
  • Fixed: 512645 - Only clamp nested timeouts.
  • Fixed: 510082 - Silverlight 3 plugin elements don't repaint correctly.
  • Fixed: 520178 - [Windows] Minimized windows appear offscreen when restoring from session store.
  • Fixed: 499816 - [Windows] Minimizing Firefox does not release window focus.
  • Fixed: 440486 - [Windows] The FAX dialog disappear and Fax cannot be done from Firefox, but works otherwise.

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

Windows builds: Windows nightly (discussion)

Mac builds: Mac nightly

Linux builds: Linux nightly

November 22, 2009 12:43 AM

November 20, 2009

Seth Bindernagel

New Reports Furnish Metrics to Our Localization Community

From the hard work by Mozilla’s Metrics team comes localizer metric reports that will show growth and usage data for each of our Firefox locales.  The l10n-drivers team has been asking in meetings if we could show the impact that our volunteers are having with reports like the one sampled below.  If you click the following link you will download a sample report.

Initially, I sketched out what I thought would be valuable information for the report, ran it by the l10n-drivers, and sent it to the metrics team to start implementation.  In my opinion, an effective report provides both download and active daily user information to our localizers about their locales AND the geos in which their locales are being used.  Let’s review the contents for those who might need a guide.  Feel free to reference the attached screen shots as you read.

Locale-specific information

We are presenting both the download and active daily user (ADU) information (usages statistics and pie charts) for versions of Firefox.  ADUs are based on the blocklist pings we track.  (More on blocklist can be found at Mogamic’s post.)

Geographic-specific information

Each report will show both the download and blocklist for the top five locales inside a country where the localizer’s translated Firefox is most prominently used.  In many cases, this is easy to map.  Locale code “fr” is probably most prominently used in France.  “de” in Germany.  “es-ES” in Spain.  In some cases, we’ll have to make guesses, like for our Kurdish localizers.   Finally, we will provide a list of the top ten countries (by average blocklist pings) where the localizer’s Firefox is being used.

For the first time, our community of l10n volunteers will have a more comprehensive set of data points to help measure the progress and spread of their work.  By providing both locale and geographic information, these reports illustrate the impact that each localization teams is providing.

Below are two images of a sample two page report.

Sample Localizer Report (page1)

and

Sample Localizer Report (Page 2)

ShareThis

November 20, 2009 01:47 AM

November 18, 2009

Mozilla Developer DevNews

Firefox Beta 3.6 (revision 3) now available for download

Last night the Mozilla community released Firefox 3.6 Beta 3, making it available for free download and issuing an update for all Firefox 3.6 beta users. This update contains over 80 fixes from the last Firefox 3.6 beta, containing many improvements for web developers, Add-on developers, and users. More than half of the thousands of Firefox Add-ons have now been upgraded by their authors to be compatible with Firefox 3.6 Beta. If your favorite Add-on isn’t yet compatible, you can also download and install the Add-on Compatibility Reporter – your favorite Add-on author will appreciate it!

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.

The Beta of Firefox 3.6 / Gecko 1.9.2 introduces several new features for users to evaluate:

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:

As always, the Mozilla community would appreciate hearing about any feedback you have about this release, or any bugs you may find.

November 18, 2009 12:59 PM

November 16, 2009

Mozilla Developer DevNews

Component Directory Lockdown – New in Firefox 3.6

We hate crashes. When Firefox crashes, we try to get you back on your feet as quickly as possible, but we’d much rather you not crash in the first place. In Firefox 3.6, we are changing the way that some third party software hooks into Firefox which should eliminate a good chunk of those crashes without sacrificing our extensibility in any way. In the process, we’ll also be giving you greater control over the code that runs in your browser.

Background

Firefox is built around the idea of extensibility – it’s part of our soul. Users can install extensions that modify the way their browser looks, the way it works, or the things it’s capable of doing. Our add-ons community is an amazing part of the Mozilla ecosystem, one we work hard to grow and improve.

In addition to the standard mechanism for extending the browser via add-ons and plugins, though, there has historically been another way to do it. Third-party applications installed on your machine would sometimes try extend Firefox by just adding their own code directly to the “components” directory, where much of Firefox’s own code is stored.

There are no special abilities that come from doing things this way, but there are some significant disadvantages.  For one thing, components installed in this way aren’t user-visible, meaning that users can’t manage them through the add-ons manager, or disable them if they’re encountering difficulties. What’s worse, components dropped blindly into Firefox in this way don’t carry version information with them, which means that when users upgrade Firefox and these components become incompatible, there’s no way to tell Firefox to disable them. This can lead to all kinds of unfortunate behaviour: lost functionality, performance woes, and outright crashing – often immediately on startup.

In Firefox 3.6 (including upcoming beta refreshes), we’re closing this door. Third party applications can still extend Firefox via add-ons and plugins the way they always could, but the components directory will be for Firefox only.

What Does This Mean For Me?

If you’re a Firefox user, this should be 100% positive. You don’t have to change anything, your regular add-ons should continue to work properly – you just might notice fewer crashes or odd bugs. If you do notice that something has stopped working, particularly a third party addition to Firefox, you might want to contact the producer of that addition to ensure they know about the change.

If you’re a Firefox component developer, this shouldn’t be a big change, either. If you’re already packaging your additions as an XPI, installed as an add-on it’s business as usual. If you have been dropping components directly, though, you’ll need to change to an XPI-based approach. Our migration document on the Mozilla Developer Connection outlines the changes you’ll need to make, and should be pretty straightforward. The good news is that once you’ve done this, your add-on will actually be visible to users and will support proper version information so that our shared users are guaranteed a more positive experience.

If you haven’t downloaded the new Firefox beta yet, and want to give it a spin, you can find a copy here.

Johnathan Nightingale
Human Shield

November 16, 2009 10:25 PM

November 13, 2009

Mozilla Developer DevNews

Tree closures: mozilla-1.9.2 and mobile-browser: not happening

It turns out that the planned power outage has been rescheduled, so the trees will remain open this weekend. Please go about your normal landing-code-on-weekend activities.

November 13, 2009 10:05 PM

Tree closures: mozilla-1.9.2 and mobile-browser: Fri Nov 13 @6pm PST ~ Sat Nov 14 @8pm PST

The mozilla-1.9.2 and mobile-browser trees will be CLOSED to all checkins from Friday, November 13th at 6pm PST through Saturday, November 14th at approximately 8pm PST. We will use the standard mechanism for closing the tree, and hg should refuse all checkins during that time. This will not affect mozilla-central, comm-central, mozilla-1.9.1 or any of the CVS trees.

This closure is due to repair work being done at the Mozilla Corporation office in Mountain View which will require that the power be turned off for most of Saturday. Since the entire test and build infrastructure for the Maemo platform is currently housed in that facility, on Tuesday at the Development Meeting we decided to take the tree down instead of working without proper Firefox Maemo build and test runs. Our IT and build engineering teams will be working on the weekend to ensure that the tree is re-opened as soon as possible. For those wishing to track progress, there is, of course, a bug.

Questions should go to this thread in mozilla.dev.planning or #planning on irc.mozilla.org.

(note: as always, bustage and security fixes can be pushed using a checkin comment with the magic words, but please make sure you fully understand the consequences of those actions before doing so!)

November 13, 2009 03:49 PM

November 12, 2009

Axel Hecht

Crowdsourcing … exactly what?

I’ve just run across an interesting suggestion for translating “Smiley” into English. Screenshot of it would be

Crowd sourcing exactly what?

whereas the original (triple-licensed) translation suggestion is on l10n.mozilla.org/narro.

Another interesting aspect of crowd sourcing, box-of-chocolates style. You never know what you get.

November 12, 2009 04:45 PM

November 11, 2009

Mozilla Developer DevNews

Firefox 3.6 Beta (revision 2) update published

Last night the Mozilla community published Firefox 3.6 Beta 2, and issued an update for all Firefox 3.6 beta users. This update contains over 190 fixes from the last Firefox 3.6 beta, 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.

The Beta of Firefox 3.6 / Gecko 1.9.2 introduces several new features for users to evaluate:

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.

November 11, 2009 01:00 PM

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