Nested Context Language (NCL) is an XML-based declarative language to support the development of interactive multimedia presentations. It is part of Ginga, an ISDB-T international standard for Terrestrial Digital TV and ITU-T recommendation for IPTV services.
This page is a curated lists of resources supporting NCL and Ginga.
- Ginga Reference Implementation is the ITU-T reference NCL player mainly developed by TeleMídia Lab/PUC-Rio.
- Ginga.ar is a fork of Ginga-NCL Reference Implementation being developed by the Argentine Community. You can also find the most recent code here.
- GHTV NCL Player by Expertise Solutions.
- WebNCL is a lightweight NCL presentation machine based on the Web technologies stack (HTML5/JavaScript/CSS). By using WebNCL, NCL documents can be presented in any device that has an HTML5 compatible browser, such as tablets, smartphones, smart TVs and PCs.
- pywebncl is a Python wrapper for WebNCL which allows local reprodution of NCL documents.
- NCL4Web is a tool for presenting NCL documents in web browsers. It translates an NCL 3.0 multimedia document into an HTM5 + JavaScript document using a XSLT Stylesheet.
- The NCLua library.
Some developers trying to easy the use of the system as a whole have created Virtual Machines with everything you need already configured. It is the case of:
- Ginga-NCL Virtual Set-top Box is a Linux-based VMWare image with including Ginga-NCL. (It looks outdated!)
- GingaAIO is a virtual machine for execution and authoring of NCL application. Unlike Ginga-NCL Vittual Set-top Box, gingaaio also includes a graphical environment to easy the creation and execution of NCL applications. (It looks outdated!)
- Ginga CDN
- ffginga is a standard compliant free software implementation of the SBTVD middleware (Ginga-NCL and Ginga-J). (It looks outdated!).
- GingaBuild is a shell script program to install and configure a Ginga development environment. (It looks outdated!)
- NCL Composer is an extensible authoring tool to support mixed (textual and visual) authoring of NCL applications.
- NCL Eclipse is an Eclipse plugin aware of NCL syntax and elements relations.
- ISB Designer is an authoring tool with the aim of supporting interactive storyboards. The tool can export NCL documents.
- Cacuriá is an authoring tool suporting the creating of hypervideo-based learning objects, and that can export to NCL.
- NCL/Lua plug-in for Gedit
- NCL/Lua plug-in for Latex
- Berimbau iTV Author was created focused on designers and media professionals, allowing them to create interactive applications without programming knowledge. The tool is free to use (but it is not open-source).
- Celula is an authoring tool developed by INCoD focused on creating interactive content for digital TV.
- CreaTVDigital is a tool aiming at easing the development of interactive Digital TV application by media professionals. It follows a WYSIWYG approach and does not require authors to know NCL or Lua.
- Iris (Cpqd) is a graphical tool that allows for content producer to create interactive multimedia application without the necessity of coding.
- Creative-NCL is a web-based tool that allows for the creation of NCL documents through visual abstractions.
- Guri Project FIXME.
- NEXT is an authoring tool for NCL documents using templates. It is based on plugins, where each plugin provides a different view of the document (spatial, textual and structural) or a facility for creating document parts (connector plugin). NEXT allows the author to choose a template from a template base and fill it, through a set of screens, in order to create an NCL document (available at request).
- STEVE is an authoring tool designed based on commercial tools for creating multimedia presentations. It allows the author to create an NCL document from its temporal view. STEVE allows creating temporal relations among media objects, including interaction relations.
- Ginga Studio FIXME.
- NCL Validator --- Java is a Java-based validator for NCL documents. It is currently integrated into NCL Eclipse and nclvs.
- NCL Validator --- C is a C-based software for incremental validation of NCL documents. Currently, its source code is integrated into NCL Composer.
- nclvs (NCL Validator Service) is an online validation service for NCL documents.
- ncl-inspector is a rule-based critique system to evaluate NCL applications code quality automatically.
- aNaa4Web is an interface built upon the aNaa API.
- Property Editor is an editor for creating temporal properties to be validated in an NCL document and performing the validation.
- LuaTPL enables Lua to be used as a template specification language in a similar way to how PHP, ASP, JSP, etc. are integrated to HTML. In special, the use of Lua as base for template specification in the scope of Ginga-NCL also allows for processing this templates in the client side, since Lua is a standard for developing iDTV applications for Ginga-NCL.
- TAL (Template Authoring Language) is an authoring language for hypermedia document templates.
- XTemplate 3.0 is a language to create composite templates for NCL. The composite templates describe, in a generic way, the behavior of an NCL context.
- EDITEC is an authoring tool for XTemplate 3.0 templates.
- LUAR is a framework for agile development of applications written in NCL/NCLua for Digital TV.
- NCLForms aims at providing NCL developers with a set of graphical interface widgets to easy the integration of forms into Digital TV applications.
- ATHUS.ar FIXME.
- WLL4TV ((Widgets Lua Library for TV) FIXME.
- LuaonTV FIXME.
- NCLuaHTTP is an NCLua module that implements the HTTP 1.0/1.1 protocol.
- NCLuaSOAP is an NCLua module that implements the SOAP 1.1/1.2 protocol.
- aNa (API for NCL authoring) is an API for representing NCL documents through Java classes. Its purpose is to help programmers to create tools that manipulate NCL code.
- aNaa (API for NCL authoring and analysis) is an extension of aNa providing methods for performing document validation.
- NCLuaRSS-Reader is an RSS feed reader for Digital TV.
- JNS (JSON NCL Script) is an alternative syntax to write NCL documents. Instead of XML, JNS uses JSON. Additionally, JNS includes new features aiming at to improve reuse and easy programming. For instance, JNS allows inline declaration of descriptors, rules and regions in the document's body. (If you do not know what is descritor, rule, or region in the context of NCL language, please see the NCL Handbook.
- sNCL (Simple NCL) is a simpler, alternative, syntax to write NCL documents.
- Diet NCL is a tool to remove the syntactic sugar from NCL documents.
- ppt2ncl is a simple tool to convert PPT files into NCL documents.
- ncl2html: NCL Raw Profile application on your browser.
- ncls3d is a lua script to convert an NCL application to its stereoscopic counterpart. The final application is ready to run on stereoscopic 3D displays. It allows both off-line conversion, and on-line (client-side) conversion---through an NCLua media object.
- Lua2NCL is a Lua-based API to create NCL documents.
- NCL Handbook details each NCL element and their attributes.
- Programando em NCL 3.0 (portuguese) is the official user-oriented documentation of NCL. It has a detailed description of the language and a lot of examples.
- Building Interactive Audiovisual Programs Using NCL 3.0 (2nd edition) (portuguese).
- NCL Tooltips provides a summary description and authoring hints for each NCL element and attribute. They provide context-sensitive support for authors and tools.
- NCL Composer User Manual (portuguese).
- NCLua Tutorial (portuguese)
- NCLua shortcourse (portuguese)
- Programming in NCL and NCLua (portuguese) by Prof. Luiz Fernando Gomes Soares.
- NCL Club is a repository of complete NCL applications.
- Digital TV Applications by Brazilian Communication Ministry is a repository of t-government interactive applications.
- Ginga.ar Application Examples
- GingaAPPS
- Remote Lab - UFSC
- Conheça o Brasil 4D
- Aplicativo Interativo Aprendiz (Rede Record)
- Aplicativo Interativo Ídolos (Rede Record)
- Projeto Trapézio (USP)
- Vídeo: interatividade (Ginga) na Copa do Mundo
- Plataforma de TV Digital CERTI
- Aplicativo Interativo Ginga: Caixa Econômica
- Ciência Sem Limites - TV Digital Interativa (12/05/2014)
- Programa ao Cubo
- TocantinsFight is a Ginga-NCL Appication for Tocantins Mixed Martial Art in Local TV.
- GingaChatTV
- EnqueteTVD is a quiz application digital TV supporting the return channel.
- TVDQuiz Aplicação de Quiz para o Sistema Brasileiro de TV Digital (SBTVD/ISDB-TB).
- Teclado Virtual (Virtual Keyboard)
- Ginga-Pizza
- Ginga Hero
- TodosContraDengue
- JogoDaVelha
- GingaBemTeVi
- Ginga Unisinos
- Flappy Ginga
NCL is part of the specification of Ginga middleware, the standard for terrestrial digital TV in most part of Latin America.
Here, you can find the link for some of the communities in different countries working with Ginga and NCL:
A non-extensive list of news about Ginga and NCL.
- Para Intel, TV Digital é uma porta brasileira para a IoT (23/07/2016)
- Intel: Brasil precisa articular o uso do Ginga como padrão global de interatividade (14/07/2016)
- Projeto dá acesso a serviços do governo pela televisão e ganha prêmio (28/08/2014)
- Emissoras de TV com sinal digital estudam implantar serviços do Detran (05/07/2014)
- Totvs e Panasonic anunciam solução para TV interativa em empresas (30/06/2014)
- Totvs e Panasonic: canais de TV internos (30/06/2014)
- Ginga será obrigatório nos conversores de TV Digital para Bolsa Família (10/07/2014)
- O que é o Ginga? (09/04/2012)
- No feriado, população pode acessar serviços do Detran pela TV
- Infográfico: Como funciona o Ginga
- TV Digital e desenvolvimento: padrões, tecnologias e oportunidades (26/11/2012)
- Ginga: A TV Digital com interatividade (09/06/2012)