======NCL Resources====== [[http://www.ncl.org.br|Nested Context Language (NCL)]] is an XML-based declarative language to support the development of interactive multimedia presentations. It is an [[http://en.wikipedia.org/wiki/SBTVD|ISDB-T International]] standard for Terrestrial Digital TV, and an [[http://www.itu.int/rec/T-REC-H.761|ITU-T recommendation for IPTV services]]. This page lists a number of resources supporting NCL. ===== Applications, Players and Plugins for NCL Viewing ===== Open Source Players: * [[http://github.com/telemidia/ginga|Ginga-NCL Reference Implementation]] is the ITU-T reference NCL player mainly developed by [[http://www.telemidia.puc-rio.br|TeleMidia Lab/PUC-Rio]]. * [[http://tvd.lifia.info.unlp.edu.ar/ginga.ar/index.php/download|Ginga.ar]] is a fork of Ginga-NCL Reference Implementation being developed by the Argentine Community. * [[https://github.com/expertisesolutions/ghtv-ncl-player| GHTV NCL Player]] by [[http://www.expertisesolutions.com.br/|Expertise Solutions]]. * [[https://github.com/lince/webncl.git|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. * [[https://github.com/caioviel/pywebncl|pywebncl]] is a Python wrapper for WebNCL which allows local reprodution of NCL documents. * [[http://www.midiacom.uff.br/~caleb/ncl4web|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. * [[https://github.com/gflima/nclua|NCLua]] library. Commercial players: * [[http://www.linkedin.com/company/mopa-embedded-systems|Mopa Embedded Systems]] * [[https://www.astrodevnet.com.br/AstroDevNet/home.html | AstroDevNet]] 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: * [[http://www.gingancl.org.br/sites/gingancl.org.br/files/ferramentas/ubuntu-server10.10-ginga-v.0.12.4-i386.zip|Ginga-NCL Virtual Set-top Box]] is a Linux-based VMWare image with including Ginga-NCL. (It looks outdated!) * [[http://www.telemidia.puc-rio.br/~edcaraujo/gingaaio|GingaAIO]] FIXME 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. Others: * [[http://gingacdn.lavid.ufpb.br|Ginga CDN]] * [[http://code.google.com/p/ffginga|ffginga]] is a standard compliant free software implementation of the SBTVD middleware (Ginga-NCL and Ginga-J). (It looks outdated!). * [[http://code.google.com/p/gingabuild|GingaBuild]] is a shell script program to install and configure a a Ginga development environment. (It looks outdated) ===== Authoring Support ===== ==== Authoring tools ==== * [[http://composer.telemidia.puc-rio.br|NCL Composer]] is an extensible authoring tool to support mixed (textual and visual) authoring of NCL applications. * [[http://www.telemidia.puc-rio.br/~roberto/ncleclipse|NCL Eclipse]] is an Eclipse plugin aware of NCL syntax and elements relations. * [[http://www.telemidia.puc-rio.br/~edcaraujo/isbdesigner/|ISB Designer]] is an authoring tool with the aim of supporting interactive storyboards. The tool can export NCL documents. * [[http://www.telemidia.puc-rio.br/tools/cacuria.html|Cacuriá]] is an authoring tool suporting the creating of hypervideo-based learning objects, and that can export to NCL. * [[http://wiki.ginga.org.ar/doku.php?id=herramientas:plugin_gedit|NCL/Lua plug-in for Gedit]] * [[http://wiki.ginga.org.ar/doku.php?id=herramientas:plugin_latex|NCL/Lua plug-in for Latex]] * [[http://www.batuque.tv/|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). * [[http://www.youtube.com/watch?v=nRQUDaKiIsk|Celula]] Authoring tool developed by INCoD focused on creating interactive content for digital TV. * [[http://code.google.com/p/creatvdigital|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. * [[http://www.cpqd.com.br/component/content/article/346-resultados-disponiveis/6150-ferramenta-de-autoria.html|Iris (Cpqd)]] is a graphical tool that allows for content producer to create interactive multimedia application without the necessity of coding. * [[http://laws.deinf.ufma.br/creative-ncl|Creative-NCL]] is a web-based tool that allows for the creation of NCL documents through visual abstractions. * [[http://guri.upf.br|Guri Project]] FIXME * [[http://www2.ic.uff.br/PosGraduacao/Dissertacoes/553.pdf|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). * [[http://www.midiacom.uff.br|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. * [[http://repositorio.espe.edu.ec/handle/21000/13468 | Ginga Studio]] FIXME. ==== Validation tools ==== * [[http://github.com/ncleclipse/ncl30-validator/|NCL Validator - Java version]] is a Java-based validator for NCL documents. It is currently integrated into [[http://laws.deinf.ufma.br/ncleclipse|NCL Eclipse]] and [[http://validator.ncl.org.br|nclvs]]. * [[http://sourceforge.net/projects/ncl-validator/|NCL Validator - C version]] is a C-based software for incremental validation of NCL documents. Currently, its source code is integrated into [[http://composer.telemidia.puc-rio.br|NCL Composer]]. * [[http://validator.ncl.org.br|nclvs (NCL Validator Service)]] is an online validation service for NCL documents. * [[http://code.google.com/p/ncl-inspector|ncl-inspector]] is a rule-based critique system to evaluate NCL applications code quality automatically. * [[http://www.midiacom.uff.br/~joel/anaa4web|aNaa4Web]]: Interface built upon the aNaa API. * [[http://www.midiacom.uff.br|Property Editor]]: An editor for creating temporal properties to be validated in an NCL document and performing the validation. ==== Template-based authoring ==== * [[https://github.com/robertogerson/luatpl|LuaTPL]] enables [[http://lua.org|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. * [[http://www.telemidia.puc-rio.br/?q=en/tal|TAL (Template Authoring Language)]] is an authoring language for hypermedia document templates. * [[http://joel.dossantos.cc/XTemplate.html|XTemplate]]: 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. * [[http://www.midiacom.uff.br|EDITEC]]: An authoring tool for XTemplate 3.0 templates. * [[http://www.natalnet.br/luar|LUAR]] is a framework for agile development of applications written in NCL/NCLua for Digital TV. * [[http://www.midiacom.uff.br/midiacom/index.php/pt-BR/downloads/ferramentas/149-nclforms|NCLForms]]: NCLForms aims at to provide NCL developers with a set of graphical interface widgets to easy the integration of forms into Digital TV applications. ==== Libraries and Frameworks ==== * [[http://www.pladema.net/tvdigital/?page_id=6|ATHUS.ar]]: FIXME * [[http://www.pladema.net/tvdigital/?page_id=6|WLL4TV (Widgets Lua Library for TV)]]: FIXME * [[http://luaforge.net/projects/luaontv|LuaOnTV]]: FIXME * [[https://github.com/manoelcampos/NCLuaHTTP|NCLuaHTTP]]: NCLua module that implements the HTTP 1.0/1.1 protocol. * [[https://github.com/manoelcampos/NCLuaSOAP|NCLuaSOAP]]: NCLua module that implements the SOAP 1.1/1.2 protocol. * [[https://github.com/joeldossantos/aNa|aNa]] (API for NCL authoring): API for representing NCL documents through Java classes. Its purpose is to help programmers creating tools that manipulate NCL code. * [[http://www.midiacom.uff.br/~joel/anaa4web/|aNaa]] (API for NCL authoring and analysis): An extension of aNa providing methods for performing document validation. * [[https://github.com/manoelcampos/NCLuaRSS-Reader|NCLuaRSS-Reader]]: RSS feed reader for Digital TV. ===== Alternative syntaxes ===== * [[http://www.midiacom.uff.br/~caleb/documentacaoJNS/|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 [[http://handbook.ncl.org.br|NCL Handbook]]). * [[http://github.com/telemidia-ma/sncl|sNCL (Simple NCL)]]: is a simpler, alternative, syntax to write NCL documents. ===== Conversion Tools ===== * [[https://github.com/gflima/dietncl|Diet NCL]]: A tool to remove the syntactic sugar from NCL documents. * [[https://github.com/robertogerson/ppt2ncl|ppt2ncl]]: is a simple tool to convert PPT files into Nested Context Language (NCL) documents. * [[https://github.com/flavioribeiro/ncl2html|ncl2html]]: NCL Raw Profile application on your browser. * [[https://github.com/robertogerson/nclsc|NCL Stereo Converter]]: is a lua script to convert an NCL application to its stereoscopic counterpart. The final application is ready to be shown on stereoscopic 3D displays. It allows both off-line conversion, and on-line (client-side) conversion---through an NCLua media object. * [[https://github.com/danielsm/Lua2NCL|Lua2NCL]]: an Lua-based API to create NCL documents. ===== Books and Tutorials ===== NCL only: * [[http://handbook.ncl.org.br|NCL Handbook]] describes each NCL element and their attributes. * [[http://www.ncl.org.br/programandoncl|Programando em NCL 3.0]] (portuguese) is the main user-oriented documentation of NCL. It has a detailed description of the language and a lot of examples. * [[http://www.telemidia.puc-rio.br/sites/telemidia.puc-rio.br/files/TutorialNCL3.0-2ed-3rev.pdf | Building Interactive Audiovisual Programs Using NCL 3.0 - 2nd edition (portuguese)]] * [[http://www.telemidia.puc-rio.br/~roberto/ncl-tooltips|NCL Tooltips]]: provides a summary description and authoring hints for each NCL element and attribute. They provide context-sensitive support for authors and tools. * [[http://ncl-composer-manual.readthedocs.io | NCL Composer User Manual (portuguese)]] NCLua integration: * [[http://www.telemidia.puc-rio.br/~francisco/nclua/tutorial/index.html|NCLua Tutorial]] (portuguese) * [[http://www.telemidia.puc-rio.br/files/biblio/2009_10_santanna.pdf|NCLua Course]] (portuguese) Courses material: * [[http://www.telemidia.puc-rio.br/~lfgs/doku.php?id=extensao:programandoncl|Programming in NCL and NCLua]] (portuguese) by Prof. Luiz Fernando Gomes Soares ===== Application Examples ===== Repositories: * [[http://club.ncl.org.br|NCL Club]] is a repository of complete NCL applications. * [[http://gingabr.comunicacoes.gov.br/|Digital TV Applications by Brazilian Communication Ministry]] is a repository of t-government interactive applications. * [[Ginga.ar Application Examples|http://tvd.lifia.info.unlp.edu.ar/ginga.ar/index.php/apps-menu]] * [[https://github.com/rmcs87/GingaAPPS|GingaAPPS]] Test suites: * [[http://testsuite.gingancl.org.br/|ITU-T - Ginga-NCL Test Suite]] * [[http://tvd.lifia.info.unlp.edu.ar/ginga.ar/index.php/testsuite-menu | Ginga.ar Test Suite]] Other applications: * [[https://github.com/luizcarvalho/TocantinsFight|TocantinsFight]]: Ginga Appication for Tocantins Mixed Martial Art in Local TV. * [[https://github.com/luismeloni/GingaChatTV|GingaChatTV]] * [[https://github.com/manoelcampos/EnqueteTVD|EnqueteTVD]]: Aplicação de enquete para o Sistema Brasileiro de TV Digital (SBTVD/ISDB-TB) com acesso ao canal de retorno. * [[https://github.com/manoelcampos/TVDQuiz|TVDQuiz]]: Aplicação de Quiz para o Sistema Brasileiro de TV Digital (SBTVD/ISDB-TB). * [[http://code.google.com/p/tecladovirtualgingancl/|Teclado Virtual (Virtual Keyboard)]] * [[http://code.google.com/p/ginga-pizza/|Ginga-Pizza]] * [[https://github.com/rmcs87/GingaHero|Ginga Hero]] * [[https://github.com/carvalhorafael/TodosContraDengue|TodosContraDengue]] * [[https://github.com/carvalhorafael/JogoDaVelha|JogoDaVelha]] * [[http://sourceforge.net/projects/gingabemtevi/|GingaBemTeVi]] * [[http://sourceforge.net/projects/ginga-unisinos|Ginga Unisinos]] * [[https://www.youtube.com/watch?v=KzZ6Rd6c6mg&list=UUyVuQq2Iyr5e8ecocaGq-OQ|Flappy Ginga]] ===== Showcases ===== ==== Remote Lab - UFSC ==== ==== Conheça o Brasil 4D - 12/05/14 ==== ==== Aplicativo Interativo Aprendiz (Rede Record) ==== http://www.youtube.com/watch?v=NpzFlAHdXR8&feature=fvst ==== Aplicativo Interativo Ídolos (Rede Record) ==== ==== Projeto Trapezio (USP) ==== ==== Minuto Digital - Ginga - 04/12/2013 ==== ==== Vídeo: interatividade (Ginga) na Copa do Mundo ==== ==== Plataforma de TV Digital CERTI ==== ==== Aplicativo Interativo Ginga: Caixa Econômica ==== ==== Ciência Sem Limites - 12/05/2014 - TV Digital Interativa ==== ==== Programa ao Cubo ====
===== Ginga Communities ===== 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: * [[http://www.softwarepublico.gov.br/ver-comunidade?community_id=1101545|Ginga Brasil]] * [[http://comunidad.ginga.org.ar/|Ginga Argentina]] * [[http://www.gingaperu.org/comunidad/|Ginga Peru]] * [[http://www.ginga.org.ec/gingaec/index.php|Ginga Equador]] * [[http://ginga.softwarelibre.org.bo/|Ginga Bolivia]] * [[http://www.comunidadginga.cl/|Ginga Chile]] ===== News ===== * [[https://www.youtube.com/watch?v=orCPmSNRQqA | Para Intel, TV Digital é uma porta brasileira para a IoT ]] (23/07/2016) * [[https://www.youtube.com/watch?v=wmJyjcRabDo | Intel: Brasil precisa articular o uso do Ginga como padrão global de interatividade ]] (14/07/2016) * [[http://www.opovo.com.br/app/maisnoticias/brasil/2014/08/28/noticiasbrasil,3305265/projeto-da-acesso-a-servicos-do-governo-pela-televisao-e-ganha-premio.shtml |Projeto dá acesso a serviços do governo pela televisão e ganha prêmio ]] (28/08/2014) * [[http://www.portaliguacu.com.br/web-e-tecnologia/emissoras-de-tv-com-sinal-digital-estudam-implantar-servicos-do-detran-1788|Emissoras de TV com sinal digital estudam implantar serviços do Detran]] (05/07/2014) * [[http://computerworld.com.br/tecnologia/2014/06/30/totvs-e-panasonic-anunciam-solucao-para-tv-interativa-em-empresas/|Totvs e Panasonic anunciam solução para TV interativa em empresas]] (30/06/2014) * [[http://www.baguete.com.br/noticias/30/06/2014/totvs-e-panasonic-canais-de-tv-internos|Totvs e Panasonic: canais de TV internos]] (30/06/2014) * [[http://convergenciadigital.uol.com.br/cgi/cgilua.exe/sys/start.htm?infoid=37181&sid=7#.U7_yjHKqfqQ|Ginga será obrigatório nos conversores de TV Digital para Bolsa Família]] (10/07/2014) * [[http://tecnologia.ig.com.br/especial/o-que-e-o-ginga/n1597734545853.html|O que é o Ginga?]] (09/04/2012) * [[http://www.aen.pr.gov.br/modules/noticias/article.php?storyid=79995&tit=No-feriado-populacao-pode-acessar-servicos-do-Detran-pela-TV&ordem=1000|No feriado, população pode acessar serviços do Detran pela TV]] * [[http://tecnologia.ig.com.br/especial/infografico-como-funciona-o-ginga/n1597734566733.html|Infográfico: Como funciona o Ginga]] * [[http://www.infoq.com/br/articles/tvdigital-entrevista|TV Digital e desenvolvimento: padrões, tecnologias e oportunidades]] * [[http://tvfoco.pop.com.br/tv-foco/ginga-a-tv-digital-com-interatividade|Ginga: A TV Digital com interatividade (09/06/2012)]] ===== Other Related Links ===== * [[http://manoelcampos.com/|Manoel Campos' Home Page]] * [[http://www.gingadf.com/blogGinga/|Ginga DF]] * [[http://www.tvdi.inf.br/site/|TVDI]] * [[http://grupogingagoias.com.br/|Grupo Ginga Goias]] * [[http://gingatvdigital.com/|Ginga TV Digital]]