SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Tuesday, December 2, 2008




             Aplicações Web+TV no Meo
                                  > Bernardo Cardoso <
                          IAD3 – Televisão digital e serviços IPTV




Portugal Telecom Inovação, S.A.
Plataforma do Meo
Browser XHTML

•  Standards Suportados pelo Browser Mediaroom
  •    X-HTML 1.0 Strict
  •    CSS1.0, CSS 2.1
  •    ECMAScript (Javascript)
  •    DOM1, DOM2
  •    AJAX (XMLHTTPRequest)
  •    Cookies (por sessão, não são persistentes)

•  Formatos de Imagem Suportados
  •  GIF89a, JPEG, PNG (1 bit de transparência, não suporta
     alpha channel)

•  Não Suportado
  •  Plug-ins, Java, ActiveX, Flash ou Silverlight
Add-ons
•  Scaled Video, Mosaicos, PIPs, Windows Media

<a id=quot;tvquot; class=quot;tilequot; href=quot;tune:1quot; accesskey=quot;1quot;>
 <object class=quot;tvquot; type=quot;video/x-ms-iptvquot;>
  <param name=quot;urlquot; value=quot;tune:1quot; />
  <param name=quot;ispipquot; value=quot;0quot; />
  <img src=quot;tv.pngquot; class=quot;tvpngquot;/>
 </object>
</a>

•  url
    •  tune:<canal>
    •  mms://windowsmediaserver/file.wmv
    •  http://servidorweb/file.wmv
Resoluções

•  Browser suporta basicamente 640x480 (4:3) e
   854x480 (16:9) e faz uma adaptação “best fit”


                   640x480
   748x480
   854x480

                   (4:3)
     (14:9)
    (16:9)



 Cliente
em
4:3




Cliente
em
16:9

Resoluções
•  A informação do modo do cliente vai numa
   header
 Modo do cliente         Header 
 SD
4:3
                 UA‐WindowPixels:
640x480

 SD
16:9
                UA‐WindowPixels:
854x480

 720p
                   UA‐WindowPixels:
854x480

 1080i
                  UA‐WindowPixels:
854x480



•  A adaptação é feita com CSS
   •  <html style=quot;width:854px; height: 480px;quot;>

   •  <html class=quot;tvWidequot;>
   •  .tvWide { width: 854px; height: 480px; }

   •  window.external.pageColor = hexValue | colorString;
Input
•  O input é feito unicamente através de um
   telecomando

   <body onkeypress=quot;onRemoteEvent(window.event.keyCode)quot;>
   </body>

    function onRemoteEvent(keyChar)
    {
      switch (keyChar)
      {
         case 0x30:
         ….
       }
    }
Dicas para o Browser

•  Verificar que todas as páginas são XHTML válido
   •  http://validator.w3.org/

•  Usar posicionamento fixed ou absolute sempre que
   possível
•  Não incluir informação de estilos em cada elemento e
   tentar consolidar os atributos das classes
•  Colocar os estilos e atributos em ficheiros .css
•  Usar poucas imagens e só quando absolutamente
   necessário, não usar uma imagem grande quando um
   padrão funcionar igualmente bem
Dicas para o Browser

•  Em ECMAScript não iterar no DOM
   repetidamente, guardar referências para os
   objectos encontrados em variáveis sempre
   que possível
•  Usar CSS e não ECMAScript para rollovers

•  Evitar ao máximo animações nas transições
•  Colocar o ECMAScript em ficheiros .js

•  Criar ECMAScript o mais reduzido e eficiente
   possível
Dicas para o Browser
<object id=quot;loadAreaquot; type=quot;text/htmlquot; data=“dados.html”>
</object>


domElement.style = quot;font: 12px; background-color: bluequot;;
domElement.setAttribute(quot;stylequot;, quot;font: 12px; background-color: bluequot;);


domElement.style.fontSize = quot;12pxquot;;
domElement.style.backgroundColor = quot;bluequot;;

domElement.class = quot;readquot;;


.innerText; .innerHTML

function AppendText(element, textToAdd)
  {
    var p = document.createElement(quot;pquot;);
    p.appendChild(document.createTextNode(textToAdd + quot; quot;));
    element.appendChild(p);
  }
Dicas para TV

•  As televisões CRT, Plasmas e LCDs fazem overscan e
   cortam parte da imagem, deixar margem de segurança
•  A TV vê-se a alguma distância, usar texto o maior
   possível, evitar tamanhos inferiores a 16/18
•  Evitar linhas de apenas 1 pixel, em CRTs causam
   flicker
•  As cores na TV resultam diferente do que no PC, testar
   em várias TVs
•  Usar cores bem contrastadas para melhorar a
   legibilidade
•  Verificar que os itens são facilmente acessíveis com
   um telecomando
Especial para o Concurso

•  EPG
  •  http://services.sapo.pt/Metadata/Service/EPG

  •    GetChannelByDateInterval
  •    GetChannelDetail
  •    GetChannelList
  •    GetChannelListByDateInterval
  •    GetMeoChannelListByCommercialOfferId
  •    GetMeoCommercialOffers
  •    GetProgramById
  •    GetProgramListByChannelDateInterval
Q&A
Obrigado

Contenu connexe

En vedette

Oficina - Produção de vídeo para TV
Oficina - Produção de vídeo para TVOficina - Produção de vídeo para TV
Oficina - Produção de vídeo para TVGabriel Galli
 
Google tv desafios e oportunidades na tv conectada
Google tv desafios e oportunidades na tv conectadaGoogle tv desafios e oportunidades na tv conectada
Google tv desafios e oportunidades na tv conectadaAécio Costa
 
Producao de conteudo para WEB TV
Producao de conteudo para WEB TVProducao de conteudo para WEB TV
Producao de conteudo para WEB TVCristina Felix
 
Planejamento e Estratégia em Redes Sociais - parte 2
Planejamento e Estratégia em Redes Sociais - parte 2Planejamento e Estratégia em Redes Sociais - parte 2
Planejamento e Estratégia em Redes Sociais - parte 2Ana Brambilla
 
Análise do Blog Garotas Estupidas
Análise do Blog Garotas EstupidasAnálise do Blog Garotas Estupidas
Análise do Blog Garotas EstupidasCarlos Alves
 
Midia Kit - Blog Papo Empreendedor
Midia Kit - Blog Papo EmpreendedorMidia Kit - Blog Papo Empreendedor
Midia Kit - Blog Papo EmpreendedorGuilherme Junqueira
 
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...Rio Info
 
Marketing nas Redes Sociais como fazer divulgação com menos riscos
Marketing nas Redes Sociais como fazer divulgação com menos riscosMarketing nas Redes Sociais como fazer divulgação com menos riscos
Marketing nas Redes Sociais como fazer divulgação com menos riscosDiego Monteiro
 
MÍDIA KIT POTENCIAL FEMININO
MÍDIA KIT POTENCIAL FEMININOMÍDIA KIT POTENCIAL FEMININO
MÍDIA KIT POTENCIAL FEMININOCinthiaKelly
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesNed Potter
 

En vedette (20)

Oficina - Produção de vídeo para TV
Oficina - Produção de vídeo para TVOficina - Produção de vídeo para TV
Oficina - Produção de vídeo para TV
 
Google tv desafios e oportunidades na tv conectada
Google tv desafios e oportunidades na tv conectadaGoogle tv desafios e oportunidades na tv conectada
Google tv desafios e oportunidades na tv conectada
 
Producao de conteudo para WEB TV
Producao de conteudo para WEB TVProducao de conteudo para WEB TV
Producao de conteudo para WEB TV
 
Planejamento e Estratégia em Redes Sociais - parte 2
Planejamento e Estratégia em Redes Sociais - parte 2Planejamento e Estratégia em Redes Sociais - parte 2
Planejamento e Estratégia em Redes Sociais - parte 2
 
Análise do Blog Garotas Estupidas
Análise do Blog Garotas EstupidasAnálise do Blog Garotas Estupidas
Análise do Blog Garotas Estupidas
 
Roteiro VT
Roteiro VTRoteiro VT
Roteiro VT
 
