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

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

lundi 9 septembre 2013

Événements chez Mozilla Paris en Septembre !

Depuis la récente ouverture des nouveaux locaux de Mozilla à Paris, nous organisons régulièrement des réunions et des événements avec la communauté Mozilla bien sûr, mais aussi avec les communautés du libre et du web francophones.

Nous organisons aussi de nombreuses autres rencontres et séminaires de travail dans d'autres domaines (par exemple cette semaine le W3C et le CSS WG travailleront dans nos locaux) et ce mois-ci, nous avons plusieurs événements intéressants auxquels vous pouvez assister / participer :

  • Mercredi 11 septembre c'est Javascript les doigts dehors, de 19h à 23h. Si vous voulez apprendre, ou enseigner le javascript, en mangeant des gateaux fait main, c'est par ici. Inscription obligatoire (dans la limite des places disponibles).
  • Jeudi 12 septembre à 19h, rencontre avec les trois startups françaises sélectionnées par Mozilla dans le cadre de notre programme WebFWD d'accélérateur de startups du Web : CozyCloud, PLOM.IO et Webshell.io (par ordre alphabétique). Pour mieux les connaitre, les féliciter… et boire un coup à leur santé, linscription est sur ce framadate.
  • Week end des 14 et 15 septembre : en collaboration avec la mairie du 9ème arrondissement, les locaux de Mozilla seront ouverts au public pour les journées du patrimoine ! Comme vous le savez peut être, Mozilla occupe des locaux classés monuments historiques et qui bénéficient d'une décoration exceptionnelle. Si vous voulez rencontrer Mozilla et des Mozilliens tout en faisant une sortie culturelle, c'est une excellente occasion !
  • Le samedi 21 septembre, nous organisons une rencontre avec la communauté Dotclear, si vous voulez participer au code de Dotclear, au développement des futures version, au design, apprendre à faire un thème ou une extension et de manière générale participer au projet Dotclear, vous êtes les bienvenus (mais inscrivez-vous svp ;) )!
  • week end des 28 et 29 septembre : Mozilla Game Jam Paris, hackathon de création de jeux vidéos en HTML5, a priori c'est déjà plein mais il y a une liste d'attente

Ce n'est évidemment qu'un début, si vous faites du libre et du web et que vous voulez orgnaniser un petit événement ou une réunion de travail, n'hésitez pas à nous (me) contacter ! :)

Plan vers Mozilla Paris

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

mardi 4 décembre 2012

Compiler Firefox OS en version desktop sur une Ubuntu

J'ai installé hier Firefox OS en version Desktop sur mon Ubuntu (12.04) afin de jouer avec.

Voici les étapes qui marchent chez moi :

Tout d'abord, il vous faut installer les paquets nécessaire à la compilation et bien sûr les outils de gestionnaire de version nécessaires :

sudo apt-get install mercurial g++ make autoconf2.13 yasm libgtk2.0-dev libglib2.0-dev libdbus-1-dev libdbus-glib-1-dev libasound2-dev libcurl4-openssl-dev libiw-dev libxt-dev mesa-common-dev ccache git

Ensuite, on va créer un dossier FirefoxOS dans son /home :
mkdir ~/FirefoxOS/

Puis on va ce dossier :
cd ~/FirefoxOS/

Ensuite on récupère le code source de Firefox OS Bêta :
hg clone http://hg.mozilla.org/releases/mozilla-beta

(ça créera un dossier ~/FirefoxOS/mozilla-beta)

Puis on récupère le code source de Gaia, l'interface graphique en HTML5 de FirefoxOS :
git clone https://github.com/mozilla-b2g/gaia/

(ça créera un dossier ~/FirefoxOS/gaia)

Les deux étapes ci-dessus prennent du temps, surtout si vous avez une petite connexion.

Une fois ceci fait, il vous faut créer un fichier .mozconfig (notez bien le point avant mozconfig) que l'on mettra ici:
~/FirefoxOS/mozilla-beta/.mozconfig

Voici le contenu de mon .mozconfig :

