Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - InEnglish

Fil des billets - Fil des commentaires

lundi 30 juin 2014

My Q2-2014 report

Summary of what I did last quarter (regular l10n-drivers work such as patch reviews, pushes to production, meetings and past projects maintenance excluded) .

Australis release

At the end of April, we shipped Firefox 29 which was our first major redesign of the Firefox user interface since Firefox 4 (released in 2011). The code name for that was Australis and that meant replacing a lot of content on mozilla.org to introduce this new UI and the new features that go with it. That also means that we were able to delete a lot of old content that now had become really obsolete or that was now duplicated on our support site.

Since this was a major UI change, we decided to show an interactive tour of the new UI to both new users and existing users upgrading to the new version. That tour was fully localized in a few weeks time in close to 70 languages, which represents 97.5% of our user base. For the last locales not ready on time, we either decided to show them a partially translated site (some locales had translated almost everything or some of the non-translated strings were not very visible to most users, such as alternative content to images for screen readers) or to let the page fall back to the best language available (like Occitan falling back to French for example).

Mozilla.org was also updated with 6 new product pages replacing a lot of old content as well as updates to several existing pages. The whole site was fully ready for the launch with 60 languages 100% ready and 20 partially ready, all that done in a bit less than 4 weeks, parallel to the webdev integration work.

I am happy to say that thanks to our webdev team, our amazing l10n community and with the help of my colleagues Francesco Lodolo (also Italian localizer) and my intern Théo Chevalier (also French localizer), we were able to not only offer a great upgrading experience for the quasi totality of our user base, we were also able to clean up a lot of old content, fix many bugs and prepare the site from an l10n perspective for the upcoming releases of our products.

Today, for a big locale spanning all of our products and activities, mozilla.org is about 2,000 strings to translate and maintain (+500 since Q1), for a smaller locale, this is about 800 strings (+200 since Q1). This quarter was a significant bump in terms of strings added across all locales but this was closely related to the Australis launch, we shouldn't have such a rise in strings impacting all locales in the next quarters.

Transvision releases

Last quarter we did 2 releases of Transvision with several features targeting out 3 audiences: localizers, localization tools, current and potential Transvision developers.

For our localizers, I worked on a couple of features, one is quick filtering of search results per component for Desktop repositories (you search for 'home' and with one click, you can filter the results for the browser, for mail or for calendar for example). The other one is providing search suggestions when your search yields no results with the best similar matches ("your search for 'lookmark' yielded no result, maybe you were searching for 'Bookmark'?").

For the localization tools community (software or web apps like Pontoon, Mozilla translator, Babelzilla, OmegaT plugins...), I rewrote entirely our old Json API and extended it to provide more services. Our old API was initially created for our own purposes and basically was just giving the possibility to get our search results as a Json feed on our most popular views. Tools started using it a couple of years ago and we also got requests for API changes from those tool makers, therefore it was time to rewrite it entirely to make it scalable. Since we don't want to break anybody's workflow, we now redirect all the old API calls to the new API ones. One of the significant new service to the API is a translation memory query that gives you results and a quality index based on the Levenshtein distance with the searched terms. You can get more information on the new API in our documentation.

I also worked on improving our internal workflow and make it easier for potential developers wanting to hack on Transvision to install and run it locally. That meant that now we do continuous integration with Travis CI (all of our unit tests are ran on each commit and pull request on PHP 5.4 and 5.5 environments), we have made a lot of improvements to our unit tests suite and coverage, we expose to developers peak memory usage and time per request on all views so as to catch performance problems early, and we also now have a "dev" mode that allows getting Transvision installed and running on the PHP development server in a matter of minutes instead of hours for a real production mode. One of the blockers for new developers was the time required to install Transvision locally. Since it is a spidering tool looking for localized strings in Mozilla source repositories, it needed to first clone all the repositories it indexes (mercurial/git/svn) which is about 20GB of data and takes hours even with a fast connection. We are now providing a snapshot of the final extracted data (still 400MB ;)) every 6 hours that is used by the dev install mode.

Check the release notes for 3.3 and 3.4 to see what other features were added by the team (/ex: on demand TMX generation or dynamic Gaia comparison view added by Théo, my intern).

Web dashboard / Langchecker

The main improvement I brought to the web dashboard is probably this quarter the deadline field to all of our .lang files, which allows to better communicate the urgency of projects and for localizers are an extra parameter allowing them to prioritize their work.

Theo's first project for his internship was to build a 'project' view on the web dashboard that we can use to get an overview of the translation of a set of pages/files, this was used for the Australis release (ex: http://l10n.mozilla-community.org/webdashboard/?project=australis_all) but can be used to any other project we want to define , here is an example for the localization of two Android Add-ons I did for the World Cup that we did and tracked with .lang files.

We brought other improvements to our maintenance scripts for example to be able to "bulk activate" a page for all the locales ready, we improved our locamotion import scripts, started adding unit tests etc. Generally speaking, the Web dashboard keeps improving regularly since I rewrote it last quarter and we regularly experiment using it for more projects, especially for projects which don't fit in the usual web/product categories and that also need tracking. I am pretty happy too that now I co-own the dashboard with Francesco who brings his own ideas and code to streamline our processes.

Théo's internship

I mentionned it before, our main French localizer Théo Chevalier, is doing an internship with me and Delphine Lebédel as mentors, this is the internship that ends his 3rd year of engineering (in a 5 years curriculum). He is based in Montain View, started early April and will be with us until late July.

He is basically working on almost all of the projects I, Delphine and Flod work on.

So far, apart from regular work as an l10n-driver, he has worked for me on 3 projects, the Web Dashboard projects view, building TMX files on demand on Transvision and the Firefox Nightly localized page on mozilla.org. This last project I haven't talked about yet and he blogged about it recently, in short, the first page that is shown to users of localized builds of Firefox Nightly can now be localized, and by localized we don't just mean translated, we mean that we have a community block managed by the local community proposing Nightly users to join their local team "on the ground". So far, we have this page in French, Italian, German and Czech, if your locale workflow is to translate mozilla-central first, this is a good tooll for you to reach a potential technical audience to grow your community .

Community

This quarter, I found 7 new localizers (2 French, 1 Marahati, 2 Portuguese/Portugal, 1 Greek, 1 Albanian) to work with me essentially on mozilla.org content. One of them, Nicolas Delebeque, took the lead on the Australis launch and coordinated the French l10n team since Théo, our locale leader for French, was starting his internship at Mozilla.

For Transvision, 4 people in the French community (after all, Transvision was created initially by them ;)) expressed interest or small patches to the project, maybe all the efforts we did in making the application easy to install and hack are starting to pay, we'll probably see in Q3/Q4 :)

I spent some time trying to help rebuild the Portugal community which is now 5 people (instead of 2 before), we recently resurrected the mozilla.pt domain name to actually point to a server, the MozFR one already hosting the French community and WoMoz (having the French community help the Portuguese one is cool BTW). A mailing list for Portugal was created (accessible also as nntp and via google groups) and the #mozilla-portugal IRC channel was created. This is a start, I hope to have time in Q3 to help launch a real Portugal site and help them grow beyond localization because I think that communities focused on only one activity have no room to grow or renew themselves (you also need coding, QA, events, marketing...).