Midia Kit - Blog Papo Empreendedor
Midia Kit - Blog Papo EmpreendedorMidia Kit - Blog Papo Empreendedor
Midia Kit - Blog Papo Empreendedor
 
Exemplo de Mídia Kit para Blog
Exemplo de Mídia Kit para BlogExemplo de Mídia Kit para Blog
Exemplo de Mídia Kit para Blog
 
Modelo de projeto tv
Modelo de projeto tvModelo de projeto tv
Modelo de projeto tv
 
Roteiro Para TV
Roteiro Para TVRoteiro Para TV
Roteiro Para TV
 
Roteiro com textos
Roteiro com textosRoteiro com textos
Roteiro com textos
 
Palestra Web Tv
Palestra Web TvPalestra Web Tv
Palestra Web Tv
 
Apresentacao profissao gamers
Apresentacao profissao gamersApresentacao profissao gamers
Apresentacao profissao gamers
 
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...
28/09/2011 - 14h às 16h - convergência digital - tecnologia ginga oportunidad...
 
Tv web
Tv webTv web
Tv web
 
ESPORTESNET - Torne-se parceiro
ESPORTESNET - Torne-se parceiroESPORTESNET - Torne-se parceiro
ESPORTESNET - Torne-se parceiro
 
Webcast TV Br
Webcast TV BrWebcast TV Br
Webcast TV Br
 
Marketing nas Redes Sociais como fazer divulgação com menos riscos
Marketing nas Redes Sociais como fazer divulgação com menos riscosMarketing nas Redes Sociais como fazer divulgação com menos riscos
Marketing nas Redes Sociais como fazer divulgação com menos riscos
 
MÍDIA KIT POTENCIAL FEMININO
MÍDIA KIT POTENCIAL FEMININOMÍDIA KIT POTENCIAL FEMININO
MÍDIA KIT POTENCIAL FEMININO
 
UX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and ArchivesUX, ethnography and possibilities: for Libraries, Museums and Archives
UX, ethnography and possibilities: for Libraries, Museums and Archives
 

Similaire à Aplicações Web+TV no Meo

Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaJorge Walendowsky
 
Performance e boas_praticas_de_web
Performance e boas_praticas_de_webPerformance e boas_praticas_de_web
Performance e boas_praticas_de_webThiago Verly
 
Desenvolvimento Web Com Ajax
Desenvolvimento Web Com AjaxDesenvolvimento Web Com Ajax
Desenvolvimento Web Com Ajaxelliando dias
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebBruno Borges
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaBreno Vitorino
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheElton Minetto
 
Portlets: Let them make your virtual world
Portlets: Let them make your virtual worldPortlets: Let them make your virtual world
Portlets: Let them make your virtual worldelliando dias
 
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVDesenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVmulder3
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanosCaike Souza
 
II Oficina de Webdesign - Lecom
II Oficina de Webdesign - LecomII Oficina de Webdesign - Lecom
II Oficina de Webdesign - Lecommugga
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Bruno Borges
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGiljefesrodrigues
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Rodrigo Kono
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHPigorpimentel
 

Similaire à Aplicações Web+TV no Meo (20)

Edição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a pontaEdição de conteúdo web usando Javascript de ponta a ponta
Edição de conteúdo web usando Javascript de ponta a ponta
 
Performance e boas_praticas_de_web
Performance e boas_praticas_de_webPerformance e boas_praticas_de_web
Performance e boas_praticas_de_web
 
Desenvolvimento Web Com Ajax
Desenvolvimento Web Com AjaxDesenvolvimento Web Com Ajax
Desenvolvimento Web Com Ajax
 
Java mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento WebJava mais ágil que nunca no desenvolvimento Web
Java mais ágil que nunca no desenvolvimento Web
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em Java
 
Melhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCacheMelhorando a performance de aplicações com o uso do MemCache
Melhorando a performance de aplicações com o uso do MemCache
 
Portlets: Let them make your virtual world
Portlets: Let them make your virtual worldPortlets: Let them make your virtual world
Portlets: Let them make your virtual world
 
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTVDesenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
Desenvolvimento de Aplicacoes de TV interactiva na plataforma MEO IPTV
 
Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
PHP - Programação para seres humanos
PHP - Programação para seres humanosPHP - Programação para seres humanos
PHP - Programação para seres humanos
 
II Oficina de Webdesign - Lecom
II Oficina de Webdesign - LecomII Oficina de Webdesign - Lecom
II Oficina de Webdesign - Lecom
 
Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6Apps Web em Wicket e Scala no GlassFish Java EE 6
Apps Web em Wicket e Scala no GlassFish Java EE 6
 
Html5
Html5Html5
Html5
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Puppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGilPuppet – Torne Seu Datacenter áGil
Puppet – Torne Seu Datacenter áGil
 
Apache Wicket
Apache WicketApache Wicket
Apache Wicket
 
nDeveloper Framework
nDeveloper FrameworknDeveloper Framework
nDeveloper Framework
 
Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3Surpreenda-se com o Silverlight 3
Surpreenda-se com o Silverlight 3
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 

Plus de codebits

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands Oncodebits
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101codebits
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based appscodebits
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-Oncodebits
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Webcodebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...codebits
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunnercodebits
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPPcodebits
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-Oncodebits
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencercodebits
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumbycodebits
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossárioscodebits
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduçõescodebits
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Javacodebits
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-Oncodebits
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008codebits
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigascodebits
 

Plus de codebits (20)

Gis SAPO Hands On
Gis SAPO Hands OnGis SAPO Hands On
Gis SAPO Hands On
 
Forms Usability 101
Forms Usability 101Forms Usability 101
Forms Usability 101
 
Speak up: como criar Speech-based apps
Speak up: como criar Speech-based appsSpeak up: como criar Speech-based apps
Speak up: como criar Speech-based apps
 
XMPP Hands-On
XMPP Hands-OnXMPP Hands-On
XMPP Hands-On
 
Mitos da Acessibilidade Web
Mitos da Acessibilidade WebMitos da Acessibilidade Web
Mitos da Acessibilidade Web
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
 
CouchDB
CouchDBCouchDB
CouchDB
 
Getting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko FreerunnerGetting started with mobile devices development - Openmoko Freerunner
Getting started with mobile devices development - Openmoko Freerunner
 
Exploring XMPP
Exploring XMPPExploring XMPP
Exploring XMPP
 
Sapo BUS Hands-On
Sapo BUS Hands-OnSapo BUS Hands-On
Sapo BUS Hands-On
 
Qtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencerQtractor - An Audio/MIDI multi-track sequencer
Qtractor - An Audio/MIDI multi-track sequencer
 
Making the Chumby
Making the ChumbyMaking the Chumby
Making the Chumby
 
Globs - Gestão de Glossários
Globs - Gestão de GlossáriosGlobs - Gestão de Glossários
Globs - Gestão de Glossários
 
ATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de TraduçõesATrad - Sistema de Garantia de Qualidade de Traduções
ATrad - Sistema de Garantia de Qualidade de Traduções
 
Alto Desempenho com Java
Alto Desempenho com JavaAlto Desempenho com Java
Alto Desempenho com Java
 
Sapo GIS Hands-On
Sapo GIS Hands-OnSapo GIS Hands-On
Sapo GIS Hands-On
 
Gis@sapo
Gis@sapoGis@sapo
Gis@sapo
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Optimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de FormigasOptimização de pesquisas Web utilizando Colónias de Formigas
Optimização de pesquisas Web utilizando Colónias de Formigas
 

Aplicações Web+TV no Meo

  • 1. Tuesday, December 2, 2008 Aplicações Web+TV no Meo > Bernardo Cardoso < IAD3 – Televisão digital e serviços IPTV Portugal Telecom Inovação, S.A.
  • 3. Browser XHTML •  Standards Suportados pelo Browser Mediaroom •  X-HTML 1.0 Strict •  CSS1.0, CSS 2.1 •  ECMAScript (Javascript) •  DOM1, DOM2 •  AJAX (XMLHTTPRequest) •  Cookies (por sessão, não são persistentes) •  Formatos de Imagem Suportados •  GIF89a, JPEG, PNG (1 bit de transparência, não suporta alpha channel) •  Não Suportado •  Plug-ins, Java, ActiveX, Flash ou Silverlight
  • 4. Add-ons •  Scaled Video, Mosaicos, PIPs, Windows Media <a id=quot;tvquot; class=quot;tilequot; href=quot;tune:1quot; accesskey=quot;1quot;> <object class=quot;tvquot; type=quot;video/x-ms-iptvquot;> <param name=quot;urlquot; value=quot;tune:1quot; /> <param name=quot;ispipquot; value=quot;0quot; /> <img src=quot;tv.pngquot; class=quot;tvpngquot;/> </object> </a> •  url •  tune:<canal> •  mms://windowsmediaserver/file.wmv •  http://servidorweb/file.wmv
  • 5. Resoluções •  Browser suporta basicamente 640x480 (4:3) e 854x480 (16:9) e faz uma adaptação “best fit” 640x480
 748x480
 854x480
 (4:3)
 (14:9)
 (16:9)
 Cliente
em
4:3
 Cliente
em
16:9

  • 6. Resoluções •  A informação do modo do cliente vai numa header Modo do cliente  Header  SD
4:3
 UA‐WindowPixels:
640x480
 SD
16:9
 UA‐WindowPixels:
854x480
 720p
 UA‐WindowPixels:
854x480
 1080i
 UA‐WindowPixels:
854x480
 •  A adaptação é feita com CSS •  <html style=quot;width:854px; height: 480px;quot;> •  <html class=quot;tvWidequot;> •  .tvWide { width: 854px; height: 480px; } •  window.external.pageColor = hexValue | colorString;
  • 7. Input •  O input é feito unicamente através de um telecomando <body onkeypress=quot;onRemoteEvent(window.event.keyCode)quot;> </body> function onRemoteEvent(keyChar) { switch (keyChar) { case 0x30: …. } }
  • 8. Dicas para o Browser •  Verificar que todas as páginas são XHTML válido •  http://validator.w3.org/ •  Usar posicionamento fixed ou absolute sempre que possível •  Não incluir informação de estilos em cada elemento e tentar consolidar os atributos das classes •  Colocar os estilos e atributos em ficheiros .css •  Usar poucas imagens e só quando absolutamente necessário, não usar uma imagem grande quando um padrão funcionar igualmente bem
  • 9. Dicas para o Browser •  Em ECMAScript não iterar no DOM repetidamente, guardar referências para os objectos encontrados em variáveis sempre que possível •  Usar CSS e não ECMAScript para rollovers •  Evitar ao máximo animações nas transições •  Colocar o ECMAScript em ficheiros .js •  Criar ECMAScript o mais reduzido e eficiente possível
  • 10. Dicas para o Browser <object id=quot;loadAreaquot; type=quot;text/htmlquot; data=“dados.html”> </object> domElement.style = quot;font: 12px; background-color: bluequot;; domElement.setAttribute(quot;stylequot;, quot;font: 12px; background-color: bluequot;); domElement.style.fontSize = quot;12pxquot;; domElement.style.backgroundColor = quot;bluequot;; domElement.class = quot;readquot;; .innerText; .innerHTML function AppendText(element, textToAdd) { var p = document.createElement(quot;pquot;); p.appendChild(document.createTextNode(textToAdd + quot; quot;)); element.appendChild(p); }
  • 11. Dicas para TV •  As televisões CRT, Plasmas e LCDs fazem overscan e cortam parte da imagem, deixar margem de segurança •  A TV vê-se a alguma distância, usar texto o maior possível, evitar tamanhos inferiores a 16/18 •  Evitar linhas de apenas 1 pixel, em CRTs causam flicker •  As cores na TV resultam diferente do que no PC, testar em várias TVs •  Usar cores bem contrastadas para melhorar a legibilidade •  Verificar que os itens são facilmente acessíveis com um telecomando
  • 12. Especial para o Concurso •  EPG •  http://services.sapo.pt/Metadata/Service/EPG •  GetChannelByDateInterval •  GetChannelDetail •  GetChannelList •  GetChannelListByDateInterval •  GetMeoChannelListByCommercialOfferId •  GetMeoCommercialOffers •  GetProgramById •  GetProgramListByChannelDateInterval
  • 13.
  • 14.
  • 15. Q&A