<?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>~robcee/ &#187; Firefox</title>
	<atom:link href="http://antennasoft.net/robcee/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://antennasoft.net/robcee</link>
	<description>more than just sandwiches</description>
	<lastBuildDate>Mon, 19 Jul 2010 17:44:36 +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>Inspector Milestone 0.5 Preview</title>
		<link>http://antennasoft.net/robcee/2010/06/24/inspector-milestone-0-5-preview/</link>
		<comments>http://antennasoft.net/robcee/2010/06/24/inspector-milestone-0-5-preview/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:13:41 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[inspector]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/2010/06/24/inspector-milestone-0-5-preview/</guid>
		<description><![CDATA[This week I put some more finishing touches on the Style Panel patch and the DOM Panel, which should be ready for landing this week to squeak into the first Beta of Firefox 4. While doing that, I rebased my patches for the new tree panel and fired off a try build for you to [...]]]></description>
			<content:encoded><![CDATA[<p>This week I put some more finishing touches on the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=560692" target="_blank">Style Panel</a> patch and the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=561782" target="_blank">DOM Panel</a>, which should be ready for landing this week to squeak into the first Beta of Firefox 4. While doing that, I rebased my <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=572038" target="_blank">patches</a> for the new tree panel and fired off a try build for you to play with.</p>
<p>Grab it here: <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/tryserver-builds/rcampbell@mozilla.com-0a0f664c2851/" target="_blank">Inspector Milestone 0.5 Preview</a>.</p>
<p>Other work that&#8217;s moving along nicely:</p>
<ul>
<li>Neil Deakin&#8217;s ongoing <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=552982" target="_blank">improvements</a> to XUL Panels.</li>
<li>David Dahl&#8217;s work on the <a href="http://daviddahl.blogspot.com/2010/06/toast-has-landed-butter-side-up.html" target="_blank">Heads Up Display<br />
</a></li>
<li><a href="https://wiki.mozilla.org/Firefox/4.0_Windows_Theme_Mockups" target="_blank">Firefox 4 Theme</a> work is beginning to land</li>
</ul>
<p>&#8230; Just to name a few.</p>
<p>We also picked up some help from some members of the <a href="http://mozillalabs.com/bespin/" target="_blank">Bespin</a> team this week. We&#8217;re still figuring out what people are going to work on, but it looks like Julian Vierick is going to do some Inspector&lt;-&gt;Console cross connection stuff with the DOM Panel. And maybe, just maybe, Joe Walker is going to help me make the Inspector look pretty. I am hopeful.</p>
<p>Give the preview a try and let me know what you think. Feel free to file bugs in Firefox::Devtools.</p>
<p><strong>Update:</strong> After the rebasing, I&#8217;ve cloned another user repo for ongoing work. It&#8217;s too much of a pain to reintegrate patches from a point in time and merge everything together in a way that won&#8217;t mung up a future extraction. And cloning is cheap. If anyone has a good idea of how to &#8220;<a href="http://joeshaw.org/2010/06/22/667">applepick</a>&#8221; in hg, I&#8217;d love to hear it.</p>
<p>New repo is here: <a href="http://hg.mozilla.org/users/rcampbell_mozilla.com/mozilla-inspector-3">http://hg.mozilla.org/users/rcampbell_mozilla.com/mozilla-inspector-3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/06/24/inspector-milestone-0-5-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>In the trees</title>
		<link>http://antennasoft.net/robcee/2010/06/14/in-the-trees/</link>
		<comments>http://antennasoft.net/robcee/2010/06/14/in-the-trees/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 01:09:35 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[domplate]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[inspector]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=430</guid>
		<description><![CDATA[Last week I managed to get the Inspector&#8217;s new tree panel working locally. It was a good chunk of work, incorporating about 2000 lines of DOMPlate, converted to a new JavaScript Code Module and another 1000 or so lines of JavaScript and CSS from Firebug. This morning I finished up the styling fixes for Windows [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I managed to get the Inspector&#8217;s new tree panel working locally. It was a good chunk of work, incorporating about 2000 lines of DOMPlate, converted to a new JavaScript Code Module and another 1000 or so lines of JavaScript and CSS from Firebug. This morning I finished up the styling fixes for Windows and Linux and have it running on all three platforms. Mostly.</p>
<div style="text-align: center;"><a href="http://www.flickr.com/photos/robceemoz/4691562274/"><img style="max-width: 800px;" src="http://antennasoft.net/robcee/wp-content/uploads/2010/06/Screen-shot-2010-06-14-at-21.40.40.png" alt="" /></a></div>
<p>To be sure, there are some bugs left. Clicking the twisty images still doesn&#8217;t expand and collapse the trees – you need to click on the tag to do that. It&#8217;s still behaving funny with iframes. I still need to revise the styling for the tree panel and other panels to make it look like I want. I need to add some keyboard controls&#8230;</p>
<p>All of this will need bugs filed and patches written. If you&#8217;d like to help, please feel free to file bugs on the Firefox::Devtools component. Make sure to use Inspector in the subject or whiteboard so we can track it. We also have a <a href="irc://irc.mozilla.org/#devtools">#devtools</a> IRC channel on irc.mozilla.org if you&#8217;d like to pop in and say hi.</p>
<p>Other bits I have left to do include verifying my existing test cases and writing a few new ones. There&#8217;s a lot of debugging code I need to strip out and lastly, I&#8217;ll need to rebase my patches against current mozilla-central and roll it all up into a nice tidy patch for my reviewer victim&#8230; I mean friend. Before that though, I hope to churn out some try builds tomorrow or Wednesday for people to play with.</p>
<p>If you want to check out the source and build your own, it&#8217;s living in <a href="http://hg.mozilla.org/users/rcampbell_mozilla.com/mozilla-inspector-2/" target="_blank">http://hg.mozilla.org/users/rcampbell_mozilla.com/mozilla-inspector-2/</a>. Careful, it&#8217;s fluxy!</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/06/14/in-the-trees/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Inspector Impetus</title>
		<link>http://antennasoft.net/robcee/2010/05/21/inspector-impetus/</link>
		<comments>http://antennasoft.net/robcee/2010/05/21/inspector-impetus/#comments</comments>
		<pubDate>Fri, 21 May 2010 14:50:49 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[inspector]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=425</guid>
		<description><![CDATA[Last week I promised to write a blog post to talk about why Mozilla&#8217;s building an inspector into Firefox. This is that blog post, and I also hope to explain a bit about the direction we&#8217;re taking with it and to ask all of you for feedback on what you&#8217;d like to see it do.
Currently, [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I <a href="http://antennasoft.net/robcee/2010/05/14/inspector-landing/">promised</a> to write a blog post to talk about why Mozilla&#8217;s building an inspector into Firefox. This is that blog post, and I also hope to explain a bit about the direction we&#8217;re taking with it and to ask all of you for feedback on what you&#8217;d like to see it do.</p>
<p>Currently, we include View Source in Firefox 3.6. I&#8217;ve <a href="http://antennasoft.net/robcee/2010/01/08/view-source-is-good-full-stop/">blogged</a> about how important view source is and how awesome it is that we have it, but inspection is a different kind of activity. Whereas view-source is linear, letting you view the underlying document from which your page was created, inspection is dynamic, letting you dip into a webpage to view a particular node and its associated properties. To find a node and its rules in view source, you might need to browse to several linked documents to locate the specific set of rules. Inspection locates everything for you. Of course, the inspector won&#8217;t show you the documents and their relation to each other on the server. For that, you&#8217;ll still need view-source. Further, inspection will show you live changes to the document as they occur. View-source is a moment in the life of the web page, and remains static.</p>
<p>Most web developers use a combination of tools outside of their browser to create attractive pages and interesting content: design and graphics tools like Illustrator and Photoshop and a broad array of content editors from Frontpage to Notepad++. For the inspector, we talked about some of the different interactions we wanted to give to developers and looked to these other programs for inspiration. The tool should feel dynamic and yet be easy to get out of the way if you want to go back to browsing the web. You should be able to quickly inspect a piece on a webpage and get as much information out of it as you wanted. Maybe you&#8217;d like to make a quick change or remove an element? Manipulate some DOM attributes, or move an element around in a page and have the Inspector make the positioning adjustments for you.</p>
<p>We&#8217;re not there yet. I&#8217;m still cobbling together pieces to provide some of the basics. But we&#8217;re hopeful that with these foundation blocks in place, we can start to build on them to provide unique interactions that have a more &#8220;designery&#8221; feel like the tools people already enjoy using to create content. We&#8217;re hoping the inspector will feel comfortable and intuitive to you.</p>
<p>Over the next little while, I&#8217;m rewriting the <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector#0.5">Tree panel</a>, adding <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector#0.6">editing</a> capabilities, redesigning the <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector#0.7">highlighter</a> to look more like what&#8217;s in the <a href="https://wiki.mozilla.org/images/f/fd/Reticle.png">mockup</a> on the project <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector">page</a>, adding <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector#0.8">rulers and guides</a> to help with layout, and a few basic controls for making all of this easier to manage. The initial Style and DOM panels are waiting in the wings ready for review.</p>
<p>This is a different approach to inspection, for a different kind of user. We&#8217;re not looking to replace tools like <a href="http://getfirebug.com/">Firebug</a> and <a href="https://developer.mozilla.org/En/DOM_Inspector">DOM Inspector</a> &#8211; they are awesome, and we&#8217;re still <a href="http://blog.johnath.com/2010/03/10/developer-tools-in-firefox/">totally committed to helping them</a> be the best they can be. We think there&#8217;s a group however, that doesn&#8217;t need the depth of Firebug, but does want tools with a more &#8220;designery&#8221; feel. My hope is that Firefox and Firebug will complement each other in somewhat the same way that tools like Lightroom and Photoshop do.</p>
<p>To get your ideas and suggestions heard, reply here or on the <a href="http://groups.google.ca/group/mozilla.dev.apps.firefox/browse_thread/thread/f7f2bc550916006a">dev.apps.firefox thread</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/05/21/inspector-impetus/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Inspector Landing</title>
		<link>http://antennasoft.net/robcee/2010/05/14/inspector-landing/</link>
		<comments>http://antennasoft.net/robcee/2010/05/14/inspector-landing/#comments</comments>
		<pubDate>Fri, 14 May 2010 16:24:24 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[devtools]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=413</guid>
		<description><![CDATA[A couple of months ago, I started working on a new feature for Firefox, the first part of which landed last night and is in today’s nightly. It&#8217;s pretty rough-looking still, but over the next few days and weeks we&#8217;ll be landing new features as they&#8217;re written and struggle through the review process. There are [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, I started working on a new <a href="https://wiki.mozilla.org/Firefox/Projects/Inspector">feature</a> for Firefox, the first part of which landed last night and is in today’s <a href="http://nightly.mozilla.org/">nightly</a>. It&#8217;s pretty rough-looking still, but over the next few days and weeks we&#8217;ll be landing new features as they&#8217;re written and struggle through the review process. There are already two partially-formed features waiting in the wings which will make this tool almost useful.</p>
<p>What are we looking at and how do you find it? In the Tools menu, there&#8217;s a new menu item labeled &#8220;Inspect&#8221;. Selecting this (or using the Cmd/Ctrl-shift-I hotkey [subject-to-change]) will bring up a panel at the bottom of the Firefox window with a tree representing the nodes in the HTML page you&#8217;re on. Hovering over elements in the page will select the appropriate node in the tree. You can finish dynamic inspection (i.e., hover over node to inspect) by clicking in the highlighter panel over a node, or hitting ESC or Return on your keyboard.</p>
<p>To close the Inspector panels, reselect Tools:Inspect from the menus or use the Cmd-Shift-I command shortcut again.</p>
<p style="text-align: center;"><a title="Screen shot 2010-04-23 at 15.48.39 by robceemoz, on Flickr" href="http://www.flickr.com/photos/robceemoz/4546455090/"><img class="aligncenter" src="http://farm5.static.flickr.com/4042/4546455090_26ae69d61b.jpg" alt="Screen shot 2010-04-23 at 15.48.39" width="500" height="397" /></a></p>
<p>If the tree display looks a little familiar, it&#8217;s because you&#8217;re looking at an inDOMView-based tree widget. This is the same widget used in DOM Inspector, albeit a little differently-configured. This one&#8217;s setup to include all attributes under a node and their values.</p>
<p>Currently, the panel is undecorated. We&#8217;re awaiting a patch from Neil Deakin to provide title bars for panels. You might find that the highlighter (also implemented as a panel floating over the content area) sometimes obscures the tree panel. This is also a bug in progress. You can read more about some of the additional panel improvements Neil has underway on the Mozilla <a href="https://wiki.mozilla.org/XUL:Panel_Improvements">wiki</a>.</p>
<p>And there are <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=565075">bugs</a>. Some are addressed in downstream patches. Others are waiting to be fixed. Still others are, I&#8217;m sure, unknown. Testing this out everywhere you can will be helpful. If you find something, do a search in Bugzilla in the <a href="https://bugzilla.mozilla.org/buglist.cgi?resolution=---&amp;classification=Client%20Software&amp;query_format=advanced&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;component=Developer%20Tools&amp;product=Firefox">Firefox::Devtools</a> component, and if you don&#8217;t see a match for it, feel free to <a href="https://bugzilla.mozilla.org/enter_bug.cgi?alias=&amp;assigned_to=nobody%40mozilla.org&amp;blocked=&amp;bug_file_loc=http%3A%2F%2F&amp;bug_severity=normal&amp;bug_status=NEW&amp;cf_blocking_191=---&amp;cf_blocking_192=---&amp;cf_blocking_193=---&amp;cf_status_191=---&amp;cf_status_192=---&amp;cf_status_193=---&amp;comment=&amp;component=Developer%20Tools&amp;contenttypeentry=&amp;contenttypemethod=autodetect&amp;contenttypeselection=text%2Fplain&amp;data=&amp;dependson=&amp;description=&amp;flag_type-203=X&amp;flag_type-270=X&amp;flag_type-271=X&amp;flag_type-325=X&amp;flag_type-369=X&amp;flag_type-37=X&amp;flag_type-370=X&amp;flag_type-385=X&amp;flag_type-4=X&amp;flag_type-485=X&amp;flag_type-486=X&amp;flag_type-5=X&amp;flag_type-589=X&amp;flag_type-590=X&amp;flag_type-604=X&amp;flag_type-605=X&amp;flag_type-607=X&amp;flag_type-617=X&amp;flag_type-619=X&amp;form_name=enter_bug&amp;keywords=&amp;maketemplate=Remember%20values%20as%20bookmarkable%20template&amp;op_sys=All&amp;priority=--&amp;product=Firefox&amp;qa_contact=developer.tools%40firefox.bugs&amp;rep_platform=All&amp;short_desc=&amp;status_whiteboard=&amp;target_milestone=---&amp;version=unspecified">file a bug</a>. If you&#8217;re really keen, attach a fix to it. We love that kind of thing.</p>
<p>Next up are the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=560692">Style</a> and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=561782">DOM</a> panels which I am hoping can land within the week. I&#8217;ll be rebasing the patches in those bugs by end of day. You will also see a toolbar appear on top of the tree panel. I&#8217;ll blog about these features as they materialize in nightlies. I also plan on filing top-level bugs for the remaining features on the Inspector project page. If you&#8217;d like to help out, feel free to contact me and I can point you to what needs some effort. Whether it&#8217;s writing test-cases or feature code, there&#8217;s lots to go around.</p>
<p>All of this is moving towards a vision of a simple and fun-to-use web page inspector that will be shipping with the browser. There&#8217;s still a lot of work to do on it, but we&#8217;re making steady progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/05/14/inspector-landing/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Lorentz Branch Diagram</title>
		<link>http://antennasoft.net/robcee/2010/04/13/lorentz-branch-diagram/</link>
		<comments>http://antennasoft.net/robcee/2010/04/13/lorentz-branch-diagram/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 14:41:22 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[builds]]></category>
		<category><![CDATA[electrolysis]]></category>
		<category><![CDATA[mozilla-central]]></category>
		<category><![CDATA[OOPP]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=408</guid>
		<description><![CDATA[I was asked this morning if &#8220;Lorentz was trunk&#8221;. Or a branch of trunk. Or something. So I decided to draw a little picture.

Electrolysis (e10s) feeds patches to Mozilla-Central (trunk or Minefield).
Lorentz branch split off of 3.6.
Lorentz pulled some of the Electrolysis patches from Mozilla-Central.
Lorentz merged back into 3.6 (and was closed).
What is Lorentz? It [...]]]></description>
			<content:encoded><![CDATA[<p>I was asked this morning if &#8220;Lorentz was trunk&#8221;. Or a branch of trunk. Or something. So I decided to draw a little picture.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://people.mozilla.org/~rcampbell/images/lorentz-diagram.png" alt="diagram of the Lorentz branch" width="480px" height="200px" /></p>
<p>Electrolysis (e10s) feeds patches to Mozilla-Central (trunk or Minefield).</p>
<p>Lorentz branch split off of 3.6.</p>
<p>Lorentz pulled some of the Electrolysis patches from Mozilla-Central.</p>
<p>Lorentz merged back into 3.6 (and was closed).</p>
<p>What is <a href="https://developer.mozilla.org/devnews/index.php/2010/04/08/firefox-lorentz-beta-available-for-download-and-testing/">Lorentz</a>? It is (was) a branch to contain merges of out of process plugins for Windows and Linux. Mac will follow, though maybe not on 3.6 branch. It will be included in an upcoming release of 3.6.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/04/13/lorentz-branch-diagram/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Mac Optimized Builds of Firefox</title>
		<link>http://antennasoft.net/robcee/2010/02/01/mac-optimized-builds-of-firefox/</link>
		<comments>http://antennasoft.net/robcee/2010/02/01/mac-optimized-builds-of-firefox/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:29:57 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Build]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[buld]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[pgo]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=402</guid>
		<description><![CDATA[A couple of weeks ago I came across a reference to Mac Optimized Builds of Firefox. There&#8217;s a long tradition of community-based builds of Firefox for the Mac dating back to the PowerPC days.
A lot&#8217;s changed since those dark days, however. To say that we spend a lot of energy doing performance analysis is a [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago I came across a reference to <a href="http://www.latko.org/downloads/" target="_blank">Mac Optimized Builds</a> of Firefox. There&#8217;s a long tradition of community-based builds of Firefox for the Mac dating back to the PowerPC days.</p>
<p>A lot&#8217;s changed since those dark days, however. To say that we spend a lot of energy doing performance analysis is a bit of an understatement. We have entire teams dedicated to improving performance. Build options are analyzed and re-analyzed in an attempt to find cheap performance improvements. Specifying global code optimization settings can actually have an adverse effect on overall system performance because certain modules react better to, say, -O2 versus -O3, for example. All code that gets checked in has to make it through our <a href="http://graphs.mozilla.org/" target="_blank">performance tracking system</a> or it gets backed out.</p>
<p>In the interest of Science, I wanted to actually see if there were any differences, so I pulled a fresh copy of mozilla-central and applied the referenced .mozconfig.</p>
<p>The first thing I noticed, was that &#8211;enable-profile-guided-optimization didn&#8217;t seem to be doing what I thought it would. Namely, I expected to see a browser window popup and run through some automation before starting a second compilation phase. It didn&#8217;t. Even so, the resultant build did feel a little faster at opening windows and tabs<a href="#asterisk-perf">*</a>.</p>
<p>So, I applied the latest stand-alone <a href="https://wiki.mozilla.org/StandaloneTalos" target="_blank">version</a> of Talos to the build and executed the Ts (startup) and Twinopen (Window open) tests and compared this with the most-recent Mozilla <a href="http://nightly.mozilla.org" target="_blank">nightly</a> build of Minefield. Surprisingly, the windows didn&#8217;t appear to be opening much faster, but the startup time was on average 5% faster in the new &#8220;optimized&#8221; build vs. moz-central nightlies.</p>
<p>By this time, Ted had <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=542095#c9" target="_blank">commented</a> in the bug tracking all this and pointed me to the PGO <a href="https://developer.mozilla.org/En/Building_with_Profile-Guided_Optimization" target="_blank">page</a> on MDC. It turns out, PGO builds require a separate make target &#8220;profiledbuild&#8221; instead of &#8220;build&#8221;. I reran the build, saw the automation was working this time and then reran the Talos tests. No change. Best guess around these parts is that GCC just isn&#8217;t very good at doing PGO. The same option gives us an across-the-board 10% speedup to all our tests on Windows.</p>
<p>It turned out that the option that was giving us the 5% startup time (and likely a slight boost to tab performance) was the 10.6 SDK target. Each revision of OS X includes optimizations and Snow Leopard is no different. If you want your own optimized build, just put that target (&#8211;with-macos-sdk=/Developer/SDKs/MacOSX10.6.sdk) in there if you&#8217;re on Snow Leopard and you&#8217;ll get a little extra snappy.</p>
<p>I haven&#8217;t booted into the 64 bit kernel to see if there&#8217;s any difference there, or even if the build options produce a 64 bit build. I don&#8217;t believe they do and the version shipped on the above optimized builds page don&#8217;t have the tell-tale &#8220;Open in 32 bit mode&#8221; checkbox in the app&#8217;s &#8220;Get Info&#8221; dialog.</p>
<p><small><a name="asterisk-perf">*</a> A word about perceived performance differences: It&#8217;s very hard to tell  the difference between, say, 20ms and 30ms. That&#8217;s a 50% slow-down  compared to 20ms but the actual slices of time are so small that the  human brain has a hard time picking up on them. Nevertheless, people  used to dealing with high-velocity timings (musicians, gamers, fighter  pilots) can actually detect that kind of change. But there&#8217;s also a  &#8220;wishful thinking&#8221; factor. It&#8217;s very easy to be told you&#8217;re going to see a speedup, and when given an identical application, think you&#8217;re seeing something faster. &#8220;It just feels snappier&#8221; you might say when given  this placebo.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/02/01/mac-optimized-builds-of-firefox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>View-Source IS Good. Full-stop.</title>
		<link>http://antennasoft.net/robcee/2010/01/08/view-source-is-good-full-stop/</link>
		<comments>http://antennasoft.net/robcee/2010/01/08/view-source-is-good-full-stop/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 13:43:53 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=384</guid>
		<description><![CDATA[I saw a tweet this morning from Joe Walker linking to this article asking Is View-Source Good? from Alex Russell of Dojo fame and I had to write about it. It&#8217;s something I&#8217;ve been thinking about a fair bit lately, so his timing was excellent.
Open systems are better and lead to more productive coders. This [...]]]></description>
			<content:encoded><![CDATA[<p>I saw a <a href="http://twitter.com/joewalker/status/7509093356" target="_blank">tweet</a> this morning from Joe Walker linking to this article asking <a href="http://alex.dojotoolkit.org/2010/01/view-source-is-good-discuss/" target="_blank">Is View-Source Good?</a> from Alex Russell of Dojo fame and I had to write about it. It&#8217;s something I&#8217;ve been thinking about a fair bit lately, so his timing was excellent.</p>
<p>Open systems are better and lead to more productive coders. This is a wild assertion I&#8217;ll make with some cheek, mostly because I don&#8217;t think any exemplars from closed-system programming can really refute it, or will. Programmers who get into pure languages like Lisp and Smalltalk ramp up quickly and become more productive because they have full view of the system&#8217;s source code.</p>
<p>So too, the web.</p>
<p>Web-programming is often a cut and paste experience. I hear the term &#8220;cut-and-paste inheritance&#8221; used derogatorily too-often. While it&#8217;s true that in some cases, from a code-design perspective, just pasting blocks of code from one document to another can lead to a poorly-designed system, it is great for getting little pieces of code to work. It is the scientific method applied to programming. You see something that works in one place, you try copying it over and see what fails on your page. Continue.</p>
<p>One area where view-source breaks down is in the analysis of &#8220;what happens&#8221; with that source code. The Error Console in Firefox is a poor-excuse for a debugging mechanism and linked to the view-source window only by a hopefully connected error and a line number you can click on. Errors can come from any tab and are not necessarily associated with your code. There is no sense of iterative feedback. You have to hunt for it and usually fall into a pattern of clearing your console and reloading the page to see when the errors occur. This leads many developers to write their own logging function. Or when they&#8217;ve graduated to more advanced development, install Firebug which presents dynamic views of your source code in exciting (and sometimes surprising) ways.</p>
<p>Another mysterious failing of view-source is in a dynamically generated page. Something that uses document.write() or a bunch of appendChild() calls often doesn&#8217;t show correctly in view-source. A trick I learned recently to see these types of changes is to select some text and right click on it and &#8220;view-selection source&#8221;. Not exactly intuitive, but this will show you what your code generated.</p>
<p>I don&#8217;t think anyone can claim that view-source is a bad thing, though I have seen people try to get around it. Usually under the guise of &#8220;I have some important information or data that I need to protect&#8221;. I have seen people file bugs to add a mechanism to Firebug to prevent inspection of the underlying HTML on certain pages. I find these types of requests pretty funny, generally, and a little sad because people who think this way fundamentally don&#8217;t understand what the web is about and how it works and why it got to be the wonderful thing it is today.</p>
<p>It&#8217;s a fairly common practice to hide content behind a flash barrier to prevent people from getting their grubby paws on it. This creates a large swath of the web that you really have no ability to play with or learn from. Also, I think it&#8217;s fairly safe to say that learning to program in Flash is a more expensive proposition than learning to program for the web. You have to pay for tools, books and example code. If you want to make something that looks like this widget over here that has some wandering penguins on it, you have to figure it all out for yourself.</p>
<p>Alex mentions generative tools and libraries like GWT that create HTML and CSS styling as by-products of their execution and that these create a not-very useful rendition for view-source. This is true. Even PHP-generated HTML can be pretty disheartening to look at if you&#8217;re trying to figure out what&#8217;s going on in a web-page — its poor formatting and machine-generated constructs are not pretty to look at, but you can still sometimes glean some of the workings behind them. Having hacked around in Wordpress for a few years, understanding the way the PHP code generates a blog&#8217;s output is an interesting experiment to puzzle through. I wouldn&#8217;t have been able to do that without view-source.</p>
<p>Anyway, I think I&#8217;ve burbled about this enough. I love view-source. There, I&#8217;ve said it. It is one of the most valuable tools we have for understanding and learning about the web.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2010/01/08/view-source-is-good-full-stop/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Firebug and the JIT</title>
		<link>http://antennasoft.net/robcee/2009/12/15/firebug-and-the-jit/</link>
		<comments>http://antennasoft.net/robcee/2009/12/15/firebug-and-the-jit/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 20:19:29 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[jit]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/?p=377</guid>
		<description><![CDATA[One thing we hear a lot from Firebug users is that Firebug slows down Firefox. When Firebug is active, particularly when you&#8217;ve enabled the Console/Script panels, some pages perform much more slowly. Enabling these panels turns on all of our debugging hooks, so some slowdown isn&#8217;t surprising, but what may surprise you is that, in [...]]]></description>
			<content:encoded><![CDATA[<p>One thing we hear a lot from Firebug users is that Firebug slows down Firefox. When Firebug is active, particularly when you&#8217;ve enabled the Console/Script panels, some pages perform much more slowly. Enabling these panels turns on all of our debugging hooks, so some slowdown isn&#8217;t surprising, but what may surprise you is that, in order to get accurate debugging information, these hooks also turn off Firefox&#8217; high-performance Javascript JIT compiler, even when Firebug is inactive. And now we have a fix for that.</p>
<p>First, a little terminology. Feel free to skip this paragraph if you consider yourself a master of Javascript internals or compiler run-time optimization makes your skin crawl. <a target="_blank" href="https://developer.mozilla.org/en/spidermonkey/internals/tracing_jit">Tracing</a> is the mechanism Firefox&#8217; Javascript engine (aka, &#8220;SpiderMonkey&#8221;) uses to improve code execution performance. It provides a major speedup for code running in Firefox 3.5 and up, often an order of magnitude for certain types of operations. It is the basis of the JIT or <a target="_blank" href="http://en.wikipedia.org/wiki/Just-in-time_compilation">Just-in-Time compiler</a>. Without tracing, the JS engine can&#8217;t optimize code as well, leading to significantly slower execution.</p>
<p>I need to be clear here: <b>If you have Firebug installed you are  probably not getting fast Javascript.</b> Firebug doesn&#8217;t have to be  active on your current page. If you have the grey icon on your status  bar, you have probably disabled the JIT. This is true if you have ever  enabled the Console and consequently the Script panels and left them on. This is likely true for most recent versions of Firebug. The quick fix  is to disable the Script and Console panels via the mini menu on their  respective tabs.</p>
<div style="text-align: center;"><img style="max-width: 800px;" src="http://antennasoft.net/robcee/wp-content/uploads/2009/12/fb-disabled-script.png" /></div>
<p>Boris Zbarsky has been doing a lot of poking around in the belly of the JS debugger lately. Working in conjunction with John Barton, they have concocted fixes for the soon-to-be-released Firebug 1.5 and Firefox 3.6. We&#8217;re working to get testable versions out as quickly as possible, but I can say that I&#8217;ve tested development builds using the pages mentioned <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=534120#c33">in the bug</a> and can verify that these fix the problem. As a side-benefit, I got to watch Boris dissect the problem through gdb  in an Xterm (yes, an Xterm) and Emacs and it was pretty impressive and  fun, to boot.</p>
<p>When installing Firebug one of the first things most people do is enable the Console. It&#8217;s such a useful debugging tool. I myself have been using Firebug for over a year without JITted code. I probably never noticed the slowdown simply because I&#8217;m so used to running my browser this way and have pretty fast machines. After disabling the Console and Script panels there are a few pages that just load much much quicker. It&#8217;s kind of shocking.</p>
<p>Since the patch has landed on Firefox 3.6, I&#8217;m expecting either a beta or release candidate of that to come out shortly. I&#8217;m also hoping for another Firebug beta (or release candidate) later this week. In the meantime, if you&#8217;re not using them, I recommend disabling the Console and Script panels and find out what you&#8217;ve been missing and turn them on only as-needed. This will likely be the work-around for Firefox 3.5 users unless we decide to push this back to that branch but I have my doubts that this is something we would do.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2009/12/15/firebug-and-the-jit/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>extensions.checkCompatibility.version</title>
		<link>http://antennasoft.net/robcee/2009/11/11/extensions-checkcompatibility-version/</link>
		<comments>http://antennasoft.net/robcee/2009/11/11/extensions-checkcompatibility-version/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 18:20:30 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[compatibility]]></category>
		<category><![CDATA[extensions]]></category>
		<category><![CDATA[preferences]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/2009/11/11/extensions-checkcompatibility-version/</guid>
		<description><![CDATA[I was surprised this morning when I did my update to today&#8217;s newest nightly of Namoroka and all of my extensions were disabled. I was extra-surprised when I tried enabling my extensions with Nightly Tester Tools and it didn&#8217;t work. Turns out that Mossop&#8217;s been busy implementing a patch for bug 521905.
Now for version 3.6b3 [...]]]></description>
			<content:encoded><![CDATA[<p>I was surprised this morning when I did my update to today&#8217;s newest nightly of Namoroka and all of my extensions were disabled. I was extra-surprised when I tried enabling my extensions with <a href="https://addons.mozilla.org/en-US/firefox/addon/6543" target="_blank">Nightly Tester Tools</a> and it didn&#8217;t work. Turns out that Mossop&#8217;s been busy implementing a patch for <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=521905&amp;sourceid=mozilla-search" target="_blank">bug 521905</a>.</p>
<p>Now for version 3.6b3 and above, you&#8217;ll have to set a per-application version in about:config that looks like this:</p>
<div class="code">extensions.checkCompatibility.3.6b = false</div>
<p>See Mossop&#8217;s <a target="_blank" href="http://www.oxymoronical.com/blog/2009/11/Changing-the-checkCompatibility-preference">post</a> on the topic for the deep story.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2009/11/11/extensions-checkcompatibility-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug 1.5 and Firefox 3.6</title>
		<link>http://antennasoft.net/robcee/2009/09/11/firebug-1-5-and-firefox-3-6/</link>
		<comments>http://antennasoft.net/robcee/2009/09/11/firebug-1-5-and-firefox-3-6/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 12:40:00 +0000</pubDate>
		<dc:creator>robcee</dc:creator>
				<category><![CDATA[Firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[namoroka]]></category>
		<category><![CDATA[versions]]></category>

		<guid isPermaLink="false">http://antennasoft.net/robcee/2009/09/11/firebug-1-5-and-firefox-3-6/</guid>
		<description><![CDATA[… or, which version of Firebug should I use with Firefox 3.6, aka Namoroka?
We&#8217;re in a bit of a funny place with Firebug and Firefox 3.6. The Firebug 1.5 line is currently running better on Firefox 3.7 (trunk, mozilla-central) than it is on the 1.9.2 branch (Firefox 3.6, aka Namoroka). Fallout from a couple of [...]]]></description>
			<content:encoded><![CDATA[<p><small><span style="font-style: italic;">… or, which version of Firebug should I use with <a target="_blank" href="http://en.wikipedia.org/wiki/Mozilla_Firefox#Version_3.6">Firefox 3.6</a>, aka <a target="_blank" href="http://en.wikipedia.org/wiki/Namoroka_National_Park">Namoroka</a>?</span></small></p>
<p>We&#8217;re in a bit of a funny place with Firebug and Firefox 3.6. The <a target="_blank" href="http://getfirebug.com/releases/firebug/1.5X/">Firebug 1.5</a> line is currently running better on Firefox 3.7 (trunk, mozilla-central) than it is on the 1.9.2 branch (Firefox 3.6, aka Namoroka). Fallout from a couple of bugs is causing some strange scrolling problems in Firebug and likely, a few other add-ons. Worse, we&#8217;re unable to edit anything in Firebug&#8217;s HTML and CSS editors.</p>
<p>That should change shortly. We&#8217;re waiting for a small patch in <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=511951">bug 511951</a> to land and correct these issues and make everything right again. I ran a build with this patch last night and confirmed that everything looks good. Our tests ran fully with no errors.</p>
<p>If you&#8217;re the adventurous type, you may feel like grabbing our latest version, Firebug 1.5a24 from <a target="_blank" href="http://getfirebug.com/releases/firebug/1.5X/">getfirebug.com/releases</a> and giving it a whirl. There are some changes, some improvements and more than a few bug fixes. See the evolving <a target="_blank" href="http://code.google.com/p/fbug/source/browse/branches/firebug1.5/docs/ReleaseNotes_1.5.txt">release notes</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://antennasoft.net/robcee/2009/09/11/firebug-1-5-and-firefox-3-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