I also started looking at Babelzilla new platform rewrite project to replace the current aging platform (https://github.com/BabelZilla/WTS/) to see if I can help Jürgen, the only Babelzilla dev, with building a community around his project. Maybe some of the experience I gained through Transvision will be transferable to Babelzilla (was a one man effort, now 4 people commit regularly out of 10 committers). We'll see in the next quarters if I can help somehow, I only had time to far to install the app locally.

In terms of events, this was a quiet quarter, apart from our l10n-drivers work week, the only localization event I was in was the localization sprint over a whole weekend in the Paris office. Clarista, the main organizer blogged about it in French, many thanks to her and the whole community that came over, it was very productive, we will definitely do it again and maybe make it a recurring event.

Summary

This quarter was a good balance between shipping, tooling and community building. The beginning of the quarter was really focused on shipping Australis and as usual with big releases, we created scripts and tools that will help us ship better and faster in the future. Tooling and in particular Transvision work which is probably now my main project, took most of my time in the second part of the quarter.

Community building was as usual a constant in my work, the one thing that I find more difficult now in this area is finding time for it in the evening/week end (when most potential volunteers are available for synchronous communication) basically because it conflicts with my family life a bit. I am trying to be more efficient recruiting using asynchronous communication tools (email, forums…) but as long as I can get 5 to 10 additional people per quarter to work with me, it should be fine with scaling our projects.

lundi 7 avril 2014

My Q1-2014 report

Here is what I did in Q1

Tools and code

This quarter we have made 2 releases of Transvision (3.1 and 3.2). For 3.1, most of the credit goes to my colleague (and Italian localizer) Francesco Lodolo who integrated his productization scripts into the app and worked on redesigning the menus and making the app better in responsive mode, my work on 3.1 was limited on performance patches and release management. Transvision 3.2 received a lot more of my code as it integrated one major new feature (planned since I took the project under my umbrella two years ago), which is indexing all translations of our flagship website www.mozilla.org. So now Transvision is no longer a search engine and QA tool for all of our products translations, it also supports websites using the .lang format (next up is indexing websites using gettext). From a developper perspective, this is also the release in which we automate the generation of the documentation of our classes thanks to phpDocumentor. Currently I am working on a better MVC approach and organization of code so as to work on features such as atom feeds, on the fly generation of TMX files and other more flexible export features, it may be in addition or in replacement of the TMX files we generate at extraction time. Caching is also in the pipe, the app is currently very fast and responsive but caching could help us extend more our external API to more time consuming data generation.

A personal achievement is that I finally rewrote my old Web Dashboard (whose code dated back to 2007) and moved that to github. Two new features, direct query of web localization bugs per locale on Bugzilla and display of the translation status for most of the projects hosted on Verbatim, our web localization platform, the latter was a patch by Francesco. The big feature is that the code went from 6000 lines of spaghetti code to 400 clean code, old features that made sense 7 years ago and now useless were removed and the fact that we can now track www.mozilla.org work in Bugzilla per locale allowed cutting a lot of code. Pretty happy that this was totally transparent to the user and that we are already starting to add new features to help us ship software!

On the Langchecker side, the tool we use to track .lang based projects and deploy lang files on repositories, I added per locale json feeds for the status of the locale and it now warns about invalid metadata and can now removes obsolete or invalid tags that we use on mozilla.org to activate a feature for a locale on a page. We also used it to expose strings from our first project based on Pontoon.

Other small tools of mine got updated, my mass bug filing script can now file bugs marked as mozilla confidential, something we needed for Mobile World Congress pages, I whipped up a script using Transvision data to know the distribution of strings across components in Firefox/FirefoxOS which allows specifically to know how many strings we have for devtools (potentially a future Transvision feature) etc.

All in all, I'd say I spent about 30% of my time this quarter hacking on code, which is cool.

Events and community

This quarter I attended one event outside of Paris, Fosdem. As usual it was interesting in terms of networking with European open source hacktivists. I also organized a one day event in the Paris office with April which mostly consisted of workshops on how to contribute to an open source project (I led two workshops on participating to Mozilla localization). I also attended 3 events in the Paris office, one with the French community to welcome half a dozen new volunteers, one with Rosana and Goofy dedicated  to SUMO localization and a last one which was an impromptu meeting between the French community and Brian King from Reps. With a Paris office tailored for meetings, I expect that I will continue to organize / attend to community meetings locally instead of travelling a lot like in the past, that's more compatible with my recent fatherhood :)

This wasn't a big quarter in terms of finding contributors, I can identify only 2 new people that became active and productive in the Mozilla l10n project directly because of me, that was mostly due to the fact that I spent more time on shipping projects and building tools this quarter. I also had some more paperwork than usual to deal with as I have an intern starting in April and I also worked with my colleagues on a tax refund paper for Research and Development in the Paris office.

I spent some specific time helping the Lithuanian community trying to grow in general, we created an IRC channel, opened a mailing list for Lithuania, did some work on etherpads  and contacted other open source projects in Lithuanians, past contributors, would be contributors through the Contribute page... We found some people interested in helping with l10n but more work will be needed to reboot the Lithuanian community (not just in l10n).

I also closed the mozilla.community.europe which had been created after we closed Mozilla Europe and merged its activities with Mozilla, it unfortunately never attracted any activity and was just collecting spam (which I had to delete on a daily basis).

About the Transvision community, the project reached 9 committers in March, is now listed on What Can I Do for Mozilla (which makes it the only active PHP project listed on the site ;)). It is growing slowly but steadily on all fronts (uses, codebase, contributors, features...). We are also working on making it easier to hack (static and automatic documentation, better installation scripts...) but one of the roadblock is the amount of data that needs to be downloaded first to make it useful locally, the sum of our hg/git/svn repos are about 17GB big. Even after extraction of strings from all of our repos, it is probably like 200MB of text, we may evaluate a downloadable snapshot of that in the install process to make it easier for contributors that want to hack on it.

From a tooling community perspective, big thanks to Enrique Estevez, our galician localizer, who is working on upstreaming patches to OmegaT to make it work better with Mozilla formats (.properties and .lang) and who is also writing an Omega T plugin to get translation suggestions from Transvision. Babelzilla also contacted me for similar purposes, that means that at least four Mozilla tools use it or plan to use it directly (Mozilla Translator, OmegaT, Pontoon, Babelzilla). We will put a focus on improving, documenting and versionning our external API this year to make it easier to the tools community to integrate it.

Mozilla.org localization

On Mozilla.org, the big deal this year was like last year the Mobile World Congress event, we updated all of our Firefox OS pages and home page + tabzilla in 17 languages in time before the event and also added some extra content for a dozen of these locales. As usual with big projects, we exposed feature needs and we now can publish promotions in tabzilla per locale, using the same mecanism as for the home page, so as to target only the languages that we were working on for MWC.