CONCURRENCY=$(( `grep processor /proc/cpuinfo | wc -l` + 2 ))
mk_add_options MOZ_MAKE_FLAGS="-j$CONCURRENCY"
mk_add_options MOZ_OBJDIR=../build
# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache
ac_add_options --enable-application=b2g
ac_add_options --disable-libjpeg-turbo
# This option is required if you want to be able to run Gaia's tests
# ac_add_options --enable-tests
# turn on mozTelephony/mozSms interfaces
# Only turn this line on if you actually have a dev phone
# you want to forward to. If you get crashes at startup,
# make sure this line is commented.
# ac_add_options --enable-b2g-ril

Une fois ceci fait, on va compiler Firefox OS, attention, ça prend du temps ! Plus de deux heures sur mon petit portable.
cd ~/FirefoxOS/mozilla-beta
make -f client.mk


La compilation créera un dossier ~/FirefoxOS/build/ et votre binaire se trouve là :
~/FirefoxOS/build/dist/bin/b2g

Une fois ceci fait, on va créer un profil Gaia :
cd ~/FirefoxOS/gaia
make

Une fois le profil créé, vous pouvez lancer Firefox OS avec cette commande :
~/FirefoxOS/build/dist/bin/b2g -profile ~/FirefoxOS/gaia/profile


et voilà le résultat :
Firefox OS sur Ubuntu

Si vous voulez plus d'informations, il y en a plein ici en anglais :
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS

N'oubliez pas non plus que Geckozone (la section forums de MozFr) a ouvert récemment un forum pour FirefoxOS :
Forum Firefox OS en français

Et vous pouvez discuter avec des développeurs et bénévoles Mozilla francophones dans le salon IRC #devfr sur irc.mozilla.org

MODIFICATION : 10h40, j'ai modifié l'url du dépôt mozilla-beta, je l'avais tapée de mémoire et évidemment ma mémoire était défaillante, désolé :)
MODIFICATION: 12h11,décidemment c'est la série, la création de profil gaia se fait évidemment après un cd dans le dossier gaia et pas dans le dossier mozilla-beta, corrigé aussi :)
MODIFICATION: 05/12/2012,ajout de ccache et git dans les dépendences nécessaires

vendredi 30 novembre 2012

Quelques nouvelles Mozilla

Tiens, ce matin j'ai envie d'utiliser mon blog :)

Alors voilà quelques nouvelles intéressantes cette semaine liées à Mozilla :

  • Mozilla ces deux dernières années s'est beaucoup impliqué techniquement dans les groupes de travail de l'IETF qui crée les normes Internet (protocoles par exemple) et dépend pour son fonctionnement de la fondation Internet Society. Mozilla est désormais membre sponsor de l'internet Society afin d'aider aussi l'IETF pour ses dépenses de fonctionnement. Billet de Josh Ash à ce sujet : Mozilla Joining ISOC in Support of IETF Activities
  • On est en train de finaliser un mode de navigation privée par fenêtre, ce qui permet d'avoir une fenêtre Firefox normale et une fenêtre Firefox en navigation privée en même temps (alors qu'en ce moment soit toutes la navigation est en mode incognito, soit tout est en mode normal). Ehsan Akhgari, le développeur qui est derrière le mode de navigation privée (qu'il avait ajouté à Firefox en tant que simple bénévole à l'époque et qui a bossé sur plein de projets importants pour Firefox depuis qu'il est employé, par exemple le nettoyage du composant Editor, le système de mise à jour silencieux depuis Firefox 4, plein de trucs sur le layout...) fournit des binaires en anglais depuis aujourd'hui basés sur Firefox Nightly avec ce nouveau mode de navigation privée par fenêtre et demande à tout le monde de tester et de lui envoyer plein de feedback parce que cette réécriture implique des changements de code importants touchant plein de domaines et pourrait causer des régressions. Plein de détails sur son billet Per-window private browsing ready for testing now!
  • Xavier Mouton-Dubosc a écrit aujourd'hui un très bon article en français sur FirefoxOS, le Firefox Marketplace et de manière générale ce que représente Mozilla et Firefox pour l'avenir du Web Mobile, à lire : 2012, fin d'un monde du web ?
  • Les forums de Geckozone ont maintenant rejoint le projet collaboratif Mozilla francophone MozFr, les habitués ont donc pu découvrir la nouvelle addresse des forums qui sont maintenant sur notre serveur commun (forums.mozfr.org). La migration est passée, Google réindexe les forums vitesse grand V (déjà plus de 220.000 pages indexées en deux semaines), il y a encore beaucoup à faire mais il y a aussi des nouveautés, en particulier, un tout nouveau forum pour Firefox OS et un autre pour les Open Web Apps 

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:

samedi 9 janvier 2010

Retour sur mes bugs en cours + mes 2 nouveaux bugs de début janvier

Juste avant la nouvelle année,  je bloguais sur les bugs que j'avais rapportés en décembre concernant Firefox et j'apportais quelques réflexion sur la participation des utilisateurs Linux aux projets libres qu'ils utilisent et sur le bêta-test en général (Bêta-test Firefox: mes bugs de décembre).

Quel est donc le statut de ces bugs aujourd'hui ?

  • [résolu] Bug 532721 - CSS Gradient backgrounds are not repainted when DOM is changed
  • [résolu] Bug 531289 - Firefox doesn't obey system dpi settings anymore
  • [résolu] Bug 536631 - Firefox no longer detects rss feed
  • [résolu] Bug 536843 - Flash plugin has display problems on Firefox Linux Trunk and 3.6 builds, regression
  • [en attente] Bug 534767 - New Drag and Drop JS API does not work with Jetpack installed

Les quatre bugs Linux ont été résolus et n'affecteront donc ni Firefox 3.6 ni le futur 3.7. Le dernier bug n'affecte pas le navigateur directement mais est très probablement un bug Jetpack (qui en est en version 0.7), ça ne bloque donc pas une sortie logicielle.

Je suis heureux d'avoir pu contribuer à la qualité de la version Linux de Firefox juste par ce simple bêta-test de décembre, la rapidité de réponse des développeurs a été très impressionnante, un grand merci à eux !

La bonne nouvelle c'est que je n'ai pas trouvé d'autres régressions, j'ai tout de même rapporté deux autres petits bugs mineurs, l'un est un bug d'interface Gnome et l'autre un léger bug de rendu:

  • Bug 538319 -  white line around search and url fields that disappears if you hover the field with the mouse
  • Bug 538383 -  -moz-box-shadow does not follow rounded borders correctly defined by -moz-border-radius

Autre bonne nouvelle, des gens ont commenté sur mon billet précédent pour rapporter leurs propres problèmes et j'ai pu inciter l'un deux à ouvrir son premier bug ! (  Bug 536996 -  nsISound is broken (Linux)  ) Ce bug est activement travaillé et a déjà 37 commentaires. Un grand merci également donc à Moktoipas pour avoir pris la peine de rapporter son bug et d'y adjoindre un testcase.

Quelle conclusion tirer de tout cela ? :

  • Si on veut que la qualité de Firefox sous Linux soit bonne, il faut rapporter les bugs dès qu'on les voit ! Je suis  surpris que plusieurs personnes m'aient dit après coup qu'ils avaient aussi constaté le bug avec Flash ainsi que celui des gradients mais qu'ils n'avaient pas vu l'intérêt de signaler la régression. "C'est tellement gros que ça sera rapporté" pour citer un ami dont je tairai le nom :) Le problème c'est que si tout le monde pense que le voisin rapportera le bug pour lui, en fin de compte personne ne rapporte rien. C'est particulièrement important sous Linux, nous sommes déjà à la base peu nombreux mais en plus nous ne sommes qu'une poignée à utiliser des versions en développement, il faut absolument que l'on soit réactifs sur les régressions !
  • Nous nous trouvons dans une situation paradoxale.  Le nombre de bêta-testeurs sous Windows devient absolument gigantesque (en époque de Release Candidate on approche du million de bêta-testeurs sous Windows) et en plus ces gens sont enthousiastes et ravis que nous les invitions à participer à du logiciel libre (ce qui est une excellente nouvelle pour le libre à mon avis). Parallèlement à cela, nous avons beaucoup de mal à avoir des bêta testeurs sous Linux en grande partie parce que nos canaux de communication habituels sont remplacés par ceux de la distro lors de l'empaquetage. On a incité nos utilisateurs à bêta tester sur la page de démarrage, les notes de version, nos pages de mise à jour ont des sondages trimestriels... Hors les distros lors de la personnalisation de Firefox remplacent les liens vers ces pages par des pages de promo de la distro. Il nous faut donc réfléchir à de nouveaux canaux de communication vers le monde Linux puisque ceux que nous avions intégrés dans Firefox sont supprimés pour les versions empaquetées. La création du planète Mozilla francophone et mes billets maintenant syndiqués sur planet-libre.org sont ma petite contribution à cet effort. J'ai d'autres idées à ce sujet mais je vais les laisser mûrir avant d'en parler :)

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

