<?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>Mozilla Hacks - the Web developer blog &#187; Uncategorized</title>
	<atom:link href="http://hacks.mozilla.org/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://hacks.mozilla.org</link>
	<description>hacks.mozilla.org</description>
	<lastBuildDate>Wed, 08 Feb 2012 22:52:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Announcing the December Dev Derby Winners</title>
		<link>http://hacks.mozilla.org/2012/02/announcing-the-december-dev-derby-winners/</link>
		<comments>http://hacks.mozilla.org/2012/02/announcing-the-december-dev-derby-winners/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 22:09:12 +0000</pubDate>
		<dc:creator>John Karahalis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dev Derby]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[IndexedDB]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=11131</guid>
		<description><![CDATA[IndexedDB lets web applications store structured data for fast online and offline use. Data can be stored using key-value pairs, and values do not need to be serialized (as they do with document-oriented databases) or coerced into a relational structure (as with relational databases). Recently, creative developers from around the world demonstrated just how powerful [...]]]></description>
			<content:encoded><![CDATA[<p><a title="IndexedDB on MDN" href="https://developer.mozilla.org/en/IndexedDB">IndexedDB</a> lets web applications store structured data for fast online and offline use. Data can be stored using key-value pairs, and values do not need to be serialized (as they do with document-oriented databases) or coerced into a relational structure (as with relational databases).</p>
<p style="text-align: left"><img class="aligncenter size-full wp-image-8841" src="http://hacks.mozilla.org/wp-content/uploads/2011/07/logo-devderby.png" alt="" width="335" height="96" />Recently, creative developers from around the world demonstrated just how powerful IndexedDB can be in the <a href="https://developer.mozilla.org/en-US/demos/devderby/2011/december/">December Dev Derby</a>. Please join us in congratulating the top three demos as chosen by our judges.</p>
<p><img class="aligncenter size-full wp-image-11263" src="http://hacks.mozilla.org/wp-content/uploads/2012/02/december2011-dev-derby-winners1.png" alt="" width="500" height="204" /><strong>1st Place: </strong><a href="https://developer.mozilla.org/en-US/demos/detail/elibri">eLibri</a> by <a href="https://developer.mozilla.org/en-US/profiles/mar.castelluccio/">mar.castelluccio</a><br />
<strong>2nd Place: </strong><a href="https://developer.mozilla.org/en-US/demos/detail/filesystemdb">FileSystemDB </a>by <a href="https://developer.mozilla.org/en-US/profiles/mar.castelluccio/">mar.castelluccio</a><br />
<strong>3rd Place: </strong><a href="https://developer.mozilla.org/en-US/demos/detail/indexeddb-editor">IndexedDB Editor</a> by <a href="https://developer.mozilla.org/en-US/profiles/twolfson/">twolfson</a><strong><br />
</strong></p>
<p><strong>Runners up:</strong><br />
<a href="https://developer.mozilla.org/en-US/demos/detail/vurkout-buddy">Vurkout Buddy</a> by <a href="https://developer.mozilla.org/en-US/profiles/wcheung/">wcheung</a><br />
<a href="https://developer.mozilla.org/en-US/demos/detail/locate-it-indexeddb">Locate It IndexedDB</a> by <a href="https://developer.mozilla.org/en-US/profiles/nestoralvaro/">nestoralvaro</a></p>
<p>Congratulations to our winners and to everyone who submitted to the December Dev Derby.</p>
<p>Do you want to see your name here next month? We are now accepting demos related to <a href="https://developer.mozilla.org/en/DOM/Touch_events">Touch Events</a> (February), <a href="https://developer.mozilla.org/en/CSS/Using_CSS_transforms">CSS 3D Transforms</a> (March), and <a href="https://developer.mozilla.org/en/Using_HTML5_audio_and_video">HT<!--notag-->ML5 audio</a> (April). Get an early start by <a href="https://developer.mozilla.org/en-US/demos/devderby">submitting today</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2012/02/announcing-the-december-dev-derby-winners/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mozilla Hacks Weekly, September 22nd</title>
		<link>http://hacks.mozilla.org/2011/09/mozilla-hacks-weekly-september-22nd/</link>
		<comments>http://hacks.mozilla.org/2011/09/mozilla-hacks-weekly-september-22nd/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 12:15:49 +0000</pubDate>
		<dc:creator>Robert Nyman</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Mozilla Hacks Weekly]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=9586</guid>
		<description><![CDATA[It&#8217;s Thursday, and time for reading suggestions from the Mozilla Developer Engagement team! Weekly links September 22th 2011 If there is anything you think we should read or know about, don&#8217;t hesitate to post a comment, contact us on Twitter or through any other mean. The picks this week are: Christian Heilmann Responsive web design [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s Thursday, and time for reading suggestions from the Mozilla Developer Engagement team!</p>
<p><span id="more-9586"></span></p>
<h2>Weekly links September 22th 2011</h2>
<p>If there is anything you think we should read or know about, don&#8217;t hesitate to post a comment, contact us on Twitter or through any other mean.<br />
The picks this week are:</p>
<h3>Christian Heilmann</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/08/chris-heilmann.jpg" alt="A picture of Christian Heilmann" style="float:left; margin: 0 20px 10px 0"> <a href="http://speakerdeck.com/u/kneath/p/responsive-web-design-from-the-future">Responsive web design from the future</a> is a very cool presentation talking about the need for responsive data interfaces.</p>
<p>    If you want to read more tips or discuss the web with Christian, he&#8217;s available on Twitter as <a href="http://twitter.com/codepo8">@codepo8</a>.
</div>
<h3>Havi Hoffman</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/08/havi-hoffman.jpg" alt="A picture of Havi Hoffman" style="float:left; margin: 0 20px 10px 0"> <a href="http://radar.oreilly.com/2011/09/data-journalism-process-guardian.html">The work of data journalism: Find, clean, analyze, create &#8230; repeat</a> &#8211; An interview with Simon Rogers, The Guardian’s pioneering data journalist, on effective and accurate data-driven storytelling.</p>
<p>    Havi can be found on Twitter as <a href="http://twitter.com/freshelectrons">@freshelectrons</a>
</div>
<h3>Janet Swisher</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/08/janet-swisher.jpeg" alt="A picture of Janet Swisher" style="float:left; margin: 0 20px 10px 0"> If you like Jacob Gube’s article <a href="http://mashable.com/2011/09/12/website-usability-tips/">7 Best Practices for Improving Your Website’s Usability</a>, you’ll love Ginny Redish’s book <a href="http://www.redish.net/books/letting-go-of-the-words">Letting Go of the Words: Writing Web Content that Works</a>.</p>
<p>    If you want to read more tips or discuss the web with Janet, she&#8217;s available on Twitter as <a href="http://twitter.com/jmswisher">@jmswisher</a>.
</div>
<h3>Jeff Griffiths</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/08/jeff-griffiths.png" alt="A picture of Jeff Griffiths" style="float:left; margin: 0 20px 10px 0"> <a href="http://migrationsmap.net/#/CAN/arrivals">Migrations Map</a> A slick data-driven map of worldwide immigration patterns, including a nice offline feature, and source hosted on github.</p>
<p>    If you want to read more tips or discuss the web with Jeff, he&#8217;s available on Twitter as <a href="http://twitter.com/canuckistani">@canuckistani</a>.
</div>
<h3>Joe Stagner</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/09/joe-stagner-cartoon.gif" alt="A picture of Joe Stagner" style="float:left; margin: 0 20px 10px 0"> Central to HTML concepts is the ability to design and build a Web app with an off-line experience.  Here is  <a href="http://www.htmlgoodies.com/html5/tutorials/introduction-to-offline-web-applications-using-html5.html#fbid=rIciXhmEvVO">a quick introduction to HTML5 caching</a>, a core concept to building a standards based Web Application with disconnected support.</p>
<p>    If you want to read more tips or discuss the web with Joe, he&#8217;s available on Twitter as <a href="http://twitter.com/MisfitGeek">@MisfitGeek</a>.
</div>
<h3>Rob Hawkes</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/07/rob-hawkes.jpg" alt="A picture of Rob Hawkes" style="float:left; margin: 0 20px 10px 0"><br />
 <a href="http://codeflow.org/entries/2011/sep/11/webgl-and-html5-challenges-for-the-future/">WebGL and HTML5 Challenges For The Future</a> is an interesting look at some of the important features that need to be supported for HTML5 and JavaScript games to really take hold.    </p>
<p>    If you want to read more tips or discuss the web with Rob, he&#8217;s available on Twitter as <a href="http://twitter.com/robhawkes">@robhawkes</a>.
</div>
<h3>Robert Nyman</h3>
<div style="overflow: hidden; margin-bottom: 15px">
    <img src="http://hacks.mozilla.org/wp-content/uploads/2011/07/robert-nyman.jpg" alt="A picture of Robert Nyman" style="float:left; margin: 0 20px 10px 0">  <a href="http://identity.mozilla.com/post/10418870127/browserid-at-the-mozilla-all-hands">BrowserID demo from the Mozilla All-Hands</a> &#8211; Identity on the web At the Mozilla All Hands last week, BrowserID was demoed and described in more detail, and the goals and ideas for it.</p>
<p>    If you want to read more tips or discuss the web with Robert, he&#8217;s available on Twitter as <a href="http://twitter.com/robertnyman">@robertnyman</a>.
</div>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2011/09/mozilla-hacks-weekly-september-22nd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>speak.js: Text-to-Speech on the Web</title>
		<link>http://hacks.mozilla.org/2011/08/speak-js-text-to-speech-on-the-web/</link>
		<comments>http://hacks.mozilla.org/2011/08/speak-js-text-to-speech-on-the-web/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 18:36:56 +0000</pubDate>
		<dc:creator>azakai</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Demo]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=9213</guid>
		<description><![CDATA[Text-to-Speech (TTS) can make content more accessible, but there is so far no simple and universal way to do that on the web. One possible approach is shown in this demo, which is powered by speak.js, a new 100% pure JavaScript/HTML5 TTS implementation. speak.js is a port of eSpeak, an open source speech synthesizer, from [...]]]></description>
			<content:encoded><![CDATA[<p>Text-to-Speech (TTS) can make content more accessible, but there is so far no simple and universal way to do that on the web. One possible approach is shown in <strong><a href="http://syntensity.com/static/espeak.html">this demo</a></strong>, which is powered by <a href="https://github.com/kripken/speak.js">speak.js</a>, a new 100% pure JavaScript/HTML5 TTS implementation. speak.js is a port of <a href="http://espeak.sourceforge.net/">eSpeak</a>, an open source speech synthesizer, from C++ to JavaScript using <a href="http://emscripten.org">Emscripten</a>.</p>
<p>Compiling an existing speech synthesis engine to JavaScript is a good way to avoid writing a complicated project like eSpeak from scratch. Once compiled, the eSpeak code in speak.js doesn&#8217;t know it&#8217;s running on the web: speak.js uses the <a href="https://github.com/kripken/emscripten/wiki/Filesystem-Guide"> Emscripten emulated filesystem</a> to &#8216;fake&#8217; the normal file reading and writing calls that the eSpeak C++ code has (fopen, fread, etc.). This allows the normal eSpeak datafiles to be used (either through an xhr, or by converting them to JSON and bundling them with the script file). The result of running the compiled eSpeak code is that it &#8216;writes&#8217; a .wav file with the generated audio to the emulated filesystem. speak.js then takes that data, encodes it using base64, and creates a data URL. That URL is then loaded in an HTML5 audio element, letting the browser handle playback. (Note that while that is a very simple way to do things, it isn&#8217;t the most efficient. speak.js has not yet focused on speed, but with some additional work it could be much faster, if that turns out to be an issue.)</p>
<p>Why would you want TTS in JavaScript? Well, with speak.js you can bundle a single .js file in your website, and then generating speech is about as simple as writing</p>
<blockquote>
<pre>speak("hello world")</pre>
</blockquote>
<p>(see the <a href="https://github.com/kripken/speak.js">speak.js website</a> for instructions). The generated speech will be exactly the same on all platforms, unlike if your users each did TTS in their own way (using an OS capability, or a separate program). speak.js can also be used to build browser addons in a straightforward way, since it&#8217;s pure JavaScript &#8211; no need for platform dependent binaries, and the addon will work the same on all OSes.</p>
<p>A few more comments:</p>
<ul>
<li>JavaScript is getting more and more capable all the time. The development versions of the top JavaScript engines today can run code compiled from C++ only 3-5X slower than a fast C++ compiler, and getting even better. As a consequence, expanding the capabilities of the web platform can in many cases be done in JavaScript or by compiling to JavaScript, instead of adding new code to the browsers themselves, which inevitably takes longer &#8211; especially if you wait for all browsers to implement a particular feature.</li>
<li>While speak.js uses only standards-based APIs, due to browser limitations it can&#8217;t work everywhere yet. It won&#8217;t work in IE, Safari or Opera since they don&#8217;t support typed arrays, nor in Chrome since it doesn&#8217;t support WAV data URLs. So currently speak.js only works properly in Firefox. However, the missing features just mentioned are not huge and hopefully those browser makers will implement them soon. It is also possible to implement workarounds in speak.js for these issues (see next comment).</li>
<li>Help with improving speak.js is very welcome! One important thing we need is to implement workarounds for the issues that prevent speak.js from running on the browsers it currently can&#8217;t run on. Another goal is to build browser addons using speak.js. Please get in touch <a href="https://github.com/kripken/speak.js">on github</a> if you want to help out.</li>
<li>eSpeak supports multiple languages so speak.js can too. You do need to include the additional language files though. <a href="http://syntensity.com/static/espeak_fr.html">Here</a> is an experimental build where you can switch between English and French support (note that it is an unoptimized build, so it will run slower).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2011/08/speak-js-text-to-speech-on-the-web/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Add-on SDK and the beta of Add-on Builder now available!</title>
		<link>http://hacks.mozilla.org/2011/06/add-on-sdk-and-the-beta-of-add-on-builder-now-available/</link>
		<comments>http://hacks.mozilla.org/2011/06/add-on-sdk-and-the-beta-of-add-on-builder-now-available/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 14:22:13 +0000</pubDate>
		<dc:creator>Jay Patel</dc:creator>
				<category><![CDATA[Add-ons]]></category>
		<category><![CDATA[Developer Tools]]></category>
		<category><![CDATA[Featured Article]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=8524</guid>
		<description><![CDATA[Firefox offers users complete control over the look and functionality of their Web browser with a gallery of hundreds of thousands of add-ons. With the launch of Add-on SDK and Add-on Builder Beta, web developers  need only knowledge of HTML, JavaScript and CSS to create great add-ons for Firefox that are restartless by default. The [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-8531" src="http://hacks.mozilla.org/wp-content/uploads/2011/06/add-on-blog-sdk-builder_600.png" alt="Add-on Builder Beta and Add-on SDK are here!" width="600" height="190" /></p>
<p>Firefox offers users complete control over the look and functionality of their Web browser with a gallery of hundreds of thousands of add-ons. With the launch of <a href="https://addons.mozilla.org/developers/builder">Add-on SDK and Add-on Builder Beta</a>, web developers  need only knowledge of HTML, JavaScript and CSS to create great add-ons for Firefox that are restartless by default.</p>
<p>The <a href="https://addons.mozilla.org/developers/builder">Add-on SDK</a> enables local development of add-ons through a command line interface, while the <a href="https://builder.addons.mozilla.org">Firefox Add-on Builder Beta</a> provides a hosted online build environment.</p>
<p>To find out more, head over to the <a href="http://blog.mozilla.com/addons/2011/06/21/add-on_sdk-builder-_beta/">Add-ons blog</a> or the new Add-on SDK &amp; Add-on Builder <a href="https://addons.mozilla.org/developers/builder">page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2011/06/add-on-sdk-and-the-beta-of-add-on-builder-now-available/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Wiki Wednesday: February 23, 2011</title>
		<link>http://hacks.mozilla.org/2011/02/wiki-wednesday-february-23-2011/</link>
		<comments>http://hacks.mozilla.org/2011/02/wiki-wednesday-february-23-2011/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 17:03:01 +0000</pubDate>
		<dc:creator>Eric Shepherd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=7268</guid>
		<description><![CDATA[Here are today&#8217;s Wiki Wednesday articles! If you know about these topics, please try to find a few minutes to look over these articles that are marked as needing technical intervention and see if you can fix them up. You can do so either by logging into the wiki and editing the articles directly, or [...]]]></description>
			<content:encoded><![CDATA[<p>Here are today&#8217;s <a href="http://hacks.mozilla.org/2011/02/introducing-wiki-wednesdays/">Wiki Wednesday</a> articles! If you know about these topics, please try to find a few minutes to look over these articles that are marked as needing technical intervention and see if you can fix them up. You can do so either by logging into the wiki and editing the articles directly, or by emailing your notes, sample code, or feedback to <a href="mailto:mdnwiki@mozilla.org">mdnwiki@mozilla.org</a>.</p>
<p>Contributors to Wiki Wednesday will get recognition in next week&#8217;s Wiki Wednesday announcement. Thanks in advance for your help!</p>
<p><strong>JavaScript</strong></p>
<p>Thanks to Dave Herman and BYK for their contributions last week<strong>.<br />
</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Proxy">Proxy</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SpiderMonkey/Shell_global_objects">Shell global objects</a></li>
</ul>
<p><strong>SpiderMonkey</strong></p>
<p>Thanks to Dave Herman for his contributions last week<strong>.<br />
</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SpiderMonkey/Shell_global_objects">Shell global objects</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SpiderMonkey/JSAPI_Reference/JS_IsExceptionPending">JS_IsExceptionPending</a></li>
</ul>
<p><strong>Developing Mozilla</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Displaying_Places_information_using_views">Displaying Places information using views</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Running_automated_tests">Running automated tests</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Using_the_Gecko_SDK">Using the Gecko SDK</a></li>
</ul>
<p><strong>Extensions</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Using_the_Gecko_SDK">Using the Gecko SDK</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_category_image-sniffing-services">XPCOM category image-sniffing-services</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Code_snippets/Post_data_to_window">Post data to window</a></li>
</ul>
<p><strong>XUL</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Preferences/Preferences_system/Examples">Examples</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XUL/Introduction_to_XUL">Introduction to XUL</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Preferences/Preferences_system/Troubleshooting">Troubleshooting preference windows</a></li>
</ul>
<p><strong>XPCOM</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIPrintingPrompt">nsIPrintingPrompt</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIPrompt">nsIPrompt</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIWindowsRegKey">nsIWindowsRegKey</a></li>
</ul>
<p><strong>Interfaces</strong></p>
<p>Thanks to David Bienvenu, Neil, and Trevor Hobson for their contributions.<strong><br />
</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsILoadGroup">nsILoadGroup</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/IAccessible2">IAccessible2</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIAboutModule">nsIAboutModule</a></li>
</ul>
<p><strong>Plugins</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/DOM/PluginArray">PluginArray</a></li>
</ul>
<p>As usual, we still need someone to update the NPAPI plugin documentation to cover the new Cocoa event model.</p>
<p><strong>CSS</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/CSS/-moz-column-count">-moz-column-count</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/CSS/marks">marks</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/CSS/orphans">orphans</a></li>
</ul>
<p><strong>SVG</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SVG/Attribute/style">style</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SVG/Attribute/accumulate">accumulate</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/SVG/Attribute/r">r</a></li>
</ul>
<p><strong>HTML</strong></p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/HTML/Element/li">li</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Drawing_text_using_a_canvas">Drawing text using a canvas</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Focus_management_in_HTML">Focus management in HTML</a></li>
</ul>
<p><strong>DOM</strong></p>
<p>Thanks to Neil for his contributions last week.</p>
<ul>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/Gecko_DOM_Reference">Gecko DOM Reference</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/DOM/document.cookie">document.cookie</a></li>
<li><a rel="custom nofollow" href="https://developer.mozilla.org/en/DOM_Events">DOM Events</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2011/02/wiki-wednesday-february-23-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 video &#8216;buffered&#8217; property available in Firefox 4</title>
		<link>http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/</link>
		<comments>http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 22:00:08 +0000</pubDate>
		<dc:creator>cpearce</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Firefox 4]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=5634</guid>
		<description><![CDATA[Support for the HTML5 video 'buffered' property has landed in Firefox, we can now accurately determine which time-segments of a video we can play and seek into without needing to pause playback to download more data. ]]></description>
			<content:encoded><![CDATA[<p><em>This is a repost from <a title="Chris Pearce's blog" href="http://blog.pearce.org.nz/2010/08/buffered-attribute-landed-for-html5.html">Chris Pearce&#8217;s blog</a>.</em></p>
<p>Recently I landed support for the <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-buffered">HTML5 video &#8216;</a><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-buffered">buffered&#8217; </a><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#dom-media-buffered">property</a> in Firefox. This is cool because we can now accurately determine which time-segments of a video we can play and seek into without needing to pause playback to download more data. Previously you could only get the byte position the download had reached, which often doesn&#8217;t map to the time ranges which are playable very well, especially in a variable bit rate video. This also can&#8217;t tell you if there are chunks which we skipped downloading before the downloaded byte position. Once the video controls UI is updated, users will be able to know exactly which segments of their video are downloaded and playable and can be seeked into without pausing playback to download more data.</p>
<p>To see this in action, download a current <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-central/">Firefox nightly build </a>, and point your browser at my <a href="http://people.mozilla.com/%7Ecpearce/buffered-demo.html">video &#8216;buffered&#8217; property demo</a>. You&#8217;ll see something like the screenshot below, including an extra progress bar (implemented using canvas) showing the time ranges which are buffered.</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="http://2.bp.blogspot.com/_lMYNOr9XEaA/TFtWCewX9TI/AAAAAAAAABk/XdPjAkSqGE8/s1600/buffered-demo.jpg"><img src="http://2.bp.blogspot.com/_lMYNOr9XEaA/TFtWCewX9TI/AAAAAAAAABk/XdPjAkSqGE8/s320/buffered-demo.jpg" border="0" alt="" /></a></div>
<p>I&#8217;ve implemented the &#8216;buffered&#8217; property for the Ogg and WAV backends. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=570904">Support for the &#8216;buffered&#8217; property for WebM</a> is being worked on by <a href="http://blog.mjg.im/">Matthew Gregan</a>, and is well underway. At the moment we return empty ranges for the &#8216;buffered&#8217; property on video elements playing WebM and raw video.</p>
<p>My checkin just missed the cutoff for Firefox 4 Beta 3, so the first beta release that the video &#8216;buffered&#8217; property will appear in is Firefox 4 Beta 4.</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>two important api changes &#8211; CSS gradients and the media load event</title>
		<link>http://hacks.mozilla.org/2009/11/api-change-media-load-css-gradient/</link>
		<comments>http://hacks.mozilla.org/2009/11/api-change-media-load-css-gradient/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 18:55:03 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=2241</guid>
		<description><![CDATA[Robert O&#8217;Callahan has been posting updates in his weblog about changes that we&#8217;re going to be making that are web-facing. It&#8217;s worth summarizing two here for web developers. Removing the media element &#8216;load&#8217; event. Yesterday I checked in a patch that removes support for the &#8216;load&#8217; event on &#60;video&#62; and &#60;audio&#62; elements. We simply never [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://weblogs.mozillazine.org/roc/">Robert O&#8217;Callahan</a> has been posting updates in his weblog about changes that we&#8217;re going to be making that are web-facing.  It&#8217;s worth summarizing two here for web developers.</p>
<p><strong><a href="http://weblogs.mozillazine.org/roc/archives/2009/10/removing_the_me.html">Removing the media element &#8216;load&#8217; event.</a></strong></p>
<blockquote><p>Yesterday I checked in a patch that removes support for the &#8216;load&#8217; event on &lt;video&gt; and &lt;audio&gt; elements. We simply never fire it. Also, the networkState attribute is now never NETWORK_LOADED. When we&#8217;ve read to the end of the media resource, networkState  changes to NETWORK_IDLE. We plan to ship this change for Firefox 3.6. </p></blockquote>
<p>This API has been removed based on consensus from everyone who are doing HTML5 video implementations and there are lots of other <a href="http://weblogs.mozillazine.org/roc/archives/2009/10/removing_the_me.html">options for events that Robert goes over in his post</a>.</p>
<p><strong><a href="http://weblogs.mozillazine.org/roc/archives/2009/11/css_gradient_sy.html">Changing our CSS Gradient Syntax</a></strong></p>
<blockquote><p>
We landed support for a form of CSS gradients on trunk a while ago, but we got considerable feedback that our syntax &#8212; which was an incremental improvement of Webkit&#8217;s syntax, which basically exposes a standard gradient API in the most direct possible way &#8212; sucked. A bunch of people on www-style got talking and Tab Atkins produced a much better proposal. Since we haven&#8217;t shipped our syntax anywhere yet, dropping it and implementing Tab&#8217;s syntax instead was a no-brainer. So Zack Weinberg, David Baron and I did that (using a -moz prefix of course), and today it landed on trunk. It should land on the Firefox 3.6 branch shortly. It&#8217;s unfortunate to land something new like this after the last beta, but in this case, it seems like the right thing to do instead of shipping CSS gradient syntax that we know nobody wants.
</p></blockquote>
<p>We&#8217;ve never shipped the &#8220;bad&#8221; CSS gradient syntax in a final release, but it is in our first beta.  We&#8217;ll be updating it before we make our final release of 3.6.  Stay turned for the new syntax on <a href="http://hacks.mozilla.org/">hacks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2009/11/api-change-media-load-css-gradient/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>a 20 second survey to help improve hacks.mozilla.org</title>
		<link>http://hacks.mozilla.org/2009/08/a-20-second-survey-to-help-improve-hacks-mozilla-org/</link>
		<comments>http://hacks.mozilla.org/2009/08/a-20-second-survey-to-help-improve-hacks-mozilla-org/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 04:36:56 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=1638</guid>
		<description><![CDATA[I asked this on the mozhacks twitter account earlier today but I&#8217;d like to get more feedback: what&#8217;s your single favorite thing about hacks.mozilla.org? The survey is totally anonymous and takes 20 seconds or so. It&#8217;s limited, much like twitter, to a very short response. If you have ideas on improvement there&#8217;s room for that [...]]]></description>
			<content:encoded><![CDATA[<p>I asked this on the <a href="http://twitter.com/mozhacks">mozhacks</a> twitter account earlier today but I&#8217;d like to get more feedback:</p>
<p><strong><a href="https://www.rypple.com/blizzard/favhacks">what&#8217;s your single favorite thing about hacks.mozilla.org?</a></strong></p>
<p>The survey is totally anonymous and takes 20 seconds or so.  It&#8217;s limited, much like twitter, to a very short response.  If you have ideas on improvement there&#8217;s room for that as well so please, respond away!  If we get enough good feedback we&#8217;ll post results here as well.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2009/08/a-20-second-survey-to-help-improve-hacks-mozilla-org/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>synchronous XHR requests in Firefox 3.5</title>
		<link>http://hacks.mozilla.org/2009/07/synchronous-xhr/</link>
		<comments>http://hacks.mozilla.org/2009/07/synchronous-xhr/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 17:06:25 +0000</pubDate>
		<dc:creator>Christopher Blizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://hacks.mozilla.org/?p=1212</guid>
		<description><![CDATA[This post is from Doug Turner who has previous written about Geolocation. Doug works on Mozilla&#8217;s mobile project. XMLHttpRequests (XHR) can be either synchronous or asynchronous. Although most people use asynchronous requests there are instances where you might want to use a synchronous request. That is, wait until the XMLHttpRequest call completes to continue executing [...]]]></description>
			<content:encoded><![CDATA[<p><em>This post is from <a href="http://dougt.org/wordpress">Doug Turner</a> who has previous written about <a href="http://hacks.mozilla.org/2009/06/geolocation/">Geolocation</a>.  Doug works on Mozilla&#8217;s <a href="https://wiki.mozilla.org/Mobile">mobile</a> project.</em></p>
<p><a href="https://developer.mozilla.org/En/Using_XMLHttpRequest">XMLHttpRequests</a> (XHR) can be either synchronous or asynchronous.  Although most people use asynchronous requests there are instances where you might want to use a synchronous request.  That is, wait until the XMLHttpRequest call completes to continue executing JavaScript.  In Firefox 3 and earlier the browser would still fire timer events and respond to input events during a synchronous XHR request.  In Firefox 3.5 and later input events such as mouse moves and timeouts will be suspended until the synchronous request completes. This allows the synchronous request to block.</p>
<p>For example:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">function</span> hello<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
     <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>“hello”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
setTimeout<span style="color: #009900;">&#40;</span>hello<span style="color: #339933;">,</span> <span style="color: #CC0000;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> req <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> XMLHttpRequest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
req.<span style="color: #000066;">open</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'GET'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'http://www.mozilla.org/'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
req.<span style="color: #660066;">send</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Prior to Firefox 3.5, it was impossible to determine if the &#8220;hello&#8221; function would be invoked during or after the XHR request.  This led  to all sorts of timing issues in web applications that used synchronous XHR requests.</p>
<p>The solution to this problem has been to delay input events and  timeouts until after “req.send” returns.</p>
<p>For more information see the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=340345">two</a> <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=333198">bugs</a> on the issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://hacks.mozilla.org/2009/07/synchronous-xhr/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

