<?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>Blair's Brain &#187; Ubiquity</title>
	<atom:link href="http://theunfocused.net/category/ubiquity/feed/" rel="self" type="application/rss+xml" />
	<link>http://theunfocused.net</link>
	<description>And Other Unfocused Things</description>
	<lastBuildDate>Mon, 31 May 2010 05:17:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Status update</title>
		<link>http://theunfocused.net/2009/11/21/status-update-14/</link>
		<comments>http://theunfocused.net/2009/11/21/status-update-14/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 02:57:22 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=334</guid>
		<description><![CDATA[Was stubbornly fighting the flu for part of the week, so I didn't get as much done this week as I had hoped. Tab matches in Awesomebar Status Finished nsPlacesAutocomplete integration - works wonderfully well Filed bug to change the preferences UI to allow adding tab matches Tryserver builds at http://people.mozilla.org/~bmcbride/tabmatches/latest/ Loose ends Waiting on [...]]]></description>
			<content:encoded><![CDATA[<p>Was stubbornly fighting the flu for part of the week, so I didn't get as much done this week as I had hoped.</p>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Tab_Matches_in_Awesomebar">Tab matches in Awesomebar</a></h2>
<h3>Status</h3>
<ul>
<li>Finished nsPlacesAutocomplete integration - works wonderfully well</li>
<li>Filed bug <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=530209">530209</a> to change the preferences UI to allow adding tab matches</li>
<li>Tryserver builds at <a href="http://people.mozilla.org/~bmcbride/tabmatches/latest/">http://people.mozilla.org/~bmcbride/tabmatches/latest/</a></li>
</ul>
<h3>Loose ends</h3>
<ul>
<li>Waiting on feedback</li>
</ul>
<h3>Next steps</h3>
<ul>
<li>Unit tests</li>
<li>Respond to feedback</li>
</ul>
<h3>Target for next week</h3>
<ul>
<li>Unit tests</li>
</ul>
<h2><a href="https://wiki.mozilla.org/Firefox/Projects/Binding_for_untrusted_text_in_security_dialogs">Binding for untrusted text in security dialogs</a></h2>
<p>No change.</p>
<h2>Miscellaneous</h2>
<ul>
<li>Helped with some lightweight theme bugs for 3.6</li>
</ul>
<h2>Reflections</h2>
<ul>
<li>Sometimes, there is no good solution. But there is a best solution.</li>
</ul>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/11/15/status-update-13/' rel='bookmark' title='Permanent Link: Status update'>Status update</a></li>
<li><a href='http://theunfocused.net/2009/11/30/status-update-15/' rel='bookmark' title='Permanent Link: Status update'>Status update</a></li>
<li><a href='http://theunfocused.net/2009/11/07/status-update-12/' rel='bookmark' title='Permanent Link: Status update'>Status update</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/11/21/status-update-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taskfox, the screencast edition</title>
		<link>http://theunfocused.net/2009/06/27/taskfox-the-screencast-edition/</link>
		<comments>http://theunfocused.net/2009/06/27/taskfox-the-screencast-edition/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 04:08:39 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Taskfox]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=218</guid>
		<description><![CDATA[In my last post about Taskfox, I asked for volunteer users to try out the latest Taskfox build. For those of you that read it, you may have noticed I included no information about how to actually use Taskfox features. No mention at all. None. Zip. Nada. And I did this on purpose. My apologies [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/">last post about Taskfox</a>, I asked for volunteer users to try out the latest Taskfox build. For those of you that read it, you may have noticed I included no information about how to actually use Taskfox features. No mention at all. None. Zip. Nada.</p>
<p>And I did this on purpose.</p>
<p>My apologies to the people who were confused, bewildered, and frustrated by this. You were all (including co-workers!) unwitting participants in my experiment. It showed that the current interface for Taskfox features may not be discoverable enough, even for technologically savvy people. Thankfully, we think we have a solution - more on that in a future blog post.</p>
<p>In addition to the lack of information, the Map task was broken. This wasn't part of the experiment - merely a mistake on my part. Same with the inability to enter spaces (thanks to a last-minute change). Oops.</p>
<p>So today we have a new build! Bugs fixed, some things added, and some information on how to get the most out of using Taskfox.</p>
<h2>Using Taskfox</h2>
<p>When you open a Taskfox build, its the same as any nightly Firefox/Minefield. It displays web pages the same, the toolbars and menus are the same, the URL bar is (almost) the same. But typing in the URL bar is where the magic begins, as you can see in the following screencast:</p>
<p><video src="http://theunfocused.net/moz/taskfox/taskfox-intro.ogg" controls width="400" height="225"><br />
<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5346413&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5346413&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br />
</video></p>
<p><a href="http://vimeo.com/5346413">View on Vimeo</a>.</p>
<h2>Where to provide feedback</h2>
<p>There are plenty of ways you have give us feedback:</p>
<ul>
<li>Comment on this blog post</li>
<li>Post to the <a href="https://lists.mozilla.org/listinfo/dev-apps-firefox">dev-apps-firefox</a> mailing list (also on <a href="http://groups.google.com/group/mozilla.dev.apps.firefox">Google Groups</a>)</li>
<li>Join <a href="irc://irc.mozila.org/fx-team">#fx-team</a> on <a href="http://irc.mozilla.org/">IRC</a></li>
<li>Join the <a href="https://wiki.mozilla.org/Taskfox#Meetings">weekly meeting</a> every Thursday at <a href="http://www.timeanddate.com/worldclock/fixedtime.html?day=11&amp;month=6&amp;year=2009&amp;hour=15&amp;min=0&amp;sec=0&amp;p1=224">3:00pm PDT (10:00pm UTC)</a></li>
<li><a href="mailto:bmcbride@mozilla.com?subject=Taskfox">E-mail me</a> directly (although I'd prefer one of the other ways)</li>
</ul>
<h2>Getting Taskfox</h2>
<p>Builds are available for all platforms that Firefox ships on:</p>
<ul>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.installer.exe">Windows</a> (or <a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.zip">without  the installer</a>)<a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.installer.exe"><br />
</a></li>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-macosx.dmg">OS  X</a></li>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-linux.tar.bz2">Linux</a></li>
</ul>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/' rel='bookmark' title='Permanent Link: Taskfox &#8211; guineapigs wanted'>Taskfox &#8211; guineapigs wanted</a></li>
<li><a href='http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/' rel='bookmark' title='Permanent Link: Ubiquity &#038; Firefox &#8211; Introducing Taskfox'>Ubiquity &#038; Firefox &#8211; Introducing Taskfox</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/06/27/taskfox-the-screencast-edition/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
<enclosure url="http://theunfocused.net/moz/taskfox/taskfox-intro.ogg" length="18717387" type="audio/ogg" />
		</item>
		<item>
		<title>Taskfox &#8211; guineapigs wanted</title>
		<link>http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/</link>
		<comments>http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 08:25:18 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Taskfox]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=196</guid>
		<description><![CDATA[Two months ago I introduced Taskfox - a project aiming to introduce some of the ideas from Ubiquity into a future version of Firefox. There's more information about this project in my initial introductory blog post and on the Taskfox wiki page. We've been working steadily on the project since then, and a lot of [...]]]></description>
			<content:encoded><![CDATA[<p>Two months ago I introduced Taskfox - a project aiming to introduce some of the ideas from <a href="http://ubiquity.mozilla.com/">Ubiquity</a> into a future version of Firefox. There's more information about this project in my <a href="http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/">initial  introductory blog post</a> and on the <a href="https://wiki.mozilla.org/Taskfox">Taskfox wiki page</a>.</p>
<p>We've been working steadily on the project since then, and a lot of progress has been made - to the point where Taskfox is both usable and useful. Which also means the project is at the stage where its very important and beneficial to have a lot more people run it daily - using it, testing it, and providing feedback. That's where <strong>you</strong> come in.</p>
<p>There's links to the latest builds at the end of this post, if you want to just jump right in to playing with it. But I'd like to go over a few things first.</p>
<h2>Development Status</h2>
<p>Since Taskfox is still in development, there are only a limited number  of tasks that are available for now. As of today, these are:</p>
<ul>
<li>Amazon</li>
<li>Google</li>
<li>Images</li>
<li>Map</li>
<li>Music</li>
<li>Netflix</li>
<li>Translate</li>
<li>Video</li>
<li>Weather</li>
<li>Wikipedia</li>
<li>Yahoo</li>
</ul>
<p>Additionally, your installed search engines will be automatically  available as tasks. A list of other potential tasks is here: <a href="https://wiki.mozilla.org/Taskfox/Verbs">https://wiki.mozilla.org/Taskfox/Verbs</a></p>
<p>There's also a few features that simply aren't implemented yet:</p>
<ul>
<li>Simple keyboard navigation</li>
<li>Localization of tasks</li>
<li>Showing the task in the URL bar when visiting a related web page</li>
<li>Task management</li>
<li>???</li>
</ul>
<h2>Thoughts and Feedback</h2>
<p>I'd like to go over what thoughts and feedback would be most useful for  us right now.  Of course, any and all feedback is welcomed and appreciated - whether its big or small. But there are a few things we'd specifically like to get answers to for this round.</p>
<p>As you may recall, Taskfox has three basic principles:</p>
<ul>
<li>Taskfox must help users accomplish tasks</li>
<li>Taskfox must be useful to all Firefox users</li>
<li>Taskfox must be fast, secure, and extensible</li>
</ul>
<p>We want to make sure that Taskfox sticks to these principles.</p>
<p>Beyond that, we want to know how it <em>feels</em>:</p>
<ul>
<li>Does it feel like Firefox?</li>
<li>Does starting a task feel right?</li>
<li>How does the process of performing a task feel?</li>
<li>How does it meld with your workflow?</li>
</ul>
<p>And finally, we want to know what you would change to make Taskfox even more useful.</p>
<ul>
<li>What tasks do you do regularly, that you wish could be done in one simple step?</li>
<li>What tasks do you wish you could do in your browser, but are too complicated?</li>
</ul>
<h2>Where to provide feedback</h2>
<p>There are plenty of ways you have give us feedback:</p>
<ul>
<li>Comment on this blog post</li>
<li>Post to the <a href="https://lists.mozilla.org/listinfo/dev-apps-firefox">dev-apps-firefox</a> mailing list (also on <a href="http://groups.google.com/group/mozilla.dev.apps.firefox">Google Groups</a>)</li>
<li>Join <a href="irc://irc.mozila.org/fx-team">#fx-team</a> on <a href="http://irc.mozilla.org/">IRC</a></li>
<li>Join the <a href="https://wiki.mozilla.org/Taskfox#Meetings">weekly meeting</a> every Thursday at <a href="http://www.timeanddate.com/worldclock/fixedtime.html?day=11&amp;month=6&amp;year=2009&amp;hour=15&amp;min=0&amp;sec=0&amp;p1=224">3:00pm PDT (10:00pm UTC)</a></li>
<li><a href="mailto:bmcbride@mozilla.com?subject=Taskfox">E-mail me</a> directly (although I'd prefer one of the other ways)</li>
</ul>
<h2>Getting Taskfox</h2>
<p>Now for the goodies I promised. I'll be generating builds regularly - some may have major changes, while others simply bug fixes. These builds are based off Minefield - a developmental branch of Firefox that contains the newest experimental code. While I try my best to make sure things aren't broken, there are no guarantees.</p>
<p>Note that these build's won't (yet) automatically update. You'll need to manually update them periodically. To make that easier, I'll be updating the <a href="https://wiki.mozilla.org/Taskfox#Latest_Builds">Latest Build link</a> on the wiki, posting information on the <a href="https://lists.mozilla.org/listinfo/dev-apps-firefox">dev-apps-firefox</a> mailing list (also available through <a href="http://groups.google.com/group/mozilla.dev.apps.firefox/topics">Google Groups</a>), and posting to <a href="http://theunfocused.net/">my blog</a> (which is aggregated to <a href="https://planet.mozilla.org/">Planet Mozilla</a>).</p>
<p>I should also point out that since these are development builds, they're only available in the en-US locale for now.</p>
<p><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/"></a>Builds are available for all platforms that Firefox ships on:</p>
<ul>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.installer.exe">Windows</a> (or <a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.zip">without the installer</a>)<a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-win32.installer.exe"><br />
</a></li>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-macosx.dmg">OS X</a></li>
<li><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/taskfox-linux.tar.bz2">Linux</a></li>
</ul>
<p><a href="http://people.mozilla.org/~bmcbride/taskfox/latest/"></a></p>
<p style="text-align: center;"><span style="font-size: large;">Happy testing!</span></p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/06/27/taskfox-the-screencast-edition/' rel='bookmark' title='Permanent Link: Taskfox, the screencast edition'>Taskfox, the screencast edition</a></li>
<li><a href='http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/' rel='bookmark' title='Permanent Link: Ubiquity &#038; Firefox &#8211; Introducing Taskfox'>Ubiquity &#038; Firefox &#8211; Introducing Taskfox</a></li>
<li><a href='http://theunfocused.net/2009/08/09/status-jetpack-and-content-scripts-in-firefox/' rel='bookmark' title='Permanent Link: Status: Jetpack and Content Scripts in Firefox'>Status: Jetpack and Content Scripts in Firefox</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Ubiquity &amp; Firefox &#8211; Introducing Taskfox</title>
		<link>http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/</link>
		<comments>http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 06:26:35 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Taskfox]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=149</guid>
		<description><![CDATA[Ubiquity has been an amazingly successful project, and it continues to grow and evolve. There's a huge active community of users, command authors, and core developers. Over 200,000 people are using Ubiquity every day, with hundreds of command authors, and thousands of commands in the wild. New Ubiquity commands have been written and shared by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ubiquity.mozilla.com/">Ubiquity</a> has been an amazingly successful project, and it continues to grow and evolve. There's a huge active community of users, command authors, and core developers. Over 200,000 people are using Ubiquity every day, with hundreds of command authors, and thousands of commands in the wild. New Ubiquity commands have been written and shared by the community, extension authors, and developers of websites and web services. The <a href="https://wiki.mozilla.org/Labs/Ubiquity/Latest_Ubiquity_User_Tutorial">user tutorial</a> is available in 10 languages, thanks to community contributions.</p>
<p>At the same time, it's clear that Ubiquity is not for everyone. Ubiquity users are people who:</p>
<ul>
<li>are willing (and brave enough) to experiment with alternative, natural language keyboard style interfaces</li>
<li>use web applications extensively for email, calendaring, document editing, online collaboration and most of their day to day tasks</li>
<li>understand that the web is a collection of data which can be remixed, mashed together, and edited by users as well as by web developers</li>
<li>are familiar with Firefox Add-Ons and willing to install Ubiquity on all their machines</li>
<li>know at least some basic English</li>
</ul>
<p>However, the underlying benefits that Ubiquity offers are universal. All internet users perform a given set of tasks regularly - and many of these tasks require the same set of steps to be taken every time. The browser should facilitate accomplishing the end-goal and help reduce the number of steps to reach that goal whenever possible.</p>
<p>That's where Taskfox comes in. Taskfox is the codename of a project to uplift parts of Ubiquity into a future version of Firefox (ie, after Firefox 3.5 ships). The basic idea behind Taskfox is simple: take the time-saving ideas behind Ubiquity, and put them into Firefox. That means allowing users to quickly access information and perform tasks that would normally take several steps to complete. This does not mean "ship Ubiquity with Firefox". While the two projects share some common ideas and use cases, the goals are not all the same. What would this look like? We don't really know at the moment, though <a href="https://wiki.mozilla.org/Taskfox/Mockups">we have some ideas</a>.</p>
<p>When thinking about Taskfox, we've been trying to keep in mind three basic principles:</p>
<ul>
<li>Taskfox must help users accomplish tasks</li>
<li>Taskfox must be useful to all Firefox users</li>
<li>Taskfox must be fast, secure, and extensible</li>
</ul>
<h2>Accomplishing tasks</h2>
<p>The workflow that people currently have while using Firefox is very important. Interrupting that workflow by being too "helpful" would be very disruptive, as would forcing a completely new workflow. Unfortunately, this is something that Ubiquity does - in order to use it, you must adopt a new workflow. Taskfox needs to be available within your existing workflow - working with it, not against it.</p>
<p>In addition to being part of your workflow, Taskfox also needs to be obviously reachable. One of the issues many people have with Ubiquity is figuring out where to start typing. By using a method people already use to perform tasks, we can get this connection. <a href="https://wiki.mozilla.org/Labs/Ubiquity/Usability/Usability_Testing/Fall_08_1.2_Tests">Zac Lym's usability studies</a> found people expecting to be able to type into the location bar. This makes sense, given that location bar is by far the most used area for performing the most universal action (going to a website).</p>
<h2>Available and useful to all Firefox users</h2>
<p>One of the things that Ubiquity is known for is its use of natural language for input. Firefox ships in more than 70 languages. These two things do not easily mix.</p>
<p>So let me be blunt here: natural language input is NOT a goal of Taskfox. It never has been, and it never will be. Nor is it intended to bring the user and the web together via language.</p>
<p>However, Taskfox will be localizable. All locales are first-class citizens here. This will include both string localizations and locale-specific content providers (just like there are locale-specific default search engines). This also implies that Taskfox will include far fewer commands by default than Ubiquity. That's OK, though, as we want to pick and choose the ones that are felt to be most useful to the widest audience.</p>
<h2>Speed, Security, and Extensibility</h2>
<p>In order for Taskfox to succeed, it needs to not regress performance. As we develop the project, we will ensure that we do not have a negative impact on any of the key performance metrics by which Firefox is judged.</p>
<p>Also, Taskfox will not include the ability to subscribe to Ubiquity-style command feeds, as this has the some potentially nasty security implications. Similarly, its not a playground for experimental UIs - it needs to be usable for power users and grandmas alike (and even power user grandmas), not just the early adopters.</p>
<p>However, there will be an API for extension developers to use. This will be available to normal Firefox extensions - and so any such extensions will go through the same security and quality checks that any other extension on <a href="https://addons.mozilla.org/">AMO</a> would go through.</p>
<h2>Progress</h2>
<p>Right now, it's mostly me, with some help from <a href="http://www.toolness.com/wp/">Atul</a> and <a href="http://jonoscript.wordpress.com/">Jono</a> and early user interface thinking from <a href="http://blog.mozilla.com/faaborg/">Alex</a> and <a href="http://www.azarask.in/blog/">Aza</a>. I'm working on migrating code from a proof-of-concept extension to a new Incubator repository at <a href="http://hg.mozilla.org/incubator/taskfox">http://hg.mozilla.org/incubator/taskfox</a>, which contains a clone of <a href="http://hg.mozilla.org/mozilla-central">mozilla-central</a> (ie, the bleeding edge of Firefox code). As the project progresses, we expect to occasionally merge into mozilla-central and be available in Firefox nightlies. Until then, you'll have to build Taskfox on your own, though we'll also occasionally post some experimental builds for people to try out.</p>
<p>Also, we've set up a <a href="https://wiki.mozilla.org/Taskfox">Taskfox page</a> on the Mozilla Wiki to document everything about this project.</p>
<p>Starting this week, there will be public <a href="https://wiki.mozilla.org/Taskfox#Meetings">meetings</a> held every Thursday at 3:00pm PDT (10:00pm UTC). You can find when that is in your timezone <a href="http://www.timeanddate.com/worldclock/fixedtime.html?day=12&amp;month=3&amp;year=2009&amp;hour=15&amp;min=0&amp;sec=0&amp;p1=224">here</a>. These are open to everyone, no RSVP needed. To join in, dial in to one of the following numbers:</p>
<ul>
<li> +1 650 903 0800 x92 Conf# 8604 (US/International)</li>
<li> +1 416 848 3114 x92 Conf# 8604 (Canada)</li>
<li> +1 800 707 2533 (pin 369) Conf# 8604 (US Toll Free &amp; Skype)</li>
</ul>
<p>You can also join <a href="irc://irc.mozilla.org/fx-team">#fx-team</a> to chat about Taskfox on IRC, or discuss it on the<a href="http://groups.google.com/group/mozilla.dev.apps.firefox/topics"> mozilla.dev.apps.firefox</a> newsgroup. We welcome anyone to help out, file bugs, write patches... get involved!</p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/06/11/taskfox-guineapigs-wanted/' rel='bookmark' title='Permanent Link: Taskfox &#8211; guineapigs wanted'>Taskfox &#8211; guineapigs wanted</a></li>
<li><a href='http://theunfocused.net/2009/06/27/taskfox-the-screencast-edition/' rel='bookmark' title='Permanent Link: Taskfox, the screencast edition'>Taskfox, the screencast edition</a></li>
<li><a href='http://theunfocused.net/2008/08/29/an-introduction/' rel='bookmark' title='Permanent Link: An Introduction'>An Introduction</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Ubiquitous information &#8211; Part 1</title>
		<link>http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/</link>
		<comments>http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 12:53:11 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=118</guid>
		<description><![CDATA[Firstly, let me be blunt here: the current state of storing data in Ubiquity commands is a mess. There are several APIs, several places to put the data, and several thoughts on how it should be done. And to me, none of them are adequate. To a certain extent, the same applies for addons, when [...]]]></description>
			<content:encoded><![CDATA[<p>Firstly, let me be blunt here: the current state of storing data in Ubiquity commands is a mess. There are several APIs, several places to put the data, and several thoughts on how it should be done. And to me, none of them are adequate. To a certain extent, the same applies for addons, when it comes to sharable data.</p>
<p>And this isn't just a coding problem: it also directly affects the user. Not only are there several methods of asking the user for information, but the information is fragmented in the system, so its not uncommon to need to fill in the same information more than once.</p>
<p>Lets tackle the user-facing issues first, in true Ubiquity fashion. This will be Part 1 in a mini-series of blog posts on this topic. Part 2 will focus on the developer's side of the issue. So lets get started.</p>
<h2>Data vs Information</h2>
<p>One part of this problem is that some commands want data entered, some request information, while others use knowledge. You can read about the differences between these concepts <a href="http://www.systems-thinking.org/dikw/dikw.htm">here</a>. To summarize and bring that into context: data is what the code deals with, and it should stay there <strong>exclusively</strong>. People don't think in data, but in higher levels such as information, knowledge, and wisdom. Thinking in data is difficult - which is in contrast to a computer, where data is the native language and using higher-level constructs is more difficult.</p>
<p>And so we have to choose - do we make ourselves work harder, or do we make our computers work harder? Hopefully the obvious answer is the later option.</p>
<p>A simple example of this difference is entering a date/time. Ubiquity uses the awesome <a href="http://www.datejs.com/">date.js</a> library for this. It allows you to say "next Thursday", as opposed to figuring out what date next Thursday is, and then figuring out what format is expected. Neither of those tasks are trivial. Sure, you may be used to doing it and maybe even be able to do it quickly, but its still a <strong>lot</strong> more work than just "next Thursday".</p>
<h2>Fragmentation</h2>
<p>Unfortunately, its not uncommon to be asked to enter the same information more than once. This isn't just a problem with Ubiquity, but with computers in general. Since information/preferences/data is stored in various different methods/locations/formats, its next to impossible to consolidate it system-wide. But the problem can at least be made to not get worse within (at the very least) Ubiquity.</p>
<p>Part of this can be solved by going back to the data vs information problem. When data is stored, it can take on many different meanings, since its meaning is dependent on the code that uses it. But if information is stored, then although the use may vary, the meaning behind it is global.</p>
<p>As an example, lets look at what's required to login to a web service. The user generally has to supply at least 2 pieces of information: a login name, and a password. But where's it stored? In the password manager? In the preferences? Which URL should be used as a key? The front-page URL? The login-page URL? The mobile version's URL? The web service API's URL? What about automatic logins, so the user doesn't have to confirm every time - if the user has more than one login for that web page, how is it decided which one should be used?</p>
<p>A lot of the above issues (if not all of them) can be solved by reducing fragmentation, and storing information and knowledge rather than data. Picture this: Instead of associating login information with a specific URL, its associated with a uniquely identifiable name of the web service. Then each URL that is trusted to be associated with that web service is associated with the web service's name, and this association is automatically discoverable (and verifiable) without user input. Finally, all of this information is stored in such a way that its just as easily accessible to the browser, extensions, Ubiquity commands, local applications, and the user - on all of their computing devices.</p>
<p>Now instead of storing fragmented data, we have consolidated information and knowledge.</p>
<h2>A solution</h2>
<p>To finish off Part 1, I'm going to describe the user-facing component of a solution. Part 2 will cover the technical details, including an API.</p>
<p>If you've used a Ubiquity command that requires user input or some form of configuration, you would have no doubt noticed that the command has to provide its own method of presenting this task to the user. This invariably leads to multiple "setup" type commands - one for each command that needs user configuration. On top of that, these setup commands themselves are inconsistent - different naming schemes, different way of entering the same types of information. For instance, do you use separate setup commands for your login name and password, or enter them both in the same command? If its the same command, what happens when you change your password? I think the only thing these setup commands have in common is that they're annoying to use.</p>
<p>But what if all you needed to do was tell Ubiquity "<em>my twitter login is theunfocused</em>". Or "<em>my home is Dunedin, New Zealand</em>". Or "<em>my google apps domain is blairsawesomewebsite.co.nz</em>". Simple, yes? But what if you want different information to be used for different commands? Say you wish to use the "mozillaubiquity" twitter account when using the "twitter-timeline" command. Simple: "<em>my twitter login for twitter-timeline is mozillaubiquity"</em>.</p>
<p>That's it for Part 1. As mentioned earlier, Part 2 will focus on the technical details and an API. Comments are not only welcomed, but wanted!</p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2008/10/11/how-web-services-punish-you/' rel='bookmark' title='Permanent Link: How web services punish you'>How web services punish you</a></li>
<li><a href='http://theunfocused.net/2009/01/12/mozilla-and-me/' rel='bookmark' title='Permanent Link: Mozilla and Me'>Mozilla and Me</a></li>
<li><a href='http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/' rel='bookmark' title='Permanent Link: Ubiquity &#038; Firefox &#8211; Introducing Taskfox'>Ubiquity &#038; Firefox &#8211; Introducing Taskfox</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mozilla and Me</title>
		<link>http://theunfocused.net/2009/01/12/mozilla-and-me/</link>
		<comments>http://theunfocused.net/2009/01/12/mozilla-and-me/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 18:46:58 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=100</guid>
		<description><![CDATA[Today is a very special day for me. Today I official start working on Firefox/Ubiquity/whatever full time. That's right: no more real life getting in the way. No more having to balance my day job with "Mozilla stuff". Now the Mozilla stuff is my day job. I'll be working from home, in the beautiful city [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a very special day for me. Today I official start working on Firefox/Ubiquity/whatever <strong>full time</strong>. That's right: no more real life getting in the way. No more having to balance my day job with "Mozilla stuff". Now the Mozilla stuff <strong>is</strong> my day job.</p>
<p>I'll be working from home, in the beautiful city of <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;q=Dunedin,+New+Zealand&amp;sll=-45.86778,170.503349&amp;sspn=0.055104,0.154495&amp;g=dunedin,+nz&amp;ie=UTF8&amp;ll=-41.178654,173.452148&amp;spn=14.448527,39.550781&amp;z=5">Dunedin, New Zealand</a>.</p>
<p>Here's a quick-n-dirty list of what I'll be working on, in no specific order:</p>
<ul>
<li>Catching up (after <a href="http://theunfocused.net/2008/09/30/the-new-house/">buying a house</a>, then going on holiday, I'm a bit behind)</li>
<li><a href="http://www.toolness.com/wp/?p=422">Ubiquity architectural changes</a></li>
<li><a href="http://labs.toolness.com/trac/ticket/409">Ubiquity metrics</a></li>
<li>Development related Ubiquity commands (not just Ubiquity-specific!)</li>
<li><span style="text-decoration: line-through;">Take over the world</span></li>
<li>Integrating Ubiquity into the Firefox awesomebar</li>
<li>Improving Firefox's Library window</li>
</ul>
<p>And of course, that's just for starters. I've got plenty of ideas I haven't had time to flesh-out, let alone start implementing - ideas relating to not only Ubiquity and Firefox, but other Mozilla-related projects as well. So I've got plenty to keep me busy for a very long time!</p>
<p>On top of all that, I'll also be blogging more on what I'm working on. Not just to share my progress, but also to gather some all-important feedback from the community. I'm also going to try to use this newfangled thing called <a href="http://twitter.com/theunfocused">Twitter</a>. I may have written the original Ubiquity command for Twitter, but I've never actually used the service myself. I guess this is a good of a time as any to start. And as always, I'll be on <a href="http://irc.mozilla.org/">IRC</a> - my IRC nick is <em>Unfocused</em>.</p>
<hr style="width: 100%;" /><span style="text-decoration: underline;">Note</span>: By "today" I mean Monday 12<sup>th</sup> January. But since New Zealand is UTC+13, it'll still be Sunday for a lot of you. Too bad. I'm excited, and I can start early if I want to! <img src='http://theunfocused.net/wp-content/plugins/tango-smileys-extended/tango/razz.png' alt='Razz' title='Razz' class='tse-smiley' /></p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/' rel='bookmark' title='Permanent Link: Ubiquitous information &#8211; Part 1'>Ubiquitous information &#8211; Part 1</a></li>
<li><a href='http://theunfocused.net/2008/08/29/an-introduction/' rel='bookmark' title='Permanent Link: An Introduction'>An Introduction</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2009/01/12/mozilla-and-me/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Private Browsing command for Ubiquity</title>
		<link>http://theunfocused.net/2008/11/12/private-browsing-command-for-ubiquity/</link>
		<comments>http://theunfocused.net/2008/11/12/private-browsing-command-for-ubiquity/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 00:40:16 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=76</guid>
		<description><![CDATA[One of the cool new features of the upcoming Firefox 3.1 is Private Browsing. Essentially, when you enable Private Browsing, nothing of what you do in Firefox is recorded. Great when you want to hide something from a nosy flatmate. So in Ubiquity fashion, here's a command to easily toggle Private Browsing mode. Once you've [...]]]></description>
			<content:encoded><![CDATA[<p>One of the cool new features of the upcoming Firefox 3.1 is <a href="http://ehsanakhgari.org/blog/2008-11-04/dont-leave-trace-private-browsing-firefox">Private Browsing</a>. Essentially, when you enable Private Browsing, nothing of what you do in Firefox is recorded. Great when you want to hide something from a nosy flatmate. So in <a href="http://wiki.mozilla.org/Labs/Ubiquity">Ubiquity</a> fashion, <a href="http://theunfocused.net/moz/ubiquity/verbs/?cmd=private-browsing">here</a>'s a command to easily toggle Private Browsing mode.</p>
<p>Once you've subscribed to that command, all you need to do is open Ubiquity, and start typing "private-browsing". Typing "p" may even be enough, depending on the commands you have. By default, it will toggle Private Browsing to the opposite of the state its currently in. You can also explicitly specify whether you want it on or off by specifying "on" or "off" respectively. That way you don't have to actually remember or check whether you're already in Private Browsing.</p>
<div class="wp-caption aligncenter" style="width: 310px"><a href="http://theunfocused.net/wp-content/uploads/2008/11/private-browsing.png"><img class="size-medium wp-image-77" title="Screenshot of Private Browsing command" src="http://theunfocused.net/wp-content/uploads/2008/11/private-browsing-300x103.png" alt="Screenshot of Private Browsing command" width="300" height="103" /></a><p class="wp-caption-text">Screenshot of Private Browsing command</p></div>
<p>The command can be subscribed to from here:<br />
<a href="http://theunfocused.net/moz/ubiquity/verbs/?cmd=private-browsing"> http://theunfocused.net/moz/ubiquity/verbs/?cmd=private-browsing</a></p>
<p><span style="text-decoration: underline;"><strong>Note:</strong></span> You'll need to be running a <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">nightly build</a> of Firefox 3.1, or 3.1 beta 2 (when it gets released) or newer.</p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/05/24/a-good-and-safe-internet/' rel='bookmark' title='Permanent Link: A good and safe Internet'>A good and safe Internet</a></li>
<li><a href='http://theunfocused.net/2008/09/30/the-new-house/' rel='bookmark' title='Permanent Link: The New House'>The New House</a></li>
<li><a href='http://theunfocused.net/2009/03/26/ubiquity-firefox-introducing-taskfox/' rel='bookmark' title='Permanent Link: Ubiquity &#038; Firefox &#8211; Introducing Taskfox'>Ubiquity &#038; Firefox &#8211; Introducing Taskfox</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2008/11/12/private-browsing-command-for-ubiquity/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How web services punish you</title>
		<link>http://theunfocused.net/2008/10/11/how-web-services-punish-you/</link>
		<comments>http://theunfocused.net/2008/10/11/how-web-services-punish-you/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 12:11:41 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=65</guid>
		<description><![CDATA[I've noticed that in order to use the APIs of some web services, they are requiring applications (web based or otherwise) to obtain per-user API keys. This is essentially a generated password (separate from the normal login password) specifically to allow an individual application access to a specific user's data via an API. It requires [...]]]></description>
			<content:encoded><![CDATA[<p>I've noticed that in order to use the APIs of some web services, they are requiring applications (web based or otherwise) to obtain per-user API keys. This is essentially a generated password (separate from the normal login password) specifically to allow an individual application access to a specific user's data via an API. It requires the user to manually request an API key for each individual application they wish to grant access to, and then enter it into that application. Sometimes the user is instead forced to manually verify every single action.</p>
<p>In other words, it punishes the <em>user </em>because the web service doesn't trust the 3rd party application. This is wrong. Its not the user's fault.</p>
<p>This has come up many times for Ubiquity command authors trying to provide easy and novel access to web services. It means that if commands want to use a web service's API, they need a setup procedure before they can be used. Which is stupid, because a command already has access to the login cookie, and the login information in the password manager.</p>
<p>I'm not saying that I'm providing a solution for all of this. There are already plenty of other existing methods to choose from - some of which may fit, some of which may be just as bad. What I am saying is that while granularity in access control can be seen as a good thing, it should not come at the user's expense.</p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/' rel='bookmark' title='Permanent Link: Ubiquitous information &#8211; Part 1'>Ubiquitous information &#8211; Part 1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2008/10/11/how-web-services-punish-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>An Introduction</title>
		<link>http://theunfocused.net/2008/08/29/an-introduction/</link>
		<comments>http://theunfocused.net/2008/08/29/an-introduction/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 11:18:26 +0000</pubDate>
		<dc:creator>Blair McBride</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Ubiquity]]></category>

		<guid isPermaLink="false">http://theunfocused.net/?p=7</guid>
		<description><![CDATA[I believe a formal introduction is in order, as this is a shiny new blog. I haven't blogged since high school, so bear with me as I reacquaint myself with the non-academic writing style of blogging. Firstly, a short introduction about myself and what I'm doing. My name is Blair McBride, and I live in [...]]]></description>
			<content:encoded><![CDATA[<p>I believe a formal introduction is in order, as this is a shiny new blog. I haven't blogged since high school, so bear with me as I reacquaint myself with the non-academic writing style of blogging.</p>
<p>Firstly, a short introduction about myself and what I'm doing. My name is Blair McBride, and I live in <a href="http://maps.google.com/?q=Dunedin%2C%20New%20Zealand">Dunedin, New Zealand</a>. I'm enrolled at the <a href="http://www.otago.ac.nz/">University of Otago</a> and I'm interested in amateur photography, programming, and making things easier to use. At Otago, I have completed an undergraduate degree in Computer Science, and continue to learn and work with computers outside of academia. Now I'm working on completing an undergraduate degree in Psychology, while also exploring other areas of study such as Art History, Latin, and Anthropology/Archeology. Computer Science and Psychology may seem like an unusual mixture, but I believe its important to understand how the brain works so that computer interfaces (and physical objects) can be designed for the people using them, rather than designed for computers/manufacturers.</p>
<p>This leads me to a topic which is likely to be featured a lot in my blog posts: <a href="http://wiki.mozilla.org/Labs/Ubiquity">Ubiquity</a>. Ubiquity is a project from <a href="http://labs.mozilla.org/">Mozilla Labs</a>, the virtual lab responsible for various experimental browser addons such as <a href="http://labs.mozilla.com/projects/weave/">Weave</a> and <a href="http://labs.mozilla.com/projects/snowl/">Snowl</a>. The principle aim of Ubiquity is to experiment with connecting the Web with language. In doing so, we're attempting to find new user interfaces that could make it possible for everyone to do common Web tasks more quickly and easily. Instead of being forced to do things the way the computer thinks, it allows you to tell your computer what to do in the way that you understand it. In other words, it lets you control the computer, rather than having the computer control you. We recently reached the stage where Ubiquity could be useful for normal people, and so the <a href="https://people.mozilla.com/~avarma/ubiquity-0.1.xpi">first public release</a> was unleashed upon the world. In conjunction with the official launch, Aza Raskin posted an <a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">introduction to Ubiquity</a> and an more <a href="http://www.azarask.in/blog/post/ubiquity-in-depth/">in-depth followup</a>, each of which covers the basic concepts and usage. But as he explains, Ubiquity is more than just an interface - its also a development platform that lowers the bar for entry into augmenting the user's browsing experience. In plain English, that means Ubiquity makes making Firefox addons easy. Really easy. Just be aware that Ubiquity is still in its early stages of development. There are bugs. There are things that will change, some drastically. But all for the better, because Ubiquity is going to change the way people interact with their computers.</p>
<p>I started contributing to the Ubiquity project sometime after the basic foundations had been laid. But since then, I've been able to find bugs, fix bugs, add features, contribute ideas, and meet some great people. And the development process is made as transparent as possible, so everything is public and <a href="http://getsatisfaction.com/mozilla/products/mozilla_ubiquity">anyone can contribute</a>.</p>


<p>Related posts:<ol><li><a href='http://theunfocused.net/2009/01/16/ubiquitous-information-part-1/' rel='bookmark' title='Permanent Link: Ubiquitous information &#8211; Part 1'>Ubiquitous information &#8211; Part 1</a></li>
<li><a href='http://theunfocused.net/2009/01/25/7-unsolicited-things/' rel='bookmark' title='Permanent Link: 7 Unsolicited Things'>7 Unsolicited Things</a></li>
<li><a href='http://theunfocused.net/2008/10/11/how-web-services-punish-you/' rel='bookmark' title='Permanent Link: How web services punish you'>How web services punish you</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://theunfocused.net/2008/08/29/an-introduction/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
