Pontifícia Universidade Católica de Minas Gerais
Albertino Viana da Silva Jr.
Aspectos computacionais da Televisão Digital:
Construíndo uma Aplicação Interativa.
Betim
2011
Albertino Viana da Silva Jr.
Aspectos computacionais da Televisão Digital:
Construíndo uma Aplicação Interativa.
Monografia
apresentada
à
Pontifícia
Universidade Católica como requisito
parcial
para
obtenção
do
título
bacharel em Sistemas de Informação.
Orientador: Claudinei Teixeira Rodrigues
Betim
2011
Albertino Viana da Silva Jr.
de
Aspectos computacionais da Televisão Digital:
Construíndo uma Aplicação Interativa.
Monografia apresentada a diciplina
Sistemas de Informação da Pontifícia
Universidade Católica de Minas Gerais,
avaliada e aprovada pela banca:
__________________________________
Claudinei Teixeira Rodrigues
(Orientador) – PUC Minas
__________________________________
Bernardo Jeunon de Alencar
(Coordenador do curso de Sistemas de Informação)
PUC Minas
__________________________________
Gilberto Barbosa Mota
(Avaliador) – PUC Minas
Betim, 21 de Junho de 2011
RESUMO
O enfoque dado neste trabalho baseia-se na realidade brasileira, onde a televisão
como meio de maior penetração na sociedade, passa atualmente por uma fase de
transição com o advento da sua digitalização. Sendo assim, esta monografia trata
especialmente do estudo de desenvolvimento de aplicativos para o middleware
brasileiro Ginga-NCL1, tomando como ponto de partida uma revisão bibliográfica que
abrange pesquisas em artigos, revistas, sites oficiais na internet e demais
monografias relacionadas. Com isso, será proposto um aplicativo destinado à
implementação de um serviço para o T-GOV, onde o conceito de T-GOV denota o
início do governo eletrônico através do uso da televisão digital 2 para os fins sociais.
Para demonstrar sua utilização, foi criado um cenário baseando-se no programa de
governo: Orçamento Participativo - definindo assim um modelo de apresentação
escrito na linguagem NCL3 e sua linguagem de script LUA4. Esta aplicação foi
testada em um emulador que simula o ambiente do sistema televisivo e mostra como
o telespectador poderia interagir através do controle remoto, podendo este servir de
base para futuros projetos. O resultado final, busca enfatizar a influência da TV
Digital interativa como geradora de novos paradigmas que impactarão de certa
forma nos hábitos de seus espectadores.
1
2
http://www.gingancl.org.br
http://www.dtv.org.br
3
http://www.ncl.org.br
4
http://www.lua.org
Palavras Chave: Digital; Interativa; sociedade;
ABSTRACT
The approach taken in this work is based on the Brazilian reality, where the television
as a means to greater penetration in society, is currently undergoing a transition
phase with
the
advent of
digitalization.
Therefore,
this
monograph
is
monograph is especially the study of development of applications for the Brazilian
middleware Ginga-NCL, taking as its starting point a literature review covering
research articles, magazines, official websites on the Internet and other related
papers. With this, an application will be proposed for the implementation of a
service for the T-GOV, where the concept of T-GOV denotes the beginning of
eletronic government through the use of digital television for social purposes. To
demonstrate its use, a scenario was created based on the government program:
Participatory Budgeting - thus defining a presentation written in the NCL and its
scripting language LUA. This application was tested on an emulator that simulatesthe
environment of the television system and shows how the viewer could interact via
remote control, which may serve as a basis for future projects. The end result, seeks
to emphasize the influence of interactive digital TV as a generator of new paradigms
in a way that will impact the habits of its viewers.
Key words: Digital, Interactive, society;
LISTA DE FIGURAS
Figura 1 - Fases de implementação da TVD. ............................................................ 12
Figura 2 - Modelo de um sistema de televisão digital interativa (MONTEZ, 2005) .... 18
Figura 3 - Set-top-box equipado com uma antena UHF. ........................................... 21
Figura 4 - Participação popular no OP em Belo Horizonte. ....................................... 25
Figura 5 - Emulador Ginga-NCL. ............................................................................... 29
Figura 6 - Conexão via SHH...................................................................................... 30
Figura 7 - Interface da IDE Eclipse utilizando o plug-in NCL. .................................... 31
Figura 8 - Screenshot do software Composer. .......................................................... 32
Figura 9 - Caso de uso 01 ......................................................................................... 36
Figura 10 - Caso de uso 02 ....................................................................................... 36
Figura 11 Caso de uso 03 ........................................................................................ 37
Figura 12 - Caso de uso 04 ....................................................................................... 37
Figura 13 - Caso de uso 05 ....................................................................................... 37
Figura 14 - Caso de uso 06 ....................................................................................... 38
Figura 15 - Botão de interatividade, inicializador da aplicação. ................................. 43
Figura 16 - Tela de apresentação inicial. .................................................................. 43
Figura 17 - Detalhes da obra. .................................................................................... 44
Figura 18 - Validação do telespesctador. .................................................................. 44
LISTA DE TABELAS
Tabela 1 - Comparativo das tecnologias analógia e digital. ...................................... 19
Tabela 2 - Características da TV convencional e digital. ........................................... 22
Tabela 3 - Funções do controle remoto .................................................................... 27
LISTA DE SIGLAS
ABNT
- Associação Brasileira De Normas Técnicas
BBC
- British Broadcasting Corporation
E-GOV - Governo Eletrônico
IBGE
- Instituto Brasileiro de Geografia e Estatística
IDE
- Integrated Development Environment
NCL
- Nested Context Language
PUC
- Pontifícia Universidade Católica
OP
- Orçamento Participativo
SBTVD - Sistema Brasileiro de Televisão Digital
TCP
- Transmission Control Protocol
T-GOV - Governo Televisivo
TRE
- Tribunal Regional Eleitoral
TV
- Televisão
TVD
- Televisão Digital
TVDI
- Televisão Digital Interativa
UML
- Unified Modeling Language
SUMÁRIO
1. INTRODUÇÃO
1.1. Justificativa
1.2. Objetivos
2. A INTERATIVIDADE
3. TV DIGITAL INTERATIVA
3.1. O receptor de dados: Set-top box
3.2. O Advento De Novos Paradigmas
4. T-GOVERNO: Uma nova oportunidade
4.1.
Orçamento Participativo: Você sabe o que é?
5. AMBIENTE DE DESENVOLVIMENTO
5.1. O Middleware GINGA
5.2. A linguagem NCL
5.3. A linguagem Lua
5.4. Emulador Ginga-NCL
5.5. IDE Eclipse Galileo
5.6. Ferramenta Composer
6. A APLICAÇÃO
6.1. Um Foco na usabilidade
6.2. Público Alvo
6.3. O aplicativo: InteractOP
6.3.1. Descrição do sistema
6.3.2. Requisitos e Atividades
6.3.3. Diagramas de Casos de Uso UML
7. CONSIDERAÇOES FINAIS
7.1. Implementações Futuras
10
12
14
15
17
20
21
23
24
26
26
27
28
29
30
31
33
33
34
34
34
35
36
39
40
REFERÊNCIAS BIBLIOGRÁFICAS
41
ANEXO 1: Interfaces do Sistema
ANEXO 2: Códigos fonte NCL do InteractOP
43
45
10
1.
INTRODUÇÃO
Sabemos que a informacão se propaga através de vários meios e nas
diversas formas, consequentemente surge com isso não só novas possibilidades e
oportunidades, como também desafios e idéias inovadoras.
A televisão digital é uma tecnologia mundialmente em ascensão,
que
propociona uma melhora significativa da qualidade audiovisual. Devido a sua nova
caracteristica( capacidade de processamento de dados nos receptores) torna-se
possível a difusão de textos, planilhas e até mesmo execução de programas de
computador. Outra vantagem excepcional a ser explorada é a possibilidade da
interatividade entre espectador e a informação recebida.
No Brasil o problema de acesso à informação de qualidade ainda não foi
solucionado, sendo que apenas uma pequena parcela da população tem acesso a
ela. Nesse sentido, o governo vem buscando iniciativas que objetivem alcançar
regiões remotas e integrar toda população nacional aos serviços de cultura lazer,
saúde e programas educacionais.
O governo brasileiro, reconhecendo o potencal da Internet como meio de
maior capacidade de fornecer informação, já vem a algum tempo disponibilizando de
forma eletrônica um conjunto de serviços públicos. Esta gama de serviços é
chamado de e-gov.
Contudo,
contrapondo
o
número
de
televisores,
a
presença
dos
computadores nos lares brasileiros é menos de um para cada dez famílias.
Em palestra na FUTURECOM5, o presidente da Telebrás - Rogério Santanna,
explanou que a meta do governo com o Plano Nacional de Banda Larga 6, é levar
internet rápida e de baixo custo a 84% da população brasileira até 2014. Apesar de
todos os esforços no sentido de usar a Internet como ferramenta geradora de
conhecimento,
hoje em dia somente 21% da população têm contato com essa
tecnologia, num país de 190.732.694 milhões de habitantes7.
O desafio então é juntar a conectividade e interação da internet com o
alcance do aparelho de televisão. Dentro desse contexto, foi implementada no nível
de demostração, uma aplicação para o processo de voto no orçamento participativo,
5
São Paulo, 28 de outrbro de 2010
http://www.mc.gov.br/plano-nacional-para-banda-larga
7
Dados do IBGE.
6
11
em que o telespectador através da televisão, participará da escolha das obras a
serem realalizadas.
12
1.2. Justificativa
Um dos fatores que motivaram este trabalho foi o estudo das linguagens e
programas disponíveis para o desenvolvimento de sistemas voltados para a
plataforma televisiva. Juntamente com o desejo de apreendizado de novas
tecnologias, outro fator motivacional é o atual rumo de implantação dos projetos
gorvernamentais para a consolidação do sistema brasileiro de TV Digital.
Observando-se o cronograma de implantação (figura 1), o Brasil vive um
clima de transição, vivenciando a primeira onda de impacto decorrente da transição
da TV analógica para TV Digital.
As ondas de impacto descritas por (MONTEZ, 2005) caracterizam etapas já
experimentadas por outros países em tal processo de transição, em que pelas quais
o Brasil ainda deve passar. O governo espera que até 2016, a TVD substitua por
completo a analógica(Swtch-Off), sendo o primeiro país da América Latina a fazer
esta transição.
Figura 1 - Fases de implementação da TVD (FONTE: ANATEL).
A idéia do governo brasileiro é de que a televisão sirva como instrumento de
inclusão digital e consequentemente social, e a curto prazo os serviços interativos
são os que deverão revolucionar a maneira como nos comunicamos, já que a
13
presença da TV nos lares e relativamente maior em
relação ao número de
computadores.
Como observado no Caderno de metodologia e diretrizes do OP
8
de 2011,
após 17 anos desde o início do sistema de decisão do orçamento participativo na
cidade de Belo Horizonte, apenas 700 mil pessoas participaram do processo de
escolha das obras, número bem pequeno em relação a uma população de 2.375.444
milhões9. Isso nos leva a concluir que a radiodifusão certamente seria o meio mais
democrático para tal processo.
O Brasil ainda está somente engatinhando em direção à TV digital, focando
principalmente na infra-estrutura de implantação do hardware necessário. Assim,
pouco se fala sobre as aplicações que estarão disponíveis nesta plataforma.
A TVD já é realidade no dia-a-dia dos grandes centros e suas possibilidades
de entreternimento e aprendizado alimentam um novo mercado ainda carente de
desenvolvedores voltados para esta tecnologia.
8
Disponível em: http://portalpbh.pbh.gov.br/pbh/ecp/files.do?evento=download&urlArqPlc=
caderno_metodologia_diretrizes_op_2011_2012.pdf
9
Dados do IBGE.
14
1.2. Objetivos
Tem-se como alvo deste trabalho o estudo da linguagem NCL, apresentando
o conceito de middleware para TV digital e tendo como objetivo principal o
desenvolvimento do InteractOP, um sistema de votação que utilizará o canal de
interação televisivo10, focado no plebiscito do orçamento participativo realizado na
cidade de Belo Horizonte. Visando ampliar a mobilização e a participação da
sociedade neste serviço.
Espera-se também que este venha a servir de base para futuros discursos,
que por sua vez, possam gerar novos serviços sociais a serem oferecidos pela
televisão digital interativa no Brasil.
10
Possibilita o tráfego de informações entre o telespectador e a emissora.
15
2.
A INTERATIVIDADE
“O telespectador passa a ter um canal para se comunicar com a emissora,
tirando-o da inércia a qual está submetido (...). O grau dessa interatividade
vai depender dos serviçoso oferecidos e, principalmente, da velocidade do
canal de retorno”
(MONTEZ e BECKER, 2004, p.13)
Durante o estudo surgiu a seguinte questão: Interação seria o mesmo que
interatividade? Não exatamente. A definição de interatividade é bem mais recente do
que o conceito de interação, o termo interatividade surgiu no contexto das novas
Tecnologias de Informação e Comunicação digital(TIC).
Para Lemos (LEMOS, 2000), interatividade é um caso específico de
interação, a interatividade digital, compreendida como um tipo de relação tecnosocial, ou seja, como um diálogo entre homem e máquina, através de interfaces
gráficas e em tempo real. Ainda nesta linha de raciocínio Montez e Becker (2004)
definem a interatividade pela TVD como toda ação que possa ser considera mútua e
simuntânea, envolvendo dois ou mais participantes que pretendem chegar a um
objetivo comum.
Tecnicamente, a interatividade se caracteriza pela ação do usuário através
do controle remoto e apartir disso gerar um evento de retorno ao sistema da TV
digital. Dessa forma, pode surgir a representação de um botão na tela da TV
informando que existe uma interatividade disponível naquele momento e ao se
precionar no controle remoto o botão correspondente, o receptor digital intercepta a
ação e responde ao telespectador, iniciando a interatividade. Caso este botão tenha
surgido sozinho na tela, ou seja, de modo previamente determinado por
programação do aplicativo(linha de código) em sicronismo com outro evento, isso
não se carecteriza como interatividade, pois não existiu ação do usuário.
Antes mesmo da televisão ser digital já existiam diversas iniciativas para que
o telespectador participasse da programação assistida. Bons exemplos seriam os
reality shows, onde a audiência decide quem fica ou sai do programa através de
votações via telefone, outro exemplo seria também o programa “Você Decide”
11,
que dentre dois finais distintos podia-se também, via telefone, escolher qual seria o
encerramento da trama que se passava. Este é um tipo de interação indireta, pois
11
Emitido pela Rede Globo entre os anos de 1992 e 2000.
16
necessita de um terceiro meio de comunicação para que a resposta chegue à
emissora.
Utilizando-se dos aplicativos interativos, que são softwares por meio dos
quais se permite ao espectador apenas manuseando do controle remoto enviar e
receber dados pela televisão, a interatividade pela TV conectada à internet deverá
também sustentar atividades como: T-Commerce (nome para o comércio eletrônico),
serviços bancários, correio eletrônico e bate-papo. Surgindo com isto uma nova e
boa maneira de encurtar distâncias.
17
3.
TV DIGITAL INTERATIVA
A televisão digital nada mais é do que a evolução do principal meio de
comunicação em massa do país, ela surge com o propósito de tentar democratizar
esse processo informativo, promovendo a cidadânia e a inclusão digital da
população. Para Becker (BECKER, 2005), a exclusão digital é causada por outra
razão muito conhecida pelo brasileiro: o aumento da exclusão social.
A interatividade adicionada aos programas de TV e a principal promessa
trazida pela TV Digital. Mas esta só é possível em sua totalidade mediante a
existência de um canal de retorno.
Porém, após quase quatro anos decorrida a primeira transmissão digital12 no
país, só agora esta promessa começa de fato a ser implementada. Devido a
diversidade das soluções disponíveis (Linha Discada, DSL, Cabo, Fibra Ótica, Rede
Elétrica, Wi-Fi, Satélite, GSM, entre outras) para a implementação de um canal de
interatividade, torna-se pouco provável que seja adotado um padrão de transmição
universal. Visto isso, pontos como cobertura de grandes áreas geográficas,
utilização da infraestrutura já existente, mobilidade e baixo custo de implementação
devem ser levados em consideração para a escolha de uma solução viável para o
canal de retorno.
Pessoalmente, a melhor definição encontrada para o termo televisão
interativa, foi a dada por Mark Gawlinski da BBC (GAWLINSKI, 2003) em seu livro,
onde “Televisão interativa pode ser defina como qualquer coisa que torne possível
aos telespectadores dialogarem com as pessoas que fazem um canal de televião,
programa ou serviço. Um diálogo que leva os telespectadores para além da
experiência passiva de assistir e os permita fazer escolhas ou tomar ações – mesmo
que as ações sejam tão simples como preencher um cartão postal e enviá-lo pelo,
ou desenhar uma imagem na tela da televisão.”
Observa-se atualmente que a interação disponível nos programas de TV
aberta não passa de menus para detalhes a respeito do que se é exibido naquele
instante ou no máximo o cronograma dos programas da sequência. O sinal
12
Na cidade de São Paulo, em 2 de dezembro de 2007 às 21h20.
18
responsável para tal funcionalidade se propaga pelo ar nas ondas de rádiofrequência, não precisando assim o aparellho estar conectado à internet.
Independentemente da existência do canal de retorno, para que seja
fornecida a interação do usuário é necessário o armazenamento e processamento
local das informações. Entretando, objetivando fechar o ciclo de interação, esta
conexão seria imprescindível para também realizar o nosso envio de dados à
emissora como resposta a algum evento.
Um sistema de TVD interativa é dividido em 3 partes principais, no qual é
resumidamente ilustrado pela Figura 2.
Figura 2 - Modelo de um sistema de televisão digital interativa (MONTEZ, 2005)
A descrição de cada uma deles é feita por Carlos Montez (MONTEZ, 2005),
onde “(i) o difusor, responsável por prover o conteúdo a ser transmitido e dar
suporte as interações dos telespectadores; (ii) o receptor, que recebe o conteúdo e
oferece a possibilidade de o telespectador reagir ou interagir com o sistema; e (iii)
um meio de difusão, que permita que o difusor e o receptor possam se comunicar”.
Logo em seguida (Tabela 1) podemos visualizar um comparativo simplista
entre dois tipos básicos de televisores e seus sistemas de recepção.
19
Analógica
Digital
Definição Horizontal13
525 linhas
1080 linhas
Proporção da tela14
4:3
16:9
Tipo do conteúdo
Passivo
Interativo
Programas
1 por emissora
6 por emissora
simuntâneamente
Meios de acesso
TV
(antena, cabo ou satélite)
Celular, Computador, TV
(antena, cabo ou satélite)
Som
Mono ou Estéreo, com 2 canais
Doblby Digital, com 6 canais
Sinal
Imagem
Ambos os sinais enfraquecem com a distância
Imagem Ruim caso o sinal fique
fraco.
Enquanto houver sinal a
imagem é perfeita
Tabela 1 - Comparativo das tecnologias analógia e digital.
Portanto, a diferença atual entre o sistema analógico e digital, é a execelência
do sinal, incluíndo a mobilidade e portabilidade do acesso, propocionando aumento
na qualidade de vídeo e áudio, multiprogramação(diferentes programas no mesmo
canal) e novas possibilidades de serviços.
Tal como aponta Rodrigues (RODRIGUES, 2006), programas de TV digital
interativa podem ser entendidos como aplicações hipermídia/multimídia. Sistemas
de autoria hipermídia são o suporte para a geração de informação, não se
restringindo apenas à concepção dos conteúdos em si, mas incluindo também a
concepção de como eles devem ser apresentados.
Contudo, como em qualquer outro processo de mudança tecnológica, exitem
obstáculos e dificuldades de implentação. Novas Tecnologias exigem maior
investimento financeiro, e apesar dos incentivos do governo em baratear o custo dos
equipamentos, os altos preços para aquisição destes serão o principal entrave para
a popularização da TVD.
13
Determina a resolução da imagem, onde resoluções mais altas significam mais detalhes na
imagem.
14 Para cada 4 unidades de tamanho na horizontal, exite 3 unidades para a vertical. O mesmo se
aplica na proporção 16 por 9.
20
A preparação das emissoras e desenvolvedores deve caminhar independente
desta polêmica. O importante é estar em condição de atender o mercado antes
questão se defina.
3.1. O receptor de dados: Set-top box
Os tradicionais televisores analógicos – até mesmo aqueles no formato
widescreen15 - fabricados antes do início da TV digital não possuel um receptor
digital interno. Para que o aparelho de televisão convencional consiga receber a
imagem digital é preciso o uso de um equipamento, o conversor de TV Digital, mais
conhecido como Set-Top Box. O conceito de Set-Top box surge juntamente com a
nova plataforma da TVD,
com o propósito de ser a unidade receptora e
decodificadora dos sinais digitais bidirecinados, independentemente da interface de
comunicação.
Entre outras funções realizadas pelo Set-top box, estão a verificação dos
níveis de segurança e direitos de acesso do usuário, itens altamente necessários
nas transações de dados, além é claro de ser este é o principal hardware
responsável pela interatividade da TV, já que realiza o processamento das
instruções em programas interativos.
Os novos televisores, com suporte ao sistema digital, já possuem neles
embutidos este dipositivo, porém esse só é chamado de Set-top box quando estiver
exteno ao televisor. Os atuais conversores digitais, set-top boxes, ainda não contam
com o Middleware Ginga(definido mais adiante), ou seja, ainda não permitem a
plena interatividade com o telespectador.
15
Proporção 16 por 9.
21
Figura 3 - Set-top-box equipado com uma antena UHF.
Hoje, os sistemas que operam o set-top boxes são bem mais simples
comparados aos encontrados em computadores, contudo, seu hardware contém
tecnologias comuns ao mundo da computação, possuindo processador, disco de
armazenagem local para as aplicações, sistema operacional e interfaces de rede.
3.2. O Advento De Novos Paradigmas
Sabemos que a TV pode influencia diretamente o comportamento social do
indivíduo. O ponto a se pensar agora é o novo conceito de telespectador-receptor,
que tende a sofrer uma grande mudança com a chegada da TVD interativa.
Hoje o modo de assistir TV, tal como conhecemos, é o espectador se sentar
no sofá e receber passivamente o conteúdo escolhido pela emissora, tornando o
entreterimento repetitivo e tedioso. Isto muda com o surgimento da interatividade,
pois ocorre com ela uma revolução na forma de como é vista essa massa
telespectadora. O usuário passa a participar ativamente do conteúdo, por isso, a
televisão digital interativa é considerada não só uma revolução tecnológica pelo
melhoramento significativo da qualidade de som e imagem de alta definição, mas
também uma revolução socio-cultural.
Televisão convensional
Televisão Interativa
Expectador passivo
Usuário Ativo
Mono Canal
Multiplos Canais
22
Programação Linear
Programação participativa
Plataforma de comunicação unidirecional
Plataforma de comunicação bidirecional.
Modelo de receita basedo no propaganda Modelo de receita baseado no comécio
Uso principal para o entreterimento
Uso estendido a compras, comunicação,
integração social e educação
O conteúdo é empurrado até a audiência
O conteúdo é puxado pela audiência
Tabela 2 - Características da TV convencional e digital.
23
4.
T-GOVERNO: Uma nova oportunidade
“O governo eletrônico se transformará em obsessão mundial, trazendo algo
que ainda hoje é quase inimaginável: administrações públicas voltadas para
o cidadão, atuando com eficácia e transparência.”
(Luís Nassif)
O fortalecimento da relação de aproximação entre governo e cidadão será
possível pela utilização de uma ferramenta que seja acessível à grande massa. Essa
ferramenta é a TV digital e um de seus serviços será a T-Gov.
Para Montez e Becker (2005), o T-Gov consiste em oferecer serviços
governamentais pela TV, tornando o acesso a eles mais fácil e evitando assim
deslocamentos e redução dos procesos burocráticos.
Segundo Diniz (2009), a ideia de um governo eletrônico, embora esteja
vinculada ao uso de tecnologia de informação no setor público, ultrapassa essa
dimensão. Em outras palavras, o governo eletrônico tem como meta a
transformação das relações do governo com os cidadãos.
Porém, as dificuldades no estreitamento dessas relações ainda são muitas.
No Brasil, menos de uma em cada dez residências possue acesso à Internet. Desse
modo, o E-gov detém um limitado alcance levando em consideração as classes mais
baixas. Por outro lado a televisão é o meio de comunicação com maior penetração
na sociedade, estando presente em 95% dos lares16, contudo a televisão analógica
com é hoje, limita a implementação e utilzação de serviços do governo.
Com o surgimento da TVD interativa, o telespectador passa a fazer parte
diretamente da produção televisiva e com isso o país busca adaptar-se nesse novo
mundo da televisão democrática. Por conta disso, o E-Gov foi adaptado para a
televisão, uma forma bastante viável de atingir grande parte da população, além de
tornar os serviços mais acessíveis e mais fáceis de serem utilizados.
. Resumidamente, o T-governo irá oferecer à sociedade melhores condições
de acesso à informação e aos serviços governamentais, aliando comodidade e
inclusão social.
16
Dados do IBGE, 2010.
24
4.1. Orçamento Participativo: Você sabe o que é?
“Participação é um dos cinco princípios da democracia. Sem ela, não é
possível transformar em realidade, em parte da história humana, nenhum
dos outros princípios: igualdade, liberdade, diversidade e solidariedade”.
(Herbert de Souza)
De acordo com a definição de orçamento participativo dada no Caderno de
Metodologia e Diretrizes17 da Prefeitura de Belo Horizonte, esta é uma política
democrática de governo, onde a sociedade define as prioridades de investimento
dos recursos destinados à execução das obras de infraestrutura e urbanização. A
ONU considera o OP como uma das 40 melhores práticas de gestão pública urbana
no mundo.
“A participação do cidadão qualifica os processos decisórios , tornado-os mais
legítimos e, principalmente, aumenta a eficiência administrativa do próprio estado.” 18
O OP foi criado para possibilitar aos cidadãos escolher o destino dos
investimentos públicos que até então eles desconheciam e participar ativamente na
melhoria da cidade, democratizando assim a gestão e o planejamento público.
Objetivando incluir os cidadãos no processo de tomada de decisão não é feita
nenhuma pré-seleção dos participantes, geralmente a única exigência para votar é a
condição de ser eleitor daquele município.
A cideade de Belo Horizonte iniciou as experiências com essa gestão
orçamentária em 1993 e ao inovar no processo de votação, se tornou pioneira ao
implantar o orçamento participativo Digital em 2006. Disponibilizando um sistema de
escolha via internet, e oferecendo 158 pontos públicos de acesso à rede para
assegurar maior participação das pessoas. Considerado um dos mais importantes
programas da prefeitura, o OP Digital se transformou em modelo para as demais
cidades brasileiras.
17
Ano 2011.
Eleonora Schettini Martins Cunha e Eduardo Moreira da Silva, Op. Cit., p. 17, em
Experiências internacionais de participação
18
25
Figura 4 - Participação popular no OP em Belo Horizonte.
Nessa modalidade digital todos os cidadãos cadastrados no Tribunal Regional
Eleitoral com domicílio eleitoral em Belo Horizonte, podem participar da votação pela
internet ou telefone.
Em Betim, cidade vizinha, faz-se uso das urnas eletrônicas, que foram
espalhas pelas regionais concorrentes ao processo de escolha das obras.
Ainda assim, existe o problema de que nem todas as pessoas possuem
tempo ou diposição suficiente para se deslocar até um desses pontos, e mesmo
alcançando uma parcela relativamente satisfatória, tudo isso gera gastos execivos
que poderão ser evitados com a aplicação de escolha sendo disponibilizada pela TV,
sem contar a comodidade e praticidade que este meio oferece.
Juntando o últil ao agradável, torna-se possível com TVD ultrapassar
fronteiras físicas unindo assim participação popular e inclusão social `a novas
tecnologias.
26
5.
AMBIENTE DE DESENVOLVIMENTO
Ambiente de desenvolvimento é considerado aqui como todo o aparato
técnico empregado na criação da aplicação InteractOP, tanto na codificação como
na visualização. Sendo este ambiente, o conjunto de softwares, ferramentas e as
linguagens de programação utilizadas.
A TV com interatividade será simulada através de uma máquina virtual
da VMware19, contendo o sistema operacional Linux Ubuntu20 Server versão 10, com
o middleware Ginga21 já instalado e configurado, tal máquina é fornecida pelo
laboratório de informatica da PUC do Rio de Janeiro22. Tendo como apoio no
desenvolvimento, as IDEs do Eclipse23 e Composer24 para codificado através das
linguagens NCL e Lua. Estas linguagens serão posteriomente comentadas de modo
bastante simplista e informal, visto a exitência de trabalhos já relacionados, e neste
momento enfatizar um maior detalhamento foge ao escopo deste.
5.1. O Middleware GINGA
Middleware ou mediador é um componente com finalidade para o
compartilhamento de informações entre camadas ou softwares, possibilitando ao
programador a abstração de diferenças relacionadas à plataformas, protocolos de
comunicação e também independências de sistemas operacionais, fabricante e tipo
de receptor (TV, celular, PDAs etc.).
O middleware Ginga é resultado de uma ação conjunta entre a Pontifícia
Universidade Católica do Rio de Janeiro responsável pelo desenvolvimento da
linguagem de marcação NCL e o laboratório de aplicações de video da
19
http://downloads.vmware.com/d/info/desktop_downloads/vmware_player/3_0
http://www.ubuntu.com
21
http://www.ginga.org.br
22
http://www.telemidia.puc-rio.br/pt/index.html
23
http://www.eclipse.org
24
Diponível para download após cadastro na comunidade Ginga em
http://www.softwarepublico.gov.br
20
27
Universidade Federal da Paraíba25, criadora do módulo responsável pela
interpretação de código Java nos Set-top boxes.
As aplicações interativas para Ginga podem ser puras, onde somente uma
linguagem é usada no desenvolvimento, ou híbridas, quando misturamos linguagens
na aplicação, ou seja, um arquivo de scripts Lua que é invocado pelo programa NCL
principal. Neste caso chamamos o documento de NCLua.
Segundo a ABNT(2010) o middleware deve reconhecer basicamente as
seguintes entradas:
Funções numéricas
Descrição
Codigo das teclas
Teclado numérico
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Voltar
BACK
Sair
EXIT
Confirmar
OK
Teclas direcionais
CURSOR_LEFT, CURSOR_RIGHT,
CURSOR_DOWN, CURSOR_UP
Teclas coloridas
RED, GREEN, YELLOW, BLUE
Menu
MENU
Informação
INFO
Troca de canais
CHANNEL_DOWN, CHANNEL_UP
Volume do audio
VOLUME_DOWN, VOLUME_UP
Desligamento
POWER
Funções interativas
Funções navegação
Funções do televisor
Tabela 3 - Funções do controle remoto
5.2. A linguagem NCL
Foi desenvolvida pela Pontifícia Universidade Católica do Rio de Janeiro e
considerada uma das maiores inovações nacionais dos últimos anos. A norma NBR
15606-2 explica que um documento NCL apenas define como os objetos de mídia
são estruturados e relacionados no tempo e espaço.
25
http://www.lavid.ufpb.br
28
Tomando como base o estudo didático da linguagem NCL realizado para o
desenvolvimento deste trabalho, percebe-se que esta realmente possui alto nível de
abstração, caracterisando-a com linguagen declarativa, em que após especificar as
mídias a serem executadas, apenas é necessário declarar de forma lógica o
resultado esperado, onde é o uso de algorítmos para o interpretador ou compilador
da linguagem se torna dispensável.
É o arquivo “main.ncl” que se define e são organizas as mídias, especificando
suas regiões de apresentação, sincronização temporal e eventos condionais. Por
exemplo, o ícone da interatividade (Figura 15) só aparece após 15( quinze )
segundos do vídeo iniciado, e se mantém visível durante os 100( cem ) segundos
que se decorrem. O usuário pode apertar o botão vermelho no controle remoto, mas
é só com este ícone ativo que é possivel disparar a inicialização do aplicativo. Se o
telespectador não precionar no botão indicado, aprogramação segue normalmente,
isso para os casos de inexistência do Sep-Top-Box ou do canal de retorno.
5.3. A linguagem Lua
A linguagem Lua26 tem também origem nacional e foi criada em 1993 pela
PUC do Rio de Janeiro com licença liberada para uso e código aberto. Segundo
seus mantenedores, ela é a única linguagem de programação desenvolvida fora do
primeiro mundo que se tornou amplamente utilizada. Lua é hoje a linguagem mais
importante na área de entretenimento, e atualmente aparece entre as vinte mais
populares do planeta, porém dentre a comunidade de usuários da linguagem menos
de 10% são de brasileiros.
A sua aceitação internacional se deu pela qualidade no desenvolvimento
jogos, animações e, principalmente, conteúdos para a TV Digital.
26
http://www.lua.inf.puc-rio.br
29
5.4. Emulador Ginga-NCL
Basicamente, um emulador imita as funções de um sistema para
reproduzir seu comportamento em outro ambiente, permitindo dessa forma
que um software criado para uma plataforma funcione em outra.
Ginga-NCL27 é o responsável pela emulação do programa NCL, ou seja, por
simular, no computador a interatividade fornecida pelo Set-top box, oferencendo
também suporte à execução dos script em LUA.
Figura 5 - Emulador Ginga-NCL.
Para executar uma aplicação através do emulador, deve-se abrir uma
conexão utilizando o protocolo SSH - Secure Shell, que acessa remotamente a
máquina virtual para hospedagem dos arquivos e mídias necessárias. Para esta
estapa de tranferência, foi utilizado o “Secure File Transfer Client”. Já a inicialização
27
Fornecido em: http://www.gingancl.org.br/ferramentas.html
30
das aplicações se dar por linha de comando e através da ferramenta “Secure Shell
Client”. Ambas pacotes da SSH Communications Security Corp(TM) 28.
Figura 6 - Conexão via SHH.
5.5. IDE Eclipse Galileo
Apesar da IDE Eclipse ser comumente utilizada para o desenvolvimento de
aplicações em Java, a Universidade Federal do Maranhão desenvolveu um plug-in
para o Eclipse que agrega algumas funcionalidades para os documentos em NCL29
e LUA.30 Tais complementos auxiliam e agilizam a criação de aplicações, permitindo
que facilidades extras do Eclipse sejam reutilizadas e integradas com outras
ferramentas de desenvolvimento. Dentre elas podemos citar: “suporte a navegação
hipertextual”, “sugestão de parâmetros e auto-completar”, “sugestão em pop-up para
28
Versão 3.2, sob licença de avaliação de 30 dias.
http://laws.deinf.ufma.br/~ncleclipse/
30
http://luaeclipse.luaforge.net/
29
31
selecionar arquivo”, “fechamento automático dos elementos”, “validação da sintaxe e
marcação de erros no documento” e “formatação e identação de código”.
Figura 7 - Interface da IDE Eclipse utilizando o plug-in NCL.
5.6. Ferramenta Composer
Para facilitar o desenvolvimento específicamente na linguagem NCL, a PUCRIO também desenvolveu uma ferramenta chamada Composer. Trata-se de uma
iniciativa que busca desenvolver apicações de forma prática sem a necessidade de
muitos conhecimentos em programação, adicionando facilidades e permitindo aos
iniciantes na linguagem criar programas para o middleware GINGA.
Esta ferramenta foi utilizada neste trabalho pela sua extrema facilidade na
criação das regiões relativas os parâmetros da regionBase.
O Composer é compatível com versões do Windows, Linux e MacOS, ele
oferece o desenvolvimento visual das aplicações com o auxilio de quatro tipos de
visualização dos componentes, figura 8:
32
1 - Textual: apresenta as linhas de código NCL.
2 - Layout: apresenta uma visão da estrutura das regiões espaciais do aplicativo.
3 - Estrutural: apresenta o esquema de todas as mídias e suas conexões.
4 - Temporal: apresenta uma linha do tempo com o comportamento de cada mídia a
ser executada, com os sincronismos temporais e a participação do usuário (aba não
exibida na imagem 8).
Figura 8 - Screenshot do software Composer.
33
6.
A APLICAÇÃO
Os serviços atualmente disponibilizados para a televisão digital podem ser
classificados
em
quatro
categorias
básicas:
Comunicação,
Transação,
Entretenimento e Informação. Observando-se os requisitos que atendam a execução
do aplicativo em rede televisiva, podemos enquadrá-lo no âmbito da categoria de
serviços transacionais, ou seja, além de demandar um canal de transmissão seguro
será preciso levar em conta características como privacidade, integridade e
autenticidade do telespectador na troca de informações bidirecionais.
O produto final deste estudo poderá ser apresentado ao mercado, feiras
e congressos da área, contudo sua comercialização não está autorizada. Pois este
visa unicamente servir como material didático para profissionais e acadêmicos,
estimulando a discussão sobre a produção de programas para a televisão digital
brasileira.
6.1. Um foco na usabilidade
No desenvolvimento de qualquer sistema, idependentemente do setor de
aplicabilidade, é de grande relavância nos colocarmos no lugar do usuário final.
Sendo assim, torna-se fundamental e imprescindível o estudo de técnicas relativas a
usabilidade e interfaces dos aplicativos a serem criados.
Nielsen (1993), define em seu livro que usabilidade é um atributo de
qualidade, que avalia o grau de facilidade de interação de algum dispositivo, seja ele
um site, um painel de avião, ou qualquer interface que possa ser operada por um
usuário. Além disso, a palavra também se refere aos métodos para melhorar a
facilidade de uso durante o processo de planejamento de uma interface.
Em outras palavras, nada adianta ter uma nova tecnologia e seu uso ser tão
complexo que a torna inútil ao seu público alvo. Por isso, a produção do conteúdo a
seguir possuirá interfaces amigáveis e sua utilização tenderá ser simples e intuitiva,
34
facilitando a interação com os usuários independente de sua cultura ou camada
socal.
6.2. Público alvo
O conteúdo do aplicativo é de classificação livre e sem restrição de horário de
exibição. Todo telespectado poderá interagir, mas somente aqueles que estão
legalizados junto ao TRE podem participar da votação.
6.3. O Aplicativo: InteractOP
O desenvolvimento desta aplicação teve como base os arquivos “tur_ma.ncl”
31
e “supermercado.ncl”32. O primeiro, da aplicação “Guia Turístico do Maranhão”,
que foi desenvolvida pela PetComp (Programa de Educação Tutorial de
Computação) em parceira com o LAWS (Laboratory of Advanced Web Systems),
ambos da Universidade Federal do Maranhão. O segundo desenvolvido por Enio
Lopes Sombra da Universidade do Estado do Rio Grande do Norte.
6.3.1. Descrição do Sistema
A aplicação a ser desenvolvida, chamada de InteractOP, tem como objetivo
secundário levar a todo telespectador do sistema de TVDI o conteúdo referente ao
atual cenário do Orçamento Participativo da capital mineira – Belo Horizonte através de imagens, áudio e vídeos. O aplicativo em questão, vai permitir ao
telespectador conhecer o programa do OP e participar de seu processo de eleição,
31
32
http://clube.ncl.org.br/node/81
http://gingarn.wikidot.com/local--files/gingancl/aplicacao_ncl_supermercado.rar
35
onde através da tela de opções ele poderá selecionar dentre as obras disponíveis, a
que mais lhe interessa ser aprovada.
O InteractOp poderá ser operado através de qualquer televisor que possua
um conversor digital com o middleware GINGA instalado, e devido sua simplicidade,
permite que até mesmo usuários que não tenham qualquer conhecimento
tecnológico possam interagir.
Utilizando funções do controle remoto, será possível navegar entre telas,
visualizar detalhes das obras, informações de ajuda, entrar com dados do
telespectador e realizar a votação.
6.3.2. Requisitos e atividades

A aplicação deverá fazer uso do canal de retorno para valiadar o
documento eleitoral do telespectador e enviar o dado relativo ao voto selecionado.

A aplicação deve permitir que o usuário escolha o momento em que
deseja iniciar a interação e realizar a votação.

O item anterior será atendindo quando um botão relativo a esta ação
for precionado no controle remoto.

A aplicação exibirá o menu de obras, mas inicialmente não encerará a
programação que estava sendo transmitida.

Após interação, o teslespectador poderá a qualquer instante sair do
aplicativo ou visualizar informações de ajuda.

O sistema deve ser intuitivo e permitir que o usuário escolha de
maneira fácil a obra de sua preferência.

Estarão disponíveis 3( três ) opções de escolha para voto. No entanto,
a obra e seus respectivos detalhes somente serão exibidos quando o botão de [ OK ]
for acionado, consequentemente intenrropendo a programação assistida.

Para votar o usuário utilizará os botões coloridos [ VERDE ], [
AMARELO ] e [ AZUL ], relativos a cada obra.

As teclas numéricas do controle remoto serão utilizadas para digitação
do número do documento requisitado para o voto.
36

Após a votação a aplicação é encerrada e a programação anterior volta
ser transmitida.
6.3.3. Diagramas de Casos de Uso UML
Os casos de uso que descrevem as funcionalidades proposta pela
aplicação InteractOP para votação online, podem ser observados nos diagramas
UML a seguir:
Figura 9 - Caso de uso 01
Figura 10 - Caso de uso 02
37
Figura 11 Caso de uso 03
Figura 12 - Caso de uso 04
Figura 13 - Caso de uso 05
38
Figura 14 - Caso de uso 06
39
7. CONSIDERAÇÕES FINAIS
Com este trabalho foi possivel reunir novas experiências e competências
técnicas sobre as tecnologias em torno da TV Digital. Por se tratar de um assunto
que apesar de boas iniciativas é tão pouco divulgado no país, torna-se desafiador e
muito interessante pesquisar sobre o mesmo.
Convém salientar que, por se tratar de uma nova tecnologia, a criação de
suas aplicações está limitado às poucas ferramentas disponíveis, onde algumas
delas ainda se encontram em fase experimental.
Conclui-se, que a insercão do tema no ambiente acadêmico como proposta
secundária desta monografia, foi atendida ao promever a discussão a cerca deste
assunto durante sua avaliação. É certo que o estudo realizado é apenas uma
pequena parte de uma área que a médio prazo tem grande potêncial de
desenvolvimento.
Para o presente trabalho, verfica-se que o principal objetivo de desenvolver
um protótipo de aplicação interativa para a TVD seguindo as definições do
middleware GINGA, tenha sido concluído. Porém, ainda não foi possível para este
incrementar as questões que dependem da linguagem LUA, o que requer assim a
continuação do trabalho. Este foi o maior problema encontrado no caso da aplicação
de votação online, onde se faz necessário um canal de retorno estabelecido.
Na verdade, resume-se em uma futura proposta, pois este estudo trata um
tema ainda de fronteira, visto que no atual contexto da TV Digital aberta até agora
não se encontra em operação o canal de interatividade necessário para a
comunicação entre emissora e telespectador.
Com base nos conhecimentos adquiridos, pode se observar uma vasta
diversidade no que se diz respeito ao desenvolvimento de aplicações e soluções que
refletem a diversidade cultural brasileira para a plataforma da televisão interativa.
Ainda nesta linha de raciocínio, pode se também inferir que o sistema de
Orçamento Participativo Digital através da TV, não será apenas mais uma inovação
tecno-administrativa. E sim, algo maior que isto. Será um catalizador para a
consolidação da busca da cidadania e da democratização das ações públicas e
sociais.
40
7.1. Implementações Futuras
Entre as possibilidades de futuros trabalhos para esse contexto, pode-se
destacar a utilização dos novos recursos da televisão digital para o acesso às bases
de dados governamentais. No que se diz respeito ao InteractOP, essa conexão será
feita através da classe TCP que compõe eventos dos scripts em Lua. Visto que tal
método já existe implementado no “Exemplo 6 – Consulta ao Google”33 criado por
Francisco Sant'Anna, assim ficará mais fácil o estudo e sua reutilização neste
aplicativo. A idéia será realizar acessos a base de dados do TRE-MG, levando em
conta logicamente, um canal seguro de comunicação que garante a qualidade e
veracidade do processo, impedindo, por exemplo, que o telespectador efetue mais
de um voto por obra.
33
http://www.lua.inf.puc-rio.br/~francisco/nclua/tutorial/exemplo_06.html
41
REFERÊNCIAS BIBLIOGRÁFICAS
ABNT, Associação Brasileira De Normas Técnicas. NBR 15606-1: Televisão digital
terrestre – Codificação de dados e especificações de transmissão para
radiodifusão digital Parte 1: Codificação de dados. 2ª Edição - Rio de Janeiro,
Abril de 2010.
ABNT, Associação Brasileira De Normas Técnicas. NBR 15606-2: Televisão digital
terrestre – Codificação de dados e especificações de transmissão para
radiodifusão digital Parte 2: Ginga-NCL para receptores fixos e móveis –
Linguagem de aplicação XML para codificação de aplicações. Rio de Janeiro,
Abril de 2008.
BBC, British Broadcasting Corporation. Designing for Interactive Television v1.0.
Inglaterra,
2005.
Disponível
em:
<http://www.bbc.co.uk/guidelines/futuremedia/desed/itv/itv_design_v1_2006.pdf>.
Acesso em: 15 abril 2011.
DINIZ, E. H. et al. O governo eletrônico no Brasil: perspectiva histórica a partir de um
modelo estruturado de análise. Revista Administração Pública [online], v. 43, n°. 1,
p. 23-48, 2009.
GAWLINSKI, MARK. Interactive Television Production. Oxford, England. Focal
Press. Pag. 5, 2003
IBGE - Instituto Brasileiro de Geografia e Estatística. Censo Demográfico 2010.
Disponível
em:
<http://www.ibge.gov.br/home/presidencia/noticias/noticia_visualiza.php?id_noticia=
1766>. acesso em 21 março de 2011.
LEMOS, André. Anjos interativos e retribalização do mundo. Sobre
interatividade
e
interafaces
digitais.
Disponível
em:
<http://www.facom.ufba.br/ciberpesquisa/lemos/interativo.pdf>. Acesso em: 17 maio
de 2011.
MONTEZ, C.; BECKER, V. TV Digital Interativa: Conceitos e Tecnologias.
Conference. Ribeirão Preto, SP, Outubro de 2004.
MONTEZ, C.; BECKER, V. TV digital interativa: conceitos, desafios e perspectivas
para o Brasil. 2. ed. Florianópolis: Ed. da UFSC, 2005.
NIELSEN, Jacob. Usability Engineering. Boston, Academic Press, 1993.
PICCIONI, C. A.; BECKER, V.; MONTEZ, C. Uma aplicação de governo eletrônico
usando
televisão
digital
interativa.
Disponível
em:
<http://www.itvproducoesinterativas.com.br/pdfs/A-Conegov%2020051.pdf>. Acesso
em: 17 maio de 2011.
42
RODRIGUES, R. Produção de Conteúdo Declarativo para TV Digital. Brasil: SBC,
2006. Disponível em: <http://natalnet.dca.ufrn.br/sbc2006/pdf/arq0063.pdf>. Acesso
em: 17 maio de 2011.
43
ANEXO 1:
Interfaces do Sistema
Figura 15 - Botão de interatividade, inicializador da aplicação.
Figura 16 - Tela de apresentação inicial.
44
Figura 17 - Detalhes da obra.
Figura 18 - Validação do telespesctador.
45
ANEXO 2:
Códigos fonte NCL do InteractOP –
Arquivo “main.ncl”
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/EDTVProfile
http://www.ncl.org.br/NCL3.0/profiles/NCL30EDTV.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile" id="InteractOp">
<head>
<!-- BASE DE REGIÕES: define as regiões na tela onde as
mídias são apresentadas-->
<regionBase>
<region zIndex="2" id="rgTV" width="100.0%"
height="100.0%"/>
<region zIndex="3" id="rgAcesso" left="65.0%"
top="3.0%" width="29.0%" height="13.0%"/>
<region zIndex="1" id="rgBackground" width="100.0%"
height="100.0%">
<region zIndex="1" id="rgBHMapa" left="0.0%"
top="0.0%" width="50.0%" height="100.0%">
<region id="rgOpcao1" left="60.0%"
top="74.0%" width="27.0%" height="7.0%"/>
<region id="rgOpcao2" left="60.0%"
top="82.0%" width="27.0%" height="7.0%"/>
<region id="rgOpcao3" left="60.0%"
top="90.0%" width="27.0%" height="7.0%"/>
<region id="rgBtn1" left="50.0%"
top="74.0%" width="8.0%" height="7.0%"/>
<region id="rgBtn2" left="50.0%"
top="82.0%" width="8.0%" height="7.0%"/>
<region id="rgBtn3" left="50.0%"
top="90.0%" width="8.0%" height="7.0%"/>
</region>
<region id="rgInteractOp" left="45.0%"
top="2.0%" width="40.0%" height="15.0%"
zIndex="2"/>
<region zIndex="2" id="rgObraDetalhe"
left="44.5%" top="43.5%" width="25.0%"
height="55.0%"/>
<region zIndex="2" id="rgObraMapa" left="45.0%"
top="2.0%" width="45.0%" height="40.0%"/>
<region id="rgObraImagem" left="70.0%"
top="43.5%" width="29.0%" height="55.0%"/>
<region id="rgInfo" left="93.0%" top="2.0%"
width="5.5%" height="9.0%"/>
<region id="rgVoltar" left="93.0%" top="13.0%"
width="5.5%" height="9.0%"/>
</region>
</regionBase>
<!--BASE DE DESCRITORES: define como as mídias são
apresentadas-->
46
<descriptorBase>
<!-- Video do Inicio -->
<descriptor id="dVideoInicial" region="rgBackground"
/>
<!-- Imagem de Plano de Fundo -->
<descriptor id="dInteractOp" region="rgInteractOp"/>
<descriptor id="dPlanoFundo" region="rgBackground"/>
<!-- Imagens dos Botões -->
<descriptor id="dBtnInfo" region="rgInfo"/>
<descriptor id="dBtnVoltar" region="rgVoltar"/>
<descriptor id="dOpcao1" region="rgOpcao1"
focusIndex="1" moveDown="2" moveUp="3" focusBorderWidth="-4"
focusBorderColor="blue" selBorderColor="white"
focusSelSrc="media/botoes/bntObra1Act.jpg"/>
<descriptor id="dOpcao2" region="rgOpcao2"
focusIndex="2" moveDown="3" moveUp="1" focusBorderWidth="-4"
focusBorderColor="blue" selBorderColor="white"
focusSelSrc="media/botoes/bntObra2Act.jpg"/>
<descriptor id="dOpcao3" region="rgOpcao3"
focusIndex="3" moveDown="1" moveUp="2" focusBorderWidth="-4"
focusBorderColor="blue" selBorderColor="white"
focusSelSrc="media/botoes/bntObra3Act.jpg"/>
<descriptor id="dBtnVerde" region="rgBtn1"/>
<descriptor id="dBtnAmarelo" region="rgBtn2"/>
<descriptor id="dBtnAzul" region="rgBtn3"/>
<!--Detalhes da Obra-->
<descriptor id="dMapBh" region="rgBHMapa"/>
<descriptor id="dHtml" region="rgObraDetalhe"/>
<descriptor id="dObraMap" region="rgObraMapa"/>
<descriptor id="dImgObra" region="rgObraImagem"/>
<descriptor id="dBtnAcesso" region="rgAcesso"/>
<descriptor id="dVideoInfoOp"/>
<descriptor id="dBtnVoltarMenu"/>
</descriptorBase>
<connectorBase>
<importBase documentURI="ConnectorBase.ncl"
alias="connect"/>
</connectorBase>
</head>
<body>
<!--PONTO DE ENTRADA: indica o componente onde o programa inicia-->
<port component="videoInicial" id="port_videoInicial"/>
<!--MÍDIAS: define o local dos arquivos de mídia e as associa com
seus descritores-->
<media id="settings" type="application/x-ginga-settings">
<property name="service.currentFocus"/>
</media>
<media id="videoInicial" src="media/videoAbertura.avi"
descriptor="dVideoInicial">
<area id="aVideo1Imagem1" begin="15.0s" end="100.0s"
/>
<!-- âncora no vídeo que deve sincronizar a imagem -->
<property name="bounds"/>
<!-- atributo que será manipulado pelos elos -->
</media>
47
<media id="btnAcesso" src="media/imgMsgInteract.jpg"
descriptor="dBtnAcesso">
<area id="aImagem"/>
<property name="bounds"/>
</media>
<!--Mídias da tela do menu de obras-->
<media id="titulo" src="media/InteractOp.jpg"
descriptor="dInteractOp"/>
<media id="telaFundo" src="media/imgBGround.jpg"
descriptor="dPlanoFundo"/>
<media id="btnInfo" src="media/botoes/imgBtnInfo.jpg"
descriptor="dBtnInfo"/>
<media id="btnVoltar" src="media/botoes/imBtnVoltar.jpg"
descriptor="dBtnVoltar"/>
<media id="mapBHMenu" src="media/BHMapMenu.jpg"
descriptor="dMapBh"/>
<media id="opcao1" src="media/botoes/bntObra1.jpg"
descriptor="dOpcao1"/>
<media id="opcao2" src="media/botoes/bntObra2.jpg"
descriptor="dOpcao2"/>
<media id="opcao3" src="media/botoes/bntObra3.jpg"
descriptor="dOpcao3"/>
<!--escolha-->
<media id="btnVerde" src="media/botoes/btnVerde.jpg"
descriptor="dBtnVerde"/>
<media id="btnAmarelo" src="media/botoes/btnAmarelo.jpg"
descriptor="dBtnAmarelo"/>
<media id="btnAzul" src="media/botoes/btnAzul.jpg"
descriptor="dBtnAzul"/>
<media id="voto" src="media/imgVoto.jpg"
descriptor="dMapBh"/>
<!-- Contextos das obras, contendo suas respectivas
mídias -->
<media id="mapBHobra1" src="media/obras/mapBhObr1.jpg"
descriptor="dMapBh"/>
<media id="mapBHobra2" src="media/obras/mapBhObr2.jpg"
descriptor="dMapBh"/>
<media id="mapBHobra3" src="media/obras/mapBhObr3.jpg"
descriptor="dMapBh"/>
<context id="ctxObra1">
<port id="prtHtmlObra1" component="htmlObra1"/>
<port id="prtMapObr1" component="mapObr1"/>
<port id="prtVideoObr1" component="videoObr1"/>
<media id="htmlObra1"
src="media/obras/htmObra1.html" descriptor="dHtml"/>
<media id="mapObr1" src="media/obras/mapObra1.jpg"
descriptor="dObraMap"/>
<media id="videoObr1"
src="media/obras/videoObra1.mov" descriptor="dImgObra"/>
</context>
<context id="ctxObra2">
<port id="prtHtmlObra2" component="htmlObra2"/>
<port id="prtMapObr2" component="mapObr2"/>
<port id="prtVideoObr2" component="videoObr2"/>
<media id="htmlObra2"
src="media/obras/htmObra2.html" descriptor="dHtml"/>
48
<media id="mapObr2" src="media/obras/mapObra2.jpg"
descriptor="dObraMap"/>
<media id="videoObr2"
src="media/obras/videoObra2.mov"
descriptor="dImgObra"/>
</context>
<context id="ctxObra3">
<port id="prtHtmlObra3" component="htmlObra3"/>
<port id="prtMapObr3" component="mapObr3"/>
<port id="prtVideoObr3" component="videoObr3"/>
<media id="htmlObra3"
src="media/obras/htmObra3.html" descriptor="dHtml"/>
<media id="mapObr3" src="media/obras/mapObra3.jpg"
descriptor="dObraMap"/>
<media id="videoObr3"
src="media/obras/videoObra3.mov"
descriptor="dImgObra"/>
</context>
<!-- Chamada de Atribuição de valores aos contextos -->
<link xconnector="connect#onEndAttNodeTestStartNStopN"
id="lnkCtxObra1">
<bind role="onEnd" component="settings"
interface="service.currentFocus"/>
<bind role="attNodeTest" component="settings"
interface="service.currentFocus">
<bindParam name="value" value="1"/>
</bind>
<bind role="stop" component="ctxObra2"/>
<bind role="stop" component="ctxObra3"/>
<bind role="start" component="ctxObra1"/>
</link>
<link xconnector="connect#onEndAttNodeTestStartNStopN"
id="lnkCtxObra2">
<bind role="onEnd" component="settings"
interface="service.currentFocus"/>
<bind role="attNodeTest" component="settings"
interface="service.currentFocus">
<bindParam name="value" value="2"/>
</bind>
<bind role="stop" component="ctxObra1"/>
<bind role="stop" component="ctxObra3"/>
<bind role="start" component="ctxObra2"/>
</link>
<link xconnector="connect#onEndAttNodeTestStartNStopN"
id="lnkCtxObra3">
<bind role="onEnd" component="settings"
interface="service.currentFocus"/>
<bind role="attNodeTest" component="settings"
interface="service.currentFocus">
<bindParam name="value" value="3"/>
</bind>
<bind role="stop" component="ctxObra1"/>
<bind role="stop" component="ctxObra2"/>
<bind role="start" component="ctxObra3"/>
</link>
<!--Envento de inicialização dos contextos-->
49
<link xconnector="connect#onSelectionStartNStopN"
id="StartContextObra1">
<bind role="onSelection" component="opcao1"/>
<bind role="stop" component="ctxObra2"/>
<bind role="stop" component="ctxObra3"/>
<bind role="stop" component="mapBHobra2"/>
<bind role="stop" component="mapBHobra3"/>
<bind role="stop" component="btnAmarelo"/>
<bind role="stop" component="btnAzul"/>
<bind role="stop" component="videoInicial"/>
<bind role="stop" component="titulo"/>
<bind role="start" component="ctxObra1"/>
<bind role="start" component="mapBHobra1"/>
<bind role="start" component="btnVerde"/>
</link>
<link xconnector="connect#onSelectionStartNStopN"
id="StartContextObra2">
<bind role="onSelection" component="opcao2"/>
<bind role="stop" component="ctxObra1"/>
<bind role="stop" component="ctxObra3"/>
<bind role="stop" component="mapBHobra1"/>
<bind role="stop" component="mapBHobra3"/>
<bind role="stop" component="btnVerde"/>
<bind role="stop" component="btnAzul"/>
<bind role="stop" component="videoInicial"/>
<bind role="stop" component="titulo"/>
<bind role="start" component="ctxObra2"/>
<bind role="start" component="mapBHobra2"/>
<bind role="start" component="btnAmarelo"/>
</link>
<link xconnector="connect#onSelectionStartNStopN"
id="StartContextObra3">
<bind role="onSelection" component="opcao3"/>
<bind role="stop" component="ctxObra1"/>
<bind role="stop" component="ctxObra2"/>
<bind role="stop" component="mapBHobra1"/>
<bind role="stop" component="mapBHobra2"/>
<bind role="stop" component="btnVerde"/>
<bind role="stop" component="btnAmarelo"/>
<bind role="stop" component="videoInicial"/>
<bind role="stop" component="titulo"/>
<bind role="start" component="ctxObra3"/>
<bind role="start" component="mapBHobra3"/>
<bind role="start" component="btnAzul"/>
</link>
<!--Evento de inicialização do video de apresentação inicializa
também o botão 'Menu'-->
<link xconnector="connect#onBeginStart">
<bind role="onBegin" component="videoInicial"
interface="aVideo1Imagem1"/>
<bind role="start" component="btnAcesso"/>
</link>
<!--Evento de ativação do botão <RED> pausa o video de apresentação
e inicia a layout de votação, ao selecionar tecla de interação
<RED>, estando no componente VideoPrincipal -->
<link xconnector="connect#AoSelecionarTeclaInteracao">
50
<bind component="videoInicial" interface="bounds"
role="set">
<!-- left, top, width, height -->
<bindParam name="var" value="50%,25%,48%,70%"/>
</bind>
<bind component="btnAcesso" role="onSelection">
<bindParam name="keyCode" value="RED"/>
</bind>
<!--Evento de ativação do botão <RED> finaliza o botão de acesso ao
menu de obras-->
<bind role="stop" component="btnAcesso"/>
<bind role="start" component="telaFundo"/>
<bind role="start" component="btnInfo"/>
<bind role="start" component="btnVoltar"/>
<bind role="start" component="mapBHMenu"/>
<bind role="start" component="opcao1"/>
<bind role="start" component="opcao2"/>
<bind role="start" component="opcao3"/>
<bind role="start" component="titulo"/>
</link>
<!--Evento de ativação do botão <VOLTAR> reinicializa o video de
apresentação e finaliza a aplição-->
<link xconnector="connect#AoSelecionarTeclaInteracao">
<bind component="videoInicial" interface="bounds"
role="set">
<!-- left, top, width, height -->
<bindParam name="var" value="0,0,100%,100%"/>
</bind>
<bind component="btnVoltar" role="onSelection">
<bindParam name="keyCode" value="BACK"/>
</bind>
<bind role="start" component="btnAcesso"/>
<bind role="start" component="videoInicial"/>
<bind role="stop" component="ctxObra1"/>
<bind role="stop" component="ctxObra2"/>
<bind role="stop" component="ctxObra3"/>
<bind role="stop" component="telaFundo"/>
<bind role="stop" component="btnInfo"/>
<bind role="stop" component="btnVoltar"/>
<bind role="stop" component="mapBHMenu"/>
<bind role="stop" component="opcao1"/>
<bind role="stop" component="opcao2"/>
<bind role="stop" component="opcao3"/>
<bind role="stop" component="mapBHobra1"/>
<bind role="stop" component="mapBHobra2"/>
<bind role="stop" component="mapBHobra3"/>
<bind role="stop" component="titulo"/>
<bind role="stop" component="voto"/>
</link>
<!--VERDE-->
<link xconnector="connect#onKeySelectionStartNStopN_2">
<bind component="btnVerde" role="onSelection">
<bindParam name="keyCode" value="GREEN"/>
</bind>
<bind role="stop" component="mapBHMenu"/>
<bind role="stop" component="mapBHobra1"/>
51
<bind role="stop" component="btnVerde"/>
<bind role="stop" component="opcao1"/>
<bind role="stop" component="opcao2"/>
<bind role="stop" component="opcao3"/>
<bind role="start" component="voto"/>
</link>
<!--AMARELO-->
<link xconnector="connect#onKeySelectionStartNStopN_2">
<bind component="btnAmarelo" role="onSelection">
<bindParam name="keyCode" value="YELLOW"/>
</bind>
<bind role="stop" component="mapBHMenu"/>
<bind role="stop" component="mapBHobra2"/>
<bind role="stop" component="btnAmarelo"/>
<bind role="stop" component="opcao1"/>
<bind role="stop" component="opcao2"/>
<bind role="stop" component="opcao3"/>
<bind role="start" component="voto"/>
</link>
<!--AZUL-->
<link xconnector="connect#onKeySelectionStartNStopN_2">
<bind component="btnAzul" role="onSelection">
<bindParam name="keyCode" value="BLUE"/>
</bind>
<bind role="stop" component="mapBHMenu"/>
<bind role="stop" component="mapBHobra2"/>
<bind role="stop" component="btnAzul"/>
<bind role="stop" component="opcao1"/>
<bind role="stop" component="opcao2"/>
<bind role="stop" component="opcao3"/>
<bind role="start" component="voto"/>
</link>
</body>
</ncl>
Base De Conectores Arquivo “ConnectorBase.ncl”
<?xml version="1.0" encoding="ISO-8859-1"?>
<ncl id="composerConnBase"
xmlns="http://www.ncl.org.br/NCL3.0/CausalConnectorProfile"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ncl.org.br/NCL3.0/CausalConnectorProf
ile http://www.ncl.org.br/NCL3.0/profiles/NCL30CausalConnector.xsd">
<head>
<connectorBase>
<!--@doc Ativação:
Término de um nó de contexto, de alternativa ou de mídia (ou
uma âncora de um nó de mídia) e o valor da propriedade que
assume o papel attNodeTest sendo igual a $value (passado como
parâmetro para o conector)
52
Ação:
Inicia e termina N nós de contexto, de alternativa ou de mídia
(ou uma âncora de um nó de mídia) de forma sequencial
-->
<causalConnector id="onEndAttNodeTestStartNStopN">
<connectorParam name="value"/>
<compoundCondition operator="and">
<simpleCondition role="onEnd"/>
<assessmentStatement comparator="eq">
<attributeAssessment role="attNodeTest"
eventType="attribution"
attributeType="nodeProperty"/>
<valueAssessment value="$value"/>
</assessmentStatement>
</compoundCondition>
<compoundAction operator="seq">
<simpleAction role="start" max="unbounded"
qualifier="par"/>
<simpleAction role="stop" max="unbounded"
qualifier="par"/>
</compoundAction>
</causalConnector>
<!--@doc Ativação:
Seleção de um nó de contexto, de alternativa ou de mídia (ou
uma âncora de um nó de mídia) com a tecla de seleção
Ação:
Inicia e termina N nós de contexto, de alternativa ou de mídia
(ou uma âncora de um nó de mídia)
-->
<causalConnector id="onSelectionStartNStopN">
<simpleCondition role="onSelection"/>
<compoundAction operator="seq">
<simpleAction role="start" max="unbounded"
qualifier="par"/>
<simpleAction role="stop" max="unbounded"
qualifier="par"/>
</compoundAction>
</causalConnector>
<!--@doc Ativação:
Inicio de um nó de contexto, de alternativa ou de mídia (ou uma
âncora de um nó de mídia)
Ação:
Inicia um nó de contexto, de alternativa ou de mídia (ou uma
âncora de um nó de mídia)
-->
<causalConnector id="onBeginStart">
<simpleCondition role="onBegin"/>
<simpleAction role="start"/>
</causalConnector>
<!--@doc Ativação:
Ação:
-->
<causalConnector id="AoSelecionarTeclaInteracao">
<connectorParam name="var"/>
<!-- caso seja pressionado alguma tecla -->
<connectorParam name="keyCode"/>
53
<simpleCondition key="$keyCode" role="onSelection"/>
<compoundAction operator="seq">
<!-- crie a regra start, stop e set -->
<simpleAction max="unbounded" qualifier="par"
role="stop"/>
<simpleAction max="unbounded" qualifier="par"
role="start"/>
<simpleAction role="set" value="$var"/>
</compoundAction>
</causalConnector>
<!--@doc Ativação: versão 2 Seleção de um nó de contexto, de alternativa ou de mídia (ou
uma âncora de um nó de mídia) com a tecla $keyCode passada como
parâmetro para o conector
Ação:
Inicia e termina N nós de contexto, de alternativa ou de mídia
(ou uma âncora de um nó de mídia) de forma sequencial
-->
<causalConnector id="onKeySelectionStartNStopN_2">
<connectorParam name="keyCode"/>
<simpleCondition role="onSelection" key="$keyCode"
max="unbounded" qualifier="or"/>
<compoundAction operator="seq">
<simpleAction role="stop" max="unbounded"
qualifier="seq"/>
<simpleAction role="start" max="unbounded"
qualifier="seq"/>
</compoundAction>
</causalConnector>
</connectorBase>
</head>
</ncl>
Download

Pontifícia Universidade Católica de Minas Gerais