<?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>Brad&#039;s Blog</title>
	<atom:link href="http://blog.mozilla.org/blassey/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.org/blassey</link>
	<description>sorry for random</description>
	<lastBuildDate>Fri, 18 Nov 2011 02:39:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Blog moved</title>
		<link>http://blog.mozilla.org/blassey/2011/11/17/blog-moved/</link>
		<comments>http://blog.mozilla.org/blassey/2011/11/17/blog-moved/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 02:39:52 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=159</guid>
		<description><![CDATA[My blog has moved to http://blog.lassey.us]]></description>
				<content:encoded><![CDATA[<p>My blog has moved to http://blog.lassey.us</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2011/11/17/blog-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fourth Alpha for Fennec on Windows Mobile</title>
		<link>http://blog.mozilla.org/blassey/2010/02/18/fourth-alpha-for-fennec-on-windows-mobile/</link>
		<comments>http://blog.mozilla.org/blassey/2010/02/18/fourth-alpha-for-fennec-on-windows-mobile/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 22:54:02 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=145</guid>
		<description><![CDATA[I&#8217;m really happy to announce the fourth alpha release of Fennec for Windows Mobile. It has been some time since we released the third alpha and things have come quite far since then. Please have a look at this video walk through to get a sense of how things are shaping up. alpha 4 walk [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m really happy to announce the fourth alpha release of Fennec for Windows Mobile. It has been some time since we released the third alpha and things have come quite far since then.  Please have a look at this video walk through to get a sense of how things are shaping up.<br />
<video controls="true" style="float:left;padding:20px;padding-left:0px" src="http://people.mozilla.org/~blassey/wm-a4.ogg">alpha 4 walk through video, please upgrade your browser to support the HTML5 video tag</video><br />
We&#8217;ve made some pretty big improvements with overall performance since the last release, particularly with panning. Also, the fuzzy zooming that was featured in the 1.0 release for maemo makes an even bigger difference on windows mobile in terms of responsiveness. Finally, we really fixed up our interactions with the soft keyboard.  </p>
<p>To install this release, you can grab the <a href="http://download.mozilla.org/?product=fennec-1.1a1&#038;os=winmo&#038;lang=en-US&#038;type=exe">cab from here</a>. We&#8217;re also experimenting with an alternative exe installer, but only recommend it for users with unlocked devices due to the way Windows Mobile handles signing.  It can be found <a href="http://ftp.mozilla.org/pub/mozilla.org/mobile/1.1a1/fennec-1.1a1.en-US.wince-arm.exe">here </a>. For more detailed information on this release, check out the <a href="http://www.mozilla.org/projects/fennec/1.1a1-wm/releasenotes/">release notes</a>.</p>
<p>Please try this release out and keep the feedback by coming <a href="http://bugzilla.mozilla.org">filing bugs</a>, commenting here or dropping in on the #mobile channel on irc.mozilla.org.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2010/02/18/fourth-alpha-for-fennec-on-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>test-agent (aka SUT)</title>
		<link>http://blog.mozilla.org/blassey/2009/10/14/test-agent-aka-sut/</link>
		<comments>http://blog.mozilla.org/blassey/2009/10/14/test-agent-aka-sut/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:34:38 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=143</guid>
		<description><![CDATA[Today our ip based test-agent set-up ran through all 437 xpcshell tests for the first time on a Samsung Omnia II.  This is a major step forward and everyone is pretty excited (Yay team!).]]></description>
				<content:encoded><![CDATA[<p>A recent series of regressions for Windows Mobile (and Windows CE presumably) really drove home the need for consistent, automated testing to every one on the mobile team.  As part of a new push to get testing going for these devices we reexamined out strategy of running python on the devices themselves.  For various reasons that approach began to look like a lot of work with an uncertain probability of success.</p>
<p>The new approach is to have a very light-weight daemon running on the device which a host machine can interact with to run commands.  Most likely the host machine will be running a python scripts very similar to those our current test machines do, with the exception of issuing the commands over an ip connection rather than locally.</p>
<p><a href="http://elvis314.wordpress.com/">Joel Maher</a> went about modifying the existing test scripts (see <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=493748">bug 493748</a> and <a href="http://hg.mozilla.org/qa/maemkit/file/tip/ce.py">maemkit </a>for an <a href="https://bug493748.bugzilla.mozilla.org/attachment.cgi?id=406213">example</a>) to issue their commands over ip for windows mobile and I took the task of writing the light-weight daemon, which I called test-agent (<a href="http://hg.mozilla.org/users/blassey_mozilla.com/test-agent">code can be found here</a>).  Its a very basic telnet shell with a few built in commands.</p>
<p>Everything is pretty strait forward with the exception of the exec command which attaches a debugger process to the executed command to capture stdout, since Windows Mobile ostensibly doesn&#8217;t have stdout. If anyone knows of a better way to capture output from a process, I&#8217;m all ears.</p>
<p>Today this set-up ran through all 437 xpcshell tests for the first time on a Samsung Omnia II.  This is a major step forward and everyone is pretty excited (Yay team!).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/10/14/test-agent-aka-sut/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Visual Studio tab indentation</title>
		<link>http://blog.mozilla.org/blassey/2009/10/01/visual-studio-tab-indentation/</link>
		<comments>http://blog.mozilla.org/blassey/2009/10/01/visual-studio-tab-indentation/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 17:45:06 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=138</guid>
		<description><![CDATA[Every now and then I find myself in Visual Studio and I&#8217;m tempted to edit some source code (usually this happens in the middle of debugging something).  Then alarm bells go off and I&#8217;m reminded of the pain of cleaning up my patches after visual studio has littered them with tabs and CRLF&#8217;s. Turns out [...]]]></description>
				<content:encoded><![CDATA[<p>Every now and then I find myself in Visual Studio and I&#8217;m tempted to edit some source code (usually this happens in the middle of debugging something).  Then alarm bells go off and I&#8217;m reminded of the pain of cleaning up my patches after visual studio has littered them with tabs and CRLF&#8217;s.</p>
<p>Turns out you can tell Visual Studio to stop doing that.  Go to tool-&gt;options and expand the &#8220;Text editor&#8221; node and the &#8220;All Languages&#8221; node under that.  Then select tabs under that.  I set my indenting to &#8220;smart&#8221;, tab and indent size to 2 and (this is the key) enabled &#8220;Insert spaces&#8221;.  Its the &#8220;Insert Spaces&#8221; option that tells VS to use spaces instead of tabs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/10/01/visual-studio-tab-indentation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fennec Alpha 3 for Windows Mobile</title>
		<link>http://blog.mozilla.org/blassey/2009/09/04/fennec-alpha-3-for-windows-mobile/</link>
		<comments>http://blog.mozilla.org/blassey/2009/09/04/fennec-alpha-3-for-windows-mobile/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 16:11:35 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=126</guid>
		<description><![CDATA[We're very happy to announce the availability of Fennec Alpha 3 for Windows Mobile. There are lots of great features and fixes included in this release including improved panning and start up performance and support for different screen sizes and resolutions.]]></description>
				<content:encoded><![CDATA[<p>We&#8217;re very happy to announce the availability of Fennec Alpha 3 for Windows Mobile. There are lots of great features and fixes included in this release. You can find the <a href="http://www.mozilla.org/projects/fennec/1.0a3-wm/releasenotes/">release notes here</a> and a <a href="http://download.mozilla.org/?product=fennec-1.0a3&amp;os=winmo&amp;lang=en-US">cab installer here</a>. Personally, I&#8217;m turning off my iPhone to switch to a Windows Mobile device with Fennec.</p>
<p>The first thing you&#8217;ll notice is the improved start up time. Brian Crowder took Vladimir Vukicevic&#8217;s original <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=509249">dabblings </a>for Firefox on Windows CE and produced a cross platform fast start daemon for Mozilla.  Stay tuned to his <a href="http://blog.mozilla.org/bcrowder/">blog</a> for a post I&#8217;m going going to nag him to write about it. One caveat is that this faster start up time doesn&#8217;t take effect until after you reboot your phone (hey, this is Windows after all).</p>
<p>The next thing you&#8217;ll probably notice is the much improved panning. We&#8217;ve implemented a tile cache rendering system (much like you see on <a href="http://maps.google.com/">google maps</a>) that allows us to cache previously rendered content and avoid duplicating the work.  This has also allowed us to switch over to native scrolling surfaces which has greatly improved panning performance. Roy Frostig goes into much greater detail on this in his <a href="http://froystig.wordpress.com/2009/08/20/rendering-with-tiles-in-fennec/">blog post on the tile cache</a>.</p>
<p>Also helping out panning performance has been Robert O’Callahan&#8217;s <a href="http://weblogs.mozillazine.org/roc/archives/2009/06/native_widgets.html">compositor work</a>, which reduces the amount of native widgets we have to deal with when rendering or scrolling and a <a href="http://hg.mozilla.org/releases/mozilla-1.9.2/rev/94d90ddad6e2">change </a>to keep track of the invalidated regions ourselves rather than rely on the system do it.</p>
<p>But wait, there&#8217;s more! If you&#8217;re running a phone other than the HTC Touch Pro, you&#8217;ll notice we now <a href="http://starkravingfinkle.org/blog/2009/09/fennec-of-screens-and-orientation/">support a wider range of screen resolutions</a> through the use of CSS media queries, which really show&#8217;s the power of our XUL based front end. And if you <em><strong>are</strong></em> running on the Touch Pro, go a head and run your finger around the edge of the directional pad.  That zooming you see is the result of <a href="http://alexandrucristei.blogspot.com/">Alexandru  Cristei&#8217;s</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=505391">work </a>to support the touch sensitive directional pad on HTC&#8217;s Touch phones.</p>
<p>There is plenty more work to do (after all this is an Alpha release), but in writing this blog post I realize just how much progress we&#8217;ve made since<a href="http://blog.mozilla.org/blassey/2009/06/27/fennec-beta-2-for-maemo-and-alpha-2-for-windows-mobile/"> Alpha 2</a>. I hope you&#8217;ll give it a try, put it through its paces and enjoy. Oh, and<a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Fennec"> file bug reports</a>.</p>
<p><strong>Update:</strong> There is now a shortened url for the cab installer <a href="http://bit.ly/wma3cab">bit.ly/wma3cab</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/09/04/fennec-alpha-3-for-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Fennec Beta 2 for Maemo and Alpha 2 for Windows Mobile</title>
		<link>http://blog.mozilla.org/blassey/2009/06/27/fennec-beta-2-for-maemo-and-alpha-2-for-windows-mobile/</link>
		<comments>http://blog.mozilla.org/blassey/2009/06/27/fennec-beta-2-for-maemo-and-alpha-2-for-windows-mobile/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 02:17:50 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=118</guid>
		<description><![CDATA[Yesterday we announced the first multi-platform release of Fennec. They are versioned Beta 2 for Maemo and Alpha 2 for Windows Mobile. Both are based on the same front end and back end code. The Beta and Alpha labels reflect the difference in maturity and stability of the underlying platform.]]></description>
				<content:encoded><![CDATA[<p>Yesterday we <a href="http://blog.mozilla.org/blog/2009/06/26/new-fennec-releases-available/">announced</a> the first multi-platform release of Fennec.  They are versioned Beta 2 for Maemo and Alpha 2 for Windows Mobile.  Both are based on the same front end and back end code. The Beta and Alpha labels reflect the difference in maturity and stability of the underlying platform.</p>
<p>There are lots of great front end changes for both platforms, which<a href="http://blog.pavlov.net/2009/06/26/new-fennec-releases/"> Stuart touched on with his post announcing the release</a>. Mark <a href="http://starkravingfinkle.org/blog/2009/06/embedding-the-error-console-in-fennec/">posted more details about the new embedded error console</a>. I&#8217;m really hoping he writes another post about some of the other front end improvements that made it into this release.</p>
<p>For Windows Mobile the most significant improvement in my mind is the great strides we made in painting and panning performance. This has been a true team effort. First we had some outside contributions of DirectDraw optimizations for cairo (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=484864">bug 484864</a>).  <a href="http://blog.vlad1.com/">Vlad</a> worked to get them into the tree and finally <a href="http://dougt.wordpress.com/">Doug</a> made the final push to get them working for Windows Mobile (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=495298">bug 495298</a>). Jeff Muizelaar can take credit as well for his work on pixman optimizations.</p>
<p>One caveat to these optimizations is that each Windows Mobile device has different hardware and different performance characteristics. We know that these optimizations will have no effect on several devices, even though they make a huge difference on the HTC Touch Pro and others. The</p>
<p>plan is to eventual switch the optimizations we use at runtime based on the hardware we are running on. The runtime switches have already landed (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=488911">bug 488911</a>), but the tests to determine the most effective optimizations for the hardware have yet to be written (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=488547">bug 488547</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/06/27/fennec-beta-2-for-maemo-and-alpha-2-for-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Fennec Alpha 1 for Windows Mobile</title>
		<link>http://blog.mozilla.org/blassey/2009/05/15/fennec-alpha-1-for-windows-mobile/</link>
		<comments>http://blog.mozilla.org/blassey/2009/05/15/fennec-alpha-1-for-windows-mobile/#comments</comments>
		<pubDate>Fri, 15 May 2009 14:34:49 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=114</guid>
		<description><![CDATA[We are pleased to announce that Fennec Alpha 1 for Windows Mobile 6 is available for download by developers and testers. This is an early developer release intended for testing purposes only. We would like to invite interested Windows Mobile developers and users to join with Mozilla&#8217;s developer and user community to help develop, test [...]]]></description>
				<content:encoded><![CDATA[<p>We are pleased to announce that Fennec Alpha 1 for Windows Mobile 6 is  available for download by developers and testers. This is an early developer release intended for testing purposes only. We would like to invite interested Windows Mobile developers and users to join with Mozilla&#8217;s developer and user community to help develop, test and refine the product.</p>
<p>Since we started getting Fennec compiling on Windows Mobile a few months ago, we&#8217;ve made good progress:</p>
<ul>
<li> <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=2&amp;url=http%3A%2F%2Fpeople.freebsd.org%2F~jasone%2Fjemalloc%2Fbsdcan2006%2Fjemalloc.pdf&amp;ei=mXwNSuyDCYmwNJDh4K0G&amp;usg=AFQjCNHNlXYH4AKW4abWzTY9XrU1fEet7Q&amp;sig2=Qv0jGg5ZO81KMuh08Mr_5w">JeMalloc</a>, the memory management library developed by <a href="http://www.canonware.com/~ttt/">Jason Evans</a> and used by Firefox, has been ported to Windows CE and turned on for Fennec. This allows Fennec to manage memory much more efficiently.</li>
</ul>
<ul>
<li>Fennec&#8217;s user interface controls  have been rebuilt to be entirely CSS based. This will allow us to more easily adjust our UI for various screen sizes and resolutions in the future. Its also demonstrates how web technologies can be used to create compelling user interfaces.  The  look and feel will continue to evolve as we develop the product, but this release should give uses a sense of the direction its going in.</li>
</ul>
<ul>
<li>Finally, this release also supports <a href="https://addons.mozilla.org/en-US/fennec">Add-ons</a>. Add-ons are integral to promoting openness and innovation on the web and are unique to Fennec in the mobile space. Its been amazing to see how many great Add-ons have popped up already. Take for instance the <a href="http://www.vimeo.com/3156495">gestures module</a> created by <a href="http://felipe.wordpress.com/">Felipe </a>.</li>
</ul>
<p>As with previous releases, <a href="http://madhava.com/egotism/">Madhava Enros</a> has created a <a href="http://bit.ly/fennec-winmo-alpha1">video walk</a> through of this release.</p>
<h2>Installation</h2>
<p>This release has been targeted and tested on the HTC Touch Pro. We will be adding support for more devices in future releases. To install on your device, you can either navigate to this <a href="http://download.mozilla.org/?product=fennec-1.0a1&amp;os=wince&amp;lang=en-US">cab installer</a> from your phone&#8217;s current browser or download it to your desktop and copy it to your device via ActiveSync. Once on your device simply click on the cab and it will install to your device. For more detailed installation instructions, look <a href="https://wiki.mozilla.org/Mobile/Fennec/Releases">here </a>and of course, please read the <a href="http://www.mozilla.org/projects/fennec/1.0a1-wm/releasenotes/">release notes</a>.</p>
<p>Again, please note that some carriers filter web traffic to prevent their users from downloading cab files. If downloading the cab simply hangs or you get a message reading &#8220;This page contains erros and cannot be displayed,&#8221; this is probably what&#8217;s happening. In this case you will either need to be connected via WiFi or use the ActiveSync method.</p>
<p>The first time you run Fennec it will spend some time creating your profile. This may take a minute or two, please be patient.</p>
<h2>Known Issues</h2>
<p>It is not yet recommended to use this release for daily browsing  tasks.  Certain performance problems will become immediately apparent to  the user. Panning has a noticeable delay between the user first  touching the page and the page moving. We are certain that other less  obvious bugs exist and we invite you to help bring them to light. You  can find detailed information on how to file a good bug in <a href="http://bugzilla.mozilla.org/">bugzilla </a>, our bug tracking  system, <a href="https://developer.mozilla.org/en/Bug_writing_guidelines">here </a>.</p>
<h2>Looking Forward</h2>
<p>Following the same path we took on Maemo, where the browser now performs quite well, development will now focus on performance improvements. There are known and suspected performance hot spots that need to be investigated and optimized. There are very talented people working on the core Mozilla platform who will continue to speed up things like JavaScript, graphics and the DOM. We are excited about a set of optimizations for drawing that take advantage of graphics processors, which will help Fennec&#8217;s graphics performance (i.e. panning and zooming). We are also looking at enhancements to our networking layer to optimize for high latency networks.</p>
<p>Now that we have gotten to this point, the fun really begins. If you would like to help us by testing or developing the product, please visit the <a href="http://wiki.mozilla.org/Mobile">Mobile Firefox wiki</a> . There you will find some information that we hope is useful in helping you find where to &#8220;plug in&#8221; to the effort. As always, you can find us on irc in the #mobile channel .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/05/15/fennec-alpha-1-for-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Memory Dragon Slain</title>
		<link>http://blog.mozilla.org/blassey/2009/03/23/memory-dragon-slain/</link>
		<comments>http://blog.mozilla.org/blassey/2009/03/23/memory-dragon-slain/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 03:51:57 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=105</guid>
		<description><![CDATA[The pre-alpha build we released in February got a lot of criticism (and rightfully so) for what became known as the &#8220;checkerboard&#8221; issue. Mark Finkle blogged about the problem and the solution before. Tonight I pushed the fix to mozilla-central, here are some details. It all comes down to memory. Simply put, we were running [...]]]></description>
				<content:encoded><![CDATA[<p>The pre-alpha build we <a href="http://blog.mozilla.org/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/">released in February</a> got a lot of criticism (and rightfully so) for what became known as the &#8220;checkerboard&#8221; issue.  Mark Finkle blogged about the <a href="http://starkravingfinkle.org/blog/2009/02/fennec-windows-mobile-pre-alpha-problems/">problem </a> and the <a href="http://starkravingfinkle.org/blog/2009/03/fennec-windows-mobile-update/">solution</a> before. Tonight I pushed the fix to mozilla-central, here are some details.</p>
<h2>It all comes down to memory.</h2>
<p>Simply put, we were running out of memory.  The frustrating part though, was that we weren&#8217;t running out of <em>real</em> memory.  We were being constrained by an artificial limit of 32Mb (including the binary) that Windows CE places on each process. That is why otherwise extremely capable phones like the HTC Touch Pro with 288Mb of RAM were showing a beautiful checkerboard pattern.  I&#8217;m still not entirely sure why this didn&#8217;t show up on our development devices before the release. I suspect it has something to do with the fact that we&#8217;re using unlocked HTC Touch Pros for development, while most of the testers seeing the problem were using handsets from Sprint, Verzion or AT&#038;T.</p>
<p>Digging further, the reason people saw a checkerboard pattern, but otherwise usable UI is due in part to the way Fennec works.  In Fennec, the user actually interacts with an html canvas element.  We render the page off screen and then paint the image onto the canvas.  In this particular case, it seems as though we were successfully rendering pages but failing to allocate enough memory to do the final paint onto Fennec&#8217;s canvas. We were handling this low memory &#8220;gracefully&#8221; and continuing to run.</p>
<h2>jemalloc to the rescue</h2>
<p>At first Doug Turner took a crack at cooling down this memory hot spot by improving on how we allocate memory during paints.  Essentially, allocating a single buffer and reusing it every time he needed a surface to write to. This didn&#8217;t actually decrease the amount of memory we were using, but instead significantly reduced the amount of memory &#8220;thrashing,&#8221; (repeatedly allocating and freeing chunks of memory).</p>
<p>With that change we were able to run for much longer without running into memory problems, but it became clear that there are plenty of other places in our code that we thrash.</p>
<p>The solution was to use <a href="http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf">jemalloc</a>, originally written by <a href="http://canonware.com/~ttt/">Jason Evans</a>.  Stuart and Vlad <a href="http://blog.pavlov.net/2008/01/12/jemalloc-builds/"> used jemalloc</a> to greatly improve the memory performance of Firefox over a year ago, so it was already in the Mozilla bag of tricks.</p>
<h2>Success!</h2>
<p>Fearful of counting my chicks before they were hatched, I didn&#8217;t want to blog about this until it landed, and tonight it did. With jemalloc enabled on our windows ce build of Fennec I am able to start up without any worries of seeing a checkerboard.<br />
<img src="http://people.mozilla.org/~blassey/wm-screenshots/firstrun.png"/><br />
&#8230;and I can browse to the two most memory intensive websites that I encounter on a regular basis (both of these have crashed my iPhone on occasion), the first being <a href="http://planet.mozilla.org">Planet Mozilla</a><br />
<img src="http://people.mozilla.org/~blassey/wm-screenshots/planet.png"/><br />
&#8230;and the second being the <a href="http://tinderbox.mozilla.org/Firefox/">Firefox tinderbox waterfall</a><br />
<img src="http://people.mozilla.org/~blassey/wm-screenshots/tinderbox-3-21.png"/><br />
I can even look at both at the same time!<br />
<img src="http://people.mozilla.org/~blassey/wm-screenshots/tabs.png"/><br />
With these bugs closed, we&#8217;re down to 5 blockers for our next release on Windows Mobile. Stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/03/23/memory-dragon-slain/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Fennec Tab syncing</title>
		<link>http://blog.mozilla.org/blassey/2009/02/23/fennec-tab-syncing/</link>
		<comments>http://blog.mozilla.org/blassey/2009/02/23/fennec-tab-syncing/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 21:48:35 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=101</guid>
		<description><![CDATA[Jono just blogged about one of the more unique (and down right awesome) features we&#8217;re planning for Fennec, tab syncing. Its part of our overall syncing effort called Weave. Several use cases have been thrown around, but the one that rings the loudest for me goes something like this: You&#8217;re looking for a new restaurant [...]]]></description>
				<content:encoded><![CDATA[<p>Jono just blogged about one of the more unique (and down right awesome) features we&#8217;re planning for Fennec, tab syncing.  Its part of our overall syncing effort called <a href="https://services.mozilla.com/">Weave</a>.</p>
<p>Several use cases have been thrown around, but the one that rings the loudest for me goes something like this:  You&#8217;re looking for a new restaurant to try from your laptop at home, find one and head out.  Once you get to the neighborhood, you realize you have no idea where this hole in the wall place is.  With tab syncing you can pull out your mobile device, launch Fennec and see a list of tabs open on your laptop (and all your other computers).  You select the tab you need, and instantly are looking at the same content you had on your laptop. </p>
<p>Go checkout his write up, which includes screenshots of it working, <a href="http://jonoscript.wordpress.com/2009/02/23/fennec-tab-sync-ui-update/">at his blog</a>.  Great work Jono!</p>
<p><img src="http://jonoscript.files.wordpress.com/2009/02/picture-5.png?w=510&#038;h=292"/><br />
*Image taken directly from Jono&#8217;s blog</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/02/23/fennec-tab-syncing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fennec Milestone Release for Windows Mobile</title>
		<link>http://blog.mozilla.org/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/</link>
		<comments>http://blog.mozilla.org/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 13:40:27 +0000</pubDate>
		<dc:creator>blassey</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/blassey/?p=81</guid>
		<description><![CDATA[On behalf of everyone who have been tirelessly working towards this goal, I would like to announce that our first milestone release of Fennec for Windows Mobile is now available for download. This release is pre-alpha, and intended to get the product into the hands of early adopters in order to get feed back and [...]]]></description>
				<content:encoded><![CDATA[<p>On behalf of everyone who have been tirelessly working towards this goal, I would like to announce that our first <a href="ftp://ftp.mozilla.org/pub/mobile/fennec-0.11.en-US.wince-arm.cab">milestone release</a> of <a href="https://wiki.mozilla.org/Mobile">Fennec</a> for Windows Mobile  is now available for download.</p>
<p><span id="more-81"></span></p>
<p>This release is pre-alpha, and intended to get the product into the hands of early adopters in order to get feed back and bug reports. In order to focus our efforts on getting this release out, we have targeted only one device, the HTC Touch Pro. This has a number of user interface implications, including graphics designed for a 300 dpi screen, control layout intended for a vga screen and reliance on a hardware keyboard for text input.</p>
<h2>Installation</h2>
<p>You can install this on your HTC Touch Pro by navigating to the <a href="ftp://ftp.mozilla.org/pub/mobile/fennec-0.11.en-US.wince-arm.cab">cab installer</a> with your existing browser.  This will download the cab file and kick off the installation process.</p>
<p>Alternatively you can download the cab file to your desktop and transfer it to your device via activesync. Once the cab file has been copied to you device, navigate to it using file explorer (on the device) and click on the cab file to launch the installer.  </p>
<p>Please note, its been brought to our attention that some carriers are filtering web traffic to preclude downloading cab files.  If this is the case with your carrier, you&#8217;ll either have to download to your desktop and transfer by activesync, or be connected by wifi if you download directly to the device.</p>
<h2>Status</h2>
<p>Our focus to this point has been to have a working, usable browser.  To get there in a hurry we have punted in a few places, and I&#8217;d like to point a couple of them out.  First is the update mechanism (both for the browser itself and for extensions).  After installing this release, you will not be offered updates automatically, so please stay tuned for follow up releases.  Also, we have disabled plug-in support.  This is one of our high priority items going forward. Finally, as I mentioned before, there is no soft keyboard support.  On an HTC Touch Pro, you&#8217;ll have to slide out the keyboard to enter a url.</p>
<p>Besides the release, we marked another major milestone yesterday when the final patch to NSPR landed and we were able to build for Windows Mobile off Mozilla&#8217;s trunk for the first time ever. I say the first time because minimo was built from branches of both NSS and NSPR. </p>
<h2>&#8220;leaks&#8221;</h2>
<p>Over the last week and half there have been several blog posts and &#8220;news&#8221; articles floating around the internet about leaked Windows Mobile Fennec builds.  This has been fairly entertaining to those of us working on the project for a couple reasons.  First, the builds that these posts have pointed to are the builds that I pointed to on twitter.  They were intended to be used by the developers working on the project (or anyone else willing to deal with <em>really</em> buggy software) to find bugs before we pushed anything out to the general public.</p>
<p>Also, the concept of secret, leaked builds flies in the face of how Mozilla operates.  Our <a href="http://mxr.mozilla.org/mozilla-central">source</a> <a href="http://hg.mozilla.org/mozilla-central">code</a> is out there for everyone to see.  We have a <a href="http://bugzilla.mozilla.org/">bug reporting system</a> that anyone can (and is encouraged to)  access to file new bugs or track the progress of existing bugs. The majority of our discussion around the project is entirely public on <a href="irc://irc.mozilla.org/#wince">irc</a>, <a href="http://wiki.mozilla.org/Mobile">our wiki</a> or our <a href="http://https://wiki.mozilla.org/Mobile/Notes/09-Feb-2009#Windows_Mobile">meetings</a> and <a href="https://wiki.mozilla.org/WeeklyUpdates">conference calls</a>.  </p>
<p>I have been working for Mozilla for 16 months now.  At first its a bit of an adjustment to having <em>everything</em> you do or say out there in the public. But after overcoming that initial shock, its a point of pride.  This project goes to extraordinary lengths to be open and transparent. If you are going to write about Mozilla, take advantage of that.  Read our meeting minutes, hop on irc to ask a question or even dial into the weekly status meeting.  Its all out there, just look.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/blassey/2009/02/10/fennec-milestone-release-for-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>171</slash:comments>
		</item>
	</channel>
</rss>