MWC was not all though, we also worked on a new Pricacy page for a few locales, we worked on a landing page for Firefox Metro, but unfortunately the product got cancelled, we updated a lot of older content, made patches in our templates to avoid duplicated strings, shipped new locales on the release channel with all o their web content done (Xhosa and Aragonese) and shipped Malay on the Beta and Aurora channels too.

The amount of strings is now around 1500 for a big locale on mozilla.org and about 600 for a small locale. Of course, since we have frequent content changes (promos, minor string updates on tabzilla, download pages, in-product pages...), this is actually more, especially for the bigger locales and Firefox OS locales, but I am happy that we succeed in keeping all of the locales in good shape, especially the small ones, while not slowing down the creation of English content. The site is definitely getting better and more localized month after month, two years after the switch to Django and the total rewrite, this is starting to look really good again.

And now Q2!

Expect Q2 to be more of the same :) One interesting point is that I am taking Theo Chevalier, our main French localizer, for an internship at Mozilla, which means that he will work on all of the cool stuff I have in mind but never get the time to do (like working on growing our l10n Firefox Nightly userbase which is ridiculously low compared to en-US), he will also of course work on the big Q2 project that is the launch of Firefox Australis!

jeudi 19 décembre 2013

My Q4-2013 report

It's the end of the quarter, just list last quarter I wrote down a summary of what I did this quarter for Mozilla for posterity, here it is ;)

Tools and code

Once again, I spent significant time working on tools this quarter. My activity was focused on Transvision, Langchecker and my FirefoxOS minidashboard.

There were 2 releases of Transvision, 2.9 and 3.0, adding many new features and additional support for Gaia repositories. I also created a #transvision IRC channel on Mozilla IRC server. You can now search strings for 3 locales simultaneaously, check all existing translations for an entity, list all potentially wrong varables in your repo or quickly check  all strings that need some extra QA for Firefox OS.

There were also many improvements to langchecker, the tool that I now maintain with my colleague Francesco Lodolo to track and manage progress of translations for projects using our .lang format. Many views were improved and we added features specific to the metadata used on mozilla.org (page activation and home page promos). We also added checks for UTF8 validity of the source files as well as checks for broken or missing python-style replacement variables in translations. We can also know how much of our l10n user base we cover not only per page but also per string on a page, which allows us to decide when we can activate a minor but visible text change on our pages (recently for example, html meta description and title tag changed for SEO reasons on the Firefox download pages).

As for my FirefoxOS mini dashboard (which syndicates data from the l10n dashboard, the langchecker and also contains some manually maintained data sources), it followed Gaia progresses and now tracks Gaia 1.1 and 1.2 in addition to the master branch.

Community building

This quarter I found 8 new localizers for mozilla.org and key Firefox web parts for the following locales: Afrikaans, Arabic, Basque, Bulgarian, Czech, Slovak and Spanish (Mexico). As usual I tried to focus on helping teams that lack manpower and / or maintain Firefox for a minor language.

I also created / revived IRC channels for these locales to help community building:  Catalan (#mozilla-cat), Slovak (#mozilla-sk) and Serbian (#mozilla.sr).

If we can find 5 to 10 localizers working on key content every quarter, we shouldn't have any problem growing with all of our locales together in the years to come, the thing is that we have to be proactive and look for these people and not wait for them to come to us :),

Events

The only event I went to was the Mozilla Summit, it was great and very productive from a localization point of view, I worked with Dwayne who maintains Locamotion, the Pootle instance focused on Mozilla projects for minor locales (Firefox, mozilla.org content, Firefox OS, Firefox health report) and we worked on improving our collaboration. One of the immediate results this quarter is that now we automate imports of strings for mozilla.org from Locamotion, which takes us a few minutes of work per week  and is faster for both Dwayne and ourselves. We are working on how to make it easier for locales on Locamotion to also follow mozilla.org work as this happens at a much quicker pace than product localization.

I also talked and worked with many localizers either on their specific issues (for example Brano and Wlado from the Slovak team asked me for help finding new localizers) or to check what problems a locale has and how to fix them.

Mozilla.org

A lot of work happened on mozilla.org this quarter. The most visible one is that we now have the home page available in 55 languages, versus 28 at the end of the last quarter. This is a steadily growing number, I hope that we can get the page in 70 locales, the most important is of course maintenance over time. The home page received also several updates promoting various topics and we scaled out l10n work to cover that (end of year donation promo, lightbeam, webmaker, addons). The webdev team implemented a way for us (l10n-drivers) to manage the activation of promos on the home page without code changes thanks to metadata in our lang files, that allowed us to never show mixed language content on the home page and activate these promos for locales as they get done.

Key pages in the main menu (products, mission, about, contribute) are all localizable and localized to about the same scale as the main page. Other key download pages (firefox/channels and firefox/installer-help) pages are also now translated anf maintained at large scale. Lightbeam and State of Mozilla sections were proposed as opt-in projects and have many translations (between 15 and 20 languages). I am happy that we were able to scale the localization of mozilla.org in terms of content (more pages, more content for products), number of locales and locale-specific improvements on the mozilla.org platform (better rtl support, better fonts, l10n friendly templates..), and our management tools to allow us to grow.

Another cool l10n feature that happened on the site was the creation of a 'translation bar' proposing you a mozilla.org page in your language if it exists. This was entirely done by a volunteer Mozillian, Kohei Yoshino, many thanks to him for this cool feature that may expand to other Mozilla sites ! Kohei wrote about it on the webdev blog. It is really cool to see improvements brought by volunteers and it is also cool to see that many people in the webdev team are also acquiring an l10n culture and often spot potential problems before myself or flod get to them !


That's all for this quarter, overall an excellent quarter for mozilla.org and tools which improve steadily. On a side note, it is also an excellent quarter for me at a personal level  as my daughter was born last month (which explains why I am less often connected  these days ;) )

mardi 1 octobre 2013

What I did in Q3

A quick recap of what I did in Q3  so as that people know what kind of work we do in the l10n-drivers team and because as a service team to other department, a lot of what we do is not necessarily visible.

Tools and code

I spent significantly more time on tool this quarter than in the past, I am also happy to say that Transvision is now a 6 people team and that we will all be at Brussels for the Summit (see my blog post in April). I like it, I like to create the small tools and scripts that make my life or localizers life better.

  • Two releases of Transvision (release notes) + some preparatory work for future l20n compatibility
  • Created a mini-dashboard for our team so as to help us follow FirefoxOS work
  • Wrote the conversion script to convert our Serbian Cyrillic string repository to Serbian Latin (see this blog post)
  • Turned my langchecker scripts (key part of the Web Dashboard) into a github project and worked with Flod on improving our management scripts for mozilla.org and fhr. A recent improvement is that we can now import automatically translations done on Locamotion You can see a list of the changes in the release notes.
  • Worked on scripts allowing to query bugzilla without using the official API (because the data I want is specific to the mozilla customizations we need for locales), that will probably be part of the Webdashboard soon so as to be able to extract Web localization bugs from multiple components (gist here). Basically I had the idea to use the CSV export feature for advanced search in Bugzilla as a public read-only API :)
  • Several python patches to mozilla.org to fix l10n bugs or improve our tools to ship localized pages (Bug 891835, Bug 905165, Bug 904703).

