scieee Open visual document viewer

Recomendación dinámica de productos a grupos con realidad aumentada

Delgado Rodríguez, Cristina; Rocillo Landa, Ignacio; Muñoz Rodríguez, Jorge; Rueda Garzón, Jorge; Fuentes Urabayen, Sergio

Abstract

La Realidad Aumentada es una tecnología que permite aumentar el mundo real que percibimos con elementos virtuales interactivos. En esta memoria describimos el uso de esta tecnología, entre otras, para obtener información a tiempo real sobre películas. La aplicación que describimos es capaz de recoger toda la información de una película con solo enfocar su foto de portada con la cámara, pudiendo guardar y/o compartir esta información. Además, explicaremos el sistema de recomendación para grupos de personas, que también es una funcionalidad de nuestra aplicación. Este sistema recoge las valoraciones de todos los usuarios para luego hacer una recomendación grupal. Veremos de una manera detallada cómo ha sido el proceso evolutivo desde la idea inicial hasta llegar a una aplicación real.

Full text

RECOMENDACIÓN DINÁMICA DE PRODUCTOS A GRUPOS CON REALIDAD AUMENTADA C is ina Delgado Rod íguez Ignacio Rocillo Landa Jo ge Muñoz Rod íguez Jo ge Rueda Ga zón Se gio Fuen es U abayen TRABAJO FIN DE GRADO FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID 2015-2016 ii A odos nues os amilia es, que siemp e nos han es ado dando apoyo du an e la ealización de es e p oyec o. iii AUTORIZACIÓN Noso os, C is ina Delgado Rod íguez, Ignacio Rocillo Landa, Jo ge Muñoz Rod íguez, Jo ge Rueda Ga zón y Se gio Fuen es U abayen, alumnos ma iculados en la asigna u a T abajo de Fin de G ado (TFG) en la Facul ad de In o má ica de la Uni e sidad Complu ense de Mad id du an e el cu so 2015/2016, di igidos po Juan An onio Recio Ga cía y Guille mo Jiménez Díaz, au o izamos la di usión y u ilización con ines académicos, no come ciales, y mencionando exp esamen e a sus au o es del con enido de es a memo ia, el código, la documen ación adicional y la aplicación desa ollada. C is ina Delgado Rod íguez, Ignacio Rocillo Landa, Jo ge Muñoz Rod íguez, Jo ge Rueda Ga zón y Se gio Fuen es U abayen i AGRADECIMIENTOS En p ime luga , quisié amos ag adece a odos nues os amilia es que du an e la ealización de es e p oyec o siemp e nos han apoyado y que han pues o oda su ilusión en nues o iaje uni e si a io. Menciona ambién a odas las pe sonas que han e aluado MUVI y han dedicado una pa e de su iempo a alo a la y p oba la, especialmen e a nues as amilias y amigos. Po úl imo, quisié amos da las g acias a nues os u o es de T abajo de Fin de G ado, Juan An onio Recio Ga cía y Guille mo Jiménez Díaz, po pe mi i nos abaja en es e p oyec o y ayuda nos y guia nos en la ealización de es e TFG. RESUMEN Resumen La Realidad Aumen ada es una ecnología que pe mi e aumen a el mundo eal que pe cibimos con elemen os i uales in e ac i os. En es a memo ia desc ibimos el uso de es a ecnología, en e o as, pa a ob ene in o mación a iempo eal sob e películas. La aplicación que desc ibimos es capaz de ecoge oda la in o mación de una película con solo en oca su o o de po ada con la cáma a, pudiendo gua da y/o compa i es a in o mación. Además, explica emos el sis ema de ecomendación pa a g upos de pe sonas, que ambién es una uncionalidad de nues a aplicación. Es e sis ema ecoge las alo aciones de odos los usua ios pa a luego hace una ecomendación g upal. Ve emos de una mane a de allada cómo ha sido el p oceso e olu i o desde la idea inicial has a llega a una aplicación eal. Abs ac Augmen ed Reali y is a echnology which allows o inc ease he eal wo ld ha we sense wi h in e ac i e i ual elemen s. In his epo , we desc ibe he use o his echnology, among o he s, o ob aining in o ma ion abou mo ies. The applica ion desc ibed is able o collec all in o ma ion o a ilm wi h only ocus you co e pho o wi h he came a and can s o e and / o sha e his in o ma ion. In addi ion, we will explain he ecommenda ion sys em o g oups o people, which is also a ea u e o ou applica ion. This sys em ecollec s he e alua ions o all use s and hen makes a ecommenda ion g oup. We will see in a de ailed way how i has been he e olu iona y p ocess om he ini ial idea o each a eal applica ion. i INDICE AUTORIZACIÓN ...............................................................................................................................................III AGRADECIMIENTOS ....................................................................................................................................... IV RESUMEN ....................................................................................................................................................... V RESUMEN .............................................................................................................................................................. V ABSTRACT .............................................................................................................................................................. V INDICE .............................................................................................................................................................. I INDICE DE FIGURAS ........................................................................................................................................ IV CAPÍTULO 1: INTRODUCCIÓN A MUVI .............................................................................................................. 1 1.1 INTRODUCCIÓN ................................................................................................................................................. 1 1.2 OBJETIVOS ....................................................................................................................................................... 2 1.3 ORGANIZACIÓN DE LA MEMORIA........................................................................................................................... 2 CAPÍTULO 2: ESTADO DEL ARTE ....................................................................................................................... 4 2.1 REALIDAD AUMENTADA ...................................................................................................................................... 4 2.1.1 Usos ....................................................................................................................................................... 5 2.1.2 Tecnologías ........................................................................................................................................... 8 2.2 FUENTES DE INFORMACIÓN DE PELÍCULAS ............................................................................................................. 10 2.2.1 Me ac i ic ............................................................................................................................................ 10 2.2.2 IMDb ................................................................................................................................................... 11 2.2.3 Ro en Toma oes ................................................................................................................................. 12 2.2.4 TheMo ieDb.O g ................................................................................................................................. 13 2.3 SISTEMAS DE RECOMENDACIÓN .......................................................................................................................... 14 2.3.1 Tipos .................................................................................................................................................... 14 2.3.2 Tecnologías ......................................................................................................................................... 17 2.4 SISTEMAS DE LOCALIZACIÓN CON DISPOSITIVOS BEACON ......................................................................................... 18 2.4.1 Usos ..................................................................................................................................................... 18 2.4.2 Tecnologías ......................................................................................................................................... 19 CAPÍTULO 3: FUNCIONALIDAD ....................................................................................................................... 22 3.1 FUNCIONES DE LA APLICACIÓN ........................................................................................................................... 22 3.2 FLUJO DE LA APLICACIÓN .................................................................................................................................. 22 3.3 PRIMEROS PROTOTIPOS .................................................................................................................................... 24 3.4 INTERFAZ DE USUARIO ...................................................................................................................................... 26 3.4.1 In e az de Regis o ............................................................................................................................. 26 3.4.2 In e az de Inicia Sesión ..................................................................................................................... 27 3.4.3 In e az de Inicio .................................................................................................................................. 28 3.4.4 In e az de Realidad Aumen ada ........................................................................................................ 30 3.4.5 In e az de Me Gus a .......................................................................................................................... 35 3.4.6 In e az de Ficha de Película................................................................................................................ 36 3.4.7 In e az de Gen e Ce cana .................................................................................................................. 38 CAPÍTULO 4: IMPLEMENTACIÓN .................................................................................................................... 40 4.1 ARQUITECTURA ............................................................................................................................................... 40 4.1.1 Relación en e on -end y back-end ................................................................................................... 41 4.2 IMPLEMENTACIÓN DEL BACK-END ....................................................................................................................... 42 4.2.1 A qui ec u a de se icios ..................................................................................................................... 43 4.2.2 Base de da os ...................................................................................................................................... 46 4.2.3 Sis ema de ecomendación ................................................................................................................. 48 ii 4.2.4 Se ido ............................................................................................................................................... 50 4.2.5 Fuen e de in o mación sob e películas................................................................................................ 50 4.3 IMPLEMENTACIÓN DEL FRONT-END ..................................................................................................................... 51 4.3.1 En o no de desa ollo .......................................................................................................................... 52 4.3.2 Realidad Aumen ada........................................................................................................................... 53 4.3.3 Tecnologías ......................................................................................................................................... 54 4.3.4 He amien as ...................................................................................................................................... 57 4.4 PRUEBAS DE ARQUITECTURA .............................................................................................................................. 58 4.4.1 P uebas de ealidad aumen ada ......................................................................................................... 58 4.4.2 P uebas de se icios web REST con Je sey .......................................................................................... 63 4.4.3 P uebas con Hibe na e/JPA ................................................................................................................. 64 4.4.4 P uebas de los se icios de edes sociales ........................................................................................... 65 4.4.5 P uebas de geolocalización ................................................................................................................. 68 CAPÍTULO 5: EVALUACIÓN DE USUARIOS ...................................................................................................... 70 5.1 PLAN DE EVALUACIÓN ....................................................................................................................................... 70 5.1.1 ¿Qué es amos e aluando? .................................................................................................................. 70 5.1.2 P opósi o de la e aluación .................................................................................................................. 70 5.1.3 Obje i os gene ales ............................................................................................................................. 71 5.1.4 P egun as de in es igación ................................................................................................................. 71 5.1.5 Requisi os de los pa icipan es ............................................................................................................ 71 5.1.6 Diseño expe imen al ........................................................................................................................... 71 5.1.7 Ta eas a ealiza .................................................................................................................................. 72 5.1.8 En o no y he amien as empleadas .................................................................................................... 72 5.1.9 Ob ención de eedback de los pa icipan es ....................................................................................... 73 5.1.10 Ta eas del mode ado ....................................................................................................................... 73 5.1.11 Desc ipción de la me odología de análisis de da os ......................................................................... 73 5.2 EVALUACIÓN .................................................................................................................................................. 74 5.2.1 Obse aciones y opiniones de los usua ios ......................................................................................... 74 5.2.2 Resul ado cues iona io SUS ................................................................................................................. 76 CAPÍTULO 6: CONCLUSIONES ......................................................................................................................... 78 6.1 CONCLUSIONES ............................................................................................................................................... 78 6.2 CONCLUSIONS ................................................................................................................................................. 80 CAPÍTULO 7: TRABAJO FUTURO ..................................................................................................................... 83 CAPÍTULO 8: ORGANIZACIÓN DEL TRABAJO ................................................................................................... 85 8.1 MODELO DE DESARROLLO ................................................................................................................................. 88 8.2 HERRAMIENTAS DE COMUNICACIÓN .................................................................................................................... 88 8.3 HERRAMIENTAS DE CONTROL DE VERSIONES .......................................................................................................... 88 8.4 HERRAMIENTAS DE GESTIÓN DE TAREAS ............................................................................................................... 89 CAPÍTULO 9: APORTACIONES AL PROYECTO .................................................................................................. 90 9.1 CRISTINA DELGADO RODRÍGUEZ ......................................................................................................................... 90 9.2 IGNACIO ROCILLO LANDA .................................................................................................................................. 93 9.3 JORGE MUÑOZ RODRÍGUEZ ............................................................................................................................... 94 9.4 JORGE RUEDA GARZÓN..................................................................................................................................... 96 9.5 SERGIO FUENTES URABAYEN .............................................................................................................................. 98 REFERENCIAS ............................................................................................................................................... 100 ANEXOS ....................................................................................................................................................... 103 ANEXO I: API REST ........................................................................................................................................... 103 1. Usua ios ............................................................................................................................................ 103 2. Películas............................................................................................................................................. 105 iii 3. Valo aciones ...................................................................................................................................... 108 4. Deseos ............................................................................................................................................... 109 5. Recomendaciones.............................................................................................................................. 111 6. Geolocalización (GPS) ........................................................................................................................ 111 7. Beacons ............................................................................................................................................. 113 4/117 Capí ulo 2: ESTADO DEL ARTE En es e apa ado expond emos las ecnologías que más impo ancia ienen pa a nues o p oyec o: ealidad aumen ada, uen es de in o mación de películas, sis emas de ecomendación y sis emas de localización median e disposi i os Beacon. Es udia emos los di e en es usos que se le da a es as ecnologías, de alla emos su uncionamien o y ambién e emos en qué aplicaciones del me cado se usan. 2.1 Realidad aumen ada La ealidad aumen ada (1) (en adelan e RA) es el é mino que se u iliza pa a de ini la isión de elemen os i uales in e ac i os (da os, in o mación), en un en o no eal, a a és de un disposi i o. Pa a u iliza la en la ac ualidad, únicamen e es necesa io ene un disposi i o con una cáma a y una pan alla, lo que hace de los Sma phone un disposi i o pe ec o pa a u iliza es a ecnología. Además de en disposi i os mó iles y o denado es, se es án c eando disposi i os cen ados en RA, como las ga as de las emp esas Google y Mic oso . Es po es o, que se dice que ac ualmen e jun o a la ealidad i ual, la RA es una ecnología en auge. Con el paso del iempo, más compañías es án abajando en inclui RA de múl iples o mas, ya no sólo en aplicaciones de ocio y en e enimien o, como es el caso de es e p oyec o, sino ambién en o os ámbi os, como a queología, medicina o uso mili a . Su uncionamien o consis e en mos a , a a és de la pan alla del disposi i o y sob e la imagen cap ada po la cáma a, in o mación i ual que complemen an lo is o en la ealidad y pe mi e la in e acción en iempo eal en e el usua io y la in o mación. Pa a pode mos a la, se u iliza el econocimien o de ma cado es como a je as de códigos QR, ca eles de películas, e c. En el siguien e apa ado se explican los usos más impo an es de es a ecnología. 5/117 2.1.1 Usos La RA se es á u ilizando en múl iples ámbi os, en e ellos: A queología Puede u iliza se pa a “ econs ui ” las edi icaciones en yacimien os y luga es an iguos en los que únicamen e quedan los es os de épocas pasadas. Un ejemplo de ello es la guía in e ac i a del Museo al Ai e Lib e del yacimien o de la Villa Romana de l´Albi , en Alican e (2). G acias a ella, se puede isualiza en la pan alla del disposi i o una ep esen ación 3D del conjun o de las e mas sob e el yacimien o y ayuda a mos a el uncionamien o de las es ancias de los baños. A qui ec u a G acias a la RA se puede isualiza cómo queda ían cons ucciones en un de e minado luga g acias a la c eación de obje os 3D en en o nos eales, o pa a isualiza la maque a de una cons ucción u ob a a la ho a de enseña un p oyec o. Figu a 1: Ejemplo de uso en la a queología Figu a 2: Ejemplo de uso en la a qui ec u a 6/117 Medicina Algunos de los usos de la RA en medicina son ayuda a pe sonas au is as a in e ac ua en un en o no social (3), enseñanza especializada, ayuda en ope aciones econociendo umo es (4), e c. Un ejemplo de enseñanza especializada en medicina es mARble, una aplicación desa ollada po el Colegio de Medicina de Hanno e (5) pa a ayuda a es udian es de medicina a gana expe iencia g acias a la RA. P oyec a “en e medades i uales” en suje os sanos y mues a ex os, ideos y g á icos sob e la en e medad. Figu a 3: Ejemplo de uso en la medicina Uso mili a El ejé ci o de Es ados Unidos c eó cascos “in eligen es” con un iso de RA diseñado pa a el campo de ba alla. El sis ema mues a in o mación como la localización de los enemigos, imágenes sa éli es o su o den ac ual. El so wa e se ejecu a en un disposi i o jun o al casco. G acias a una cáma a, puede as ea lo que el soldado es á iendo y mos a la in o mación en el moni o (6). Figu a 4: Ejemplo de uso mili a 7/117 Museos La RA en los museos es á siendo u ilizada pa a mos a más in o mación e in e ac ua con ob as y obje os. Muchos museos de odo el mundo es án empezando a inco po a RA, como es el caso del Museo B i ánico, el Museo de Lond es o el Museo de Amé ica de Mad id, con la aplicación RACMA (7), la cual ayuda a mos a las colecciones más des acadas de las cul u as expues as g acias al pode de la RA. Videojuegos En los úl imos años, muchas compañías han que ido aden a se en el mundo de la RA con ideojuegos pa a consolas po á iles y sma phones . Quizás el máximo ep esen an e de es a ca ego ía es la emp esa española No a ama, c eado es de In inzimals (8), juego o iginal de PSP, y que pos e io men e salió en muchos más disposi i os. En él, con la ayuda de una a je a ma cado a y la cáma a de la consola o sma phones , asis imos a ba allas de mons uos en la mesa de nues a habi ación. Figu a 5: Ejemplo de uso en museo Figu a 6: Ejemplo de uso en los ideojuegos 8/117 2.1.2 Tecnologías Ac ualmen e hay muchas lib e ías pa a p og ama y desa olla RA. Pa a comp oba cuál de ellas se ace caba más a nues as necesidades buscamos di e en es al e na i as. Algunas de ellas son es as: OpenCV OpenCV (9) es una lib e ía open sou ce de isión a i icial desa ollada po In el. Se u iliza an o en sis emas de segu idad con de ección de mo imien o como en econocimien o de obje os o RA. Es mul ipla a o ma, exis en e siones pa a GNU/Linux, Mac y Windows, y iene unciones que an desde el econocimien o de obje os a la isión obó ica. Vu o ia Vu o ia (10) es una lib e ía que pe mi e cons ui aplicaciones basadas en RA. O ece econocimien o de ex o, econocimien o de imágenes, de ección ápida y as eo simul áneo y obus o de obje i os. Puede desa olla se en Uni y, Ja a, C++ y es compa ible con iOS y And oid. Su a qui ec u a consis e en:  Cáma a: pe mi e cap a la imagen en busca del Ta ge (obje i o).  Base de da os: puede se local o en la nube. Almacena una colección de Ta ge s pa a pode econoce los con el T acke .  Ta ge : son los obje i os a econoce . Pueden se Image Ta ge s (imágenes, ales o os, páginas de e is a, pos e s, e c.) o Wo d Ta ge s (palab as, ases, e c.)-  T acke : analiza la imagen de la cáma a y de ec a obje os a a és de la cáma a con el in de encon a coincidencias con la base de da os. Me aio Compañía de RA (11) que desa ollaba so wa e de RA comp ada po Apple. O ece di e en es p oduc os pa a c ea aplicaciones de RA:  Me aio SDK: he amien a pa a c ea aplicaciones pa a And oid, iOS y Windows con un plugin adicional en Uni y.  Me aio C ea o : pe mi e c ea aplicaciones RA sin conocimien os especializados en p og amación, a a és de una in e az D ag and D op.  Me aio CVS: se icio de búsqueda pa a econoce imágenes ins an áneamen e. 9/117 Mixa e Mixa e (12) es una aplicación que abaja de o ma o almen e au ónoma y que es á disponible pa a el desa ollo de aplicaciones p opias publicada bajo licencia GPL 3. Es á disponible pa a iOS y And oid. ARToolKi ARToolKi (13) es una lib e ía so wa e pa a la ealización de aplicaciones de RA. U iliza algo i mos de isión compu acional pa a busca el pun o de is a de los usua ios. En e sus ca ac e ís icas se encuen an la dis ibución comple a del código uen e, calib ación sencilla de la cáma a y dis ibuciones pa a Linux, Mac OS, Windows OS. Wiki ude Wiki ude (14) es una ecnología pa a disposi i os mó iles de pago que posee un ki de desa ollo de RA. Algunas de las ca ac e ís icas de Wiki ude son:  API na i a y API Ja aSc ip : pe mi e la p og amación pa a And oid/iOS o con ecnologías web como Ja aSc ip .  Se icios de localización basados en da os de geolocalización.  Posee ex ensiones pa a Co do a, Ti anium, Xama in y Uni y.  Pe mi e el desa ollo de aplicaciones pa a Sma Glasses.  Pe mi e añadi ideos, modelos 3D, imágenes y elemen os HTML.  Inco po a econocimien o de imágenes y seguimien o: pe mi e econocimien o en la nube y en local de 1000 imágenes. 10/117 2.2 Fuen es de in o mación de películas Debido a que la aplicación mues a in o mación de películas y alo aciones, y es a in o mación es cambian e y dinámica, necesi amos sabe de dónde ex ae es á in o mación. Po ello in es igamos las p incipales webs y bases de da os de películas pa a comp oba cuál de ellas o ece odo lo que que emos mos a . 2.2.1 Me ac i ic Me ac i ic (15) es una de las webs más conocidas de análisis de Es ados Unidos, p opiedad de la cadena de ele isión CBS. Es conocida po ag upa odos los análisis de películas, ideojuegos, se ies y música de la p ensa especializada de odo el mundo y hace una media con odas ellas. Además, odos los usua ios pueden alo a igualmen e y ealiza ambién una media con odas las opiniones. Poseía una API no o icial que inalmen e ue ce ada po los c eado es del si io. Figu a 7: Ejemplo de Me ac i ic 11/117 2.2.2 IMDb IMDb (In e ne Mo ie Da abase) (16) es una de las bases de da os de cine más g andes de In e ne . Con iene in o mación de películas, ac o es, se ies de ele isión, ac o es de doblaje e incluso de pe sonajes ic icios. Ac ualmen e es p opiedad de Amazon. Con iene mucha in o mación sob e cada una de las películas: alo aciones, análisis, di ec o es, guionis as, ac o es, echa de es eno, no icias elacionadas con la película, películas pa ecidas, e c. Una ca ac e ís ica poco común en las bases de da os de películas es que además de oda es a in o mación, se incluye el elenco o al de pe sonas que han pa icipado en la película, desde asis en es de sonido has a ex as. OMDb (17) es la API no o icial de IMDb, g a ui a, y que con iene in o mación como el géne o, echa de lanzamien o, sinopsis… Figu a 8: Ejemplo de IMDb 12/117 2.2.3 Ro en Toma oes Ro en Toma oes (18) es o a de las webs de opinión más impo an es y conocidas de la indus ia del cine y la ele isión. Como Me ac i ic, ecoge c í icas an o de medios especializados como del público, además de mos a in o mación de la película como du ación, p esupues o, cas ing y no icias elacionadas. Posee una API (19) que equie e de cla e de acceso y iene un núme o limi ado de usos po día y equie e pe miso po pa e del equipo de Ro en Toma oes pa a pode u iliza se ue a de los Es ados Unidos. Figu a 9: Ejemplo de Ro en Toma oes 13/117 2.2.4 TheMo ieDb.O g TheMo ieDb.o g (20) es una base de da os de películas y se ies. Es pública, po lo que cualquie pe sona puede añadi una nue a película, o ac ualiza una exis en e. En e la in o mación que mues a se encuen a la habi ual de es e ipo de páginas, du ación, sinopsis, alo ación de los usua ios de la web, e c. Además de su p esupues o, se pueden e los ing esos que ha ob enido la película, y como ocu e en IMDb, ambién se puede e odo el epa o de la película, incluyendo ope ado es de cáma a, maquillado es, e c. Incluye una API (21) que ambién necesi a una cla e de acceso, pe o puede usa se ue a de los Es ados Unidos y mues a mucha in o mación de la película como áile , sinopsis… Figu a 10: Ejemplo de Ro en Toma oes 20/117 Figu a 15: Ilus ación y aplicación de los Es imo e Beacons RadBeacon RadBeacon (28), o ece has a es ipos de Beacons dependiendo de las necesidades de conec a lo con una uen e de ca ga pa a su uncionamien o yendo desde conexión USB, a oma eléc ica o de o ma au ónoma. Es os disposi i os es án más pensados pa a da una ges ión y segu idad de es as balizas mucho más a anzada, pudiendo con igu a y supe isa las di e en es balizas median e un se icio en la nube y siendo compa ible es os disposi i os con se icios API REST. Son compa ibles con IBeacon(iOS), Al Beacon y Eddys one Beacon(And oid). Figu a 16: Ilus ación de los di e en es disposi i os de RadBeacon Blueca Beacon Blueca Beacon (29) u ilizan como o ma de uen e de ca ga pilas con encionales, donde nos o ece unas he amien as pa a moni o iza y con igu a nues os Beacons en la nube. O ece un SDK bas an e cla o pa a que en unos minu os podamos ealiza nues o p ime p oyec o. Es compa ible con iBeacon(iOs) y Eddys one(And oid). 21/117 Figu a 17: Pa es de que se compone Blueca Beacon Kon ak .io Beacon Kon ak .io (30) nos o ece un único o ma o de Beacon el cual no necesi a ninguna uen e ex e na de eca ga. Además, nos pone a nues a disposición las siguien es he amien as: P oximi y Web Panel: Es una pla a o ma ácil de usa que pe mi e con igu a y adminis a la in aes uc u a de los Beacons, donde pe mi e o ganiza despliegues en luga es i uales, cambia la con igu ación y los pe iles de las balizas de o ma indi idual o en masa. P oximi y REST API: Pe mi e una c eación de una he amien a de con igu ación y adminis ación o usa la pla a o ma ya exis en e que o ece pa a los desa ollado es. In eg a ambién soluciones pa a la segu idad adminis ación masi a, análisis e in o mación ins an ánea ace ca de los Beacons. El SDK de Kon ak .io es compa ible con Eddys one (And oid supe io es a 4.3 pa a un co ec o uncionamien o) y iBeacon (iOs 8.0 o supe io es). Figu a 18: Ilus ación del modelo Kon ak .io 22/117 Capí ulo 3: FUNCIONALIDAD En es e capí ulo, desc ibi emos de odas las uncionalidades que iene la aplicación a modo de manual de usua io, iendo a a és de diag amas cuál se ía el lujo de es ados de la aplicación. MUVI es una aplicación, como ya hemos comen ado an e io men e, basada en RA, con la que se puede ob ene in o mación sob e películas u ilizando las ca ele as de las películas. Además, se puede compa i dicha in o mación, almacena us películas a o i as y alo a las. Debido a que MUVI es á pensada pa a se una aplicación social es necesa io almacena la in o mación de los usua ios y, po eso, se equie e que odos los usua ios se egis en en la aplicación an es de pode usa odas las uncionalidades. Además, hacemos uso de los disposi i os Beacon pa a comp oba qué amigos es án ce ca de noso os cuando escaneamos una película y así pode ecomenda dicha película al g upo o no, además de pode mos a la ecomendación indi idual del usua io. 3.1 Funciones de la Aplicación An es de en a en de alle en el lujo de la aplicación y explica de alladamen e cada in e az que iene nues a aplicación, con a emos cuáles son sus uncionalidades básicas. La p incipal uncionalidad de nues a aplicación es la RA. Ahí, el usua io puede ealiza la mayo ía de uncionalidades de la aplicación simplemen e apun ando al ca el de una película. Puede e in o mación sob e una película, alo a una película, e el áile , compa i en Twi e , añadi a la lis a de Me Gus a y e la pun uación que la aplicación es ima de la película escaneada pa a us amigos conec ados al mismo disposi i o Beacon que ú. Fue a de la RA, podemos e en una in e az sencilla e in ui i a las películas que hemos añadido a nues a lis a de Me Gus a y la in o mación de esas películas sin ene que ol e a en a a la RA. Además, el usua io, g acias al uso del GPS, puede e las películas que sus amigos ce canos han añadido a Me Gus a pa a hace se así una idea de qué película e . 3.2 Flujo de la Aplicación La p ime a pan alla que e á el usua io es la in e az de Regis o. Aquí el usua io in oduci á sus da os pa a egis a se. Una ez egis ados, lo siguien e es inicia sesión. Pa a ello, se iene que in oduci el nomb e de usua io y con aseña con la que se haya egis ado el usua io en la in e az de Inicio de Sesión. Una ez e minado el p oceso de egis o y/o inicio de sesión se accede a la in e az de Inicio, desde la cual se puede accede a odas las uncionalidades de la aplicación. Pa a ello, se 23/117 dispone de una ba a de menú desplegable a la que se puede accede pulsando sob e el bo ón de la esquina supe io izquie da o simplemen e deslizando el dedo de izquie da a de echa. Además del menú se puede accede a la RA pulsando sob e la imagen p incipal que hay en la pan alla de inicio. Cuando el usua io en a en la in e az de RA se ab i á la cáma a del disposi i o mó il que se es é u ilizando. Pa a pode cap u a los pos e s de películas lo único que hay que hace es en oca con la cáma a sob e el pos e . Si la aplicación de ec a el pos e , apa ece án a ios bo ones al ededo de él. Los bo ones ienen di e sas unciones: añadi la película a la lis a de Me Gus a, alo a la película, e áile , e c. Todas es as uncionalidades se explica án en de alle más adelan e. De uel a a la in e az de Inicio, el usua io puede elegi en e a ias opciones. En la 3.4.5 In e az de Me Gus a puede e odas las películas que haya gua dado desde la 3.4.4 In e az de Realidad Aumen ada. Es as películas son in e ac i as, de o ma que si el usua io pulsa sob e la imagen de la película, la aplicación le edi igi á a la 3.4.6 In e az de Ficha de Película. En es a in e az se mues a oda la in o mación ele an e de la película: í ulo, sinopsis, géne o, e c. En la siguien e igu a se mues a el lujo de odas las in e aces de la aplicación, desde la in e az de Regis o has a la de Ficha de Película. Figu a 19: Flujo de las in e aces de la aplicación 24/117 3.3 P ime os p o o ipos La aplicación que en un p incipio eníamos pensada y la que inalmen e ha esul ado no se pa ece mucho. En un p incipio, se pensó en hace secciones di e en es como la búsqueda de películas, así como un his o ial de odas las cap u as de la RA. Es as p ime as ideas se plasma on en unos dibujos sencillos como p ime os p o o ipos. Figu a 20: P o o ipo de in e az de búsqueda Figu a 21: Ilus ación del modelo Kon ak .io Según a anzábamos en la de inición de la aplicación, la mayo ía de las posibles uncionalidades se desechaban, ya que no se cen aban en lo que de e dad impo aba, la RA. Pa a los siguien es p o o ipos u ilizamos he amien as especí icas como p o o.io. De es e modo, nos ace cábamos a una p ime a e sión de las in e aces. Pa a la in e az de inicio se pensó en ene la mi ad de la pan alla con una p e- isualización de la cáma a, pa a que así el usua io pudie a cap u a pos e s nada más en a en la aplicación. Sin emba go, se echazó es a idea po que ene la cáma a encendida siemp e que se es é usando la aplicación, educi ía en exceso la memo ia y usa ía demasiado la ba e ía del disposi i o. 25/117 Figu a 22: P ime p o o ipo de la in e az de inicio Como se puede obse a en la igu a, es e p o o ipo cons aba de una ba a de he amien as en la pa e de abajo. Es a idea ue pe diendo peso debido a que si se añadie an más uncionalidades end íamos una ba a demasiado llena de iconos. Pa a a egla es e p oblema nos decan amos po usa un menú desplegable. Figu a 23: Segundo p o o ipo de la in e az de inicio 26/117 3.4 In e az de usua io En los p óximos apa ados se explican las di e en es in e aces de usua io de la aplicación: 3.4.1 In e az de Regis o Figu a 24: In e az de egis o El obje i o de es a in e az es que los usua ios se den de al a en la aplicación. Se a a de un egis o básico en el que se equie e que el usua io esc iba su nomb e, un nomb e de usua io, su co eo y una con aseña. Como hemos explicado an e io men e, al se una aplicación social es necesa io gua da la in o mación de los usua ios, po eso es necesa io que odos los usua ios se egis en. La aplicación hace a ias comp obaciones de los da os inse ados: si el nomb e de usua io es único, si ningún campo es á acío y si el co eo iene un o ma o álido. 27/117 Si alguna de es as condiciones no se cumple, la aplicación mos a á un mensaje de e o indicando que es lo que el usua io iene que hace . Si el egis o es exi oso, la aplicación edi igi á a la in e az de “Inicia Sesión” pa a que el usua io pueda empeza a u iliza los se icios. Cuando el usua io pulse “Login” se ab i á la in e az de “Inicia Sesión”. A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad: Figu a 25: Diag ama de ac i idad de egis o 3.4.2 In e az de Inicia Sesión Figu a 26: In e az de inicio de sesión 28/117 El obje i o de es a in e az es inicia sesión en la aplicación pa a pode comenza a hace uso del es o de uncionalidades. Pa a ello, el usua io debe de in oduci el nomb e de usua io y con aseña que u ilizó cuando hizo el egis o. Cuando el usua io pulse “Accede ” se comp ueba que los da os in oducidos son co ec os y que és e exis e en la base de da os de la aplicación. Hay dos opciones: si exis e y los da os son co ec os: en onces se inicia la sesión y se ab e la en ana de inicio. Si no exis e o los da os son inco ec os, en onces se no i ica al usua io pa a que co ija los da os y uel a a in en a lo. Cuando el usua io pulse “Regis a se” se ab i á la in e az de “Regis o”. A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad: Figu a 27: Diag ama de ac i idad de la in e az de inicio de sesión 3.4.3 In e az de Inicio Figu a 28: In e az de inicio y menú la e al 29/117 La in e az de Inicio es la in e az p incipal de la aplicación. Desde ella se puede accede a cada una de las uncionalidades de la aplicación. Cons a de dos elemen os: 1. Una imagen p incipal “pulsable” con el que el usua io puede i a la in e az de RA. 2. Un ca usel con las películas que es án a asando en aquilla. Además, es a in e az iene una ba a de na egación en la pa e supe io con la que se puede accede al menú. El menú iene una lis a de bo ones pa a pode i a cualquie pun o de la aplicación. La inalidad de es a in e az es da la bien enida a los usua ios. Una ez ealicen co ec amen e el egis o y pos e io inicio de sesión, se án la p ime a pan alla que ean. A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad: Figu a 29: Diag ama de ac i idad de inicio 36/117 A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad. Figu a 39: Diag ama de ac i idad de Me Gus a 3.4.6 In e az de Ficha de Película Figu a 40: In e az de icha de película 37/117 En es a in e az se o ece una desc ipción de una película. Pa a ello, p ime o se iene que selecciona dicha película desde la 3.4.5 In e az de Me Gus a . Se mues an di e en es da os de la película, como son:  Tí ulo: se mues a el Tí ulo en el idioma o iginal de la película.  Fo o del ca el: se mues a la o o del ca el de la película.  Valo ación: se mues an cinco es ellas, que dependiendo de la alo ación que enga la película, se án ama illas o g ises. Po ejemplo, la película “Ma e” iene una alo ación de 3 sob e 5, en onces es a película end á 3 es ellas ama illas y 2 g ises. Las alo aciones que se mues an son las que haya en la uen e ex e na. En es e caso, las alo aciones de IMDb.  T áile : es un bo ón que al pulsa lo edi ige al áile en YouTube.  Géne os: se mues an los géne os a los que pe enece la película.  Sinopsis: se mues a un esumen de la ama de la película. El ex o es á en el idioma o iginal. A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad. Figu a 41: Diag ama de ac i idad de Ficha de Película 38/117 3.4.7 In e az de Gen e Ce cana Figu a 42: In e az de Gen e Ce cana La inalidad de es a in e az es o ece al usua io una idea de que películas es án eniendo más éxi o en e las pe sonas que le odean, o eciéndole una idea de qué película pod ía e . Es a in e az se dispone a mos a las pe sonas ce canas al usua io, pudiendo consul a las películas a o i as de cada una que se haya añadido desde la RA. P ime o, se mos a á una lis a de pe sonas y si el usua io quie e sabe los gus os de las mismas end á que pulsa sob e una de ellas. Po o o lado, si el usua io uel e a acciona es e bo ón se ocul a á la lis a de películas de dicha pe sona. Po úl imo, el usua io puede i a la RA pulsando el bo ón lo an e de la esquina de echa. 39/117 A con inuación, se p esen a un diag ama de ac i idad pa a en ende el lujo de ac i idad que iene es a uncionalidad. Figu a 43: Diag ama de ac i idad de Gen e Ce cana 40/117 Capí ulo 4: IMPLEMENTACIÓN En es e apa ado se de alla la a qui ec u a de la aplicación y el p oceso de c eación de la misma, incluyendo las dis in as ecnologías implicadas, los lenguajes de p og amación y en o nos de desa ollo u ilizados, así como las di e en es p uebas ealizadas como oma de con ac o con dichas ecnologías. 4.1 A qui ec u a Figu a 44: A qui ec u a de la aplicación La a qui ec u a de nues a aplicación es una a qui ec u a clien e-se ido . Se a a de un sis ema en el que exis en clien es ( on -end ), que solici an se icios, y se ido es ( back-end ), que los p opo cionan. Es a comunicación se ealiza a a és de In e ne y, en nues o caso, el o ma o de los da os que in e cambian es JSON. En la pa e se ido o back-end , exis e una API REST de se icios, los cuales implemen an uncionalidades que equie en hace uso de los ecu sos del sis ema. Se en iende po ecu so la in o mación almacenada en la base de da os. Es os se icios se encuen an alojados en un se ido p opo cionado po la Facul ad de In o má ica. Los da os son almacenados en dos ipos de bases de da os di e en es: MySQL y MongoDB. La pa e clien e o on -end co esponde con nues a aplicación MUVI, que puede se ins alada en cualquie disposi i o And oid. Nues a aplicación hace uso de los disposi i os Beacon, 41/117 o ien ados a la localización en indoo . También u iliza el sis ema de localización GPS, o ien ado a la localización en ex e io es. 4.1.1 Relación en e on -end y back-end En es e apa ado se explica el uso que la aplicación MUVI ( on -end ) hace de los se icios de la API ( back-end ). El obje i o es plasma con mayo cla idad la elación que exis e en e on - end y back-end , es deci , el uncionamien o de la aplicación un poco más a bajo ni el, an es de explica cómo se han implemen ado ambas pa es po sepa ado más adelan e. Los se icios que se consumen desde la in e az de RA co esponden con los siguien es ecu sos del sis ema:  El ecu so de películas se u iliza pa a consul a la in o mación de una película escaneada cuando el usua io desea e su in o mación.  El ecu so de alo aciones se u iliza pa a añadi la alo ación de un usua io cuando ealiza una alo ación de la película escaneada y pa a consul a las alo aciones que amigos ce canos han ealizado de la dicha película.  El ecu so de deseos se u iliza pa a añadi la película a la lis a de deseos del usua io cuando és e la añade a a o i os.  El ecu so de sis ema de ecomendación se u iliza pa a es ima lo que a alguno de los amigos ce canos les gus a ía la película escaneada cuando és e no ha alo ado dicha película con an e io idad.  El ecu so de disposi i os Beacon co esponde con los da os de las conexiones en e usua ios y beacons almacenados en la base de da os p o enien es del escaneo de beacons ealizado en el on -end , en conc e o, en la in e az de RA. Se u iliza an o pa a almacena cie a in o mación de un usua io y de un beacon que es án conec ados, como pa a elimina la si pasa cie o iempo desde que el disposi i o del usua io escaneó ese beacon po úl ima ez. Los se icios que se consumen desde el es o de in e aces de la aplicación co esponden con los siguien es ecu sos del sis ema:  El ecu so de usua ios se u iliza pa a gua da los da os de un usua io si c ea una cuen a a a és de la in e az de Regis o o pa a consul a los da os del mismo si desea accede a la aplicación a a és de la in e az de Inicio de Sesión.  El ecu so de películas se u iliza consul a la in o mación de una película cuando se necesi a mos a dicha in o mación en la in e az de Ficha de Película.  El ecu so de deseos se u iliza pa a consul a las películas que le gus an al usua io cuando se necesi a mos a dichas películas en la in e az de Me Gus a. También se 42/117 u iliza en la in e az de Gen e Ce cana pa a consul a que películas le gus an a cada uno de los usua ios ce canos.  El ecu so de GPS co esponde con los da os de ubicación almacenados en la base de da os p o enien es del uso del sis ema de localización GPS en el on -end . Se u iliza en la in e az de Gen e Ce cana, an o pa a añadi la ubicación de usua ios ce canos, como pa a consul a los usua ios ce canos cuando se necesi a mos a dichos usua ios. 4.2 Implemen ación del back-end Los módulos de los que se compone el back-end son los siguien es: Figu a 45: Módulos del back-end Las elaciones en e los módulos se ep esen an con una línea que los une. A con inuación, se explican cada una de es as elaciones: El módulo de usua ios ges iona la in o mación de los usua ios almacenada en la base de da os elacional en MySQL. El módulo de películas ob iene la in o mación de las películas de una uen e de in o mación ex e na, en nues o caso TheMo ieDB, y po eso es á elacionado con el módulo de TheMo ieDB. La in o mación que ob iene de TheMo ieDB, la ges iona, almacenando pa e de ella en la base de da os elacional en MySQL. El módulo de deseos ges iona las lis as de películas deseadas de los usua ios. Es po es a azón que es á elacionado con ambos. Los módulos que almacenan la in o mación en la base de da os elacional MySQL es po eso que es án elacionados con el módulo de MySQL. El módulo de alo aciones ges iona la in o mación de las alo aciones que ealizan los usua ios de nues o sis ema sob e las películas. Es po es a azón que es á elacionado, an o con los 43/117 usua ios, como con las películas. Po o o lado, es as alo aciones ealizadas po los usua ios de nues o sis ema, jun o con las alo aciones del da ase Mo ieTwee ings, se u ilizan en nues o sis ema de ecomendación. Po ello, an o el módulo de alo aciones, como el módulo de Mo ieTwee ings, es án elacionados con el módulo de ecomendación. En un p incipio se diseñó el back-end pensando en que el sis ema de ecomendación se basa a en da os de alo aciones que se almacena an en MongoDB. Pos e io men e, la ecnología con la que se implemen ó el sis ema de ecomendación no pe mi ía accede a los da os di ec amen e desde MongoDB, sino que eque ía de un iche o de da os. De es e hecho se de i a que las alo aciones de nues o sis ema se almacenen y consul en en MongoDB y que ambos módulos es én elacionados. Se explica con más de alle en el apa ado 4.2.3 Sis ema de ecomendación de es e documen o. La uncionalidad que in e ac úa con los sis emas de localización, an o disposi i os Beacon, como GPS, se implemen a en el on -end . Sin emba go, los da os que es necesa io pe sis i se en ían al back-end y se almacenan en MongoDB. Es po es a azón que exis en los módulos de beacons y GPS . El módulo de beacons ges iona los da os de las conexiones en e disposi i os Beacon y usua ios, almacenados en MongoDB. El módulo de GPS ges iona los da os de ubicación de los usua ios ob enidos a a és del sis ema de localización GPS, almacenados en MongoDB, y ob iene, a pa i de ellos, los usua ios ce canos den o de un ango de dis ancia. Los módulos que almacenan la in o mación en la base de da os o ien ada a documen os MongoDB es po eso que es án elacionados con el módulo de MongoDB. A con inuación, se de alla cómo se ha implemen ado es e back-end , incluyendo la explicación de la a qui ec u a de los se icios y la documen ación de los mismos, así como las di e en es ecnologías u ilizadas en su desa ollo, pa a la pe sis encia de los da os y en el sis ema de ecomendación. También se explican las a eas y p oblemá icas de i adas del se ido expe imen al p opo cionado po la Facul ad de In o má ica. 4.2.1 A qui ec u a de se icios REST (REp esen a ional S a e T ans e ) es un ipo de a qui ec u a de se icios que se apoya en el es ánda HTTP. Se de inió en el año 2000 po Roy Fielding, coau o de la especi icación HTTP. Exis en a ios ni eles de cumplimien o de los p incipios REST. Se desc iben en un modelo llamado Richa dson Ma u i y Model ( en adelan e RMM ) (31), cuyo au o es Leona d Richa dson, pad e de la a qui ec u a o ien ada a ecu sos.  Ni el 0 – Swamp o POX: Los se ido es u ilizan HTTP, pe o únicamen e como medio de anspo e. Ejemplo: SOAP 44/117  Ni el 1 – Recu sos: Los se icios u ilizan las URIs HTTP pa a dis ingui los ecu sos del sis ema. Se en iende po ecu so la in o mación a la que se quie e accede , modi ica o bo a , independien emen e de su o ma o. Es as URIs pe mi en iden i ica de o ma única el ecu so.  Ni el 2 – Ve bos HTTP: Los se icios se ap o echan de las ca ac e ís icas na i as de HTTP como cabece as, códigos de es ado, mé odos, e c. Ejemplo: Amazon S3  Ni el 3 – Hype media: Los se icios u ilizan HATEOAS (Hype media as he Engine o Applica ion S a e). HATEOAS es una es icción que implica que el clien e in e ac úa con el se ido a a és de hipe medias p opo cionadas dinámicamen e po el p opio se ido . Nues a API se encuen a en el ni el 2. Siendo es ic os con la de inición o iginal de REST ealizada po Roy Fielding, nues a API no se ía REST, po que no u ilizamos hipe medias (32). Sin emba go, son muchas las g andes emp esas (Flick , Twi e , Gi , Amazon S3…) que dicen ene una API REST y ampoco espe an la de inición o iginal. Las ca ac e ís icas de nues a API se ían las siguien es:  Uso co ec o de URIs (Ni el 1 del modelo RRM): o Los nomb es de URI no implican acciones, es deci , no se u ilizan e bos. o Cada URI es única y no exis en dos URIs que iden i iquen el mismo ecu so. o Son independien es del o ma o. o Man ienen una je a quía lógica. o Los il ados de in o mación de un ecu so no se hacen en la URI.  Uso co ec o de HTTP (Ni el 2 del modelo RRM): o Se u ilizan los e bos HTTP ap opiados pa a cada acción conc e a (GET, POST, DELETE…). o Se u ilizan los códigos de e o /es ado HTTP en las espues as a las pe iciones. o Se especi ica el o ma o del ecu so a a és de HTTP. La p incipal e e encia a la ho a de en ende y aplica es as ca ac e ís icas en nues a API ha sido un a ículo de Asie Ma qués en los que esume algunos de los concep os más impo an es que ca ac e izan a las APIs REST (33). Nues a API REST de se icios implemen a se icios elacionados con los dis in os ecu sos del sis ema: los usua ios, las películas, las alo aciones de los usua ios, los deseos del usua io, el sis ema de ecomendación, la geolocalización GPS y los disposi i os Beacon. Los se icios elacionados con los usua ios son:  Login de un usua io: comp ueba los da os de acceso de un usua io. 45/117  Regis o de un usua io: egis a un nue o usua io en nues o sis ema.  Busca un usua io: busca un usua io po su nomb e. Los se icios elacionados con las películas son:  Busca in o mación de una película: busca la in o mación de una película po su í ulo.  Lis a películas: lis a las películas que coinciden con un í ulo (máximo 5 películas). Los se icios elacionados con las alo aciones de los usua ios son:  Añadi una alo ación de un usua io: añade una alo ación de una película ealizada po un usua io al sis ema.  Mos a una alo ación de un usua io: mues a la alo ación de una película ealizada po un usua io. Los se icios elacionados con los deseos del usua io son:  Añadi un deseo de un usua io: añade una película a la lis a de deseos de un usua io.  Lis a los deseos de un usua io: lis a las películas de la lis a de deseos de un usua io.  Elimina un deseo de un usua io: elimina una película de la lis a de deseos de un usua io. Los se icios elacionados con el sis ema de ecomendación son:  Es ima una ecomendación: es ima la alo ación que un usua io da ía a una película. Los se icios elacionados con la geolocalización GPS son:  Añadi ubicación de un usua io: añade la ubicación de un usua io al sis ema.  Elimina ubicación de un usua io: elimina la ubicación de un usua io del sis ema.  Lis a usua ios ce canos: lis a los usua ios ce canos con espec o a la ubicación ac ual. Los se icios elacionados con los disposi i os Beacon son:  Asocia un usua io a un beacon : asocia un usua io a un disposi i o Beacon cuando se conec a a dicho disposi i o.  Elimina un usua io de un beacon : elimina un usua io de un disposi i o Beacon una ez ha pasado cie o iempo desconec ado.  Lis a los usua ios de un beacon : Lis a los usua ios conec ados a un mismo disposi i o Beacon. En el ANEXO I de es e documen o se encuen a una documen ación más de allada y más écnica de nues a API REST de se icios. En el desa ollo de nues a API REST se ha u ilizado el lenguaje de p og amación Ja a y el amewo k Je sey. Je sey es un amewo k open sou ce pa a el desa ollo de se icios web REST ul en Ja a. Se a a de una implemen ación de JAX-RS (Ja a API o REST ul Web 52/117 Figu a 47: Módulos del on -end Como en el diag ama de módulos de la Implemen ación back-end , las elaciones en e módulos se ep esen an con una línea que los une. La RA se elaciona con la Recomendación debido a que la u ilizad a la ho a de ecomenda a un g upo de amigos una película. Con Beacon y Usua ios debido a que cuando se buscan los beacons se gua da la in o mación de los usua ios y los beacons que es án conec ados. Se elaciona con Valo ación, Deseos y Películas g acias a que cuando se escanea el ca el de una película, mues a la in o mación de la película y áile , y pe mi e an o da le una alo ación, como añadi la a la lis a de deseos del usua io. Las in e aces And oid se elacionan con Usua ios debido que es necesa io hace el egis o y el login pa a en a en la aplicación. Con Deseos y Películas po que la in e az de Me Gus a mues a las películas que un usua io ha añadido a la lis a de deseos y la in e az de Ficha de Película mues a oda la in o mación de una película. Po úl imo, se elaciona con GPS debido que se u iliza pa a mos a la gen e que es á ce ca de i en la In e az de Gen e Ce cana. A con inuación, se de alla cómo se ha implemen ado el on -end , incluyendo la explicación de los lenguajes u ilizados, ecnologías, así como las di e en es he amien as u ilizadas en su desa ollo. 4.3.1 En o no de desa ollo Pa a odo el desa ollo de la pa e clien e del p oyec o se u ilizó el lenguaje Ja a. Ja a es el lenguaje que hay que u iliza pa a p og ama en And oid S udio, po lo que no hubo 53/117 mucha elección posible. Además, es un lenguaje que conocemos odos los in eg an es del g upo y, po es a azón, ap ende a p og ama aplicaciones mó iles pa a And oid ha sido más ácil. Sin emba go, pa a pode abaja con Wiki ude u imos que u iliza Ja asc ip . Es un lenguaje ácil de ap ende , que conocemos casi odos los in eg an es y es muy sencillo de u iliza y abaja con él. Toda la pa e clien e se desa olló en un mismo en o no de desa ollo. Aunque al p incipio es u imos dudando en e Eclipse o And oid S udio, inalmen e nos decan amos po es e úl imo. And oid S udio o ecía más he amien as y una o ma más sencilla de abaja . And oid S udio es un en o no de desa ollo in eg ado pa a la pla a o ma And oid. Fue anunciado el 16 de mayo de 2013 en la con e encia Google I/O, y eemplazó a Eclipse como el IDE o icial pa a el desa ollo de aplicaciones pa a And oid. Elegimos u iliza And oid S udio po su in eg ación con las APIs de And oid y el ácil manejo que iene pa a desplega y es ea las aplicaciones en los disposi i os mó iles. Además de es o, And oid S udio o ece a ias en ajas:  Rende ización en iempo eal.  Consola de desa ollado : consejos de op imización, ayuda pa a la aducción, es adís icas de uso.  Sopo e pa a cons ucción basada en G adle.  Re ac o ización especi ica de And oid y a eglos ápidos.  He amien as Lin pa a de ec a p oblemas de endimien o, usabilidad, compa ibilidad de e siones, y o os p oblemas.  Plan illas pa a c ea diseños comunes de And oid y o os componen es. 4.3.2 Realidad Aumen ada A la ho a de desa olla la 3.4.4 In e az de Realidad Aumen ada eníamos a ias he amien as posibles. Es u imos bas an e iempo in es igando cuál se ía mejo pa a el p oyec o y haciendo p uebas con Vu o ia y Wiki ude. Finalmen e, decidimos usa la ecnología Wiki ude en ez de Vu o ia debido a su ácil in eg ación con And oid S udio, po que dispone de un lenguaje de p og amación sencillo (Ja aSc ip ) y po que Vu o ia, al diseña se en Uni y, es á más o ien ado a juegos que a aplicaciones, como la de es e p oyec o, y pe mi e econoce imágenes an o en local como en la nube. Decidimos usa el econocimien o en la nube de las imágenes debido a que la Ta ge API de Wiki ude es muy sencilla de u iliza , ya que se pueden añadi muchos ca eles muy ácilmen e, y la base de da os de la aplicación se ac ualiza de o ma au omá ica. Sin emba go, nos 54/117 encon amos con el p oblema de que, al es a el econocimien o en la nube limi ado a 1000 econocimien os al mes (en la e sión g a ui a) y ene que hace an as p uebas pa a e si uncionaba co ec amen e la aplicación, ápidamen e se nos p ohibía u iliza más econocimien os po que habíamos supe ado el lími e. Po ese mo i o, decidimos ealiza el econocimien o de imágenes en local, ya que no iene lími e. Sin emba go, no se ac ualiza au omá icamen e la aplicación y es necesa io desca ga un a chi o .w c de la API de Wiki ude con las imágenes que que emos econoce y añadi lo a la aplicación cada ez que que emos cambia los ca eles de las películas que econocemos. O o incon enien e que encon amos ue la ep oducción de ideo en la RA. Uno de los obje i os de la in e az RA e a mos a el áile de la película que anunciaba el ca el. Sin emba go, leyendo la documen ación de Wiki ude, comp obamos que sólo se pueden c ea 4 obje os de ideo debido al cos e de ca ga de es os ideos. Es po ello que nues a in e az de RA se io limi ada a econoce únicamen e cua o ca eles de película, siendo imposible así ealiza el obje i o de gua da oda una ca ele a. O o p oblema con la ep oducción de los áile es es á elacionado con la o ma en la que se gua dan los ideos y los obje os de econocimien o. La p ime a idea e a un único obje o AR.T ackable2DObjec que ecibía el nomb e del pós e y llamaba a los se icios web pa a mos a oda la in o mación po pan alla. Sin emba go, al ene que c ea un obje o de ideo (AR.VideoD awable) pa a cada áile , ue necesa io c ea un obje o de econocimien o pa a cada ca el, lo que p o oca mucho código epe ido y no se an ácilmen e ampliable. Una posible solución a es os p oblemas es no mos a el ideo en la RA y que, al pulsa el bo ón de ideo, se di ija la ep oducción del áile a YouTube. 4.3.3 Tecnologías Po o o lado, pa ece impo an e explica qué o as ecnologías se usa on pa a la c eación de las in e aces de usua io. Al se una aplicación con in e aces pa ecidas, que, además, el usua io puede i de una a o a ápidamen e, u imos que encon a la mane a de que las llamadas al se ido se hicie an de o ma e icien e y sin que el usua io lo no a a. Pa a ello, u ilizamos la ecnología F agmen . Es a ecnología nació cuando empeza on a apa ece disposi i os de g an amaño ipo able , el equipo de And oid u o que soluciona el p oblema de la adap ación de la in e az g á ica de las aplicaciones a ese nue o ipo de pan allas. Una in e az de usua io diseñada pa a un elé ono mó il no se adap aba ácilmen e a una pan alla a ias pulgadas mayo . La solución a es o ino en o ma de un nue o ipo de componen e llamado F agmen . 55/117 Un agmen no puede conside a se ni un con ol ni un con enedo , aunque se pa ece ía más a lo segundo. Un agmen pod ía de ini se como una po ción de la in e az de usua io que puede añadi se o elimina se de la in e az de o ma independien e al es o de elemen os de la ac i idad, y que po supues o puede eu iliza se en o as ac i idades. Es o, aunque en p incipio puede pa ece algo i ial, nos a a pe mi i pode di idi nues a in e az en a ias po ciones de o ma que podamos diseña di e sas con igu aciones de pan alla, dependiendo de su amaño y o ien ación, sin ene que duplica código en ningún momen o, sino an sólo u ilizando o no los dis in os agmen os pa a cada una de las posibles con igu aciones. Figu a 48: Ejemplo de uso de los agmen os de And oid El uso de agmen os nos ha ayudado bas an e a la ho a de ges iona las IU, eniendo una ac i idad p incipal y después a ios agmen os que se combinan pa a c ea odo el conjun o de in e aces. Los hemos u ilizado en las in e aces de Inicio, Me gus a y Ficha de Película. En nues o caso lo que enemos es un con enedo que iene el menú desplegable y después los di e sos agmen s que apa ecen o desapa ecen en unción de lo que el usua io haya pulsado en el menú. 4.3.3.1 Localización indoo con disposi i os Beacon La localización indoo con disposi i os Beacon se ha implemen ado con el SDK de Konkak .io, que es una compañía que o ece se icios de segu idad y con igu ación de disposi i os Beacon, an o ha dwa e, como so wa e (36). 56/117 El uso de beacons en nues a aplicación se de i a de la necesidad de localiza disposi i os mó iles ce canos en indoo . Los beacons pe mi en al usua io ubica se en si ios donde el GPS no es an ú il, po ejemplo, en un cine. La uncionalidad asociada a es os disposi i os Beacon es á asociada a la in e az de RA. Es a uncionalidad consis e en que cuando el usua io en a en es a in e az se inicia el escaneo de beacons de o ma ins an ánea y pe manece cons an e has a que el usua io sale de dicha in e az. Si du an e el escaneo se encuen a uno de es os disposi i os, se asocia dicho usua io a dicho beacon en el sis ema. De es a o ma, cuando se mues an los amigos ce canos a un usua io en la RA, se consul an los usua ios que es án asociados al mismo disposi i o Beacon que el usua io en cues ión. En el desa ollo de es a uncionalidad, pa imos de una demo ealizada po José Luis Jo o A agoneses. En ella se u iliza el SDK pa a And oid de Konkak .io. Es e SDK p opo ciona componen es pa a cons ui aplicaciones u ilizando beacons y cub e las siguien es á eas de uncionalidad:  El anging/moni o ing del disposi i o.  La conexión del disposi i o.  La comunicación con la API REST de Konkak .io.  Las acciones del disposi i o. El manage u ilizado pa a el escaneo de beacons ha sido P oximi yManage . Es e manage p esen a cie os incon enien es con espec o a la o a al e na i a (Konkak P oximi yManage ), pe o decidimos no ac ualiza lo debido a que lle ábamos cie o e aso en el desa ollo de la uncionalidad asociada a es os disposi i os Beacon. Se ía una posible mejo a de u u o. Po o o lado, el mé odo u ilizado pa a es e escaneo ha sido anging . Consis e en escanea disposi i os Beacon de o ma ins an ánea y cons an e una ez iniciado el escaneo. En nues a aplicación es e escaneo se inicia al en a en la in e az de RA. La demo inicial de J. L. Jo o pe mi ía escanea beacons en sus dos o ma os: iBeacon y Eddys one. Es a demo no e a del odo uncional, ya que no ealizaba el escaneo co ec amen e. En el p oceso de solución de es e p oblema, limi amos es a ca ac e ís ica, y nues a aplicación ac ualmen e sólo escanea disposi i os Beacon en o ma o Eddys one. Es a se ía o a posible mejo a de u u o. 57/117 4.3.3.2 Geolocalización con GPS Es una ecnología de geoposicionamien o u ilizando la ed de sa éli es de GPS, la cual, median e cálculos igonomé icos da una posición con componen es de la i ud y longi ud, con una p ecisión de unos pocos me os. Es e apa ado en un p incipio no ue p imo dial, sino que ue una sal agua da po si no se podía log a un co ec o uncionamien o en el uso del se icio Beacon de Kon ak .io, pe o al inal, in odujimos es a uncionalidad pa a cuando es u ié amos ue a del alcance de algún Beacon. Así dis inguimos ou doo (cuando es emos ue a del alcance de un Beacon) e indoo (cuando es emos den o del alcance de un Beacon). Implemen amos un se icio en segundo plano que nos p opo ciona nues as coo denadas geoespaciales median e el uso de da os mó iles, WiFi o sis ema GPS. Dicho se icio depende á de la p ecisión de nues a posición, siendo mayo o meno dependiendo de nues o ipo de conexión. Es e se icio es u ilizado en la in e az gen e ce cana pa a p opo ciona nos una lis a de usua ios ce canos a noso os, mos ándonos las películas que les gus an a cada uno de ellos. 4.3.4 He amien as A la ho a de desplega la aplicación pa a pode p oba la, algunos in eg an es del g upo u imos p oblemas, ya que no disponíamos de mó il And oid. Po es a azón, u imos que in es iga y u iliza una he amien a que nos pe mi iese desplega la aplicación en el o denado . Aunque And oid S udio iene es a posibilidad, el endimien o es bas an e malo y decidimos u iliza Genymo ion. Se a a un emulado mó il mucho más e icien e que el que po de ec o o ece And oid S udio. U iliza Vi ualBox pa a c ea los di e en es disposi i os mó iles (emulados). Además, And oid S udio econoce el mó il de GenyMo ion cuando és e es á co iendo. Nos ha sido muy ú il a la ho a de debugea y es ea , ya que u ilizando es a he amien a no ha sido necesa io einicia el ADB cada ez que ejecu ábamos la aplicación desde And oid S udio. 58/117 4.4 P uebas de a qui ec u a En es e apa ado se explican las di e en es p uebas lle adas a cabo como oma con ac o con las ecnologías y/o uncionalidades del p oyec o que e an o almen e nue as pa a noso os. Es as p uebas se ag upan en cinco g upos: de RA, de se icios web, con Hibe na e/JPA, de los se icios de edes sociales y de geolocalización. 4.4.1 P uebas de ealidad aumen ada El obje i o de ealiza p uebas con a ias ecnologías de RA es conoce cómo uncionan y qué nos o ecen, pa a sabe con cuál nos puede esul a más ácil implemen a la RA de nues a aplicación o cuál se ajus a más a nues as necesidades. P uebas en Uni y con Vu o ia  P uebas de econocimien o de ex o Una de las ideas al p incipio del desa ollo del p oyec o e a que, en ez de econoce la imagen de un ca el, la aplicación pudie a econoce el nomb e de la película a a és del ex o. Pa a ello, ealizamos una p ueba con el econocedo de ex o de Vu o ia. Es a uncionalidad de Vu o ia se encuen a, una ez ins alado el paque e de Vu o ia en Uni y, en una escena en la ca pe a asse s > Scenes > Vu o ia-Tex Reco . Pa a pode ejecu a la en el o denado , es necesa io que és e enga cáma a o que se ejecu e en un elé ono u ilizando la aplicación de Uni y pa a disposi i os mó iles. En las p uebas se mues a una pequeña anja en la que añadi ex o, y las palab as en inglés con uen e no mal se econocen ácilmen e, especialmen e en ondo cla o. Sin emba go, al p oba con ca eles como los de S a Wa s y Plane 51 , que ienen unas uen es muy di e en es, la aplicación es incapaz de econoce los nomb es. T as es as p uebas, desca amos la idea del econocimien o de ex o pa a los ca eles, ya que las uen es son un p oblema, debido a que muchas son i econocibles pa a los econocedo es de ex o. 59/117  P ueba de econocimien o en local de una imagen La p ueba de econocimien o en local la ealizamos siguiendo un u o ial del blog Emilius gs (37). El u o ial es á su icien emen e comple o y no u imos mayo es p oblemas pa a implemen a es a p ueba. Figu a 49: P ueba de econocimien o local con Vu o ia  P ueba de econocimien o en la nube de imágenes Comenzamos siguiendo un a ículo de la página de Vu o ia en el que se explica cómo c ea una app sencilla de econocimien o en la nube con Uni y (38). Siguiendo es e u o ial nos encon amos con las siguien es di icul ades:  La u ilización de Vu o ia en Uni y iene una es icción. Si nues o sis ema ope a i o es Windows, el edi o pa a Uni y que ins alemos debe se necesa iamen e de 32 bi s. Sin emba go, si se a a de un MAC OS, debe se necesa iamen e de 64 bi s.  Además de impo a el paque e de Vu o ia pa a Uni y ( u o ia-uni y-5-0-6), como se indica, ambién hay que impo a el de Cloud Recogni ion (CloudReco-5-0-5) debido a que en el código se implemen a la in e az de ICloudRecoE en Handle . Es o úl imo no se especi ica en el u o ial.  En la e sión del SDK 4.0, la clase ImageT acke ha sido eemplazada po Objec T acke . En el código de ejemplo del u o ial es necesa io eemplaza una po o a si se usa la e sión 5 del SDK de Vu o ia.  Pa a ejecu a una aplicación en Vu o ia es necesa io solici a una cla e de licencia, la cual se puede consegui de o ma g a ui a en el po al pa a desa ollado es de la página web de Vu o ia (39). 60/117 Vu o ia pe mi e la c eación de una base de da os en la nube donde se pueden gua da las imágenes que se quie en econoce , y pone a disposición del usua io cla es de acceso pa a añadi la a la app en Uni y. La licencia g a ui a pe mi e gua da 1000 imágenes en la base de da os y el mismo núme o de econocimien os al mes. Al añadi una imagen a la base de da os es posible añadi un a chi o de me ada os asociado a la imagen. Pa a la p ueba c eamos un a chi o de me ada os pa a cada película únicamen e con el nomb e de és a. Al ene algunos miemb os expe iencia a la ho a de abaja con Uni y, la p ueba ue más sencilla de ealiza que si nadie hubie a abajado an es en Uni y. El p oceso que se ealizó ue el siguien e:  U ilizando la escena básica de Vu o ia Cloud Reco , c eamos un obje o que apa ece á encima de la imagen econocida.  A es e obje o le añadimos un sc ip llamado NameManage , que ecoge el me ada a de la imagen y ac ualiza el obje o an e io con el nomb e ob enido en el a chi o. Figu a 50: P ueba de econocimien o en la nube con Vu o ia 61/117 P uebas en And oid con Wiki ude  P ueba de econocimien o en local de una imagen Nues a p ime a oma de con ac o con el SDK de Wiki ude ue median e a ios a ículos del blog Desa ollo Lib e (40). Es os ejemplos son en local, es án implemen ados con la e sión 3 del SDK de Wiki ude pa a And oid y u ilizan la API de Ja aSc ip . Pa a ello u ilizamos el en o no de desa ollo Eclipse con el plugin ADT. Las p incipales di icul ades que nos encon amos u ie on que e con nues a al a de conocimien os en el desa ollo de And oid. Algunas de esas di icul ades ue on:  Al impo a el código de ejemplo nos apa ecía el e o “Unable o esol e a ge 'and oid-XX'”. Es o ocu ía po que la e sión de la API del p oyec o en Eclipse no se co espondía con la e sión que apa ecía en los a chi os de con igu ación.  El código de ejemplo no incluía en el a chi o de con igu ación And oidMani es .xml los pe misos y ca ac e ís icas de uso que eque ía la aplicación pa a unciona . De es a o ma, cuando in en ábamos p oba la demo en nues o mó il, ni siquie a se ab ía y apa ecía un mensaje indicando que se había de enido. Figu a 51: P ueba de econocimien o en local con Wiki ude 68/117 Al inal se desca ó la uncionalidad de compa i en Facebook, ya que no nos pe mi ía pe sonaliza la publicación, siendo sólo posible compa i enlaces que no hacen e e encia alguna a nues a aplicación. 4.4.5 P uebas de geolocalización GPS Con es a p ueba desa ollamos una o ma al e na i a de ep esen a a la gen e ce cana, a la usada en los Beacons, debido a la exis encia de algunos p oblemas p esen ados du an e su desa ollo. Las p uebas de la geolocalización cons an de dos pa es. En p ime luga , consegui los pun os de la i ud y longi ud, median e el uso de llamadas a los se icios GPS, cons uyendo un se icio comple o en nues a aplicación. Du an e su ealización se p esen a on p oblemas de pe misos debido a que la nue a API de And oid (SDK 23 de And oid), p esen a un cambio en los pe misos, donde an es los usua ios se desp eocupaban de o o ga algunos pe misos llamados de iesgo, como el uso de u localización o in o mación pe sonal. Aho a son los usua ios los que ienen que da pe miso pa a el uso de algunos ecu sos de las aplicaciones, delegando de es a o ma al p og amado la llamada explíci a pa a la acep ación del pe miso. En segundo luga , se ealiza on p uebas de cálculo de dis ancias. P ime amen e, dejamos el cálculo a la aplicación median e una unción, o eciendo una dis ancia de e o desde el p ime pun o calculado a los siguien es pun os que se calculan. Seguidamen e nos dimos cuen a que podíamos hace es e cálculo di ec amen e en el se ido , median e MongoDB, que o ece una unción especí ica que calcula la dis ancia. 69/117 Figu a 60: P ueba de geolocalización 70/117 Capí ulo 5: EVALUACIÓN DE USUARIOS Con una e sión de la aplicación uncional y p ác icamen e es able, comenzamos a ealiza las e aluaciones con usua ios pa a es udia la usabilidad de nues a aplicación y comp oba si hay posibles p oblemas a la ho a de se manejada po gen e ajena al p oyec o. Exponemos el plan de e aluación, donde de allamos los obje i os de la e aluación, las a eas que los usua ios deben ealiza du an e la e aluación, las p egun as que deben esponde y cuál se á nues o abajo en cada e aluación. También mos amos las opiniones de los usua ios a nues a aplicación una ez ealizada la e aluación, con ando cuán as pe sonas la hicie on, los e o es que encon amos, opiniones y c í icas hacia la aplicación y conclusiones que omamos. 5.1 Plan de e aluación Es e plan de e aluación se basa en el que ealiza on en el TFG de RACMA, una aplicación de RA pa a museos (50) 5.1.1 ¿Qué es amos e aluando? P oyec o: MUVI APP P emisa: Un g upo de amigos a al cine, pe o no se ponen de acue do en qué película i a e , y necesi an in o mación de la película y qué película se les ecomienda. Además, un usua io e un ca el de una película y quie e e odo lo elacionado con ella. Obje i o de la aplicación: Ayuda a g upos de gen e que an al cine a decidi qué película e , mos ando median e una in e az de RA y apun ando a un ca el, in o mación de dicha película, al como áile , sinopsis y pun uación media en medios in e nacionales de opinión, y alo ación que su g upo de amigos da ía. Además, se pe mi e añadi la película a una lis a de deseos pa a pode la e en o o momen o. 5.1.2 P opósi o de la e aluación Una ez e minada la e apa de desa ollo, se desea comp oba el impac o del uso de la RA en el usua io, así como la usabilidad de la aplicación. 71/117 5.1.3 Obje i os gene ales Deseamos e alua las p incipales ca ac e ís icas de la aplicación:  Recaba la opinión del usua io sob e el uso de la aplicación, especialmen e sob e la in e az de RA.  Comp oba la acilidad de uso de la aplicación: si la in e az es sencilla, cómoda e in ui i a. 5.1.4 P egun as de in es igación  ¿Se puede usa MUVI de mane a co ec a?  ¿Es con usa la in e az?  ¿Los bo ones son cla os y es án bien colocados?  ¿El usua io encuen a de mane a ácil lo que busca?  ¿La aplicación mues a la in o mación necesa ia al usua io?  ¿Hay alguna unción de la aplicación que se echa en al a? 5.1.5 Requisi os de los pa icipan es Las pe sonas a las que en e is a emos pa a las e aluaciones se án amilia es, amigos y/o conocidos, p e e iblemen e con angos de edades di e en es y con ni eles de es udios di e en es. 5.1.6 Diseño expe imen al  La e aluación se ealiza á en e los días 20 y 22 de mayo de 2016  Se ealiza án de 5 a 10 e aluaciones, eniendo cuidado de e alua a gen e con angos de edades y ni eles di e en es.  Du ación ap oximada de cada e aluación indi idual: 20 minu os.  Du ación o al de la e aluación: ap oximadamen e 40 minu os po cada miemb o del g upo, haciendo un o al de unas 5 ho as pa a odos los usua ios. El plan a ealiza con el usua io es: 1. Realiza un cues iona io pa a sabe da os demog á icos del usua io y el conocimien o del usua io sob e RA en un p ime momen o. 2. In oduci al usua io sob e qué es la RA. También explica le en qué consis e nues a aplicación, sin en a demasiado en de alles. 3. P opo ciona le una lis a de a eas al usua io y pedi le que las ealice. Debe ealiza las a eas sin nues a ayuda, a no se que se quede a ascado sin sabe cómo segui . 72/117 Mien as an o, i emos omando no a de cómo el usua io ealiza cada una de las a eas. El usua io, a su ez, debe á i exp esando en oz al a sus imp esiones. 4. Pequeño diálogo con el usua io, p egun ándole qué es lo que más le ha gus ado y si iene alguna queja en conc e o. 5. Realización de un cues iona io sob e la acilidad de uso de nues a aplicación. 6. Recopilación de da os: a. A pa i de la encues a, ob end emos da os cuan i a i os sob e la expe iencia del usua io. b. Con la in o mación omada du an e la obse ación, ob end emos da os cuali a i os que nos pe mi i án de ec a cuáles son los e o es más comunes que han come ido los usua ios pa a su pos e io análisis. 5.1.7 Ta eas a ealiza Es a lis a de a eas es á elacionada con nues a aplicación. 1. Regís a e en la aplicación. 2. Inicia sesión en la aplicación. 3. En a en la in e az de RA. 4. Reconoce una de las películas. 5. Mues a la in o mación sob e la película. 6. Rep oduce el áile de la película. 7. Pausa el áile de la película. 8. Deje de mos a el áile de la película. 9. Añade la película a “Me Gus a”. 10. Realiza una alo ación de la película. 11. Vuel e a la pan alla de inicio. 12. Mues a la lis a de películas que e gus an. 13. Mues a la in o mación de una de las películas a o i as. 14. Vuel e a la lis a de a o i os. 15. Vuel e a la pan alla de inicio. 16. Mues a la gen e ce cana. 17. Vuel e a la pan alla de inicio. 5.1.8 En o no y he amien as empleadas No es obliga o io ningún en o no especí ico pa a la ealización de las p uebas, únicamen e ald á con que sea un espacio cómodo donde pode ealiza las sin p oblemas ni in e upciones. 73/117 Las he amien as que u iliza emos se án un elé ono mó il y o ocopias o imágenes de los ca eles de película que econoce la aplicación. No ha emos uso del disposi i o Beacon ni de la ecomendación a g upos debido a que su uncionalidad es á diseñada pa a g upos y nues as p uebas se ealiza án indi idualmen e. 5.1.9 Ob ención de eedback de los pa icipan es Las uen es de da os se án las siguien es: 1. Cues iona io inicial pa a conoce el con ex o del usua io an es de ealiza la e aluación. 2. Reunión pos e io a la e aluación con el pa icipan e. 3. Cues iona io SUS aducida po Ma a Ca o y Da id He nández (50), que medi á el g ado de usabilidad. Las p egun as se esponden a a és de una alo ación del 1 al 5, en la que 1 es o almen e en desacue do y 5 o almen e de acue do. 5.1.10 Ta eas del mode ado Las a eas que debe á ealiza el mode ado a la ho a de la e aluación se án:  La p ime a a ea del mode ado se á explica al usua io en qué consis en an o la aplicación como la RA.  Pedi á al usua io que ealice las a eas an e io men e expues as, y ano a á y obse a á odo aquello que conside e ele an e pa a el es udio. Impo an e de ec a los p oblemas que el usua io encuen e. A lo la go de es as a eas, el mode ado no ayuda á al usua io a menos que sea o almen e necesa io.  Pedi á al usua io que comen e en odo momen o sus imp esiones de la aplicación y de la a ea asignada.  Pa a e mina , p opo ciona á al usua io las encues as pa a la ecolección de da os pa a que las ealice. 5.1.11 Desc ipción de la me odología de análisis de da os 1. Los cues iona ios a los usua ios se ealiza án median e la he amien a Google Fo ms, ya que se ealiza án en espacios conec ados a In e ne . 2. Los mode ado es ano a án en papel odos los apun es que c ean con enien es en un documen o imp eso con el nomb e de cada a ea y un espacio en el que añadi ex o. A la ho a de ag upa odos los o mula ios, se escanea án (o en caso de se imposible el escaneado, se ealiza á una o o) y se gua da án en la ca pe a de Google D i e p epa ada pa a la a ea. 74/117 3. Con las no as y los alo es ecogidos en los cues iona ios, se comp oba á cuáles son las a eas que más iempo a dan en ealiza se y se es udia á si la implemen ación es la co ec a. 4. Se pond án en común odas las conclusiones y se ealiza á un in o me con odo los e o es y posibles mejo as que puedan ealiza se. 5.2 E aluación Du an e la e aluación comp endida en e los días 21 y 22 de mayo, e ec uamos 7 e aluaciones de 20-30 minu os cada una. El ango de edades de los usua ios ue el siguien e:  En e 18 y 29 años: 4  En e 30 y 45 años: 1  Mayo es de 46 años: 2 Además, hemos in en ado que engan una p o esión o es udios di e en es pa a pode ene un mayo ango de opiniones. Los usua ios e an: es udian e de Bachille a o, es udian e de Geología, es udian e de Relaciones Labo ales, elec omecánico, Ingenie o In o má ico, Ingenie o de Telecomunicaciones y pensionis a. 5.2.1 Obse aciones y opiniones de los usua ios Empezamos la e aluación p egun ando al usua io cuál es su expe iencia sob e la RA. Los esul ados ue on los siguien es:  6 de los 7 e aluados no poseían expe iencia p e ia en aplicaciones de RA.  Sólo un e aluado enía expe iencia p e ia en RA, en ideojuegos y en museos. En la ealización de a eas, los p incipales p oblemas que encon a on los usua ios po cada a ea ue on los siguien es:  Regís a e en la aplicación: algunos usua ios no encon a on el bo ón de egis o, ya que el eclado sale au omá icamen e y apa el bo ón. O o usua io de ec ó al a de consis encia de los idiomas en e “Regis a se” y “Login”.  En a en la in e az de RA: un usua io se ex añó de la pe ición de encende el blue oo h . Se le explicó que el mo i o e a la búsqueda de los usua ios ce canos. O o usua io dudó como en a .  Reconoce una de las películas: odos los usua ios in ui i amen e apun a on a la película, pe o algunos se queja on de que se einicia el se icio al gi a la pan alla. 75/117  Mues a la in o mación sob e la película: no u ie on p oblema en encon a el bo ón. Sin emba go, algunos usua ios pidie on que se mos a a sob e que pun uación es la alo ación máxima y a o os no les gus ó que si mue es el mó il se a la cap u a.  Rep oduce el áile de la película: la mayo ía no u o p oblemas a la ho a de encon a el bo ón. Algunos usua ios pidie on pode cambia el amaño o se queja on de la incomodidad de ene el b azo le an ado pa a pode e el ideo. Sin emba go, ambién les gus ó el hecho de que el ídeo ca ga a an ápido y que se mues e en la RA.  Pausa el áile de la película: un usua io necesi ó ayuda del mode ado pa a pausa el ideo.  Deje de mos a el áile de la película: algunos usua ios in en a on a as a el ideo pa a que deja a de mos a se y o o buscó una X ce ca del ideo.  Añade la película a us a o i os: un usua io pidió que se mos ase un mensaje de no i icación.  Realiza una alo ación de la película: a odos los usua ios les cues a encon a el bo ón o deducen que es ese po desca e. También se quejan de no pode ec i ica una alo ación. O o usua io e la aplicación como una he amien a pa a elegi que e , no c ee que nadie aya a busca el pós e pa a pun ua la una ez is a la película.  Mues a la lis a de películas que le gus an: odos los usua ios han encon ado p oblemas a la ho a encon a el menú p incipal. Piden cambia el icono del menú po que la lecha pa ece que saca de la aplicación.  Vuel e a la lis a de a o i os: uel en con el bo ón de And oid, no de la aplicación. Con los esul ados de las p uebas, sacamos una lis a de p oblemas y soluciones o denados po o den de p io idad y cómo lo esol e íamos en un abajo u u o: 1. Mejo a el endimien o de la aplicación pa a que no se einicie el se icio de RA al gi a el disposi i o. 2. Cambia los iconos de algunos bo ones, como el de Valo ación de la RA o el del Menú de Inicio debido a la con usión que causa on a odos los usua ios. 3. Cambia el inicio de la aplicación pa a que no salga au omá icamen e el eclado y no esconda el bo ón de Regis a se. 4. Pe mi i cambia la alo ación indi idual debido a que ac ualmen e no es posible cambia la. 5. Añadi o a o ma de qui a el ideo de la RA pa a que sea más in ui i o, como una X o a as a el ideo. 6. Cambia la pun uación de los medios pa a que pueda e se sob e qué no a es á pun uada la película. 76/117 5.2.2 Resul ado cues iona io SUS Al inal de la ealización de las a eas, se pidió a los usua ios que ealiza an el es de usabilidad SUS de la aplicación con el in de ob ene la pun uación SUS y comp oba el ni el de acilidad de uso de nues a aplicación. Pa a ob ene la pun uación SUS se siguen los siguien es pasos: 1. Pa a las p egun as impa es se es a uno al alo espondido. 2. Pa a las pa es se es a al alo 5 el alo espondido. 3. Sumamos odos los alo es ob enidos as ealiza los pasos 1 y 2. 4. Mul iplicamos po 2,5 y ob end emos la pun uación SUS. Du an e la e aluación se ha ob enido una alo ación media de 80,7, una alo ación po encima de los 68, esul ado conside ado sa is ac o io, po lo que se puede a i ma que nues a aplicación ha ob enido una buena pun uación en es a encues a. Además, la encues a SUS o ganiza las pun uaciones u ilizando una escala de alo es, en la que una F es un suspenso de la aplicación y una A es la pun uación máxima a ob ene . Pa a consegui una A es necesa io supe a un 80 de pun uación, y la nues a es de 80,7, po lo que se puede conclui que la usabilidad de MUVI es sob esalien e. Figu a 61: Resul ados posibles de SUS Conclusiones y suge encias Una de las quejas más habi uales ue la pos u a a la ho a de ealiza la p ueba en la RA, y una p opues a que nos die on ue que no ue a obliga o io es a cons an emen e apun ando a la película, lo que lle a ía a un cambio muy g ande en la es uc u a de la RA. O o aspec o muy impo an e del que los usua ios se queja on ue del bo ón de alo aciones en la RA, que no queda nada cla o y es di ícil de encon a , po lo que hab ía que cambia ese icono po o o más in ui i o. 77/117 Tampoco gus ó el icono del menú p incipal, ya que mucha gen e no sabía qué hacía ese icono o pensaba que sacaba de la aplicación, po lo que se ía con enien e cambia lo ambién. En e las uncionalidades que añadi ían ellos a la aplicación, nos dije on que la RA pod ía lle a a la comp a de en adas en alguna web y qué conside a ían de mucha ayuda que mos a a opiniones de los usua ios de la película, no sólo la alo ación media de webs impo an es. Sin emba go, hemos comp obado en las encues as que, a pesa de los pequeños allos que encon a on en la aplicación, odos los usua ios han exp esado su ap obación a la aplicación y algunos han quedado imp esionados con ella. A odos les ha gus ado e incluso han a i mado que es a ían dispues os a paga po ella en el caso de que salie a a la en a. Han opinado que es una aplicación ealmen e ú il a la ho a de i al cine y que la ecomenda ían. 84/117 13. Añadi o a o ma de qui a el ideo de la RA pa a que sea más in ui i o, como una X o a as a el ideo. 14. Cambia la pun uación de los medios pa a que pueda e se sob e qué no a es á pun uada la película. 85/117 Capí ulo 8: ORGANIZACIÓN DEL TRABAJO En la e apa de in es igación y p uebas con ecnologías, no ha exis ido di isión del abajo como al. Cada uno de los miemb os in es igaba lo que conside aba con enien e sob e la ecnología obje i o en cada momen o. En la e apa de desa ollo, nos hemos di idido en dos g upos. Uno se ha cen ado en el desa ollo del on -end y lo han o mado Ignacio Rocillo, Jo ge Muñoz y Se gio Fuen es. El o o se ha cen ado en el desa ollo del back-end y lo han o mado C is ina Delgado y Jo ge Rueda. En la e apa de ealización de la memo ia, nos hemos di idido el abajo de al o ma que cada uno de noso os se ha en ocado en esc ibi o documen a sob e aquello con lo que ha es ado más en con ac o. A con inuación, se mues a la c onología del p oyec o: 19- 10 02- 11 02- 11 16- 11 16- 11 30- 11 30- 11 14- 12 14-12 11-01 (Na idad) 11- 01 25- 01 15- 02 29- 02 29- 02 16- 03 16-03 06-04 (S. San a) 06- 04 20- 04 20- 04 04- 05 04- 05 18- 05 18- 05 23- 05 23- 05 06- 06 ETAPA DE INVESTIGACIÓN In es igación ecnologías RA De inición casos de uso P o o ipado de las IU P uebas RA In es igación se icios REST De inición se icios API P uebas ecnologías se icios P uebas geolocalización GPS [1] In es igación ecomendación [2] ETAPA DE DESARROLLO 86/117 In e az RA Se icios de usua ios Se icios de películas Se icios de deseos Se icios de edes sociales In e az de Regis o In e az de Login Diseño y maque ación de logo Se icios de alo aciones P o o ipo 1 In e az de Inicio Se icios de beacons Desa ollo beacons en clien e Se ido FDI [3] P o o ipo 2 In e az de Inicio In e az de Ficha de Película In e az de Me Gus a Cambios en se icios Mejo as In e az RA Mejo as in e aces And oid In e az de Gen e Ce cana Se icios de ecomendación Demo es able [4] ETAPA DE MEMORIA Documen ación se icios API [5] 87/117 Documen ación p uebas [6] Es uc u a de la memo ia Ve sión 1 de la Memo ia E aluación de usua ios Ve sión 2 de la Memo ia Ve sión 3 de la Memo ia La e apa de in es igación co esponde con la p ime a e apa del p oyec o. Sin emba go, cie as a eas de in es igación se han ealizado du an e e apas pos e io es. En el caso de las p uebas de geolocalización GPS [1], no es aba p e is o su uso en un p incipio, sino que su gió como una al e na i a a la localización con disposi i os Beacons cuando u imos cie os p oblemas con su desa ollo. En el caso de la in es igación sob e sis emas de ecomendación [2], en un p ime momen o íbamos a u iliza el p oyec o jCOLIBRI pa a el desa ollo de nues o sis ema de ecomendación, pe o debido a la incompa ibilidad de las e siones de Ja a en e es e p oyec o y nues a API de se icios ue necesa io busca al e na i as. La e apa de desa ollo co esponde con la segunda e apa del p oyec o. Sin emba go, cie as a eas de desa ollo se han ala gado has a el inal del p oyec o. En el caso del despliegue de la aplicación en el se ido p opo cionado po la Facul ad de In o má ica [3], es e se ido o ma pa e de un p oyec o pilo o, del cual hemos sido un g upo expe imen al. Es o nos ha conlle ado una se ie de incon enien es, que se desc iben en el capí ulo “Se ido ” den o del apa ado “Implemen ación” de es e documen o. Es po es a azón que es a a ea se ha ala gado has a el inal del p oyec o. La a ea de consegui una demo es able [4] de nues a aplicación es á elacionada ambién con los p oblemas su gidos con es e se ido . La e apa de memo ia co esponde con la úl ima e apa del p oyec o. Sin emba go, cie as a eas elacionadas con la memo ia se han ealizado con an e io idad. 88/117 En el caso de la documen ación de los se icios de la API [5], es a documen ación se ha ealizado con an e io idad pa a u iliza la como e e encia, an o en el back-end , como en el on - end , du an e el desa ollo. En el caso de la documen ación de las p uebas [6], es as p uebas se han documen ado a medida que se han ido haciendo o al poco iempo pa a e i a el ol ido del p oceso de ealización de las mismas. 8.1 Modelo de desa ollo Du an e el desa ollo de la aplicación u ilizamos el amewo k de desa ollo ágil de so wa e Sc um. Se basa en ealiza con inuamen e pequeñas en egas de p oduc os angibles. Cada i e ación (sp in ) inaliza con la en ega de una pa e ope a i a del p oduc o (inc emen o). La du ación de cada sp in iene una du ación ípica de dos a cua o semanas. Siguiendo Sc um, al comenza la e apa de desa ollo, c eamos una lis a de a eas p io izadas. Cada uno de nues os sp in s du aba dos semanas. Es os sp in s comenzaban y e minaban con una eunión con los u o es del TFG. En cada una de esas euniones se mos aban las nue as uncionalidades, se de inían las a eas a lle a a cabo en el siguien e sp in y se epa ía el abajo en e los miemb os del g upo. Las a eas es aban indi idualizadas y cada uno de noso os e a esponsable de saca adelan e su pa e del abajo. 8.2 He amien as de comunicación  Gmail, pa a la comunicación con los u o es del TFG en momen os pun uales.  Google D i e, pa a compa i odo ipo de a chi os necesa ios pa a el desa ollo del p oyec o (imágenes, documen ación, enlaces, código…), an o en e noso os, como con los u o es del TFG.  Teleg am, pa a comunica nos de o ma ápida en e noso os. 8.3 He amien as de con ol de e siones Como sis ema de con ol de e siones u ilizamos Gi y nues o p oyec o lo alojamos en Gi Hub, que es una pla a o ma de desa ollo colabo a i o que u iliza el sis ema de con ol de e siones Gi . De es a o ma, conseguimos man ene e siones de código es ables en un luga segu o. Pa a el uso de Gi exis en a ias al e na i as, se puede u iliza desde la consola, la aplicación o icial de Gi Hub pa a esc i o io u o as. En nues o caso se han u ilizado: 89/117  Aplicación Gi Hub de esc i o io: La aplicación pe mi e usa odas las uncionalidades de Gi : commi , push , e c. Es muy cómoda, ya que pe mi e e en o ma de líneas de iempo odas las di e en es amas que iene cada eposi o io, en e o as cosas.  Sou ceT ee: Es o a aplicación de esc i o io, muy pa ecida a la de Gi Hub, pe o en es e caso iene un con ol de con lic os más po en e. Además, no solo si e pa a G i Hub , ambién pa a Bi bucke y o os ipos de con ol de e siones como Me cu ial . 8.4 He amien as de ges ión de a eas Al u iliza una me odología de desa ollo ágil como la de Sc um, hemos necesi ado dispone de una ges ión del iempo y de las a eas bas an e lexible, cómoda y e icaz. Pa a ello buscamos en e a ias he amien as, pe o al inal nos decan amos po T ello. T ello es una he amien a de colabo ación que o ganiza los p oyec os en able os. Es deci , que g acias a T ello, se puede sabe cuáles son las a eas que se lle an a cabo, quién abaja en una a ea de e minada y cuál es el es ado de un p oceso. Es una he amien a muy ácil y isual. Pe mi e lle a un con ol de odas las a eas del p oyec o en o ma de a je as. Cada a je a se o ganiza en di e en es secciones o a je e os . Po ejemplo, en nues o caso, hemos u ilizado los a je e os : “Po hace ”, “En p oceso”, “Te minado”. Figu a 62: Ejemplo de T ello 90/117 Capí ulo 9: APORTACIONES AL PROYECTO 9.1 C is ina Delgado Rod íguez Mi apo ación en la e apa de in es igación ha consis ido en:  In es igación sob e las dis in as ecnologías de RA, con el in de elegi aquella que más se adap a a a nues as necesidades.  Colabo ación en la apo ación de ideas y pos e io de inición de la uncionalidad de la aplicación.  Desa ollo de aplicaciones básicas de p ueba de la RA, an o con And oid + Wiki ude, como con Uni y + Vu o ia. El uso de es as ecnologías ue o almen e nue o. En ninguna de las asigna u as de la ca e a había ap endido o u ilizado con an e io idad ni And oid S udio, ni Uni y, y mucho menos algo elacionado con la RA, como es el caso de Vu o ia o Wiki ude. Tampoco algunos de los lenguajes u ilizados (C# pa a Uni y + Vu o ia o ecnologías web pa a Wiki ude). El único conocimien o elacionado que enía en un p incipio e a Ja a, que es el lenguaje u ilizado pa a el desa ollo en And oid. Las aplicaciones que he c eado como oma de con ac o con ambas ecnologías han sido: o P ueba de econocimien o en local de una imagen, con Uni y + Vu o ia. o P ueba de econocimien o en local de una imagen, con And oid + Wiki ude. o P ueba de econocimien o en la nube de imágenes, con And oid + Wiki ude.  In es igación en p o undidad sob e la c eación de se icios de a qui ec u a REST.  Colabo ación en la de inición de los se icios de la API.  Realización de u o iales pa a ap ende a u iliza el se ido de aplicaciones, Tomca , y la he amien a pa a la ges ión y cons ucción de p oyec os Ja a, Ma en.  Desa ollo de aplicaciones básicas con las dis in as ecnologías implicadas en el desa ollo de se icios (Je sey e Hibe na e/JPA). El desa ollo de se icios web en mi caso no e a nue o, pe o sí el desa ollo de se icios web en Ja a con Je sey. Po o o lado, sí conocía el es ánda de desa ollo JPA, pe o no con el amewo k Hibe na e. Las aplicaciones de p ueba que he c eado como oma de con ac o con es as ecnologías han sido: o Las p uebas de se icios web REST con Je sey o Las p uebas con Hibe na e/JPA  C eación de la aplicación básica inicial, in eg ando las dis in as ecnologías implicadas en el desa ollo de los se icios, pa a el pos e io desa ollo de los mismos.  In es igación sob e el uncionamien o de los disposi i os Beacon y su implemen ación en Ja a con el SDK pa a And oid de Konkak .io 91/117  In es igación sob e el uncionamien o de los sis emas de ecomendación y su implemen ación en Ja a. En la e apa de desa ollo:  Mi p incipal apo ación ha sido en el back-end : o Desa ollo de la API REST de se icios, jun o con Jo ge Rueda. o Realización de los sc ip s en Py hon necesa ios. o Realización del se icio de p ueba de publicación en Twi e .  Mi apo ación en el on -end ha consis ido en: o Desa ollo de la uncionalidad asociada a los disposi i os Beacon. o Colabo ación en la in eg ación de la aplicación And oid. Mi apo ación en la e apa de memo ia ha consis ido en:  C eación de la es uc u a de la memo ia.  Redacción del es ado del a e de los sis emas de ecomendación (apa ado 2.3).  Realización y explicación del diag ama de a qui ec u a (en el apa ado 4.1).  Redacción del apa ado 4.1.1 Relación en e on -end y back-end .  Realización y explicación del diag ama de módulos del back-end (en el apa ado 4.2).  Redacción del apa ado 4.2.1 A qui ec u a de se icios  Redacción del apa ado 4.2.3 Sis ema de ecomendación.  Colabo ación en la documen ación del apa ado 4.2 Implemen ación del back-end .  Realización del diag ama de módulos del on -end (en el apa ado 4.3)  Documen ación del desa ollo asociado a los disposi i os Beacon en el on -end .  Documen ación de las p uebas de a qui ec u a ealizadas du an e e apas an e io es (en el apa ado 4.5).  Colabo ación en la plani icación de la e aluación de usua ios (en el apa ado 5.1).  Realización y explicación del diag ama c onológico del p oyec o (en el capí ulo 8).  Colabo ación en la edacción del capí ulo 8 O ganización del abajo.  Colabo ación en la documen ación de los se icios de la API del ANEXO I.  Búsqueda de in o mación y e e encias que apoyen los da os y ecnologías mencionados en es e documen o.  Lec u a de odo el documen o y e isión del o ma o y con enidos del mismo.  Nume ación de los dis in os capí ulos y apa ados del documen o. Además, mi apo ación en cues iones gene ales ha consis ido en:  Colabo ación en la oma de decisiones. 92/117  Asis encia a odas las euniones quincenales con los u o es, omando no as sob e los di e en es aspec os a ados en cada una de ellas y pa icipando ac i amen e.  Comunicación con los u o es, median e co eo elec ónico o u o ías p esenciales, pa a la esolución de dudas o el in e cambio de ecu sos necesa ios pa a el desa ollo del p oyec o. 93/117 9.2 Ignacio Rocillo Landa Mi apo ación en la e apa de in es igación ha consis ido en:  In es igación sob e las dis in as ecnologías de RA, con el in de elegi aquella que más se adap a a a nues as necesidades.  Colabo ación en la apo ación de ideas y pos e io de inición de la uncionalidad de la aplicación.  Desa ollo de aplicaciones de p ueba u ilizando la ecnología Uni y + Vu o ia. Ya había u ilizado Uni y y C# en la ca e a con an e io idad y no me esul ó di ícil de maneja . Sin emba go, Vu o ia e a una ecnología o almen e nue a y u e que ap ende a u iliza la pa a ealiza las p uebas. Las p uebas que ealicé ue on: o P ueba de econocimien o de ex o con Vu o ia. o P ueba de econocimien o de imágenes en la nube con Vu o ia.  Colabo ación en la de inición de los se icios de la API.  Realización de u o iales pa a ap ende a u iliza el se ido de aplicaciones, Tomca , y la he amien a pa a la ges ión y cons ucción de p oyec os Ja a, Ma en, aunque luego e mina a ealizando la pa e de clien e ( on -end ).  In es igación sob e las dis in as uen es de in o mación de películas que nues a aplicación pod ía hace uso.  In es igación de implemen ación del GPS en aplicaciones And oid y de aplicaciones que u ilizan es a ecnología.  In es igación en la esolución de algunas cues iones con la ecnología de RA Wiki ude, ales como ealiza llamadas en e Ja a y Ja aSc ip en un mismo p oyec o, bo ones y ideos, e c.  Es udio y comp ensión de Wiki ude median e los samples que hay a disposición de los usua ios. En la e apa de desa ollo:  Diseño y desa ollo de la RA y de odas sus uncionalidades, las cuales son: o Mos a ideo de la película. o Mos a in o mación de la película. o Valo a la película. o Añadi película a lis a de deseos. o Compa i película en Twi e . o Mos a amigos ce canos, alo ación de amigos ce canos y pun uación media.  Colabo ación en la in eg ación de la uncionalidad de los beacons en el p oyec o. 100/117 REFERENCIAS 1. Hölle e , Tobias H. [En línea] h p://web.cs.wpi.edu/~gogo/cou ses/imgd5100_2012 /pape s/Holle e _AR_2004.pd . 2. La Realidad Aumen ada acili a la isi a al yacimien o de la Villa Romana de l´Albi . [En línea] h p://www.canalpa imonio.com/la- ealialidad-aumen ada- acili a-la- isi a-al-yacimien o-de-la- illa- omana-de-lalbi /. 3. Bichlmeie , Ch is oph. Medical Augmen ed Reali y. [En línea] h p://medicalaugmen ed eali y.com/2016/02/helping-au is s- o-in e ac -wi h- hei -social- en i onmen /. 4. Dequid , Je emie. You ube. [En línea] h ps://www.you ube.com/wa ch? =i6U uPPATk. 5. Using an iPhone and augmen ed eali y o each medical s uden s. [En línea] h p://www.imedicalapps.com/2014/04/iphone-augmen ed- eali y-medical-s uden s/. 6. Google glass o wa : The US mili a y unded sma helme ha can beam in o ma ion o soldie s on he ba le ield. [En línea] h p://www.dailymail.co.uk/science ech/a icle- 2640869/Google-glass-wa -US-mili a y- e eals-augmen ed- eali y-soldie s.h ml. 7. ¡DESCUBRE EN TU MÓVIL LAS CULTURAS DE AMÉRICA! [En línea] h p://www.mecd.gob.es/museodeame ica/espacio-in e ac i o/Tan o-que-dis u a -jugando--- /RACMA.h ml. 8. Sony. Plays a ion. [En línea] h ps://www.plays a ion.com/es-es/games/in izimals-psp/. 9. OpenCV. [En línea] h p://openc .o g/. 10. Vu o ia. [En línea] h ps://de elope . u o ia.com/. 11. Me aio. [En línea] h ps://www.me aio.com/. 12. Mixa e. [En línea] h p://www.mixa e.o g/. 13. ARToolKi . [En línea] h ps://www.hi l.washing on.edu/a oolki /. 14. Wiki ude. [En línea] h p://www.wiki ude.com/. 15. Me ac i ic. [En línea] h p://www.me ac i ic.com/. 16. IMDb. [En línea] h p://www.imdb.com/. 17. OMDb. [En línea] h p://www.omdbapi.com/. 18. Toma oes, Ro en. [En línea] h p://www. o en oma oes.com/. 101/117 19. Ro en Toma oes API. [En línea] h p://de elope . o en oma oes.com/. 20. TheMo ieDb.o g. [En línea] h ps://www. hemo iedb.o g/?language=es. 21. TheMo ieDb.o g API. [En línea] h ps://www. hemo iedb.o g/documen a ion/api. 22. ¿Qué son los sis emas de ecomendación? [En línea] h p://ja oba.com/que-son-los- sis emas-de- ecomendacion/. 23. LibRec. [En línea] h p://www.lib ec.ne /. 24. LensKi . [En línea] h p://lenski .o g/. 25. Mahou . [En línea] h p://mahou .apache.o g/. 26. ounae. h p://ounae.com/aplicaciones-usos-beacons-blue oo h-emiso es/. [En línea] 27. Es imo e Beacon. h p://es imo e.com/. [En línea] 28. RadBeacon. h p://www. adiusne wo ks.com/. [En línea] 29. Blueca Beacon. h p://blueca s.com/. [En línea] 30. Kon ak .io. h ps://kon ak .io/. [En línea] 31. Richa dson Ma u i y Model. [En línea] h p://ma in owle .com/a icles/ icha dsonMa u i yModel.h ml. 32. Ha Hexac a - In oducción a REST. [En línea] h p://ha .hexac a.com/in oduccion-a- es -22/. 33. Asie Ma ques - Concep os sob e APIs REST. [En línea] h p://asie ma ques.com/2013/concep os-sob e-apis- es /. 34. C ea ing a Use -Based Recommende in 5 minu es. [En línea] h ps://mahou .apache.o g/use s/ ecommende /use based-5-minu es.h ml. 35. Mo ieTwee ings. [En línea] h ps://gi hub.com/sidooms/Mo ieTwee ings. 36. Konkak .io - And oid SDK Quicks a . [En línea] h p://de elope .kon ak .io/and oid- sdk/2.1.0/quicks a /. 37. Realidad aumen ada con Uni y 5. [En línea] h p://emilius gs.com/ ealidad-aumen ada-con- uni y-5/. 38. How o C ea e a Simple Cloud Recogni ion App in Uni y. [En línea] h ps://de elope . u o ia.com/lib a y/a icles/Solu ion/How-To-C ea e-a-Simple-Cloud- Recogni ion-App-in-Uni y. 102/117 39. Po al pa a desa ollado es de Vu o ia. [En línea] h ps://de elope . u o ia.com/. 40. C eando aplicaciones de Realidad Aumen ada con Reconocimien o de Imágenes. [En línea] h p://www.desa ollolib e.ne /blog/ag upados/c eando-aplicaciones-de- ealidad-aumen ada- con- econocimien o-de-imagenes/46. 41. Con igu a el en o no de abajo JEE con Eclipse Keple y Tomca 7. [En línea] h ps://www.you ube.com/wa ch? =4NcOjx40_do. 42. Tu o ial de in oducción a Ma en 3. [En línea] h p://s a ic1.1.sqspcdn.com/s a ic/ /923743/15025126/1320942755733/Tu o ial_de_Ma en_3_ E ick_Camacho.pd ? oken=bxGhbCQG IElTO%2Fw6pK9Bz00iGY%3D. 43. Je sey hello wo ld example. [En línea] h p://www.mkyong.com/webse ices/jax- s/je sey- hello-wo ld-example/. 44. Hibe na e - Pa e 2: Pe sis iendo Obje os Simples usando Ano aciones (me ada os). [En línea] h p://www.ja a u o iales.com/2009/05/hibe na e-pa e-2-pe sis iendo-obje os.h ml. 45. Ge s a ed quickly wi h Hibe na e Anno a ions and JPA2. [En línea] h p://www.ocpso .o g/ja a/ge ing-s a ed-quickly-wi h-hibe na e-anno a ions/. 46. Twi e 4J Code Examples. [En línea] h p:// wi e 4j.o g/en/code-examples.h ml. 47. Un poco de Twi e 4J (Twi e + Ja a). [En línea] h ps://unpocodeja a.wo dp ess.com/2014/10/06/un-poco-de- wi e 4j- wi e -ja a/. 48. Twee Bu on. [En línea] h ps://de . wi e .com/web/ wee -bu on. 49. G acia, Luis Miguel. unpocodeja a.wo dp ess.com. Un poco de Facebook4J (Facebook + Ja a). [En línea] 7 de Oc ub e de 2014. h ps://unpocodeja a.wo dp ess.com/2014/10/07/un- poco-de- acebook4j- acebook-ja a/. 50. RACMA: Aplicación de Realidad Aumen ada pa a el Museo de Amé ica. [En línea] h p://ep in s.ucm.es/32915/1/Realidad%20aumen ada%20pa a%20el%20Museo%20de%20A m%C3%A9 ica.pd . 51. Xloudia. [En línea] h p://www.xloudia.com/. 52. TheMo ieDb.o g. API TheMo ieDb.o g. [En línea] h ps://www. hemo iedb.o g/documen a ion/api. 103/117 ANEXOS ANEXO I: API REST Esquema: Todo acceso a la API es a a és de HTTP, y se hace desde el dominio con aine . di.ucm.es:20041/Mu iAppREST. Todos los da os se en ían y se eciben como JSON. Las URIs de nues a API, po an o, ienen la siguien e es uc u a: h p://con aine . di.ucm.es:20041/ u a_del_ ecu so>?<consul a_de_ il ado> 1. Usua ios Login usua io Comp ueba los da os de acceso de un usua io. POST /usua ios/{alias_usua io} Pa áme os: Nomb e Tipo Desc ipción passwo d s ing La cons aseña del usua io que desea accede a la aplicación. Ejemplo: { "passwo d": "p4ssw0 d" } Respues a: S a us: 200 OK { "id": 1, "alias": "ca mengon", "passwo d": "p4ssw0 d", "nomb e": "ca men gonzalez", "email": "[email p o ec ed]" } Si el usua io in oducido no co esponde con ninguna cuen a: S a us: 422 Unp ocessable En i y 104/117 Regis o usua io Regis a una nue a cuen a de usua io. POST /usua ios Pa áme os: Nomb e Tipo Desc ipción alias s ing El nomb e del usua io de la nue a cuen a. passwo d s ing La con aseña de la nue a cuen a. nomb e s ing El nomb e de pila asociado a la nue a cuen a. email s ing El co eo elec ónico asociado a la nue a cuen a. Ejemplo: { "alias": "ca mengon", "passwo d": "p4ssw0 d", "nomb e": "ca men gonzalez", "email": "[email p o ec ed]" } Respues a: S a us: 201 C ea ed { "id": 1, "alias": "ca mengon", "passwo d": "p4ssw0 d", "nomb e": "ca men gonzalez", "email": "[email p o ec ed]" } Si ya hay un usua io egis ado con el mismo alias: Respues a: S a us: 409 Con lic { "mensaje": "nomb e de usua io no disponible" } Si ya hay un usua io egis ado con el mismo co eo elec ónico: Respues a: S a us: 409 Con lic 105/117 { "mensaje": "co eo elec ónico no disponible" } Busca usua io Busca un usua io po su nomb e. GET /usua ios?usua io=name Respues a: S a us: 200 OK { "id": 1, "alias": "ca mengon", "passwo d": "p4ssw0 d", "nomb e": "ca men gonzalez", "email": "[email p o ec ed]" } Si el usua io in oducido no co esponde con ninguna cuen a: S a us: 401 Unau ho ized 2. Películas Busca in o mación de película Busca la in o mación de una película po su í ulo. GET /peliculas? i ulo={ i ulo} Respues a: S a us: 200 OK { "id_IMDB": 3077214, "id_TheMo ieDB": 245168, " i ulo": "Su age e", "sinopsis": "Based on ue e en s abou he oo soldie s o he ea ly eminis mo emen who we e o ced unde g ound o e ade he S a e.", "gene os": [ "D ama", "His o y" ], " o acion": 6.9, " aile ": "h ps://www.you ube.com/wa ch? =gYX ARbezcA" } 106/117 No a: Si no se encuen a el áile de esa película, el campo áile se á null. Si no iene id_IMDB, se á 0. Si no se encuen a ninguna película que coincida con ese í ulo: 107/117 Respues a: S a us: 422 Unp ocessable En i y { "mensaje": "película no encon ada" } Lis a películas Lis a las películas que coincidan con un í ulo. El esul ado es á limi ado a 5 películas. GET /peliculas/lis ? i ulo={ i ulo} Respues a: S a us: 200 OK { "id_IMDB": 3077214, "id_TheMo ieDB": 245168, " i ulo": "Su age e", "sinopsis": "Based on ue e en s abou he oo soldie s o he ea ly eminis mo emen who we e o ced unde g ound o e ade he S a e.", "gene os": [ "D ama", "His o y" ], " o acion": 6.9, " aile ": "h ps://www.you ube.com/wa ch? =gYX ARbezcA" } No a: Si no se encuen a el áile de esa película, el campo áile se á null. Si no iene id_IMDB, se á 0. Si no se encuen a ninguna película que coincida con ese í ulo: Respues a: S a us: 422 Unp ocessable En i y { "mensaje": "película no encon ada" } 108/117 3. Valo aciones Añadi alo ación Añade una alo ación de una película ealizada po un usua io. POST / alo aciones Pa áme os: Nomb e Tipo Desc ipción id_usua io long El iden i icado del usua io que ealiza la alo ación. id_pelicula long El iden i icado de la película alo ada. alo ación in La alo ación ealizada de la película Ejemplo: { "id_usua io": 1, "id_pelicula": 1, " alo acion": 7 } Respues a: S a us: 201 C ea ed { "id_usua io": 1, "id_pelicula": 1, " alo acion": 7 } Si ese usua io ya ha alo ado esa película: Respues a: S a us: 422 Unp ocessable En i y { "mensaje": "ese usua io ya ha alo ado esa película" } Mos a alo ación Mues a la alo ación de una película ealizada po un usua io. GET / alo aciones?usua io={id_usua io}&pelicula={id_pelicula} 109/117 Respues a: S a us: 200 OK { "id_usua io": 1, "id_pelicula": 1, " alo acion": 7 } Si ese usua io no ha alo ado esa película: Respues a: S a us: 422 Unp ocessable En i y { "mensaje": "ese usua io no ha alo ado esa película" } 4. Deseos Añadi deseo Añade una película a la lis a de deseos de un usua io. POST /deseos Pa áme os: Nomb e Tipo Desc ipción id_usua io long El iden i icado del usua io que añade el deseo. id_pelicula long El iden i icado de la película que se añade como deseo. Ejemplo: { "id_usua io": 1, "id_pelicula": 20 } Respues a: S a us: 201 C ea ed { "id_usua io": 1, "id_pelicula": 20 } Si ese deseo ya exis e: