<?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>Christopher Blizzard &#187; GNOME</title>
	<atom:link href="http://www.0xdeadbeef.com/weblog/category/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.0xdeadbeef.com/weblog</link>
	<description>I love you.</description>
	<lastBuildDate>Thu, 26 May 2011 20:29:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>building the complete browser for everyone everywhere</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/08/building-the-complete-browser-for-everyone-everywhere/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/08/building-the-complete-browser-for-everyone-everywhere/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 19:53:21 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=601</guid>
		<description><![CDATA[Since Stuart landed the Qt port into mozilla-central the other day and Ryan Paul wrote an article on Qt and Mozilla I thought it might be worth it to add some context to that work. Ryan&#8217;s article contains this quote &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/08/building-the-complete-browser-for-everyone-everywhere/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Since Stuart <a href="http://hg.mozilla.org/mozilla-central/index.cgi/rev/4a506fa751d8">landed the Qt port into mozilla-central</a> the other day and Ryan Paul <a href="http://arstechnica.com/news.ars/post/20080818-nokia-helps-port-firefox-to-qt.html">wrote an article on Qt and Mozilla</a> I thought it might be worth it to add some context to that work.
</p>
<p>
Ryan&#8217;s article contains this quote from Nokia developer Oleg Romaxa:</p>
<blockquote><p>
&#8220;Nokia will use the best browser for the job,&#8221; he said. &#8220;Currently, we cannot make a full-featured and integrated browser with WebKit in mobile. But with Mozilla, we do not need to do anything, we can take existing models and API&#8217;s which are available. Also, NPAPI support is already in the Gecko web rendering engine. They are also concerned that WebKit is, to some extent, controlled by Apple, who are in competition to Nokia with their iPhone.&#8221;
</p></blockquote>
<p>
There are a few important things to note here.  First, that Mozilla is the complete package.  We&#8217;ve got everything that you need to implement a browser.  Disk cache, integrated (and well tested!) networking, a super-fast JS implementation, an XML UI markup language (XUL) and a brand that regular humans recognize.  Those things mean you can get to market faster as a mobile integrator or developer instead of having to create them yourselves again.
</p>
<p>
Second, our neutral stance.  We believe in <em>the web</em> over any particular platform.  From Nokia&#8217;s standpoint if you&#8217;re building on the same technology that one of your major competitors is leading vs. working with someone who <em>absolutely</em> wants a web browser to succeed across all of Nokia&#8217;s platforms &#8211; which partner would you choose?  I&#8217;ve often said &#8220;pick your partners carefully&#8221; and this has to be an important part of any technology decision making process.
</p>
<p>
There&#8217;s also another interesting flip side to this: who is WebKit&#8217;s other major competitor?  Apple itself.  Just like Microsoft&#8217;s push to get Silverlight out in the world, Apple wants people to write apps to their native platform.  In this case, the iPhone.  Given the strategic value of the native platform as part of Apple&#8217;s offerings, their investment in WebKit will (or at least should) always lag behind.  We&#8217;re investing everything we have in the web and our platform and it&#8217;s starting to pay dividends.
</p>
<p>
And since I have your attention here are two other very interesting checkins: <a href="http://hg.mozilla.org/mozilla-central/index.cgi/rev/a7b2f76a6ab8">GTK+ and directfb (which people are actually building products on)</a> and <a href="http://hg.mozilla.org/mozilla-central/index.cgi/rev/1ebacbd09ad97451e63bc7a06cfbcb782e1af3cc">worker threads (ala Gears.)</a>
</p>
<p>
Look at our current (and planned) platform support: win32, windows mobile, win32 + qt, mac OSX, linux + gtk2, linux + qt, qt embedded, linux + gtk2-directfb, x86, ppc, arm.  We&#8217;re bringing the web to everyone and we&#8217;re doing it with a single coherent project with regular releases.  That&#8217;s what I mean when I say &#8220;for everyone everwhere.&#8221;  The web is bigger than any platform and we&#8217;re the embodiment of that mantra.
</p>
<p>
Mozilla is moving.  It&#8217;s fast and furious now.  And I think we&#8217;re just getting started.
</p>
<p>
[ <strong>Update</strong>: It was pointed out to me that what I wrote above might be misinterpreted as announcing that Nokia had picked a platform or something similar.  Just to be clear that wasn't what I was doing, and as far as I know they haven't.  I don't have knowledge about that decision inside of Nokia.  Only they know.  I was just pointing out what a decision making process might look like and the importance of picking well-aligned partners.  And the fact that we're running on more and more platforms these days which is cool as hell. ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/08/building-the-complete-browser-for-everyone-everywhere/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>ogg theora encoder improvements</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/08/ogg-encoder-improvements/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/08/ogg-encoder-improvements/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 18:43:40 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[OGG]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=526</guid>
		<description><![CDATA[Since we&#8217;ve announced ogg theora support for the next version of Firefox I thought it might be worth it to point out that there has been a lot of recent work to improve the state of the theora video encoder. &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/08/ogg-encoder-improvements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Since we&#8217;ve <a href="http://www.0xdeadbeef.com/weblog/?p=492">announced ogg theora support for the next version of Firefox</a> I thought it might be worth it to point out that there has been a lot of recent work to improve the state of the theora video encoder.  We&#8217;re only including a decoder, which just displays the video stream that is handed to it.  Real improvements in the quality of video often happen in the encoder, which is what this post is about.
</p>
<p>
Monty (don&#8217;t call him Chris) has <a href="http://xiphmont.livejournal.com/35363.html">put up a post explaining some of the work that he&#8217;s been doing</a> with samples of much-improved ogg theora video.  Note that these samples actually played very poorly in the Quicktime plugin that I have for ogg theora on my mac but worked great on my Linux box.  Figures.
</p>
<p>
Chris has been calling his work &#8220;Thusnelda&#8221; because he clearly likes words that are hard to pronounce.  Either that or all the good names are now taken, I&#8217;m not sure.
</p>
<p>
Anyway, If you really want to see the difference between them you only need to watch the first 10 seconds of each video.  Note the pixelization in the back of the silver chair as it moves across the screen in the old video.  Then watch it in the new video.  The difference is really something you can see.  I&#8217;ve uploaded pictures here.  I suggest that you click through to both of the below images in different tabs and flip between them.  (The links will open in new windows/tabs.)  The difference is pretty amazing.
</p>
<p><div align="center">
<a href="http://www.flickr.com/photos/christopherblizzard/2744872326/sizes/o/" target="_blank"><br />
<img src="http://farm4.static.flickr.com/3076/2744872326_0ac540d830_m_d.jpg"/><br/><br />
Old and Busted.<br />
</a><br />
<br/><br />
<a href="http://www.flickr.com/photos/christopherblizzard/2744872332/sizes/o/" target="_blank"><br />
<img src="http://farm4.static.flickr.com/3236/2744872332_07ef975fca_m_d.jpg"/><br/><br />
New Hotness!<br />
</a>
</div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/08/ogg-encoder-improvements/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>the new GNOME duality</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/07/the-new-gnome-duality/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/07/the-new-gnome-duality/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 22:31:05 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=408</guid>
		<description><![CDATA[Havoc mentioned that he had talked to me about the emerging GNOME duality after coming back from GUADEC. He also suggested that I post something about it. I&#8217;ll try to put my thoughts down here on paper. First of all, &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/07/the-new-gnome-duality/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://log.ometer.com/2008-07.html#16">Havoc mentioned</a> that he had talked to me about the emerging GNOME duality after coming back from GUADEC.  He also suggested that I post something about it.  I&#8217;ll try to put my thoughts down here on paper.
</p>
<p>
First of all, I think that the GNOME project is in a really strange place right now.  Others called it &#8220;decadence&#8221; but I&#8217;ve been thinking of it more as a state of transition.  Things are changing in GNOME and I think that it&#8217;s largely just a reflection of time.  GNOME has been around for more than a decade.  Leadership is changing.  GNOME is evolving into something else.  I don&#8217;t think that I really understood this until after I was at the advisory board meeting at this year&#8217;s GUADEC.
</p>
<p>
Second, I&#8217;ll state what I said to Havoc.  That I think that GNOME has evolved into two different projects, each struggling to share code and be successful.  One is the &#8220;classic desktop&#8221; as we used to call it at Red Hat and the second project is built around servicing the mobile and highly-specialized desktop experience market.  These are not the same thing, not by any stretch.  Different audiences, different goals, different players and different revenue models.  As a result you can feel some measure of friendly, but sometimes misunderstood confusion in the GNOME project because the underlying change isn&#8217;t fully understood.
</p>
<p>
A side effect of this change is also that there&#8217;s been a major change of the leadership in GNOME.  It&#8217;s safe to say that in the past the North American Linux distributors played the largest part in determining the direction of GNOME.  But those two companies haven&#8217;t experienced much growth over the last 10 years, either in terms of market or financial success and that&#8217;s been reflected in the relative investment that you see from the two companies.
</p>
<p>
Novell has lost most of the former Ximian people to attrition after the Novell merger and Red Hat hasn&#8217;t invested in a huge number of people relative to the growth of the rest of the company.  And desktop opportunities haven&#8217;t really grown so things are at best static.  Novell is still invested in apps and Red Hat is still invested in underlying infrastructure.  Not much has changed on that front in a long time.  It&#8217;s still all slow-growth high-touch enterprise work.  Not the kind of stuff that shapes an industry, to be sure.  (Note that I don&#8217;t mention Canonical who intentionally does not invest in upstream GNOME and aside from a somewhat large distribution channel, does not lead inside of GNOME.)
</p>
<p>
This is in direct contrast to the various consulting companies doing mobile work.  There are at least <a href="http://www.flickr.com/photos/mallum/2657249574/"><strike>14</strike> 20+ people at OH</a>, 20+ people at Collabora, 11 people at Imendio, people at Fluendo, people at Nokia, Litl, a couple of other random consulting shops in places like Spain, all leading and all contributing.  These little shops are alive with energy and impact, they are writing new and interesting things and they are really the heart of where GNOME is heading.  This is where the new leadership lies.  And they are managing to lead as a group and share in the wealth found in GNOME work.
</p>
<p>
As a side note this signals a change in the geography of leadership of GNOME.  It&#8217;s moved from the US to Europe in a very short time frame.  If you want to be part of the core of GNOME you have to be in Europe.  It used to be Boston in the US.  That is no longer the case.
</p>
<p>
But this also signals a different kind of change.  An even more important one.  In the past the core of GNOME has been creating great experiences for users.  GNOME love.  Fixing hard technical problems up and down the stack that really solve user problems.  D-Bus, HAL, PackageKit, NetworkManager &#8211; all of these low level pieces started with creating great user experiences.  This is what has differentiated GNOME from KDE &#8211; creating simple and wonderful experiences for users.  It was never technology focused.
</p>
<p>
But in the mobile world, and certainly one that&#8217;s driven by the financials of consulting organizations, platform is key.  (Actually, this is a lie, but bear with me for a second.)  The new leadership is more interested in delivering a working platform than a great experience.  The experience in the mobile market is more often determined by the customer.  In this case it would be the manufacturer or the mobile operator.  And that&#8217;s something that GNOME has never had to deal with before, at least not in any real sense.
</p>
<p>
I will make a statement here that will probably be controversial but I believe to be true.  Based on experiences with developers, GNOME&#8217;s stack is not as good as others that are on the market when it comes to platform-based decisions and platform experience.  In particular, Qt and Apple&#8217;s platform are both very developer friendly and make it very easy for developers to create good-looking, modern looking apps.  And they have more time and experience in embedded environments.  With GTK+ it&#8217;s possible to make things look good and work fast, but it&#8217;s very difficult.  If in a platform-driven market and a platform-driven world you&#8217;re not the #1 or #2 player it&#8217;s going to be very difficult to make a dent in the market.  (This is especially true if Nokia decides to fix the Qt licensing.)
</p>
<p>
Basically what I&#8217;m saying is that if mobile is one of the main roads for GNOME (and it clearly is) then platform and embedding needs to be a core competency of the entire project.  It can&#8217;t be just about experience.  And I don&#8217;t think that we&#8217;re there today.  That&#8217;s one of the big risks that we face.
</p>
<p>
I made a statement earlier, one that&#8217;s actually a lie.  That platform was the key component in the mobile space.  But I would actually argue that it&#8217;s not.  End user experience, which can be driven by the platform in a bottom up fashion (as opposed to top down) is extremely important.  Apple showed us that.  The ability to make decisions about user experience in mobile is something that hasn&#8217;t historically been up to platform people.  But I believe that in order to really be successful that GNOME needs to find a way to do this.
</p>
<p>
I believe that this is also one of the things that is a big downside of having a lot of small consulting shops all working on the same project.  While it&#8217;s nice to have that diversity, it&#8217;s also very difficult to come to decisions about experience.  And no one right now is focused on a complete product and experience.  Everyone is building tools to let someone else make a decision.
</p>
<p>
Products almost always win.  They lower costs for buyers and producers alike and increase leverage for the people who build the products.  They offer the producer the ability to make decisions.  And that&#8217;s the most important factor in building great experiences for people.  Weak products are the result of poor decision making and a lack of design direction.  And I worry that&#8217;s where GNOME is going.  To a place where we&#8217;re not at our core competency and we aren&#8217;t building things that actual people will care about.  That&#8217;s not historically what GNOME has been about, and I worry that&#8217;s where it&#8217;s going.
</p>
<p>
That&#8217;s also why I&#8217;m calling this a duality.  Two projects existing as one.  One without a great deal of success, but an end-user identity and brand and goals, and another with a chance to succeed but without much identity or end-user goals.  It&#8217;s going to be a rough ride and I think that in order to find success we have to find a way to merge the two into a single set of goals.  The desktop isn&#8217;t going anywhere, but the mobile project isn&#8217;t going to produce GNOME-visible results either.  GNOME will be well-hidden behind someone else&#8217;s branding and experience.  And maybe that&#8217;s fine, but it&#8217;s not the way to lead and win in the end.
</p>
<p>
I think the GTK+ 3.0 discussions are a symptom of this.  They are sold as a technology change, a chance to clean up, but without a specific user-driven direction as to why someone would want to make that change.  (Or at least that&#8217;s how it was presented at the AB meeting.)  If someone could describe why that change should be made, that would be great.  How will it help users?  How will it help us achieve our goals?  (Holy crap, what are our goals anyway?)  How does it help bridge the gap between desktop and mobile?  These are important questions, and I think a lot more discussion needs to take place.
</p>
<p>
So those are my thoughts on the GNOME project today.  Hope it helps bring some understanding to how GNOME can more effectively manage itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/07/the-new-gnome-duality/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>yesterday&#8217;s guadec keynote &#8211; more links</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/07/yesterdays-guadec-keynote-more-links/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/07/yesterdays-guadec-keynote-more-links/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 05:57:40 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=405</guid>
		<description><![CDATA[I gave my keynote at GUADEC yesterday. I tried to make it fun and interactive for the audience, lots of questions, lots of heckling on my part and I tried to make fun of Miguel every chance I got. At &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/07/yesterdays-guadec-keynote-more-links/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
I gave my keynote at GUADEC yesterday.  I tried to make it fun and interactive for the audience, lots of questions, lots of heckling on my part and I tried to make fun of Miguel every chance I got.
</p>
<p>
At the end I gave some demos of various bits of what&#8217;s coming down the pipe for Firefox 3.next.  There&#8217;s a bunch of stuff on the web about it now.  Here are some links of interest:
</p>
<p>
Robert O&#8217;Callahan</p>
<ul>
<li><a href="http://weblogs.mozillazine.org/roc/archives/2008/07/svg_paint_serve.html">SVG Paint Servers For HTML</a></li>
<li><a href="http://weblogs.mozillazine.org/roc/archives/2008/07/the_latest_feat.html">Using Arbitrary Elements As Paint Servers</a></li>
</ul>
<p>
Chris Double</p>
<ul>
<li><a href="http://www.bluishcoder.co.nz/2008/07/video-bling.html">Video Bling</a></li>
<li><a href="http://www.double.co.nz/video_test/">Chris&#8217; video test page</a> &#8211; my tests came from here</li>
</ul>
<p>
Vladimir Vukićević</p>
<ul>
<li><a href="http://blog.vlad1.com/2008/05/01/canvas-3d-extension-update/">Canvas 3D Extension Update</a></li>
</ul>
<p>
If you&#8217;re interested in the slides you can see them <a href="http://people.mozilla.org/~blizzard/presentations/2008-guadec/">on my mozilla people page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/07/yesterdays-guadec-keynote-more-links/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>gnome foundation hires stormy peters as executive director</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/07/gnome-foundation-hires-stormy-peters-as-executive-director/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/07/gnome-foundation-hires-stormy-peters-as-executive-director/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 14:05:45 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=404</guid>
		<description><![CDATA[Sounds like the board of the GNOME Foundation has decided to hire the awesome Stormy Peters as the Executive Director of the GNOME Foundation. There&#8217;s a press release about the hire. Good luck, Stormy!]]></description>
			<content:encoded><![CDATA[<p>
Sounds like the board of the GNOME Foundation has decided to hire the awesome <a href="http://www.stormyscorner.com/">Stormy Peters</a> as the <a href="http://en.wikipedia.org/wiki/Executive_director">Executive Director</a> of the GNOME Foundation.  <a href="http://www.gnome.org/press/releases/2008-07-stormy-executive-director.html">There&#8217;s a press release</a> about the hire.
</p>
<p>
Good luck, Stormy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/07/gnome-foundation-hires-stormy-peters-as-executive-director/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>some random mozilla-related links for your enjoyment</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/#comments</comments>
		<pubDate>Fri, 30 May 2008 17:54:22 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Web]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=380</guid>
		<description><![CDATA[Ari Jaaksi talks about Linux on Phones and what&#8217;s going on at Nokia. He mentions that he&#8217;s working with us at Mozilla &#8211; very true. And good fodder for another post on another day. He also touches on an important &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<b><br />
<a href="http://jaaksi.blogspot.com/2008/05/phones-no-ubuntu-yes.html">Ari Jaaksi talks about Linux on Phones and what&#8217;s going on at Nokia.</a><br />
</b>
</p>
<p>
He mentions that he&#8217;s working with us at Mozilla &#8211; very true.  And good fodder for another post on another day.
</p>
<p>
He also touches on an important topic for me, which is the difference between between being &#8220;open&#8221; and being &#8220;good.&#8221;  Being open is easy.  Being good is not.  I&#8217;ll write more about that at a later date as well.
</p>
<p>
<b><a href="http://www.toolness.com/wp/?p=41">Atul Varma talks about how Weave works and some of the wider goals for the project.</a></b>
</p>
<p>
Weave is a very interesting part of the Mozilla project.  The underlying mechanisms are very simple (just a webdav store and a private and public key system, basically.)  But the fact that we&#8217;ll be able to use it to share data between users on their terms and extension authors should be able to take advantage of the storage that&#8217;s there &#8211; well &#8211; it could be huge.  Lots of great potential here.
</p>
<p>
He also touches on an important part of weave.  That we want user data to be private and we want users to control what they are exposing to the world.  Mozilla&#8217;s servers can&#8217;t read the data that you post and neither can anyone else.  That&#8217;s an important piece of what Weave represents.
</p>
<p>
<b><a href="http://googleblog.blogspot.com/2008/05/happy-birthday-google-gears.html">Google drops the Google from Gears and will be adding Firefox 3 support.</a></b>
</p>
<p>
It&#8217;s clear that Google is trying to build a larger community around the Gears plugin and is willing to give up branding in order to try and make that a reality.  Also good that they are porting to Firefox 3 given that a huge chunk of the world is <a href="http://www.spreadfirefox.com/en-US/worldrecord">about to update to it</a>.
</p>
<p>
<b><a href="http://stompbox.typepad.com/blog/2008/05/also-in-defense.html">Jorge Castro talks about his views on Mozilla&#8217;s commitment and investment in Linux.</a><br />
</b>
</p>
<p>
Jorge is a pretty fantastic guy and I&#8217;m happy that he&#8217;s willing to jump out there and say something about the hard work that our community put in for this release of Firefox on Linux support.  Great native integration, memory and performance improvements, a great experience for users, etc.  Good to see him focus on the big picture which is how much better Firefox 3 will be vs. Firefox 2.
</p>
<p>
Anyway, that&#8217;s it for Friday.  Thanks for tuning in!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/some-random-mozilla-related-links-for-your-enjoyment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mozilla on directfb</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/#comments</comments>
		<pubDate>Tue, 27 May 2008 19:39:57 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Embedding]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=377</guid>
		<description><![CDATA[Over the last few months some of our contributors have been hacking away on trying to get Mozilla running on directfb systems on top of gtk. You can see Niranjan&#8217;s latest post on the topic here as well as the &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Over the last few months some of our contributors have been hacking away on trying to get Mozilla running on directfb systems on top of gtk.  You can see Niranjan&#8217;s <a href="http://groups.google.com/group/mozilla.dev.platforms.mobile/msg/f56bbf10e293f7c3">latest post on the topic here</a> as well as the <a href="http://wiki.mozilla.org/Mobile/DFBPorting">DirectFB Porting Page</a> in our wiki.  Sounds like they have things mostly up and running at this point.
</p>
<p>
There are some patches required to some of the GNOME stack to get things up and running.  The patches are up on the page.
</p>
<p>
Good work, guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-on-directfb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>more background on fsync on linux</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/#comments</comments>
		<pubDate>Sun, 25 May 2008 15:31:23 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=374</guid>
		<description><![CDATA[Mike Shaver put up an excellent piece on the current status of the fsync issues on Linux. It&#8217;s worth a read if you care about such things.]]></description>
			<content:encoded><![CDATA[<p>
Mike Shaver put up an <a href="http://shaver.off.net/diary/2008/05/25/fsyncers-and-curveballs/">excellent piece on the current status of the fsync issues on Linux</a>.  It&#8217;s worth a read if you care about such things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/more-background-on-fsync-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mozilla unit testing on linux</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/#comments</comments>
		<pubDate>Fri, 23 May 2008 20:40:58 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=371</guid>
		<description><![CDATA[Rob Campbell posted a howto for people who want to run Mozilla unit tests on Linux. If you&#8217;ve ever wondered how to do it, it&#8217;s a decent overview on how to get started. And it&#8217;s pretty relevant to what I &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Rob Campbell posted a <a href="http://antennasoft.net/robcee/2008/05/22/howto-unit-testing-linux/">howto for people who want to run Mozilla unit tests on Linux</a>.  If you&#8217;ve ever wondered how to do it, it&#8217;s a decent overview on how to get started.  And it&#8217;s pretty relevant to what I <a href="http://www.0xdeadbeef.com/weblog/?p=368">posted yesterday.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/mozilla-unit-testing-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>system components, fsync and distribution-specific changes: a cautionary tale</title>
		<link>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/</link>
		<comments>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/#comments</comments>
		<pubDate>Wed, 21 May 2008 18:45:05 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Novell]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.0xdeadbeef.com/weblog/?p=368</guid>
		<description><![CDATA[Almost every single Firefox user on Linux gets their builds directly from the various distributions. Ubuntu, Fedora, Red Hat, Debian (down-branded), Novell, Foresight, etc. And in those cases users generally have a pretty good experience. But that&#8217;s not always the &#8230; <a href="http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Almost every single Firefox user on Linux gets their builds directly from the various distributions.  Ubuntu, Fedora, Red Hat, Debian (down-branded), Novell, Foresight, etc.  And in those cases users generally have a pretty good experience.  But that&#8217;s not always the case.
</p>
<p>
I&#8217;ve always seen this position as both good and bad.  It&#8217;s good for the distribution end users since they don&#8217;t have to go and find a build of Firefox.  And it&#8217;s good for Mozilla because it means that we don&#8217;t have to produce builds for N Linux distributions, which is basically an impossible task.  It also means that distributions can make late-breaking fixes that are specific to their distribution that really affect their particular user base.
</p>
<p>
But it&#8217;s bad, too.  It means we&#8217;re disconnected from users on those various Linux distributions.  We&#8217;re at the mercy of the distributions to make updates in a timely manner, and very often we find ourselves chasing them to make updates that they clearly should be doing.  For those users where we have a direct relationship <a href="http://blog.mozilla.com/security/2007/06/18/time-to-deploy-improvement-of-25-percent/">we have a pretty good track record of making timely updates to almost our entire user base.</a>  Linux users are cut off &#8211; quite intentionally because that is the classic &#8220;value add&#8221; for a Linux distributor &#8211; from our update train, sometimes leaving them vulnerable for weeks or months.  (Note that this does not generally affect the  top-tier Linux distributors like Canonical, Red Hat and Novell.  They are actually excellent at delivering updates because they have dedicated engineers who only have the job to chase Mozilla and be ready when we&#8217;re ready to deliver an update &#8211; either a firedrill or planned update release.)
</p>
<p>
There&#8217;s another large downside as well.  Distributions often make changes to how Firefox is built &#8211; be it compiler optimization changes, linking with system libraries instead of the ones that we ship with, adding their own large patches to add support for some random feature or making changes to the default look and feel of the browser.
</p>
<p>
<a href="http://jasondclinton.livejournal.com/66509.html">Contrary to uninformed hyperbole</a> Mozilla actually does a huge amount of testing on Linux.  It&#8217;s one of our three top tier platforms and we run it through all the same regression and performance testing that the other platforms get.  You can see this by looking how much attention we pay to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=409803">how to tune the compiler to give us the best performance</a> (hint: more -O doesn&#8217;t always make us faster, nor does architecture-specific tuning!) or how much time we&#8217;ve spent on the reported <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=421482">fsync</a> issues that have affected quite a few people.
</p>
<p>
Because of the amount of work that we do on Linux and how closely we work with upstream projects (sqlite, cairo, etc) we&#8217;re still the experts on what works and what doesn&#8217;t.  And because we have a pretty full set of tests that we go through we know what versions of upstream projects work well inside of Mozilla.  Note that this doesn&#8217;t mean we know which versions <em>don&#8217;t</em> work with Mozilla, as I will illustrate later.  We can&#8217;t be compatible with every single version of every upstream project with every single possible configuration, <a href="http://benjamin.smedbergs.us/blog/2005-07-29/the-testing-matrix/">it just doesn&#8217;t work</a>.
</p>
<p>
I&#8217;ll use a specific case in point here to illustrate what I&#8217;m talking about with Fedora + Red Hat.  (<b>Note that I&#8217;m pointing this out because it&#8217;s a real situation, not that I think that the Fedora + Red Hat guys are doing a bad job &#8211; they actually do a fantastic job given the task as far as I&#8217;m concerned.  The issue I&#8217;m about to describe does not affect Fedora 8 or Fedora 9 users &#8211; only those who happen to be using Fedora Rawide &#8211; the bleeding edge of the bleeding edge.</b>)
</p>
<p>
<a href="http://christopher.aillon.org/blog/">Chris Aillon</a> and Matthias Clasen were reporting an issue to me where Firefox was hanging for long periods of time in Fedora Rawhide while opening the history tab.  I figured that it was the same old fsync-related problem but they were reporting that it was happening for long periods of time (30 seconds in a lot of cases) and it was happening on systems that were relatively unloaded in terms of IO.  I was near the Red Hat office on a personal errand and I thought I would stop by and try to help diagnose the issue.  Looking at the issue in a debugger I found that it was hanging down in sqlite and not returning into Mozilla-specific code at all.  I also noticed that they were linked against the system sqlite instead of the one that we ship with.  I asked Matthias to try a Mozilla-built Firefox on his machine with his profile and it did not have any problems.  When Chris generated a build for Fedora Rawhide that used our internal sqlite version it also didn&#8217;t have any problems.
</p>
<p>
It turns out that the sqlite version that&#8217;s included in Rawhide, version 3.5.8, has a <a href="http://www.sqlite.org/cvstrac/tktview?tn=3015">bug</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c7">in a particular type of query that Mozilla uses extensively</a>.  When Mozilla updated to that version of sqlite our automated testing picked up on the problem and the change was <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c8">backed out of our tree</a>.  Let&#8217;s look at the order of operations that caused this particular issue.
</p>
<ol>
<li>Mozilla checks in a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c5">patch to upgrade to sqlite version 3.5.8.</a>
<li>Fedora Rawhide notices the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=424063">new requirement in configure</a> and bumps their system sqlite version to 3.5.8.
<li>Mozilla&#8217;s automated testing <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=429336#c8">picks up failures as a result of the new sqlite version</a> and backs out the changes.
<li>That backout is missed by the Fedora folks and they are left linking against an sqlite version that contains the problem.
</ol>
</p>
<p>
This isn&#8217;t the worst example of what goes on when distributors are making changes to upstream software.  The impact here was pretty minor &#8211; only a few users were affected and the bug was pretty obvious to a large number of people.  It does get worse.  Ask Debian and Ubuntu users how happy they are about regenerating keys in light of the <a href="http://www.debian.org/security/2008/dsa-1571">OpenSSL issues that were recently</a> found with the downstream patch.  (I realize that&#8217;s an oversimplification of that particular issue but it has a lot of the same qualities as this example.)
</p>
<p>
This is a real problem, one that we&#8217;ve even <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=424063#c6">successfully predicted</a>.
</p>
<p>
So how does this relate to the fsync issue?  Well it shows the opposite end of the of the patch spectrum.  Basically every single Linux distribution is waiting for a good fix to that particular problem.  And they will all ship a fix to their users.  So sometimes distro-specific patching is a good thing.
</p>
<p>
The trick has to be finding the balance.  Right now we know that there are a lot of instances where bad or ignorant decisions are being made.  (Just because an option exists in ./configure doesn&#8217;t mean that you should use it!)  People clearly aren&#8217;t taking advantage of Mozilla&#8217;s automated testing facilities &#8211; in the Fedora example the problem would have shown up pretty quickly if they were running the same tests Mozilla does.  And the flows of information between Mozilla and the various distributions is ad-hoc at best.  Very often more effort is spent debugging the blame instead of debugging the actual problem at hand.  I&#8217;ve been on the receiving end of that recently and it&#8217;s certainly soul-crushing.
</p>
<p>
There&#8217;s also no easy answer to the multiple-library-version problem, either.  Once again, we&#8217;re not going to be compatible with everything everywhere, especially on Linux where the platform is more like quicksand than green grass.  Just screaming &#8220;you should always link against system libraries!!!!&#8221; isn&#8217;t going to work when the <a href="http://blogs.fedoraunity.org/kanarip/2008/05/16/fedora-9-everything-spin">size and complexity</a> of Linux continues to expand without any contraction of the complexity involved in which Linux you should target.  That with blind version updating means that we&#8217;re just going to be stuck with multiple versions of libraries &#8211; assuming you want a quality product that works as well as it does on Windows and the Mac and does so consistently.
</p>
<p>
So if I had to wrap up this post with some lessons learned I would put them down as this:
</p>
<ol>
<li>Don&#8217;t change a default configure option unless there&#8217;s a very good and very specific reason for it.  No, really, don&#8217;t touch the optimization flags &#8211; we&#8217;ve probably tuned them to an inch of the compiler&#8217;s life.  But if you actually <em>run tests</em> and find something faster, let us know.
<li>Don&#8217;t ship a patch unless it&#8217;s been vetted by upstream.
<li>Ship known good patches if it will help your users.  But don&#8217;t do it without talking to us first.  Remember, it&#8217;s possible &#8211; and likely &#8211; that we&#8217;ve known about your issue for quite a while.  And while you&#8217;re at it if you had to fix something consider adding a test to our test suite so it won&#8217;t happen again?
<li>If you do want to carry some heavy patches consider following the pattern that the enterprise distributions are using: they work together (at least Ubuntu, Novell and Red Hat) to carry patches for some pretty old Firefox releases.  And have been relatively successful doing it.
<li>And finally, remember that there&#8217;s a fine line between adding real value and making a change for change&#8217;s sake.  The former is always encouraged (within limits!) but the latter often causes more trouble than it is worth.
</ol>
</p>
<p>
In closing I think I would just like to say that there&#8217;s a lot of work to be done here.  And it&#8217;s something that will need constant adjustment &#8211; there&#8217;s no one set of rules that we can develop and expect them never to change.  Both Linux distributors and Mozilla can do better than they have done to date in terms of making things better for users on Linux.  Thinking about changes, improving communication, understanding the reason for changes or diversion from upstream, etc.
</p>
<p>
And all of that discussion has to come from the standpoint of making sure that the user&#8217;s experience is improved.  If it doesn&#8217;t improve their experience in a very tangible way, it&#8217;s probably not worth doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.0xdeadbeef.com/weblog/2008/05/system-components-fsync-and-distribution-specific-changes-a-cautionary-tale/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

