<?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>Adam Christian &#187; XUL</title>
	<atom:link href="http://www.adamchristian.com/archives/tag/xul/feed" rel="self" type="application/rss+xml" />
	<link>http://www.adamchristian.com</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 17:41:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>MozMill 1.1 UI Overview</title>
		<link>http://www.adamchristian.com/archives/185</link>
		<comments>http://www.adamchristian.com/archives/185#comments</comments>
		<pubDate>Mon, 09 Mar 2009 18:31:29 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Mozmill]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://adamchristian.com/?p=185</guid>
		<description><![CDATA[During the Open Design session at Mozilla with Aza we were informed that we could load a HTML file with a Chrome URL, allowing me to rebuild the MozMill UI a bit more like a web page instead of using the XUL constructs that I had been struggling with. Granted it feels a lot more [...]]]></description>
			<content:encoded><![CDATA[<p>During the Open Design session at Mozilla with Aza we were informed that we could load a HTML file with a Chrome URL, allowing me to rebuild the MozMill UI a bit more like a web page instead of using the XUL constructs that I had been struggling with. Granted it feels a lot more like a web page than it does a desktop application, but the speed that I can build new UI features by using libraries like JQuery UI have made it worth it.</p>
<p>The combination of writing content style HTML, and the good advice we received have come together into what I feel is a pretty usable user interface. Granted this is the first revision and will probably continually be refined to become even more user friendly, but from 1.0 to 1.1 it is a vast improvement.</p>
<p><img style="position:relative;float:right" title="MozMill Editor" src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-2.png" alt="MozMill Editor" width="368" height="510" /></p>
<p><strong>Improved Editor</strong></p>
<p>The first major improvement is the implementation of a full featured code editor named <a href="http://www.cdolivet.net/editarea/">EditArea</a>. </p>
<p>We have been keeping our eye on <a href="https://bespin.mozilla.com/">Bespin</a>, which we will look more into integrating when it is a bit more modular. </p>
<p>For the meantime EditArea does a great job, and was *relatively* painless to integrate.</p>
<p>Some of the features include:</p>
<ul>
<li>Multiple file editing</li>
<li>Syntax hilighting</li>
<li>Full Screen mode</li>
<li>Adjustable font properties</li>
<li>Jump to line numbers</li>
<li>Search and replace</li>
<li>Automatic tabulation</li>
<li>Toggle hi-lighting</li>
<li>Toggle edit modes</li>
</ul>
<p><a href="http://www.cdolivet.net/editarea/editarea/docs/javascript_functions.html">EditArea</a> implements execCommand similar to the implementation in <a href="http://www.mozilla.org/editor/midas-spec.html">Midas</a>.</p>
<div style="clear:both"></div>
<p><strong>Reorganized Menu&#8217;s</strong></p>
<p>Part of the move from XUL involved no longer relying on the toolbox, so we have reorganized the menu&#8217;s into dialog&#8217;s (don&#8217;t worry most functions have a keyboard shortcut if you are one of those people that doesn&#8217;t want to deal with that extra click). </p>
<p>This cleanly displays all the available options, and doesn&#8217;t clutter up the main UI. This also provides space to easily add new features that fall into these logical spaces in the future.</p>
<p><img style="float:right;position:relative" title="Test Dialog" src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-5-300x140.png" alt="Test Dialog" width="300" height="140" /></p>
<p><img src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-6-300x140.png" alt="File Dialog" title="File Dialog" width="300" height="140" style="float:right;position:relative" /></p>
<p><img src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-7-300x197.png" alt="Options Dialog" title="Options Dialog" width="300" height="197" style="float:right;position:relative;" /></p>
<div style="clear:both"></div>
<p><strong>Improved Inspector</strong><br />
<img src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-8-274x300.png" alt="Inspector" title="Inspector" width="274" height="300" class="alignright size-medium wp-image-197" /></p>
<p>There was a lot of frustration when it came to getting the results from the inspector into the editor, some of this had to do with the non editable default nature of the elements we were using to draw them out in XUL, but the integration of the feature into the IDE became very messy and confusing.</p>
<p>This creates an obvious separation between the rest of the UI and the inspector feature and puts helper features out in front of you to simplify the process by dumping to the clipboard and then moving you to a focused editor window.</p>
<div style="clear:both"></div>
<p><strong>Improved Output</strong><br />
<img src="http://www.adamchristian.com/wp-content/uploads/2009/03/picture-31.png" alt="Output" title="Output" width="368" height="510" class="alignright size-full wp-image-202" /></p>
<p>The output UI has been completely revamped to give you the most important information quickly, but allow you to navigate down an expandable tree to explore the output of the exception.</p>
<p>All of the information in the output divs can be easily selected and copied to stick in bugs etc, but also saves you a trip to the error console as it should encompass all of the information being thrown in the error object, serialized and organized into a more readable format.</p>
<p>Thanks to JQuery UI&#8217;s information and error boxes I was able to tweak the CSS to make some relatively attractive, but more importantly, informative UI that should quickly give you the status of your test run.</p>
<div style="clear:both"></div>
<p><strong>More Information</strong></p>
<ul>
<li><a href="http://code.google.com/p/mozmill/">MozMill Google Code Project</a></li>
<li><a href="http://www.mikealrogers.com/archives/471">Mikeal Rogers Release Blog Post</a></li>
<li><a href="http://mozmill.googlecode.com/files/mozmill-1.1.xpi">Google Code XPI Download</a></li>
<li><a href="http://quality.mozilla.org/mozmill-docs">QMO Documentation</a></li>
<li><a href="http://pypi.python.org/pypi/mozmill">MozMill on PyPi</a></li>
</ul>
<p>
Thanks everyone who logged bugs!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamchristian.com/archives/185/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>XUSH (.01), you know it&#8217;s fun to say.</title>
		<link>http://www.adamchristian.com/archives/121</link>
		<comments>http://www.adamchristian.com/archives/121#comments</comments>
		<pubDate>Wed, 28 Jan 2009 18:57:49 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Extension]]></category>
		<category><![CDATA[Mozmill]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Venkman]]></category>
		<category><![CDATA[XPCOM]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://adamchristian.com/?p=121</guid>
		<description><![CDATA[Over the past 8 months I have been neck deep in XUL and XPCOM and with Venkman being as unintuitive as it is I have badly needed a shell with access to the trusted space in the browser. I also had a couple more requirements, which were that it was super easy to get at [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past 8 months I have been neck deep in <a href="http://www.mozilla.org/projects/xul/">XUL</a> and <a href="http://www.mozilla.org/projects/xpcom/">XPCOM</a> and with <a href="https://addons.mozilla.org/en-US/firefox/addon/216">Venkman</a> being as unintuitive as it is I have badly needed a shell with access to the trusted space in the browser. I also had a couple more requirements, which were that it was super easy to get at (keyboard shortcut), and that it looks awesome (transparency required).</p>
<p>Since making things looks really nice in <a href="http://www.mozilla.org/projects/xul/">XUL </a>is really hard, I decided that I would build the UI in the current Firefox content window (sorry <a href="http://www.mozillamessaging.com/en-US/">tbird</a> etc, but I built a less shiny version of this into <a href="http://code.google.com/p/mozmill/">Mozmill</a> trunk for all of you).</p>
<p>Some of the functionality that I decided was a top priority was some slightly abstracted access to the window mediator which I am calling &#8216;windows&#8217;, and is simply an array of all the different windows available in the whole browser. The other big one is dir(), I am constantly looking for a property in one of the many, many objects I am trying to access and now that is really easy.</p>
<p>All of that goodness combined with enough space to stick real code blocks and a full history (which you can access using the shift key and up/down arrows), I find myself pretty comfortable.</p>
<p>After <a href="http://adamchristian.com/stuff/xush-01.xpi">installing the extension</a>, you can <strong>simply press &#8216;meta (cmd on mac) + shift + s&#8217;</strong> and you should be greeted with the following (toggling will show/hide the shell):</p>
<p><strong>UPDATE: </strong>It was pointed out to me that on windows meta may not be bound, so I have updated both the extension and git, please try &#8216;alt+shift+ctrl+s&#8217; or &#8216;ctrl+shift+s&#8217; on windows/linux, (I am testing in a VM so it&#8217;s a bit strange. Sorry about the confusion!) </p>
<p> </p>
<div id="attachment_123" class="wp-caption alignnone" style="width: 624px"><img title="Welcome to XUSH" src="http://www.adamchristian.com/wp-content/uploads/2009/01/picture-13-1024x847.png" alt="Welcome to XUSH" width="614" height="508" /><p class="wp-caption-text">Welcome to XUSH</p></div>
<p>To get started, you can type &#8216;help&#8217; to see what is available to you.</p>
<div id="attachment_128" class="wp-caption alignnone" style="width: 831px"><img class="size-full wp-image-128 " title="Help Menu" src="http://www.adamchristian.com/wp-content/uploads/2009/01/picture-22.png" alt="Help Menu" width="821" height="206" /><p class="wp-caption-text">Help Menu</p></div>
<p> </p>
<p> </p>
<p>Other available functionality includes a big chunk of the <a href="http://code.google.com/p/mozmill/wiki/ControllerAPI" target="_blank">mozmill controller</a> for driving user actions in the browser, as well as <a href="http://code.google.com/p/mozmill/source/browse/trunk/mozmill/extension/resource/modules/elementslib.js" target="_blank">elementslib</a> &#8212; which gives you all kinds of powerful features for looking up nodes in the browser.</p>
<div id="attachment_127" class="wp-caption alignnone" style="width: 868px"><img class="size-full wp-image-127 " title="ElementsLib" src="http://www.adamchristian.com/wp-content/uploads/2009/01/picture-6.png" alt="ElementsLib" width="858" height="187" /><p class="wp-caption-text">ElementsLib</p></div>
<p>As I mentioned above, the windows helper can quickly give you an idea of what is open in the browser and let you directly access the objects in the windows[x] array.</p>
<div id="attachment_129" class="wp-caption alignnone" style="width: 840px"><img class="size-full wp-image-129 " title="Windows Helper" src="http://www.adamchristian.com/wp-content/uploads/2009/01/picture-3.png" alt="Windows Helper" width="830" height="149" /><p class="wp-caption-text">Windows Helper</p></div>
<p> </p>
<p>The nice big console gives you enough space (and using shift) you can do multiple line commands to actually execute code snippets:</p>
<div id="attachment_130" class="wp-caption alignnone" style="width: 676px"><img class="size-full wp-image-130 " title="Code Blocks" src="http://www.adamchristian.com/wp-content/uploads/2009/01/picture-5.png" alt="Code Blocks" width="666" height="218" /><p class="wp-caption-text">Code Blocks</p></div>
<p>My next round of features will include some more helpers, including tab completion and any bug fixes I find, please let me know of any that you find!</p>
<p>If you would like to play with the source, <a href="http://github.com/admc/xush/tree/master">I have it on github </a>and have a python script that uses <a href="http://code.google.com/p/mozrunner/">mozrunner</a> to launch it in dev mode (with venkman installed, although now I don&#8217;t really need it), but saves you from installing and uninstalling the extension every-time you want to try out your latest code changes:<br />
<code><br />
python xush.py<br />
</code></p>
<p>That should launch <a href="http://www.getfirefox.com">Firefox</a> with <a href="http://github.com/admc/xush/tree/master">XUSH</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/216">Venkman</a> both installed and allow you to hit the shortcut and wham, test away.</p>
<p>After another round of bug fixes I will be submitting this to <a href="https://addons.mozilla.org/en-US/firefox/">Mozilla AMO</a>.</p>
<p><strong>Other projects you might be into if this interests you:</strong></p>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/216">Venkman</a></li>
<li><a href="http://code.google.com/p/mozmill/">Mozmill</a></li>
<li><a href="http://getfirebug.com/releases/chromebug/">Chomebug</a></li>
</ul>
<p>Thanks for your interest!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamchristian.com/archives/121/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Mozilla Summit</title>
		<link>http://www.adamchristian.com/archives/38</link>
		<comments>http://www.adamchristian.com/archives/38#comments</comments>
		<pubDate>Wed, 30 Jul 2008 20:18:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Slide]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Windmill]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[99]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Mozmill]]></category>
		<category><![CDATA[Organically]]></category>
		<category><![CDATA[Planning]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Rocks]]></category>
		<category><![CDATA[Summit]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[UE]]></category>
		<category><![CDATA[Whistler]]></category>
		<category><![CDATA[XUL]]></category>

		<guid isPermaLink="false">http://adamchristian.com/?p=38</guid>
		<description><![CDATA[I am currently up here in Whistler BC for the Mozilla Summit. There is about 400 people here staying at the Westin Resort &#38; Spa up here in scenic Canada.  The schedule for the con can be found here; http://wiki.mozilla.org/Summit2008/Sessions/Schedule I do have to say that Mozilla is doing a great job at taking care of [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently up here in Whistler BC for the Mozilla Summit. There is about 400 people here staying at the Westin Resort &amp; Spa up here in scenic Canada. </p>
<p>The schedule for the con can be found here; http://wiki.mozilla.org/Summit2008/Sessions/Schedule</p>
<p>I do have to say that Mozilla is doing a great job at taking care of all their contributors and employees this week, and I feel like a lot of progress is being made on many levels. It&#8217;s very useful to see details as to how people are going about this, but it&#8217;s even more useful to see things on a bit higher level. It can be easy to get lost in the forest of Open Source, especially the way that Mozilla builds on things organically. </p>
<p>The sessions are ranging from &#8220;The History of the Browser&#8221; to Mobile, QA, UE/UI, Thunderbird, planning etc. As Moz has people all over the world I am getting to hear some very interesting accents and interpretations of things. At the dinner last night I was sitting across from people from Germany, Macedonia and Israel. Amazing how the Moz projects can cross the globe and still keep communication open with each of it&#8217;s appendages. The keynote from Mitchell Baker and John Lilly gave me a very solid impression of what they feel the company values, where it should be going and most importantly their extreme satisfaction with where it currently is.</p>
<p>Tomorrow I will be doing a session with Mikeal Rogers and Clint Talbert to demo and explain the GristMill XUL testing framework. My piece of this project is called Mozmill, which started out as a straight across port of the Windmill source with the addition of XUL support and has turned into a much more advanced tool that will fill some needs that have existed for a very long time.</p>
<p>I found it interesting to find out that the VP of Engineering Mike Schroepfer announced his departure last week during Oscon. Their have been mixed reactions about this, but many speculations were proven correct today when he announced he was going to facebook, http://blog.mozilla.com/schrep/. The idea of an IPO is can be extremely appealing, apparently they made him an offer he couldn&#8217;t refuse.</p>
<p>This morning we were alerted that tons, literally tons of rock had fallen on the highway 99 which turns out is the most convenient of two possible road trips to get back to Vancouver. We are leaving Friday morning, and the new word is that we will all be loaded onto shuttles to embark on the 7 hour trip back to the airport. This will make for an extremely long day and I am not looking forward to it, but the trip was well worth it and I look forward to getting home and picking up where I left off at Slide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamchristian.com/archives/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.adamchristian.com @ 2012-02-09 11:09:12 -->