Mozilla.org localization

Since we merged all of our major websites (mozilla.org, mozilla.com, mozilla-europe.org, mozillamessaging.com) under the single mozilla.org domain name two years ago with a new framework based on Django, we have gained in consistency but localization of several backends under one single domain and a new framework slowed us down for a while. I'd say that we are now mostly back to the old mozilla.com speed of localization, lots of bugs and features were added to Bedrok (nickname of our Django-powered site), we have a very good collaboration with the webdev/webprod teams on the site and we are more people working on it. I think this quarter localizer felt that a lot more work was asked from them on mozilla.org, I'll try to make sure we don't loose locales on the road, this is a website that hosts content for 90 locales, but we are back to speed with tons of new people!

  • Main Firefox download page (and all the download buttons across the site) finally migrated to Bedrock, our Django instance.  Two major updates to that page this quarter (+50 locales), more to come next quarter, this is part of a bigger effort to simplify our download process, stop maintaining so many different specialized download pages and SEO improvements.
  • Mozilla.org home page is now l10n-friendly and we just shipped it in 28 languages. Depending on your locale, visitor see custom content (news items, calls for contribution or translation...)
  • Several key high traffic pages (about products updade) are now localized and maintained at large scale (50+ locales)
  • Newsletter center and newsletter subscription process largely migrated to Bedrock and additional locales supported (but there is still work to do there)
  • The plugincheck web application is also largely migrated to Bedrock (61 locales on bedrock, about 30 more to migrate before we can delete the older backend and maintain only one version)
  • The contribute page scaled up tp 28 locales with local teams of volunteers behind answering people that contact us
  • Firefox OS consumer and industry sub-sites released/updated for +10 locales, with some geoIP in addition to locale detection for tailored content!
  • Many small updates to other existing pages and templates

Community growth

This quarter, I tried to spend some time looking for localizers to work on web content as well as acompanying volunteers that contact us. I know that I am good at finding volunteers that share our values and are achievers, unfortunately I don't have that much time to spend on that. Hopefully I will be able to spend a few days on that every quarter because we need to grow and we need to grow with the best open source contributors! :)

  • About 20 people got involved for the folowing locales: French, Czech, Catalan, Slovenian, Tamil, Bengali, Greek, Spanish (Spain variant), Swedish. Several became key localizers and will be at the Mozilla summit
  • A couple of localizers moved from mozilla.org localization to product localization where their help was more needed, I helped them by finding new people to replace them on web localization and/or empowering existing community members to avoid any burn-out
  • I spent several days in a row specifically helping the Catalan community as it needed help to scale since they now also do all the mobile stuff. I opened a #mozilla-cat IRC channel and found 9 brand new volunteers, some of them professional translators, some of them respected localizers from other open source projects. I'll probably spend some more time to help them next quarter to consolidate this growth. I may keep this strategy every quarter since it seems to be efficient (look for localizers in general and also help one specific team to grow and organize itself to scale up)

Other

  • Significant localization work for Firefox Health Report, both Desktop (shipped) and Mobile versions (soon to be shipped)
  • Lots of meetings for lots of different projects for next quarter :)
  • Two work weeks, one focused on tooling in Berlin, one focused on training my new colleagues Peying and Francesco (but to be honest, Francesco didn't need much of it thanks to his 10 years of involvement in Mozilla as a contributor :) )
  • A lot of work to adjust my processes to work with my new colleague Francesco Lodolo (also an old-timer in the community, he is the Italian Firefox localizer). Kudos to Francesco for helping me with all of the projects! Now I can go on holidays knowing that i have a good backup :)

French community involvement

  • In the new Mozilla paris office I organized a meeting with the LinuxFR admins, because I think it's important to work with the rest of the Open Source ecosystem
  • With Julien Wajsberg (Gaia developer) we organized a one day meeting with the Dotclear community, a popular blogging platform alternative to  Wordpress in France (purely not-for-profit), because we think it's important to work with project that build software that allows people to create content on the Web
  • Preparation of more open source events in the Paris office
  • We migrated our server (hosting Transvision, womoz.org, mozfr.org...) to the latest Debian Stable, which finally brings us a decent modern version of PHP (5.4). We grew our admin community to 2 more people with Ludo and Geb :). Our server flies!

In a nutshell, a very busy quarter! If you want to speak about some of it with me, I will be at the Mozilla Summit in Brussels this week :)

mercredi 31 juillet 2013

Transliterating Serbian Cyrillic to Serbian Latin on Linux with PHP

Mozilla has beeen shipping Firefox in Serbian for many years and we ship it in cyrillic script, that means that our software, our sites, our documentation is all in cyrillic for Serbian.

You may not know it (especially if you are not European), but Serbian can be written in both Cyrillic and Latin scripts, people live with the two writing systems, that is a phenomenon called synchronic digraphia.

I was wondering of it would be easy to create a version of Firefox or Firefox OS in Latin script and since our l10n community server just got an upgrade and now has PHP 5.4, I played a bit with the recent transliterator class in that version that uses the ICU library.

Basically, it works, and it works well. With one caveat though, I found out that the ICU library shipped with Linux distro is old and exposes a bug in Serbian transliteration that was fixed in more recent ICU libraries.

How does it work? Here is a code example:

$source = 'Завирите у будућност';
$t = Transliterator::create('Serbian-Latin/BGN');
print "Serbian (Cyrillic): $source <br>";
print "Serbian (Latin): {$t->transliterate($source)}";

And here is the output:

Cyrillic: Завирите у будућност
Latin: Zavirite u budućnost

The bug I mentioned earlier is that the cyrillic letter j is systematically converted to an uppercase J even if the letter is inside a word and should be lowercase.

Example: This string : Најгледанији сајтови
Should be transliterated to: Najgledaniji sajtovi
But my script transliterated it to: NaJgledaniJi saJtovi

I filed a bug in the PHP ticket system and got an inmediate response that my test script actually works on Windows. After some investigation by the PHP dev, it turns out that there is no bug on the PHP side, the bug is in the ICU library that ships with the OS and it happens to be version 48.x on Linux distros while Windows enjoys a more recent version 50 and the ICU project itself is at version 51.2

Unfortunately, I couldn't find any .deb package or ppa for Ubuntu that would propose a more recent ICU library version, Chris Coulson from Canonical pointed me to this ticket in Launchpad: [request] upgrade to icu 50, but this was an unassigned one.

As a consequence, I had to compile the newer ICU library myself to make it work. Fortunately, I could follow almost all the steps indicated in this post for a CentOS distro, I only had to adjust the php.ni locations (and also update the php.ini file for the development server) and restart Apache :)

So now, I can transliterate easily from cyrillic to Latin a full repository, I put a gist file online with the full script doing the conversion of a repo if you want to use it.

jeudi 18 avril 2013

MozFR Transvision Reloaded: 1 year later

Just one year ago, the French Mozilla community was living times of major changes: several key historical contributors were leaving the project, our various community portals were no longer updates or broken, our tools were no longer maintained. At the same time a few new contributors were also popping in our IRC channel asking for ways to get involved in the French Mozilla community.

As a result, Kaze decided to organize the first ever community meetup for the French-speaking community in the Paris office (and we will repeat this meetup in June in the brand new Paris office!) .

IMG_0151

This resulted in a major and successful community reboot. Leaving contributors passed on the torch to other members of the community, newer contributors were meeting in real life for the first time. This is how Clarista officially became our events organizer, this is how Théo replaced Cédric as the main Firefox localizer and this is how I became the new developer for Transvision! :)

What is Transvision? Transvision is a web application created by Philippe Dessantes which was helping the French team finding localized/localizable strings in Mozilla repositories.

Summarized like that, it doesn't sound that great, but believe me, it is! Mozilla applications have big gigantic repos, there are tens of thousands of strings in our mercurial repositories, some of them we have translated like a decade ago, when you decide to change a verb for a better one for example, it is important to be able to find all occurrences of this verb you have used in the past to see if they need update too. When somebody spots a typo or a clumsy wording, it's good to be able to check if you didn't make the same translation mistakes in other parts of the Mozilla applications several years ago and of course, it's good to be able to check that in just a few seconds. Basically, Phillippe had built the QA/assistive technology for our localization process that best fitted our team needs and we just couldn't let it die.

During the MozFR meetup, Philippe showed to me how the application worked and we created a github repository where we put the currently running version of the code. I tagged that code as version 1.0.

Over the summer, I familiarized myself with the code which was mostly procedural PHP, several Bash scripts to maintain copies of our mercurial repos and a Python script used to extract the strings. Quickly, I decided that I would follow the old Open Source strategy of Release early, release often. Since I was doing that on the sidelines of my job at Mozilla,  I needed the changes to be small but frequent incremental steps as I didn't know how much time I could devote to this project. Basically, having frequent releases means that I always have the codebase in mind which is good since I can implement an idea quickly, without having to dive into the code to remember it.

One year and 15 releases later, we are now at version 2.5, so here are the features and achievements I am most proud of:

  1. Transvision is alive and kicking :)
  2. We are now a team! Jesús Perez has been contributing code since last December, a couple more people have shown interest in contributing and Philippe is interested in helping again too. We have also a dynamic community of localizers giving feedback, reporting bugs are asking for immrovements
  3. The project is now organized and if some day I need to step down and pass the torch to another maintainer, he should not have difficulties setting the project up and maintaining it. We have a github repo, release notes, bugs, tagged releases, a beta server, unit testing, basic stats to understand what is used in the app and a mostly cleaned up codebase using much more modern PHP and tools (Atoum, Composer). It's not perfect, but I think that for amateur developers, it's not bad at all and the most important thing is that the code keeps on improving!
  4. There are now more than 3000 searches per week done by localizers on Transvision. That was more like 30 per week a year ago. There are searches in more than 70 languages, although 30 locales are doing the bulk of searches and French is still the biggest consumer with 40% of requests.
  5. Some people are using Transvision in ways I hadn't anticipated, for example our documentation localizers use it to find the translation of UI mentioned in help articles they translate for support.mozilla.org, people in QA use it to point to localized strings in Bugzilla

A quick recap of what we have done, feature-wise, in the last 12 months:

  • Completely redesigned the application to look and feel good
  • Locale to Locale searches, English is not necessarily the locale you want to use as the source (very useful to check differences from languages of the same family, for example Occitan/French/Catalan/Spanish...).
  • Hints and warnings for strings that look too long or too short compare to English, potentially bad typography, access keys that don't match your translation...
  • Possibility for anybody to file a bug in Bugzilla with a pointer to the badly translated string (yes we will use it for QA test days within the French community!)
  • Firefox OS strings are now there
  • Search results are a lot more complete and accurate
  • We now have a stable Json/JsonP API, I know that Pontoon uses it to provide translation suggestions, I heard that the Moses project uses it too. (if you use the Transvision API, ping me, I'd like to know!)
  • We can point any string to the right revision controled file in the source and target repos
  • We have a companion add-on called MozTran for heavy users of the tool provided by Goofy, from our Babelzilla friends.

The above list is of course just a highlight of the main features, you can get more details on the changelog.

If you use Transvision, I hope you enjoy it and that it is useful oo you. If you don't use Transvision (yet), give it a try, it may help you in your translation process, especially if your localization process is similar to the French one (targets Firefox Nighty builds first, work directly on the mercurial repo, focus on QA).

This was the first year of the rebirth of Transvision, I hope that the year to come will be just as good as this one. I learnt a lot with this project and I am happy to see it grow both in terms of usage and community, I am also happy that one tool that was created by a specific localization team is now used by so many other teams in the world :)

lundi 21 novembre 2011

Thanks for the patch René-Luc

Last week, at Mozilla Camp Europe, René-Luc D'hont a developper and community member showed us a regression on Mozilla Nightly builds that were breaking the mozilla-based application he is working on.

We helped René-Luc file a bug and provide a patch and this has just landed in time for the next release, thanks René-Luc and congrats for your first patch in mozilla-central :)

(photo by Ludovic Hirlimann)

lundi 17 octobre 2011

How I got involved in Mozilla

Following David Boswell's suggestion to share our Mozilla stories, here is mine :)

I think my first community involvement was early 2000 when I started helping people on usenet having technical problems creating web pages for Netscape 4. I was not a very technical person at that time (I had studied business and languages, computing was just a hobby) but I was very excited by the transformation of Netscape into an open source project and was regularly testing the Mx builds (which most of the time just crashed a few seconds after launch ;) )

