Giter Site home page Giter Site logo

wearscript-playground's Introduction

WearScript

WearScript combines the power of Android development on Glass with the learning curve of a website. Go from concept to demo in a fraction of the time. For an overview check out the intro video and sample script below. Visit http://www.wearscript.com for documentation and more information.

One-Line Installer(Linux/OSX): Execute the following in a shell to install WearScript on your Glass and authenticate with our default server.

curl -L http://goo.gl/U1RIHm > install.py && python install.py

intro video

// Sample WearScript
<html style="width:100%; height:100%; overflow:hidden">
<body style="width:100%; height:100%; overflow:hidden; margin:0">
<canvas id="canvas" width="640" height="360" style="display:block"></canvas>
<script>
function cb(data) {  // Changes canvas color depending on head rotation
    if (data['type'] == WS.sensor('orientation')) {
        ctx.fillStyle = 'hsl(' + data['values'][0] + ', 90%, 50%)'
        ctx.fillRect(0, 0, 640, 360);
    }
}
function server() {
    WS.log('Welcome to WearScript');  // Write to Android Log and Playground console
    WS.say('Welcome to WearScript');  // Text-to-speech
    // Stream camera images and all sensors to the WearScript Playground Webapp
    var sensors = ['gps', 'accelerometer', 'magneticField', 'orientation', 'gyroscope',
                   'light', 'gravity', 'linearAcceleration', 'rotationVector'];
    for (var i = 0; i < sensors.length; i++)
        WS.sensorOn(WS.sensor(sensors[i]), .15, 'cb');
    WS.cameraOn(2);
    WS.dataLog(false, true, .15);
}
function main() {
    if (WS.scriptVersion(0)) return;
    ctx = document.getElementById('canvas').getContext("2d");
    WS.serverConnect('{{WSUrl}}', 'server');
}
window.onload = main;
</script></body></html>

About

  • Full documentation at http://www.wearscript.com
  • OpenShades (the new OpenGlass) is our community
  • IRC freenode #openshades (if you want to collaborate or chat that's the place to be)
  • Project Lead: Brandyn White (bwhite dappervision com)
  • G+ Community (we post work in progress here)
  • Youtube (all OpenShades videos)
  • Dapper Vision, Inc. (by Brandyn and Andrew) is the sponsor of this project
  • Code is licensed under Apache 2.0 unless otherwise specified

Contributors

See contributors for details. Name (irc nick)

  • Brandyn White (brandyn)
  • Andrew Miller (amiller)
  • Scott Greenwald (swgreen_mit)
  • Kurtis Nelson (kurtisnelson)
  • Conner Brooks (connerb)
  • Justin Chase (jujuman)
  • Alexander Conroy (geilt)

wearscript-playground's People

Contributors

connerbrooks avatar coryk135 avatar cr4ck3r avatar drgrove avatar kadajett avatar kurtisnelson avatar lrvick avatar singlerider avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wearscript-playground's Issues

grunt build fails upon uglification

stacktrace:

{ address: '::1', family: 'IPv6', internal: true }
{ address: '127.0.0.1', family: 'IPv4', internal: true }
{ address: 'fe80::1', family: 'IPv6', internal: true }
{ address: '(my address)',
  family: 'IPv6',
  internal: false }
{ address: '192.168.1.170', family: 'IPv4', internal: false }
{ address: '(my address)',
  family: 'IPv6',
  internal: false }
{ address: '(my address)',
  family: 'IPv6',
  internal: false }

Running "clean:dist" (clean) task
Cleaning .tmp...OK
Cleaning server/dist/bower_components...OK
Cleaning server/dist/favicon.ico...OK
Cleaning server/dist/index.html...OK
Cleaning server/dist/scripts...OK
Cleaning server/dist/styles...OK
Cleaning server/dist/views...OK

Running "clean:server" (clean) task

Running "bower-install:app" (bower-install) task

ace-builds was not injected in your file.
Please go take a look in "app/bower_components/ace-builds" for the file you need, then manually include it in your file.

wearscript-js was not injected in your file.
Please go take a look in "app/bower_components/wearscript-js" for the file you need, then manually include it in your file.

msgpack-javascript was not injected in your file.
Please go take a look in "app/bower_components/msgpack-javascript" for the file you need, then manually include it in your file.

