WebNCL is a NCL (Nested Context Language) presentation machine developed on top of Web technologies stack (HTML5/JavaScript/CSS). It allows the execution of NCL Documents in any device which has a HTML5-compatible browser, such as PC, Tablets, Smartphones and Smart TVs.
You can download a pre-compiled version of the WebNCL code here.
- For WebNCL's demos visit: http://webncl.org
- For more information about the NCL language visit: http://www.ncl.org.br
- popcorn.js > 1.1.2
- jquery > 1.7.1
- lua.js (optional)
- amq.js and amd_jquery_adapter (optional)
To build the minified version of the code, you will need the closure compiler and a java-vm.
After you get the closure, just do (Linux/Mac):
$ make CLOSURE_COMPILER=/path/to/closure/compiler.jar
To embed the NCL document into a web-page, see the sample.html, sample-dev.html or sample-min.html. To use the virtual remove control, see the sample-control.html.
See the WebNCL API page for more details.
Because of the Same Origin Policy present in many modern browsers, it may be necessary to have a local web-server to execute NCL documents locally.
Any web server will work; for instance, you can run Python's built-in server:
$ python -m SimpleHTTPServer 8888 &
Once the server is running, go to http://localhost:8888/ and select sample.html (or other samples)
Given that the different browsers can support different audio/video formats, WebNCL implements a alternative media source format mechanism. If your NCL uses a video file named "video1.mp4", the WebNCL will try to use "video1".webm and "video1".ogg if the browser does not support h264 videos. The same goes for audio ('mp3' and 'ogg' formats).
It is a good practice to add a version of audio/video files for each different format if you wish your NCL can be present in all compatible browsers.
Not all the NCL tags are implemented. Also, there is some functionalities that works only for some browsers. For a discussion of compatibility with NCL documents, see the Compatibily Issues page.
To run lua scripts it may necessary to preload images used by the canvas API. Also, some Lua constructions are not fully supported by the WebNCL. For a discussion about running Lua Scripts and NCLua API. see the Lua Compatibily page.
- Support for player property and other player selection mechanisms
- Added textual anchors support
- Added spacial anchors support for images
- Temporal anchors now support hh:mm:ss format
- Media synchronization mechanism enhanced
- Contexts now detect natural ends, resumes and pauses
- NCL settings node management enhanced
- Lua API (event, canvas, persistent) fully implemented
- Remove Control now is integrated with the project
- Images now are defined in the CSS for a better integration with dynamic pages
- New examples added
- Several bugs related to media management fixed
For older versions see the changelog page.
You can use the issues to report bugs or to ask questions to the developers.
To develop new players, see the Media Page Interface page.