dimanche 27 décembre 2009

Bêta-test Firefox: mes bugs de décembre

Voici les bogues (non liés à mon travail comme employé) que j'ai rapportés ce mois de décembre concernant les versions 3.6 bêta et 3.7 trunk de Firefox.

Bug 532721 - CSS Gradient backgrounds are not repainted when DOM is changed

J'ai trouvé celui là en testant l'un des tutoriels d'Alix de hacks.mozilla.org sur les CSS gradients, la page sur laquelle je travaillais était labs.kompozer.net qui me servait de terrain de test. Ce bogue a été accepté comme bloqueur et les développeurs se sont dépêchés pour qu'un patch soit intégré dans 3.6 :)

Bug 531289 - Firefox doesn't obey system dpi settings anymore

J'ai trouvé ce bogue en testant les compils nocturnes du tronc, c'est une régression sous Gnome/Linux paradoxalement due à une tentative d'amélioration pour Firefox Mobile (Maemo, donc Linux). C'est le bogue typique qui n'est visible que si un grand nombre de testeurs avec des configurations différentes utilisent les compils nocturnes, dans ce cas précis, il fallait avoir réglé les polices de son bureau gnome en dessous de 96dpi pour le voir. Le patch coupable a été corrigé.

Bug 536631 - Firefox no longer detects rss feed

Personne ne s'était apperçu que depuis 3 mois, l'icône des flux RSS n'apparaissait plus dans les versions du tronc uniquement pour Linux. Un bogue similaire avait été rapporté par dbaron qui soupçonnait que cela pourrait poser problème aux applis xulrunner, ce bogue a donc été marqué comme "duplicate" de l'autre et le complète en augmentant son importance, pas encore réparé mais il est maintenantplus sur le radar des développeurs. Ce qui montre que personne n'utilise des versions Linux de Firefox trunk, nul doute qu'une régression aussi visible serait rapportée en quelques heures sous Windows ou Mac.

Bug 534767 - New Drag and Drop JS API does not work with Jetpack installed

J'ai découvert ce bogue en testant la démo de Paul File upload & Firefox 3.6, il s'agit d'une incompatibilité entre Jetpack et notre implémentation de la nouvelle API Drag N Drop d'HTML5, apparemment ça n'affecte que Linux (enfin, j'ai eu la flemme de tester sous Windows...). Il n'est pas clair encore si c'est Jetpack (qui en est en version 0.7 et est encore très vert) ou si c'est un bogue du côté de Firefox, mais a priori c'est un bogue Jetpack donc ça bloquerait pas la sortie de 3.6.

Bug 536843 - Flash plugin has display problems on Firefox Linux Trunk and 3.6 builds, regression

Une régression visuelle pour Flash qui m'énervait depuis 10 jours, bogue saisi il y a trois heures. Grâce au super script regression.py indiqué par Arnaud dans les commentaires de mon précédent billet sur le bêta-test j'ai pu rapidement identifier la date de régression, entre le 1er et le 2 octobre. J'ai trouvé cette régression depuis que j'ai remplacé ma 3.5.* par une 3.6beta 5 comme navigateur principal.

Quelles conclusions tirer de ces exemples ?

  1. Il n'est pas nécessaire d'être extrèmement technique pour rapporter des bogues utiles, il ne faut pas penser que c'est réservé à des experts du contrôle qualité, ce n'est pas mon domaine de compétence même si ça m'intéresse
  2. Des cinq bogues ci-dessus, quatre sont des bogues ne touchant que la plateforme Linux. On a vraiment besoin que les gens testent réellement les compils quotidiennes de Firefox et les utilisent sur les vrais sites, pas seulement pour tester combien elles font aux tests Sunspider et Acid3... C'est là l'énorme avantage que les versions Windows et Mac ont sur les versions Linux, des tas et des tas de testeurs. Même le nombre de testeurs mac doit être plus important d'un facteur 10 au moins (probablement plus) par rapport à la version Linux. Sans rêver de légions de linuxiens se mettant à la tâche, quelques bons testeurs additionnels et organisés sous Linux pourrait faire une énorme différence sur la qualité de Firefox sous notre OS.
  3. Si vous êtes développeur web, il ne faut pas seulement tester ce que vous connaissez (mes sites marchent-ils dans le prochain Firefox ?) mais aussi les nouvelles technologies mises à notre disposition pour avoir une implémentation correcte de celles-ci lors de la sortie du navigateur et donc des nouveaux outils qui marchent tout de suite et pas dans un an après que les gros problèmes auront été réparés.
  4. Le contrôle qualité communautaire est probablement un axe d'implication dans le logiciel libre trop méconnu car souvent associé uniquement aux contributeurs les plus techniques. Il y a là un potentiel de travail collaboratif communautaire important pour Mozilla et pour le libre en général. En fait, j'ai même l'impression que l'implication dans le 'bug triage' n'est pas aussi organisée qu'il y a quelques années, j'en suis un bon exemple, je ne suis redevenu réellement actif dans ce domaine que depuis novembre après plusieurs années de faibles activité alors que c'était une de mes activités les plus importantes quand je suis rentré dans le projet vers 2002.

dimanche 20 décembre 2009

Nouveau planète

J'ai bossé ce week end sur le nouveau planète francophone, en bloguant à ce sujet il y a deux jours je me suis dit que ce serait bien de refaire le thème car notre ancien thème datait (capture de l'ancien thème).

Le nouveau thème est proche visuellement du planet anglophone, même s'il ne partage pas de code ni d'images avec lui. Il fait plus sérieux et il y a beaucoup plus d'espace pour la lecture par rapport à l'ancienne version.

J'ai dû abandonner l'utilisation de polices web pour le texte principal, je n'ai pas réussi à en trouver une qui sous Windows soit lisible, gère les gras et les italiques et respecte les hauteurs de lettres (sous Linux tout va bien, merci). C'est dommage, il y a énormément de polices disponibles mais probablement que très peu sont compatibles entre les OS et encore moins ont une licence libre permettant de les utiliser sur le Web. Je pense qu'il serait intéressant de recenser les polices libres réellement compatibles toutes plateformes et navigateurs (modernes) pour faciliter la tâche. J'ai tout de même conservé une police téléchargeable un peu originale pour les titres de section.

Ça faisait longtemps que je n'avais pas fait un design de zéro, donc c'était assez sympa de s'y remettre, ça m'a permis de jouer avec du CSS3, je suis content de mes séparateurs d'articles d'ailleurs:

div.article:after {
  content:"";
  width:80%;
  display:block;
  margin:auto;
  margin-top:30px;
  -moz-box-shadow: 0px 0px 2px 1px #ADC0CF;
}

Si vous voulez être agrégé sur le planète mozilla francophone, vous pouvez contacter Julia (julia À buchner POINT fr) et lui transmettre l'adresse de votre flux rss/atom. Votre flux doit parler de Mozilla, sa communauté, ses technos... , pour cela le plus simple c'est de créer une étiquette mozfr pour votre flux. Pour dotclear un flux web sur une étiquette a ce format:

http://www.chevrel.org/fr/carnet/index.php?feed/tag/mozfr/atom.

On en est à 20 flux de la communauté francophone Mozilla sur le planète, ça commence à être pas mal.

samedi 19 décembre 2009

Suivez le planète Mozilla francophone

Sonny me faisait remarquer hier lors de notre soirée bières entre mozilliens que personne ne sait qu'il existe un planet francophone pour Mozilla maintenu par la communauté.

Ce planète agrège les billets sur l'actualité Mozilla de tous les blogueurs participant au projet, faites passez le lien!

http://planete.mozfr.org/

Nouvelle icône gtk pour le champ de recherche dans le futur Firefox 3.7

Un petit détail sous linux, l'icône de loupe du champ de recherche de Firefox sera à l'avenir une icône système (si on change de thème gnome, l'icône changera).

Avant dans Firefox 3.6:

Après dans le futur Firefox 3.7 (avec le thème Human d'Ubuntu):

mardi 15 décembre 2009

Quel angle pour ce blog?

Il fut une époque où j'étais un gros blogueur, plusieurs billets par jour sur l'actu Mozilla et le web ouvert. Aujourd'hui lorsque je dépasse les deux billets par mois, je sors presque le champagne !! :)

Quelles sont les raisons à cela ? J'en vois plusieurs :

  • J'ai beaucoup moins de temps pour bloguer, mon travail pour Mozilla me prenant tout mon temps
  • Je me suis rabattu sur Twitter qui nécessite un investissement en temps bien plus court, tant au niveau de l'écriture des micro-billets que de la communication avec ceux qui me suivent grâce en partie à l'utilisation d'un client Twitter efficace (Echofon, extension Firefox)
  • Plusieurs blogueurs francophones commentent l'actu mozilla et le font avec talent, ma valeur ajoutée informative devient donc marginale
  • J'ai via Twitter un lectorat de technophiles identifié, environ 250 personnes, je ne suis pas sûr d'avoir toujours un lectorat concret sur ce blog.
  • Moins je blogue, plus il m'est difficile d'écrire des billets. Le blog est finalement un certain exercice de style facilité par une pratique régulière :)
Est-ce que cela signifie que je vais arrêter de bloguer ici? Rassurez-vous rares lecteurs, non !

Déjà, ce n'est pas visible publiquement mais j'utilise en fait beaucoup ce blog pour des billets privés partagés avec des collègues de travail (rapports d'activité essentiellement) et occasionnellement je blogue en anglais lorsque je veux faire passer une info sur planet.mozilla.org.

Ensuite, j'ai envie de parler sur ce blog de l'actu mozilla sous des angles différents, peut être plus communautaire, l'envie est donc toujours là mais le temps malheureusement me manque. Je réfléchis donc à quels types de billets francophones non-chronophages je pourrais poster ici.

Quelques idées:
  • Je pourrais publier des résumés de mes rapports d'activité mensuels, mais y a t'il un intérêt à publier ce type d'informations en français ? Je le fais déjà pas en anglais, je laisse mon chef ajouter ça à notre rapport d'équipe hebdomadaire ;)
  • des en-vrac mensuels de ce que je raconte d'intéressant sur Twitter, j'ai un copain qui fait ça genre "mes meilleurs infos du mois sur Twitter"
  • J'aimerais que ce blog puisse servir de plateforme de communication pour construire une plus grande communauté Mozilla francophone, en particulier dans des domaines où on pourrait progresser (QA, l10n, communication inter-projets, bêta-test, vidéos, tutoriels...). Mais j'ai peur que ça me prenne trop de temps en fait.
  • Je publie des photos de chatons ? ;)
D'autres suggestions ?

mardi 1 décembre 2009

À la recherche de volontaires pour maintenir Firefox en occitan

Nous sommes à la recherche de volontaires supplémentaires pour maintenir Firefox en langue occitane.

Actuellement nous avons une version officielle de Firefox 3.5 en occitan, mais l'état actuel de la traduction (tant au niveau du logiciel que des pages web associées) ne permet pas d'affirmer qu'on fera une version 3.6 et s'agissant d'une langue rare, les volontaires ne sont pas légion :)

Si vous maîtrisez l'occitan et voulez aider à maintenir Firefox dans cette langue, vous pouvez m'envoyer un message (pascal À mozilla.com) ou bien laisser un commentaire ici.

Nous avons actuellement un traducteur, l'idée serait d'en avoir un deuxième voire un troisième, pour que si le traducteur principal n'est pas disponible à l'approche d'une nouvelle version, un de ses pairs puissent le remplacer.

N'hésitez-pas à faire passer le message autour de vous!!!

Merci ! :)

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

- page 1 de 18