At that time, there was very few resources on the web about Mozilla and none in French. Since I was always answering the same questions on usenet, I started working on a FAQ in 2001 about Mozilla Suite (and later Netscape 7) which became the first (actually the only for a few years) semi-technical resource about Mozilla in French (a copy is still online here http://www.chevrel.org/fr/faq/).

From 2001 to 2003, I broadened my community involvement by translating my FAQ into Spanish, opening blogs about Mozilla in French and Spanish, translating documentation through the mozFR project and getting involved in the Tech Evangelism program that Bob Clary had started. In 2003, after chatting with Spanish Free Software advocates on IRC, I created the first Mozilla web forums in Spanish on the web, copying largely the format that mozillazine.org had chosen. A couple of months later, with many people from the community we had created the first Spanish-speaking portal about the Mozilla project, called MozillaES (which still exists).

Netscape was being shut down and it was clear to me that we had to strenghten Mozilla from the community side as there was no guarantee that the just created Mozilla Foundation would survive alone with just a dozen employees.

At the end of 2003, Tristan (that I knew from Usenet) contacted me to talk about the possibility of creating a European not for profit organization that would promote Mozilla and would help build a European community around the Mozilla project. This is how a bunch of Mozilla supporters created Mozilla Europe that we later presented to the larger FLOSS European community at Fosdem 2004. I quickly focused on what I was doing best, community building, and started working on bringing volunteers into translating the website into multiple languages (27), organizing/participating in events in Europe with the help of Mozilla Foundation (~20 events per year), building an internship program, guerilla marketing, PR... We also hosted firstrun/whatsnew pages for all of Firefox locales (not just European ones) for a couple of years so as to help Mozilla which was not ready for that. In parallel, I was also pursuing my involvement into other areas of the project, from writing simple extensions for Firefox and Thunderbird, working on promoting Mozilla by all means (creating multilingual Firefox download buttons, reporting bugs in bugzilla, organizing events, talking to the Spanish press...) to writing a book about Firefox and Thunderbird.

Early 2006, Paul kim, marketing director at Mozilla corporation contacted me to work on first fixing then managing the localization of Mozilla web properties, build a community of localizers around it and continue my work as a Mozilla spokeperson for Spain (basically replicate what I had done as a volunteer in Europe but as paid staff and full time, cool isn't it ;) ). Firefox 2.0 was planned for the end of the year in 40+ locales and was the first release fully localized both on the product and web sides.

I still hold this position and I also continue my community involvement, both at a personal level (like writing patches for the Linux version of Firefox, building collaboration  with other Libre software projects, empowering clever people to build cool Mozilla resources such as Mozilla Hispano, BonjourMozilla, MozFR, the European Community Blog...) and at the professional level help release Firefox, Thunderbird and all of our other projects in 80+ languages across the world.

If you want to contact me:

lundi 17 janvier 2011

2010 yearly report

Here is my yearly report for 2010, this is the second time I do it. This year, I think that my work in the first semester was mostly around 3.6.4 and out of process plugins as well a the work related to the Windows ballot screen, while the second part of the year was more focused on Firefox 4 beta localization as well as Firefox Mobile.

One of the big achievements is probably that we were able to propose a beta cycle for Firefox 4 that also had localized web content for almost all betas, with subtitled videos and promotions. The idea was to help growing the community around beta testing for localized versions of Firefox so as to get feedback from users all around the workd. The end of the year was marked by the redesign of mozilla.com which impacted all of our locales.

I also feel that I did more coding this year than last year and that I improved at it, which is cool :)

I tried to categorize what I worked on last year in digestable sections, but of course this is always a bit artificial.

Release work (in-product pages)

  • 2 major releases: Firefox 3.6 (74 locales)  and Firefox Mobile 1.0 (18 locales)
  • 26 other releases (minor versions of Firefox and Thunderbird)
  • End of life pages for 3.0.19, reusable for future obsolete releases as well
  • Major update messaging for 3.0.x users

Community work

  • Went to 18 events (5 of them internal Mozilla events) like Fosdem, MozCamp Balkans, Ubuntu parties, Solutions Linux, OpenWorld Forum, Campus Party Valencia, Paris Web... More local events and a bit less travelling abroad this year compared to 2009, I also helped colleagues organize a few events I didn't go to.
  • With Mounir Lamouri (in charge of HTML5 Forms in Firefox 4) and Vivien Nicolas (Front-end developer for the mobile version of Firefox), we did a one day hackfest in December in the Paris office called "getting involved in beta testing and mozilla code" with local volunteers that we met at other open source events. We intend to continue this in 2011 and build a new generation of  hackers  around the Mozilla project in addition to our historical community, speciffically a community focused on mozilla code and beta testing.
  • Launched with Clarista (from the WoMoz community) bonjourmozilla.fr, a community site presenting every day a mozilla related picture, mostly presenting community members from the French community. This site is Claire's idea and I take  care of the web dev requirements (backend and front end).  The site is steadily growing in popularity with now more than 1000 unique visitors per day.
  • Worked with Laurent Jouanneau and Vivien Nicolas on generating weekly reports stats for several of the community sites I am involved in (planet.mozfr.org, www.mozfr.org, womoz.org, bonjourmozilla.fr)
  • mozilla.se now longer points to old mozilla suite 1.7 pages, now points to mozilla-europe.org/sv/
  • Created a mailing-list on mozilla-europe mailing list system for the Swedish l10n community
  • Kept on blogging in French about community building, QA and getting involved in Mozilla
  • Worked with Delphine on doing an inventory of Women working for Mozilla, resulted in a blog post

Promotional work

  • Worked on opentochoice.org localization with Stas and the marketing team
  • Worked on the ballot screen localization (messages provided by Microsoft and a mini website) with Stas
  • Gave several Radio and press interviews to the Spanish press (Onda Cero Euskadi, COPE Sevilla, Radio Euskadi, Netmedia Europe, IT Expresso, Cadena Ser)
  • regular monthly updates to the promotional snippets on the Firefox home page hosted by Google, improved the workflow with google by setting up a production tag on svn and a testing server on our side.
  • launched Student Reps website in 5 languages
  • lot of work along the year to promote globally Out of Process plugins since Firefox 3.6.4, Firefox Mobile and Firefox 4 beta in the last quarter.
  • Created pages for Firefox Home in 17 locales on the iPhone as well as product descriptions on the android marketplace (we created a special repo for "special projects" like the android market place since they don't fit in our repos,  https://svn.mozilla.org/projects/l10n-misc/trunk/)

Web developement

My work on web localization involves quite a lot of development work, since we have several sites and often build specific sites or new sections on our sites for marketing campaigns, I often have to add new features or find ways to be more flexible to allow faster release cycles:
  • Added a simple country-level geoIP support on mozilla europe in addition to our system based on HTTP accept-lang headers (we use it only for a few specific cases)
  • Improved my locale detection library, documented a demo with the source.
  • added video subtitling system for Firefox 4 beta pages using the <video> tag. This is based on the Timesheets javascript library created by Fabien Cazenave, kudos to him for helping us with it. Also added a double-subtitles view (English + translated) for quick proofreading.
  • Added new feature to the class  generating our download boxes on all mozilla sites, we can now easily mark a specific OS/locale couple as unavailable and it will be displayed as 'Not Yet Available' our our downloads listing page. Download boxes will be generated per platform with a fallback to English, so if Persian is not released for Mac for example, Windows and Linux visitors will still get proposed a localized version on our pages. Should give us more freedom to ship locales on partial OSes offerings.
  • Improved significantly page load speed on mozilla-europe.org with a specific focus on download pages so as to improve conversion rates
  • rewrote a large part of our page building system on both mozilla.com and mozilla-europe.org, documents are now easier to swap and link between the two sites, it is also much easier to use multiple templates and themes. Implemented site-wide theme switching on mozilla-europe.org but still experimental for now.
  • Mozilla.com was entirely redesigned in December with a new theme (project Nova), all localized pages ever created were migrated in that new refreshed design
  • lots of small code improvements on the sites

Other

  • One day conference at the MIAGE conference meeting of Aix, France (annual gathering of all teachers from universities teaching computing for business). Done with Fabien Cazenave who works on a seneca-like project since 2009 at University of Evry.
  • Milos Dinic, our Serbian Web localizer, is doing an internship with me on Web l10n QA and helping localizers getting involved since October
  • We moved to a new bigger office in Paris and it's already full of people, Europe is growing!
  • wrote my first Firefox UI patches (Linux version), one of them was approved \o/
  • Created a new Mozilla theme for my blog :)

samedi 2 janvier 2010

My 2009 yearly report


I am not great at blogging in English and communicating about my work so I thought that publishing my yearly report would compensate that ;)

