# CE-HTML

CE-HTML is een taal om gebruikersinterface pagina's te maken voor consumentenelektronicaapparaten (CE) zoals televisies. Deze CE-HTML-pagina's worden gebruikelijkerwijs op een server geplaatst en zijn gebaseerd op een zogenaamde "10-foot user interface". Dit is een gebruikersinterface welke geschikt is voor eenvoudige besturing op afstand door het toepassen van grote letters en bediening met een afstandsbediening. CE-HTML is een deelverzamelingstaal van gebruikelijke open internettalen en wordt ook wel XHTML-profiel genoemd.
CE-HTML maakt deel uit van de CEA-2014-norm (ook wel Web4CE genoemd), gedefinieerd binnen de Consumer Electronics Association – een consortium van grote consumentenelektronicabedrijven.

## Eigenschappen

CE-HTML bestaat uit de volgende internettalen:
* Ecmascript 262, 3e editie
* XHTML 1.0 transitional/strict
* CSS TV Profile 1.0
* XMLHttpRequest object
* DOM level 2.0 (Core, Style, Events, HTML)
* een aantal specifieke uitbreidingen voor CE-apparaten.
CE-HTML kan zowel in-huis via UPnP alsmede via het internet worden gebruikt. Een CE-HTML-capabel CE-apparaat heeft gewoonlijk een webbrowser aan boord die is aangepast voor de CE-HTML-standaard. CE-HTML heeft namelijk specifieke uitbreidingen voor deze apparaten aan boord zoals:
* Multi-tap of een andere CE-specifieke mogelijkheid om tekst in te voeren, door gebruik te maken van de CSS3-tag "input-format".
* media(audio/video)afspeelmogelijkheden door het gebruik van een audio/videoscriptobject.
* bediening via de afstandsbediening ("spatial navigation") door gebruik te maken van de op-, neer-, links-, rechts- en OK-knoppen
* zogenaamde "client capability matching" om de eigenschappen van het CE-apparaat te koppelen aan de gebruikersinterface die de server aanbiedt. Zo kunnen bijvoorbeeld beeldschermgrootte en bedieningsmogelijkheden makkelijk worden uitgewisseld.
* gebruikersinterfaceprofielen voor gebruik op CE-apparaten zoals televisies. Dit zijn voorgedefinieerde profielen waarop een CE-apparaat zijn capaciteiten kan baseren. Ze leggen bijvoorbeeld vast welke lettertypen er worden ondersteund, welke schermgrootte het apparaat heeft en de bestandsformaten voor audio en video die worden ondersteund.
* notificaties die het apparaat de mogelijkheid geven naar berichten van een server te luisteren, en deze aan de gebruiker te tonen.
* een specifiek nieuw mime-type (identificatiestring) voor CE-HTML-pagina's: "application/ce-html+xml".
Typische CE-HTML-code ziet er zo uit:

## Geschiedenis

CE-HTML werd ontwikkeld binnen de R7WG9-werkgroep van de Consumer Electronics Association - bestaande uit een aantal grote consumentenelektronica-bedrijven - om een antwoord te verzinnen op het probleem van het tonen van HTML-(internet)pagina's op een apparaat dat niet de eigenschappen heeft van een personal computer. CE-apparaten hebben problemen met het tonen van normale internetpagina's doordat deze gebruikmaken van:
* kleine lettertypen en plaatjes, die slecht leesbaar zijn van een apparaat als bijvoorbeeld een televisie
* alleen muis- of toetsenbordnavigatie op een pagina; geen mogelijkheid om te navigeren met een afstandsbediening
* geen oplichtende elementen op een pagina waardoor een gebruiker niet ziet waar hij zich op de pagina bevindt
* zeer veel niet uitwisselbare (DOM level 0/legacy DOM) elementen
* geen standaardaudio- en -videomogelijkheden
* het gebruik van gesloten, niet uitwisselbare standaarden als bijvoorbeeld Adobe Flash
Verder is het moeilijk om internetpagina's eenduidig voor CE-apparaten beschikbaar te maken doordat deze apparaten vaak verschillende eigenschappen hebben. Denk hierbij aan verschillende schermgroottes, afstandsbedieningen en audio/video-codecs.

## Gebruik

CE-HTML wordt steeds meer toegepast in andere (open) standaarden, zoals die van het Open IPTV Forum en de Digital Living Network Alliance (vanaf versie 2).
Philips heeft de eerste televisies die gebruikmaken van CE-HTML met de Net TV eigenschap in april 2009 gelanceerd. Internettelevisies worden ook gelanceerd door Samsung, Panasonic en Sony, alhoewel deze bedrijven hun apparaten op andere talen baseren.

## Verwijzingen

* ↑ CE-HTML for remote user interfaces for consumer devices
* ↑ Web4CE: Accessing Web-based Applications on Consumer Devices
* ↑ Consumer Electronics Association: CEA-2014
* ↑ http://www.ecma-international.org/publications/standards/Ecma-262.htm Ecmascript 262, 3rd edition. Gearchiveerd op 22 december 2020.
* ↑ XHTML 1.0 transitional/strict. Gearchiveerd op 26 mei 2023.
* ↑ CSS TV Profile 1.0. Gearchiveerd op 9 februari 2023.
* ↑ The XMLHttpRequest object. Gearchiveerd op 30 maart 2023.
* ↑ DOM level 2.0 Core. Gearchiveerd op 22 maart 2023.
* ↑ https://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113 DOM level 2.0 Style. Gearchiveerd op 11 mei 2023.
* ↑ https://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113 DOM level 2.0 Events. Gearchiveerd op 22 maart 2023.
* ↑ DOM level 2.0 HTML. Gearchiveerd op 2 april 2023.
* ↑ CSS3 working draft. Gearchiveerd op 16 mei 2023.
* ↑ CEA-2014 errata
* ↑ CELF-2007 CEA-2014 standard introduction
* ↑ Open IPTV Forum - Declarative Application Environment
* ↑ Digital Living Network Alliance
* ↑ Philips Net TV brengt internet naar de televisie. Gearchiveerd op 1 februari 2023.
* ↑ Televisies met internet op de markt, NOS Journaal 28 april 2009
* ↑ http://www.inquisitr.com/2673/samsung-internet-enabled-televisions-this-year/ Samsung internet enabled televisions this year
* ↑ Panasonic Vieracast internet enabled plasmas due this summer
* ↑ Sony Bravia internet video link box. Gearchiveerd op 7 november 2018. Geraadpleegd op 9 juni 2023.
* ↑ http://connectedtv.yahoo.com/developer Samsung Connected TV Yahoo. Gearchiveerd op 24 oktober 2013.
* ↑ Linux device links TVs to Internet videos