SlideShare una empresa de Scribd logo
1 de 34
Desarrollo de un Widget de Yahoo!
 Connected TV para solicitud de
      Cita Médica en el SAS
                      María León Bujes

                Tutor: Dr. Ramón Cerquides Bueno
       Departamento de Teoría de la Señal y Comunicaciones
             Escuela Superior de Ingenieros de Sevilla


                    30 de Marzo de 2012
OBJETIVOS DEL PROYECTO


            Desarrollo de un widget de Yahoo! Connected TV para solicitar,
            consultar y cancelar cita médica en el SAS desde el televisor.




                                                        Widget de Cita Médica:
                                                         Nueva forma de acceso al
                                                         servicio de petición de
                                                         cita médica ofrecido por
                                                         InterS@S.




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
OBJETIVOS DEL PROYECTO

          ¿Por qué desarrollar el Widget de Cita Médica?
           El widget puede servir para hacer llegar el servicio
           ofertado por InterS@S a un mayor número de usuarios.




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
PERO, ¿QUÉ ES UN WIDGET?

            Definición de Widget
            Un widget es una pequeña aplicación o programa.
            Los widgets son ejecutados por un motor de widgets.




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
SMART TV: CONCEPTO


   Connected TV                             Integración de contenidos y servicios
      Hybrid TV                             de Internet en los modernos aparatos
                                            de televisión o set top boxes.
       Smart TV




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
PLATAFORMAS DE SMART TV EXISTENTES


 Específicas del fabricante

                                 De organizaciones
 Disponibles para                de estandarización
 múltiples fabricantes
                                 De editores específicos



                                                        Las compañías de Internet
                                                        han advertido el potencial
                                                        de las Connected TVs y han
                                                        creado sus plataformas.


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
PLATAFORMA YAHOO! CONNECTED TV

      Yahoo! Connected TV: Plataforma de pequeñas aplicaciones o
      widgets que adaptan servicios y contenidos de la Red al medio
      televisivo.

                           Interactividad Broadcast
     Novedades
                           Nuevo protocolo de comunicación de dispositivos

     Televisores



     Set top box



DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
YAHOO! CONNECTED TV: INTERFAZ DE USUARIO


                                                                Snippet
          Los widgets de Yahoo!                                 Sidebar view
          presentan tres vistas básicas
                                                                Full Screen

 Vista de Snippet                                   Vista lateral




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
YAHOO! CONNECTED TV: DISPOSITIVO DE ENTRADA



                                                      Dispositivo de entrada


                                                          Mando a Distancia


                                WIDGETS                   Dispositivo modal
                                EXIT
                                UP ARROW                  Teclas con distintas
                                RIGHT ARROW
                                OK
                                LEFT ARROW
                                                       funciones según el modo.
                                DOWN ARROW
                                BACK
                                VIEWPORT
                                ADD A SNIPPET
                                SETTINGS
                                CLOSE

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
¿ JAVASCRIPT EN SMART TVs ?

         JavaScript se usa ya en:

                            Navegadores

                             Servidores

                             Dispositivos Móviles


                   ¿Por qué no usarlo también en
                      televisores conectados?

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA PLATAFORMA


         Elementos que intervienen en el funcionamiento
         de la plataforma Yahoo! Connected TV:


                             Widgets instalados en el televisor

                             El KONtx Framework

                             El Motor de JavaScript SpiderMonkey

                             El Motor de Widgets de Yahoo!

                             Sistema Operativo Linux embebido


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
EL KONTX FRAMEWORK (I)

       Metodología de desarrollo basada en el KONtx Framework

           Controles estándar

           Las vistas se crean extendiendo las clases base de vista…
                                   KONtx.system.SnippetView
                                   KONtx.system.AnchorSnippetView
             Clases base           KONtx.system.ProfileSnippetView
               de vista            KONtx.system.SidebarView
                                   KONtx.system.FullscreenView

         …y sobrescribiendo los métodos createView() y updateView()


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
EL KONTX FRAMEWORK (II)



                                                       Comunicaciones del widget
                                                       con el Widget Engine a través
                                                       del KONtx Framework




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
GESTIÓN DE EVENTOS

       Comunicación entre el widget y el Widget Engine
      Evento del                   KONtx.application                   KONtx.system.Event
     Widget Engine

           Host Events
             El widget se suscribe a ellos por medio de subscribeTo()


           Child Events
            Enviados al Widget Engine por medio de KONtx.HostEventManager.send()

         Es posible construir sistemas de eventos personalizados
         usando la clase KONtx.system.Event

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA APLICACIÓN




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA APLICACIÓN




                                1




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA APLICACIÓN

                                                   2




                                1




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA APLICACIÓN

                                                   2


                                                   3




                                1




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
FUNCIONAMIENTO DE LA APLICACIÓN

                                                   2


                                                   3



                                         4
                                1




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
DESARROLLO CON EL SIMULADOR

       Yahoo Widget Engine-Widget Development Kit

                                                         Funcionamiento testeado sobre
       Paquete Debian YWE-WDK                            máquina virtual Ubuntu 10.04
                                                            distribuida por Yahoo!


       Equipo utilizado: Portatil TOSHIBA Satellite L655.
                                  Procesador Intel Core i5 CPU M480 @ 2.67GHz.
                                  4,00 GB de memoria RAM.
                                  S.O. Windows 7 de 64 bits.


      Software de Virtualización: VMware Player 3.0.0
                                               (también testeado sobre Virtual Box 4.1.10)

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
ARCHIVOS DEL WIDGET DE CITA MÉDICA

                       widgetID-versionNumber.widget

                                es.us.widgets.tv.cita8-0.2.8.widget


    Estructura de carpetas dentro
    del directorio Contents




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       Inicialización de las vistas en init.js
          KONtx.application.init({
              views: [
                   { id: 'view-Main', viewClass: MainView },
                   { id: 'view-IntroducirDatos', viewClass: VistaIntroducirDatos },
                   { id: 'view-Esperar', viewClass: VistaEsperar },
                   { id: 'view-MostrarDias', viewClass: VistaMostrarDias },
                   { id: 'view-MostrarHoras', viewClass: VistaMostrarHoras },
                   { id: 'view-CitaAsignada', viewClass: VistaCitaAsignada },
                   { id: 'view-Informacion', viewClass: VistaInformacion },
                   { id: 'view-InformacionError', viewClass: VistaInformacionError },
                   { id: 'view-OtroDia', viewClass: VistaOtroDia },
                   { id: 'view-About', viewClass: AboutView },
                   { id: 'snippet-1', viewClass: SnippetView, data: { message1: "Versión 2.0",
                   message2: "Cita Médica" , message3: "Servicio Andaluz de Salud"} },
              ],
              defaultViewId: 'view-Main',
              settingsViewId: 'view-About',
          });
DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       Peticiones con XMLHttpRequest
          function funcion_xmlhttprequest(o){
               if (KONtx.application.isPhysicalNetworkDown()) {
                     KONtx.utility.WaitIndicator.off();
                     return; }
               var xhr = new XMLHttpRequest();
               xhr.autoRedirect = true;
               xhr.open(o.metodo, o.url, true);
               xhr.onreadystatechange = function () {
                     if (xhr.readyState === 4) {
                           if (xhr.status === 200) {
                                 o.success(xhr);
                                 KONtx.application.setNetworkRequestFailed(false);
                           } else {
                                 o.error();
                                 KONtx.application.setNetworkRequestFailed(true); }
                     }
               }
          }
DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       Gestión de estado de desconexión

        var EventHandlers = (function () {
              return {
                    onApplicationStartup: function () {
                        funcion_xmlhttprequest(peticion0);
                    },
                    onActivateSnippet:function () {
                        KONtx.application.setNetworkRequestFailed(false);
                        funcion_xmlhttprequest(peticion0);
                    }
               }
        }());

        EventHandlers.onApplicationStartup.subscribeTo(KONtx.application, "onApplicatio
        nStartup", EventHandlers);
        EventHandlers.onActivateSnippet.subscribeTo(KONtx.application, "onActivateSnip
        pet", EventHandlers);


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       Compatibilidad hacia atrás
       if (typeof KONtx.application.isPhysicalNetworkDown === "undefined") {
             (function () {
                   var original = KONtx.application.setNetworkRequestFailed,
                   setDownByUser = false;
                   delete KONtx.application.setNetworkRequestFailed;
                   KONtx.application.setNetworkRequestFailed = function (status) {
                        original(status);
                        setDownByUser = status;
                   };
                   KONtx.application.isPhysicalNetworkDown = function () {
                        if (KONtx.application.getNetworkDownStatus) {
                              return !setDownByUser;
                        }
                        return false;
                   };
             }());
       }

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       JSON Parser


                                              JSON
                        Servidor Intermedio



             Función eval()                   Rápida pero acarrea problemas de seguridad.

                                              Entre 3 y 4 veces más rápido que la versión
                                              JavaScript.
           Analizador JSON                    Instancia global de la clase llamada JSON.
             del Yahoo!
            Widget Engine                      interface JSON {
                                                     variant parse( string inString );
                                                     string stringify( variant inValue );
                                               };


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA

       Gestión de usuarios guardados. Almacenamiento persistente

       Tres tipos de almacenamiento persistente para perfiles y widgets:
         Store currentAppConfig: Datos asociados al widget.
         Store currentAppData: Datos asociados al widget y al perfil.
         Store currentProfileData: Datos asociados al perfil.

       Métodos:
         Boolean delete (String key)
         String get (String key)
         Array getIDs()
         Boolean set (String key, String value)




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
WEB API EN EL SERVIDOR INTERMEDIO (PHP)

       Peticiones al servidor de InterS@S con libcurl

         Libcurl          protocolos
                          HTTP, HTTPS, FTP, FTPS, Gopher, Telnet, DICT, FILE, IMAP, IMAPS, LD
          (PHP 4.0.2)     AP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Teln
                          et y TFTP.
        Soporta certificados SSL, HTTP POST, HTTP PUT, subida de ficheros usando FTP,
        formularios HTTP, proxies y cookies.
               $curl = curl_init();
               curl_setopt ($curl, CURLOPT_URL, $url);
               curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
               curl_setopt ($curl, CURLOPT_USERAGENT, $agent);
               curl_setopt ($curl, CURLOPT_HEADER, 1);
               curl_setopt ($curl, CURLOPT_SSLVERSION, 3);
               curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, true);
               curl_setopt ($curl, CURLOPT_CAINFO, getcwd().'/FNMTClase2CA-FNMT.crt');
               curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 2);
               curl_setopt ($curl, CURLOPT_POST, 1);
               curl_setopt ($curl, CURLOPT_POSTFIELDS, $campos);
               $codigofuente = curl_exec ($curl);
               curl_close ($curl);
DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
WEB API EN EL SERVIDOR INTERMEDIO (PHP)

       Mantenimiento de la sesión
                               HTTP/1.1 200 OK
       Cabecera                Set-Cookie: name=value
                               Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT
         HTTP                  Content-type: text/html; charset=UTF-8
                               (contenido de la página)

       $start = strpos($codigofuente2, "Set-Cookie");                                  Código para
       $end = strpos($codigofuente2, "Content-Type");                                   extraer las
       $parts = split("Set-Cookie: ",substr($codigofuente2, $start, $end-$start));    cookies de la
       $cookies = array();
                                                                                     cabecera HTTP
       foreach ($parts as $co){
          $cd = split(";",$co);
          if (!empty($cd[0])){
               $cookies[] = $cd[0];
          }
       }
       $cookies_sesion=implode(";",$cookies);

         curl_setopt($curl3, CURLOPT_COOKIE, $cookies_sesion);
DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
WEB API EN EL SERVIDOR INTERMEDIO (PHP)

       Parseando la respuesta: librería Simple HTML Dom parser

                   Documento
                     HTML                        Dato que nos interesa


      Simple HTML Dom parser: Librería PHP para manipular HTML

            Se incluye como cualquier otra librería:

                 include_once('simple_html_dom.php');


           Es importante evitar el derroche de memoria que puede acarrear
           eliminando los objetos DOM creados al finalizar con ellos.


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
WEB API EN EL SERVIDOR INTERMEDIO (PHP)

       Producción de una cadena JSON. json_encode()


         Cadena
         Variable numérica                                              Cadena JSON
         Array (normal o asociativo)           json_encode()
         Objeto


      Producción de cadena JSON en la Web API alojada en el servidor intermedio:

         1 Los datos se almacenan en una Array Asociativo.
         2 El array se pasa como parámetro a la función json_encode() de PHP.
         3 Se ejecuta print ($json) donde $json=json_encode($array).


DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
SEGURIDAD DE LOS DATOS EN EL WIDGET DE CITA MÉDICA

       Certificado SSL en el servidor intermedio

       No podemos utilizar:
       Certificado autofirmado                              SSL 3.0
       Certificado de la FNMT




                                      ¿SSL?

      Lista de Autoridades
          Certificadoras
           reconocidas
        almacenada en el
          Firmware del
             televisor

DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
POSIBLES MEJORAS

       Mejoras interesantes:


      Permitir documento identificativo distinto al D.N.I.




      Evitar que las modificaciones en la aplicación web de
      InterS@S afectasen al Widget de Cita Médica.




      Recordatorio de “Cita próxima”.



DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
VÍDEO: EL WIDGET EN UN DISPOSITIVO REAL




                Testeo en un televisor SAMSUNG UE40B8000XW

                           Versión del KONtx Framework 1.3.12.C
                           Versión del Widget Engine 5.0.0




DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES

Más contenido relacionado

Destacado

Presentacion unidad móvil virtual para eng sobre hsupa
Presentacion unidad móvil virtual para eng sobre hsupaPresentacion unidad móvil virtual para eng sobre hsupa
Presentacion unidad móvil virtual para eng sobre hsupaJosé Ramón Cerquides Bueno
 
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...José Ramón Cerquides Bueno
 
Plataforma tdt interactiva servicios municipales para la provincia de sevilla
Plataforma tdt interactiva servicios municipales para la provincia de sevillaPlataforma tdt interactiva servicios municipales para la provincia de sevilla
Plataforma tdt interactiva servicios municipales para la provincia de sevillaJosé Ramón Cerquides Bueno
 
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamDecodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamJosé Ramón Cerquides Bueno
 
Campaña de benchmarking cobertura de telefonía móvil en entornos indoor
Campaña de benchmarking cobertura de telefonía móvil en entornos indoorCampaña de benchmarking cobertura de telefonía móvil en entornos indoor
Campaña de benchmarking cobertura de telefonía móvil en entornos indoorJosé Ramón Cerquides Bueno
 
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dDiseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dJosé Ramón Cerquides Bueno
 
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculoJosé Ramón Cerquides Bueno
 
Optimización de un sistema de audio fingerprinting para la detección de anunc...
Optimización de un sistema de audio fingerprinting para la detección de anunc...Optimización de un sistema de audio fingerprinting para la detección de anunc...
Optimización de un sistema de audio fingerprinting para la detección de anunc...José Ramón Cerquides Bueno
 
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...José Ramón Cerquides Bueno
 
Sistema inteligente de Reconocimiento de Anuncios de Televisión
Sistema inteligente de Reconocimiento de Anuncios de TelevisiónSistema inteligente de Reconocimiento de Anuncios de Televisión
Sistema inteligente de Reconocimiento de Anuncios de TelevisiónJosé Ramón Cerquides Bueno
 

Destacado (13)

Presentacion unidad móvil virtual para eng sobre hsupa
Presentacion unidad móvil virtual para eng sobre hsupaPresentacion unidad móvil virtual para eng sobre hsupa
Presentacion unidad móvil virtual para eng sobre hsupa
 
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...
Comparación de técnicas de detección de cambios de plano sobre vídeo comprido...
 
Plataforma tdt interactiva servicios municipales para la provincia de sevilla
Plataforma tdt interactiva servicios municipales para la provincia de sevillaPlataforma tdt interactiva servicios municipales para la provincia de sevilla
Plataforma tdt interactiva servicios municipales para la provincia de sevilla
 
Desarrollo de un simulador dvb t2 en simulink
Desarrollo de un simulador dvb t2 en simulinkDesarrollo de un simulador dvb t2 en simulink
Desarrollo de un simulador dvb t2 en simulink
 
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamDecodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
 
Campaña de benchmarking cobertura de telefonía móvil en entornos indoor
Campaña de benchmarking cobertura de telefonía móvil en entornos indoorCampaña de benchmarking cobertura de telefonía móvil en entornos indoor
Campaña de benchmarking cobertura de telefonía móvil en entornos indoor
 
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 dDiseño y resolución de prácticas para el laboratorio de televisión 3 d
Diseño y resolución de prácticas para el laboratorio de televisión 3 d
 
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo
147755331 presentacion-sistema-de-mensajeria-electronica-del-centro-de-calculo
 
Optimización de un sistema de audio fingerprinting para la detección de anunc...
Optimización de un sistema de audio fingerprinting para la detección de anunc...Optimización de un sistema de audio fingerprinting para la detección de anunc...
Optimización de un sistema de audio fingerprinting para la detección de anunc...
 
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...
Sustitución de sistemas st bs propietarios por raspberry pis en la red de pan...
 
Presentación pfc susana carrasco perez v2
Presentación pfc susana carrasco perez v2Presentación pfc susana carrasco perez v2
Presentación pfc susana carrasco perez v2
 
Sistema inteligente de Reconocimiento de Anuncios de Televisión
Sistema inteligente de Reconocimiento de Anuncios de TelevisiónSistema inteligente de Reconocimiento de Anuncios de Televisión
Sistema inteligente de Reconocimiento de Anuncios de Televisión
 
Presentacion carmenppt
Presentacion carmenpptPresentacion carmenppt
Presentacion carmenppt
 

Similar a Desarrollo de un Widget de Yahoo! Connected TV para solicitud de Cita Médica en el SAS

jAUTI 2014- Keynote wetakecarewebmedia Lozano
jAUTI 2014- Keynote wetakecarewebmedia  LozanojAUTI 2014- Keynote wetakecarewebmedia  Lozano
jAUTI 2014- Keynote wetakecarewebmedia LozanoRed Auti
 
Srv market, geolocalizacion, publicidad y realidad aumentada
Srv market, geolocalizacion, publicidad y realidad aumentadaSrv market, geolocalizacion, publicidad y realidad aumentada
Srv market, geolocalizacion, publicidad y realidad aumentadaCATAME PUBLICIDAD - SRVMARKET
 
Smart tv edna cabrera
Smart tv edna cabreraSmart tv edna cabrera
Smart tv edna cabreraednacabrera
 
Java - Android
Java - AndroidJava - Android
Java - Androidzariih
 
Open Movilforum- Feria Movilforum 2009
Open Movilforum- Feria Movilforum 2009Open Movilforum- Feria Movilforum 2009
Open Movilforum- Feria Movilforum 2009Gloria Alamillo Blanco
 
Transmisión o webcast
Transmisión o webcastTransmisión o webcast
Transmisión o webcastcobat 06
 
VideoConferencia y Medición en la Red
VideoConferencia y Medición en la RedVideoConferencia y Medición en la Red
VideoConferencia y Medición en la RedVictpr Sanchez
 
Estudio inversión publicitaria en medios digitales (iab Spain) 2011
Estudio inversión publicitaria en medios digitales (iab Spain) 2011Estudio inversión publicitaria en medios digitales (iab Spain) 2011
Estudio inversión publicitaria en medios digitales (iab Spain) 2011Retelur Marketing
 
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwC
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwCEstudio de inversión en publicidad digital total año 2011 - IAB Spain/PwC
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwCIAB Spain
 
Estudio sobre la inversión publicitaria en medios digitales 2012
Estudio sobre la inversión publicitaria en medios digitales 2012Estudio sobre la inversión publicitaria en medios digitales 2012
Estudio sobre la inversión publicitaria en medios digitales 2012Fátima Martinez López
 
Realidad Aumentada
Realidad AumentadaRealidad Aumentada
Realidad AumentadaMarco Noboa
 
Presentación
PresentaciónPresentación
Presentaciónalaverch
 
Giga cable0612
Giga cable0612Giga cable0612
Giga cable0612varto01
 

Similar a Desarrollo de un Widget de Yahoo! Connected TV para solicitud de Cita Médica en el SAS (20)

jAUTI 2014- Keynote wetakecarewebmedia Lozano
jAUTI 2014- Keynote wetakecarewebmedia  LozanojAUTI 2014- Keynote wetakecarewebmedia  Lozano
jAUTI 2014- Keynote wetakecarewebmedia Lozano
 
Srv market, geolocalizacion, publicidad y realidad aumentada
Srv market, geolocalizacion, publicidad y realidad aumentadaSrv market, geolocalizacion, publicidad y realidad aumentada
Srv market, geolocalizacion, publicidad y realidad aumentada
 
Smart tv edna cabrera
Smart tv edna cabreraSmart tv edna cabrera
Smart tv edna cabrera
 
Smart tv
Smart tvSmart tv
Smart tv
 
Presentacion hbbtv
Presentacion hbbtvPresentacion hbbtv
Presentacion hbbtv
 
Java - Android
Java - AndroidJava - Android
Java - Android
 
Smart TV y video online
Smart TV y video onlineSmart TV y video online
Smart TV y video online
 
Grupotvdweb
GrupotvdwebGrupotvdweb
Grupotvdweb
 
Open Movilforum- Feria Movilforum 2009
Open Movilforum- Feria Movilforum 2009Open Movilforum- Feria Movilforum 2009
Open Movilforum- Feria Movilforum 2009
 
Smart tv
Smart tvSmart tv
Smart tv
 
Transmisión o webcast
Transmisión o webcastTransmisión o webcast
Transmisión o webcast
 
VideoConferencia y Medición en la Red
VideoConferencia y Medición en la RedVideoConferencia y Medición en la Red
VideoConferencia y Medición en la Red
 
Estudio inversión publicitaria en medios digitales (iab Spain) 2011
Estudio inversión publicitaria en medios digitales (iab Spain) 2011Estudio inversión publicitaria en medios digitales (iab Spain) 2011
Estudio inversión publicitaria en medios digitales (iab Spain) 2011
 
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwC
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwCEstudio de inversión en publicidad digital total año 2011 - IAB Spain/PwC
Estudio de inversión en publicidad digital total año 2011 - IAB Spain/PwC
 
Estudio sobre la inversión publicitaria en medios digitales 2012
Estudio sobre la inversión publicitaria en medios digitales 2012Estudio sobre la inversión publicitaria en medios digitales 2012
Estudio sobre la inversión publicitaria en medios digitales 2012
 
Realidad Aumentada
Realidad AumentadaRealidad Aumentada
Realidad Aumentada
 
JAVA TV API.pptx
JAVA TV API.pptxJAVA TV API.pptx
JAVA TV API.pptx
 
Tutoría Mod2_ud2
Tutoría Mod2_ud2Tutoría Mod2_ud2
Tutoría Mod2_ud2
 
Presentación
PresentaciónPresentación
Presentación
 
Giga cable0612
Giga cable0612Giga cable0612
Giga cable0612
 

Más de José Ramón Cerquides Bueno

Desarrollo de una herramienta para la medida de calidad de vídeo
Desarrollo de una herramienta para la medida de calidad de vídeoDesarrollo de una herramienta para la medida de calidad de vídeo
Desarrollo de una herramienta para la medida de calidad de vídeoJosé Ramón Cerquides Bueno
 
Sistema de seguimiento de la acción en eventos deportivos
Sistema de seguimiento de la acción en eventos deportivosSistema de seguimiento de la acción en eventos deportivos
Sistema de seguimiento de la acción en eventos deportivosJosé Ramón Cerquides Bueno
 
Tema 2 teoría de la información y capacidad de canal
Tema 2   teoría de la información y capacidad de canalTema 2   teoría de la información y capacidad de canal
Tema 2 teoría de la información y capacidad de canalJosé Ramón Cerquides Bueno
 
Un breve recorrido por los diferentes estándares mpeg
Un breve recorrido por los diferentes estándares mpegUn breve recorrido por los diferentes estándares mpeg
Un breve recorrido por los diferentes estándares mpegJosé Ramón Cerquides Bueno
 
Implantación del crédito europeo en la asignatura
Implantación del crédito europeo en la asignaturaImplantación del crédito europeo en la asignatura
Implantación del crédito europeo en la asignaturaJosé Ramón Cerquides Bueno
 
Situación de la televisión digital terrestre en españa
Situación de la televisión digital terrestre en españaSituación de la televisión digital terrestre en españa
Situación de la televisión digital terrestre en españaJosé Ramón Cerquides Bueno
 
Detección automática multicanal de anuncios en tv en tiempo real
Detección automática multicanal de anuncios en tv en tiempo realDetección automática multicanal de anuncios en tv en tiempo real
Detección automática multicanal de anuncios en tv en tiempo realJosé Ramón Cerquides Bueno
 

Más de José Ramón Cerquides Bueno (15)

Desarrollo de una herramienta para la medida de calidad de vídeo
Desarrollo de una herramienta para la medida de calidad de vídeoDesarrollo de una herramienta para la medida de calidad de vídeo
Desarrollo de una herramienta para la medida de calidad de vídeo
 
Sistema de seguimiento de la acción en eventos deportivos
Sistema de seguimiento de la acción en eventos deportivosSistema de seguimiento de la acción en eventos deportivos
Sistema de seguimiento de la acción en eventos deportivos
 
Medidas de calidad en vídeo
Medidas de calidad en vídeoMedidas de calidad en vídeo
Medidas de calidad en vídeo
 
Sira tv
Sira tvSira tv
Sira tv
 
Intensificación
IntensificaciónIntensificación
Intensificación
 
Tema 3 ecualizacion de-canal
Tema 3 ecualizacion de-canalTema 3 ecualizacion de-canal
Tema 3 ecualizacion de-canal
 
Tema 2 teoría de la información y capacidad de canal
Tema 2   teoría de la información y capacidad de canalTema 2   teoría de la información y capacidad de canal
Tema 2 teoría de la información y capacidad de canal
 
Tema 1 canales en comunicaciones digitales
Tema 1   canales en comunicaciones digitalesTema 1   canales en comunicaciones digitales
Tema 1 canales en comunicaciones digitales
 
Tema 0 presentación transmisión digital
Tema 0   presentación transmisión digitalTema 0   presentación transmisión digital
Tema 0 presentación transmisión digital
 
Tema 4 codificación de canal
Tema 4   codificación de canalTema 4   codificación de canal
Tema 4 codificación de canal
 
Un breve recorrido por los diferentes estándares mpeg
Un breve recorrido por los diferentes estándares mpegUn breve recorrido por los diferentes estándares mpeg
Un breve recorrido por los diferentes estándares mpeg
 
Implantación del crédito europeo en la asignatura
Implantación del crédito europeo en la asignaturaImplantación del crédito europeo en la asignatura
Implantación del crédito europeo en la asignatura
 
Situación de la televisión digital terrestre en españa
Situación de la televisión digital terrestre en españaSituación de la televisión digital terrestre en españa
Situación de la televisión digital terrestre en españa
 
WiNG: Hacia las Unidades Móviles Virtuales
WiNG: Hacia las Unidades Móviles VirtualesWiNG: Hacia las Unidades Móviles Virtuales
WiNG: Hacia las Unidades Móviles Virtuales
 
Detección automática multicanal de anuncios en tv en tiempo real
Detección automática multicanal de anuncios en tv en tiempo realDetección automática multicanal de anuncios en tv en tiempo real
Detección automática multicanal de anuncios en tv en tiempo real
 

Último

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 

Último (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 

Desarrollo de un Widget de Yahoo! Connected TV para solicitud de Cita Médica en el SAS

  • 1. Desarrollo de un Widget de Yahoo! Connected TV para solicitud de Cita Médica en el SAS María León Bujes Tutor: Dr. Ramón Cerquides Bueno Departamento de Teoría de la Señal y Comunicaciones Escuela Superior de Ingenieros de Sevilla 30 de Marzo de 2012
  • 2. OBJETIVOS DEL PROYECTO Desarrollo de un widget de Yahoo! Connected TV para solicitar, consultar y cancelar cita médica en el SAS desde el televisor. Widget de Cita Médica: Nueva forma de acceso al servicio de petición de cita médica ofrecido por InterS@S. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 3. OBJETIVOS DEL PROYECTO ¿Por qué desarrollar el Widget de Cita Médica? El widget puede servir para hacer llegar el servicio ofertado por InterS@S a un mayor número de usuarios. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 4. PERO, ¿QUÉ ES UN WIDGET? Definición de Widget Un widget es una pequeña aplicación o programa. Los widgets son ejecutados por un motor de widgets. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 5. SMART TV: CONCEPTO Connected TV Integración de contenidos y servicios Hybrid TV de Internet en los modernos aparatos de televisión o set top boxes. Smart TV DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 6. PLATAFORMAS DE SMART TV EXISTENTES Específicas del fabricante De organizaciones Disponibles para de estandarización múltiples fabricantes De editores específicos Las compañías de Internet han advertido el potencial de las Connected TVs y han creado sus plataformas. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 7. PLATAFORMA YAHOO! CONNECTED TV Yahoo! Connected TV: Plataforma de pequeñas aplicaciones o widgets que adaptan servicios y contenidos de la Red al medio televisivo. Interactividad Broadcast Novedades Nuevo protocolo de comunicación de dispositivos Televisores Set top box DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 8. YAHOO! CONNECTED TV: INTERFAZ DE USUARIO Snippet Los widgets de Yahoo! Sidebar view presentan tres vistas básicas Full Screen Vista de Snippet Vista lateral DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 9. YAHOO! CONNECTED TV: DISPOSITIVO DE ENTRADA Dispositivo de entrada Mando a Distancia WIDGETS Dispositivo modal EXIT UP ARROW Teclas con distintas RIGHT ARROW OK LEFT ARROW funciones según el modo. DOWN ARROW BACK VIEWPORT ADD A SNIPPET SETTINGS CLOSE DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 10. ¿ JAVASCRIPT EN SMART TVs ? JavaScript se usa ya en: Navegadores Servidores Dispositivos Móviles ¿Por qué no usarlo también en televisores conectados? DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 11. FUNCIONAMIENTO DE LA PLATAFORMA Elementos que intervienen en el funcionamiento de la plataforma Yahoo! Connected TV: Widgets instalados en el televisor El KONtx Framework El Motor de JavaScript SpiderMonkey El Motor de Widgets de Yahoo! Sistema Operativo Linux embebido DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 12. EL KONTX FRAMEWORK (I) Metodología de desarrollo basada en el KONtx Framework Controles estándar Las vistas se crean extendiendo las clases base de vista… KONtx.system.SnippetView KONtx.system.AnchorSnippetView Clases base KONtx.system.ProfileSnippetView de vista KONtx.system.SidebarView KONtx.system.FullscreenView …y sobrescribiendo los métodos createView() y updateView() DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 13. EL KONTX FRAMEWORK (II) Comunicaciones del widget con el Widget Engine a través del KONtx Framework DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 14. GESTIÓN DE EVENTOS Comunicación entre el widget y el Widget Engine Evento del KONtx.application KONtx.system.Event Widget Engine Host Events El widget se suscribe a ellos por medio de subscribeTo() Child Events Enviados al Widget Engine por medio de KONtx.HostEventManager.send() Es posible construir sistemas de eventos personalizados usando la clase KONtx.system.Event DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 15. FUNCIONAMIENTO DE LA APLICACIÓN DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 16. FUNCIONAMIENTO DE LA APLICACIÓN 1 DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 17. FUNCIONAMIENTO DE LA APLICACIÓN 2 1 DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 18. FUNCIONAMIENTO DE LA APLICACIÓN 2 3 1 DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 19. FUNCIONAMIENTO DE LA APLICACIÓN 2 3 4 1 DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 20. DESARROLLO CON EL SIMULADOR Yahoo Widget Engine-Widget Development Kit Funcionamiento testeado sobre Paquete Debian YWE-WDK máquina virtual Ubuntu 10.04 distribuida por Yahoo! Equipo utilizado: Portatil TOSHIBA Satellite L655. Procesador Intel Core i5 CPU M480 @ 2.67GHz. 4,00 GB de memoria RAM. S.O. Windows 7 de 64 bits. Software de Virtualización: VMware Player 3.0.0 (también testeado sobre Virtual Box 4.1.10) DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 21. ARCHIVOS DEL WIDGET DE CITA MÉDICA widgetID-versionNumber.widget es.us.widgets.tv.cita8-0.2.8.widget Estructura de carpetas dentro del directorio Contents DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 22. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA Inicialización de las vistas en init.js KONtx.application.init({ views: [ { id: 'view-Main', viewClass: MainView }, { id: 'view-IntroducirDatos', viewClass: VistaIntroducirDatos }, { id: 'view-Esperar', viewClass: VistaEsperar }, { id: 'view-MostrarDias', viewClass: VistaMostrarDias }, { id: 'view-MostrarHoras', viewClass: VistaMostrarHoras }, { id: 'view-CitaAsignada', viewClass: VistaCitaAsignada }, { id: 'view-Informacion', viewClass: VistaInformacion }, { id: 'view-InformacionError', viewClass: VistaInformacionError }, { id: 'view-OtroDia', viewClass: VistaOtroDia }, { id: 'view-About', viewClass: AboutView }, { id: 'snippet-1', viewClass: SnippetView, data: { message1: "Versión 2.0", message2: "Cita Médica" , message3: "Servicio Andaluz de Salud"} }, ], defaultViewId: 'view-Main', settingsViewId: 'view-About', }); DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 23. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA Peticiones con XMLHttpRequest function funcion_xmlhttprequest(o){ if (KONtx.application.isPhysicalNetworkDown()) { KONtx.utility.WaitIndicator.off(); return; } var xhr = new XMLHttpRequest(); xhr.autoRedirect = true; xhr.open(o.metodo, o.url, true); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { if (xhr.status === 200) { o.success(xhr); KONtx.application.setNetworkRequestFailed(false); } else { o.error(); KONtx.application.setNetworkRequestFailed(true); } } } } DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 24. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA Gestión de estado de desconexión var EventHandlers = (function () { return { onApplicationStartup: function () { funcion_xmlhttprequest(peticion0); }, onActivateSnippet:function () { KONtx.application.setNetworkRequestFailed(false); funcion_xmlhttprequest(peticion0); } } }()); EventHandlers.onApplicationStartup.subscribeTo(KONtx.application, "onApplicatio nStartup", EventHandlers); EventHandlers.onActivateSnippet.subscribeTo(KONtx.application, "onActivateSnip pet", EventHandlers); DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 25. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA Compatibilidad hacia atrás if (typeof KONtx.application.isPhysicalNetworkDown === "undefined") { (function () { var original = KONtx.application.setNetworkRequestFailed, setDownByUser = false; delete KONtx.application.setNetworkRequestFailed; KONtx.application.setNetworkRequestFailed = function (status) { original(status); setDownByUser = status; }; KONtx.application.isPhysicalNetworkDown = function () { if (KONtx.application.getNetworkDownStatus) { return !setDownByUser; } return false; }; }()); } DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 26. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA JSON Parser JSON Servidor Intermedio Función eval() Rápida pero acarrea problemas de seguridad. Entre 3 y 4 veces más rápido que la versión JavaScript. Analizador JSON Instancia global de la clase llamada JSON. del Yahoo! Widget Engine interface JSON { variant parse( string inString ); string stringify( variant inValue ); }; DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 27. CÓDIGO JAVASCRIPT DEL WIDGET DE CITA MÉDICA Gestión de usuarios guardados. Almacenamiento persistente Tres tipos de almacenamiento persistente para perfiles y widgets: Store currentAppConfig: Datos asociados al widget. Store currentAppData: Datos asociados al widget y al perfil. Store currentProfileData: Datos asociados al perfil. Métodos: Boolean delete (String key) String get (String key) Array getIDs() Boolean set (String key, String value) DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 28. WEB API EN EL SERVIDOR INTERMEDIO (PHP) Peticiones al servidor de InterS@S con libcurl Libcurl protocolos HTTP, HTTPS, FTP, FTPS, Gopher, Telnet, DICT, FILE, IMAP, IMAPS, LD (PHP 4.0.2) AP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Teln et y TFTP. Soporta certificados SSL, HTTP POST, HTTP PUT, subida de ficheros usando FTP, formularios HTTP, proxies y cookies. $curl = curl_init(); curl_setopt ($curl, CURLOPT_URL, $url); curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($curl, CURLOPT_USERAGENT, $agent); curl_setopt ($curl, CURLOPT_HEADER, 1); curl_setopt ($curl, CURLOPT_SSLVERSION, 3); curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt ($curl, CURLOPT_CAINFO, getcwd().'/FNMTClase2CA-FNMT.crt'); curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt ($curl, CURLOPT_POST, 1); curl_setopt ($curl, CURLOPT_POSTFIELDS, $campos); $codigofuente = curl_exec ($curl); curl_close ($curl); DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 29. WEB API EN EL SERVIDOR INTERMEDIO (PHP) Mantenimiento de la sesión HTTP/1.1 200 OK Cabecera Set-Cookie: name=value Set-Cookie: name2=value2; Expires=Wed, 09 Jun 2021 10:18:14 GMT HTTP Content-type: text/html; charset=UTF-8 (contenido de la página) $start = strpos($codigofuente2, "Set-Cookie"); Código para $end = strpos($codigofuente2, "Content-Type"); extraer las $parts = split("Set-Cookie: ",substr($codigofuente2, $start, $end-$start)); cookies de la $cookies = array(); cabecera HTTP foreach ($parts as $co){ $cd = split(";",$co); if (!empty($cd[0])){ $cookies[] = $cd[0]; } } $cookies_sesion=implode(";",$cookies); curl_setopt($curl3, CURLOPT_COOKIE, $cookies_sesion); DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 30. WEB API EN EL SERVIDOR INTERMEDIO (PHP) Parseando la respuesta: librería Simple HTML Dom parser Documento HTML Dato que nos interesa Simple HTML Dom parser: Librería PHP para manipular HTML Se incluye como cualquier otra librería: include_once('simple_html_dom.php'); Es importante evitar el derroche de memoria que puede acarrear eliminando los objetos DOM creados al finalizar con ellos. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 31. WEB API EN EL SERVIDOR INTERMEDIO (PHP) Producción de una cadena JSON. json_encode() Cadena Variable numérica Cadena JSON Array (normal o asociativo) json_encode() Objeto Producción de cadena JSON en la Web API alojada en el servidor intermedio: 1 Los datos se almacenan en una Array Asociativo. 2 El array se pasa como parámetro a la función json_encode() de PHP. 3 Se ejecuta print ($json) donde $json=json_encode($array). DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 32. SEGURIDAD DE LOS DATOS EN EL WIDGET DE CITA MÉDICA Certificado SSL en el servidor intermedio No podemos utilizar: Certificado autofirmado SSL 3.0 Certificado de la FNMT ¿SSL? Lista de Autoridades Certificadoras reconocidas almacenada en el Firmware del televisor DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 33. POSIBLES MEJORAS Mejoras interesantes: Permitir documento identificativo distinto al D.N.I. Evitar que las modificaciones en la aplicación web de InterS@S afectasen al Widget de Cita Médica. Recordatorio de “Cita próxima”. DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES
  • 34. VÍDEO: EL WIDGET EN UN DISPOSITIVO REAL Testeo en un televisor SAMSUNG UE40B8000XW Versión del KONtx Framework 1.3.12.C Versión del Widget Engine 5.0.0 DESARROLLO DE UN WIDGET DE YAHOO! CONNECTED TV PARA SOLICITUD DE CITA MÉDICA EN EL SAS MARÍA LEÓN BUJES