<?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:rssdatehelper="urn:rssdatehelper"><channel><title>HTML5Labs RSS Feed</title><link>www.html5labs.com</link><pubDate></pubDate><generator>HTML5Labs.com</generator><description>HTML5Labs Prototypes</description><language>en</language><item><title>CU-RTC-Web Roaming</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/cu-rtc-web-roaming/cu-rtc-web-roaming/info</link><pubDate>Mon, 11 Mar 2013 23:18:47 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/cu-rtc-web-roaming/cu-rtc-web-roaming/info</guid><content:encoded><![CDATA[ 
<p>We are updating our previous <a
href="http://blogs.msdn.com/b/interoperability/archive/2013/01/17/ms-open-tech-publishes-html5-labs-prototype-of-a-customizable-ubiquitous-real-time-communication-over-the-web-api-proposal.aspx">
prototype</a> where we demonstrated a real world interoperability
scenario - voice chatting between Chrome on a Mac and IE10 on
Windows via the API.</p>

<p>With this latest version, we are demonstrating another important
interoperability scenario - roaming between two different
connections (e.g. Wi-Fi and 3G, or Wi-Fi and Ethernet) - with
negligible impact on the user experience. The simple, flexible,
expressive APIs underlying the CU-RTC-Web architecture allowed us
to implement this important scenario just by building the
appropriate JavaScript code and without introducing any changes in
the spec, because CU-RTC-Web is a lower level API than the current
proposed WebRTC API draft.&nbsp;</p>

<p>By comparison, the current high level proposed WebRTC API draft
would not allow JavaScript developers to implement this scenario:
the current draft would need to see modifications done under the
hood at the Platform level by the developers developing the browser
capability itself.</p>

<p>This example also illustrates that we should not assume that
everything that will ever be done with WebRTC is already known at
the time the standard is developed. It is tempting to develop an
opaque, high level API that is optimized for some well-understood
scenarios, but that requires development of new, probably
non-interoperable extensions to cover new scenarios… or creating
yet another standard to enable such applications. We believe that
web developers would prefer to be empowered by a lower level,
general API that truly enables evolving, interoperable scenarios
from day one. Our earlier <a
href="http://blogs.msdn.com/b/interoperability/archive/2012/08/06/customizable-ubiquitous-real-time-communication-over-the-web-cu-rtc-web.aspx">
CU-RTC-Web blog</a> described critical requirements that a
successful, widely adoptable Web RTC browser API will need to meet,
particularly in the area of network transport. We mentioned how the
RealtimeTransport class connects a browser with a peer, providing a
secured, low-latency path across the network.</p>

<p>Rather than using an opaque and indecipherable blob of <a
href="http://en.wikipedia.org/wiki/Session_Description_Protocol">SDP</a>:
Session&nbsp;Description Protocol (RFC 4566) text, CU-RTC-Web
allows applications to choose how media is described to suit
application needs. The relationship between streams of media and
the network layer they traverse is not some arcane combination of
SDP m= sections and a=mumble lines. Applications build a real-time
transport and attach media to that transport.</p>

<p>If you want to learn more about the challenges that SDP brings,
some very insightful comments have been recently shared by Robin
Raymond of Open Peer on the RTCWEB IETF mailing list.&nbsp; Go here
to see Robin's well-crafted Blog post on the issues - <a
href="http://blog.webrtc.is/2013/03/06/sdp-the-webrtc-boat-anchor/">
SDP the WebRTC Boat Anchor</a>. &nbsp;As a community, it is
important we continue to share these views as inaction will
constitute a self-defeating choice, for which the industry would
pay a high price for years to come.</p>

<p>As with our previous release, we hope that publishing this
latest working prototype in HTML5Labs provides guidance in the
following areas:</p>

<ul>
<li>Clarify the CU-RTC-Web proposal with interoperable working code
so others can understand exactly how the API could be used to solve
real-world <a
href="http://tools.ietf.org/html/draft-ietf-rtcweb-use-cases-and-requirements-10">
use cases</a>.</li>

<li>Encourage others to show working example code that shows
exactly how their proposals could be used by developers to solve
use cases in an interoperable way.</li>

<li>Seek developer feedback on how the CU-RTC-Web addresses
interoperability challenges in Real Time Communications.</li>

<li>Provide a source of ideas for how to resolve open issues with
the <a href="http://www.w3.org/TR/2012/WD-webrtc-20120821/">current
draft API</a> as the CU-RTC-Web proposal is cleaner and
simpler.</li>
</ul>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>ALPN</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/alpn/alpn/info</link><pubDate>Fri, 15 Feb 2013 17:29:52 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/alpn/alpn/info</guid><content:encoded><![CDATA[ 
<p>-------Update: 2/27/2013-------</p>

<p>Earlier in February we had published on HTML5Labs an updated
version of our HTTP/2.0 prototype that <a
href="http://blogs.msdn.com/b/interoperability/archive/2013/02/15/new-html5-labs-http-2-0-prototype-shows-a-safer-and-simpler-internet-communication-security-approach.aspx">
introduced support for ALPN</a>. Shortly thereafter, on Thursday
2/21, Stephan Friedl and Andrei Popov proposed an <a
href="http://tools.ietf.org/html/draft-friedl-tls-applayerprotoneg-02">
update to the ALPN spec draft</a> that refines the protocol in a
couple of important aspects:</p>

<p>- "Application Layer Protocol Negotiation Extension" now defines
ProtocolNameList and ProtocolName as variable-length arrays, as
typically done in TLS. This increases payload size by 2 bytes, but
allows the use of the normal TLS parsers.</p>

<p>- "Protocol Selection" defines a new fatal alert
no_application_protocol, to be used with ALPN extension only,
instead of using a generic handshake_failure alert. This is done to
help distinguish application protocol negotiation issues from other
handshake failures.</p>

<p>Today, we are posting a further update that accounts for those
improvements. The new prototype also leverages OpenSSL on Apache as
a backend. We are making the corresponding patch available in the
<a
href="http://html5labs.interoperabilitybridges.com/prototypes/alpn/alpn/download">
download tab</a> together with the new client installer.</p>

<p>&nbsp;</p>

<p>-------Original Release: 2/15/2013-------</p>

<p>As part of the HTTP/2.0 effort, the industry
is&nbsp;collaborating to reinforce Internet communication security
in the IETF Transport Layer Security Working Group (TLS WG). Two
security experts from Cisco and Microsoft have submitted ALPN-01
(Application Layer Protocol Negotiation), a safer and simpler
application protocol negotiation approach, backed up by a new HTML5
Labs HTTP/2.0 prototype by Microsoft Open Technologies, Inc.
incorporating an initial implementation of ALPN-01.</p>

<p>The new ALPN-01 (Application Layer Protocol Negotiation)
Internet draft proposes a protocol negotiation in accordance with
established TLS architecture with the following benefits:</p>

<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ALPN places
ownership of protocol selection on the server, not the client. This
allows the server to select an appropriate certificate based on the
application protocol, which is in line with existing TLS handshake
extensions.</p>

<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ALPN performs
protocol negotiation by default in the clear: in general is no need
for encrypted communication during the handshake. This permits
servers to differentiate routing, QOS and firewalling by
protocol.</p>

<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; For use cases that
can justify the tradeoff with additional latency, ALPN still
retains support for confidential protocol negotiation through
standard TLS renegotiation.</p>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>Media Capture API</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/media-capture-api-(2)/media-capture-api/info</link><pubDate>Wed, 30 Jan 2013 21:43:45 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/media-capture-api-(2)/media-capture-api/info</guid><content:encoded><![CDATA[ 
<p>The <a href="http://www.w3.org/2005/Incubator/htmlspeech/">W3C
HTML Speech Incubator Group</a> is considering the feasibility of
integrating speech technology in HTML5. At this stage, the work is
very experimental and the group is discussing<br />
 a number of different proposals. In March, Microsoft made a <a
href="http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Mar/0001.html">
proposal</a> for the <a
href="http://lists.w3.org/Archives/Public/www-archive/2011Mar/att-0001/microsoft-api-draft-final.html#capture_api_extensions">
HTML<br />
 Speech API</a>.</p>

<p>We think the <a
href="http://www.w3.org/TR/media-capture-api/">Media Capture
API</a>, developed in the <a href="http://www.w3.org/2009/dap/">W3C
Device API and Policy</a> working group, provides a good foundation
for developing this technology and in our proposal we made some <a
href="http://lists.w3.org/Archives/Public/public-device-apis/2011Mar/0015.html">
suggestions</a> about how to <a
href="http://lists.w3.org/Archives/Public/www-archive/2011Mar/att-0001/microsoft-api-draft-final.html#capture_api_extensions">
enhance the API</a>. While the discussions in the incubator group
continue, we've been working on a prototype to better share our
thinking.</p>

<p>The first release of the prototype implements the Audio portion
of <a href="http://www.w3.org/TR/media-capture-api/"
target="_blank">this W3C specification</a>. We have also included a
sample that demonstrates how to properly utilize the APIs that the
IE9 plugin exposes.</p>

<p><a
href="http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api/media-capture-api/download"
 title="Download">Download the prototype now!</a></p>

<p>Install the prototype, open the sample in IE and click on the
microphone icon:<br />
 the web page will capture the sound until it either hears
silence.. When the Play button is pressed, the sounds just captured
will play back.</p>
]]></content:encoded></item><item><title>Media Capture API</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/media-capture-api-(1)/media-capture-api/info</link><pubDate>Wed, 30 Jan 2013 21:43:36 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/media-capture-api-(1)/media-capture-api/info</guid><content:encoded><![CDATA[ 
<p>The <a href="http://www.w3.org/2005/Incubator/htmlspeech/">W3C
HTML Speech Incubator Group</a> is considering the feasibility of
integrating speech technology in HTML5. At this stage, the work is
very experimental and the group is discussing<br />
 a number of different proposals. In March, Microsoft made a <a
href="http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Mar/0001.html">
proposal</a> for the <a
href="http://lists.w3.org/Archives/Public/www-archive/2011Mar/att-0001/microsoft-api-draft-final.html#capture_api_extensions">
HTML<br />
 Speech API</a>.</p>

<p>We think the <a
href="http://www.w3.org/TR/media-capture-api/">Media Capture
API</a>, developed in the <a href="http://www.w3.org/2009/dap/">W3C
Device API and Policy</a> working group, provides a good foundation
for developing this technology and in our proposal we made some <a
href="http://lists.w3.org/Archives/Public/public-device-apis/2011Mar/0015.html">
suggestions</a> about how to <a
href="http://lists.w3.org/Archives/Public/www-archive/2011Mar/att-0001/microsoft-api-draft-final.html#capture_api_extensions">
enhance the API</a>. While the discussions in the incubator group
continue, we've been working on a prototype to better share our
thinking.</p>

<p>The first release of the prototype implements the Audio portion
of <a href="http://www.w3.org/TR/media-capture-api/"
target="_blank">this W3C specification</a>. We have also included a
sample that demonstrates how to properly utilize the APIs that the
IE9 plugin exposes.</p>

<p><a
href="http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api/media-capture-api/download"
 title="Download">Download the prototype now!</a></p>

<p>Install the prototype, open the sample in IE and click on the
microphone icon:<br />
 the web page will capture the sound until it either hears
silence.. When the Play button is pressed, the sounds just captured
will play back.</p>
]]></content:encoded></item><item><title>IndexedDB</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/indexeddb-(1)/indexeddb/info</link><pubDate>Wed, 30 Jan 2013 21:43:00 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/indexeddb-(1)/indexeddb/info</guid><content:encoded><![CDATA[ 
<div class="InfoContent">
<h2>Prototype Details</h2>

<p><strong>IndexedDB</strong> is a W3C draft Web specification for
the storage of large amounts of structured data in the browser,
using indexes that allow for high performance searches on this
data. The IndexedDB API is currently being standardized by the <a
href="http://www.w3.org/2008/webapps/">W3C Web Applications Working
Group</a>. IndexedDB can be used for browser implemented functions
like bookmarks, and as a client-side cache for web applications
such as email.</p>

<p class="downloadLink">&nbsp;</p>

<?UMBRACO_MACRO link="2408" icon="2504" text="Download
the Prototype now!" macroAlias="InsertDownloadLink" /> 

<p>For feedback please use this <a href="http://www.html5labs.com/prototypes/indexeddb/indexeddb/mailing-list"
title="Mailing List">mailing list</a>.</p>

<p>W3C provides the following <a
href="http://lists.w3.org/Archives/Public/public-webapps/">mailing
list</a> (W3C WebApps WG DL) for feedback about the IndexedDB
Spec.</p>

<h2>Related Links</h2>

<ul>
<li><a
href="http://blogs.msdn.com/b/interoperability/archive/2011/02/03/the-indexeddb-prototype-gets-an-update.aspx">
Claudio Caldato's blog</a></li>

<li><a
href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html">IndexedDB
Fed 04, 2011 Editor's Draft Specification</a></li>

<li><a href="/media/34780/indexeddatabaseapi_11022010.htm.htm"
target="_blank">IndexedDB Nov 2, 2010 Editor's Draft
Specification</a></li>

<li><a
href="http://blogs.msdn.com/b/interoperability/archive/2010/12/21/indexeddb-prototype-available-for-internet-explorer.aspx/"
 target="_blank">Pablo Castro's Blog</a></li>
</ul>
</div>
]]></content:encoded></item><item><title>HTTP 2.0</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/http-20/http-20/info</link><pubDate>Thu, 20 Dec 2012 22:37:35 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/http-20/http-20/info</guid><content:encoded><![CDATA[ 
<p>Through our continuing support of the HTTP/2.0 standardization
through code, we have made some updates to our prototypes. We have
moved from the Node.js implementation used server-side by our
earlier prototypes to a modified implementation of an existing
Apache module for which we are making available in the associated
patch.</p>

<p>In this latest iteration, we have made three changes in
particular to advance discussions on the HTTP/2.0 initial draft and
thinking around interoperable implementations:<br />
 Negotiation: we have improved upon our initial implementation of
the protocol upgrade that we released last month, supporting the
scenario where the server does not accept a protocol upgrade.<br />
 Flow Control: our prototype uses an infinite Window Update size
that is effectively the simplest possible implementation and can be
expected to be chosen for many real-world deployments, e.g. by
specialized devices for the "Internet of things."<br />
 Server push: we have implemented a behavior on the client that
resets connections upon receipt of unrequested data from the
server. This is particularly important where push might be
especially unwelcome on mobile/low bandwidth connections.<br />
 This iteration continues to demonstrate our ongoing commitment to
the HTTP/2.0 standardization process. Throughout this journey, we
have honored the tenets that we stated in earlier updates:<br />
 •&nbsp;Maintain existing HTTP semantics.<br />
 •&nbsp;Maintain the integrity of the layered architecture.<br />
 •&nbsp;Use existing standards when available to make it easy for
the protocol to work with the current Web infrastructure.<br />
 •&nbsp;Be broadly applicable and flexible by keeping the client in
control of content.<br />
 •&nbsp;Account for the needs of modern mobile clients, including
power efficiency, support for HTTP-based applications, and
connectivity through tariffed networks.<br />
 These tenets will continue to inform the direction of both our
proposals to the IETF and of our engineering efforts.<br />
 Please try out the prototype, give us feedback and we'll keep you
posted on next steps in the working group.</p>
]]></content:encoded></item><item><title>CU-RTC-Web</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/cu-rtc-web/cu-rtc-web/info</link><pubDate>Thu, 20 Dec 2012 06:05:46 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/cu-rtc-web/cu-rtc-web/info</guid><content:encoded><![CDATA[ 
<p>In support of our earlier <a
href="http://blogs.msdn.com/b/interoperability/archive/2012/08/06/customizable-ubiquitous-real-time-communication-over-the-web-cu-rtc-web.aspx">
contribution</a> to the W3C WebRTC Working Group, Microsoft Open
Technologies, Inc., (MS Open Tech) is now publishing a working
prototype implementation of the <a
href="http://html5labs.interoperabilitybridges.com/cu-rtc-web/cu-rtc-web.htm">
CU-RTC-Web</a> proposal to demonstrate a real world
interoperability scenario - in this interop case, voice chatting
between Chrome on a Mac and IE10 on Windows via the API.</p>

<p>By publishing this working prototype in HTML5 Labs, we hope
to:</p>

<ul>
<li>Clarify the CU-RTC-Web proposal with interoperable working code
so others can understand exactly how the API could be used to solve
real-world <a
href="http://tools.ietf.org/html/draft-ietf-rtcweb-use-cases-and-requirements-10">
use cases</a><a
href="http://tools.ietf.org/html/draft-ietf-rtcweb-use-cases-and-requirements-10">
.</a></li>

<li>Show what level of usability is possible for Web developers who
don't have deep knowledge of the underlying networking protocols
and interface formats.</li>

<li style="list-style: none">Encourage others to show working
example code that shows exactly how their proposals could be used
by developers to solve use cases in an interoperable way.</li>

<li>Seek developer feedback on how the CU-RTC-Web addresses
interoperability challenges in Real Time Communications.</li>

<li>Provide a source of ideas for how to resolve open issues with
the <a href="http://www.w3.org/TR/2012/WD-webrtc-20120821/">current
draft API</a> as the CU-RTC-Web proposal is cleaner and
simpler.</li>
</ul>

<p>Please <a
href="http://html5labs.interopbridges.com/prototypes/cu-rtc-web/cu-rtc-web/download">
download the prototype</a> and <a
href="http://www.interoperabilitybridges.com/contactus">let us know
what you think.</a> We look forward to receiving your feedback!</p>
]]></content:encoded></item><item><title>Pointer Events for Webkit</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/pointer-events-for-webkit/pointer-events-for-webkit/info</link><pubDate>Fri, 14 Dec 2012 17:40:40 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/pointer-events-for-webkit/pointer-events-for-webkit/info</guid><content:encoded><![CDATA[ 
<p>Developers can start building multi-input Web sites and apps
with greater confidence that an emerging industry standard will
enable building a single website targeting multiple devices and
platforms.&nbsp;</p>

<p>Only three months after its creation, the <a
href="http://www.w3.org/2012/pointerevents/">W3C Pointer Events
Working Group</a> has <a
href="http://www.w3.org/News/2013#entry-9726">announced</a> that
Pointer Events has reached "Last Call Working Draft" status and is
considered feature complete by the Working Group. The W3C Pointer
Events Working Group has been hard at work over the last few months
to standardize a single device input model - mouse, pen and touch -
across multiple browsers. Congratulations to the <a
href="http://www.w3.org/2012/pointerevents/">W3C Pointer Events
Working Group</a>!</p>

<p>Microsoft Open Technologies, Inc. (MS Open Tech) and the
Microsoft Corp. Internet Explorer teams have been working with our
colleagues across the industry, engaging developers to test and
provide feedback on the specification, and incorporating all the
received feedback into this Last Call Working Draft.</p>

<p>To demonstrate cross-browser interoperability for Pointer
Events, MS Open Tech developed a <a
href="http://blogs.msdn.com/b/interoperability/archive/2012/12/18/open-source-release-from-ms-open-tech-pointer-events-initial-prototype-for-webkit.aspx">
Pointer Events prototype for WebKit</a> on HTML5 Labs and submitted
the patch to the WebKit community. On 2/20/13, we posted an updated
version of the patch on HTML5Labs and on the <a
href="https://bugs.webkit.org/show_bug.cgi?id=105463">WebKit issue
tracker</a>, incorporating community <a
href="https://bugs.webkit.org/show_bug.cgi?id=105463#c5">feedback</a>
received on the previous version.&nbsp; MS Open Tech will continue
updating this prototype to match latest draft of the
specification.</p>

<p>Go ahead and <a
href="http://html5labs.interoperabilitybridges.com/prototypes/pointer-events-for-webkit/pointer-events-for-webkit/download">
download</a> the latest version of the patch!</p>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>Device Orientation Events</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/device-orientation-events/device-orientation-events/info</link><pubDate>Mon, 27 Aug 2012 11:56:33 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/device-orientation-events/device-orientation-events/info</guid><content:encoded><![CDATA[ 
<p>This prototype is an implementation of the W3C <a
href="http://dev.w3.org/cvsweb/~checkout/geo/api/spec-source-orientation.html?rev=1.51;content-type=text%2Fhtml">
DeviceOrientation Event Specification draft</a> on <a
href="http://www.html5labs.com/">HTML5Labs.com</a>. This
specification defines new DOM events that provide information about
the physical orientation and motion of a device. Such APIs will let
web developers easily deliver advanced web user experiences
leveraging modern devices' sensors.</p>

<h2>How is this helping developers?</h2>

<p>With the Device Orientation API, developers can explore new
input mechanisms for games, new gestures for apps (such as "shake
to clear the screen" or "tilt to zoom")or even augmented reality
experiences. The prototype's installation includes a sample game to
get you started in understanding the API.</p>

<h2>How does this work?</h2>

<p>The Device Orientation API exposes two different types of sensor
data: orientation and motion.</p>

<p>When the physical orientation of the device is changed (e.g. the
user tilts or rotates it), the deviceorientation event is fired at
the window and supplies the alpha, beta, and gamma angles of
rotation (expressed in deg/s):</p>

<p><img src="/media/155279/orientation_graph_499x430.jpg"  width="499"  height="430" alt="OrientationGraph" style="height: 427px; width: 498px;"/></p>

<p>&lt;div id="directions"&gt;&lt;/div&gt;<br />
 &lt;script&gt;<br />
 &nbsp;&nbsp; window.addEventListener("deviceorientation",
findNorth);<br />
 &nbsp;&nbsp; function findNorth(evt) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var directions =
document.getElementById("directions");<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (evt.alpha &lt; 5 || evt.alpha
&gt;355) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
directions.innerHTML = "North!";<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (evt.alpha &lt; 180)
{<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
directions.innerHTML = "Turn Left";<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
directions.innerHTML = "Turn Right";<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp; }<br />
 &lt;/script&gt;</p>

<p>When a device is being moved or rotated (more accurately,
accelerated), the devicemotion event is fired at the window and
provides acceleration (both with and without the effects of
gravitational acceleration on the device, expressed in
m/s<sup>2</sup>) in the x, y, and z axis as well as the rate of
change in the alpha, beta, and gamma rotation angles (expressed in
deg/s<sup>2</sup>):</p>

<p><img src="/media/155284/acceleration_graph_498x275.jpg"  width="498"  height="275" alt="AccelerationGraph"/></p>

<p>&lt;div id="status"&gt;&lt;/div&gt;<br />
 &lt;script&gt;<br />
 &nbsp;&nbsp; window.addEventListener("devicemotion",
detectShake);<br />
 &nbsp;&nbsp; function detectShake(evt) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var status =
document.getElementById("status");<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var accl = evt.acceleration;<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (accl.x &gt; 1.5 || accl.y &gt;
1.5 || accl.z &gt; 1.5) {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status.innerHTML
= "EARTHQUAKE!!!";<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status.innerHTML
= "All systems go!";<br />
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
 &nbsp;&nbsp; }<br />
 &lt;/script&gt;</p>

<h2>Trying out the prototype</h2>

<p>The prototype can be found on the <a href="http://www.html5labs.com/prototypes/device-orientation-events/device-orientation-events/download"
title="Download">download tab</a>. This prototype requires Internet
Explorer 10 running on devices with accelerometer sensors supported
by Windows 8. The prototype works as an extension to Internet
Explorer on the desktop, where developers can get a first-hand look
at the APIs. To get started building your own pages with the
prototype, all you need to do is install the prototype and then
include a reference to the DeviceOrientation.js script file
included with the demo game:</p>

<p>&lt;script type="text/javascript"
src="DeviceOrientation.js"&gt;&lt;/script&gt;</p>

<h2>We want your feedback</h2>

<p>We want to hear from developers on this prototype implementation
of the W3C Device Orientation Event Specification, so please let us
know what you think by <a
href="mailto:%20ibridges@microsoft.com">sending us a
message</a>.</p>
]]></content:encoded></item><item><title>CSS and SVG</title><link>www.html5labs.comhttp://www.html5labs.com/prototypes/css-and-svg/css-and-svg/info</link><pubDate>Tue, 15 May 2012 12:41:38 GMT</pubDate><guid>www.html5labs.comhttp://www.html5labs.com/prototypes/css-and-svg/css-and-svg/info</guid><content:encoded><![CDATA[ 
<h2 class="InfoContent">Prototype Details</h2>

<p>&nbsp;</p>

<p class="InfoContent"><strong>Important Note</strong>: This
prototype has been developed as a proof of concept to demonstrate
how Scalable Vector Graphics can be made even more flexible for web
designers in HTML5. While the prototype is working and we would
like developers to download, test it and provide feedback, it is
not intended for production quality developments.</p>

<p class="InfoContent">SVG, or Scalable Vector Graphics, is a
family of specifications of an XML-based file format for
2-dimensional vector graphics, both static and dynamic. The SVG
specification is an open standard that has been under development
by W3C since 1999. In addition to being vector-based, the big
advantage of SVG graphics is that images are defined in XML text
files, and therefore can be searched, indexed, scripted and
compressed. All the major web browsers have some degree of support
and can render SVG markup directly.&nbsp;</p>

<p class="InfoContent">SVG can be animated with SMIL (Synchronized
Multimedia Integration Language) or with a scripting language such
as JavaScript. You can see examples of this on MSDN. Using these
methods to render animated graphics usually works well but when it
comes to making modifications or applying different styles, they
usually require considerable development efforts.</p>

<p class="InfoContent">This is where the CSS3 capabilities come
into play. Cascading Style Sheet has been designed to enable the
separation between the document content and its presentation. Using
CSS you can style your web pages and easily and conveniently adapt
the look and feel and the ergonomics of your Web site or
application.&nbsp;</p>

<p class="InfoContent">When applied to SVG values that are
currently exposed as properties, the CSS animations and transitions
styling provide flexibility and ease of use to developers.</p>

<p class="InfoContent">In his blog post [insert link to blog post],
Patrick Dengler, Senior Program Manager in the Internet Explorer
Graphics team explains how this would like concretely and provides
concrete examples for animating objects, applying transitions on
their attributes and manipulate filters in CSS.</p>

<?UMBRACO_MACRO link="8193" text="Download the prototype
now!" icon="2504" macroAlias="InsertDownloadLink" /> 

<p class="InfoContent">The prototype works on Internet Explorer 10
and Webkit-based browsers. You can see a <a
href="http://channel9.msdn.com/Blogs/Interoperability/CSS--SVG-prototype-demo"
 target="_blank"
title="CSS &amp; SVG Prototype demo video">video</a> below and read
the transcript of a demonstration that highlights some of the
scenarios made possible when applying CSS animations and
transitions styling to SVG.</p>

<p class="InfoContent"><a
href="http://channel9.msdn.com/Blogs/Interoperability/CSS--SVG-prototype-demo"
 target="_blank" title="CSS &amp; SVG prototype demo video"><img src="/media/142929/csssvgimage1.png" width="440" height="267" alt="CSSSVGImage1"/></a></p>

<p class="InfoContent">In this demo we explain how to use the
prototype to apply simple styling to different SVG objects
attributes such as position, color or SVG filters.</p>

<p class="InfoContent">You can download the prototype and create
your own web site project to reproduce this demo.</p>

<p class="InfoContent">To download the prototype, go to the
following <a href="http://www.html5labs.com/prototypes/css-and-svg/css-and-svg/download" title="Download">page</a> and
extract the content of the zip file to the location of your
choice.</p>

<p class="InfoContent">In Visual Studio, create a new C# Web
project of type "ASP.NET Empty Web Application"</p>

<p class="InfoContent"><img src="/media/142934/csssvgimage2.png" width="434" height="230" alt="CSSSVGImage2"/></p>

<p class="InfoContent">Add 2 new files in the project, an html one
and a CSS one.</p>

<p class="InfoContent">To do so, right-click on the project name in
the Solution Explorer and select "Add-&gt;New Item" then select the
right file type (HTML and Style sheet) and name the files:</p>

<div class="InfoContent">
<ul>
<li>Index.html</li>

<li>Style.css</li>
</ul>
</div>

<p>Create a new folder in the project named "scripts". To do so,
right click on the project name and select "Add-&gt;New
Folder…"</p>

<p>From the prototype extracted folder, drag and drop the following
files into the newly created folder in the Solution explorer:</p>

<ul>
<li>Jquery.min.js</li>

<li>Svgadmin.js</li>
</ul>

<p>&nbsp;<img src="/media/142939/csssvgimage3.png" width="258" height="193" alt="CSSSVGImage3"/></p>

<p>Open the index.html file, delete all content and paste the code
from <a href="/media/142944/index.html.txt" target="_blank">this
file</a>.</p>

<p>Open the style.CSS file, delete all content and paste the the
code from <a href="/media/142947/style.css.txt"
target="_blank">this file</a>.</p>

<p>Switch the view back to the index.html file and strike F5 to
start debugging. You will be able to see the final result of the
demo.</p>
]]></content:encoded></item></channel></rss>