<commit_before>Marine Compass
====================

A fully web standards compliant JavaScript 3D Compass application.

#### Requirements ####

A web browser with the following web standards support:

* WebGL - [When/Where can I use WebGL?](http://caniuse.com/#feat=webgl)
* Device Orientation Events - [When/Where can I use Device Orientation Events?](http://caniuse.com/#feat=deviceorientation)

As of 23-Jul 2012 only [Opera Mobile 12 for Android](https://play.google.com/store/apps/details?id=com.opera.browser&hl=en) has the necessary web standards support required to run this application. You can view the shiny effects in [Google Chrome for Mac](http://www.google.com/mac/) but the lack of a device orientation 'alpha' value means that the compass cannot be calibrated correctly.

Even if this worked in other browsers there is also the issue that each browser maker has [implemented Device Orientation Event data completely differently to each other](http://lists.w3.org/Archives/Public/public-geolocation/2012Jun/0000.html), making it nigh on impossible to make 3-axis orientation-based web applications such as Marine Compass work in all browsers. Hopefully this will change soon. The implementation of Marine Compass is based on the device orientation data returned by Opera Mobile 12, which I consider is the closest to the web standard [as it is currently defined](http://dev.w3.org/geo/api/spec-source-orientation.html).

#### Usage ####

Simply clone this repo as follows:

    git clone <EMAIL>@github.com:richtr/Marine-Compass.git

Load 'index.html' and enjoy!

An online demo is available @ [http://people.opera.com/richt/release/demos/orientation/marinecompass](http://people.opera.com/richt/release/demos/orientation/marinecompass).

#### Screenshots ####

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass1.png" width="240"/>

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass2.png" width="240"/>

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass3.png" width="240"/>
<commit_msg>Update README with latest browser compat data<commit_after>Marine Compass
====================

A fully web standards compliant JavaScript 3D Compass application.

#### Requirements ####

A web browser with the following web standards support:

* Device Orientation Events - [When/Where can I use Device Orientation Events?](http://caniuse.com/#feat=deviceorientation)
* WebGL - [When/Where can I use WebGL?](http://caniuse.com/#feat=webgl) - note: Although this demo can work without WebGL, if this is not available then the Marine Compass will fallback to using [cWebGL](https://code.google.com/p/cwebgl/) with *significantly reduced performance*.

#### Usage ####

Simply clone this repo as follows:

    git clone <EMAIL>:richtr/Marine-Compass.git

Load 'index.html' and enjoy!

#### Browser Compatibilty ####

The Marine Compass is known to work (as of 12th February 2014) in the latest versions of the following browsers:

* Google Chrome for Android
* Opera for Android
* Opera Mobile 12.1 for Android
* Firefox *Beta* for Android

You can point one of the browsers above to the online demo available @ [http://people.opera.com/richt/release/demos/orientation/marinecompass](http://people.opera.com/richt/release/demos/orientation/marinecompass).

#### Screenshots ####

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass1.png" width="240"/>

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass2.png" width="240"/>

<img src="https://github.com/richtr/Marine-Compass/raw/master/screenshots/marinecompass3.png" width="240"/>

{'fraction_non_alphanumeric': 0.12580645161290321, 'fraction_numerical': 0.015053763440860216, 'mean_word_length': 5.0602605863192185, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 8, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1106099', 'n_tokens_mistral': 1136, 'n_tokens_neox': 1062, 'n_words': 345}