angular-table was not injected in your file.
Please go take a look in "app/bower_components/angular-table" for the file you need, then manually include it in your file.

Running "useminPrepare:html" (useminPrepare) task
Going through app/index.html to update the config
Looking for build script HTML comment blocks

Configuration is now:

  concat:
  { generated:
   { files:
      [ { dest: '.tmp/concat/scripts/vendor.js',
          src:
           [ 'app/bower_components/angular/angular.js',
             'app/bower_components/angular-resource/angular-resource.js',
             'app/bower_components/angular-route/angular-route.js',
             'app/bower_components/angular-ui-ace/ui-ace.js',
             'app/bower_components/angular-logging/angular-logging.js',
             'app/bower_components/reconnecting-websocket/reconnecting-websocket.js',
             'app/bower_components/angular-bootstrap/ui-bootstrap-tpls.js',
             'app/bower_components/hammerjs/hammer.js',
             'app/bower_components/angular-hammer/angular-hammer.js',
             'app/bower_components/angular-ui-utils/ui-utils.js',
             'app/bower_components/intro.js/intro.js',
             'app/bower_components/angular-intro.js/src/angular-intro.js',
             'app/bower_components/qrcode/lib/qrcode.js',
             'app/bower_components/angular-qr/src/angular-qr.js',
             'app/bower_components/angular-table/src/main/webapp/js/lib/angular-table.js',
             'app/bower_components/angular-sanitize/angular-sanitize.js',
             'app/bower_components/less/dist/less-1.5.0.js',
             'app/bower_components/wearscript-js/wearscript-client.js',
             'app/bower_components/msgpack-javascript/msgpack.js',
             'app/bower_components/ace-builds/src-min-noconflict/ace.js' ] },
        { dest: '.tmp/concat/scripts/scripts.js',
          src:
           [ '{.tmp,app}/scripts/app.js',
             '{.tmp,app}/scripts/controllers/main.js',
             '{.tmp,app}/scripts/controllers/editor.js',
             '{.tmp,app}/scripts/controllers/gists.js',
             '{.tmp,app}/scripts/controllers/weariverse.js',
             '{.tmp,app}/scripts/controllers/images.js',
             '{.tmp,app}/scripts/controllers/sensors.js',
             '{.tmp,app}/scripts/controllers/channels.js',
             '{.tmp,app}/scripts/controllers/setup.js',
             '{.tmp,app}/scripts/controllers/help.js',
             '{.tmp,app}/scripts/controllers/modal.js',
             '{.tmp,app}/scripts/controllers/annotation.js',
             '{.tmp,app}/scripts/controllers/logging.js',
             '{.tmp,app}/scripts/controllers/header.js',
             '{.tmp,app}/scripts/controllers/debug.js',
             '{.tmp,app}/scripts/controllers/menu.js',
             '{.tmp,app}/scripts/services/storage.js',
             '{.tmp,app}/scripts/services/socket.js',
             '{.tmp,app}/scripts/services/editor.js',
             '{.tmp,app}/scripts/services/storage.js',
             '{.tmp,app}/scripts/services/profile.js',
             '{.tmp,app}/scripts/services/playground.js',
             '{.tmp,app}/scripts/controllers/filemanager.js',
             '{.tmp,app}/scripts/services/gist.js',
             '{.tmp,app}/scripts/controllers/connected.js',
             '{.tmp,app}/scripts/controllers/tour.js' ] } ] } }

  uglify:
  { dist:
   { options:
      { sourceMap: 'server/dist/scripts/scripts.map.js',
        sourceMapRoot: '/',
        mangle: false,
        report: 'min',
        beautify:
         { beautify: false,
           indent_level: 4,
           indent_start: 0,
           quote_keys: true,
           space_colon: true,
           ascii_only: true,
           inline_script: true,
           width: 80,
           max_line_len: 32000,
           bracketize: true,
           semicolons: true,
           comments: false },
        compress:
         { sequences: true,
           properties: true,
           dead_code: true,
           drop_debugger: true,
           unsafe: true,
           conditionals: true,
           comparisons: true,
           evaluate: true,
           booleans: true,
           loops: true,
           unused: true,
           hoist_funs: true,
           hoist_vars: true,
           if_return: true,
           join_vars: true,
           cascade: true,
           side_effects: true,
           warnings: true,
           global_defs: {} } },
     files:
      { '<%= yeoman.dist %>/scripts/scripts.min.js':
         [ '.tmp/concat/scripts/vendor.js',
           '.tmp/concat/scripts/scripts.js' ] } },
  generated:
   { files:
      [ { dest: 'server/dist/scripts/vendor.js',
          src: [ '.tmp/concat/scripts/vendor.js' ] },
        { dest: 'server/dist/scripts/scripts.js',
          src: [ '.tmp/concat/scripts/scripts.js' ] } ] } }

  cssmin:
  { dist:
   { files:
      [ { expand: true,
          cwd: 'app/styles',
          src: '{,*/}*.svg',
          dest: 'server/dist/images' } ] } }

