Mot-clé : mozilla

Tous les mots-clés

Entries list

mercredi 11 novembre 2015

Progressively moving from Sublime Text 3 to Atom

I am currently moving from Sublime Text (I am a happy paying customer) to Atom. I love Sublime but unfortunately, the project is dying and I want to invest in tools that are maintained in the long term.

Sublime 3 is still not release after years, the only developper completely disappeared for months and this is not the first time it happens, this is also not an open source project which means that the project will die if this only developper leaves. The support forum is filled with spam and basically, there is no roadmap nor any official commitment to pursue the project.

Of course, Sublime still works fine, but there are already reports of it getting crashy on newer version of Linux, the addons ecosystem is slowing down and in the meantime, there is Atom created by the vibrant GitHub community with regular releases and attractive features (mainly clearly copied from Sublime).

So far I hadn't switched because Atom was not ready for prime time, despite its 1.0 number. It was just not usable on my machine for any serious dev work.

That said, the recent 1.2beta builds did get improvements and many extensions are actually working around core bugs that were making Atom a no go until now. So today, I am trying to use Atom 50% of the time instead of 10% as before.

So as to get a working setup, I did have to install a few must have extensions that just make the app usable. First and foremost, I needed Atom to work on my X1 carbon which boasts a 2560*1440 resolution and well, hiDPI is not Chrome Forte, I couldn't even read the microscopic UI and using CSS to fix that was a pain and not scalable when you switch your screen to a external monitor or for a presentation with a different resolution, one point for Sublime which just respects my OS DPI settings. Fortunately, this extension fixes it all:

HiDPI

The second thing I needed was decent speed, it's still lagging behind Sublime but the recent Atom builds over the summer did make a significant effort in that respect and the boot up time is now acceptable for my daily use.

The third problem which is probably still a blocker for me is that Atom basically sucks at managing non-US Qwerty keyboards, like seriously, it's bad. Most of the shortcuts didn't work on my French keyboard and this is the same problem for most keyboards in the world. Again this seems to be a Chrome engine limitation according to Github Issues and it should be fixed upstream in a few versions of Chrome from now. In the meantime, this package is an acceptable workaround that makes many non-US keyboards work more or less with Atom:

Keyboard Localization

There is one big caveat and one of my day to day blockers, I can't comment out a single line from a keyboard shortcut, if that simple bug were fixed in the package or Atom, I would certainly use it 75% of the time and not 50%.

In terms of UI and color scheme, it took me some time to find something agreable to the eyes (On Sublime, I tended to like Cobalt color scheme) but Atom Light for the UI and Code Dark for color scheme are rather agreable. Of course I am a PHP developper, so my color scheme tends towards having clear syntax in this language. The 1.2beta builds also stopped opening context menu in silly locations on my screen instead of below my cursor, another pain point gone.

The Zen and minimap extensions are just must haves for Sublime defectors like me:

Other extensions I use a lot are available:

In terms of PHP specific extensions, I found several equivalents to what I use in Sublime:

There are other PHP extensions I installed but didn't have much chance with them yet, some require configuration files, others don't seem to work or conflict with the keyboard shortcuts (stuff like php-cs-fixer).

The one extension I really miss from Sublime is Codeintel that autocompletes method names and gives tootips explaining methods from the data extracted from Dockblocks in classes. I really wish this will be ported some day or that an equivalent feature will be created.

I also need to see how to launch simple scripts on saving files, to launch Atoum unit tests for example, hopefully somebody will hack it and I won't have to dig into doing it myself ;)

On the plus side for Atom, Git/GitHub integration in the UI is obviously out of the box, I didn't have to install any extension for that. The UI is also improving regularly and just more pleasing to the eyes than Sublime's, which is a bit too geeky to my taste. There is a real preference panel where you can manage your extensions and many interesting small features for which you don't have to edit configuration files like in Sublime (seriously, setting your font size in a JSON file is not user friendly).

It does have its share of bugs though, for example color syntaxing seems to choke on very large files (like 2MB) and everything is displayed as text (not cool for XML or long PHP arrays for example). There are also sometimes lock ups of the UI, often when I switch to preferences.

But all in all, the experience is getting better over time and I think that I found a credible alternative to Sublime for 2016. I know there are other options, I actually have PHPStorm for example which is super powerful, but just as with Eclipse, Netbeans and other heavy-weight IDEs, I have better things to do in my life than spend 3 months just learning the tool to be able to edit a couple of files and I don't buy the argument that this is a life investment ;)

The one aspect of Atom that I think is still basic is project management, I need something just as simple as Sublime but I may just have overlooked the right extension for that and anyway, it's such a popular request that I have no doubt it will be in core at some point.

That's it, if you haven't tried Atom in a while and like me are worried about Sublime Text future, maybe that post will make you want to give it a try again.

I still love Sublime, even in its beta form it is a solid and complete product and I would be happy to keep on paying for it and get updates, but unfortunately, its days seem to be doomed because all the eggs are in the same basket of a single developer that may have good reasons to have vanished, but I just need work done and there are enough bus factor people in my own job to afford having also this problem with the main tool I use on a daily basis. I'd be happy to be proven wrong and see a Sublime Renaissance, the only dev is obviously incredibly talented and deserves to make a living out of his work, I just think he got overwelmed by the incredible success he had with his product and just can't keep up. At some point, open source or prioritary software, you need a team to scale up and meet your customers satisfaction. I do hope that if he completely gives up on this project to pursue other adventures, he will open source Sublime Text and not let all this coding beauty disappear in the prioritary world limbos forever :)

PS: And yes, I prepared this blog post in Markdown syntax thanks to the built-in Markdown previewing pane in Atom ;)

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

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

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

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.

mercredi 23 décembre 2009

Mozilla au jour le jour

Les gens ont souvent une idée un peu abstraite de mozilla, de ce que l'on fait. Bien sûr il y a les grands concepts, le support des standards, le web ouvert et les événements, mais devant cet aspect public, il y a aussi du travail hyper concret et plein de gens qui poussent des wagonnets au fond de la mine pour faire avancer le projet et changer le web monde :)

Lorsque j'ai publié mon billet sur l'angle à donner à mon blog, Goofy et Cédric,  mes camarades de Frenchmozilla, m'ont suggéré de parler de ce que je fais, de mon travail, pour que les gens se rendent comptent de ce que c'est de travailler sur un projet comme Mozilla.

Déjà, vous aurez pu remarquer que je poste ce billet à une heure indécente, comme a l'habitude de dire mon collègue allemand Axel Hecht qui gère toute la localisation côté logiciel, "je vis au milieu de l'atlantique, dans un fuseau horaire flou".

Donc travailler dans mon domaine, c'est travailler à des horaires décalés car on sert d'intermédiaires entre des volontaires en majorité en Europe et contribuant le soir et des employés de Mozilla qui sont en Californie (ce qui me va très bien, j'ai toujours été un oiseau de nuit et déjà pendant mes études je travaillais la nuit comme traducteur freelance).

Aujourd'hui, voilà ce que j'ai fait :
  • J'ai lancé Mozilla Europe en Suédois, tout ceci grâce à l'énorme travail de Markus Magnuson ces 6 derniers mois. C'est la dernière grande locale qui manquait au site, il faut savoir que la communauté mozilla suédoise se réduit à deux personnes, un seul étant impliqué dans la traduction (le traducteur de Firefox) et qu'il n'y a pas de réel site communautaire suédois. L'apport d'un site officiel est donc très important pour nous, il est sûrement imparfait car il n'a bénéficié d'aucune relecture mais au moins on l'a pour noël !!
  • Ça ne concerne pas les francophones, mais j'ai livré aujourd'hui des nouveaux textes promotionnels pour la page Google en anglais (pour le reste du monde, ça sera pour fin Janvier).
  • j'ai fait de la révision de patchs pour Alex Buchanan, mon collègue webdev qui me file un coup de main pour les pages Firefox Mobile, on espère pouvoir publier les pages en quelques langues en plus de l'anglais lors de la sortie de Firefox pour Mobile en RC ou final
  • J'ai réparé la page Firefox US qui avait un bug (plus de pied de page)
  • J'ai discuté sur des stratégies de gestion des fallback de langues avec plusieurs localiseurs qui veulent de la geoIP pour leurs locales plutôt que de la détection de langue (cas de l'Ukrainien ou Windows XP n'existe pas dans cette langue donc tout le monde utilise du Russe)
  • J'ai réglé plusieurs problèmes administratifs (localiseur qui demande une modification de ses paramètres LDAP, prévision d'achat d'un portable compatible Linux pour Delphine, mise à jour de mon rapport d'activité pour mon chef...)
  • J'ai commencé à préparer le travail pour la version 3.5.7 qui sortira dans deux semaines normalement
  • J'ai validé une vingtaine de traductions fournies par notre communauté pour Firefox 3.6 et Thunderbird 3
  • Participation  à une dizaine de listes de diffusion et à quelques forums mozilla sur des sujets divers et variés (assistance utilisateur, bêta-test, gestion de conflit dans une communauté...)
  • J'ai trollé un peu mais pas trop sur le canal IRC francophone  ;)
Voilà, une journée typique d'employé Mozilla, demain (tout à l'heure en fait) on recommence  :)

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 ?

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 14 mai 2009

Ubuntu party Paris ce samedi: les femmes dans le projet Mozilla

Ce samedi je donnerai une conférence présentant le projet Mozilla et sa communauté lors de l'Ubuntu Party Paris à la Villette , bon comme d'hab en fait ;)

Par contre, j'ai réussi à convaincre Delphine de faire une petite présentation de son projet visant à améliorer la visibilité et la participation des femmes dans le projet Mozilla et le libre en général.

La présentation sera à la fin de la mienne et j'engage toutes les personnes intéressées à venir à l'événement et à discuter avec nous du sujet (pour les plus intéressées, on peut aller prendre un café à côté après la conf pour ça d'ailleurs).

vendredi 27 mars 2009

Firefox 3.0.8 est sorti

Voilà c'est fait, 3.0.8 est sorti et corrige aussi une faille rendue publique et documentée par un italien il y a deux jours. Les mises à jour automatiques pour nos 62 langues sur 3 OS sont en activité et les sites web sont à jour.

Téléchargement via Mozilla Europe ou via le mécanisme de mise à jour automatique (menu ?/Rechercher des mises à jour)

Tristan a écrit un billet sur la Sécurité des navigateurs et nous dit ceci:

Soit. Je vous propose donc une petite expérience... Dès que Firefox 3.0.8 est sorti, je déclenche le chrono pour voir combien de temps il faut à Microsoft pour corriger leur problème, qui a été trouvé en même temps que celui de Firefox. On va bien voir ce qu'ils entendent par "extrêmement rapide", chez Microsoft. Je me demande si ça sera corrigé lundi ou mardi. Ou le mois prochain. Ou l'année prochaine... Et puis on va voir combien de temps les gens prennent pour le mettre à jour.

Les paris sont ouverts :)

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!!!

mercredi 26 novembre 2008

Mozilla à l'Ubuntu party de Paris c'est dans 3 jours!!

Ce week end, plein de mozilliens seront présents à l'Ubuntu party de Paris organisée à la cité des sciences de la Villette.

Nous auront notre propre salle d'activités, il y aura des ateliers, Delphine a promis de nous préparer des gâteaux et on fera des démos de plein de trucs marrants faits avec Mozilla.

C'est gratuit, c'est marrant, vous rencontrerez aussi des gens de l'April (une bonne occasion pour adhérer à l'assoce et aider le libre) et vous verrez les gens qui font Firefox dans la vraie vie, allez un échantillon de contributeurs Mozilla ci-dessous ! :

(photo prise au Mozilla Camp Barcelone)

jeudi 30 octobre 2008

Ubuntu et Mozilla à la Villette les 29 et 30 novembre

La dernière version d'Ubuntu, la 8.10, appelée Intrepid Ibex, est sortie aujourd'hui.

De nombreuses fêtes et événements sont prévus ce mois-ci pour faire découvrir Ubuntu dans sa nouvelle version, pour la région parisienne, ça se passera à la cité des sciences de la Villette les 29 et 30 novembre.

L'événement est organisé par l'équipe francophone d'Ubuntu-party qui nous a gentiment proposé de participer à l'événement avec notre propre salle Mozilla (l'April sera aussi de la partie, une bonne occasion pour cotiser à cette assoce de défense et promotion du libre!).

Un grand merci donc à Olive pour l'invitation!!

Vous pourrez donc rencontrer toutes les assoces francophones mozilla (mozilla europe, xulfr, frenchmozilla, geckozone) lors de cet événement et venir discuter avec nous de tous les sujets liés au libre et à mozilla en général (de la documentation au code en passant par la promotion...).

On est tous en train de préparer un programme, avec des confs, des ateliers, des dégustations de gâteaux au chocolat... ;) j'en parlerai régulièrement sur ce blog dans les semaines à venir. On montera peut être aussi un petit site web provisoire pour aider à la logistique.

Si vous êtes sur la région parisienne et que vous avez envie de nous aider à organiser tout ça, n'hésitez pas! Ça peut être une bonne manière de participer à un projet libre et ça ne requiert pas de connaissances techniques particulières!!!