<?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>Ajaxian &#187; Mozilla</title>
	<atom:link href="http://ajaxian.com/by/topic/mozilla-topic/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 02 Feb 2012 22:23:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
    	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Prism work makes way for Chromeless effort</title>
		<link>http://ajaxian.com/archives/prism-work-makes-way-for-chromeless-effort</link>
		<comments>http://ajaxian.com/archives/prism-work-makes-way-for-chromeless-effort#comments</comments>
		<pubDate>Wed, 02 Feb 2011 02:50:19 +0000</pubDate>
		<dc:creator>jvaughan</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10524</guid>
		<description><![CDATA[Mozilla Labs announced it will no longer maintain the Prism project. Attention instead will focus on the more general Chromeless project, which also is a &#8221;task-focused layer&#8221; running on top of Mozilla&#8217;s XULRunner runtime environment. In a blog entitled &#8220;Prism is now Chromeless,&#8221; Lloyd Hilaiel wrote: &#8220;The final change we’re announcing today takes the form <a href="http://ajaxian.com/archives/prism-work-makes-way-for-chromeless-effort">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Mozilla Labs announced it will no longer maintain the Prism project. Attention instead will focus on the more general Chromeless project, which also is a &#8221;task-focused layer&#8221; running on top of Mozilla&#8217;s XULRunner runtime environment. In a blog entitled <a href="http://mozillalabs.com/blog/2011/02/prism-is-now-chromeless/">&#8220;Prism is now Chromeless,&#8221;</a> Lloyd Hilaiel wrote: &#8220;The final change we’re announcing today takes the form of widening of the goal of the Chromeless project, that is specifically, we now want to make it possible to build desktop applications with Web technologies. &#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/prism-work-makes-way-for-chromeless-effort/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>People of HTML5 – Bruce Lawson</title>
		<link>http://ajaxian.com/archives/people-of-html5-%e2%80%93-bruce-lawson</link>
		<comments>http://ajaxian.com/archives/people-of-html5-%e2%80%93-bruce-lawson#comments</comments>
		<pubDate>Fri, 07 Jan 2011 21:44:29 +0000</pubDate>
		<dc:creator>jvaughan</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10509</guid>
		<description><![CDATA[The Mozilla folks including Mozilla Evangelist Chris Heilmann thought it a good idea to introduce some &#8220;People of HTML5,&#8221; starting with Bruce Lawson of Opera, co-author of &#8220;Introducing HTML5&#8243; and one of the curators of HTML5 Doctor.  Among the most vivid new technologies of the moment Lawson cites: …DAP (“Device APIs and Policy Working Group”). This <a href="http://ajaxian.com/archives/people-of-html5-%e2%80%93-bruce-lawson">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The Mozilla folks including Mozilla Evangelist Chris Heilmann thought it a good idea to introduce some <a href="http://hacks.mozilla.org/2011/01/people-of-html5-bruce-lawson/">&#8220;People of HTML5,&#8221;</a> starting with Bruce Lawson of Opera, co-author of &#8220;Introducing HTML5&#8243; and one of the curators of HTML5 Doctor.  Among the most vivid new technologies of the moment Lawson cites:</p>
<blockquote><p><em>…DAP (“Device APIs and Policy Working Group”). This thrillingly-named set of specifications is further extending the capabilities of the Web by specifying APIs that allow access to device features like camera, contact books and calendar — much like Geolocation gives browsers access to the device’s GPS capabilities.</em></p>
</blockquote>
<p><a href="http://hacks.mozilla.org/2011/01/people-of-html5-bruce-lawson/"></a></p>
<p><a href="http://hacks.mozilla.org/2011/01/people-of-html5-bruce-lawson/">http://hacks.mozilla.org/2011/01/people-of-html5-bruce-lawson/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/people-of-html5-%e2%80%93-bruce-lawson/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Drumbeat for the Open Web</title>
		<link>http://ajaxian.com/archives/a-drumbeat-for-the-open-web</link>
		<comments>http://ajaxian.com/archives/a-drumbeat-for-the-open-web#comments</comments>
		<pubDate>Thu, 02 Sep 2010 10:30:40 +0000</pubDate>
		<dc:creator>Brad Neuberg</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10141</guid>
		<description><![CDATA[I stumbled on the Mozilla Foundation&#8217;s Drumbeat project recently: Drumbeat gathers smart, creative people like you around big ideas, practical projects and local events that improve the open web. It&#8217;s very well done combination of projects + community. There&#8217;s a whole slew of cool projects already one here. A small sample:]]></description>
			<content:encoded><![CDATA[<p><a href="http://ajaxian.com/wp-content/images/drumbeat_logo.png"><img class="aligncenter size-full wp-image-10142" title="drumbeat_logo" src="http://ajaxian.com/wp-content/images/drumbeat_logo.png" alt="" width="384" height="105" /></a></p>
<p>I stumbled on the Mozilla Foundation&#8217;s <a href="http://www.drumbeat.org">Drumbeat</a> project recently:</p>
<blockquote><p>Drumbeat gathers smart, creative people like you around big ideas, practical projects and local events that improve the open web.</p></blockquote>
<p>It&#8217;s very well done combination of projects + community.</p>
<div id="attachment_10143" class="wp-caption aligncenter" style="width: 410px"><a href="http://ajaxian.com/wp-content/images/4550572473_2ae27b4fea.jpg"><img class="size-full wp-image-10143 " title="4550572473_2ae27b4fea" src="http://ajaxian.com/wp-content/images/4550572473_2ae27b4fea.jpg" alt="" width="400" height="266" /></a><p class="wp-caption-text">Drumbeat Toronto Meetup</p></div>
<p><span style="font-size: 13.1944px;">There&#8217;s a whole slew of cool projects already one here. A small sample:</span></p>
<p><a href="http://www.drumbeat.org/universal-subtitles"><img class="aligncenter size-full wp-image-10144" title="drumbeat1" src="http://ajaxian.com/wp-content/images/drumbeat1.png" alt="" width="226" height="200" /></a><br />
<a href="http://www.drumbeat.org/webmademovies"><img class="aligncenter size-full wp-image-10145" title="drumbeat2" src="http://ajaxian.com/wp-content/images/drumbeat2.png" alt="" width="226" height="200" /></a><br />
<a href="http://www.drumbeat.org/p2pu-webcraft"><img class="aligncenter size-full wp-image-10146" title="drumbeat3" src="http://ajaxian.com/wp-content/images/drumbeat3.png" alt="" width="226" height="200" /></a><br />
<a href="http://www.drumbeat.org/project/open-video-60-seconds"><img class="aligncenter size-full wp-image-10147" title="drumbeat4" src="http://ajaxian.com/wp-content/images/drumbeat4.png" alt="" width="226" height="200" /></a><br />
<a href="http://www.drumbeat.org/project/map-web"><img class="aligncenter size-full wp-image-10148" title="drumbeat5" src="http://ajaxian.com/wp-content/images/drumbeat5.png" alt="" width="226" height="200" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/a-drumbeat-for-the-open-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What can we do with a Web Store, and even an Open Web Store?</title>
		<link>http://ajaxian.com/archives/what-can-we-do-with-a-web-store-and-even-an-open-web-store</link>
		<comments>http://ajaxian.com/archives/what-can-we-do-with-a-web-store-and-even-an-open-web-store#comments</comments>
		<pubDate>Thu, 20 May 2010 19:49:49 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9362</guid>
		<description><![CDATA[We have been thinking about the app store models for awhile, and how they port to the Web. With the Chrome Web Store we can take a look at a concrete example and think about how it could potentially grow? Mozilla just came out with a post that aims to start a discussion about what <a href="http://ajaxian.com/archives/what-can-we-do-with-a-web-store-and-even-an-open-web-store">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://code.google.com/chrome/apps/images/launcher.png" width="480"/></p>
<p>We have been thinking about the app store models for awhile, and how they port to the Web. With the Chrome Web Store we can take a look at a concrete example and think about how it could potentially grow?</p>
<p>Mozilla just came out with a post that aims to start a discussion about <a href="http://blog.mozilla.com/blog/2010/05/20/an-open-web-app-store/">what an Open Web Store would mean?</a>:</p>
<ul>
<li>exclusively host web applications based upon HTML5, CSS, Javascript and other widely-implemented open standards in modern web browsers — to avoid interoperability, portability and lock-in issues
</li>
<li>ensure that discovery, distribution and fulfillment works across all modern browsers, wherever they run (including on mobile devices)
</li>
<li>set forth editorial, security and quality review guidelines and processes that are transparent and provide for a level playing field<br />
respect individual privacy by not profiling and tracking individual user behavior beyond what’s strictly necessary for distribution and fulfillment
</li>
<li>be open and accessible to all app producers and app consumers
</li>
</ul>
<p>I personally have been taking apart some of the pieces that make the holistic &#8220;app store&#8221; experience, and think there is room to do more with the various pieces. I would love your thoughts on <a href="http://almaer.com/blog/what-should-the-future-of-web-app-stores-be">what I wrote</a> (pasted contents below):</p>
<p>App Stores. Catalogs. Markets. Gardens. They have been an incredibly hot topic ever since the success of the iPhone App Store. Everyone has wanted to own and control an app store ever since, for many different reasons. Not all of them are good. Not all of them can extract from the App Store experience.</p>
<p>With that, today <a href="http://blog.chromium.org/2010/05/chrome-web-store.html">Google</a> <a href="http://gizmodo.com/5542695">unveiled</a> <a href="http://techcrunch.com/2010/05/19/chrome-os-versus-android/">a</a> <a href="http://code.google.com/chrome/apps/docs/index.html">Chrome Web Store</a>. Many <a href="http://ra-ajax.org/the-problems-of-apple-s-app-store-and-an-open-web-alternative">folks</a> have talked about how the Web, and the Open Web, could benefit from an app store. At a high level, the Web should give developers great options to distribute and monetize (if they so wish) their products, projects, and abilities.</p>
<p>There was a phase where people assumed that Internet meant &#8220;everything would be driven to be &#8216;free&#8217;&#8221;, and the model to make money is ads. Ads can potentially be a great avenue depending on your product, but people have always been willing to part with money to get value (or perceived value) back&#8230; and it shouldn&#8217;t be too shocking to have see that play out again via app stores. Deliver great experiences and they may come. There is a lot to be said about &#8220;expectations&#8221; though, and I feel for some of the business models that are in trouble (media etc).</p>
<p>So, it would be nice if a developer could build something useful, stick a price tag on it, and sell it&#8230; using great distribution channels. One model for this is to package the application in a way that works in the distribution channels (e.g. PhoneGap, Titanium, or for us on webOS&#8230;. natively) but surely we can do better?</p>
<p>When you look at what an app store is, it consists of many pieces indeed.</p>
<p>For example,</p>
<p><img src="http://almaer.com/blog/uploads/appstorestack.png" alt="appstorestack" title="appstorestack" width="290" height="362" class="alignnone size-full wp-image-2702"/></p>
<p><b>Application Platform</b></p>
<p>This is the set of APIs and technology that you can use to build your applications. We feel strongly that having many fragmented devices with their own set of APIs, and thus their own platform, is a path to madness. To fix that, we need a unifying platform. We could unify on a proprietary platform (e.g. Flash, Cocoa, Silverlight/.NET, or what have you) or we could learn from history and honour the very lucky place that are in as an industry, and choose Open standards&#8230; and in concrete, the Web.</p>
<p>The Chrome Web Store very much honours this. Their apps are just Web apps. This is fantastic and a big step forward. The fact that you could take the same codebase and ship it in a store that runs in Chrome and other browsers (and web OS&#8217;s :) is great news.</p>
<p>But this is only one level of the stack.</p>
<p><b>Application Packaging</b></p>
<p>How do you package up your application to place in a store? Chrome has a prelim crack at this with <a href="http://code.google.com/chrome/apps/docs/developers_guide.html">their crx format that we have seen via Chrome Extensions</a>. There are also others: </p>
<p><a href="http://www.w3.org/TR/widgets/#configuration-document0">W3C widgets</a>, <a href="http://developer.android.com/guide/topics/manifest/manifest-intro.html">Android</a>, <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1748&#038;Itemid=43">webOS</a>, <a href="http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-BBA0299B-81B6-4508-8D5B-5627206CBF7B.html">Nokia WRT</a>, and more. Libraries like PhoneGap already have to deal with this world. We need scripts and tools to navigate this world. In the short term lets create and use those tools, but how about all getting together and making a format that we can all live with and extend in the right ways?</p>
<p><b>Distribution</b></p>
<p>How do you distribute your apps? Right now you either: a) put up a website and folks find you (via search {and thus SEO}, the social web, and links), b) put an application into a store itself.</p>
<p>The Web won on distribution. AOL couldn&#8217;t hold back the tide. Everything was Out There. Do we really want one or two companies in charge of what gets Out There? There is certainly value to curation, and finding applications via places you trust, but I personally want to see us solve the problem is a distributed open way. No entity should own the pipe. There should be no &#8220;right way&#8221; to censor or review applications. Different systems can choose values. Ideally they are transparent, and consumers can then choose where they want to look for the app content.</p>
<p><b>Discoverability</b></p>
<p>If we had a standard format for &#8220;installable web apps&#8221; a lot of good can happen. If we had a standard format, we could annotate the Web with it. Browsers could consume it (e.g. <a href="http://almaer.com/firefox/appdiscover/">App Discover</a> and the talk on <a href="http://ajaxian.com/archives/detecting-extensions-in-the-browser-and-beyond">just this</a>.) and search engines could index it.</p>
<p>If I am on a Web site that has an application available, the browser should let me know. If I do a Google search, a one box should tell me about the matching apps for the platforms that I care about.</p>
<p>Anyone could create a merchandising experience and have access to apps to search for. We can go beyond that too of course. We can have web hooks that ping services with information about applications that have been created. A meta service would crop up that looks for the data and then pings the various Web app stores, just like we saw with trackbacks and the like.</p>
<p>There is still a ton of room to innovate in discoverability. Smarter searching that ties deeper than matching on the content will kick in.</p>
<p><b>Merchandising</b></p>
<p>Having access to the application data is important. The Palm ecosystem shares full feeds of the data from the catalog and this allows anyone to merchandize the content. They can be creative and present the right content to the user. There is a lot of innovation to be done here. Ideally, someone could create a great new social algorithm and have it run against all of the web apps out there. Right now, the stack is monolithic and we only have basic merchandising needs in most of the ecosystems. What about affiliate systems and the like which could enable innovation here?</p>
<p><b>Fulfillment</b></p>
<p>How do you pay for a good. How does the developer get paid for the good. This is an obviously crucial layer. Apple has done very well because people already had iTunes accounts coming into the world of the iPhone. In a distributed model, users could choose to fulfill via Amazon, or Paypal, or Checkout, or SimpleBank (one day <a href="http://al3x.net/2010/05/17/something-new.html">right al3x?</a> :)</p>
<p><b>And more&#8230;.</b></p>
<p>We haven&#8217;t even gotten into identity, single sign-on, reputation systems, and how reviews can be shared on the same applications in different stores. There is so much to be done here.</p>
<p>Looking forward, where does this next step take us? Is there a path where web applications themselves are back to just being websites that can live in various stores, and a pay gate can be setup in an easy way?</p>
<p>I can&#8217;t wait to see how this plays out. We could all go off and build ivory towered app stores, or we could come together and work out a better way. Are you in?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/what-can-we-do-with-a-web-store-and-even-an-open-web-store/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let Firefox open the doors for you</title>
		<link>http://ajaxian.com/archives/firefox-account-manager</link>
		<comments>http://ajaxian.com/archives/firefox-account-manager#comments</comments>
		<pubDate>Wed, 28 Apr 2010 11:11:11 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9161</guid>
		<description><![CDATA[I remember when Dan Mills showed a first prototype of having the browser help you login. I have long wanted to login to the browser itself, and then have it handle my passwords etc. I use 1Password to do some of this, but I still have to click on buttons to do the login. The <a href="http://ajaxian.com/archives/firefox-account-manager">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>I remember when Dan Mills showed a first prototype of having the browser help you login. I have long wanted to login to the browser itself, and then have it handle my passwords etc. I use 1Password to do some of this, but I still have to click on buttons to do the login.</p>
<p>The initial work has been taken to the next level with the <a href="http://hacks.mozilla.org/2010/04/account-manager-coming-to-firefox/">Account Manager</a> Add-on by Dan and co:</p>
<p><video width="500" controls="controls" tabindex="0"><source type="video/ogg; codecs="theora, vorbis" src="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.ogv"></source><source type="video/mp4" src="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.mp4"></source></video></p>
<p><b>How Does It Work?</b></p>
<p>The Account Manager specification proposes two small changes to Web sites:</p>
<ol>
<li>The browser needs to know how to register, sign in, and sign out of your site. You will need a static JSON document, automatically discovered by the browser, which describes what methods the site supports and how they should be executed. For example, a web site might describe their support of “connect” (sign in) like this:
<div class="igBar"><a href="javascript:showCodeTxt('javascript-2');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-2">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #3366CC;">"methods"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"username-password-form"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"connect"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"method"</span>: <span style="color: #3366CC;">"POST"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"path"</span>: <span style="color: #3366CC;">"/accounts/LoginAuth"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"params"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"username"</span>: <span style="color: #3366CC;">"Email"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"password"</span>: <span style="color: #3366CC;">"Passwd"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>This example tells the browser that the site supports signing in with a form POST to /accounts/LoginAuth, and what parameter names to use for the username and password (Email and Passwd respectively).
</li>
<li>
The browser needs a way to check which user (if any) is currently signed in. To do this, you need to set an HTTP header in the same code where you would set a cookie with a session ID. If you can’t set an HTTP header, you can also supply a URL the browser will ping.</p>
<p>The header would look like this:</p>
<pre>
X-Account-Management-Status: active; name="Joe User"
</pre>
<p>That would tell the browser that “Joe User” is now signed in, so it can provide the appropriate UI (to switch users or sign out).
</li>
<p>Read the <a href="https://wiki.mozilla.org/Labs/Weave/Identity/Account_Manager/Spec/Latest">full specification</a> for more.
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/firefox-account-manager/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
<enclosure url="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.ogv" length="2719447" type="video/ogg" />
		</item>
		<item>
		<title>Mozilla Web Caching Summit</title>
		<link>http://ajaxian.com/archives/mozilla-web-caching-summit</link>
		<comments>http://ajaxian.com/archives/mozilla-web-caching-summit#comments</comments>
		<pubDate>Wed, 07 Apr 2010 15:39:34 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8869</guid>
		<description><![CDATA[As part of their on-going efforts to engage directly with the web developer community, Mozilla hosted a Web Caching Summit earlier this week to discuss how the web platform could better meet the needs of developers. In attendance were developers who work on Facebook, Google Search, Microsoft Office Live, Twitter, Yahoo, SproutCore, and Palm webOS. <a href="http://ajaxian.com/archives/mozilla-web-caching-summit">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/moz.png" alt="moz" title="moz" width="300" height="214" class="alignnone size-full wp-image-8871" /></p>
<p>As part of their on-going efforts to engage directly with the web developer community, Mozilla hosted a Web Caching Summit earlier this week to discuss how the web platform could better meet the needs of developers. In attendance were developers who work on Facebook, Google Search, Microsoft Office Live, Twitter, Yahoo, SproutCore, and Palm webOS. <a href="http://arunranga.com/blog/">Arun Ranganathan</a> moderated the gathering.</p>
<p>One of the core challenges identified by the group was that frequent visitors of a site are often missing resources in their browser cache that the site authors think should be there. In other words, why is the same user requesting a static cacheable image with a year-long expiration every few days?</p>
<p>A lively discussion ensued over 5 hours talking about this problem and others, touching on why this is the case and what page developers could do to maximize the cache-ablity of their websites.</p>
<p>A high-level summary of the outcome is:</p>
<p>- browsers should immediately investigate increasing the size of the browser cache<br />
- Mozilla will learn more about caching behaviors in the browser, perhaps by using Test Pilot to collect more information from end users<br />
- Mozilla will investigate means of prioritizing content in the cache, either by allowing developers to prioritize content (i.e., set some content on the page as a higher cache priority than others) or through implicitly prioritizing (e.g., CSS and JS above images).</p>
<p>What do you think browser vendors could do to improve caching?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mozilla-web-caching-summit/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Stop sniffing my breadcrumbs!</title>
		<link>http://ajaxian.com/archives/stop-sniffing-my-breadcrumbs</link>
		<comments>http://ajaxian.com/archives/stop-sniffing-my-breadcrumbs#comments</comments>
		<pubDate>Thu, 01 Apr 2010 05:01:17 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8835</guid>
		<description><![CDATA[Chris Blizzard has done a nice roundup of David Baron’s post, the bug and the post on the security blog which discusses the :visited issue. We have seen :visited sniffing for good as well as ill (Aza wrote about using it to detect what networks you are on which can help you put up the <a href="http://ajaxian.com/archives/stop-sniffing-my-breadcrumbs">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Chris Blizzard has done a <a href="http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/">nice roundup</a> of <a href="http://dbaron.org/mozilla/visited-privacy">David Baron’s post</a>, the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=147777">bug</a> and the post on the <a href="http://blog.mozilla.com/security/2010/03/31/plugging-the-css-history-leak/">security blog</a> which discusses the :visited issue.</p>
<p>We have seen :visited sniffing for good as well as ill (Aza wrote about using <a href="http://www.azarask.in/blog/post/socialhistoryjs/">it to detect what networks you are on</a> which can help you put up the right badge in an OpenID signup say) but it is a loophole that many want to fix.</p>
<p>The fix could affect you though. Here is what is changing:</p>
<blockquote><p>
These changes will have some impact on web sites and developers, so you should be aware of them.  At a high level here&#8217;s what&#8217;s changing:</p>
<ul>
<li><code>getComputedStyle</code> (and similar functions like <code>querySelector</code>) will lie.  They will always return values as if a user has never visited a site.</li>
<li>You will still be able to visually style visited links, but you&#8217;re severely limited in what you can use.  We&#8217;re limiting the CSS properties that can be used to style visited links to <code><a href="https://developer.mozilla.org/en/CSS/color">color</a></code>, <code><a href="https://developer.mozilla.org/en/CSS/background-color">background-color</a></code>, <code><a href="https://developer.mozilla.org/en/CSS/border-top-color">border-*-color</a></code>, and <code><a href="https://developer.mozilla.org/en/CSS/outline-color">outline-color</a></code> and the color parts of the <code><a href="https://developer.mozilla.org/en/SVG/Tutorial/Fill_Stroke_and_Gradients">fill</a></code> and <code><a href="https://developer.mozilla.org/en/SVG/Tutorial/Fill_Stroke_and_Gradients">stroke</a></code> properties.  For any other parts of the style for visited links, the style for unvisited links is used instead.  In addition, for the list of properties you can change above, you won&#8217;t be able to set <a href="http://www.w3.org/TR/css3-color/#rgba-color">rgba()</a> or <a href="http://www.w3.org/TR/css3-color/#hsla-color">hsla()</a> colors or <code><a href="http://www.w3.org/TR/css3-color/#transparent">transparent</a></code> on them.</li>
</ul>
<p>These are pretty obvious cases that are used widely.  There are a couple of subtle changes to how selectors work as well:</p>
<ul>
<li>If you use a sibling selector (<a href="http://www.w3.org/TR/css3-selectors/#combinators">combinator</a>) like <code>:visited + span</code> then the <code>span</code> will be styled as if the link were unvisited.</li>
<li>If you&#8217;re using nested link elements (rare) and the element being matched is different than the link whose presence in history is being tested, then the element will be drawn as if the link were unvisited as well.</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/stop-sniffing-my-breadcrumbs/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Chrome Embeds Flash!</title>
		<link>http://ajaxian.com/archives/chrome-embeds-flash</link>
		<comments>http://ajaxian.com/archives/chrome-embeds-flash#comments</comments>
		<pubDate>Wed, 31 Mar 2010 14:00:45 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Section]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8823</guid>
		<description><![CDATA[For some time now, Adobe has been working with platform vendors to include the Flash plug-in pre-loaded. We've seen this ages ago in Windows, and more recently with Adobe's efforts in the Open Screen Project. Now, there's news of something a little bit different. In our second Google-y post of the week, there's the news <a href="http://ajaxian.com/archives/chrome-embeds-flash">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/flashchrome.png" alt="flashchrome" title="flashchrome" width="247" height="121" class="alignnone size-full wp-image-8825" /></p>
<p>For some time now, Adobe has been working with platform vendors to include the Flash plug-in pre-loaded. We've seen this ages ago in Windows, and more recently with Adobe's efforts in the <a href="http://www.openscreenproject.org/">Open Screen Project</a>.</p>
<p>Now, there's news of something a little bit different. In our second Google-y post of the week, there's the news that <a href="http://blogs.adobe.com/flashplayer/2010/03/improved_flash_player_support.html">Chrome now embeds Flash directly in the browser</a>, starting today with the <a href="http://googlechromereleases.blogspot.com/2010/03/dev-channel-update_30.html">developer channel builds of Chrome</a>.</p>
<p>While this doesn't change the game for developers--it won't materially impact Flash market share--it certainly provides a much more pleasant integration for users who will no longer need to think about updating Flash as a separate process to updating their browsers. (And since Chrome auto-updates, it's blissful upgrading indeed.)</p>
<h3>Plug-ins with a Dash of Pepper</h3>
<p>What *may* impact developers more is news of Adobe working with Google and Mozilla to create a new, deeper browser plug-in API. While no timelines are given, some technical details are provided via a <a href="https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI">Mozilla Wiki page</a>.</p>
<p>Code-named "Pepper", the API provides all kinds of goodies denied to plug-ins before, such as using native GUI controls inside of a plug-in (i.e., scrollbars) instead of being forced to render its own and access to printing and the clipboard. Pepper also provides granular media APIs instead of forcing plug-ins to deal with graphics and audio on its own.</p>
<p>It will be interesting to see how successfully such an API can be implemented consistently cross-platform, but at first glance it seems to embrace about the right set of trade-offs.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/chrome-embeds-flash/feed</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Mozilla Labs releases alpha version of contacts in the browser</title>
		<link>http://ajaxian.com/archives/mozilla-labs-releases-alpha-version-of-contacts-in-the-browser</link>
		<comments>http://ajaxian.com/archives/mozilla-labs-releases-alpha-version-of-contacts-in-the-browser#comments</comments>
		<pubDate>Fri, 19 Mar 2010 12:40:29 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8751</guid>
		<description><![CDATA[Michael Hanson and a team at Mozilla Labs have been doing some really interesting work with Identity in the browser (and taking ownership back from services). They just released an alpha add-on for Firefox that begins to integrate contacts from services (right now: "Gmail, Twitter, and, on MacOS-based machines, the local Address Book" but growing). <a href="http://ajaxian.com/archives/mozilla-labs-releases-alpha-version-of-contacts-in-the-browser">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Michael Hanson and a team at Mozilla Labs have been doing some really interesting work with Identity in the browser (and taking ownership back from services).</p>
<p>They just released <a href="http://mozillalabs.com/blog/2010/03/contacts-in-the-browser/">an alpha add-on for Firefox</a> that begins to integrate contacts from services (right now: "Gmail, Twitter, and, on MacOS-based machines, the local Address Book" but growing).</p>
<p>Imagine getting auto-complete across all of your forms... like this:</p>
<p><img src="http://ajaxian.com/wp-content/images/mozlabscontacts.png" alt="mozlabscontacts" title="mozlabscontacts" width="480" height="360" class="alignnone size-full wp-image-8752"/></p>
<p>Here is a list of features:</p>
<ul>
<li>A browser-based Contacts database that stays in sync with your address books (so far, it supports GMail, Twitter and Mac OS Address book)
</li>
<li>A generic importer system for Contacts from desktop or web-based address books (so you can implement missing ones)
</li>
<li>An email autocompletion feature, which demonstrates how the browser can auto-complete email addresses on any website. The autocompletion is performed entirely in the browser, without sharing the your list of contacts with the website.
</li>
<li>A Javascript API that websites can use to access the Contacts database, with explicit user permission and filtering
</li>
</ul>
<p><a href="http://people.mozilla.com/~mhanson/contacts/contacts-latest.xpi">Download it here</a>.</p>
<p>This is very cool and you should also note the open technology being used:</p>
<ul>
<li>We’re indebted to our friends and colleagues at Mozilla Messaging, who have been working on address  book integration in Thunderbird for years, and have the exciting new Raindrop messaging application in experimental development now.  We are working on integrating the Raindrop project with the Contacts API!</li>
<li>The <a href="http://portablecontacts.net/">Portable Contacts</a> initiative is an important effort to define a common data definition for contact data.  We use the Portable Contacts definition internally for Contacts.</li>
<li>The <a href="http://www.w3.org/2009/dap/">W3C Contacts</a> initiative is defining an industry-standard, cross-platform API for access to contact data in the browser. The spec is new and evolving, and now is the time to experiment and provide feedback!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mozilla-labs-releases-alpha-version-of-contacts-in-the-browser/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jetpack SDK: The reboot of the extensions</title>
		<link>http://ajaxian.com/archives/jetpack-sdk-the-reboot-of-the-extensions</link>
		<comments>http://ajaxian.com/archives/jetpack-sdk-the-reboot-of-the-extensions#comments</comments>
		<pubDate>Fri, 19 Mar 2010 11:16:03 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8732</guid>
		<description><![CDATA[The Jetpack project over at Mozilla Labs has been rethinking what it is to extend the browser (as has Chrome Extensions). They both move us to using Web technologies and skills rather than having to digg into XUL or C++. The project has gone through a reboot, and shed the original experiment as Jetpack Prototype. <a href="http://ajaxian.com/archives/jetpack-sdk-the-reboot-of-the-extensions">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The Jetpack project over at Mozilla Labs has been rethinking what it is to extend the browser (as has Chrome Extensions). They both move us to using Web technologies and skills rather than having to digg into XUL or C++. The project has gone through a reboot, and shed the original experiment as Jetpack Prototype.</p>
<p>We now have Jetpack SDK with a brand new architecture.</p>
<p>Two videos really show off the thinking.</p>
<p>Firstly, Atul Varma, tech lead for the project, talks through the update and how you go about using Jetpack SDK. There are some cool new tools revolving around developer ergonomics. These tools help with the packaging of code, developing of code, documenting code, and the management of code. The screencast below shows you how to create a module, using CommonJS at the heart of it.</p>
<p><object width="420" height="236"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10039748&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1"; /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10039748&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1"; type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="420" height="236"></embed></object></p>
<p>The next video is from Aza and is typical Aza. It is creative. He walks through the architecture.... why the reboot happened, and what has changed, but instead of a talking head, we get Aza's hands and pencil drawings. Oh, and he has some glasses on the top right, showing us that he has thought hard about this. :)</p>
<p><object width="420" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10011379&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1"; /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10011379&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1"; type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="420" height="315"></embed></object></p>
<p>Exciting to seeing Jetpack come up for air again, and I can't wait to see it quickly iterate from here. For more information <a href="https://wiki.mozilla.org/Labs/Jetpack/Release_Notes/0.1">check out the release notes</a>, the <a href="https://jetpack.mozillalabs.com/faq.html">FAQ</a>, and <a href="https://jetpack.mozillalabs.com/sdk/0.1/docs/#guide/getting-started">download the SDK and write an extension</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jetpack-sdk-the-reboot-of-the-extensions/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mozilla JägerMonkey: Method based JIT + Trace based JIT = speed</title>
		<link>http://ajaxian.com/archives/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed</link>
		<comments>http://ajaxian.com/archives/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed#comments</comments>
		<pubDate>Sat, 27 Feb 2010 05:05:58 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8661</guid>
		<description><![CDATA[David Anderson: "TraceMonkey has rocket boosters, so it runs really fast when the boosters are on, but the boosters can’t always be turned on." Opera's new JIT compiler Carakan is doing well as we just posted. What is Mozilla doing with TraceMonkey? A lot. Mozilla JägerMonkey adds method based JIT (of V8 and Nitro fame) <a href="http://ajaxian.com/archives/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>
David Anderson: "TraceMonkey has rocket boosters, so it runs really fast when the boosters are on, but the boosters can’t always be turned on."
</p></blockquote>
<p>Opera's new JIT compiler Carakan is <a href="http://ajaxian.com/archives/opera-10-50">doing well as we just posted</a>. What is Mozilla doing with TraceMonkey? A lot.</p>
<p><a href="https://wiki.mozilla.org/JaegerMonkey">Mozilla JägerMonkey</a> adds method based JIT (of V8 and Nitro fame) to keep the boosters on.</p>
<p>We learn more from <a href="http://blog.mozilla.com/dmandelin/2010/02/26/starting-jagermonkey/">David Mandelin</a> and <a href="http://www.bailopan.net/blog/?p=683">David Anderson</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mozilla-jagermonkey-method-based-jit-trace-based-jit-speed/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mozilla Labs&#8217; Weave can become a platform for us</title>
		<link>http://ajaxian.com/archives/mozilla-labs-weave-can-become-a-platform-for-us</link>
		<comments>http://ajaxian.com/archives/mozilla-labs-weave-can-become-a-platform-for-us#comments</comments>
		<pubDate>Sun, 07 Feb 2010 17:08:51 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8558</guid>
		<description><![CDATA[Mozilla Labs has released the magical 1.0 version of Weave and the doors are now open for developers. When I was a part of Mozilla Labs day to day, I always loved the vision and team behind Weave. I kept wanting the implementation to match the vision, but it is a tough problem and it <a href="http://ajaxian.com/archives/mozilla-labs-weave-can-become-a-platform-for-us">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/weaveitup.png" alt="weaveitup" title="weaveitup" width="480" height="186" class="alignnone size-full wp-image-8559"/></p>
<p>Mozilla Labs has released the magical 1.0 version of <a href="http://mozillalabs.com/weave/">Weave</a> and the doors are <a href="http://gigaom.com/2010/02/06/mozilla-weave-developers/">now open for developers</a>.</p>
<p>When I was a part of Mozilla Labs day to day, I always loved the vision and team behind Weave. I kept wanting the implementation to match the vision, but it is a tough problem and it takes time to bake. Well, it is getting there now.</p>
<p>Weave is special because it offers a series of back-end services (more than just sync) that are build with users (and their privacy) in mind, rather than business models. I have talked to a couple of entrepreneurs recently and thought that there ideas could be implemented nicely on top of Weave.</p>
<p>It is still early days, but I am jazzed to see the platform getting opened up. I am hoping to get clients for Safari, Chrome, and IE.... and look forward to a <a href="http://www.precentral.net/mozilla-weave-sync-coming-webos">webOS client</a> too :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/mozilla-labs-weave-can-become-a-platform-for-us/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Taking a stance: Comparing video codec issue (H.264) to ActiveX</title>
		<link>http://ajaxian.com/archives/h264-activex</link>
		<comments>http://ajaxian.com/archives/h264-activex#comments</comments>
		<pubDate>Mon, 25 Jan 2010 12:01:33 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8484</guid>
		<description><![CDATA[Sometimes you need to compromise, but at others you need to lead and take a stance. Our politicians do far too much via polls, and I often find myself wishing for more leadership. I could start talking about Obama and the healthcare issue in the US..... but this is a technical blog so I won't <a href="http://ajaxian.com/archives/h264-activex">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes you need to compromise, but at others you need to lead and take a stance. Our politicians do far too much via polls, and I often find myself wishing for more leadership. I could start talking about Obama and the healthcare issue in the US..... but this is a technical blog so I won't put you through that.</p>
<p>Robert O'Callahan (moz layout guru) shares why he thinks Mozilla should stand firm on the H.264 issue <a href="http://weblogs.mozillazine.org/roc/archives/2010/01/activex_all_ove.html">comparing it to the ActiveX issue from the past</a>.</p>
<p>With Chrome and Safari supporting H.264 (and not open video formats such as Ogg Theora) some users and developers have asked for Mozilla to support it too in Firefox. Mozilla is certainly a user-centric group (which is how they have gotten so far with Firefox) but remember that they are mission based: to keep the Internet open.</p>
<p>Here is some of RoCs opinion. I am glad he shared it:</p>
<blockquote><p>
Taking such positions is nothing new for Mozilla and history has proved us right for doing so, in particular regarding ActiveX and Web standards in general.</p>
<p>Perhaps it's not widely known, but Gecko has had code to support hosting ActiveX controls, dating back as far as 1999. ActiveX controls are very much like system video codecs. ActiveX support would have been very useful to users ever since 1999, and still would be now --- certainly in corporate intranets, and everywhere in China and South Korea. Enabling ActiveX support would probably boost our market share significantly. Most users have useful ActiveX controls on their machines. But for the last ten years, even during Mozilla's most desperate days, we have consistently refused to turn this feature on, because we believe that ActiveX is not good for the Web.</p>
<p>I'm not suggesting that the consequences of exposing system codecs to the Web would be identical to exposing ActiveX. That's unlikely, and unknowable. But favouring our principles over short-term gains for users is nothing new for Mozilla, and when we've done it in the past, history shows it was the right thing to do.
</p></blockquote>
<p>Chris Blizzard has a <a href="http://www.0xdeadbeef.com/weblog/2010/01/html5-video-and-h-264-what-history-tells-us-and-why-were-standing-with-the-web/">very detailed perspective too</a>, linking up the history of GIF, MP3, and On2 :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/h264-activex/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Official Firefox Add-On Store?</title>
		<link>http://ajaxian.com/archives/official-firefox-add-on-store</link>
		<comments>http://ajaxian.com/archives/official-firefox-add-on-store#comments</comments>
		<pubDate>Sat, 12 Dec 2009 03:59:32 +0000</pubDate>
		<dc:creator>Michael Mahemoff</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8238</guid>
		<description><![CDATA[According to The Register, Mozilla may soon build a marketplace for add-ons: Mozilla has said it will "probably" open a marketplace for Firefox add-ons sometime next year. Add-ons product manager Justin Scott (reluctantly) announced the news this morning at an add-on-happy conference in Mozilla's home town of Mountain View, California. "We'll probably be doing a <a href="http://ajaxian.com/archives/official-firefox-add-on-store">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img alt="http://www.theregister.co.uk/2009/12/11/mozilla_add_on_marketplace/" src="http://img.skitch.com/20091212-tirxekind5iku9k8p2u96hpyux.png" title="AMO" class="alignnone" width="450" height="130" /></p>
<p>According to The Register, <a href="http://www.theregister.co.uk/2009/12/11/mozilla_add_on_marketplace/">Mozilla may soon build a marketplace for add-ons</a>: </p>
<blockquote><p>
Mozilla has said it will "probably" open a marketplace for Firefox add-ons sometime next year.</p>
<p>Add-ons product manager Justin Scott (reluctantly) announced the news this morning at an add-on-happy conference in Mozilla's home town of Mountain View, California. "We'll probably be doing a marketplace pilot in 2010," he said.</p>
<p>Scott did not provide details. But earlier in the morning, he did say that Mozilla has no intention of using DRM - not that you would have expected anything else. "I don't know what we'll do, but we won't do DRM," he said.
</p></blockquote>
<p>It wouldn't be too surprising to see Moz bolt in a payment model to <a href="https://addons.mozilla.org/ ">the existing add-on repo</a>, which already has <a href="https://preview.addons.mozilla.org/en-US/developers/docs/policies/reviews">a review process</a>. Of course, once you start paying developers to build add-ons, many more add-ons will need to be reviewed and Mozilla will have to make tough decisions about to what extent add-ons will be reviewed, if at all, and what kind of charge, if any, will be imposed on add-on providers.</p>
<p>There are already some browser extensions that come with a price tag. This happens in both <a href="http://www.iewatch.com/">IE</a> and <a href="http://pimpmysafari.com/plugins/saft">Safari</a>, both browsers lacking a vibrant extension community; and it <a href="http://www.slideshare.net/glazou/monetizing-firefox-extensions">also happens</a> with Firefox, where there <em>is</em> a vibrant community of typically free, open-source, extensions.</p>
<p>An add-on marketplace would formalize the payment model and add a big incentive for developers to build seriously useful add-ons, given the possibility of reaching <a href="http://news.cnet.com/8301-1001_3-10301013-92.html">a market in the hundreds of millions</a>. The flipside is that we might no longer see free versions of some of our favorite add-ons. Given its open-source DNA, it might be nice to see a "donate" button beside any of the free offerings in the store. (<em>Update: Ryan Doherty points out in the comments there's already an <a href="http://blog.mozilla.com/addons/2009/07/15/firefox-add-ons-contributions-pilot/">add-ons contibution feature</a>, pilot launched in July.</em>)</p>
<p>It's also interesting to consider how an app store might open up a marketplace for new types of add-ons. For example, if you see the browser as a convenient sandbox to drop small desktop apps into, we could end up with simple games and utilities which might otherwise be released as shareware. Print-on-demand might be another application.</p>
<p>This is all hypothetical for now, but it's still fun to speculate on what could become of <a href="http://addons.mozilla.com">AMO</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/official-firefox-add-on-store/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox 3.6 appearance adds a lot of developer features</title>
		<link>http://ajaxian.com/archives/firefox-3-6-appearance-adds-a-lot-of-developer-features</link>
		<comments>http://ajaxian.com/archives/firefox-3-6-appearance-adds-a-lot-of-developer-features#comments</comments>
		<pubDate>Mon, 02 Nov 2009 11:30:36 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7791</guid>
		<description><![CDATA[Firefox 3.6 is already on the scene with the first beta release. The Mozilla team is moving faster and faster these days which is fantastic to see. At the high level: Users can now change their browser’s appearance with a single click, with built in support for Personas. Firefox 3.6 will alert users about out <a href="http://ajaxian.com/archives/firefox-3-6-appearance-adds-a-lot-of-developer-features">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.6 is already on the scene with <a href="https://developer.mozilla.org/devnews/index.php/2009/10/30/firefox-3-6-beta-1-is-now-available-for-download/">the first beta release</a>. The Mozilla team is moving faster and faster these days which is fantastic to see.</p>
<p>At the high level:</p>
<ul>
<li>Users can now change their browser’s appearance with a single click,  with built in support for <a href="http://www.getpersonas.com/">Personas</a>.</li>
<li>Firefox 3.6 will <a href="http://theunfocused.net/2009/10/06/firefox-3-6-knows-when-your-plugins-are-out-of-date/">alert  users about out of date plugins</a> to keep them safe.</li>
<li>Open, native video can now be displayed <a href="http://mozillalinks.org/wp/2009/10/firefox-3-6-gets-full-screen-native-video/">full  screen</a>, and supports <a href="https://developer.mozilla.org/En/HTML/Element/Video">poster frames</a>.</li>
<li>Support for the <a href="http://hacks.mozilla.org/2009/10/woff/">WOFF font format</a>.</li>
<li>Improved JavaScript performance, overall browser  responsiveness and startup time.</li>
<li>Support for new CSS, DOM and HTML5 web technologies.</li>
</ul>
<p>But there is <a href="https://developer.mozilla.org/en/Firefox_3.6_for_developers">so much more</a>. There is a ton of CSS work including background-size, gradients, and multiple background images. Video can now have a poster frame, <a href="https://developer.mozilla.org/en/Monitoring_HTTP_activity">HTTP activity can be monitored</a>, Web Workers can self-terminate with close(), drag and drop supports files via <a href="https://developer.mozilla.org/En/DragDrop/DataTransfer">DataTransfer</a>, <a href="https://developer.mozilla.org/en/DOM/window.onhashchange">window.onhashchange</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/firefox-3-6-appearance-adds-a-lot-of-developer-features/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Enhanced Firefox Memory Profiler Add-on</title>
		<link>http://ajaxian.com/archives/enhanced-firefox-memory-profiler-add-on</link>
		<comments>http://ajaxian.com/archives/enhanced-firefox-memory-profiler-add-on#comments</comments>
		<pubDate>Wed, 07 Oct 2009 12:27:17 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7526</guid>
		<description><![CDATA[Atul Varma keeps on producing more amazing tools for the Web than I have had hot dinners. I got to work with him on the original memory tool experiment and he has just improved it a lot. As well as the nice new look, there is a new API with nice methods such as getObjectTable <a href="http://ajaxian.com/archives/enhanced-firefox-memory-profiler-add-on">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://toolness.com/">Atul Varma</a> keeps on producing more amazing tools for the Web than I have had hot dinners. I got to work with him on the <a href="http://ajaxian.com/archives/a-new-memory-tool-for-the-web">original memory tool experiment</a> and he has <a href="https://wiki.mozilla.org/Labs/Memory_Profiler">just improved it a lot</a>.</p>
<p><img src="https://wiki.mozilla.org/images/4/49/Memprof_screen.png"/></p>
<p>As well as the nice new look, there is a new <a href="https://wiki.mozilla.org/Labs/Jetpack/Binary_Components#Memory_Profiling">API</a> with nice methods such as <code>getObjectTable</code> that includes a lot of great work such as looking at the shape of objects and deep understanding of the platform to let the real information rise to the top.</p>
<p>Install the <a href="https://addons.mozilla.org/en-US/firefox/addon/14666/">add-on</a> and <a href="http://hg.mozilla.org/users/avarma_mozilla.com/memory-profiler/">enjoy Atul's code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/enhanced-firefox-memory-profiler-add-on/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS improvements, speed, and more with Firefox 3.6 alpha</title>
		<link>http://ajaxian.com/archives/css-improvements-speed-and-more-with-firefox-36-alpha</link>
		<comments>http://ajaxian.com/archives/css-improvements-speed-and-more-with-firefox-36-alpha#comments</comments>
		<pubDate>Tue, 18 Aug 2009 11:49:57 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7260</guid>
		<description><![CDATA[Firefox 3.6 alpha releases have already arrived and there are already cool new features on the heals of the 3.5 release, as well as rapid speed improvements. People have focused on the new CSS improvements (Acid3 now gets 94/100) such as the tweaked CSS gradient support: PLAIN TEXT CSS: &#160; .heading &#123; &#160; background: #729FCF <a href="http://ajaxian.com/archives/css-improvements-speed-and-more-with-firefox-36-alpha">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Firefox 3.6 alpha releases <a href="https://developer.mozilla.org/devnews/index.php/2009/08/07/firefox-3-6-alpha-1-now-available-for-download/">have already arrived</a> and there are already cool new features on the heals of the 3.5 release, as well as rapid speed improvements.</p>
<p>People have focused on the <a href="http://arstechnica.com/open-source/news/2009/08/firefox-36-a1-new-css-features-javascript-speed-boost.ars">new CSS improvements</a> (Acid3 now gets 94/100) such as the tweaked <a href="https://developer.mozilla.org/en/CSS/Gradients">CSS gradient support</a>:</p>
<div class="igBar"><a href="javascript:showCodeTxt('css-4');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">CSS:</span>
<div id="css-4">
<div class="css">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #6666ff;">.heading </span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000000; font-weight: bold;">background</span>: #729FCF -moz-linear-gradient<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span>, <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; from<span style="color:#006600; font-weight:bold;">&#40;</span>rgba<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">0</span>.<span style="color:#800000;">45</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>, to<span style="color:#006600; font-weight:bold;">&#40;</span>rgba<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">0</span>.<span style="color:#800000;">50</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; color-stop<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">0</span>.<span style="color:#800000;">4</span>, rgba<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">0</span>.<span style="color:#800000;">25</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; color-stop<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">0</span>.<span style="color:#800000;">6</span>, rgba<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">0</span>.<span style="color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; color-stop<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">0</span>.<span style="color:#800000;">9</span>, rgba<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">255</span>, <span style="color:#800000;">0</span>.<span style="color:#800000;">10</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000000; font-weight: bold;">color</span>: <span style="color: #993333;">white</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000000; font-weight: bold;">height</span>: 40px;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>We also get <a href="http://www.broken-links.com/2009/08/08/new-background-rules-in-firefox-3-6/">new background rules</a> such as <a href="https://developer.mozilla.org/web-tech/2009/08/04/background-images-no-longer-restricted-to-original-size-explore-the-space-with-background-size/">background-size</a> and multiple backgrounds.</p>
<p>Read more <a href="https://developer.mozilla.org/en/Firefox_3.6_for_developers">3.6 for developers info</a>:</p>
<blockquote>
<ul>
<li>The<code> background-size </code>property from the <a title="http://dev.w3.org/csswg/css3-background/#the-background-size-property" class="external" rel="external nofollow" href="http://dev.w3.org/csswg/css3-background/" target="_blank">CSS 3 Backgrounds and Borders draft</a> is supported under the name <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3a-moz-background-size" class=" new">-moz-background-size</a></code></span> .</li>
<li>A proposal for CSS <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3aGradients" class=" new">gradients</a></code></span>  is supported for <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3abackground-image" class=" new">background-image</a></code></span> .</li>
<li>Multiple background images are now supported.</li>
<li>The <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3alength#Relative_length_units" class=" new">rem</a></code></span>  length unit from <a title="http://www.w3.org/TR/css3-values/#lengths" class="external" rel="external nofollow" href="http://www.w3.org/TR/css3-values/#lengths" target="_blank">CSS3 Values and Units</a> is now supported.</li>
<li><span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3aimage-rendering" class=" new">image-rendering</a></code></span>  is supported for images, background images, videos and canvases.</li>
<li><span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3atext-align" class=" new">text-align</a></code></span> :end is now supported</li>
<li>DOM&nbsp;changes to elements using the table <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3adisplay" class=" new">display</a></code></span>  types now work much better.</li>
<li>
<p>You can determine whether or not content is being rendered on a touch-enabled device using the new <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/CSS%3a%3a-moz-system-metric%28touch-enabled%29" class=" new">:-moz-system-metric(touch-enabled)</a></code></span>  selector.</p>
</li>
</ul>
<ul>
<li>The reorder event is now sent to embedded frames and iframes when their document is loaded. See<br />
<span class="lang lang-*"><a rel="external nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=420845" title="https://bugzilla.mozilla.org/show_bug.cgi?id=420845" target="_blank" class=" link-https">bug 420845</a></span>.</li>
<li>The <code>getBoxObjectFor()</code>&nbsp;method has been <strong>removed</strong>, as it was non-standard and exposed even more non-standard stuff to the web. See<br />
<span class="lang lang-*"><a rel="external nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=340571" title="https://bugzilla.mozilla.org/show_bug.cgi?id=340571" target="_blank" class=" link-https">bug 340571</a></span>.&nbsp; Also affects mootools which uses this call for Gecko detection.&nbsp; See this <a title="https://mootools.lighthouseapp.com/projects/2706-mootools/tickets/155" class="link-https" rel="external nofollow" href="https://mootools.lighthouseapp.com/projects/2706-mootools/tickets/155" target="_blank">mootools bug</a>.</li>
<li>A new attribute has been created, <code>mozScreenPixelsPerCSSPixel</code>, for obtaining the amount of screen pixels per CSS pixel on <span class="lang lang-*"><code><a rel="internal" href="https://developer.mozilla.org/nsIDOMWindowUtils" class=" new">nsIDOMWindowUtils</a></code> </span>. This can be used in conjunction with the new global properties, <code>mozInnerScreenX</code> and <code>mozInnerScreenY</code>, to compute screen coordinates. See
<p><span class="lang lang-*"><a rel="external nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=486200" title="https://bugzilla.mozilla.org/show_bug.cgi?id=486200" target="_blank" class=" link-https">bug 486200</a></span> and<br />
<span class="lang lang-*"><a rel="external nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=507755" title="https://bugzilla.mozilla.org/show_bug.cgi?id=507755" target="_blank" class=" link-https">bug 507755</a></span>.</li>
<li>When the page's URI's document fragment identifier (the part after the "#" (hash) character)&nbsp;changes, a new <code>hashchange</code> event is sent to the page. See <a class="internal" rel="internal" href="https://developer.mozilla.org/en/DOM/window.onhashchange">window.onhashchange</a> for more information.</li>
<li>Geolocation "address"&nbsp;support is now available enabling user-readable position information.&nbsp; See
<p><span class="lang lang-*"><a rel="external nofollow" href="https://bugzilla.mozilla.org/show_bug.cgi?id=503942" title="https://bugzilla.mozilla.org/show_bug.cgi?id=503942" target="_blank" class=" link-https">bug 503942</a></span>.</li>
<li>The attribute <a class="internal" rel="internal" href="https://developer.mozilla.org/en/DOM/document.readyState"><code>document.readyState</code></a> is now supported. Gecko also supports <code><a class="internal" rel="internal" href="https://developer.mozilla.org/en/DOM/document.onreadystatechange">document.onreadystatechange</a> </code>now.</li>
<li>Support for HTML 5's <code><a class="internal" rel="internal" href="https://developer.mozilla.org/en/DOM/element.classList">element.classList</a></code> to allow easier handling of the class attribute.</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/css-improvements-speed-and-more-with-firefox-36-alpha/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Jetpack to the future with recording Audio API</title>
		<link>http://ajaxian.com/archives/jetpack-to-the-future-with-recording-audio-api</link>
		<comments>http://ajaxian.com/archives/jetpack-to-the-future-with-recording-audio-api#comments</comments>
		<pubDate>Wed, 22 Jul 2009 11:15:36 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7131</guid>
		<description><![CDATA[The Jetpack project is still a young 'un from Mozilla Labs (disclaimer: I work for labs!) but they are moving swiftly indeed, and each new release has a wicked cool new API that let's you do something you couldn't easily do before. With the Jetpack 0.4 release we see two cool APIs: Audio Recording API <a href="http://ajaxian.com/archives/jetpack-to-the-future-with-recording-audio-api">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The Jetpack project is still a young 'un from Mozilla Labs (disclaimer: I work for labs!) but they are moving swiftly indeed, and each new release has a wicked cool new API that let's you do something you couldn't easily do before.</p>
<p>With the <a href="http://labs.mozilla.com/2009/07/jetpack-0-4-audio-recording-page-mods/">Jetpack 0.4 release</a> we see two cool APIs:</p>
<p><a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/18">Audio Recording API</a></p>
<p>We have a shiny new <code>&lt;audio&gt;</code> tag which is great for playing audio and all, but how about adding the ability for users to easily create audio?</p>
<p>The new Audio Recording API lets you do just that:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-7');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-7">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jetpack.<span style="color: #006600;">future</span>.<span style="color: #006600;">import</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'audio'</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jetpack.<span style="color: #006600;">audio</span>.<span style="color: #006600;">recordToFile</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> path = jetpack.<span style="color: #006600;">audio</span>.<span style="color: #006600;">stopRecording</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Play the local file back with <code>jetpack.audio.playFile()</code> or upload it and just use the audio tag itself.</p>
<p><img src="http://img.skitch.com/20090717-8mccpg3h4fjwkqj95p279h7cmw.jpg"/></p>
<p>A great showcase of this is the <a href="https://jetpack.mozillalabs.com/demos/audio-install.html">voice memo</a> jetpack "which lets you annotate any webpage you are looking at with your voice." Live streaming is even coming soon. Here comes video conferencing the Open Web way?</p>
<p><a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/17">Page Mods API</a></p>
<p>Jetpack is a great way to do Greasemonkey-like work. To make it even easier, you need a way to define when the jetpack kicks in etc, and this is exactly what the Page Mods API gives you.</p>
<p>Check out the blacklist example:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-8');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-8">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jetpack.<span style="color: #006600;">future</span>.<span style="color: #006600;">import</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"pageMods"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> callback = <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// check the current time if it is between 9 and 5</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #009900; font-style: italic;">// 'blacklist' the sites in options.matches</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">var</span> currentTime;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #003366; font-weight: bold;">var</span> currentHour;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; currentTime = <span style="color: #003366; font-weight: bold;">new</span> Date<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; currentHour = currentTime.<span style="color: #006600;">getHours</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>currentHour&gt; <span style="color:#800000;">8</span> &amp;&amp; currentHour &lt;<span style="color:#800000;">17</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; document.<span style="color: #006600;">title</span> = <span style="color: #3366CC;">"This site is blacklisted. Get some work done!"</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"body"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">css</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span>border:<span style="color: #3366CC;">"3px solid #000000"</span><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"body"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">children</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">hide</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; $<span style="color:#006600; font-weight:bold;">&#40;</span>document<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">find</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"body"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #006600;">prepend</span><span style="color:#006600; font-weight:bold;">&#40;</span>$<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">'&lt;h1&gt;Sorry this site is blacklisted until 17:00. sadface.'</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">var</span> options = <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">options.<span style="color: #006600;">matches</span> = <span style="color:#006600; font-weight:bold;">&#91;</span><span style="color: #3366CC;">"http://*.reddit.com/*"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://*.cnn.com/*"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://*.bbc.co.uk/*"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://*.dpreview.com/*"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://dpreview.com/*"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://*.bloglines.com/*"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #3366CC;">"http://bloglines.com/*"</span><span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jetpack.<span style="color: #006600;">pageMods</span>.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span>callback, options<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Nice work guys.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jetpack-to-the-future-with-recording-audio-api/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Open Web Tools Directory</title>
		<link>http://ajaxian.com/archives/open-web-tools-directory</link>
		<comments>http://ajaxian.com/archives/open-web-tools-directory#comments</comments>
		<pubDate>Tue, 07 Jul 2009 07:46:24 +0000</pubDate>
		<dc:creator>Ben Galbraith</dc:creator>
				<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=7060</guid>
		<description><![CDATA[Over at the Mozilla Labs blog, we just launched an "Open Web Tools Directory". Running Ajaxian for the past few years, we've discussed a legion of developer tools of all shapes and sizes, but there are so many we've quickly lost track of all that's available. With the Tools Directory, we hope to provide a <a href="http://ajaxian.com/archives/open-web-tools-directory">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://tools.mozilla.com/"><img src="http://ajaxian.com/wp-content/uploads/tooldir.png" alt="" title="Open Web Tools Directory" width="470" height="338" class="alignnone size-full wp-image-7063" /></a></p>
<p>Over at the <a href="https://labs.mozilla.com/2009/07/open-web-tools-directory/">Mozilla Labs blog, we just launched an "Open Web Tools Directory"</a>. Running Ajaxian for the past few years, we've discussed a legion of developer tools of all shapes and sizes, but there are so many we've quickly lost track of all that's available.</p>
<p>With the <a href="http://tools.mozilla.com/">Tools Directory</a>, we hope to provide a central location where the community can track what's happening in the tools space. At Mozilla, we release early and often in the open-source tradition, so what we've launched is the first step in the journey. We'd love to get your feedback in this early stage as we evolve the directory.</p>
<p>We've got nearly 70 tools in the database so far, but that's just a small fraction of the hundreds of tools out there. Would you help us out and <a href="http://spreadsheets.google.com/viewform?formkey=cjJTMzFrOGUtcXRYRm9rcUQtTDd4UkE6MA..">tell us about your favorite tool(s)</a>? (We're still working out infrastructure, but eventually we'll have a way to own a tool and keep its metadata up-to-date. And our sincere thanks to <a href="http://www.laurathomson.com/">Laura Thomson</a> who worked very hard to help us get the infrastructure and back-end for the directory ready.)</p>
<p>Dion and I both have some corporate IT experience under the belt, and because of that we just couldn't bring ourselves to write yet another typical table-based database CRUD app; hence, the space theme and gratuitous canvas-based UI. So the Tools Directory is our second canvas-centric web application released this year, but we promise to use the DOM API more for the next one. ;-)</p>
<h3>Implementation Details</h3>
<p>We knew we wanted to do some kind of space-themed design for the directory involving images for the tools flying around, but we weren't sure how much performance we could get out of canvas. Some of our previous experiments have shown that we can repaint a large canvas many times per second, but how many individual images could we paint per frame full-screen and still get decent perf? <a href="http://galbraiths.org/benchmarks/small_images.html">This experiment</a>, representative of several we whipped up, was somewhat promising: we're able to draw <em>and scale</em> about 700 images about 20 times per second.</p>
<p><a href="http://galbraiths.org/benchmarks/small_images.html"><img src="http://ajaxian.com/wp-content/uploads/imagetest.png" alt="" title="Canvas Image Test" width="470" height="322" class="alignnone size-full wp-image-7064" /></a></p>
<p>Based on these results, we thought we could get away with a "warp-in" effect flying in maybe one or two hundred images and get decent frame rates. To make the effect somewhat predictable, we based the animation effect on clock time with the result that it drops frames rather than alters the speed of animation when the browser can't keep up with the requested workload.</p>
<p>Unfortunately, once we implemented the effect, we discovered that we started to get choppy performance with only forty or so images (all of our tests are using recent-model MacBook Pros running OS X and Firefox 3.5 or Safari 4). Our test images were 32x32, but once we switched to 128x128 images, performance suffered dramatically. We haven't looked into it further, but the degradation may be linear according to image size.</p>
<p>We had always planned on caching aggressively, but these results indicated just how much caching we'd have to do: lots.</p>
<p>So we implemented the directory in such a way that at any time, we can cache the state of the canvas animation and exclude arbitrary elements from the cache. This is how we implement various features like selecting a subset of the items and moving them to the center of the screen when you search the directory, for example:</p>
<p><img src="http://ajaxian.com/wp-content/uploads/grid.png" alt="" title="Search Results" width="470" height="278" class="alignnone size-full wp-image-7065" /></p>
<p>We also added a staged introductory fly-in effect where only a subset of the tools fly in and we cache the screen state and then fly in others, keeping the overall number of items to animate low--but the effect is presently disabled. Look for it in a future release as we expand the catalog of tools further. We'll have to work something out because flying just 70 items at once produces choppy animations on the fastest hardware using the fastest browsers available.</p>
<p>For the time-based animations, we implemented a simple timing framework. We wanted to grab an off-the-shelf library, but of the half-dozen JS animation frameworks we analyzed, all of them assumed we were animating DOM nodes or changing single object properties, which made their use somewhat obtuse. We really just wanted a simple callback for each frame in the animation. (We also grabbed the <a href="http://gx.riccardodegni.net/">GX framework</a>'s easy-to-grab ports of <a href="http://www.robertpenner.com/easing/">Robert Penner's easing equations</a>.) We'd love to replace our timing framework with something more sophisticated and actively maintained; let us know if you've got something we can use. In particular, we'd like a framework that intelligently reports the minimum resolution required by all currently scheduled timing jobs.</p>
<p>On that note, the other interesting bit for us was working out how often to repaint the canvas. After experimentation, we settled on using setInterval to repaint the scene every 20 ms. This has the unfortunate side effect of hitting the CPU rather hard during the animations and so forth.</p>
<h3>Future</h3>
<p>We're really excited to add a bunch of community features to the directory. We want folks to vote on tools, comment on them, submit and maintain them, and so forth. But in addition to that, we want to enable <em>sub-universes</em>; e.g., we want to track plug-ins for tools like Prototype, jQuery or Firebug so you can explore those universes within the framework of the overall directory. And if there's interest, we'd love to make it even more general and release the "universe browser" framework for anyone that wants to use this interface to explore taxonomies.</p>
<p>On a technical note, we're really keen to see how the DOM would perform relative to canvas, and how 3D approaches (e.g., using Mozilla Firefox and Google Chrome's 3D support) work out. Oh, and we're going to release an accessible, non-graphical version of the directory soon as well.</p>
<p>Please tell us what you think, and we hope all of us will be able to make use of this framework to help keep track of the exploding universe of web developer tools. Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/open-web-tools-directory/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Jetpack 0.2: slidebars, jetpack.future, and persistent storage</title>
		<link>http://ajaxian.com/archives/jetpack-02-slidebars-jetpackfuture-and-persistent-storage</link>
		<comments>http://ajaxian.com/archives/jetpack-02-slidebars-jetpackfuture-and-persistent-storage#comments</comments>
		<pubDate>Fri, 12 Jun 2009 10:59:37 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[jetpack]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=6933</guid>
		<description><![CDATA[On the back of the first Jetpack announcement, we see new version announced, 0.2 that adds slidebars, jetpack.future, and persistent storage. Slidebar isn't a spelling mistake, but a slightly different take on the traditional sidebar. Check out Aza in his screencast to see them in action, and wait for the part where he sucks in <a href="http://ajaxian.com/archives/jetpack-02-slidebars-jetpackfuture-and-persistent-storage">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>On the back of the first Jetpack announcement, we see <a href="https://labs.mozilla.com/2009/06/jetpack-02/">new version announced, 0.2</a> that adds slidebars, jetpack.future, and persistent storage.</p>
<p>Slidebar isn't a spelling mistake, but a slightly different take on the traditional sidebar. Check out Aza in his screencast to see them in action, and wait for the part where he sucks in a playing video and lets you continue to browse the Web elsewhere.</p>
<p><object width="400" height="248"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5102695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5102695&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="248"></embed></object></p>
<p>To code up a slidebar you simply:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-10');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-10">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">jetpack.<span style="color: #006600;">slideBar</span>.<span style="color: #006600;">append</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; icon: <span style="color: #3366CC;">"http://wikipedia.org/favicon.ico"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; url: <span style="color: #3366CC;">"http://en.m.wikipedia.org/"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; width: <span style="color:#800000;">300</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>but you have to use another new feature of Jetpack 0.2.... future:</p>
<blockquote>
<p>Jetpack is two things at once: it is a platform for experimentation and it is also a solid set of APIs that anyone to easily build new Firefox features. To enable Jetpack to be both stable and — at the same time — to experiment with not-quite-yet-ready features we’ve added the ability to import new features from the “future”.</p>
<p>Slidebars, for example, are still highly experimental. To use them, you need to import them from the future first.</p>
<p>Read more about future in the Jetpack enhancement proposal (JEP) for <a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/13">jetpack.future</a>.</p>
<p><code>jetpack.future.import("slideBar")</code></p>
</blockquote>
<p><b>Persistent Storage and Clipboard Support</b></p>
<blockquote>
<p>One of the most requested features in the Jetpack development <a href="http://groups.google.com/group/mozilla-labs-jetpack?pli=1">mailing list</a> was for the ability to persistently store data across restarts.</p>
<p>We’ve added simple storage to the future module. The API is defined in the <a href="https://wiki.mozilla.org/Labs/Jetpack/JEP/11">storage JEP</a>. Using it as simple as:</p>
<p><code>jetpack.future.import("storage.simple");<br />
var db = jetpack.storage.simple;<br />
var data = {name: "Firefox", twitter: "@firefox"};<br />
db.set( "friend", data );</code>
</p>
</blockquote>
<p><a href="https://jetpack.mozillalabs.com/">Give it a go!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/jetpack-02-slidebars-jetpackfuture-and-persistent-storage/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

