Framework Interop permite acesso transparente a conteúdo entre dispositivos
1. Interop: um Framework para o
Desenvolvimento de
Conteúdo Web Interoperável
entre TV Digital, Dispositivos
Móveis e Computadores Pessoais
Autores: Fernando A. Varella, Alexandro Bordignon, Maria L.
K. Barbosa, Valter Roesler
2. Sistemas Multimidia
• Alunos
• Diego Daniel da Silva Soares
• Leonardo Tavares Nascimento
• Max Wendel de Assis Cordeiro
Fic – Faculdades Integradas Campo –Grandense.
Curso: BSI.
3. Introdução.
Uma das tendências tecnológicas atuais é a
diversificação do modo de acesso a conteúdos digitais,
de forma que usuários possam acessar o mesmo
conteúdo independente de plataforma, ou seja,
através de computadores pessoais, dispositivos móveis
(principalmente celulares) e TV Digital.
Tradicionalmente, criadores de conteúdo desenvolvem
uma versão para cada tipo de dispositivo alvo. Essa
abordagem permite explorar as peculiaridades de cada
um, porém, apresenta uma multiplicação no tempo e no
esforço de desenvolvimento.
4. O Framework Interop.
• O que é um Framework?
È uma abstração que une códigos comuns entre vários projetos de software
provendo uma funcionalidade genérica. Um framework pode atingir uma
funcionalidade específica, por configuração, durante a programação de uma
aplicação. Ao contrário das bibliotecas, é o framework quem dita o fluxo de
controle da aplicação.
• Vantagens em se usar um Framework
• Menor esforço no desenvolvimento (Cria-se o conteúdo uma única vez)
• Facilidade de manutenção (Por ter base de dados única)
• Possibilidade de acesso transparente, ajustando-se automaticamente ao
dispositivo que solicitou o conteúdo sem intervenção do usuário.
6. Harmonização entre Web, TV
Digital e dispositivos móveis
Para desenvolver adequadamente o framework Interop, houve a
necessidade de estudos detalhados dos principais recursos e restrições
das plataformas Web, TV Digital e dispositivos móveis, com o objetivo de
minimizar o esforço de criação de cursos. Em um estudos realizados , foram
analisadas questões como diferenças físicas, de software (tipo de
navegadores), de linguagem de programação, formatos de mídias
suportados, de usabilidade e de interface.
O objetivo maior é que o conteúdo seja o mesmo, disponibilizado numa
origem única, acessada pelo navegador do cliente, independente do tipo
de dispositivo
7. Dispositivos móveis
• Possuem baixo poder de processamento, monitor pequeno,
são leves e portáteis. No ambiente de aplicações declarativas
contam com diferentes navegadores e no ambiente procedural
prevalecem as linguagens C/C++ (e suas variantes, como o
Symbian C++) e o Java. Em relação às recomendações de
usabilidade, elas são semelhantes às para PCs, com cores de fonte
escura sobre fundo claro. Esses web browsers geralmente dão
suporte a um único tipo de fonte próprio de seu mini browser,
permitindo alterar apenas seu tamanho. É recomendado Título
1 sendo 18px, Título 2 sendo 16px e texto 12px.
8. TV Digital
• Os Terminais de Acesso atuais possuem baixo poder de
processamento, porém com monitor grande, chegando a Full
HD, de 1920x1080px. A gama de televisões atuais é muito
grande e o ideal é que as aplicações levem em conta esse fato.
• Embora cada fabricante implemente o seu interpretador
XHTML, a especificação é aberta e os fabricantes devem seguir a
norma ABNT NBR 15604 (ABNT 2007a), que define o middleware
Ginga para receptores fixos e móveis, assim como todos os
recursos obrigatórios.
• A linguagem de programação declarativa utilizada nos terminais de
acesso é baseada na norma ABNT NBR 15606-2 (ABNT 2007b),
do middleware Ginga, contemplando as linguagens NCL e Lua
Script (Ginga-NCL).
9. Ginga
• Ginga é a camada de software intermediário (middleware) que
permite o desenvolvimento de aplicações interativas para a TV
Digital de forma independente da plataforma de hardware dos
fabricantes de terminais de acesso.
• O Middleware Ginga pode ser dividido em dois subsistemas
principais, que permitem o desenvolvimento de aplicações
seguindo dois paradigmas de programação diferentes.
Dependendo das funcionalidades requeridas no projeto de cada
aplicação, um paradigma possuirá uma melhor adequação que o
outro.
http://www.softwarepublico.gov.br/vercomunidade?community_id=1101545
10. Computadores na WEB
• possuem altíssimo poder de processamento e monitor
grande (tipicamente LCD de 17” a 19”, pelo menos). É a
plataforma mais flexível, podendo utilizar diversos tipos
de navegadores.
• Pode utilizar praticamente qualquer linguagem de
programação, inclusive simultaneamente, além de
qualquer conjunto de fontes, adaptável de acordo com a
mensagem transmitida. A interface recomendada é variada,
porém a sugestão é de cores de fonte escura sobre
fundo claro. A forma de uso normalmente é 1x1, ou seja,
o usuário utiliza individualmente.
11. Interpretador XTHML
• O XHTML, ou eXtensible Hypertext Markup Language, é uma
reformulação da linguagem de marcação HTML, baseada em XML.
Combina as tags de marcação HTML com regras da XML. Este
processo de padronização tem em vista a exibição de páginas Web
em diversos dispositivos (televisão, palm, celular, etc). Sua
intenção é melhorar a acessibilidade.
• O XHTML consegue ser interpretado por qualquer dispositivo,
independentemente da plataforma utilizada, pois as marcações
possuem sentido semântico para as máquinas. O HTML não
consegue esta implementação. No entanto, não existem muitas
diferenças entre o HTML e o XHTML.
12. Planejamento de interface
• Normalmente não é baseado em questões técnicas, e sim em
recomendações de usabilidade, de modo a facilitar a
navegação por parte dos usuários. Ao contrário do tipo
das mídias, a interface não deve ser utilizada sem
modificações para as três plataformas, visto que a
usabilidade seria prejudicada por causa das diferentes
características. Desse modo, é importante que a interface
seja adaptada para cada tipo de dispositivo.
14. Detecção automática do tipo
de dispositivo cliente
• Para que o Interop reconheça qual tipo de dispositivo está
acessando o conteúdo e consiga fazer a adaptação para ele, é
necessário que analise o conteúdo dos cabeçalhos HTTP, onde o
mais importante é o user-agent. Através de palavras-chaves dentro
do user-agent é possível descobrir qual é o dispositivo.
17. Mudança dinâmica de
referência a recursos
• Quando há mais de uma versão de arquivo ou resoluções
diferentes para cada tipo de dispositivo, utiliza-se sufixo de
identificação para cada um deles. Foram adotados os sufixos
“_mobile” (para dispositivos móveis) e “_tdv” (Para TVs Digitais).
Assim, além do arquivo padrão, terão mais dois constando o nome
mais o sufixo dos dispositivos.
18. Geração condicional de
código XHTML
• Ainda é possível ocultar conteúdos para certos dispositivos.
São utilizados atributos que não existem no XHTML, são eles:
displayMobile (Para dispositivos móveis), displayTV (Para
TVs Digitais) e displayWeb (Para computadores).