All in all, it has been a busy year, nobody in the localization drivers team and among our localization teams had time to get bored, lots of product releases, lots of pages, lots of travel and events too. I am listing below what I have been directly leading and/or participating in, not some other projects where I was just giving a minor help (usually to my colleagues Stas and Delphine).

Products:

  • 2 major releases: Firefox 3.5 and Thunderbird 3 (with a new multilingual Mozilla Messaging website)
  • 26 other releases (maintenance, beta and RC releases)

Mozilla Europe website(s):

  • 3 new locales: Serbian, Bulgarian, Swedish, our geographic coverage of Europe is now almost complete
  • New content for 3.5 release, minor releases and many side projects
  • major cleanups of content and code for easier maintenance (especially maintenance releases) and more features (html5 support, per locale menu navigation, visits now with referrer hints for better locale detection...)
  • Site now sharing same metrics application as other mozilla sites
  • More per country news items than previous years (events, new community sites, community meetings...)
  • 46 blog posts written by our European community on blogs.mozilla-europe.org
  • Our events management web application was used for 10 European events (I created it back in summer 2008)

Mozilla.com website

  • We now have a localized landing page for our 74 locales on top of up to date in-product pages
  • Geolocation page for all locales
  • 3.0 and 3.5 major updates offered for all locales
  • Localized beta download pages to incitate beta-testing of non-English versions of Firefox
  • Better code for our localized pages (better right-to-left, language switching, simpler templates...)
  • Whatsnew/Firstun pages now warn the user in his language if his Flash plugin is outdated  (for better security and stability)
  • Lots of content, css, graphics updates all along the year, everywhere
  • Firefox 3.6 in-product pages (firstrun, whatsnew, major update) localization underway, pluginscheck page localization almost technically ready for localization
  • Fennec pages being localized for 1.0 final

Marketing Sites made multilingual

Mozilla Education:

  • Gave a lecture at the Madrid university about opensource, the mozilla project and community management.
  • MMTC Madrid one week sprint in July, gave Mozilla classes with Paul Rouget and Vivien Nicolas to 30 students (evaluation TBD)
  • Organized CoMeTe project at Evry university, France,  in October with Fabien Cazenave and Laurent Jouanneau as teachers

Community work

  • Found new localizers for a dozain locales, helped some creating blogs, community sites and local events
  • Many community meetings, IRC or IRL
  • Participated in Firefox 3.5 party in Madrid
  • I am since May on twitter, communicating about my work and Mozilla in Europe
  • Organized a theming contest in collaboration with the Dotclear project for our community blog, won by Marie Alhomme
  • Created with Julia a Mozilla Planet for French Speakers
  • Lots of Web l10n QA with Delphine plus some personal QA work on 3.6 looking for Linux specific Firefox bugs
  • Went to 21 events (7 of them internal Mozilla events) like Fosdem, MozCamps Chile + Prague, Ubuntu parties, Solutions Linux, W3C event, Firefox 5 year anniversary, Firefox 3.5 party Madrid, JDLL, Geneva Community meetup... Lots of time abroad and travelling.
  • Blogging in French about the Mozilla project and its place in the FLOSS ecosystem, current focus on Mozilla QA and how to get involved in the project.

Other

  • Some documentation work (mostly on QA of localized pages)
  • Many updates to the webdashboard
  • Helped Delphine setting up Womoz website and general advices on community building
  • Several press interviews for Spain as well as conferences given about the Mozilla project
  • Started this week with Stas and Patrick the localization work needed for the Browser Choice Screen in Windows for Europe
  • Lots of technical self teaching while building projects, I even did my first Jetpack extension this week, Yay!
  • A new expresso machine :)

Happy new year 2010 to all mozillians and FOSS lovers in the world :)

jeudi 2 juillet 2009

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

dimanche 17 mai 2009

Firefox 3.5 release, translations, events, web sites, your local Mozilla community needs you!

Firefox 3.5 is soon to be released and everybody is working hard in the Mozilla community to make it as great a release as were the previous ones!

This is the perfect moment for you to get involved by helping you local localization team preparing translations for our websites, the sooner our websites are ready in 70 languages, the sooner Firefox 3.5 will be released.

Pages called directly from Firefox like the start page, download pages on mozilla.com, product pages on regional sites, documentation for web developers explaining what new technologies they will find in the product, end-user support documentation, translation of Add-Ons, marketing mini-sites being created for the release...

There are tons of ways you can make a real difference in the Mozilla project, especially if you are not an English speaker as the majority of our users are now using a non-English version of Firefox.

if you want to help change the web in your language, just contact your localization team and ask them how you can help, you can also contact me directly of course (pascal AT mozilla DOT com).

jeudi 5 février 2009

Meet Mozilla at Fosdem, become a Mozilla contributor!!!

As every year, Mozilla is going to be at Fosdem with a booth and our own conference room where you will be able to meet with the people behind the different branches of the Mozilla tree (Mozilla Corporation, Mozilla Foundation, Mozilla Europe, Community members and other European Mozilla related associations...).

Lots of fun ahead, lots of interesting talks and a great opportunity to chat or have a drink with the people that make Firefox, Thunderbird, Fennec, Sunbird and all the amazing software based on the Mozilla platform.

It is also a great opportunity to get involved in the Mozilla community, and particularly in helping us translating and promoting Firefox in Europe!!

We have lots of things to do for the upcoming releases of Firefox 3.1 and Thunderbird 3.0, especially on the web pages front where we definitely need volunteers for all of the languages we support.

We also need more people getting involved in helping our local community websites grow and do more things like publishing news items, helping in forums, going to local open source events, organizing parties...

If you want to get involved in localization, promote Mozilla in your language or even get into Quality Assurance and make sure Mozilla products get even better with time... Really, don't hesitate and come to our booth or talk to us in the Fosdem corridors.

Have a great Fosdem 2009!!!

lundi 12 janvier 2009

7 Things You May (Or May Not) Know About Me

7 Things You May (Or May Not) Know About Me

It eventually had to happen, I have been tagged by Stas so here is a few dirty little secrets about me :)

The rules:

  1. Link to your original tagger(s) and list these rules in your post.
  2. Share seven facts about yourself in the post.
  3. Tag seven people at the end of your post by leaving their names and the links to their blogs.
  4. Let them know they’ve been tagged.

Seven things:

  1. I was a bee-keeper when I was a kid, with two hives in the garden. My record production was 20 kilos of honey (not great but I was just a kid ;) ).
  2. Before working professionnally for Mozilla I was running an office furniture business that I created in 2001 and was working with my little sister. She is now running the family business but I still give a hand for paperwork and everything computers.
  3. 2001 is also the year when I started my involvement in the Mozilla project, helping people in forums, being a nightly build tester and later doing community Tech Evangelism. That's how I met Tristan on Usenet, he was working for Netscape Europe Tech Evang team.
  4. I spent a semester in Wolverhampton as an ERASMUS student in 1995. It was one of the greatest periods of my life and I met amazing people. Some of these people have become close friends and I actually am going to have dinner with one of them tonight :)
  5. I spent a year working as a hall monitor in a ghetto school, this was an alternative to military service (yes, I am old enough to have known the last years of conscription in France :) ) and this was an interesting experience, especially since I have always been interested in education.
  6. I worked several years as a part-time translator during my studies for a company called Linguatech localizing software for companies like Microsoft or IBM. Few people know it, but I was part of the team that translated the help files for IE 4!
  7. To validate my master's degree in international business, I spent 7 months in Alcatel's competitive intelligence department working on quantitative analysis and building a small intranet. Professionnally I learned a lot from this experience, in large parts thanks to my mentor Alain Pradelle.

Ok, now my victims :) :

  • Juantomás García, famous Spanish open source hacker. Because he is a great guy and he helps Mozilla a lot with his contacts in the Spanish market. He is also an incredible source of funny stories!
  • Fabien Cazenave, AKA Kazé, the guy behind KompoZer. Because he has a blog that should be syndicated on planet but isn't :)
  • Nukeador, our relentless Spanish web localizer :)
  • Henrik Skupin our German Web localizer and now part of Mozilla QA team
  • Axel Hecht fellow Mozilla Europe board member, fellow l10n-driver and rum baba lover !
  • Delphine Lebédel who just joined the European Mozilla team to help on community events and other community related tasks, I know you have already been tagged by Stas so you can't escape!
  • and finally Kalman Kemenczy our Hungarian localizer who does not blog in English but maybe this could make him change his mind ;)

mercredi 31 décembre 2008

27 languages have their own download page on mozilla.com

This post is a follow up to a previous post last month anouncing our first work on localized home pages hosted on mozilla.com.

We now have 26 languages (28 if we count en-US and pt-BR which we already had) with a localized download page for Firefox on our main portal. Several of these locales are 'beta locales', that is localized versions of Firefox which may still countain a few language bugs such as typos or inconsistencies in language. Of course, if you are a native speaker of one of these new locales, your feedback on the translation is very welcome!

I had targeted 37 locales under-represented on mozilla web properties as the first batch of prioritary locales for this project, out of the 11 remaining, 5 are still a short-term target (Bulgarian, Estonian, Esperanto, Welsh and Mongolian) since we have Firefox 3 versions available for them. The remaining 6 are more middle term targets as they are more likely targetting a first release when Firefox 3.1 is out.

Here is the list of languages done:

Great job from all of our localizers and a good start for better download pages in 2009!

NEW YEARS EVE UPDATE: Esperanto is done and published!

jeudi 20 novembre 2008

MAOW Madrid in December

Last week I met with Gregorio Robles, teacher from the university Rey Juan Carlos in Madrid and we have decided to see how his department (which is focused on FLOSS researches) and Mozilla could collaborate, even informally.

Gregorio has students studying the Free Software ecosystem, we have cool and fun products, mixing them sounded like a great idea. So we are organizing a MAOW (Mozilla Add-ons Workshop) in Madrid mid December: Details of MAOW

This will be the second MAOW this year after the one we organized in Paris last September (and we do plan to organize more MAOWs in Europe in 2009 now that Paul has joined the team!).

I am very happy to be able to organize this event with Gregorio and his team. BTW, he and his university come every year at FOSDEM and hang in the Research room, i am sure they will find some time to pop in the Mozilla room and talk a few minutes about how their students reacted to the MAOW.

mardi 18 novembre 2008

Mozilla.com is getting translated download pages

As you may have learned recently on Seth's blog, we have been working lately on creating translated landing pages on mozilla.com for all of the locales that are not already supported on an official regional portal (that is those not on Mozilla Europe/China/Japan).

Now that I have a bit of time I can blog a bit about how this project is going.

We have created this week landing pages on mozilla.com for 7 of our locales (Afrikaans, Frisian, Irish, Indonesian, Georgian, Slovene, Swedish) which is a good start given that we (Laura and me) plan to have all of the 37 locales we are targeting done by the end of the year. By the way, the list of targeted locales is on the Web Dashboard, if your language is on the list of languages we are targeting, don't hesitate to come and help with the translation!

So what does it change for let's say a Slovene user compared to the previous situation? Until one week ago, a user with Internet Explorer in Slovene going to getfirefox.com or mozilla.com was redirected to mozilla.com/en-US/ and was offered a link to download Firefox in Slovene but the page was all written in English. This is good enough for people speaking English as a second language, but our target audience is no longer the computer and English savvy advanced users. We were certainly losing potential users for one of these reasons:

  • The user gets to an English page and concludes that Firefox is not localized into his language.
  • The user just doesn't understand what the page is about and leaves.
  • We misdetect the visitor's locale and he downloads Firefox in the wrong language.

It is very clear to me that translating a whole portal like mozilla.com and keeping it up to date is not scalable. Maintaining a reduced version of a portal like we do on Mozilla Europe for 22 languages is already a very big task and could be seen as an ideal solution, but many of the locales we are speaking about have little human resources to keep and, more importantly, maintain an entire web site.

Another drawback of a multilingual portal is that any technical change in the reference language (English) may have an impact on localized pages. This is particularily true for stylesheet changes, I have already seen minor visual fixes on an English page impacting negatively the same page for other languages. So as to avoid that, updates on the English version have to be very carefully done and planned and lots of QA of localized pages has to be done when some files are updated in English. Definitely, this is not scalable or would be possible for a handful of languages only.

The solution chosen is one single landing page to propose the download of Firefox, give a few informations (among which a link to the locale's community portal) and also a link to Thunderbird pages in English. We have a separate stylesheet for that and we only share a cut-down version of the mozilla.com template. Our Hebrew localizer is also working on a Right-To-Left stylesheet, thanks Tomer for that!

Additionally, offering the right locale in a page written into the right language is not the only good news about it. This is also going to help promoting localized versions of Firefox more easily with a short url such as www.mozilla.com/af for Afrikaans. Great for printed material, banners or simply to give the url of the site verbally to a friend. This will also allow us to do real Search Engine Optimization in the user's language (as we did in the past on mozilla-europe.org) and one of the next things to do will be to evaluate the wording of this page for better result, I'll open bugs about it and we will work with our communities on optimizing the language for better search results. By the way, these pages are in Google results since this morning, which is a good start :)

One other good news is that we promote on this page community portals, which means that this will give more visibility to these portals and hopefully new contributors will join the Mozilla project.

Here is the list of current languages done (in the visitor's language so as to give it a small SEO boost ;) ):

UPDATE:

One more locale done today, Galician:

vendredi 18 juillet 2008

Our Fire-interns Fire-blogging about our Fire-picknick

We had good time at the park yesterday with our interns and Parisian community members, check out the blog post by Mozilla Europe interns about our picknick at the Buttes-Chaumont park! :

Fire-French team heads out for Fire-picnic