Running "concurrent:dist" (concurrent) task
>> Warning: There are more tasks than your concurrency limit. After this limit
>> is reached no further tasks will be run until the current tasks are
>> completed. You can adjust the limit in the concurrent task options

    { address: '::1', family: 'IPv6', internal: true }
    { address: '127.0.0.1', family: 'IPv4', internal: true }
    { address: 'fe80::1', family: 'IPv6', internal: true }
    { address: 'fe80::226:bbff:fe11:ec8f',
      family: 'IPv6',
      internal: false }
    { address: '192.168.1.170', family: 'IPv4', internal: false }
    { address: 'fe80::dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    { address: 'fd6d:31f9:df9c:2862:dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    Running "imagemin:dist" (imagemin) task
    Minified 0 images (saved 0 B)

    Done, without errors.


    Execution Time (2014-10-12 01:13:50 UTC)
    loading tasks  10ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 50%
    imagemin:dist  10ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 50%
    Total 20ms

    { address: '::1', family: 'IPv6', internal: true }
    { address: '127.0.0.1', family: 'IPv4', internal: true }
    { address: 'fe80::1', family: 'IPv6', internal: true }
    { address: 'fe80::226:bbff:fe11:ec8f',
      family: 'IPv6',
      internal: false }
    { address: '192.168.1.170', family: 'IPv4', internal: false }
    { address: 'fe80::dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    { address: 'fd6d:31f9:df9c:2862:dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    Running "copy:styles" (copy) task


    Done, without errors.


    Execution Time (2014-10-12 01:13:50 UTC)
    loading tasks  67ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 86%
    copy:styles    10ms  ▇▇▇▇▇▇▇ 13%
    Total 78ms

    { address: '::1', family: 'IPv6', internal: true }
    { address: '127.0.0.1', family: 'IPv4', internal: true }
    { address: 'fe80::1', family: 'IPv6', internal: true }
    { address: 'fe80::226:bbff:fe11:ec8f',
      family: 'IPv6',
      internal: false }
    { address: '192.168.1.170', family: 'IPv4', internal: false }
    { address: 'fe80::dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    { address: 'fd6d:31f9:df9c:2862:dc1b:2e8f:ab81:d38f',
      family: 'IPv6',
      internal: false }
    Running "svgmin:dist" (svgmin) task

    Done, without errors.


    Execution Time (2014-10-12 01:13:52 UTC)
    loading tasks    8ms  ▇ 2%
    svgmin:dist    490ms  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 98%
    Total 498ms

Running "autoprefixer:dist" (autoprefixer) task

Running "concat:generated" (concat) task
File ".tmp/concat/scripts/vendor.js" created.
File ".tmp/concat/scripts/scripts.js" created.

Running "ngmin:dist" (ngmin) task
ngminifying .tmp/concat/scripts/scripts.js, .tmp/concat/scripts/vendor.js

Running "copy:dist" (copy) task
Created 104 directories, copied 1830 files

Running "copy:scripts" (copy) task
Copied 2 files

Running "copy:styles" (copy) task


Running "cdnify:dist" (cdnify) task
Going through server/dist/index.html to update script refs

Running "less:dev" (less) task
File .tmp/styles/main.css created.

Running "less:dist" (less) task
File server/dist/styles/main.css created.

Running "cssmin:dist" (cssmin) task

Running "uglify:dist" (uglify) task
WARN: Dropping unused function argument event [.tmp/concat/scripts/vendor.js:37790,37]
WARN: Dropping unused function argument animate [.tmp/concat/scripts/vendor.js:1317,53]
WARN: Dropping unused variable elem [.tmp/concat/scripts/vendor.js:1985,8]
WARN: Dropping unused variable normalizedVal [.tmp/concat/scripts/vendor.js:5044,73]
WARN: Dropping unused function argument boundTranscludeFn [.tmp/concat/scripts/vendor.js:6063,58]
WARN: Dropping unused function argument rootElement [.tmp/concat/scripts/vendor.js:6063,45]
WARN: Dropping unused function argument nodeList [.tmp/concat/scripts/vendor.js:6063,35]
WARN: Dropping unused function argument scope [.tmp/concat/scripts/vendor.js:6063,28]
WARN: Dropping unused function argument boundTranscludeFn [.tmp/concat/scripts/vendor.js:6065,74]
WARN: Dropping unused function argument rootElement [.tmp/concat/scripts/vendor.js:6065,61]
WARN: Dropping unused function argument node [.tmp/concat/scripts/vendor.js:6065,55]
WARN: Dropping unused function argument scope [.tmp/concat/scripts/vendor.js:6065,48]
WARN: Dropping unused function argument nodesetLinkingFn [.tmp/concat/scripts/vendor.js:6065,30]
WARN: Dropping unused function argument cause [.tmp/concat/scripts/vendor.js:6222,36]
WARN: Dropping unused function argument exception [.tmp/concat/scripts/vendor.js:6222,25]
WARN: Dropping unused function argument names [.tmp/concat/scripts/vendor.js:7063,36]
WARN: Dropping unused function argument name [.tmp/concat/scripts/vendor.js:7073,44]
WARN: Dropping unused variable ChildScope [.tmp/concat/scripts/vendor.js:10267,16]
WARN: Dropping unused function argument args [.tmp/concat/scripts/vendor.js:10624,33]
WARN: Dropping unused function argument args [.tmp/concat/scripts/vendor.js:10662,38]
WARN: Dropping unused function argument html [.tmp/concat/scripts/vendor.js:10980,51]
WARN: Dropping unused function argument base [.tmp/concat/scripts/vendor.js:11990,27]
WARN: Dropping unused function argument data [.tmp/concat/scripts/vendor.js:14043,47]
WARN: Dropping unused variable i [.tmp/concat/scripts/vendor.js:15396,30]
WARN: Dropping unused function argument value [.tmp/concat/scripts/vendor.js:15315,45]
WARN: Dropping side-effect-free statement [null:1,0]
[TypeError: Cannot read property 'argnames' of undefined]
[TypeError: Cannot read property 'argnames' of undefined]
>> Uglifying source ".tmp/concat/scripts/vendor.js,.tmp/concat/scripts/scripts.js" failed.
Warning: Uglification failed.
Cannot read property 'argnames' of undefined.
 Use --force to continue.

Aborted due to warnings.


Execution Time (2014-10-12 01:13:48 UTC)
concurrent:dist     4s  ▇▇▇▇▇▇▇▇▇ 7%
ngmin:dist       37.4s  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 62%
copy:dist        12.6s  ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 21%
less:dev          1.3s  ▇▇▇ 2%
less:dist        913ms  ▇▇ 2%
uglify:dist       3.1s  ▇▇▇▇▇▇▇ 5%
Total 60.3s

what do?

Add gist title

It'd be good to have a way to get the title on hover.

Deleting Code when Auth Github

Just got screwed when I tried to auth with Github after writing code. The auth resets all of the code on your screen to the default.

WebSocket connection to 'ws://192.168.178.36:9000/ws' failed: Connection closed before receiving a handshake response

Every time I try grunt serve, i get the following message in the inspect element:

WebSocket connection to 'ws://192.168.178.36:9000/ws' failed: Connection closed before receiving a handshake response reconnecting-websocket.js:96
!! Socket Server Disconnected angular.js:9509
Failed to load resource: net::ERR_CONNECTION_REFUSED http://192.168.178.36:9000/bower_components/ace-builds/src-min-noconflict/theme-tomorrow_night.js
Failed to load resource: net::ERR_CONNECTION_REFUSED http://192.168.178.36:9000/bower_components/ace-builds/src-min-noconflict/mode-html.js
Failed to load resource: net::ERR_CONNECTION_REFUSED http://192.168.178.36:9000/styles/main.css
Failed to load resource: net::ERR_CONNECTION_REFUSED http://192.168.178.36:9000/bower_components/intro.js/introj

Do you have any idea how it can be fixed?
Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.