Skip to content

Commit

Permalink
Fixed typos
Browse files Browse the repository at this point in the history
  • Loading branch information
trygve-lie committed May 29, 2011
1 parent f195f40 commit b32b527
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# What?

These are small demos using two or more (browser) clients interacting with each other in real time. Most demos has a
remote and a receiver. The remote are used as a "remote control" to control whats going on on the receiver.
These are small demos using two or more (browser) clients interacting with each other in real time. Most demos have a
remote and a receiver. The remote is used as a "remote control" to control what's going on on the receiver.
These demos does show some new and experimental parts in browsers using native implementations so each demo might
require different browser versions / experimental browser builds.


## Getting started

For clients to communicate with each other most demos rely on a [WebSocket](http://dev.w3.org/html5/websockets/ "The WebSocket specification at W3C")
connection. Iow; a server is needed. These demos comes with a very simple server which use [socket.io](http://socket.io/ "Homepage of socket.io")
connection. Iow; a server is needed. These demos come with a very simple server which uses [socket.io](http://socket.io/ "Homepage of socket.io")
for WebSockets so [Node.js](http://nodejs.org/ "Homepage of Node.js") is needed.

Installation:
Expand All @@ -26,10 +26,10 @@ Starting the server:


## Enable WebSockets
Even if socket.io provides fallback solutions like WebSockets trough Flash or HTTP LongPolling the ideal situation are to
use native WebSockets in modern browsers. In writing WebSockets are implemented or available in most modern browsers but
Even if socket.io provides fallback solutions like WebSockets trough Flash or HTTP LongPolling the ideal situation is to
use native WebSockets in modern browsers. At the time of writing, WebSockets are implemented or available in most modern browsers but
due to a [security issue](http://www.ietf.org/mail-archive/web/hybi/current/msg04744.html "Adam Barth on the security issue in WebSockets")
disabled in some browsers:
they are disabled in some browsers:

#### Opera 11.xx (desktop) and Opera Mobile 11.xx:

Expand All @@ -49,7 +49,7 @@ Should be enabled by default.
Should be enabled by default.

#### IE9:
IE have no support for WebSockets but the IE team has [released a prototype](http://html5labs.interoperabilitybridges.com/html5labs/prototypes/websockets/websockets/info/ "WebSocket prototype for IE")
IE has no support for WebSockets but the IE team has [released a prototype](http://html5labs.interoperabilitybridges.com/html5labs/prototypes/websockets/websockets/info/ "WebSocket prototype for IE")
which will extend IE with WebSockets.


Expand All @@ -76,7 +76,7 @@ A remote / receiver demo based on access to the camera on the device. The remote
in a HTML5 video tag on the device which acts as a remote. A snapshot can then be taken on the remote device by clicking
on the video and the snapshot will instantly be transferred to the receiver and displayed.

NOTE I: This demo require the Opera Mobile Android Lab Release which gains native access to the web camera. WebSockets must
NOTE I: This demo requires the Opera Mobile Android Lab Release which gains native access to the web camera. WebSockets must
be enabled as described above in this document.

NOTE II: To be able to grab a image from the video stream and transfer it over the wire a security change must be applied
Expand All @@ -85,7 +85,18 @@ to the browser. In the address bar, write __opera:config__, select __Security Pr
### Remote Rotation:
A remote / receiver demo based on orientation events in a device. The remote will capture the orientation events from a
device and transfer these over a WebSocket to the receiver and create a rotating image in the receiver. The image in the
receiver will rotate upon how the remote are rotated.
receiver will rotate depending upon how the remote is rotated.

NOTE: This demo require the Opera Mobile Android Lab Release which gains native access to orientation events. WebSockets
must be enabled as described above in this document.
NOTE: This demo requires the Opera Mobile Android Lab Release which gains native access to orientation events. WebSockets
must be enabled as described above in this document.

### TV Remote
A remote / receiver demo where a remote (handheld) device with touch events control playback, volume and switching between
videos on a receiving device. Touch and click events are captured on the remote device and transferred trough a WebSocket
to the receiving device.

Click the screen on the remote to start and stop playback. Swipe up to increase the volume. Swipe down to decrease the volume.
Swipe to the right to switch to the next video and swipe to the left to switch to the previous video.

NOTE: This demo requires a device with touch events to act as a remote. The receiver must be able to play HTML5 video and
have support for Ogg Theora. Both devices need WebSockets enabled.

0 comments on commit b32b527

Please sign in to comment.