I. Introducción
La transmisión de señales analógicas de televisión implica transmisiones muy susceptibles ante interferencias y ruido; además de transmisión de contenidos de baja calidad. Por otra parte, la digitalización de las señales de televisión, conocida como Televisión Digital Terrestre (TDT), permite transmitir señales de mayor calidad al ofrecer la posibilidad de proteger y codificar la información a transmitir 1.
Una las principales ventajas de la TDT sobre la señal analógica es la posibilidad de ofrecer servicios de valor añadido como: comercio (T-COMMERCE), votación (T-VOTING), aprendizaje (T-LERNING), etc. Esto gracias al uso de interactividad. La interactividad brinda al usuario la posibilidad de ser más activo mediante el uso de los botones del control remoto, lo cual provoca que el usuario cambie su percepción y rutina al momento de encender su televisor 2. La interactividad toma aun mayor relevancia en TDT al poder no solo recibir datos en el televisor, sino también enviar datos mediante el uso de un canal de retorno 3.
Existen 4 estándares de TDT en el mundo: DVB-T-T2, ATSC, DTMB y el estándar ISDB-T/Tb. ISDB - Tb, que es la versión brasileña del estándar japonés ISDB-T ha sido adoptado mayoritariamente en Sudamérica. En ISDB-Tb la interactividad es posible gracias al uso del middleware GINGA desarrollado en Brasil.
En Ecuador, las primeras pruebas para elegir el estándar a adoptarse se realizaron en el 2007. Los estándares probados fueron: Integrated Services Digital Broadcasting (ISDB - T), Digital Video Broadcasting - Terrestrial/Second generation (DVB - T/T2) y Digital Terrestrial Multimedia Broadcast (DTMB). No se realizaron pruebas con ATSC debido a que no se llegó a ningún acuerdo con el país que generó dicho estándar (EEUU). La SUPERTEL en aquel entonces, ahora ARCOTEL, realizó las pruebas y emitió un informe favorable hacía el estándar japonés-brasileño ISDB-Tb. Posterior a ello en el año 2010 se adoptó oficialmente el estándar 4.
A pesar de haber transcurrido más de nueve años desde la adopción del estándar ISDB-Tb. El despliegue de la red de TDT en el país aún se encuentra en sus etapas iniciales. Únicamente algunas ciudades del país cuentan con servicios de TDT Incluso en esas ciudades, no todos los concesionarios transmiten en digital. Por otra parte, las oportunidades que brinda la TDT para ofrecer servicios de valor añadido mediante interactividad no han sido explotadas. Aunque existen algunos trabajos sobre Ginga - NCL 5, 6 y Ginga - J 7, 8, 9, no se han desarrollado en el país aplicaciones de ventas por televisión, aunque en países como Brasil estos servicios han sido abordados con éxito 10.
En el presente artículo se presenta el desarrollo de una aplicación para comercio mediante la Televisión (T-COMMERCE) mediante interactividad bajo el estándar ISDB-Tb mediante el uso del middleware GINGA y basada en Java para ofrecer compatibilidad y seguridad.
El resto del artículo se estructura de la siguiente forma: En la Sección II se presenta la metodología. La sección III describe el desarrollo de la aplicación y las pruebas de funcionamiento efectuadas. La Sección IV concluye el artículo.
II. Metodología
Para el Desarrollo de la aplicación se utilizó middleware GINGA desarrollado en Brasil, XletView como emulador del receptor de TDT, una base datos SQL, Eclipse como IDE de desarrollo y programación basada en Java (GINGA-J). Se eligió GINGA-J debido a que permite ofrecer seguridad a la transacción, algo que inherentemente no contempla GINGA-NCL. A pesar de que actualmente no todos los decodificadores de TDT implementen GINGA-J, es de esperarse que a medida que se exploten los beneficios comerciales de GINGA, cada vez más decodificadores implementarán este estándar. Cada una de las herramientas utilizadas se explica a continuación.
GINGA
Ginga es un middleware que fue desarrollado para ISDB - Tb con el fin de ejecutar aplicaciones interactivas. Se ubica entre la infraestructura de ejecución y el código de las aplicaciones 11. La arquitectura del middleware Ginga se divide en 3 componentes:
Ginga - NCL, desarrolla aplicaciones declarativas en ambiente NCL con Lua.
Ginga - J, desarrolla aplicaciones procedurales en lenguaje Java. Tiene una arquitectura dividida en Ginga - J APIs, aplicaciones nativas, Xlets, máquina virtual de Java, hardware y sistema operativo. Todas en conjunto permiten la creación de las aplicaciones interactivas.
Ginga - CC, controla la comunicación y desarrollo de ambas aplicaciones.
. Para ello las clasifica en tres grupos que son: verde, amarilla y azul como se observa en la Fig. 1. Existen las API JavaTV, API DAVIC, API HAVi y API DVB. Cada una con sus respectivas librerías 12.
XletView es un emulador para ejecutar aplicaciones interactivas desarrolladas en eclipse y Ginga - J. Es de código abierto y funciona a la par con Ginga - J emulator que simula la pantalla de un televisor y un control remoto real 13. Para desarrollar aplicaciones interactivas en Eclipse en lenguaje Java es necesario ciertos jars especiales instalados en el ordenador como el de XletView, el jar conector de mysql y de JAVATV. Finalmente, se agregó el proyecto de Ginga - J emulator para poder usar las librerías gráficas y diseñar una interfaz amigable al usuario. Una vez agregados todos los jars necesarios para diseñar la aplicación se programó cada etapa de esta como se muestra a continuación.
Seguridad
Para implementar seguridad se empleó firmas digitales, que identifican y validan a la empresa y al usuario. Además, la información fue encriptada manteniéndola segura mediante el uso de claves privadas y públicas. Este tipo de claves se emplean en transacciones financieras en línea, se incluyó también el uso de certificados digitales como el SSL 14. Este sistema va relacionado con la criptología que proporciona confidencialidad, autenticación, integridad, control de acceso, no repudio y no replay.
Desarrollo de la Aplicación Interactiva
El desarrollo de la aplicación y la verificación de su funcionamiento se dividió en 4 etapas: i) Diseño de la base de datos, ii) Diseño de la aplicación, iii) Implementación de protocolos y iv) Verificación del funcionamiento.
Diseño de la base de datos
Para el diseño de la base de datos se utilizó el programa XAMPP con servidor APACHE junto a MySQL. El diseñador gráfico del gestor de bases permite la creación de las tablas con sus respectivas dependencias, al tiempo que permite realizar las relaciones entre ellas. En la Fig. 2 se muestran a manera de ejemplo dos tablas y la relación entre ellas. Una parte importante de la implementación fue la configuración de la seguridad. En primera instancia se estableció la contraseña con la que las aplicaciones se podrán comunicar con la base de datos. Luego se programó guardar las contraseñas de los usuarios que se registren de manera encriptada.
Diseño de la aplicación
Para el diseño de la aplicación se partió desde la configuración que establece la conexión entre la base de datos y el proyecto de Ginga - J en eclipse. Una vez realizada la conexión, se creó las clases de las diferentes tablas en java - eclipse para poder gestionar la información de las tablas desde eclipse y no en el servidor.
Se realizaron pruebas con interfaces sencillas para verificar que librerías gráficas son compatibles y benefician al diseño. La adición de archivos se logró gracias a la sentencia try - catch. En el caso que no se encuentre el archivo, la sentencia devuelve un mensaje de error respectivo. Para visualizar el resultado se utilizó el emulador XletView, el cual se ejecuta a través de eclipse para que las librerías gráficas de Ginga - J emulator sean compatibles. Al diseñar la interfaz base se implementó protocolos de seguridad para transferencias financieras en línea.
Implementación de protocolos
Las firmas digitales ayudan a mantener la información financiera del usuario ajena a la empresa con la que efectúa la compra y viceversa. Esto mediante una empresa certificada intermediaria que valida la información de ambas partes y efectúa el proceso de manera transparente y segura. Para que el usuario realice el pago, se programó dos opciones: PayPal y tarjeta de crédito. Al ser un área innovadora, PayPal no tiene compatibilidad con aplicaciones para TDT en Eclipse - Ginga y las configuraciones se las realizaron en PHP, que despliega un navegador web para realizar el pago. Una vez realizado el pago, se envia al usuario un comprobante con el detalle de la compra vía correo electrónico para terminar el proceso de compra.
Verificación del funcionamiento
Para verificar el funcionamiento y utilidad de la aplicación, se realizó pruebas con los usuarios finales y posteriormente se aplicó una encuesta a los participantes. Las pruebas fueron realizadas en un ordenador core I7-7ma generación con 8 GigaBytes de RAM, en el que se instaló el emulador XletView, que emula al televisor que recibiría la señal de TDT, el control remoto es emulado con los botones del teclado. La población selecta fueron los alumnos de la FIE - ESPOCH, que cuenta con 1800 estudiantes que tienen conocimiento en el área de tecnologías, sin embargo, no necesariamente tienen conocimiento del software a utilizar. De esta forma se evita que este factor afecte en la evaluación de la aplicación, cuyo objetivo es llegar al público en general. Sin embargo, se debe tener en cuenta que el rango de edad de los usuarios de prueba está entre 20 y 30 años. Al ser una población grande se obtuvo una muestra mediante la siguiente fórmula estadística:
Donde, n es el tamaño de la muestra, N es el tamaño de la población o universo, Z α es el parámetro estadístico que representa el nivel de confianza (NC); se seleccionó un valor de Z α =1.96, que corresponde a un nivel de confianza del 95%, es decir, la estimación al tomar la muestra será realizada con un grado de certeza del 95%. El tener un nivel de confianza del 95% implica que se tiene un error estimado máximo e= 5%, p = 50% probabilidad de que ocurra el evento estudiado (éxito), q = 50% Probabilidad de que no ocurra el evento estudiado. Al aplicar (1) se definió el tamaño de la muestra en 317 personas.
III. Desarrollo y Pruebas de Funcionamiento
Desarrollo de la Aplicación
La base de datos relacional cuenta con 8 tablas, cada una con sus respectivas dependencias como se muestra en la Fig. 3. En cada tabla, existe un campo que se considera código que identifica a la fila y además es único.
Al verificar la funcionalidad de la base de datos, se realizó la configuración de la conexión entre la base de datos y la aplicación como se muestra en la Fig. 4.
Se creó las clases de las tablas de la base de datos en java - eclipse para poder gestionar la información desde la aplicación. Estas clases son clasificadas de acuerdo a su función. Un ejemplo de los grupos está en la Fig. 5.
Una vez construida la basa de datos y verificado su funcionamiento, se realizó la interfaz de la aplicación. Para poder usar la aplicación, el usuario debe crear un usuario y contraseña, y en caso de ya haberlos creado solo debe ingresar sus datos. En la Fig. 6 y Fig. 7 se presenta el código de la pantalla de inicio de sesión y la pantalla generada, respectivamente.
Una vez que el usuario inicia sesión, este ingresa al catálogo de la empresa y realiza la selección de los productos que desee comprar. Luego puede ingresar a la pantalla de características del producto, en donde se le presenta opciones de talla, color, cantidad y sexo. Además, la aplicación presenta una imagen del producto para que el usuario tenga una idea clara de lo que va a comprar. Para completar la funcionalidad de navegación, se presenta igual que en las otras pantallas la opción de regresar, salir, ingresar al carrito de compras y en esta pantalla en especial, la opción de agregar productos como se muestra en la Fig. 8.
Cuando el usuario termina de agregar productos al carrito y esté listo para pagar. La aplicación direcciona al navegador donde se presenta la opción de pago por PayPal o tarjeta de crédito como se puede ver en la Fig. 9. Las configuraciones de pago y del envío del correo electrónico se las realizan en lenguaje PHP mediante Ginga - J y eclipse, como se muestra en la Fig. 10.
Se debe destacar que la aplicación utiliza protocolos de seguridad TLS en su versión 1.2 de capa de transporte, con codificación SHA-256, de forma obligatoria para este tipo de conexiones, en conjunto con HTTP en su versión 1.1.
En la barra de dirección web de PayPal existe un candado y el nombre de la empresa se están en color verde (protocolo HTTPS) como se puede ver en la Fig. 9, lo que la convierte en una página segura, certificada con firma digital. Se puede comprobar la seguridad de la página de la empresa con la ruta de certificados digitales que sigue para realizar la transacción como se observa en la Fig. 11.
Para finalizar, al realizar el pago, automáticamente se envía el correo electrónico de verificación al usuario con el detalle de la factura como se muestra en la Fig. 12.
Pruebas de funcionamiento
Una vez desarrollada la aplicación, esta fue probada por 317 personas, valor de la muestra obtenida en la sección de metodología. Posteriormente se aplicó el Test de aceptación de usuario para verificar el funcionamiento y aceptación de la aplicación. De la cual se obtuvieron los siguientes resultados.
Experiencia de Comprar en Línea
De 317 encuestados, un 75% está familiarizado con compras a través de internet, por lo que considera que es un proceso similar el que se va a realizar en TDT. Pero el 25% no ha tenido experiencia con este tipo de procesos. Los resultados se muestran en la Fig. 13.
Interés en Comprar Mediante Televisión
De las 317 personas encuestadas, 263 afirman estar interesadas en poder realizar una compra a través de la televisión. Mientras que para los 54 encuestados restantes no les llama mucho la atención esta idea. La Fig. 14 confirma estos resultados.
Registro
Un total de 286 de 317 encuestados calificaron como un proceso muy fácil el registro en la aplicación. Para 31 es un poco difícil el buscar letra por letra para formar su usuario, contraseña y correo. Los resultados están reflejados en la Fig. 15.
Selección de un producto
Los encuestados debieron evaluar la complejidad del proceso de selección de un producto. Los resultados son presentados en la Fig. 16. Se obtuvo 302 votos de 317 a favor de que el proceso es realmente fácil. Para 15 les parece compleja o difícil la selección de un producto más cuando tiene que definir las características que desean del mismo.
Detalle del carrito de compras
Se muestra en la Fig. 17 que de los 317 encuestados, 303 calificaron como fácil el proceso de revisión y ubicación del carrito de compras, mientras que para 14 no fue de su agrado.
Organización del contenido
Se pidió a los encuestados calificar la forma de presentar la información, se obtiene un resultado de 90% a favor de un contenido organizado y compresible, y el 10% preferiría que se reestructure la forma de presentación; lo que ser muestra en la Fig. 18.
Diseño gráfico de la aplicación
Un 81% del total de 317 encuestados votó que la interfaz no interrumpe ni obstruye la programación. Y un 19% prefería que la información se presente en un espacio mayor de pantalla, estos resultados se muestran en la Fig. 19.
Evaluación de la aplicación
De 317 encuestados que evaluaron la aplicación, el 75% determinaron que la aplicación es muy útil. Y un 25% la determinaron como regular englobándola dentro de las aplicaciones móviles de compra, Mientras 0% determinaron que la aplicación es mala, tal como se muestra en la Fig. 20.
Tiempo de uso de la aplicación
El 80% de los encuestados determinó un rango de 3 a 20 minutos como tiempo de ambientación y realización de una compra, mientras que el 20% superó este límite como se muestra en la Fig. 21. Cabe recalcar que este tiempo también varía en función la red de internet que posee el televidente, Esto se pudo comprobar en las simulaciones de prueba realizadas en distintas redes, donde se tuvo variaciones en el tiempo de conexión de la aplicación con la base de datos.
Con respecto al tiempo de retardo de la aplicación, luego de descartar aquellas que están muy alejadas de la media, se obtuvo un tiempo medio de retraso de hasta 1 minuto para desplegar el navegador para el pago. Mientras que el tiempo de respuesta en la navegación entre las diferentes pantallas de la aplicación tuvo un retardo medio de 1.5 segundos.
IV. Conclusiones
El estudio determinó que, en cuanto a seguridad, Ginga-J es más recomendable para aplicaciones que impliquen transacciones electrónicas que GINGA-NCL. La aplicación para el comercio extrae la información solicitada en tiempo real desde la base de datos de la empresa que oferte sus productos. Por lo que, si hay algún cambio en el catálogo de la empresa, solo es necesario actualizar la base de datos.
Se implementó una interfaz sencilla y cómoda que ocupe una pequeña porción de la pantalla. La interfaz cuenta con imágenes, botones de interactividad, listas y detalles de los productos a ser vendidos presentados y organizados de tal forma que resulta agradable para los televidentes. El 90% de los entrevistados aprueban la interfaz de la aplicación diseñada. Mientras, el 81% determinó que la aplicación no obstaculiza ni molesta en la programación del usuario. Por otra parte, el tiempo para adaptación, exploración de contenido y realizar una compra fue entre 3 a 10 minutos para el 65% de usuarios, Lo cual se puede considerar un tiempo adecuado de compra. Además, el retardo en la navegación entre pantallas de la aplicación fue de 1.5 segundos, lo cual no presenta inconvenientes al usuario al momento de realizar las compras. Se implementó seguridad en la conexión entre la base de datos, la aplicación en eclipse y la API de PayPal a través de una contraseña segura. Además, se implementó la creación de un usuario y contraseña, la contraseña es almacenada de forma encriptada en la base. Además, se implementó el uso de firma digital de PayPal para poder realizar el pago vía internet de forma segura. Esto a través del uso de protocolos de seguridad de capa de transporte TLS, con codificación SHA-256, en conjunto con HTTPS. Por otra parte, al momento de realizar su compra, el detalle de la factura se envía al correo registrado por el usuario.