scieee Science in your language
[es] (orig)

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

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.

Read accessible full text

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

Author: Delgado Rodríguez, Cristina; Rocillo Landa, Ignacio; Muñoz Rodríguez, Jorge; Rueda Garzón, Jorge; Fuentes Urabayen, Sergio
Year: 2016
Source: https://docta.ucm.es/bitstreams/619ee225-7c1c-483b-bda6-a695340627c3/download
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: