<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>stream of bytes &#187; planet.m.o</title>
	<atom:link href="http://diary.braniecki.net/tag/planetmo/feed/" rel="self" type="application/rss+xml" />
	<link>http://diary.braniecki.net</link>
	<description>Open-source development violates almost all known management theories.</description>
	<lastBuildDate>Mon, 08 Mar 2010 00:03:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>We have an important story to tell!</title>
		<link>http://diary.braniecki.net/2010/02/21/we-have-an-important-story-to-tel/</link>
		<comments>http://diary.braniecki.net/2010/02/21/we-have-an-important-story-to-tel/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:32:57 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ firefox]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[planet.m.o]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1071</guid>
		<description><![CDATA[Hey @flod (and Giacomo!)! You touched interesting topics in your latest post, and when I started crafting my comment it got so lengthy, I decided to use my platform to deliver it. Blog-to-blog discussion style!  
I&#8217;ll try to respond, but please, bare in mind, that that&#8217;s my personal opinion, nothing official.
You started by pointing [...]]]></description>
			<content:encoded><![CDATA[<p>Hey @flod (and Giacomo!)! You touched interesting topics in your <a href="http://www.yetanothertechblog.com/2010/02/21/followers-or-leaders/">latest post</a>, and when I started crafting my comment it got so lengthy, I decided to use my platform to deliver it. Blog-to-blog discussion style! <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ll try to respond, but please, bare in mind, that that&#8217;s my personal opinion, nothing official.</p>
<p>You started by pointing out a set of efforts that you either find of questionable value or not &#8220;leader&#8221; style. Things like Fx UI direction, multiprocessing, Jetpack or Personas.</p>
<p>In particular, you focused on two dimensions:</p>
<ol>
<li>Are those efforts unique? Innovative? Or do we chase others?</li>
<li>Are those efforts valuable elements that fit into Mozilla Manifesto vision</li>
</ol>
<p>You question both, and I believe you have all the rights on Earth to do so. We may disagree, but we should talk about this, and I find the fact that you express your concerns in public a good sign of the health of our ecosystem.</p>
<p>So, down to some points you raised. I humbly disagree with your notion of &#8220;cloning Chrome&#8221;. I believe it is a cognitive impairment that we so easily (we &#8211; I mean, most Mozillians I know) buy &#8211; this concept of &#8220;fresh Chrome&#8221;. Chrome is great! But it is not &#8220;innovative&#8221; in a sense many people talk about it. We just so easily take for granted a lot of inventions we brought to the world, and Chrome, yes, they just looked at Firefox and learned from us. That is just awesome, but that&#8217;s what they did!</p>
<p>Once again, Google is looking at an open source project and learns from them how to build a web browser. No, wait! Google, Microsoft and Apple are doing it. Now, how awesome it is? Think of all those things that Firefox brought to the browser landscape since its 1.0 version and notice how many of those innovations are now in IE8, Safari and Chrome.</p>
<p>They also have brilliant developers and *just* bringing all the values of Firefox would be a waste of time, so they, among other things, got a free ride of fixing things we struggled with. And now it is our time to fix those, and there&#8217;s nothing unhealthy in this. What would be, in my opinion, unhealthy, is to pretend we don&#8217;t see them, and defending our approach as &#8220;the right one&#8221; (remember Bill Gates first comments on Firefox 1.0?).</p>
<p>Ability to go multi-process is important. Majority of perceived performance improvements that Chrome has (and Fx 3.5/3.6 brought) come from two things: tricking user&#8217;s eyes &#8211; show him UI 200 ms before its usable &#8211; and putting expensive elements off the main thread. (I&#8217;m sure that performance team will be able to explain that better). The fact that you have to restart your browser when you install extension is a UX bug. No user expects it or wants it. It does not bring any value and the only reason we have it is a technical limitation.</p>
<p>For years we raised the bar of how the web browser should work. We set the standards in many areas. Opera set some, Safari set some, IE set some as well. Now Chrome set some standards and we just have to match them, possibly using <a href="http://en.wikipedia.org/wiki/Extelligence">extelligence </a>of our brilliant dev team to push it further and innovate (Jetpack team is far from just fixing issues, they aim for bringing extensions to a new level, and they should be aiming for nothing less than that!). No reason to be worried, we make a great web browser better and it would be unwise to ask our users to trade those nice features for ability to use browser with Mozilla values. Why not give them the best of both?</p>
<p>Personas is an interesting project. I remember my initial feelings when I encountered Personas were much of &#8220;eee, nothing interesting&#8221;. I considered it to be a minor feature. I recognized that I&#8217;m not a target audience (neither you are, I think). But on the day of Fx 3.6 launch I got my lesson when I received amazing amount of feedback from my non-geek friends precisely about Personas and how this project resonated with them. It was amazing for me how emotional people got about &#8220;missing Real Madrid Persona, but you have Barcelona one!&#8221; or &#8220;the pink one is soooo cute&#8221; or &#8220;my browser is so much more personal now, when my you-name-it favorite actor/actress or symbol of my subculture is here&#8221;. Look at the amount of Personas created by people in such a short time! It is an amazing project and only now I see how it fits into Mozilla mission and vibe.</p>
<p>UI on the other hand is a much more complex thing, cause it is related to personal taste and fashion (and fashion itself is, from sociologist point of view a bizarre phenomena of human culture). But imo it all boils down to a simple aspect of cyclical changes. Windows 7 brought new UI, IE8 followed. Chrome followed IE8, Opera followed IE8 or Chrome or both, we&#8217;re following W7 or IE8 or Chrome or Opera &#8211; you call it. People expect browser to match the visual style of their operating system and Windows 7 is going to be the OS of choice for the vast majority of the world which, in result, will set the UI standard for the OS and apps for quite a some time. We can like it or hate it, but that&#8217;s going to happen, and Firefox on Windows should imo fit the OS style. What we will do beyond that is the major issue, and I believe our UI team is trying to come out with the value on top of that. Basing on past experience, I&#8217;m sure they&#8217;ll do a great job and we&#8217;ll see others learning from us. That&#8217;s how it works here. Would you prefer vendors to ignore each others accomplishments or deny them?</p>
<p>I disagree with you on your perspective of mobile world. I, for one, wait for Fennec on Android and I know a lot of people who do. I&#8217;m excited to think of how we can fit Firefox experience into Windows Mobile 7 and I&#8217;m sure it&#8217;ll be an exciting journey. Mozilla Messaging is going to generate projects related to forms of communication and I find this topic to be extremely important, so I have no worry about sustainability of it. Our embedding story is nothing to be proud of, but maybe it was a trade-off we had to do in order to achieve what we aimed for. I share your concerns here, and I see many of the platform team people discuss what we can do in order to make it better.</p>
<p>I see Mozilla pretty much self-aware of many of the issues you raised and diversified internally enough to have people raising concerns internally and open enough to have a ground to talk about them &#8211; your post is a part of it.</p>
<h2>Bottom line</h2>
<p>But ultimately I believe your concerns would be all valid if that would be all that is happening in the Mozilla project. If the whole community would work on either Personas, or marketing or UI. But is it? Do you really feel that those elements you describe represent, as you wrote &#8220;<em>Mozilla project as a whole</em>&#8220;?</p>
<p>I see Mozilla as a meta-project that&#8217;s involved in a huge number of projects that touch amazing variety of issues, and it is very hard to nail it down to one or two and call that &#8220;representative&#8221; for the community.</p>
<p>No matter what you think of Personas, I don&#8217;t think you can say that this effort matches what Mozilla is doing with Drumbeat, Bespin, Raindrop or Weave. No matter if you find Jetpack valuable, I hope you did not get lured by press foretelling the end of extensions as we know them. Can you name an example of a project that generated tons of thousands of dependencies and was irresponsibly killed by Mozilla? Have we ever done something like that? Then, do you really think we will do this?</p>
<p>We generate amazing amount of projects of very different kinds. Globally, our community is very diversified and in different points of their journey. Some communities need more marketing, UK, Korea, Sweden? Some, like Italy, Poland, Germany, may have enough internal marketing to consider Mozilla global marketing effort focused on promoting Firefox useless for them or even &#8220;too much&#8221;. We, Mozillians who live in those countries should act as a membrane which adjusts the signal, and gives feedback to our fellow Mozillians worldwide about what we need, and what we don&#8217;t. Poland has 52% of market share, and we need things like developers community or foundation-like efforts to use the potential are trust we generated over years as a platform to bring Mozilla values further, so we work with Mitchell, Mozilla Foundation and from time to time I try to get Paul Rouget&#8217;s attention <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  At the same time, PR and marketing wise, we work with Polish PR agency, Barbara and others to balance the amount of press we generate to avoid wasting time to convince the convinced ones. That&#8217;s just adjusting. I believe that we should do that much more often in many countries which just are ready for different aspects of Mozilla project to stimulate and energize Mozillians.</p>
<p>Example? Here you are. You think we focus too much on marketing sites? Well, then you focus on other aspects! I believe that the concept of &#8220;we have to localize all websites to all languages&#8221; is not sustainable anymore. We will generate more websites/webapps, and our local communities will decide which ones to promote locally. We don&#8217;t have to have everything localize everywhere and that&#8217;s a great power you have to adjust the signal to your locale. Mozilla should make sure all websites/webapps/apps are localizable and let community decide which ones to localize. Focus on the ones that are most important for you!</p>
<p>We have so many projects to pick from! Of different kinds, using different techniques to address different aspects of the common value set expressed in Mozilla Manifesto. They&#8217;re also diverse in a way you think about them.</p>
<p>Some of them are truly unique and experimental, and massive &#8211; think of our JIT approach (it took a ride from MtV to SF airport for Taras to explain to my what is so different in our JIT approach but now I&#8217;m proud of what we&#8217;re aiming for), think of L20n, think of Ubiquity,  Bespin, Raindrop or Drumbeat.</p>
<p>Some of them, are application of <em>Mozilla-way</em> onto existing concepts. Weave is not innovative because it allows sharing data. But it brought privacy to the picture. SUMO is not the very first support platform ever, but the way we approach the concept of support is innovative and &#8220;Mozillian&#8221;. Our Metrics team is not the only metrics team in the world, but they do hell a lot of innovation on making their work public and open to contribution which is pretty unique. We may not be the first project ever to have marketing team, but we approach marketing and PR in a unique and innovative way.</p>
<p>Some of them are just a catch-up game and that&#8217;s also not bad. We have 350 million users, if someone brought a good idea to the world of web browsers and we can just make sure that 350 million Internet users may use Internet safer, easier and better then I find it pretty important thing to do and I definitely expect such actions from other vendors. (think: partial upgrades)</p>
<p>Ultimately, many of them are a mix of the ones above and as long as we are able to generate new projects that resonate with what people find important on the Internet, I think Mozilla makes an impact and has a bright future that we, including you and me, have to shape.</p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2010/02/21/we-have-an-important-story-to-tel/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The new era of software localization is approaching</title>
		<link>http://diary.braniecki.net/2009/12/17/the-new-era-of-software-localization-is-approaching/</link>
		<comments>http://diary.braniecki.net/2009/12/17/the-new-era-of-software-localization-is-approaching/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 08:12:36 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[l20n]]></category>
		<category><![CDATA[planet.m.o]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1032</guid>
		<description><![CDATA[Those of you who follow the localization tales of Mozilla project know the mythical &#8220;L20n&#8221; concept introduced by Axel Hecht over two years ago.
Since then, we spent zillion hours thinking about this concept and maturing it. Every time I was working on any project &#8211; be it Verbatim, Firefox, Getpersonas, AMO, Pontoon or Jetpack L10n [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you who follow the localization tales of Mozilla project know the mythical &#8220;<a href="http://wiki.mozilla.org/L20n">L20n</a>&#8221; concept introduced by <a href="http://blog.mozilla.com/axel/">Axel Hecht</a> over two years ago.</p>
<p>Since then, we spent zillion hours thinking about this concept and maturing it. Every time I was working on any project &#8211; be it <a href="http://localize.mozilla.org/">Verbatim</a>, Firefox, <a href="http://www.getpersonas.com/en-US/">Getpersonas</a>, <a href="https://addons.mozilla.org/">AMO</a>, <a href="http://hg.mozilla.org/users/zbraniecki_mozilla.com/pontoon/">Pontoon</a> or <a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/35">Jetpack L10n</a> &#8211; I was telling myself how much better it could be, had we have L20n in place. Easier for localizers, easier for developers, easier to maintain. Did I tell you it&#8217;s faster as well?</p>
<p>Then, last summer, <a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/35">Jeremy Hiatt</a> joined us for his summer internship and spent 3 months working with Axel and me on pushing some of the implementation concepts forward.</p>
<p>With the end of summer, we got again busy with upcoming Firefox 3.6 release and put L20n again in coma&#8230;</p>
<p>Until now.</p>
<p>Without getting into much detail, I can tell you that right now we&#8217;re preparing for the next, and hopefully, ultimate push toward L20n 1.0. Over the next few months you will have more than enough of blog posts and papers and demos and examples. We will be asking for feedback, presenting the syntax, experimenting with toolchain, building extensions, and slowly preparing to introduce L20n into Gecko platform and our websites.</p>
<p>We believe that L20n is the most crucial piece of Mozilla localization story, aligning perfectly into our <a href="http://www.mozilla.org/about/manifesto">core values</a>. Mozilla is in the best position to push the localization experience to the new level, finally enabling software to speak in the natural language of the reader. Gettext is awesome, but aging technology, properties/DTD that we use in Gecko today, are limited, tens of proprietary formats (used by projects like Qt, Webkit, Apple, Nokia) just replicate the same concept. L20n shifts the paradigms of what localization is to the new level. It&#8217;s going to be big, and we hope to get a lot of people involved.</p>
<p>Next week I&#8217;ll start with the first demos.</p>
<p>p.s. those who like to read the code, may find first bits of fresh code in my <a href="http://hg.mozilla.org/users/zbraniecki_mozilla.com/l20n/">hg repo</a>. Yummy! Isn&#8217;t it? <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/12/17/the-new-era-of-software-localization-is-approaching/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The world stands on its head</title>
		<link>http://diary.braniecki.net/2009/11/12/the-world-stands-on-its-head/</link>
		<comments>http://diary.braniecki.net/2009/11/12/the-world-stands-on-its-head/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 16:13:21 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ firefox]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[fyfx]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[poland]]></category>
		<category><![CDATA[ranking]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1026</guid>
		<description><![CDATA[Unrelated opening
Every one of us has those moments when you find yourself old. Even teenagers do, when their younger friends teach them how to use the latest hype du jour on the Internet. I, for one, feel profanely old today, and kind of hardly accepting the reality of the approaching &#8220;middle age&#8221; thing.
&#8220;It&#8217;s rare that [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Unrelated opening</strong><br />
Every one of us has those moments when you find yourself old. Even teenagers do, when their younger friends teach them how to use the latest hype du jour on the Internet. I, for one, feel profanely old today, and kind of hardly accepting the reality of the approaching &#8220;middle age&#8221; thing.</p>
<p><em>&#8220;It&#8217;s rare that you see an artist in his 30s or 40s able to really  contribute something amazing.&#8221;</em> <a href="http://en.wikiquote.org/wiki/Steve_Jobs">said Steve Jobs</a>. Thanks Steve&#8230;</p>
<p>But that was not supposed to be about me becoming 26. It was supposed to be about another miracle that nobody expected to ever happen. Or at least, I&#8217;m still genuinely surprised whenever I see the dream of yesterday becoming reality of today.</p>
<p>So, maybe for many of you it will not come as anything striking, kind of  <em>&#8220;yea, Poland has always had good community and Firefox market share is above average&#8221;</em>, but for me it&#8217;s an impossible coming real.<a href="http://ranking.pl/pl/rankings/web-browsers-groups.html"></a></p>
<p><a href="http://ranking.pl/pl/rankings/web-browsers-groups.html"><br />
</a><strong>Down to the point</strong><br />
<a href="http://ranking.pl/pl/rankings/web-browsers-groups.html">Ranking.pl</a> just published another round of their browser stats for Poland. According to those, Chrome just passed <strong>3%</strong> of market share in Poland. It is a real deal. I remember Firefox having 3% &#8211; in <a href="http://old.ranking.pl/index.php?page=Ranks:RanksPage&amp;stat=2|OW">December 2004</a>, month after 1.0 release, after 6 years of work, Mozilla based browser reached 3% of market share. But that&#8217;s not only that! Opera just week ago gained a point and reached <strong>10%</strong> of market share in Poland! I remember it &#8211; May 2005 &#8211; Firefox 1.x at 10.2%.</p>
<p>And having that, we have also Firefox breaking <strong>52%</strong> of market share in Poland! 52% is the high and it is clearly an outstanding result that heavily influences the way we should think about Internet in Poland. It&#8217;s an amazing award from the users to the Mozilla project and, especially, a group of people in the <a href="http://www.aviary.pl/">Aviary.pl team</a> and those working on <a href="http://mozillapl.org/forum/">Mozillapl.org community forum</a>.</p>
<p>In result of all of this, Internet Explorer in Poland, the one web browser that dictated, for over 10 years, how the web looks like, ten years in which the Internet has been shaping up, this web browser has now only <strong>33.38%</strong> of market share. One third. Vox populi at its best.</p>
<p>We have 2/3 of users using modern web browsers, and if we add IE8 here, it gets to 3/4, <strong>75%</strong> of users. IE6 is used by less than <strong>9%</strong> of users and it means that, for example, just by watching the stats, companies will do better by investing in making sure their website works with Opera than checking it in IE6!</p>
<p>Hard to express this feeling. It&#8217;s amazing that we can see modern browsers not cannibalizing each other, but sharing the market share gains.</p>
<p><strong>Wake up, revisit the web today, it&#8217;s party time!</strong><br />
Think of what&#8217;s possible because of that. We have the Web today that <em>means</em> something different for the users and web authors. They can slowly start to <em>ignore</em> IE6, and that is a real deal for everyone who does the web hacking. Users can utilize the powerful webtools, banks can invest in reach online banking, people are also free to choose their operating system because their online experience wont degrade because of that. People can choose out of four major web browsers that are in a healthy competition or they can choose from one of the less mainstream, but still high quality ones like K-Meleon, Camino, Seamonkey, Arora, Epiphany&#8230; Over 52% of Polish internet users <em>can</em> change how the websites look via extensions, and how their browser works and what they see via adblocks, flashblocks and others. They can influence their experience and by vast majority they <em>chose </em>their web browser by themselves, understanding what they are doing and knowing that they have a choice now.</p>
<p>I&#8217;m pretty sure that this is true not only for Poland, but for other countries. Hungary, where <a href="http://www.rankings.hu/hu/rankings/web-browsers-groups.html">Firefox is at 52%</a>. Latvia with <a href="http://www.ranking.lv/en/ranking/web-browsers.html">Firefox at 50%</a>,  Bulgaria, where <a href="http://www.ranking.bg/en/ranking/web-browsers.html">Firefox is above 45%</a> and just passing by IE. Ukraine where <a href="http://www.ranking.com.ua/en/rankings/web-browsers-groups.html">Opera has 34% and Firefox has 26%</a>&#8230; and I&#8217;m still talking about just one region, while the rest of Europe is going through the similar process.</p>
<p>Five years after Firefox 1.0 has been released, we have <em>a different  web</em>. The web which has new challenges and opportunities. We have to raise to them and I believe that the next 5 years is going to be super exciting!</p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/11/12/the-world-stands-on-its-head/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Silme is getting ready for 1.0</title>
		<link>http://diary.braniecki.net/2009/11/10/silme-is-getting-ready-for-1-0/</link>
		<comments>http://diary.braniecki.net/2009/11/10/silme-is-getting-ready-for-1-0/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 18:36:57 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[silme]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1017</guid>
		<description><![CDATA[Not today, maybe not tomorrow, but Silme library is getting ready for its prime time.
I&#8217;m currently working on Silme 0.9 which is shaping up to be a release where we packed up all the lessons we learned while working on the project for the last year and a half. It&#8217;s going to be the last [...]]]></description>
			<content:encoded><![CDATA[<p>Not today, maybe not tomorrow, but Silme library is getting ready for its prime time.</p>
<p>I&#8217;m currently working on <a href="https://wiki.mozilla.org/Silme">Silme 0.9</a> which is shaping up to be a release where we packed up all the lessons we learned while working on the project for the last year and a half. It&#8217;s going to be the last release with non-frozen API before 1.0 so we have to be sure we&#8217;re happy with 0.9 before we release it.</p>
<p>Then, we&#8217;ll have <a href="https://wiki.mozilla.org/Silme:1.0">Silme 1.0</a> which is a goo moment to revisit the name of the library. I know native english speakers may find it a good idea <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/11/10/silme-is-getting-ready-for-1-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update on Verbatim</title>
		<link>http://diary.braniecki.net/2009/10/31/update-on-verbatim/</link>
		<comments>http://diary.braniecki.net/2009/10/31/update-on-verbatim/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 23:19:26 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[pootle]]></category>
		<category><![CDATA[verbatim]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1012</guid>
		<description><![CDATA[Just a short note. After getting a very positive feedback in Prague on the Verbatim project, and fairly negative on its performance, I spent some time making it faster and snappier and got it to the point when I believe this problem is mitigated and we can push Pootle Verbatim&#8217;s incarnation to production.
So what&#8217;s going [...]]]></description>
			<content:encoded><![CDATA[<p>Just a short note. After getting a very positive feedback in Prague on the <a href="https://wiki.mozilla.org/Verbatim">Verbatim</a> project, and fairly negative on its performance, I spent some time making it faster and snappier and got it to the point when I believe this problem is mitigated and we can push Pootle Verbatim&#8217;s incarnation to production.</p>
<p>So what&#8217;s going on right now?</p>
<p>We&#8217;re working with the IT team to get a new virtual machine with its own public vhost (you can track the progress in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=523920">bug 523920</a>). This should happen very soon and once we&#8217;re there, we&#8217;ll let you know and start using Verbatim to help you manage website localization.</p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/10/31/update-on-verbatim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MiniOpenWebCamp in Prague :)</title>
		<link>http://diary.braniecki.net/2009/09/30/miniopenwebcamp-in-prague/</link>
		<comments>http://diary.braniecki.net/2009/09/30/miniopenwebcamp-in-prague/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 17:12:01 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[brainstorm]]></category>
		<category><![CDATA[drumbeat]]></category>
		<category><![CDATA[mozcamp]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[prague]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=1002</guid>
		<description><![CDATA[As a part of the Mozilla DevDay in Prague this Friday we will hold a Mini Open Web Camp at the afternoon.

The idea is to use the energy of DevDay participants to get their feedback on the major issues we&#8217;re currently addressing with Mozilla project.
We have a room booked, and we hope to attract all [...]]]></description>
			<content:encoded><![CDATA[<p>As a part of the <a href="https://wiki.mozilla.org/Prague_DevDay_2009">Mozilla DevDay in Prague</a> this Friday we will hold a <a href="https://wiki.mozilla.org/Prague_DevDay_2009#Mini_Open_Web_Camp">Mini Open Web Camp</a> at the afternoon.</p>
<p><a href="http://commonspace.wordpress.com/2009/09/01/drumbeat-notes-4-ground-game-and-local-events/"><img class="size-full wp-image-1003 alignleft" title="Drumbeat img by Mark Surman" src="http://diary.braniecki.net/wp-content/uploads/2009/09/Zrzut-ekranu-2009-09-30-godz.-19.03.51.png" alt="Drumbeat img by Mark Surman" width="337" height="157" /></a></p>
<p>The idea is to use the energy of DevDay participants to get their feedback on the major issues we&#8217;re currently addressing with Mozilla project.</p>
<p>We have a room booked, and we hope to attract all algorithmically impaired people (the others will probably go to <a href="https://wiki.mozilla.org/Prague_DevDay_2009#Mozilla_Labs_Hack_session">Mozilla Labs Hack Session</a>) to join us for a two hour brainstorm.</p>
<p>The formula may change, but <a href="https://wiki.mozilla.org/Prague_DevDay_2009/Mini_OWC">currently we&#8217;re planning</a> to set a list of topics and go over them with <a href="http://commonspace.wordpress.com/">Mark Surman</a> (ED in Mozilla Foundation) and <a href="http://standblog.org/blog/">Tristan Nitot</a> (President of Mozilla Europe) igniting each of them by having a short conversation in front of the public. At some point, we&#8217;re turning it into a round table and invite participants to share their views and address the concerns.</p>
<p>The meeting will probably be small enough to gain an atmosphere of teamwork and I hope it&#8217;ll be a great journey over the current challenges of the Internet and an opportunity to make an impact on how those might be solved!</p>
<p>Please, <a href="http://events.mozilla-europe.org/event/?id=11">do not hesitate to register</a>, and join us there <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/09/30/miniopenwebcamp-in-prague/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Express Mozilla</title>
		<link>http://diary.braniecki.net/2009/08/19/express-mozilla/</link>
		<comments>http://diary.braniecki.net/2009/08/19/express-mozilla/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 11:27:01 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[business card]]></category>
		<category><![CDATA[concept]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[wordle]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=998</guid>
		<description><![CDATA[Recently I asked Mozilla for new set of business cards. The overall concept of paper cards you give to people is becoming less appealing and I definitely like the &#8220;google me&#8221; approach, not only because that&#8217;s what we really do to find someone, but also because it expresses Google&#8217;s vision and theme.
Since I was able [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I asked Mozilla for new set of business cards. The overall concept of paper cards you give to people is becoming less appealing and I definitely like <a href="http://www.picocool.com/design/google-me-business-card/">the &#8220;google me&#8221; approach</a>, not only because that&#8217;s what we really do to find someone, but also because it expresses Google&#8217;s vision and theme.</p>
<p>Since I was able to choose the back of the card, I started wondering&#8230; How to express Mozilla theme? How to express Mozilla?</p>
<p>After a few hours of trying and failing to produce anything that would even remotely give me the feeling, I went to Mark Surman&#8217;s blog for inspiration and found his blog post about <a href="http://commonspace.wordpress.com/2009/05/27/wordle-ized-mozilla-sentence/">visualizing Mozilla in one sentence with wordle</a>. *Click*</p>
<p>Then it went fast. Took similar approach, copied all comments with suggestions, sorted them, gave to <a href="http://www.wordle.net/">wordle</a> which produced <a href="http://www.flickr.com/photos/zbraniecki/3769140075/">this</a>. From there, I used Gimp to resize it and boom, done. Let me know what you think <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="wp-caption alignnone" style="width: 510px"><a title="Business card - front by Zbigniew Braniecki, on Flickr" href="http://www.flickr.com/photos/zbraniecki/3836697226/"><img src="http://farm3.static.flickr.com/2591/3836697226_a8bacd9398.jpg" alt="Business card - front" width="500" height="375" /></a><p class="wp-caption-text">Gandalf&#39;s business card - front</p></div>
<div class="wp-caption alignnone" style="width: 510px"><a title="Business card - back by Zbigniew Braniecki, on Flickr" href="http://www.flickr.com/photos/zbraniecki/3836697576/"><img src="http://farm3.static.flickr.com/2465/3836697576_6eef3a8739.jpg" alt="Business card - back" width="500" height="375" /></a><p class="wp-caption-text">Gandalf&#39;s business card - back</p></div>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/08/19/express-mozilla/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>AMO loses accent</title>
		<link>http://diary.braniecki.net/2009/08/19/amo-loses-accent/</link>
		<comments>http://diary.braniecki.net/2009/08/19/amo-loses-accent/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 10:49:59 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[amo]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[remora]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=995</guid>
		<description><![CDATA[Since the beginning of times, AMO has been using unique localization format codenamed as &#8220;monopo&#8221;. It bases on gettext, but instead of using string in source language as an ID:
msgid "What's your name?"
msgstr "¿Cómo te llamas?"
it uses a unique identifier as an ID and lists places where the entity is used in a comment above [...]]]></description>
			<content:encoded><![CDATA[<p>Since the beginning of times, AMO has been using unique localization format codenamed as &#8220;monopo&#8221;. It bases on gettext, but instead of using string in source language as an ID:</p>
<pre>msgid "What's your name?"
msgstr "¿Cómo te llamas?"</pre>
<p>it uses a unique identifier as an ID and lists places where the entity is used in a comment above it:</p>
<pre>#: views/addons/policy.thtml:78 views/addons/policy.thtml:79
msgid "test_whats_name"
msgstr "¿Cómo te llamas?"</pre>
<p>This customization makes the PO file work very differently. You cannot localize using your po file only &#8211; you don&#8217;t know the source string you&#8217;re translating, so you need to have en-US file and your file and compare them. But the greater issue is an incompatibility of such format with most Gettext tools and libraries.</p>
<p>Gettext is probably the most popular localization format in the open source world. In result, over years, huge number of localization tools, libraries and API&#8217;s to languages has been created in order to simplify and support localization efforts. Due to the <em>po-&gt;monopo</em> switch AMO localizers were limited in their choice and even internally, <a href="http://svn.mozilla.org/addons/branches/aprilfools09/site/app/config/core.php">AMO equivalents</a> of <em>get_entity</em> function (named <em>___()</em> and <em>n___()</em> for plurals) were pretty complex.</p>
<p>What once served us well, was not the choice we wanted to keep forever and by the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=501988">power of bugzilla</a> I have been assigned to challenge the status quo.</p>
<p>At the beginning there was darkness and lightning, all across the Earth&#8230; ekhm, not this one.</p>
<p>This hydra had four heads and all of them had to be attacked simultaneously in order to minimize the SNAFU window while in transition:</p>
<ol>
<li>AMO localization code has been crafted to work with monopo</li>
<li>AMO templates and code has been calling for entities by the unique id &#8211; <em>___(&#8216;test_whats_name&#8217;)</em> instead of <em>___(&#8216;What&#8217;s your name&#8217;)</em></li>
<li>AMO localization files were written using the monopo syntax</li>
<li>Our toolchain (like export-po.py or Verbatim) was customized to work with monopo</li>
</ol>
<p>Wrt. the format, we decided to switch to normal gettext and keep context where needed (for example when there are multiply strings with the same english name &#8211; in order to avoid duplication).</p>
<p>On <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=501988#c19">the 6th of August</a> I had the weapons ready and Wil Clouser decided to make the switch before the next AMO release giving us little but 3 days to switch. Brave man he is.</p>
<p>We did the switch and on the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=501988#c30">13th od August</a> the first battle was called. We won on all fronts except the templates switch which against the plan happened to remove context reference from the function call.</p>
<p>In result in a few places where we kept the context we did not ask for it. So instead of <em>___(&#8216;What&#8217;s your name?&#8217;, &#8216;test_whats_name&#8217;)</em> we had only <em>___(&#8216;What&#8217;s your name?&#8217;)</em>. This call did not work because in the .po file we had both, context and ID (and we cannot get the ID without a context in such case).</p>
<p>Yesterday I finished crafting a new weapon to fix this. The plan was to take en_US po file, iterate through all templates and PHP files in AMO code and check if the entity ID matches one from en_US po file and if the po file entity has context. If this is the case, then replace the function call with a new one containing context.</p>
<p>The only remaining issue was that what we tried to fix were the cases in our entity pool that had multiply ID&#8217;s identified by context only. And in this case we were using ID to match entity from PO file with an entity from the code. How do we know if we matched the right entity?</p>
<p>Consider the following case. We have an entity with id &#8220;Recover your password&#8221;. It may be a window title, a link to a recovery tool or title of an email. It may be translated differently depending on the context (and it would be translated differently in Polish) so we want to have multiple entities here. Since Gettext uses english string as an ID we cannot have 3 entities with the same ID so we need to add what&#8217;s called msgctxt. It looks like this:</p>
<pre>msgctxt "email_title"
msgid "Recover your password"
msgstr "Odzyskaj hasło"

msgctxt "tools_link"
msgid "Recover your password"
msgstr "Odzyskiwanie hasła"</pre>
<p>Now, in the broken template file we have ___(&#8216;Recover your password&#8217;) and we need to match it to one of the entities to replace it with ___(&#8216;Recover your password&#8217;, &#8216;tools_link&#8217;). But how do we get the right entity?</p>
<p>Fortunately, we were storing source comments for each entity which gave us a list of template files in which the entity has been used. And we preserved this while transiting. It looked like this:</p>
<pre>#: views/addons/policy.thtml:78 views/addons/email.thtml:19
msgctxt "email_title"
msgid "Recover your password"
msgstr "Odzyskaj hasło"
<pre>#: views/addons/menu.thtml:28 views/addons/layout.thtml:79
msgctxt "tools_link"
msgid "Recover your password"
msgstr "Odzyskiwanie hasła</pre>
</pre>
<p>Now, we just took the comment, extracted files from it and made sure that the template file we&#8217;re fixing is on the list of files extracted from the comment. If it did, we&#8217;re using the right entity. If not, try the next one.</p>
<p>With this script in hand, last night we did the final switch, marked the bug as fixed and are open for last commits before the new AMO release!</p>
<p>The whole thing was possible thanks to L10n-drivers team and Addons team cooperation and Wil Clouser&#8217;s decision not to hit the nail on the head. Since today, AMO is a quite canonical gettext project <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>What&#8217;s next?</strong></p>
<p>We&#8217;ll now work on tools (like extract-po.py) to regain the ability to narrow localization sections. Previously one could use the ID to find out which entities are from statistics or editor sections and deprioritize them. Now we&#8217;ll try to give him that info while extracting entities.</p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/08/19/amo-loses-accent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MCS &#8211; round two</title>
		<link>http://diary.braniecki.net/2009/07/24/mcs-round-two/</link>
		<comments>http://diary.braniecki.net/2009/07/24/mcs-round-two/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 17:50:19 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[mcs]]></category>
		<category><![CDATA[mct]]></category>
		<category><![CDATA[planet.m.o]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=990</guid>
		<description><![CDATA[Over the last quarter of 2008 and somewhere into first months of 2009 I was working on the project called Mozilla Community Sites. We got a lot at the time, with initial implementations for several products, the Theme, Logo, style guidelines and the whole concept that was originally introduced by Pascal Chevrel and me in [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last quarter of 2008 and somewhere into first months of 2009 I was working on the project called <a href="https://wiki.mozilla.org/MCS">Mozilla Community Sites</a>. We got a lot at the time, with initial implementations for several products, the Theme, Logo, style guidelines and the whole concept that was originally introduced by <a href="http://www.chevrel.org/">Pascal Chevrel</a> and me in 2004 really took off.</p>
<p>Then, at some point I had to call it a release and switch to other tasks, while MCS was waiting there for people to pick it up and use. From the very early days of the project, I knew it&#8217;s one of the projects that has to be maintained by the community of its users and upstreaming patches people make while deploying will set the speed of the project. In the end, we have to use the work to understand what&#8217;s most important and I&#8217;m personally maintaining only one community website &#8211; <a href="http://wiki.aviary.pl">wiki.aviary.pl</a>, so I can&#8217;t be the only driving force.</p>
<p>Over a few months we saw a lot of experimentation with MCS, and there are at least 10-15 sites that are using some aspects of the project (for example <a href="http://ims.mii.lt/mozilla/">Mozilla Lietuvoje</a>, <a href="http://www.mozilla-ar.org/">Mozilla Argentina</a> or <a href="http://www.mozilla-srbija.org/">Mozilla Srbija</a>) and people started approaching me and sending patches, asking for bug fixes, features and plans. I would like to especially thank Tomer, Jesper, Guillermo and RQ.</p>
<p>Unfortunately, until now, I really failed to find time to push MCS further, and I feel like I was blocking it by being an inactive owner of the project. Things are slowly changing as <a href="http://hg.mozilla.org/webtools/mcs">RQ</a> started pushing patches to the repo, <a href="http://blogs.mozilla-europe.org/?post/2009/07/24/Mozilla-Community-Sites-%28MCS%29%2C-theme%2C-phpBB%2C-what-is-going-on">Jesper and Topal </a>started working on their sites working around me, Tomer suggesting to start a community group forum for MCS and me wrapping up my other projects to have a clean slate to work on MCS once again, this time, collaborating in a group! Yay! <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, I&#8217;d like to thank everyone involved in this project and apologize for not being able to be active when it was needed, and I&#8217;ll do my best to make myself and the project back on tracks. Rimas committing patches and Jesper getting an HG account is a solid first step. I want to start a <a href="http://groups.google.com/">group project</a> for MCS next week, and I hope we&#8217;ll have more people joining the project now. In the time of <a href="https://wiki.mozilla.org/EU_MozCamp_2009">EU MozCamp</a>, we should have a lot of exciting things done here <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/07/24/mcs-round-two/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Silme 0.5.1 released</title>
		<link>http://diary.braniecki.net/2009/06/03/silme-051-released/</link>
		<comments>http://diary.braniecki.net/2009/06/03/silme-051-released/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 19:36:27 +0000</pubDate>
		<dc:creator>zbraniecki</dc:creator>
				<category><![CDATA[main]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[planet.m.o]]></category>
		<category><![CDATA[silme]]></category>

		<guid isPermaLink="false">http://diary.braniecki.net/?p=938</guid>
		<description><![CDATA[3 weeks after Silme 0.5 release, we&#8217;re proud to announce the first minor update to Silme &#8211; 0.5.1.
Silme 0.5.1 carries 5 changes, each of them making it a little better. In particular it fixes bugs that were blocking Adrian Kalla&#8217;s version of compare-locales to get its first release.
So, what&#8217;s new in 0.5.1?

New method: silme.diff.EntityList.has_entity() should [...]]]></description>
			<content:encoded><![CDATA[<p>3 weeks after Silme 0.5 release, we&#8217;re proud to announce the first minor update to <a href="https://wiki.mozilla.org/Silme:0.5.1">Silme &#8211; 0.5.1</a>.</p>
<p>Silme 0.5.1 carries 5 changes, each of them making it a little better. In particular it fixes bugs that were blocking <a href="http://adrianer.jogger.pl/">Adrian Kalla</a>&#8217;s version of compare-locales to get its first release.</p>
<p>So, what&#8217;s new in <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=494517">0.5.1</a>?</p>
<ul>
<li>New method: silme.diff.EntityList.has_entity() should make testing entities in diff faster</li>
<li>Two bugs in silme.io.jar that made it impossible to use</li>
<li>Performance improvements in silme.io.jar.get_package() (can we upload silme script to <a href="http://www.fastestfirefox.com/">Fastest Firefox</a>? <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) by just ignoring to load zip entries for directories</li>
<li>We don&#8217;t close ZIP file in get_package if we didn&#8217;t open it there. It was a bug that caused silme.io.jar to fail with subpackages</li>
<li>Major rework of URI schema accepted in silme.io.jar. It is now possible to do:
<pre>ioc = silme.io.Manager.get('jar')
l10npack = ioc.get_package('jar:chrome/package.jar!locale/ab-CD/package')</pre>
</li>
</ul>
<p>This is the very first minor release in the history of Silme projects, and we&#8217;re happy to make it!</p>
<p>You can download it from <a href="http://hg.mozilla.org/users/zbraniecki_mozilla.com/silme/file/silme-0.5.1">HG repository</a> or use <a href="http://pypi.python.org/pypi/silme/0.5.1">pypi for silme0.5.1</a>.</p>
<p>I&#8217;d like to thank Adrian who helped by identifying bugs and writing patches for this release. You may also want to check his newest project which uses Silme to create a sleek localization extension for Komodo! It&#8217;s called <a href="http://koala.mozdev.org/drupal/blog/7216">Koala</a> <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Next in line is <a href="https://wiki.mozilla.org/Silme:0.7">Silme 0.7</a> which will bring new features and optimizations and we&#8217;re planning an alpha release to happen early next week. If you&#8217;re interested in hacking localization related code and never tried silme, it may be a good moment to give it a try and help us on the way to 0.7 <img src='http://diary.braniecki.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://diary.braniecki.net/2009/06/03/silme-051-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
