1 00:00:00,000 --> 00:00:11,440 Bueno, la siguiente sesión es la presentación –voy a decir el título exacto para que 2 00:00:11,440 --> 00:00:18,240 luego no me echen bulla– de Juan Leiva, que, si habéis estado antes aquí, ya lo 3 00:00:18,240 --> 00:00:24,040 conocéis. El taller se llama Taller Moodle y Dispositivos Móviles. Para quien no conoce 4 00:00:24,040 --> 00:00:32,680 a Juan, muy mal. Es uno de los desarrolladores de CBIA, es un crack, yo soy fan de él. No 5 00:00:32,680 --> 00:00:35,640 me enrollo más, os dejo con él, que es quien nos tiene que explicar cosas interesantes. 6 00:00:35,640 --> 00:00:48,680 Se me escucha bien, ¿no? Este taller, que en realidad no es tanto un taller, porque 7 00:00:48,680 --> 00:00:52,720 si fuese un taller estaríamos aquí todos trabajando y demás, pero es una presentación 8 00:00:52,720 --> 00:00:59,000 en la que intentaré que vosotros interactuéis lo máximo posible. Vamos a hablar principalmente 9 00:00:59,000 --> 00:01:04,920 de lo que es el soporte para dispositivos móviles que trae Moodle de forma nativa 10 00:01:04,920 --> 00:01:12,320 desde la versión 2.1 y ahora en la versión 2.2, más aún porque está mejorado, incluyen 11 00:01:12,320 --> 00:01:20,160 un temagráfico para Moodle 2 y demás. Hay una presentación en PDF que os iré poniendo 12 00:01:20,160 --> 00:01:26,760 y además si estáis inscritos en el taller, si entráis al curso que está en la página 13 00:01:26,760 --> 00:01:31,400 de la Moodle Moodle, veréis que ha activado dos enlaces, que hay unos simuladores de iPhone 14 00:01:31,400 --> 00:01:37,280 y de Samsung, simuladores entre comillas, como se puede entender, porque uno son unas 15 00:01:37,280 --> 00:01:43,280 imágenes estáticas de pantalla y otro es una especie de iframe, pero ahora os lo enseñaré. 16 00:01:43,280 --> 00:01:49,920 Lo primero de todo es indicaros los resultados de la encuesta que hice cuando estaba preparando 17 00:01:49,920 --> 00:01:54,600 este taller para saber al tipo de público que me iba a enfrentar y un poco al estado 18 00:01:54,600 --> 00:02:01,040 actual del uso de los dispositivos móviles por parte de nosotros, que somos usuarios 19 00:02:01,040 --> 00:02:09,440 de Moodle al final. Aquí tenéis una visión general de una encuesta que hice, participó 20 00:02:09,440 --> 00:02:16,200 bastante gente, afortunadamente más de las que me esperaba y como veréis aquí hay algunos 21 00:02:16,200 --> 00:02:25,320 resultados que son bastante esclarecedores. Concretamente la pregunta inicial que preguntaba 22 00:02:25,320 --> 00:02:33,800 que cuál es el dispositivo móvil que utilizáis, la mayoría de los asistentes contestasteis 23 00:02:33,800 --> 00:02:41,400 que Android, ya en su versión móvil o en tablet y luego hay una minoría, no se puede 24 00:02:41,400 --> 00:02:47,400 decir tampoco, es un porcentaje respetable de gente que usa lo que serían productos 25 00:02:47,400 --> 00:02:52,760 de Apple, el iPhone y el iPad. Hay alguno perdido por ahí todavía que tiene Symbian, 26 00:02:52,760 --> 00:02:59,280 Nokia, cuando digo perdido, que no se me ofenda nadie, pero me refiero que para los tiempos 27 00:02:59,280 --> 00:03:03,200 que corren parece que ya el Symbian está muriendo, que efectivamente está muriendo, 28 00:03:03,200 --> 00:03:08,400 está ya definitivamente muerto, pero bueno. Y otros que tienen otros móviles, que supongo 29 00:03:08,400 --> 00:03:14,880 que sea un Alcatel de esos de hace 10 años, o tú eres el que es del Alcatel, ¿no? Ahí, 30 00:03:14,880 --> 00:03:21,880 muy bien. Tienen un Ladritel, ¿no? Como yo solía decir. Ciclado, llama y recibe mensajes. 31 00:03:21,880 --> 00:03:26,680 Eso es lo que dice mi padre. Le va perfectamente, la verdad. Bueno, está bien, ¿eh? Lo que 32 00:03:26,680 --> 00:03:32,160 quería haceros ver es que aquí la gente, hay crisis, pero nos gastamos el dinero en 33 00:03:32,160 --> 00:03:38,400 tener buenos móviles. Eso parece, o que los planes de datos nos hacen, las compañías 34 00:03:38,400 --> 00:03:43,560 nos hacen muy buenas ofertas. Bueno, por fabricantes veréis que los de Samsung se están poniendo 35 00:03:43,560 --> 00:03:49,760 las pilas a vender dispositivos. HTC también lo hace bastante bien. Básicamente porque 36 00:03:49,760 --> 00:03:56,520 son los dos fabricantes que distribuyen Android móviles de alguna forma en buena calidad 37 00:03:56,520 --> 00:04:00,840 relación precio, ¿no? Con los Samsung son carísimos para la preciación. Y bueno, luego 38 00:04:00,840 --> 00:04:11,200 tenemos que, lógicamente, los que usan iPad y iPhone tienen productos de Apple, lógicamente. 39 00:04:11,200 --> 00:04:17,280 Alguien tiene Acer, Sony Ericsson también hay por ahí y demás, ¿vale? Ahora sacaremos 40 00:04:17,280 --> 00:04:28,160 unas conclusiones generales. Finalmente, lo que vemos es que de media la gente tiene 15 41 00:04:28,160 --> 00:04:34,920 meses el teléfono de antigüedad. Eso es bastante reciente. Bueno, también porque 42 00:04:34,920 --> 00:04:40,320 es que empezaron a salir realmente al mercado estos productos en el 2008 o 2009, ¿no? Tampoco 43 00:04:40,320 --> 00:04:44,960 ha dado mucho margen para tenerlos. La gente ha ido comprándolos. Y sorprendentemente 44 00:04:44,960 --> 00:04:52,440 el 75% tenéis contratado un plan de datos que es bastante, bastante... Yo no tengo plan 45 00:04:52,440 --> 00:05:00,560 de datos, curiosamente. No sacáis una idea. Pero vamos, es que yo también tengo mis trucos 46 00:05:00,560 --> 00:05:05,280 de Wi-Fi y esas cosas. Es que en Barcelona hay muchos puntos Wi-Fi gratuitos, ¿no? Entonces 47 00:05:05,280 --> 00:05:12,080 yo lo tengo configurado y me va sincronizando y es una maravilla, la verdad. Y bueno, pero 48 00:05:12,080 --> 00:05:15,880 vamos, es que los planes de datos ahora mismo, incluso los operadores estos virtuales de 49 00:05:15,880 --> 00:05:19,600 bajo coste te regalan datos. O sea, si te haces uno de estos y yo oigo SIM, yo te dan 50 00:05:19,600 --> 00:05:24,240 300 megas al mes o lo que sea. Quiero decir, que ahora lo que se está comercializando 51 00:05:24,240 --> 00:05:30,400 principalmente es datos, ¿no? Para que la gente compre un fijo mensual. Entonces, bueno, 52 00:05:30,400 --> 00:05:39,400 por lo que podemos ver, esta encuesta es principalmente con usuarios con un perfil más administrador, 53 00:05:39,400 --> 00:05:44,120 Moodle, profesor, lo demás, ¿no? Si lo hiciésemos para estudiantes aún serían más elevados, 54 00:05:44,120 --> 00:05:48,880 ¿no? Porque aquí todos los chavales, todos tienen su móvil con Android, su plan de datos 55 00:05:48,880 --> 00:05:52,320 o lo que sea. Yo me sorprendo, la verdad, cada vez más. Y con universitarios igual, 56 00:05:52,320 --> 00:05:55,960 los universitarios casi todo el mundo está conectado, ¿no? Según vayamos bajando la 57 00:05:55,960 --> 00:06:00,480 escala de edad, hay ciertos márgenes ya de edad en los que la gente está súper conectada. 58 00:06:00,480 --> 00:06:09,120 Bueno, esto más que nada es dar una forma para que veáis el estado actual del uso de 59 00:06:09,120 --> 00:06:13,840 los dispositivos móviles y demás. La encuesta la hice sobre todo para saber un poquito 60 00:06:13,840 --> 00:06:19,560 los sistemas operativos, fabricantes y demás. Si os fijáis, no es una encuesta de uso del 61 00:06:19,560 --> 00:06:23,960 móvil. Esa encuesta la quería hacer aquí, ¿vale? Personalmente. Lo primero, quería 62 00:06:23,960 --> 00:06:28,520 saber un poco estos datos y luego os quería preguntar aquí un poquito a mano alzada, 63 00:06:28,520 --> 00:06:33,040 ahora que me contestéis, ¿cuántos de vosotros usáis el móvil realmente para acceder a 64 00:06:33,040 --> 00:06:38,080 una instalación de Moodle o consultar información relacionada con Moodle? ¿Levantáis la mano? 65 00:06:39,080 --> 00:06:45,960 Vale, 50. 50, por cierto. Haciendo que el resto no lo hace. No hay más alternativas. 66 00:06:45,960 --> 00:06:51,800 Bien. Bueno, entonces ahora mismo entiendo que accedéis con vuestro móvil, que tiene 67 00:06:51,800 --> 00:06:56,800 un navegado súper chulo y veis el Moodle, pues como se ve el Moodle en un móvil. Haciendo 68 00:06:56,800 --> 00:07:02,040 zoom, navegando, volviéndose un poco loco si se te va el menú para acá o para acá, 69 00:07:02,320 --> 00:07:12,120 ¿no? Bueno, afortunadamente la cosa ya está mejorando con Moodle, dado el soporte nativo 70 00:07:12,120 --> 00:07:16,400 que Moodle está incluyendo para todo el tema de dispositivos móviles. ¿Vale? Si os parece, 71 00:07:16,400 --> 00:07:21,040 voy a empezar la presentación. La tengo colgada en un PDF que os podéis descargar. 72 00:07:21,040 --> 00:07:33,040 Aquí creo que se va a quedar incrustado. Ah, esto no se puede. ¿Puedo poner la pantalla 73 00:07:33,040 --> 00:07:45,040 completa? No. Y esto no es de sí. Vale. Vaya, vaya, vaya, vaya, vaya. Bueno, voy a 74 00:07:45,040 --> 00:08:06,040 hacer una cosa que es editar el recurso. Sí, casi me voy a guardar el local. Bueno, 75 00:08:07,040 --> 00:08:15,040 me voy a guardar el local y lo voy a abrir mejor. Ah, sí, directamente lo abro y me 76 00:08:15,040 --> 00:08:30,040 queda así tan ancho y ya está. Vale. Bueno, Moodle en dispositivos móviles, Moodle Mood 77 00:08:30,040 --> 00:08:36,040 2011. Esto es un poco la presentación que ya la ha hecho Sara. Bueno, básicamente mi 78 00:08:36,040 --> 00:08:39,040 perfil es técnico, soy ingeniero en informática de sistemas de la Universidad Politécnica 79 00:08:39,040 --> 00:08:43,040 de Madrid. Llevo trabajando en Moodle desde el 2003. De hecho, es cuando empecé a trabajar, 80 00:08:43,040 --> 00:08:47,040 ya empecé a trabajar directamente con Moodle. Trabajo para la Consejería de Educación 81 00:08:47,040 --> 00:08:56,040 de Madrid. Ahora trabajo para... Uy, que le he dado a aceptar. Es que sé darle sí a 82 00:08:56,040 --> 00:09:03,040 todas mal. Parado, no pasa nada. Ahora trabajo en el Moodle Partner, que es CBA Consulting. 83 00:09:03,040 --> 00:09:09,040 Y aparte de eso, en mi tiempo libre, que tengo cada vez menos, bueno, mantengo algunos 84 00:09:09,040 --> 00:09:14,040 plugins de la comunidad. No sé si os sonará alguno, Configure All Reports, ConfigTask, 85 00:09:14,040 --> 00:09:20,040 uno de tal. Y ahora os enseñaré otro que he estado trabajando últimamente. Bueno, 86 00:09:20,040 --> 00:09:25,040 la empresa es CBA Consulting. Somos Moodle Partner de España desde 2007, si no recuerdo 87 00:09:25,040 --> 00:09:32,040 mal. Y ya nos conoceréis, que hemos hecho presentaciones en otras Moodle Mood. La web 88 00:09:32,040 --> 00:09:41,040 y demás. Luego os dejaré tarjetas por si alguien quiere. Bueno, entonces, un poco historia 89 00:09:41,040 --> 00:09:46,040 del acceso desde dispositivos a Moodle. Bueno, históricamente ya existen muchos proyectos 90 00:09:46,040 --> 00:09:51,040 desde hace años, sobre todo de contribuciones de la comunidad, para intentar, de alguna 91 00:09:52,040 --> 00:09:59,040 forma, visualizar Moodle en un dispositivo móvil. Hay una aplicación que se llama MedTouch, 92 00:09:59,040 --> 00:10:04,040 creo que se llama, que es de pago, que es para iPhone y iPad, que lo que hace, básicamente, 93 00:10:04,040 --> 00:10:09,040 no requiere que instales nada en el Moodle y demás. Es un cliente para usar Moodle desde 94 00:10:09,040 --> 00:10:16,040 un dispositivo móvil. También, para un Moodle 1.8, 1.9, alguien hizo un macro-plugin, que 95 00:10:16,040 --> 00:10:21,040 era una bestialidad, que cogió todo el código de Moodle y lo duplicó y lo adaptó para 96 00:10:21,040 --> 00:10:28,040 Moodle. Básicamente, sacando por pantalla tablas reducidas y demás. Una burrada de 97 00:10:28,040 --> 00:10:32,040 desarrollo. Claro que, lógicamente, eso se quedó extinto, porque no podía evolucionar 98 00:10:32,040 --> 00:10:36,040 a la misma velocidad que evolucionaba Moodle. Y, bueno, diversas iniciativas que ninguna 99 00:10:36,040 --> 00:10:41,040 de realmente ha terminado de cargar como decir, pues casi todo el mundo usa esta. Y tampoco 100 00:10:41,040 --> 00:10:49,040 ha sido, ninguna es especialmente conocida, especialmente usada o referenciada. Entonces, 101 00:10:49,040 --> 00:10:56,040 desde Moodle 2.0 se quiso intentar solventar esta necesidad usando como dos aproximaciones 102 00:10:56,040 --> 00:11:06,040 diferentes. Son como dos herramientas diferenciadas. Por un lado, un cliente nativo que se ha desarrollado 103 00:11:06,040 --> 00:11:13,040 inicialmente para iPhone y que ahora están trabajando en el cliente para Android. Y, 104 00:11:13,040 --> 00:11:20,040 por otro lado, un temagráfico que si detecta que estás accediendo a Moodle desde un dispositivo 105 00:11:20,040 --> 00:11:30,040 móvil, adapta la visualización de Moodle al dispositivo móvil. Hay que hablar un poco 106 00:11:30,040 --> 00:11:34,040 de la descripción de las dos aproximaciones. El cliente nativo es una aplicación nativa 107 00:11:34,040 --> 00:11:47,040 para móviles orientada a ser una herramienta de consulta para que de alguna forma tú puedas 108 00:11:47,040 --> 00:11:53,040 integrar ciertas funcionalidades del teléfono en tu uso habitual de Moodle. Un ejemplo, 109 00:11:53,040 --> 00:11:59,040 puedes hacer una foto con el teléfono y subir la imagen a Moodle. Puedes grabarte un audio 110 00:11:59,040 --> 00:12:05,040 con el teléfono y subirlo a Moodle. Eso, como veis, no se puede hacer con un temagráfico adaptado 111 00:12:05,040 --> 00:12:13,040 para Moodle de forma razonable. Siempre te puedes grabar el audio, cogerte el archivo y ver si con 112 00:12:13,040 --> 00:12:18,040 tu dispositivo o con el file picker, que ya os digo yo que no va a funcionar, puedes subir un archivo. 113 00:12:18,040 --> 00:12:24,040 Esto lo hace un poquito a cortos plazos. Ahora veremos una muestra de cada una. 114 00:12:25,040 --> 00:12:32,040 Luego está el temagráfico y como os decía, la finalidad es, si detecta que estás accediendo con un dispositivo 115 00:12:32,040 --> 00:12:41,040 móvil, te adapta los estilos de Moodle, la disposición de los elementos en Moodle y todo el contenido 116 00:12:41,040 --> 00:12:49,040 para que sea visualizable y manejable la navegación desde un dispositivo Moodle. 117 00:12:50,040 --> 00:12:58,040 No hay que comparar estas herramientas. Es decir, no podemos comparar peras con manzanas. Cada una tiene 118 00:12:58,040 --> 00:13:02,040 su finalidad. De hecho, es que son complementarias. Lo que no te da una, te lo da la otra. 119 00:13:02,040 --> 00:13:09,040 Ahora sé que es un error compararlas. Pero yo creo que hay que tener en mente que son dos herramientas 120 00:13:09,040 --> 00:13:13,040 que son compatibles y que de hecho trabajan muy bien conjuntamente, como ahora veremos. 121 00:13:14,040 --> 00:13:20,040 Inicialmente yo lo que os voy a enseñar es una demostración de cada una y aparte os voy a hablar 122 00:13:20,040 --> 00:13:27,040 de las ventajas e inconvenientes de cada una. Empezamos, si os parece, por el cliente nativo. 123 00:13:30,040 --> 00:13:36,040 Esta es una imagen que me hizo gracia. No pinta mucho, pero es un poquito para la batalla entre Android y 124 00:13:36,040 --> 00:13:44,040 tal, como hemos visto antes. Ahora mismo ya la tenéis disponible para iPhone. Si os vais y buscáis 125 00:13:44,040 --> 00:13:52,040 Moodle en el Store de tal, os la podéis descargar. Hay dos versiones de esta aplicación. En realidad es 126 00:13:52,040 --> 00:13:57,040 solo una, la que funciona para Moodle 2.1 y la que funciona para Moodle 2.2. En realidad es la misma 127 00:13:57,040 --> 00:14:03,040 aplicación, pero automáticamente te detecta a qué versión de Moodle estás intentando acceder y te da 128 00:14:03,040 --> 00:14:09,040 más o menos funcionalidades. ¿Por qué? Como veréis ahora, esta aplicación usa el API de Web Services 129 00:14:09,040 --> 00:14:21,040 de Moodle para comunicarse con la plataforma. Por lo tanto, en función de la versión de Moodle, habrá más o menos 130 00:14:21,040 --> 00:14:28,040 Web Services y más o menos funcionalidades tendréis. Esto, como podéis entender, ya parece un inconveniente 131 00:14:28,040 --> 00:14:38,040 como en el tema gráfico, porque el tema gráfico puedes usar cualquiera. La finalidad es principalmente, en modo consulta, 132 00:14:38,040 --> 00:14:46,040 tener una herramienta que rápidamente te permite tener información de Moodle en tu dispositivo móvil. Es como por 133 00:14:46,040 --> 00:14:52,040 ejemplo la aplicación de Facebook, la aplicación de Twitter y demás. Twitter sí que es más para escribir y demás, 134 00:14:52,040 --> 00:15:00,040 pero te permite, con una interfaz adaptada a móvil y con pocos botones, hacer el 90% de las acciones que suele realizar 135 00:15:00,040 --> 00:15:09,040 un usuario, que suelen ser el 10% de las funcionalidades de Moodle. ¿Veis lo que queréis decir? Al final, un estudiante, 136 00:15:09,040 --> 00:15:17,040 un profesor, ¿qué hace? Entra, ve un recurso, un profesor califica... Eso es lo que hace la mayoría del tiempo. 137 00:15:17,040 --> 00:15:24,040 El 90% del tiempo, el 80% del tiempo. Y eso es un 10% de las funcionalidades de Moodle. Ese es el enfoque de la aplicación para móviles. 138 00:15:24,040 --> 00:15:30,040 La aplicación nativa para móviles no te va a permitir crear cursos, no te va a permitir subir quizzes, subir actividades. Es que no, 139 00:15:30,040 --> 00:15:40,040 no es la finalidad. Para eso, un móvil no es adecuado. Una tablet quizás sí, un móvil no. Como veis, el enfoque es un poquito más 140 00:15:40,040 --> 00:15:48,040 el enfoque de tener una herramienta que se integra con las funcionalidades del móvil para sacarle partido a esas funcionalidades y conectarlas con Moodle. 141 00:15:48,040 --> 00:16:00,040 Por ejemplo, lo que os he dicho, hacer una foto y subirla, grabar un audio y subirlo, descargar algunos contenidos para verlos offline, 142 00:16:00,040 --> 00:16:12,040 que la aplicación funcione offline, para que tú puedas hacer tareas offline que luego se sincronizan online. Integrarse con el sistema de mensajería del teléfono. 143 00:16:12,040 --> 00:16:20,040 Cuando recibes una notificación de Moodle que te llega al teléfono y te salga como cuando te sale un aviso del WhatsApp o de cualquier otra aplicación que tenéis vosotros. 144 00:16:21,040 --> 00:16:33,040 Eso ahora mismo no lo hace la aplicación, pero es un ejemplo de las cosas que podrían hacer. Como veis, la finalidad es, de alguna forma, aprovechar las funcionalidades del móvil. 145 00:16:33,040 --> 00:16:47,040 Es una aplicación en constante desarrollo y depende de las versiones de Moodle. Con la 2.1 se pueden hacer ciertas cosas, con la 2.2 más y con la 2.3 se podrán más. 146 00:16:47,040 --> 00:16:58,040 ¿Por qué? Porque la comunicación de la aplicación móvil con Moodle es por webservices. Los webservices podéis coger los de las 2.2 y ponerlos en las 2.1 y seguramente funcionarían. 147 00:16:58,040 --> 00:17:03,040 Pero los webservices se van publicando según van saliendo versiones mayores de Moodle. 148 00:17:03,040 --> 00:17:25,040 Vamos a echarle una ojeada. La versión 2.1 te permite ver contactos, enviar mensajes usando la mensajería interna de Moodle, subir imágenes, fotos y archivos grabados con el móvil, ver documentación de Moodle. 149 00:17:25,040 --> 00:17:41,040 La versión compatible con las 2.2 te permite navegar y ver los recursos de un curso en modo offline. Cuando hablo de recursos me refiero a los PDFs, recursos HTML, imágenes, vídeos que ya han subido los profesores. 150 00:17:42,040 --> 00:17:55,040 Y luego a futuro, ver calificaciones, evaluar tareas, añadir notas de asistencia, integrar el calendario con el calendario del móvil, notificaciones de mensajes y demás. 151 00:17:55,040 --> 00:17:57,040 Vamos a ver un ejemplo. 152 00:17:57,040 --> 00:18:01,040 Aquí lo tenéis. Si alguien tiene un portátil y lo quiere ver por su cuenta. 153 00:18:14,040 --> 00:18:17,040 Esto es algo súper cutre, pero está bien. 154 00:18:18,040 --> 00:18:26,040 Como no todo el mundo tiene un iPhone, hemos hecho una especie de fotomontaje de cómo sería el funcionamiento de la aplicación con el iPhone. 155 00:18:27,040 --> 00:18:31,040 Y espero que esto funcione todo porque está en otro servidor. 156 00:18:33,040 --> 00:18:35,040 Parece que funciona. 157 00:18:43,040 --> 00:18:46,040 Para ganar tiempo voy a ir abriendo la otra también por detrás. 158 00:18:48,040 --> 00:18:50,040 ¿Veis? 159 00:18:51,040 --> 00:18:54,040 Es un iPhone. Bueno, creo que todo el mundo sabe lo que es un iPhone. 160 00:18:55,040 --> 00:18:58,040 Les voy a enseñar un poco las pantallas principales de la aplicación 2.1. 161 00:18:59,040 --> 00:19:04,040 Esto sobre todo para que os hagáis una idea. Esto es un iPhone, pero la aplicación para Android va a ser un clon. Va a ser exactamente igual. 162 00:19:05,040 --> 00:19:08,040 Y si algún día se hace alguna para BlackBerry, será también igual. 163 00:19:09,040 --> 00:19:14,040 Lo primero de todo, si no tienes ningún sitio registrado, lo primero que te permite mudar es añadir un sitio. 164 00:19:15,040 --> 00:19:18,040 Tienes que poner la URL del campus, tu suero y tu contraseña. 165 00:19:19,040 --> 00:19:21,040 Aquí ponéis los datos habituales y tal. 166 00:19:22,040 --> 00:19:25,040 Se le da a guardar. Y si todo ha ido bien... 167 00:19:26,040 --> 00:19:28,040 Como veis, son capturas de pantalla. 168 00:19:30,040 --> 00:19:32,040 Perfecto. 169 00:19:33,040 --> 00:19:34,040 Has accedido. 170 00:19:35,040 --> 00:19:40,040 Esto es de la versión 2.1. De la versión 2.2 no me ha dado tiempo porque salí hace una semana. 171 00:19:41,040 --> 00:19:44,040 Y no sé si... Bueno, es que no me ha dado tiempo. Básicamente faltaría un icono. 172 00:19:46,040 --> 00:19:48,040 Esto es... Como veis ahora hay cuatro botones. 173 00:19:49,040 --> 00:19:52,040 Hay cuatro cosas las que puede hacer Moodle. Un par de botones por ahí por detrás y demás. 174 00:19:53,040 --> 00:19:58,040 Tenéis un botón de Upload, otro de Participantes, Web y Help. 175 00:19:59,040 --> 00:20:02,040 El de Web y Help, bueno, os lo enseño rápidamente. 176 00:20:03,040 --> 00:20:07,040 Esto básicamente lo que te muestra es la ayuda de uso de Moodle. 177 00:20:08,040 --> 00:20:10,040 Que por debajo es un navegador. 178 00:20:11,040 --> 00:20:15,040 Esto lo que te hace es que te saca la web en el dispositivo móvil. 179 00:20:16,040 --> 00:20:20,040 Esto es interesante porque si tenéis instalado ya el tema gráfico que se adapta muy a dispositivos móviles, 180 00:20:21,040 --> 00:20:24,040 ya aquí automáticamente te saldría Moodle con un aspecto móvil. 181 00:20:25,040 --> 00:20:28,040 Esto es como una especie de frame dentro de la tal. 182 00:20:29,040 --> 00:20:32,040 Y luego tenéis la parte de subir fotos y de participantes. 183 00:20:33,040 --> 00:20:35,040 Esta versión es bastante limitadita, la de 2.2 compatible con 2.1. 184 00:20:36,040 --> 00:20:39,040 Ahora os comentaré la de 2.2 que tiene más cosas. 185 00:20:41,040 --> 00:20:45,040 Entonces, si le damos al botón de Upload, de subir, 186 00:20:47,040 --> 00:20:51,040 veis que os permite subir un archivo de la galería, de imágenes, 187 00:20:51,040 --> 00:20:55,040 os permite tomar una foto y subirla o grabar un audio y subirlo. 188 00:20:57,040 --> 00:20:58,040 No tiene más misterio. 189 00:20:59,040 --> 00:21:08,040 Tú le das, haces la foto, se sube y en ese momento ya la tienes disponible en tus archivos locales en Moodle. 190 00:21:09,040 --> 00:21:12,040 O sea, Moodle no te deja el navegar y decirme la pones en este curso. 191 00:21:13,040 --> 00:21:18,040 Se te queda en tu zona privada de archivos para que tú cuando la quieras usar en algún lado, la cojas. 192 00:21:19,040 --> 00:21:21,040 Lo interesante de esto es que te permite modo offline. 193 00:21:22,040 --> 00:21:26,040 Tú puedes hacer fotos aunque no estés conectado y cuando el móvil conecte, sincroniza. 194 00:21:27,040 --> 00:21:31,040 Imaginaros que sois un profesor de Biología, Geología o algo así, 195 00:21:32,040 --> 00:21:36,040 vais a dar un paso por el monte y veis piedras, animales o cosas que os gusten. 196 00:21:37,040 --> 00:21:42,040 Hacéis fotos y dices, mira, esta la voy a enseñar en clase que me ha hecho gracia o lo que sea. 197 00:21:42,040 --> 00:21:48,040 Las hacéis, aunque no tengáis conexión, las dejáis ahí hechas y cuando sincronice se subirán automáticamente a Moodle. 198 00:21:49,040 --> 00:21:56,040 Entonces el lunes llegáis a clase y las ponéis en una base de datos, en un recurso, html, en un foro, las posteáis. 199 00:21:57,040 --> 00:22:00,040 Mira, estas son las fotos que tomé este fin de semana cuando estuve no sé dónde. 200 00:22:01,040 --> 00:22:07,040 Esto también puede dar pie a decir a los alumnos, bueno, pues como tarea para entregarme este fin de semana 201 00:22:07,040 --> 00:22:11,040 os tenéis que hacer fotos en la calle cuando veáis coches con matrícula de no sé qué, 202 00:22:12,040 --> 00:22:14,040 o si veis en la calle un comercio de no sé qué, le hacéis una foto. 203 00:22:15,040 --> 00:22:19,040 Los chavales pueden ir con su móvil, le hacen una foto, le dan a subir y luego pueden ir al Moodle 204 00:22:20,040 --> 00:22:23,040 y la entregan como entrega de la tarea, como un fichito de la entrega de la tarea. 205 00:22:24,040 --> 00:22:27,040 Veis un poco que la finalidad de la aplicación para móviles es facilitar esas tareas, 206 00:22:28,040 --> 00:22:32,040 no que tengas que estar haciendo la foto, pasándotela al ordenador y subiéndola al Moodle desde el interfaz de Moodle, 207 00:22:33,040 --> 00:22:35,040 sino un poco acelerar estas tareas y demás. 208 00:22:36,040 --> 00:22:38,040 Lo mismo con un audio o con un vídeo. 209 00:22:39,040 --> 00:22:41,040 Puedes grabar un audio de una entrevista de una persona en la calle y luego la subes 210 00:22:42,040 --> 00:22:45,040 y lo publicas como un podcast en el blog de Moodle, por ejemplo. 211 00:22:46,040 --> 00:22:49,040 Te puedes grabar una conversación o un vídeo y lo publicas como un recurso en Moodle. 212 00:22:54,040 --> 00:22:58,040 La parte de participantes es una parte más social, por decirlo de alguna forma. 213 00:22:59,040 --> 00:23:01,040 Lo que te demuestra es los cursos donde estás matriculado 214 00:23:01,040 --> 00:23:09,040 y de cada curso donde estás matriculado te muestran los usuarios y cuando te creas un usuario en concreto, 215 00:23:10,040 --> 00:23:17,040 te permite acciones típicas como ver la información del usuario y ponerte en contacto con él. 216 00:23:18,040 --> 00:23:28,040 Añadirlo como un contacto en tu libreta de direcciones, añadirle una nota. 217 00:23:28,040 --> 00:23:32,040 Si eres profesor, sabéis que a los alumnos en Moodle se les pueden poner como notas, 218 00:23:33,040 --> 00:23:37,040 en plan, se ha portado mal en clase ese día o hay que tener en cuenta que tiene una necesidad especial o cualquier historia de estas. 219 00:23:38,040 --> 00:23:40,040 O enviarle un mensaje desde el móvil. 220 00:23:41,040 --> 00:23:44,040 Le puedes enviar un mensaje que recibirá la mensajería instantánea de Moodle. 221 00:23:45,040 --> 00:23:51,040 Si tiene configurada la mensajería instantánea de Moodle para que ese mensaje automáticamente se le reenvíe a su correo, 222 00:23:52,040 --> 00:23:53,040 lo recibirá instantáneamente. 223 00:23:53,040 --> 00:23:58,040 Si no, cuando se loguee en Moodle, le saldrá el típico pop-up de que tiene un mensaje nuevo que le ha enviado alguien desde el teléfono. 224 00:23:59,040 --> 00:24:02,040 Esto también funciona offline, no recuerdo mal. 225 00:24:05,040 --> 00:24:14,040 Y bueno, aparte de eso, bueno, tenéis esto, esto era lo de añadir sitios y esto, bueno. 226 00:24:15,040 --> 00:24:20,040 Y esto es las configuraciones, que esto es la cola, que esto es lo que os decía, 227 00:24:20,040 --> 00:24:28,040 que si tienes acciones pendientes, aquí puedes configurar que automáticamente cuando detecte la aplicación que estás conectado a internet, te sincronice. 228 00:24:29,040 --> 00:24:33,040 Te suban las fotos, te envían los mensajes, todo lo que sea compatible con offline. 229 00:24:36,040 --> 00:24:46,040 La versión 2.2 de la aplicación para móviles de Moodle incluye, me ha dado tiempo, pero he visto que han puesto una foto en... 230 00:24:51,040 --> 00:24:54,040 Ah, esta no es, perdón, es esta. 231 00:25:03,040 --> 00:25:05,040 Tiene que estar por aquí... 232 00:25:21,040 --> 00:25:24,040 Creo que está aquí referenciada... 233 00:25:29,040 --> 00:25:32,040 Ahora sí, creo, o no ahora sí, a ver... 234 00:25:37,040 --> 00:25:38,040 Ha colado. 235 00:25:39,040 --> 00:25:48,040 Vale, la aplicación 2.2 lo que te añade además es un botón nuevo, que es este de aquí que veis que se llama Contenidos, 236 00:25:49,040 --> 00:25:58,040 que lo que te permite es navegar por los recursos de un curso. 237 00:25:59,040 --> 00:26:05,040 Tú seleccionarías un curso y lo que te permite es ver los recursos que has subido. 238 00:26:06,040 --> 00:26:13,040 Te permite descargar PDFs, si has subido un directorio, te permite descargar el directorio, si has subido un HTML, un vídeo, lo que sea. 239 00:26:13,040 --> 00:26:19,040 Esto te permite que lo descargues a local para si los quieres ver offline. 240 00:26:20,040 --> 00:26:27,040 Esto, por ejemplo, puede ser que publiquéis contenidos que luego si tú vas en el autobús o lo que sea, te quieras leer un PDF o quieras leer un recurso, 241 00:26:28,040 --> 00:26:35,040 o estés estudiando, lo que sea, y lo quieras ver, te permite que desde la aplicación para móviles en modo offline puedas consultarlo. 242 00:26:36,040 --> 00:26:46,040 Los planes de datos, pues casi todo el mundo ahora mismo, o en países desarrollados, tenemos conectividad casi a todo momento, 243 00:26:47,040 --> 00:26:54,040 pero todavía hay sitios donde no hay conectividad, o también pensar que esto será muy útil para gente que tenga dispositivos con Android más de bajo coste 244 00:26:55,040 --> 00:26:58,040 en lugares donde no haya tanta cobertura y demás, ¿vale? 245 00:26:59,040 --> 00:27:02,040 Centros de esos tipos ahí por el monte, perdidos y demás. 246 00:27:03,040 --> 00:27:12,040 Bueno, como veis, la aplicación para móviles ahora mismo es muy limitada en su funcionalidad, pero tiene sus ventajas, ¿vale? 247 00:27:13,040 --> 00:27:21,040 Tiene sus ventajas porque, teniendo en cuenta que es una aplicación que es core de Moodle, que es nativa de Moodle, Moodle va a mantener y va a evolucionar, 248 00:27:22,040 --> 00:27:27,040 es decir, de aquí a seis meses tendrá más funcionalidades, de un año tendrá mucho más, y dos años muchísimas más, 249 00:27:28,040 --> 00:27:36,040 y está garantizado su uso y su mantenimiento, es decir, no es una aplicación que hace cualquiera o es de pago y te puedes encontrar con que la estás usando 250 00:27:37,040 --> 00:27:39,040 y luego ya se deja de hacer y demás, ¿no? 251 00:27:40,040 --> 00:27:48,040 Entonces, ya si sois los que tenéis un poco un perfil más de profesor, ya tenéis que darle la vuelta a ver qué uso se le podría dar, tuviese o no o tal, 252 00:27:49,040 --> 00:27:59,040 y bueno, indicaros que inicialmente, para que la aplicación para móviles funcione, en vuestra instalación de Moodle lo tenéis que habilitar, 253 00:28:00,040 --> 00:28:07,040 es decir, si alguien se la descarga, la intenta iniciar y no tenéis habilitado el servicio de móviles, no va a funcionar, esto para que lo tengáis en cuenta, 254 00:28:08,040 --> 00:28:15,040 porque a lo mejor no queréis que la gente lo use, o a lo mejor si queréis que la use, pero tenéis que habilitarlo previamente, ¿vale? 255 00:28:16,040 --> 00:28:21,040 Como ya os decía, funcionalidades futuras que serán más de interés es todo el tema de asistencia, 256 00:28:22,040 --> 00:28:28,040 todo el tema de que el profesor pueda ver los envíos de tareas y las pueda ir evaluando desde el móvil, eso sí que será interesante, 257 00:28:29,040 --> 00:28:37,040 todo el tema de poder ver calificaciones de alumnos, o yo me imagino que el profesor a lo mejor está calificando los exámenes escritos y según va poniendo notas, 258 00:28:38,040 --> 00:28:44,040 que tenga el móvil al lado, seleccione Pepito y le ponga 9.9, le dé al botón y se sincronice con Moodle, hombre, pues es cómodo. 259 00:28:45,040 --> 00:28:51,040 Se puede ir a la piscina, se puede ir a tal, necesidad de un ordenador y datos y lo puede ir haciendo. 260 00:28:52,040 --> 00:28:59,040 También cosas como, por ejemplo, sobre todo integrar el calendario, sería muy útil, porque si el alumno tiene integrado en el calendario de su móvil 261 00:29:00,040 --> 00:29:07,040 con notificaciones y demás, cuando tiene exámenes, cuando tiene entrega de tareas y cuando tiene toda esta serie de avisos, ahí sí que le sacas partido, la verdad. 262 00:29:08,040 --> 00:29:16,040 En mis tiempos, cuando iba a la universidad, ya había móviles, pero si hubiese móviles integrados con el campus, con el calendario de entrega de prácticas o tal, 263 00:29:17,040 --> 00:29:18,040 me hubiese venido de faula. 264 00:29:22,040 --> 00:29:33,040 Y todo el tema de notificaciones, cuando te envíen mensajes en los foros o envíen mensajes, tú recibas una notificación en el móvil, también está bastante interesante. 265 00:29:34,040 --> 00:29:37,040 Bueno, esto es lo que es la aplicación nativa para móviles. 266 00:29:38,040 --> 00:29:45,040 Como os digo, es gratuita, se está haciendo para Android, estará durante estas navidades, es un clon de la aplicación para iPhone. 267 00:29:46,040 --> 00:29:51,040 Y una cosa muy importante, la aplicación para iPhone es código cerrado, no es open source. 268 00:29:52,040 --> 00:30:00,040 Y es código cerrado por una historia de licenciamiento y de incompatibilidad con la tienda de Apple. 269 00:30:01,040 --> 00:30:05,040 No lo sé exactamente a más detalle, seguramente en los foros esté explicado el motivo. 270 00:30:06,040 --> 00:30:17,040 En cualquier caso, esto lo que implica es que no es personalizable visualmente a nivel de que no le podéis poner el branding, los colorcitos, el loguito de la universidad. 271 00:30:18,040 --> 00:30:21,040 Ni se le puede personalizar el idioma a no ser que se haga de forma oficial. 272 00:30:21,040 --> 00:30:32,040 Es decir, que los desarrolladores de la app oficial de una vez por todas publiquen el fichero de traducción para que la gente la pueda traducir al castellano, al catalán, al euskera o lo que sea. 273 00:30:33,040 --> 00:30:34,040 Ahora mismo sólo está en inglés. 274 00:30:35,040 --> 00:30:36,040 Como veis tiene sus cosillas. 275 00:30:37,040 --> 00:30:39,040 La versión para Android sí que va a ser open source. 276 00:30:40,040 --> 00:30:48,040 La versión para Android cualquiera se podrá hacer si le apetece ponerse a programar en Java el entorno ese de cada Android. 277 00:30:49,040 --> 00:31:00,040 Se podrá hacer su propia versión, podrá ponerle colorcitos, iconitos, le podrá crear nuevas pestañitas y la podrá publicar en la tienda en otro enlace diferente, personalizar las cadenas y lo que sea. 278 00:31:01,040 --> 00:31:02,040 ¿Vale? 279 00:31:06,040 --> 00:31:10,040 Pasamos al tema gráfico para móviles. 280 00:31:11,040 --> 00:31:12,040 Ya lo tenemos en Moodle 2.2. 281 00:31:13,040 --> 00:31:19,040 Es un tema que inicialmente se llamaba MyMobile, que subió un hombre que creo que es alemán o austriaco o no sé de por ahí. 282 00:31:20,040 --> 00:31:24,040 Y básicamente es muy sencillo. 283 00:31:25,040 --> 00:31:29,040 De hecho, automáticamente en Moodle, si saléis en Moodle 2.1 va a funcionar así. 284 00:31:30,040 --> 00:31:33,040 Desde Moodle 2.1 sí. 285 00:31:34,040 --> 00:31:39,040 Hay una opción que tú puedes establecer qué tema gráfico se ha de mostrar en función del dispositivo con el que el usuario está accediendo. 286 00:31:40,040 --> 00:31:46,040 Y eso funciona detectando el user agent del navegador, que es una información que envía el navegador diciendo soy Firefox, soy Internet Explorer, 287 00:31:46,040 --> 00:31:51,040 soy un navegador de un teléfono móvil o bien poniendo tus propias reglas. 288 00:31:52,040 --> 00:32:00,040 Está muy bien porque tú puedes configurar en Moodle para que si alguien está accediendo con un móvil de pantalla de 300, me cargas este tema gráfico. 289 00:32:01,040 --> 00:32:03,040 Si están accediendo con un tablet, me cargas este otro tema gráfico. 290 00:32:04,040 --> 00:32:06,040 Y si no, pues dejas el tema gráfico por defecto. 291 00:32:07,040 --> 00:32:18,040 En Moodle 2.2, si desde un móvil ponéis demo.moodle.net o www.moodle.org, veréis que ya os sale el tema gráfico de Moodle para móviles. 292 00:32:19,040 --> 00:32:21,040 Que queda fatal en la página propia de Moodle, eso sí. 293 00:32:22,040 --> 00:32:26,040 Porque como no está pensada para móviles, tiene unos pedazos de iconos que no se adaptan y ya está. 294 00:32:27,040 --> 00:32:36,040 Entonces, ¿cómo han hecho este tema gráfico para Moodle sin tocar el código y sin hacer cosas raras? 295 00:32:37,040 --> 00:32:40,040 Pues básicamente usando Javascript a porrillo. 296 00:32:41,040 --> 00:32:47,040 ¿Qué han hecho? Han usado una tecnología que se llama JQuery y una tecnología que se llama JQuery Mobile, 297 00:32:48,040 --> 00:32:52,040 que lo que permite es que mediante Javascript, que es un lenguaje que se ejecuta del lado del cliente, 298 00:32:52,040 --> 00:32:59,040 cuando una página de Moodle se muestra, se reformatea entera, se quitan bloques, se cargan no sé qué, para adaptarla a móviles. 299 00:33:00,040 --> 00:33:05,040 Entonces, el JQuery Mobile lo que hace además es que detecta la resolución de tu pantalla 300 00:33:06,040 --> 00:33:12,040 y con unas reglas de CSS3 que te permiten cambiar estilos en función de la resolución de tu pantalla 301 00:33:13,040 --> 00:33:20,040 o de cómo la tienes orientada la pantalla, porque al girarla hay un cambio de resolución, la altura pasa a ser la anchura, 302 00:33:20,040 --> 00:33:27,040 reformatea la apariencia visual y te lo deja muy bien adaptado a móviles. 303 00:33:29,040 --> 00:33:32,040 Yo creo que se está aburriendo, hay uno que se ha dormido ahí. 304 00:33:33,040 --> 00:33:36,040 Espero que no se duerma más gente. 305 00:33:39,040 --> 00:33:42,040 La mañana ha sido muy dura. Mientras no me ronquen, yo estoy contento. 306 00:33:43,040 --> 00:33:47,040 He llegado a estar en presentaciones con un tío roncando y eso es muy heavy. 307 00:33:47,040 --> 00:33:51,040 Bueno, no me molesta dejarle que se eche la sesta, hombre. 308 00:33:52,040 --> 00:34:01,040 Fijaros en que funciona con iOS, Android, BlackBerry, Bada, tal, tal, tal, tal, todo esto. 309 00:34:07,040 --> 00:34:09,040 Vale, os lo voy a enseñar. 310 00:34:11,040 --> 00:34:14,040 Este es menos de cartón-piedra, este es más real. 311 00:34:18,040 --> 00:34:21,040 Ahí estamos, está funcionando. 312 00:34:24,040 --> 00:34:27,040 Esto, lo que hay por debajo no son capturas de pantalla, es un Moodle de verdad. 313 00:34:28,040 --> 00:34:30,040 Y esto es un Samsung, un móvil. 314 00:34:31,040 --> 00:34:36,040 ¿Veis que ya de inicio la página de lo de Moodle ya tiene presencia? 315 00:34:38,040 --> 00:34:40,040 Vamos a entrar con estudiante 01. 316 00:34:40,040 --> 00:34:47,040 Espero que no falle. 317 00:34:48,040 --> 00:34:50,040 Bien, perfecto. 318 00:34:51,040 --> 00:34:53,040 ¿Veis cómo se ha adaptado totalmente Moodle? 319 00:34:54,040 --> 00:34:56,040 Este es un Moodle estándar, luego os enseño cómo es un Moodle. 320 00:34:57,040 --> 00:34:59,040 Es un Moodle estándar con el tema gráfico básico. 321 00:35:00,040 --> 00:35:02,040 ¿Qué ha hecho el tema gráfico este para móviles? 322 00:35:03,040 --> 00:35:05,040 Los bloques los ha quitado y los ha dejado accesibles desde aquí. 323 00:35:06,040 --> 00:35:08,040 La navegación la ha dejado accesible desde aquí. 324 00:35:08,040 --> 00:35:09,040 ¿Veis? 325 00:35:10,040 --> 00:35:11,040 Y los ajustes de configuración desde aquí. 326 00:35:12,040 --> 00:35:17,040 Es decir, si hubiese un bloque HTML, un bloque de feedback o lo que sea, estaría accesible desde aquí. 327 00:35:18,040 --> 00:35:22,040 La configuración y navegación, que son bloques de Moodle y demás, están accesibles desde aquí. 328 00:35:23,040 --> 00:35:26,040 En realidad la navegación es una navegación simplificada, pero como veis es interesante. 329 00:35:27,040 --> 00:35:30,040 El espacio de mis cursos lo ha dejado aquí reformateado. 330 00:35:31,040 --> 00:35:34,040 Y lo que es el botón de búsqueda y de buscar lo ha puesto al final de todo. 331 00:35:34,040 --> 00:35:39,040 Y luego aquí tenéis los elementos comunes como el calendario y la mensajería de Moodle, que lo ha puesto como botones inferiores. 332 00:35:40,040 --> 00:35:41,040 Está bien, ¿eh? 333 00:35:42,040 --> 00:35:46,040 Le da un buen look a Moodle para hacerlo todo con JavaScript y demás. 334 00:35:47,040 --> 00:35:48,040 Entonces, si entramos en un curso... 335 00:35:50,040 --> 00:35:52,040 Este es el curso estándar de Moodle de Features. 336 00:35:53,040 --> 00:35:55,040 Aquí no lo veis, pero a lo mejor he ido demasiado rápido. 337 00:35:56,040 --> 00:35:58,040 Si le doy para atrás, ¿veis que tiene transiciones? 338 00:35:59,040 --> 00:36:01,040 No, no se ve. Muy bien. 339 00:36:02,040 --> 00:36:06,040 Este ordenador hace efecto de transición de página. 340 00:36:07,040 --> 00:36:10,040 De esos que hace la página para un lado, para otro, para arriba o para abajo. 341 00:36:11,040 --> 00:36:12,040 Es configurable, de hecho. 342 00:36:13,040 --> 00:36:14,040 Entonces hace efecto de transición de página. 343 00:36:15,040 --> 00:36:20,040 Y este es un curso estándar de Moodle donde veis el diagrama de temas y las diferentes actividades. 344 00:36:21,040 --> 00:36:23,040 Este es un curso largo, por eso sale tanto scroll. 345 00:36:24,040 --> 00:36:26,040 Yo creo que lo deberían haber hecho un poco más tarde. 346 00:36:26,040 --> 00:36:28,040 Pero tiene un botón para ir arriba. 347 00:36:29,040 --> 00:36:32,040 Y luego tiene el típico botón del calendario, mensajes y demás. 348 00:36:33,040 --> 00:36:35,040 Y aquí tiene los bloques, que si le damos... 349 00:36:39,040 --> 00:36:42,040 Te carga el listado de bloques que hay en el curso. 350 00:36:43,040 --> 00:36:44,040 Y si pulsas sobre uno... 351 00:36:49,040 --> 00:36:51,040 Te despliega la información que tiene el bloque. 352 00:36:52,040 --> 00:36:54,040 Entonces, como veis, está muy bien trabajado y muy bien adaptado. 353 00:36:55,040 --> 00:36:59,040 Si queréis volver para atrás, podéis usar, si es un Android, el botón para atrás. 354 00:37:00,040 --> 00:37:04,040 O le das a navegación, página principal, curso de ejemplo. 355 00:37:06,040 --> 00:37:07,040 Y devuelve a la página de inicio. 356 00:37:08,040 --> 00:37:09,040 ¿Cómo se ve un foro? 357 00:37:16,040 --> 00:37:18,040 Espérate, que me voy al foro de ejemplo de verdad. 358 00:37:25,040 --> 00:37:26,040 Bueno. 359 00:37:28,040 --> 00:37:29,040 ¿Qué me ha pillado? 360 00:37:30,040 --> 00:37:31,040 Bueno, se ve bien, ¿eh? 361 00:37:45,040 --> 00:37:47,040 ¿Veis los mensajes estos de continuación? 362 00:37:48,040 --> 00:37:51,040 ¿Veis los temas, el número de respuestas en un circulito? 363 00:37:51,040 --> 00:37:52,040 Y si le das... 364 00:37:53,040 --> 00:37:54,040 Te despliega el tema. 365 00:37:56,040 --> 00:37:59,040 ¿Veis que adapta muy bien Moodle a lo que es la apariencia de un móvil? 366 00:38:00,040 --> 00:38:01,040 Está muy, muy trabajado. 367 00:38:04,040 --> 00:38:07,040 La verdad que el que lo ha hecho se lo ha currado bastante el hombre. 368 00:38:08,040 --> 00:38:11,040 Porque yo iba mirando el código y tenía que ir página por página trabajándola. 369 00:38:12,040 --> 00:38:15,040 Y todavía lo están mejorando además, ¿eh? 370 00:38:16,040 --> 00:38:17,040 Por ejemplo. 371 00:38:21,040 --> 00:38:22,040 El glosario. 372 00:38:25,040 --> 00:38:27,040 Bueno, esta, por ejemplo, no está muy bien del todo, ¿eh? 373 00:38:29,040 --> 00:38:30,040 Bueno. 374 00:38:30,040 --> 00:38:32,040 ¿Veis un poco cómo es la navegación, no? 375 00:38:35,040 --> 00:38:36,040 Vamos a ver un recurso HTML. 376 00:38:48,040 --> 00:38:49,040 Y bueno. 377 00:38:49,040 --> 00:38:50,040 Un recurso HTML. 378 00:38:50,040 --> 00:38:53,040 Si tienes un MP3 te lo abre para reproducir o descargar. 379 00:38:54,040 --> 00:38:55,040 Y lo típico, como veis. 380 00:38:58,040 --> 00:39:02,040 Si intentáis comparar esta aplicación con el cliente nativo para móviles, diréis. 381 00:39:02,040 --> 00:39:04,040 Pues el cliente nativo para móviles no vale para nada. 382 00:39:04,040 --> 00:39:05,040 Pero es que no hay que compararlas. 383 00:39:06,040 --> 00:39:07,040 Es lo que os decía, son complementarias. 384 00:39:08,040 --> 00:39:13,040 El cliente nativo para móviles es para usar las funcionalidades de Moodle. 385 00:39:13,040 --> 00:39:15,040 Aprovechar las funcionalidades del móvil en Moodle. 386 00:39:16,040 --> 00:39:17,040 ¿Vale? 387 00:39:17,040 --> 00:39:18,040 O de Moodle en Móvil. 388 00:39:18,040 --> 00:39:19,040 Por decirlo de alguna forma, ¿no? 389 00:39:19,040 --> 00:39:22,040 Tener integrado tu herramienta en tu móvil. 390 00:39:22,040 --> 00:39:23,040 ¿Vale? 391 00:39:23,040 --> 00:39:29,040 Al igual que te integras tu correo, tus herramientas de Gmail, tu Facebook, tu Twitter o lo que sea del móvil. 392 00:39:29,040 --> 00:39:30,040 Esa es la aproximación. 393 00:39:31,040 --> 00:39:36,040 Esto lo que te permite es navegar de una forma muy cómoda por una instalación estándar de Moodle. 394 00:39:40,040 --> 00:39:41,040 ¿Qué desventajas tiene esto? 395 00:39:41,040 --> 00:39:42,040 Bueno. 396 00:39:43,040 --> 00:39:46,040 Ahora las veremos, las ventajas y los inconvenientes. 397 00:39:46,040 --> 00:39:51,040 Pero una de ellas es que, si os fijáis, no es muy personalizable gráficamente. 398 00:39:52,040 --> 00:39:53,040 Que tampoco tiene sentido que lo sea. 399 00:39:53,040 --> 00:39:59,040 Porque una aplicación para móvil no tiene que tener iconos 800x600 ni 300x200. 400 00:40:00,040 --> 00:40:02,040 Pero al menos los colores sí que podría tenerlos y demás. 401 00:40:02,040 --> 00:40:03,040 Pero bueno. 402 00:40:03,040 --> 00:40:05,040 Si os parece, vamos a ver las ventajas e inconvenientes. 403 00:40:17,040 --> 00:40:18,040 Vale. 404 00:40:28,040 --> 00:40:29,040 Bueno. 405 00:40:30,040 --> 00:40:31,040 ¿Pros y contras? 406 00:40:33,040 --> 00:40:34,040 Vale. 407 00:40:34,040 --> 00:40:37,040 Bueno, como veis, el formato de mi presentación, se nota que yo soy informático y demás, 408 00:40:37,040 --> 00:40:40,040 es muy cutre respecto al que ha hecho antes Laia, mi compañera, en el taller. 409 00:40:40,040 --> 00:40:43,040 Era súper bonito, estilizado, con efectos y demás. 410 00:40:44,040 --> 00:40:47,040 Yo voy a lo plano porque yo entiendo ASCII y poco más. 411 00:40:48,040 --> 00:40:51,040 Colores, conjunciones y demás se me escapan de mi esquema mental. 412 00:40:52,040 --> 00:40:53,040 Entonces, no llego. 413 00:40:54,040 --> 00:40:55,040 Así que yo he cogido esto. 414 00:40:55,040 --> 00:40:57,040 Y bastante defensa que me ha quedado. 415 00:40:57,040 --> 00:41:00,040 Que sería ponerlo en una fuente que no fuese la Sunshade. 416 00:41:01,040 --> 00:41:02,040 Bueno. 417 00:41:05,040 --> 00:41:07,040 Como veis, lo gráfico no es lo mío. 418 00:41:09,040 --> 00:41:10,040 ¿Pros y contras de la aplicación nativa? 419 00:41:10,040 --> 00:41:12,040 Usa las funcionalidades del móvil. 420 00:41:12,040 --> 00:41:15,040 Hacer fotos, grabar vídeos, un audio y vídeo. 421 00:41:16,040 --> 00:41:19,040 Se integra o se integrará con los sistemas de notificaciones propios del Moodle. 422 00:41:20,040 --> 00:41:23,040 Eventos del calendario, notificaciones de eventos, mensajerías, agregar contactos. 423 00:41:24,040 --> 00:41:25,040 Trabaja offline. 424 00:41:26,040 --> 00:41:30,040 Calificaciones, puntuar uno, ver recursos descargados, subir fotos y vídeos cuando se pasa online. 425 00:41:31,040 --> 00:41:32,040 ¿Vale? 426 00:41:32,040 --> 00:41:33,040 ¿Veis las ventajas? 427 00:41:33,040 --> 00:41:35,040 Y bueno, la finalidad que tiene la aplicación, que como os insisto, 428 00:41:35,040 --> 00:41:38,040 es para integrar en el uso habitual que se le da con el Moodle. 429 00:41:39,040 --> 00:41:40,040 ¿Contras? 430 00:41:40,040 --> 00:41:42,040 Tiene un conjunto muy limitado de funciones. 431 00:41:42,040 --> 00:41:44,040 Es decir, lo que se puede hacer. 432 00:41:44,040 --> 00:41:48,040 Lo que se puede hacer con la aplicación en Moodle, que se puede hacer muy poco, realmente. 433 00:41:48,040 --> 00:41:50,040 Porque no es la finalidad como os decía. 434 00:41:51,040 --> 00:41:52,040 No es traducida. 435 00:41:52,040 --> 00:41:53,040 Está en inglés. 436 00:41:54,040 --> 00:41:57,040 Y los cachondos todavía no han publicado el fichero de traducción de idioma. 437 00:41:57,040 --> 00:42:00,040 Hay una tarea en el tracker de Moodle que dice publicar el fichero de traducción. 438 00:42:01,040 --> 00:42:03,040 Publicarlo ya, hombre, que tampoco es tanto para traducir. 439 00:42:03,040 --> 00:42:04,040 Si tiene cuatro iconos. 440 00:42:05,040 --> 00:42:10,040 Otra cosa es que esté preparada la aplicación por debajo para usar ficheros de idioma, claro. 441 00:42:12,040 --> 00:42:14,040 No es personalizable gráficamente. 442 00:42:15,040 --> 00:42:16,040 A todo el mundo le va a ser igual. 443 00:42:16,040 --> 00:42:18,040 Con el color ese naranja, feote de Moodle. 444 00:42:19,040 --> 00:42:22,040 Y esa página así, que tampoco es muy bonito, pero bueno. 445 00:42:24,040 --> 00:42:26,040 La aplicación para iPhone es código cerrado. 446 00:42:26,040 --> 00:42:28,040 Es decir, no si alguien se la quisiese modificar. 447 00:42:29,040 --> 00:42:31,040 Y depende de las versiones Head de Moodle. 448 00:42:32,040 --> 00:42:33,040 ¿Qué significa esto? 449 00:42:33,040 --> 00:42:43,040 Que si queréis utilizar funcionalidades de la versión del móvil avanzadas. 450 00:42:43,040 --> 00:42:47,040 Tendréis que evolucionar a la vez que evoluciona la versión del móvil. 451 00:42:47,040 --> 00:42:51,040 Es decir, si con la 2.3 sale la integración con el calendario. 452 00:42:51,040 --> 00:42:54,040 Tendréis que actualizar vuestra instalación de Moodle a 2.3. 453 00:42:56,040 --> 00:42:57,040 ¿Vale? 454 00:42:57,040 --> 00:43:00,040 Como veis eso es un inconveniente un poquito, bastante grande. 455 00:43:01,040 --> 00:43:03,040 A no ser que alguien haga Backport. 456 00:43:03,040 --> 00:43:08,040 Que Backport significa pasar funcionalidades de una versión nueva a una versión más antigua. 457 00:43:09,040 --> 00:43:11,040 Y se puede hacer, pero no está muy por el amor. 458 00:43:11,040 --> 00:43:12,040 Ya os lo digo yo. 459 00:43:15,040 --> 00:43:16,040 Tema gráfico. 460 00:43:17,040 --> 00:43:18,040 Se puede adaptar estéticamente. 461 00:43:18,040 --> 00:43:23,040 Podéis cogerlo, duplicarlo, cambiarle la CSS y ponerle logotipos o lo que os dé la gana. 462 00:43:24,040 --> 00:43:25,040 Se adapta al idioma. 463 00:43:25,040 --> 00:43:27,040 Como comprenderéis es un Moodle estándar. 464 00:43:28,040 --> 00:43:30,040 Las cadenas de idioma te salen en el idioma que están. 465 00:43:31,040 --> 00:43:33,040 Te permite navegar por toda la plataforma. 466 00:43:36,040 --> 00:43:38,040 Esto es una característica, no tanto una ventaja. 467 00:43:40,040 --> 00:43:43,040 Prácticamente te permite usar todas las funcionalidades que soporte el navegador. 468 00:43:43,040 --> 00:43:46,040 Y vale para cualquier dispositivo soportado por el Hotawari Mobile. 469 00:43:46,040 --> 00:43:49,040 Que es prácticamente cualquier móvil que no sea un Alcatel. 470 00:43:49,040 --> 00:43:51,040 De estos antiguos o un tal. 471 00:43:51,040 --> 00:43:52,040 Pues te vale. 472 00:43:53,040 --> 00:43:55,040 Con todo mi respeto a Alcatel. 473 00:43:56,040 --> 00:43:58,040 Tengo un familiar que trabaja ahí. 474 00:44:00,040 --> 00:44:01,040 Contras. 475 00:44:02,040 --> 00:44:03,040 No funciona offline. 476 00:44:04,040 --> 00:44:06,040 No todas las funcionalidades de Moodle van a funcionar. 477 00:44:06,040 --> 00:44:08,040 El Filepicker seguramente nos funcione a muchos. 478 00:44:08,040 --> 00:44:10,040 O sea, el sistema para subir archivos. 479 00:44:13,040 --> 00:44:16,040 Y no se integra con las funcionalidades del móvil. 480 00:44:16,040 --> 00:44:19,040 Es decir, no podéis hacer acciones del móvil y encadenarlas con Moodle. 481 00:44:19,040 --> 00:44:22,040 Es decir, no podéis hacer una foto y otra manera de subirla a Moodle. 482 00:44:22,040 --> 00:44:25,040 A no ser que, como el Filepicker en casi todos los sitios no funcionará. 483 00:44:25,040 --> 00:44:27,040 Pues nos permite hacer esto. 484 00:44:34,040 --> 00:44:35,040 Bueno. 485 00:44:35,040 --> 00:44:36,040 Ahora hay más. 486 00:44:36,040 --> 00:44:37,040 Gracias por asistir. 487 00:44:37,040 --> 00:44:40,040 Y ahora entramos a más nivel. 488 00:44:41,040 --> 00:44:42,040 Entonces. 489 00:44:44,040 --> 00:44:47,040 Ahora os quería hacer otra encuesta. 490 00:44:47,040 --> 00:44:49,040 Y un turno de ruegos y preguntas. 491 00:44:50,040 --> 00:44:51,040 ¿Vale? 492 00:44:51,040 --> 00:44:52,040 Mi encuesta sería. 493 00:44:53,040 --> 00:44:56,040 ¿Alguien de aquí, en plan universidad, institución o lo que sea. 494 00:44:56,040 --> 00:45:02,040 ¿Se plantearía hacer una versión personalizada de una aplicación para móviles para ellos? 495 00:45:02,040 --> 00:45:05,040 Cuando digo personalizada, ¿significa estéticamente y todo eso? 496 00:45:05,040 --> 00:45:06,040 ¿Levantáis la mano? 497 00:45:07,040 --> 00:45:08,040 Ostras. 498 00:45:08,040 --> 00:45:09,040 Valientes, ¿eh? 499 00:45:11,040 --> 00:45:12,040 Bueno, es lo que piden, es verdad. 500 00:45:12,040 --> 00:45:13,040 También es verdad, ¿no? 501 00:45:13,040 --> 00:45:14,040 Es lo que piden. 502 00:45:14,040 --> 00:45:15,040 Que lo tengas adaptado y que tal. 503 00:45:16,040 --> 00:45:17,040 Bueno, también si os ponéis a comparar. 504 00:45:17,040 --> 00:45:21,040 La universidad de no sé quién tiene su propia aplicación para móviles. 505 00:45:21,040 --> 00:45:23,040 Nosotros no vamos a ser menos, ¿no? 506 00:45:23,040 --> 00:45:25,040 Hay que hacerlo y demás. 507 00:45:27,040 --> 00:45:30,040 Sí, Blackboard tiene también un producto que es. 508 00:45:34,040 --> 00:45:35,040 Sí, exactamente. 509 00:45:36,040 --> 00:45:37,040 Exactamente. 510 00:45:37,040 --> 00:45:38,040 Vale, entonces. 511 00:45:40,040 --> 00:45:42,040 ¿Tenéis alguna pregunta, duda y demás? 512 00:45:45,040 --> 00:45:46,040 ¿Ha quedado todo claro? 513 00:45:47,040 --> 00:45:48,040 No. 514 00:45:52,040 --> 00:45:54,040 No, no los carga en absoluto. 515 00:45:54,040 --> 00:45:55,040 Y no debería. 516 00:45:55,040 --> 00:45:56,040 Bueno, a ver. 517 00:45:56,040 --> 00:45:57,040 He hablado demasiado rápido. 518 00:45:57,040 --> 00:45:58,040 Esperad. 519 00:45:58,040 --> 00:45:59,040 Rectifico. 520 00:46:00,040 --> 00:46:01,040 2.1 no carga demasiado. 521 00:46:03,040 --> 00:46:05,040 La aplicación funciona técnicamente por web services. 522 00:46:07,040 --> 00:46:08,040 Son pocas peticiones, en realidad. 523 00:46:09,040 --> 00:46:11,040 Y la aplicación para móviles también usa una cache interna. 524 00:46:11,040 --> 00:46:15,040 Es decir, si te ha hecho una aplicación a un web service para obtener el listado de cursos. 525 00:46:15,040 --> 00:46:17,040 Esa petición la cachea y no la va a volver a hacer. 526 00:46:17,040 --> 00:46:20,040 Porque, joder, a no ser que te hayas matriculado en ese mismo momento. 527 00:46:21,040 --> 00:46:24,040 Pues tienes cierto margen. 528 00:46:25,040 --> 00:46:26,040 ¿Vale? 529 00:46:26,040 --> 00:46:31,040 La versión para 2.2, el web service que te saca la estructura y los contenidos de un curso. 530 00:46:32,040 --> 00:46:35,040 Hay un bug reportado por mí, creo. 531 00:46:35,040 --> 00:46:38,040 Bueno, o se lo comenté al desarrollador así en petit comité. 532 00:46:38,040 --> 00:46:41,040 Ya lo hago público, o sea que tampoco es que sea muy petit comité. 533 00:46:42,040 --> 00:46:44,040 Que si el curso tiene muchos recursos, tarda un infierno. 534 00:46:45,040 --> 00:46:51,040 Es decir, si alguien con la aplicación para móviles intenta ver la estructura del Moodle Features 535 00:46:51,040 --> 00:46:53,040 o algún curso de estos que tiene 20 secciones de tema, 536 00:46:54,040 --> 00:46:55,040 tarda una bestialidad. 537 00:46:56,040 --> 00:46:58,040 Pero creo por algún bug de rendimiento. 538 00:46:58,040 --> 00:47:01,040 Porque hay algo mal que les está fallando. 539 00:47:01,040 --> 00:47:05,040 Cuando recorren todas las actividades y sacan los contenidos, falla. 540 00:47:06,040 --> 00:47:08,040 Entonces, algo pasa por ahí. 541 00:47:09,040 --> 00:47:11,040 Pero bueno, en principio no cargaría. 542 00:47:11,040 --> 00:47:13,040 No tendría un efecto práctico. 543 00:47:14,040 --> 00:47:15,040 No se notaría. 544 00:47:16,040 --> 00:47:18,040 Bueno, espera, que le hagan el micrófono ahora. 545 00:47:20,040 --> 00:47:25,040 Lo que quería preguntar, no has puesto en contraste del tema gráfico. 546 00:47:25,040 --> 00:47:30,040 Lo que entiendo que también para el móvil tiene una sobrecarga de datos. 547 00:47:30,040 --> 00:47:36,040 Porque entiendo que el móvil se tendrá que traer todos los scripts, CSS, etc. 548 00:47:36,040 --> 00:47:38,040 Y luego procesarlo, lo que sea. 549 00:47:38,040 --> 00:47:39,040 Tiene toda la razón. 550 00:47:39,040 --> 00:47:44,040 A efectos de consumo de ancho de banda, tanto ancho de banda como procesamiento, 551 00:47:45,040 --> 00:47:48,040 el tema gráfico consume recursos a dos niveles. 552 00:47:49,040 --> 00:47:52,040 Ancho de banda, de que tiene que descargar toda la página de Moodle entera. 553 00:47:53,040 --> 00:47:56,040 Y si hay planes de datos, una página de Moodle puede ocupar medio mega 554 00:47:56,040 --> 00:47:59,040 y en función de la velocidad puede ser la experiencia lento. 555 00:47:59,040 --> 00:48:01,040 Tiene toda la razón, es un punto que no consideré. 556 00:48:01,040 --> 00:48:03,040 También yo hice pruebas con Wi-Fi, no se nota tanto. 557 00:48:04,040 --> 00:48:05,040 Pero con planes de datos sí que se notaría. 558 00:48:06,040 --> 00:48:17,040 Además, tener en cuenta que como la página se renderiza en el navegador 559 00:48:17,040 --> 00:48:21,040 del dispositivo móvil y los dispositivos móviles no tienen procesadores muy potentes 560 00:48:21,040 --> 00:48:24,040 o muy afinados, o no son todo lo creasable posible, 561 00:48:24,040 --> 00:48:29,040 el efecto de carga o inicialización de la página en el móvil no es nada fluido. 562 00:48:30,040 --> 00:48:33,040 No es tan fluido como lo habéis visto aquí porque esto es un ordenador 563 00:48:33,040 --> 00:48:35,040 con un navegador avanzado. 564 00:48:36,040 --> 00:48:41,040 Es decir, puede haber un efecto de ralentización en las transiciones 565 00:48:41,040 --> 00:48:44,040 o en las cargas de los elementos de la página y de lentitud 566 00:48:44,040 --> 00:48:47,040 de que si pulsas un botón, la respuesta. 567 00:48:48,040 --> 00:48:54,040 La otra pregunta que te quería hacer es sobre hacer una aplicación nativa para IOS. 568 00:48:55,040 --> 00:49:00,040 Has comentado que está cerrada, parece que es por el tema de licencia del Market, 569 00:49:00,040 --> 00:49:06,040 donde sabemos que pone muchas restricciones la gente de Apple para publicar aplicaciones. 570 00:49:07,040 --> 00:49:11,040 Y lo que te quería preguntar, a ver si alguien conoce si hay algún proyecto similar, 571 00:49:12,040 --> 00:49:13,040 pero que sea modificable. 572 00:49:14,040 --> 00:49:18,040 Entiendo que tendríamos que tener un Market propio o algo paralelo al de Apple 573 00:49:18,040 --> 00:49:20,040 porque no podría ser en el suyo. 574 00:49:20,040 --> 00:49:22,040 Es lo que os iba a presentar ahora, que es un proyecto que estoy trabajando yo. 575 00:49:23,040 --> 00:49:24,040 Pero quería hacer precisamente... 576 00:49:24,040 --> 00:49:25,040 Usted no estaba preparado, ¿eh? 577 00:49:28,040 --> 00:49:29,040 Qué rapidez. 578 00:49:31,040 --> 00:49:37,040 Sí, una preguntilla referente al tema de la autenticación con este tipo de aplicaciones. 579 00:49:37,040 --> 00:49:43,040 Si tienes un sistema de single sign-on en tu infraestructura, 580 00:49:43,040 --> 00:49:45,040 ¿funciona bien, no funciona bien? 581 00:49:45,040 --> 00:49:46,040 ¿Están pensados? 582 00:49:46,040 --> 00:49:47,040 ¿Es fácil? 583 00:49:47,040 --> 00:49:48,040 ¿Se puede adaptar, no se puede adaptar? 584 00:49:48,040 --> 00:49:52,040 Pero, aunque tengas single sign-on, ¿tú permites acceso directo a tu instalación de Moodle? 585 00:49:54,040 --> 00:49:57,040 En nuestro caso, es que tenemos dos accesos. 586 00:49:57,040 --> 00:50:03,040 Uno que es, o sea, en la entrada, como tenemos usuarios que van por single sign-on o no, 587 00:50:04,040 --> 00:50:06,040 hacemos como una dimisión. 588 00:50:06,040 --> 00:50:08,040 ¿Pero los usuarios que acceden por single sign-on, eventualmente, 589 00:50:08,040 --> 00:50:10,040 podrían acceder poniendo sus credenciales en Moodle? 590 00:50:10,040 --> 00:50:11,040 No. 591 00:50:11,040 --> 00:50:12,040 No. 592 00:50:12,040 --> 00:50:13,040 Entonces, mal. 593 00:50:14,040 --> 00:50:18,040 Tendrías que, claro, porque ya de inicio te pide que te tengas que identificar, 594 00:50:18,040 --> 00:50:20,040 a no ser que hagas tú una lanzadera previa. 595 00:50:21,040 --> 00:50:23,040 La lanzadera la podrías hacer para el tema gráfico, para móvil, 596 00:50:24,040 --> 00:50:26,040 no tanto para la aplicación nativa. 597 00:50:27,040 --> 00:50:28,040 ¿Vale? 598 00:50:29,040 --> 00:50:30,040 Hay un fallo. 599 00:50:30,040 --> 00:50:32,040 Si usáis CAS, ¿alguien usa CAS aquí? 600 00:50:33,040 --> 00:50:34,040 Sí. 601 00:50:34,040 --> 00:50:36,040 Con la aplicación para móviles. 602 00:50:36,040 --> 00:50:38,040 Pero creo que ya le han corregido la versión 2.2, ¿eh? 603 00:50:41,040 --> 00:50:44,040 No sé qué exactamente daba el problema al poner las credenciales en solo y contra señal y demás. 604 00:50:45,040 --> 00:50:48,040 En cualquier caso, vuestra única solución sería, de alguna forma, 605 00:50:49,040 --> 00:50:51,040 que permitieses también acceso directo sin single sign-on. 606 00:50:52,040 --> 00:50:54,040 Usando las mismas credenciales que usan para single sign-on o lo que sea. 607 00:50:55,040 --> 00:50:58,040 Ya sé que sería una puñeta porque tendríais que estar sincronizando passwords, usuarios, 608 00:50:59,040 --> 00:51:00,040 o tendríais una casuística. 609 00:51:00,040 --> 00:51:02,040 A lo mejor el usuario es rarísimo o lo que sea, compleja, 610 00:51:03,040 --> 00:51:07,040 pero tendríais que adaptaros a esa finalidad. 611 00:51:08,040 --> 00:51:09,040 Vale. Una cosilla más. 612 00:51:10,040 --> 00:51:17,040 Han mostrado como una especie de roadmap de las nuevas funcionalidades de la aplicación móvil. 613 00:51:18,040 --> 00:51:19,040 ¿Dónde está eso? 614 00:51:19,040 --> 00:51:21,040 Que no lo encuentro, lo estoy buscando por ahí. 615 00:51:21,040 --> 00:51:23,040 Eso en la aplicación, en el... 616 00:51:23,040 --> 00:51:24,040 La wiki de... 617 00:51:24,040 --> 00:51:27,040 A ver, yo muchas me las sé porque ya hablo directamente con Jeromí, 618 00:51:27,040 --> 00:51:28,040 que es uno de los que la hacen, ¿eh? 619 00:51:29,040 --> 00:51:30,040 Pero creo que en el wiki están. 620 00:51:31,040 --> 00:51:32,040 Que no lo he encontrado. 621 00:51:33,040 --> 00:51:35,040 No está aquí, en dev-mobile-app, no está el... 622 00:51:36,040 --> 00:51:37,040 Vamos, no lo he visto. 623 00:51:42,040 --> 00:51:44,040 Bueno, tenéis esto de future versions, pero creo que no hablan todo. 624 00:51:45,040 --> 00:51:50,040 Sí, mira, aquí tenéis calificaciones, mensajes, notificaciones, 625 00:51:50,040 --> 00:51:53,040 calendario, sí. 626 00:51:54,040 --> 00:51:55,040 Las tenéis aquí, ¿vale? 627 00:51:56,040 --> 00:51:59,040 Es en el wiki de desarrolladores, no en el de documentación. 628 00:52:00,040 --> 00:52:01,040 No sé si ves la dirección bien. 629 00:52:02,040 --> 00:52:03,040 Vale, vale. 630 00:52:03,040 --> 00:52:04,040 ¿Vale? 631 00:52:04,040 --> 00:52:05,040 Gracias. 632 00:52:05,040 --> 00:52:06,040 Docs, Moodle, tal, tal, tal. 633 00:52:07,040 --> 00:52:09,040 Bueno, de todas formas, en Moodle no hay secretismo. 634 00:52:09,040 --> 00:52:10,040 Sabéis que todo es muy abierto. 635 00:52:11,040 --> 00:52:16,040 O sea que, si tenéis cualquier duda, os podéis ir al foro de Mobile, Moodle, y preguntar. 636 00:52:17,040 --> 00:52:21,040 Y en el tracker de Moodle, el tracker de Moodle es donde se registran las incidencias y características, 637 00:52:22,040 --> 00:52:27,040 también están un listado de funcionalidades pendientes de ser y para cuándo están planificadas. 638 00:52:28,040 --> 00:52:29,040 Entonces hay muchas que están muy bien. 639 00:52:31,040 --> 00:52:32,040 ¿Alguien tiene más dudas? 640 00:52:33,040 --> 00:52:34,040 ¿Y preguntas? 641 00:52:35,040 --> 00:52:36,040 ¿Dudas? 642 00:52:37,040 --> 00:52:38,040 ¿Comentarios? 643 00:52:39,040 --> 00:52:40,040 Vale. 644 00:52:41,040 --> 00:52:45,040 Bueno, pues entonces, en esta media hora más o menos que falta, 645 00:52:46,040 --> 00:52:51,040 lo que voy a hacer es presentaros un proyecto en el que he estado trabajando, 646 00:52:55,040 --> 00:53:00,040 que creo que es interesante para todos aquellos que quieren hacer la personalización de su aplicación móvil, 647 00:53:01,040 --> 00:53:06,040 y que básicamente consiste en un clon de la aplicación oficial para móviles de Moodle, 648 00:53:07,040 --> 00:53:10,040 pero desarrollada con tecnologías web de tal forma que es multiplataforma. 649 00:53:10,040 --> 00:53:19,040 O sea, que funciona en iPhone, en iOS, en el sistema operativo de Apple, funciona en BlackBerry, 650 00:53:20,040 --> 00:53:21,040 y también debería funcionar en Android. 651 00:53:22,040 --> 00:53:24,040 De hecho, funciona en Android porque ahora tengo instalada mi móvil y me funciona. 652 00:53:25,040 --> 00:53:26,040 O sea, que funciona bien. 653 00:53:27,040 --> 00:53:35,040 Entonces, os voy a presentar esta aplicación que la publiqué ayer en el Common Country, 654 00:53:35,040 --> 00:53:36,040 en el listado de Moodle. 655 00:53:37,040 --> 00:53:42,040 Previamente ya había anunciado por Twitter, un poquito para crear expectativas y en plan animador, 656 00:53:43,040 --> 00:53:46,040 que estaba trabajando en ello, y ya en el foro de móviles había cierta discusión. 657 00:53:47,040 --> 00:53:53,040 Y si os parece, ahora os la voy a presentar, la aplicación para móviles y un poco cuál es su finalidad y demás. 658 00:53:54,040 --> 00:53:55,040 ¿Vale? 659 00:53:56,040 --> 00:54:03,040 Os enseñaré a capturar desde pantalla porque en mi netbook me dejó de funcionar 660 00:54:03,040 --> 00:54:07,040 por un problema que tengo de versiones con el Chrome, que se me actualizó sola. 661 00:54:08,040 --> 00:54:12,040 Y el emulador que uso funciona bajo Chrome, entonces sin emulador no os lo puedo enseñar. 662 00:54:13,040 --> 00:54:14,040 ¿Vale? 663 00:54:15,040 --> 00:54:18,040 Pero tengo las capturas de pantalla que publiqué en los foros y entonces por ahí podemos tirar. 664 00:54:19,040 --> 00:54:20,040 ¿Vale? 665 00:54:21,040 --> 00:54:28,040 Entonces, cargo la página del wiki de esta aplicación y os la enseño. 666 00:54:34,040 --> 00:54:37,040 Y os cuento un poco el rollo de que va la cosa. 667 00:54:49,040 --> 00:54:52,040 Está en inglés, mi cutre inglés, pero bueno. 668 00:54:54,040 --> 00:54:56,040 Como veis el nombre es súper original. 669 00:54:57,040 --> 00:55:00,040 Es una aplicación oficial para móviles para Moodle. 670 00:55:01,040 --> 00:55:02,040 ¿Vale? 671 00:55:03,040 --> 00:55:05,040 ¿Cuál es el objetivo de esta aplicación? 672 00:55:06,040 --> 00:55:12,040 A ver, lo primero, esta aplicación no es un reemplazo, no es una mejora ni una sustitución de las aplicaciones nativas 673 00:55:13,040 --> 00:55:16,040 que saldrán para iPhone y para Android, ¿no? 674 00:55:17,040 --> 00:55:28,040 Sino que de alguna forma está diseñada y la he desarrollado para que cualquier institución 675 00:55:28,040 --> 00:55:33,040 con los recursos que actualmente tiene y conocimientos de tecnologías, HTML5, CSS3, 676 00:55:34,040 --> 00:55:38,040 bueno, a lo mejor no todos dominan esas tecnologías, pero bueno, son accesibles, 677 00:55:39,040 --> 00:55:45,040 puedan desarrollar sus propias versiones de la aplicación personalizadas a sus necesidades. 678 00:55:46,040 --> 00:55:47,040 ¿Vale? 679 00:55:49,040 --> 00:55:53,040 La aplicación funciona en Android, en BlackBerry. 680 00:55:53,040 --> 00:55:59,040 En iPhone no la he podido probar porque te requiere que te crees un certificado y un montón de historias, 681 00:56:00,040 --> 00:56:02,040 pero debería funcionar porque es un framework de trabajo. 682 00:56:03,040 --> 00:56:08,040 Y bueno, básicamente para que os hagáis una idea, esto ya es una parte más técnica, ¿vale? 683 00:56:09,040 --> 00:56:13,040 Estas son las tecnologías con las que ha sido desarrollada. 684 00:56:14,040 --> 00:56:15,040 ¿Vale? 685 00:56:16,040 --> 00:56:19,040 Básicamente es HTML5, CSS3 y Javascript. 686 00:56:21,040 --> 00:56:25,040 PhoneGap, que esto es el framework de alto nivel que lo que te permite es, 687 00:56:26,040 --> 00:56:29,040 con estas tecnologías, usar las funcionalidades del teléfono móvil. 688 00:56:30,040 --> 00:56:32,040 Es decir, que una aplicación hecha en Javascript y HTML puede usar la cámara, 689 00:56:33,040 --> 00:56:40,040 puede usar el audio, poder, bueno, en general, la agenda de contactos y todo lo que sea. 690 00:56:40,040 --> 00:56:42,040 Jotacuery y Jotacuery Mobile. 691 00:56:43,040 --> 00:56:45,040 ¿Sabéis que antes hemos hablado de Jotacuery Mobile? 692 00:56:46,040 --> 00:56:51,040 Bueno, pues para montar la parte del layout visual también usa Jotacuery Mobile. 693 00:56:52,040 --> 00:56:56,040 Jotacuery Mobile lo que hace es que tú generas un HTML estándar que son cinco líneas, 694 00:56:57,040 --> 00:57:00,040 ahora os enseñaré un trozo de código, y con esto lo que te permite es, 695 00:57:01,040 --> 00:57:07,040 de alguna forma, generar de una forma muy rápida aplicaciones que funcionan en todas estas plataformas. 696 00:57:08,040 --> 00:57:09,040 ¿Vale? 697 00:57:10,040 --> 00:57:13,040 Entonces, ¿qué es lo bueno de esta aplicación? 698 00:57:14,040 --> 00:57:18,040 Ahora os enseño unas pantallas para que veáis lo que tiene. 699 00:57:19,040 --> 00:57:22,040 Lo bueno es que no requiere que instales nada en tu Moodle, 700 00:57:23,040 --> 00:57:28,040 sino que como es un clon de la aplicación oficial funciona utilizando los mismos web service que la aplicación oficial, 701 00:57:29,040 --> 00:57:32,040 excepto que hay que habilitar algunos protocolos adicionales, 702 00:57:33,040 --> 00:57:38,040 porque mientras la aplicación oficial usa XMLRPC para el acceso a los web services, 703 00:57:38,040 --> 00:57:43,040 esta aplicación por simplicidad y por ser Javascript usa REST. 704 00:57:44,040 --> 00:57:47,040 Hay que hacer unos cambios de configuración de Moodle, 705 00:57:48,040 --> 00:57:52,040 pero que no tiene mayor implicación que el igual que cuatro cambios de configuración. 706 00:57:53,040 --> 00:57:54,040 ¿Vale? 707 00:57:55,040 --> 00:58:00,040 Entonces, os voy a enseñar unas capturas de pantalla de la aplicación, 708 00:58:01,040 --> 00:58:05,040 para que podáis ver su apariencia. 709 00:58:06,040 --> 00:58:09,040 No sé si más o menos se ven bastante bien. 710 00:58:10,040 --> 00:58:12,040 Si os fijáis, es que es un clon, 711 00:58:13,040 --> 00:58:17,040 solo que no quería usar los mismos iconos porque no sabía el licenciamiento que tenían, 712 00:58:18,040 --> 00:58:21,040 y me cogí estos que son más cutrongo, pero bueno, están bien. 713 00:58:22,040 --> 00:58:25,040 Entonces, si os fijáis, las funcionalidades son exactamente las mismas, 714 00:58:26,040 --> 00:58:30,040 solo que la aplicación oficial usa XMLRPC para el acceso a los web services, 715 00:58:30,040 --> 00:58:31,040 y bueno, están bien. 716 00:58:32,040 --> 00:58:35,040 Entonces, si os fijáis, las funcionalidades son exactamente las mismas, 717 00:58:36,040 --> 00:58:38,040 solo que incluso visualmente es muy parecido, 718 00:58:39,040 --> 00:58:43,040 si os acordáis de la aplicación para iPhone que tengo por aquí abierta. 719 00:58:45,040 --> 00:58:46,040 Esto no se puede... 720 00:58:52,040 --> 00:58:53,040 ¿Estaba aquí? Sí. 721 00:58:54,040 --> 00:58:56,040 Bueno, si os fijáis, esta es la... 722 00:59:11,040 --> 00:59:13,040 Bueno, veis las pantallas que son muy parecidas. 723 00:59:15,040 --> 00:59:17,040 Es porque no me quería complicar mucho la vida, la verdad, 724 00:59:18,040 --> 00:59:20,040 y para no pensar, y bueno, 725 00:59:20,040 --> 00:59:23,040 si os fijáis, básicamente está como respondería esta pantalla. 726 00:59:28,040 --> 00:59:30,040 Es que las pantallas son prácticamente iguales. 727 00:59:35,040 --> 00:59:37,040 Aquí hay más capturas de pantalla porque, 728 00:59:39,040 --> 00:59:43,040 como la aplicación está pensada para que sea fácilmente customizable, 729 00:59:44,040 --> 00:59:47,040 tiene algunas cuestiones adicionales que son un poco extrañas, 730 00:59:47,040 --> 00:59:51,040 tiene algunas cuestiones adicionales que son útiles para desarrolladores. 731 00:59:52,040 --> 00:59:54,040 Tienes un modo de depuración que te permite en todo momento 732 00:59:55,040 --> 00:59:57,040 tracear lo que estás haciendo usando una función del sistema, 733 00:59:58,040 --> 01:00:01,040 es como el console lock del Firefox o lo que sea, 734 01:00:02,040 --> 01:00:05,040 te permite deshabilitar las transiciones de página por temas de rendimiento, 735 01:00:06,040 --> 01:00:07,040 te permite purgar las cachés, 736 01:00:08,040 --> 01:00:09,040 o establecer tiempos de vida de cachés diferentes 737 01:00:10,040 --> 01:00:12,040 para que cuando estéis desarrollando, por ejemplo, no uséis cachés y demás. 738 01:00:13,040 --> 01:00:16,040 Además de eso, también, justo cuando salió la versión 2.2 739 01:00:17,040 --> 01:00:19,040 con todo el tema de Curso Contents, 740 01:00:20,040 --> 01:00:22,040 también yo añadiría la funcionalidad que te permite, 741 01:00:24,040 --> 01:00:27,040 como podéis ver aquí, navegar por los contenidos del curso 742 01:00:28,040 --> 01:00:29,040 y descargarlos. 743 01:00:30,040 --> 01:00:31,040 Ahora mismo, 744 01:00:34,040 --> 01:00:35,040 la aplicación, 745 01:00:37,040 --> 01:00:40,040 las funcionalidades que tiene son las mismas que la aplicación oficial para móviles. 746 01:00:41,040 --> 01:00:42,040 Y mi idea es mantenerla. 747 01:00:43,040 --> 01:00:45,040 Tiene una carencia, que es que en modo offline 748 01:00:46,040 --> 01:00:49,040 no tiene una descarga directa modo offline de todos los recursos, 749 01:00:51,040 --> 01:00:52,040 pero vamos, estoy trabajando en ello, 750 01:00:53,040 --> 01:00:54,040 de todas formas no es del todo importante, 751 01:00:55,040 --> 01:00:56,040 la aproximación se podría hacer de varias formas, 752 01:00:57,040 --> 01:01:01,040 pero por lo demás es una aplicación que es muy sencilla de adaptar por cualquiera. 753 01:01:04,040 --> 01:01:06,040 Os voy a explicar un poco la tecnología con la que está hecha, 754 01:01:07,040 --> 01:01:10,040 con lo que digo, está entrando una parte más tecnológica, 755 01:01:11,040 --> 01:01:16,040 para que quien quiera aventurarse a trabajar sobre ella, 756 01:01:17,040 --> 01:01:18,040 pues mira, se lance. 757 01:01:19,040 --> 01:01:20,040 Yo he encantado la vida de que alguien lo use, 758 01:01:21,040 --> 01:01:22,040 porque para eso lo he hecho, ¿no? 759 01:01:26,040 --> 01:01:27,040 Os voy a enseñar 760 01:01:29,040 --> 01:01:30,040 cómo funciona. 761 01:01:31,040 --> 01:01:32,040 Lo primero de todo, indicaros que, 762 01:01:33,040 --> 01:01:36,040 aunque si no os queréis complicar mucho la vida 763 01:01:37,040 --> 01:01:39,040 y darle mucho la vuelta a la aplicación, 764 01:01:40,040 --> 01:01:43,040 hay unas cosas que se pueden hacer de forma muy sencilla 765 01:01:44,040 --> 01:01:48,040 y que os permitirían tener la aplicación funcionando en cuestión de horas. 766 01:01:49,040 --> 01:01:50,040 Por ejemplo, 767 01:01:51,040 --> 01:01:55,040 cambiar el nombre y descripciones, editar un fichero XML, 768 01:01:56,040 --> 01:01:59,040 cambiar el icono y sustituir unos ficheros .icon 769 01:01:59,040 --> 01:02:02,040 que están en un paquete zip, 770 01:02:03,040 --> 01:02:05,040 cambiar la hoja de estilo y destocar el CSS, 771 01:02:06,040 --> 01:02:08,040 y con eso ya la tendríais personalizada, por ejemplo, 772 01:02:09,040 --> 01:02:13,040 visualmente o estéticamente con vuestra imagen. 773 01:02:14,040 --> 01:02:16,040 No tiene un soporte multidioma nativo, 774 01:02:17,040 --> 01:02:19,040 sino que las cadenas están puestas tal cual. 775 01:02:21,040 --> 01:02:24,040 Para lo bueno y para lo malo es un clon de la aplicación oficial, 776 01:02:25,040 --> 01:02:27,040 pero son pocas cadenas y están localizadas en los ficheros. 777 01:02:27,040 --> 01:02:29,040 Es decir, se podrían cambiar directamente los ficheros. 778 01:02:30,040 --> 01:02:33,040 Mi idea es usar Json para hacer ficheros idioma traducibles, 779 01:02:34,040 --> 01:02:36,040 siendo como un recurso que se usa, 780 01:02:37,040 --> 01:02:38,040 y eso es lo que voy a añadir. 781 01:02:39,040 --> 01:02:40,040 Seguramente estos días que tengo vacaciones, 782 01:02:41,040 --> 01:02:42,040 me pondría emocionante, 783 01:02:43,040 --> 01:02:44,040 si me pongo a hacer aquí tal, 784 01:02:45,040 --> 01:02:46,040 es como me lo paso bien, pues lo hago. 785 01:02:47,040 --> 01:02:48,040 Entonces, 786 01:02:49,040 --> 01:02:52,040 seguramente le añada todo el tema de la configuración de idioma, 787 01:02:53,040 --> 01:02:55,040 que es lo que más a la gente le interesaba inicialmente. 788 01:02:55,040 --> 01:02:56,040 ¿Vale? 789 01:02:57,040 --> 01:02:58,040 Entonces, solo con esto, 790 01:03:00,040 --> 01:03:03,040 ya podríais tener la aplicación funcionando para esos tres, 791 01:03:04,040 --> 01:03:06,040 para iPhone, para Android y para BlackBerry. 792 01:03:07,040 --> 01:03:08,040 Y ahora me diréis, 793 01:03:09,040 --> 01:03:11,040 ¿pero cómo yo genero una aplicación nativa con Connecto? 794 01:03:12,040 --> 01:03:13,040 Porque esto es código HTML y CSS. 795 01:03:14,040 --> 01:03:15,040 Bueno, pues, 796 01:03:16,040 --> 01:03:17,040 hay una empresa que se llama PhoneGap, 797 01:03:18,040 --> 01:03:19,040 que la han hecho muy bien, 798 01:03:20,040 --> 01:03:22,040 porque en pocos meses les compró Adobe, 799 01:03:23,040 --> 01:03:24,040 y esta empresa, 800 01:03:25,040 --> 01:03:26,040 lo que te permite 801 01:03:27,040 --> 01:03:28,040 es, mediante un servicio 802 01:03:30,040 --> 01:03:31,040 online, 803 01:03:34,040 --> 01:03:37,040 subir una aplicación en JavaScript, CSS, HTML 804 01:03:38,040 --> 01:03:39,040 y automáticamente te genera los binarios 805 01:03:40,040 --> 01:03:41,040 para Android, 806 01:03:42,040 --> 01:03:44,040 para iPhone y para BlackBerry. 807 01:03:47,040 --> 01:03:48,040 Es una máquina, 808 01:03:49,040 --> 01:03:50,040 es un servicio online 809 01:03:51,040 --> 01:03:52,040 y es una pasada, 810 01:03:52,040 --> 01:03:54,040 porque yo lo que hago es que tengo el código en GitHub, 811 01:03:55,040 --> 01:03:56,040 que es un repositorio de código. 812 01:03:57,040 --> 01:03:58,040 Si tú aquí le dices cuál es tu 813 01:03:59,040 --> 01:04:00,040 enlace de GitHub, 814 01:04:01,040 --> 01:04:02,040 él automáticamente 815 01:04:03,040 --> 01:04:04,040 se descarga de GitHub el código 816 01:04:05,040 --> 01:04:06,040 y te rehace 817 01:04:07,040 --> 01:04:08,040 la aplicación. 818 01:04:10,040 --> 01:04:11,040 Te permite además añadir los certificados 819 01:04:12,040 --> 01:04:13,040 para que la firmes y la distribuyas. 820 01:04:15,040 --> 01:04:16,040 ¿Vale? 821 01:04:17,040 --> 01:04:18,040 Si no queréis usar esto, 822 01:04:19,040 --> 01:04:20,040 siempre os podéis bajar los SDKs locales, 823 01:04:20,040 --> 01:04:21,040 los SDKs de Android y de iPhone, 824 01:04:22,040 --> 01:04:23,040 le instaláis un desarrollo de PhoneGap, 825 01:04:24,040 --> 01:04:25,040 que es un plugin, pero eso es el local, 826 01:04:26,040 --> 01:04:27,040 y compiláis nativamente. 827 01:04:28,040 --> 01:04:29,040 Pero yo no lo haría, 828 01:04:30,040 --> 01:04:31,040 porque si tienes un servicio online que es gratuito, 829 01:04:32,040 --> 01:04:33,040 para aplicaciones open source, 830 01:04:34,040 --> 01:04:35,040 si son cerradas es de pago, pero es barato. 831 01:04:36,040 --> 01:04:37,040 Aquí tenéis las tarifas. 832 01:04:39,040 --> 01:04:40,040 Oye, pues encantado de la vida. 833 01:04:42,040 --> 01:04:43,040 ¿Vale? 834 01:04:45,040 --> 01:04:46,040 Para que os hagáis una idea, 835 01:04:47,040 --> 01:04:48,040 yo la aplicación la he hecho en unas 40 o 60 horas. 836 01:04:49,040 --> 01:04:50,040 El clon. 837 01:04:51,040 --> 01:04:52,040 Ojo, cuento con ventaja. 838 01:04:53,040 --> 01:04:54,040 ¿Vale? 839 01:04:55,040 --> 01:04:56,040 Mi ventaja es que llevo trabajando con Moodle desde 2003, 840 01:04:57,040 --> 01:04:58,040 con los web service había trabajado ya muchísimo, 841 01:04:59,040 --> 01:05:00,040 y me los sé de memoria, 842 01:05:01,040 --> 01:05:02,040 o sea que no hay fallo ni error, 843 01:05:03,040 --> 01:05:04,040 o sea, no me detengo en error o fallo, 844 01:05:05,040 --> 01:05:06,040 porque lo conozco toda la herramienta, 845 01:05:07,040 --> 01:05:08,040 y HTML5, CSS3 y tal, tal, 846 01:05:09,040 --> 01:05:10,040 también he trabajado desde ya hace un año, 847 01:05:11,040 --> 01:05:12,040 aproximadamente. 848 01:05:13,040 --> 01:05:14,040 Entonces son todas tecnologías que yo conocía muy bien, 849 01:05:15,040 --> 01:05:16,040 que tenía muy depuradas, 850 01:05:16,040 --> 01:05:17,040 y lo que hice fue trabajo. 851 01:05:18,040 --> 01:05:19,040 Trabajo como a tiro hecho, por decirlo de alguna forma. 852 01:05:20,040 --> 01:05:21,040 ¿Vale? 853 01:05:22,040 --> 01:05:23,040 Prácticamente no me encontré. 854 01:05:24,040 --> 01:05:25,040 Si hubiese sido más horas no habría tenido tiempo, 855 01:05:26,040 --> 01:05:27,040 pero el tiempo libre es muy limitado, 856 01:05:28,040 --> 01:05:29,040 y en una semana hay poco más. 857 01:05:30,040 --> 01:05:31,040 ¿Vale? 858 01:05:32,040 --> 01:05:33,040 Entonces, 859 01:05:37,040 --> 01:05:38,040 el mantenimiento de esta aplicación, 860 01:05:39,040 --> 01:05:40,040 ya que tengo aquí a Jordi, 861 01:05:43,040 --> 01:05:44,040 le voy a decir, 862 01:05:44,040 --> 01:05:45,040 voy a proponer que lo mantenga CVA, 863 01:05:46,040 --> 01:05:47,040 Consulting, 864 01:05:48,040 --> 01:05:49,040 mantenimiento, 865 01:05:50,040 --> 01:05:51,040 que lo sponsorice bajo horas de la empresa, 866 01:05:52,040 --> 01:05:53,040 y aquí no habrá ningún problema, 867 01:05:54,040 --> 01:05:55,040 porque ya lo hemos comentado. 868 01:05:56,040 --> 01:05:57,040 Entonces, seguramente esta aplicación 869 01:05:58,040 --> 01:05:59,040 la mantendré en horas de la empresa, 870 01:06:00,040 --> 01:06:01,040 ¿vale? 871 01:06:02,040 --> 01:06:03,040 Como una contribución a Moodle, 872 01:06:04,040 --> 01:06:05,040 por parte de nuestros partners, 873 01:06:06,040 --> 01:06:07,040 o sea que de alguna forma tendrá recorrido, 874 01:06:08,040 --> 01:06:09,040 ¿vale? 875 01:06:10,040 --> 01:06:11,040 Tendrá ciertas garantías, 876 01:06:12,040 --> 01:06:13,040 es decir que no se va a quedar ahí en el tintero. 877 01:06:14,040 --> 01:06:15,040 Visto que es muy sencillo 878 01:06:16,040 --> 01:06:17,040 compilar aplicaciones nativos y demás, 879 01:06:18,040 --> 01:06:19,040 os voy a enseñar el código, 880 01:06:20,040 --> 01:06:21,040 a grandes rasgos, 881 01:06:22,040 --> 01:06:23,040 un poco para que veáis 882 01:06:24,040 --> 01:06:25,040 cómo está hecha la aplicación, 883 01:06:26,040 --> 01:06:27,040 y veáis que es muy sencillo. 884 01:06:28,040 --> 01:06:29,040 ¿Vale? 885 01:06:34,040 --> 01:06:35,040 Bueno, esto lo he hecho para Moodle, 886 01:06:36,040 --> 01:06:37,040 pero esta tecnología, 887 01:06:38,040 --> 01:06:39,040 el PhoneApps se puede usar para cualquier cosa, 888 01:06:40,040 --> 01:06:41,040 es decir, si queréis hacer una aplicación 889 01:06:42,040 --> 01:06:43,040 para móviles para la universidad, 890 01:06:44,040 --> 01:06:45,040 podéis hacerlo, 891 01:06:46,040 --> 01:06:47,040 es muy sencillo de hacer. 892 01:06:48,040 --> 01:06:49,040 Por eso la he comprado Adobe también, 893 01:06:50,040 --> 01:06:51,040 hay que entender las cosas, ¿no? 894 01:06:52,040 --> 01:06:53,040 Porque han visto yo un filo 895 01:06:54,040 --> 01:06:55,040 y han dicho, joder, esto es una maravilla. 896 01:06:57,040 --> 01:06:58,040 Entonces, esta es mi cuenta de GeekCat, 897 01:06:59,040 --> 01:07:00,040 aquí tenéis todas las contribuciones 898 01:07:01,040 --> 01:07:02,040 que he hecho 899 01:07:03,040 --> 01:07:04,040 para proyectos Open Source 900 01:07:05,040 --> 01:07:06,040 que mantengo, 901 01:07:07,040 --> 01:07:08,040 que son propios míos, 902 01:07:09,040 --> 01:07:10,040 ¿vale? 903 01:07:11,040 --> 01:07:12,040 Algunos a lo mejor lo conocéis. 904 01:07:12,040 --> 01:07:13,040 Este, que a lo mejor os suena poco, 905 01:07:15,040 --> 01:07:16,040 algo, configurable repos, 906 01:07:17,040 --> 01:07:18,040 ¿alguien lo usa? ¿alguien lo conoce? 907 01:07:19,040 --> 01:07:20,040 Éxito total, ¿no? 908 01:07:21,040 --> 01:07:22,040 Bueno, pues es el quinto plugin más descargado de Moodle, 909 01:07:23,040 --> 01:07:24,040 ¿vale? para que os hagáis una idea, 910 01:07:25,040 --> 01:07:26,040 porque es una herramienta de creación 911 01:07:27,040 --> 01:07:28,040 de informes personalizados en Moodle. 912 01:07:29,040 --> 01:07:30,040 ¿Vale? 913 01:07:31,040 --> 01:07:32,040 Los anglosajones lo usan más que aquí, 914 01:07:33,040 --> 01:07:34,040 no sé por qué, 915 01:07:35,040 --> 01:07:36,040 si lo he promocionado poco o lo que sea. 916 01:07:37,040 --> 01:07:38,040 ¿Vale? 917 01:07:38,040 --> 01:07:40,040 De hecho, en el foro de contrib hay un foro propio 918 01:07:41,040 --> 01:07:42,040 para este plugin. 919 01:07:43,040 --> 01:07:44,040 Entonces, lo mantengo, 920 01:07:45,040 --> 01:07:46,040 veréis que hay bastante actividad. 921 01:07:47,040 --> 01:07:48,040 Y, bueno, los demás, 922 01:07:49,040 --> 01:07:50,040 a lo mejor os suena alguno, 923 01:07:51,040 --> 01:07:52,040 pero bueno. 924 01:07:53,040 --> 01:07:54,040 Este es el GitHub. 925 01:07:59,040 --> 01:08:00,040 Y, bueno, 926 01:08:01,040 --> 01:08:02,040 os voy a enseñar un poco 927 01:08:03,040 --> 01:08:04,040 cómo es la estructura de una página. 928 01:08:04,040 --> 01:08:06,040 Hecha con PhoneGap y JQuery Mobile 929 01:08:07,040 --> 01:08:08,040 para que os hagáis una idea. 930 01:08:10,040 --> 01:08:11,040 Vamos a hablar al principio 931 01:08:12,040 --> 01:08:13,040 de la página de inicio, 932 01:08:14,040 --> 01:08:15,040 que es la página, 933 01:08:16,040 --> 01:08:17,040 esta se llama My Site. 934 01:08:18,040 --> 01:08:19,040 ¿Vale? 935 01:08:20,040 --> 01:08:21,040 Se ve bien, 936 01:08:22,040 --> 01:08:23,040 no hay problemas de indentación. 937 01:08:25,040 --> 01:08:26,040 Como veis es HTML estándar. 938 01:08:28,040 --> 01:08:29,040 ¿Vale? 939 01:08:30,040 --> 01:08:31,040 Y, bueno, 940 01:08:31,040 --> 01:08:32,040 como veis es HTML estándar. 941 01:08:35,040 --> 01:08:36,040 ¿Vale? 942 01:08:37,040 --> 01:08:38,040 Aquí se incluye una serie 943 01:08:39,040 --> 01:08:40,040 de bibliotecas Javascript, 944 01:08:41,040 --> 01:08:42,040 que básicamente es 945 01:08:43,040 --> 01:08:44,040 el PhoneGap, el JQuery, 946 01:08:45,040 --> 01:08:46,040 el JQuery Mobile 947 01:08:47,040 --> 01:08:48,040 y algunas que yo uso como herramientas auxiliares, 948 01:08:49,040 --> 01:08:50,040 que es un poco eso de 949 01:08:51,040 --> 01:08:52,040 xml, ajson, kifeyo, 950 01:08:53,040 --> 01:08:54,040 una herramienta de MD5 951 01:08:55,040 --> 01:08:56,040 y demás. 952 01:08:57,040 --> 01:08:58,040 Entonces, luego, 953 01:08:59,040 --> 01:09:00,040 el contenido de la página 954 01:09:02,040 --> 01:09:03,040 se muestra, 955 01:09:04,040 --> 01:09:05,040 se hace utilizando 956 01:09:06,040 --> 01:09:07,040 código HTML 957 01:09:08,040 --> 01:09:09,040 de JQuery Mobile. 958 01:09:10,040 --> 01:09:11,040 Esto que veis aquí, 959 01:09:12,040 --> 01:09:13,040 que os sonará raro, 960 01:09:14,040 --> 01:09:15,040 que se llama data role, 961 01:09:16,040 --> 01:09:17,040 es una cosa de HTML5, 962 01:09:18,040 --> 01:09:19,040 que es una especie de atributos 963 01:09:20,040 --> 01:09:21,040 que son como atributos personalizados 964 01:09:22,040 --> 01:09:23,040 que tú puedes utilizar 965 01:09:24,040 --> 01:09:25,040 para luego formatear 966 01:09:26,040 --> 01:09:27,040 código sin romper el 967 01:09:28,040 --> 01:09:29,040 xhtml estricto. 968 01:09:29,040 --> 01:09:30,040 Y JQuery Mobile se basa en eso 969 01:09:31,040 --> 01:09:32,040 para definir una página. 970 01:09:33,040 --> 01:09:34,040 Una página de JQuery Mobile 971 01:09:35,040 --> 01:09:36,040 se compone de 972 01:09:37,040 --> 01:09:38,040 una capa 973 01:09:39,040 --> 01:09:40,040 con este elemento 974 01:09:40,040 --> 01:09:41,040 que se llama page, 975 01:09:42,040 --> 01:09:43,040 la parte central se llama content 976 01:09:44,040 --> 01:09:45,040 y el pie 977 01:09:46,040 --> 01:09:47,040 se llama 978 01:09:48,040 --> 01:09:49,040 como lo veis aquí. 979 01:09:50,040 --> 01:09:51,040 Entonces, 980 01:09:51,040 --> 01:09:52,040 la anatomía de una página 981 01:09:52,040 --> 01:09:53,040 de este estilo 982 01:09:53,040 --> 01:09:54,040 siempre es muy similar. 983 01:09:55,040 --> 01:09:56,040 Tiene una cabecera, 984 01:09:57,040 --> 01:09:58,040 tiene un contenido 985 01:09:58,040 --> 01:09:59,040 y el pie opcionales. 986 01:10:00,040 --> 01:10:01,040 Entonces, 987 01:10:01,040 --> 01:10:02,040 el pie, 988 01:10:02,040 --> 01:10:03,040 si os fijáis, 989 01:10:03,040 --> 01:10:04,040 es muy sencillo de definir. 990 01:10:05,040 --> 01:10:06,040 Pie 991 01:10:06,040 --> 01:10:07,040 y luego 992 01:10:07,040 --> 01:10:08,040 tú pones enlaces 993 01:10:08,040 --> 01:10:09,040 y los enlaces automáticamente 994 01:10:09,040 --> 01:10:10,040 JQuery Mobile 995 01:10:10,040 --> 01:10:11,040 te los convierte 996 01:10:11,040 --> 01:10:12,040 en botones de móvil 997 01:10:13,040 --> 01:10:14,040 y te añade los efectos. 998 01:10:15,040 --> 01:10:16,040 Entonces, 999 01:10:16,040 --> 01:10:17,040 tú haces HTML estándar 1000 01:10:18,040 --> 01:10:19,040 y por debajo 1001 01:10:19,040 --> 01:10:20,040 todo lo auxiliar 1002 01:10:20,040 --> 01:10:21,040 te lo va transformando 1003 01:10:21,040 --> 01:10:22,040 en algo que se ve para móviles 1004 01:10:22,040 --> 01:10:23,040 de una forma muy interesante. 1005 01:10:24,040 --> 01:10:25,040 ¿Vale? 1006 01:10:25,040 --> 01:10:26,040 Entonces, 1007 01:10:26,040 --> 01:10:27,040 esa página 1008 01:10:28,040 --> 01:10:29,040 particularmente 1009 01:10:29,040 --> 01:10:30,040 tiene código muy feo 1010 01:10:30,040 --> 01:10:31,040 porque no conseguí hacerlo 1011 01:10:31,040 --> 01:10:32,040 de otra forma, 1012 01:10:32,040 --> 01:10:33,040 pero bueno, 1013 01:10:33,040 --> 01:10:34,040 por un bug de JQuery Mobile, 1014 01:10:34,040 --> 01:10:35,040 pero básicamente 1015 01:10:35,040 --> 01:10:36,040 esta página 1016 01:10:36,040 --> 01:10:37,040 es esta de aquí. 1017 01:10:45,040 --> 01:10:46,040 Esta es la página 1018 01:10:46,040 --> 01:10:47,040 que saca 1019 01:10:47,040 --> 01:10:48,040 estas cuatro cabeceras 1020 01:10:48,040 --> 01:10:49,040 y ahora os voy a enseñar 1021 01:10:49,040 --> 01:10:50,040 por ejemplo 1022 01:10:50,040 --> 01:10:51,040 la página de mis cursos. 1023 01:10:51,040 --> 01:10:52,040 ¿Vale? 1024 01:10:52,040 --> 01:10:53,040 Para que veáis 1025 01:10:53,040 --> 01:10:54,040 lo sencillo que es utilizarlo. 1026 01:10:59,040 --> 01:11:01,040 La persona participando. 1027 01:11:03,040 --> 01:11:04,040 Si os fijáis, 1028 01:11:06,040 --> 01:11:07,040 este es el código 1029 01:11:07,040 --> 01:11:08,040 más un Javascript 1030 01:11:08,040 --> 01:11:09,040 que se utiliza 1031 01:11:09,040 --> 01:11:10,040 para conseguir 1032 01:11:10,040 --> 01:11:11,040 la página 1033 01:11:11,040 --> 01:11:12,040 que te saca 1034 01:11:12,040 --> 01:11:13,040 por web service 1035 01:11:13,040 --> 01:11:14,040 el listado de tus cursos 1036 01:11:14,040 --> 01:11:15,040 y te los muestra. 1037 01:11:15,040 --> 01:11:16,040 Anatomía de la página. 1038 01:11:17,040 --> 01:11:18,040 Página, 1039 01:11:19,040 --> 01:11:20,040 cabecera, 1040 01:11:20,040 --> 01:11:21,040 contenido 1041 01:11:21,040 --> 01:11:22,040 y pie. 1042 01:11:22,040 --> 01:11:23,040 Bueno, 1043 01:11:23,040 --> 01:11:24,040 esta página 1044 01:11:24,040 --> 01:11:25,040 no tiene pie, 1045 01:11:25,040 --> 01:11:26,040 como veis. 1046 01:11:26,040 --> 01:11:27,040 Cabecera. 1047 01:11:27,040 --> 01:11:28,040 Veis que la cabecera 1048 01:11:28,040 --> 01:11:29,040 básicamente es un H1 1049 01:11:31,040 --> 01:11:32,040 y un enlace 1050 01:11:32,040 --> 01:11:33,040 que tiene 1051 01:11:33,040 --> 01:11:34,040 una indicación 1052 01:11:34,040 --> 01:11:35,040 de que el icono 1053 01:11:35,040 --> 01:11:36,040 es un icono 1054 01:11:36,040 --> 01:11:37,040 de volver atrás. 1055 01:11:38,040 --> 01:11:39,040 Con este etiquetado 1056 01:11:39,040 --> 01:11:40,040 automáticamente 1057 01:11:40,040 --> 01:11:41,040 la aplicación 1058 01:11:41,040 --> 01:11:42,040 te saca 1059 01:11:42,040 --> 01:11:43,040 este aspecto 1060 01:11:43,040 --> 01:11:44,040 de página. 1061 01:11:44,040 --> 01:11:45,040 Veis que es 1062 01:11:45,040 --> 01:11:46,040 etiquetado mínimo 1063 01:11:46,040 --> 01:11:47,040 y sin complicarte 1064 01:11:47,040 --> 01:11:48,040 en estilos, 1065 01:11:48,040 --> 01:11:49,040 ni historias, 1066 01:11:49,040 --> 01:11:50,040 ni demás. 1067 01:11:50,040 --> 01:11:51,040 Entonces, 1068 01:11:51,040 --> 01:11:52,040 la parte central 1069 01:11:52,040 --> 01:11:53,040 veis que es un ul, 1070 01:11:53,040 --> 01:11:54,040 que esto es una lista 1071 01:11:54,040 --> 01:11:55,040 en HTML 1072 01:11:55,040 --> 01:11:56,040 que inicialmente 1073 01:11:56,040 --> 01:11:57,040 esta la hacía. 1074 01:11:57,040 --> 01:11:58,040 ¿Por qué? 1075 01:11:58,040 --> 01:11:59,040 Porque yo, 1076 01:11:59,040 --> 01:12:00,040 por Javascript, 1077 01:12:00,040 --> 01:12:01,040 cargo 1078 01:12:01,040 --> 01:12:02,040 dinámicamente 1079 01:12:02,040 --> 01:12:03,040 y cargo la página. 1080 01:12:03,040 --> 01:12:04,040 Os voy a enseñar 1081 01:12:04,040 --> 01:12:05,040 el código Javascript 1082 01:12:05,040 --> 01:12:06,040 que veréis 1083 01:12:06,040 --> 01:12:07,040 que es mínimo. 1084 01:12:07,040 --> 01:12:08,040 Tened en cuenta 1085 01:12:08,040 --> 01:12:09,040 que como yo esto lo he diseñado 1086 01:12:09,040 --> 01:12:10,040 como un framework 1087 01:12:10,040 --> 01:12:11,040 para que sea muy fácilmente 1088 01:12:11,040 --> 01:12:12,040 ampliable, 1089 01:12:12,040 --> 01:12:13,040 las llamadas 1090 01:12:13,040 --> 01:12:14,040 a web services 1091 01:12:14,040 --> 01:12:15,040 se hacen con una línea 1092 01:12:15,040 --> 01:12:16,040 de código 1093 01:12:16,040 --> 01:12:17,040 y recibís el retorno 1094 01:12:17,040 --> 01:12:18,040 de todos los datos, 1095 01:12:18,040 --> 01:12:19,040 la gestión de errores 1096 01:12:19,040 --> 01:12:20,040 y todo eso ya me encargo 1097 01:12:20,040 --> 01:12:21,040 y toda la parte fea 1098 01:12:21,040 --> 01:12:22,040 ya está hecha. 1099 01:12:22,040 --> 01:12:23,040 Es decir, 1100 01:12:23,040 --> 01:12:24,040 si queréis llamar un web service 1101 01:12:24,040 --> 01:12:25,040 es una línea de código. 1102 01:12:25,040 --> 01:12:26,040 Es una función 1103 01:12:26,040 --> 01:12:27,040 que maneja la respuesta. 1104 01:12:27,040 --> 01:12:28,040 La respuesta viene en Json. 1105 01:12:28,040 --> 01:12:29,040 No hay XML, 1106 01:12:29,040 --> 01:12:30,040 es Json. 1107 01:12:30,040 --> 01:12:31,040 Está todo convertido. 1108 01:12:31,040 --> 01:12:32,040 ¿Vale? 1109 01:12:32,040 --> 01:12:33,040 Es como todo alto nivel 1110 01:12:33,040 --> 01:12:34,040 para que 1111 01:12:34,040 --> 01:12:35,040 sea muy fácilmente 1112 01:12:35,040 --> 01:12:36,040 customizable. 1113 01:12:36,040 --> 01:12:37,040 Entonces, 1114 01:12:37,040 --> 01:12:38,040 la página, 1115 01:12:38,040 --> 01:12:39,040 el código Javascript 1116 01:12:39,040 --> 01:12:40,040 notaréis que 1117 01:12:40,040 --> 01:12:41,040 lo ejecuto 1118 01:12:41,040 --> 01:12:42,040 al final de la página 1119 01:12:42,040 --> 01:12:43,040 y no en la cabecera. 1120 01:12:43,040 --> 01:12:44,040 ¿Por qué? 1121 01:12:44,040 --> 01:12:45,040 Porque tal y como funciona 1122 01:12:45,040 --> 01:12:46,040 el framework 1123 01:12:46,040 --> 01:12:47,040 de JotaQuery Mobile, 1124 01:12:47,040 --> 01:12:48,040 esta parte de arriba 1125 01:12:48,040 --> 01:12:49,040 solo se carga una vez, 1126 01:12:49,040 --> 01:12:50,040 cuando se carga 1127 01:12:50,040 --> 01:12:51,040 la página de inicio, 1128 01:12:51,040 --> 01:12:52,040 cuando se carga 1129 01:12:52,040 --> 01:12:53,040 la página de inicio 1130 01:12:53,040 --> 01:12:54,040 para las sucesivas páginas 1131 01:12:54,040 --> 01:12:55,040 solo se carga 1132 01:12:55,040 --> 01:12:56,040 lo que es el DOM 1133 01:12:56,040 --> 01:12:57,040 de la parte del body, 1134 01:12:57,040 --> 01:12:58,040 o sea, 1135 01:12:58,040 --> 01:12:59,040 la parte central. 1136 01:12:59,040 --> 01:13:00,040 Por lo tanto, 1137 01:13:00,040 --> 01:13:01,040 este código Javascript 1138 01:13:01,040 --> 01:13:02,040 no se ejecutará 1139 01:13:02,040 --> 01:13:03,040 de nuevo, 1140 01:13:03,040 --> 01:13:04,040 sino que solo se ejecuta 1141 01:13:04,040 --> 01:13:05,040 lo que está 1142 01:13:05,040 --> 01:13:06,040 en el body. 1143 01:13:06,040 --> 01:13:07,040 ¿Vale? 1144 01:13:07,040 --> 01:13:08,040 Entonces, 1145 01:13:08,040 --> 01:13:09,040 fijaros, 1146 01:13:09,040 --> 01:13:10,040 ese es el código 1147 01:13:10,040 --> 01:13:11,040 que te saca 1148 01:13:11,040 --> 01:13:12,040 el listado de cursos 1149 01:13:12,040 --> 01:13:13,040 para un participante 1150 01:13:13,040 --> 01:13:14,040 y te monta 1151 01:13:14,040 --> 01:13:15,040 la lista. 1152 01:13:15,040 --> 01:13:16,040 Aquí es poco código. 1153 01:13:16,040 --> 01:13:17,040 ¿Vale? 1154 01:13:17,040 --> 01:13:18,040 Entonces, 1155 01:13:18,040 --> 01:13:19,040 el código Javascript 1156 01:13:19,040 --> 01:13:20,040 no se ejecutará 1157 01:13:20,040 --> 01:13:21,040 de nuevo, 1158 01:13:21,040 --> 01:13:22,040 sino que 1159 01:13:23,040 --> 01:13:24,040 también yo 1160 01:13:24,040 --> 01:13:25,040 me manejo muy bien 1161 01:13:25,040 --> 01:13:26,040 con JotaQuery. 1162 01:13:26,040 --> 01:13:27,040 Ese es otro truco. 1163 01:13:27,040 --> 01:13:28,040 Si no conoces 1164 01:13:28,040 --> 01:13:29,040 JotaQuery, 1165 01:13:29,040 --> 01:13:30,040 pues tardas más. 1166 01:13:30,040 --> 01:13:31,040 Pero casi todo el mundo 1167 01:13:31,040 --> 01:13:32,040 conoce ya JotaQuery. 1168 01:13:32,040 --> 01:13:33,040 Es como un estándar 1169 01:13:33,040 --> 01:13:34,040 de Javascript. 1170 01:13:34,040 --> 01:13:35,040 Entonces, 1171 01:13:35,040 --> 01:13:36,040 si os fijáis, 1172 01:13:38,040 --> 01:13:39,040 bueno, 1173 01:13:39,040 --> 01:13:40,040 esto es una encapsulación 1174 01:13:40,040 --> 01:13:41,040 por temas 1175 01:13:41,040 --> 01:13:42,040 de contexto. 1176 01:13:42,040 --> 01:13:43,040 Esto está en el Javascript. 1177 01:13:45,040 --> 01:13:46,040 Yo lo que hago 1178 01:13:46,040 --> 01:13:47,040 es que cuando detecto 1179 01:13:47,040 --> 01:13:48,040 que la página 1180 01:13:48,040 --> 01:13:49,040 de participantes 1181 01:13:49,040 --> 01:13:50,040 se está mostrando, 1182 01:13:51,040 --> 01:13:52,040 Live 1183 01:13:52,040 --> 01:13:53,040 es una función 1184 01:13:53,040 --> 01:13:54,040 de JotaQuery 1185 01:13:54,040 --> 01:13:55,040 que te permite 1186 01:13:55,040 --> 01:13:56,040 hacer un bind 1187 01:13:56,040 --> 01:13:57,040 de eventos, 1188 01:13:57,040 --> 01:13:58,040 un vincular eventos, 1189 01:13:58,040 --> 01:13:59,040 y este es un evento 1190 01:13:59,040 --> 01:14:00,040 que lanza 1191 01:14:00,040 --> 01:14:01,040 JotaQuery Mobile, 1192 01:14:01,040 --> 01:14:02,040 cuando la página 1193 01:14:02,040 --> 01:14:03,040 ya se está preparando 1194 01:14:03,040 --> 01:14:04,040 para renderizarse, 1195 01:14:04,040 --> 01:14:05,040 ¿qué hago? 1196 01:14:07,040 --> 01:14:08,040 Llamo 1197 01:14:08,040 --> 01:14:09,040 a una función 1198 01:14:09,040 --> 01:14:10,040 que se llama 1199 01:14:10,040 --> 01:14:11,040 SetupPage, 1200 01:14:11,040 --> 01:14:12,040 que hace cuestiones 1201 01:14:12,040 --> 01:14:13,040 de inicializar 1202 01:14:13,040 --> 01:14:14,040 el registro, 1203 01:14:14,040 --> 01:14:15,040 login 1204 01:14:15,040 --> 01:14:16,040 y cosas de más. 1205 01:14:16,040 --> 01:14:17,040 Bueno, 1206 01:14:17,040 --> 01:14:18,040 interesante. 1207 01:14:18,040 --> 01:14:19,040 Logueo información 1208 01:14:20,040 --> 01:14:21,040 Esto, 1209 01:14:21,040 --> 01:14:22,040 si tenéis habilitado 1210 01:14:22,040 --> 01:14:23,040 lo que os he enseñado 1211 01:14:23,040 --> 01:14:24,040 antes de depuración, 1212 01:14:24,040 --> 01:14:25,040 saldría por pantalla 1213 01:14:26,040 --> 01:14:27,040 y 1214 01:14:27,040 --> 01:14:28,040 esta función 1215 01:14:28,040 --> 01:14:29,040 se ejecuta 1216 01:14:29,040 --> 01:14:30,040 posteriormente. 1217 01:14:31,040 --> 01:14:32,040 Obtengo 1218 01:14:34,040 --> 01:14:35,040 la lista 1219 01:14:35,040 --> 01:14:36,040 del sitio actual 1220 01:14:37,040 --> 01:14:38,040 y el usuario actual 1221 01:14:39,040 --> 01:14:40,040 que, como veis, 1222 01:14:40,040 --> 01:14:41,040 uso esto, 1223 01:14:41,040 --> 01:14:42,040 que esto es HTML5, 1224 01:14:42,040 --> 01:14:43,040 que es la base 1225 01:14:43,040 --> 01:14:44,040 de datos local 1226 01:14:45,040 --> 01:14:46,040 del browser. 1227 01:14:46,040 --> 01:14:47,040 Sabéis que HTML5 1228 01:14:47,040 --> 01:14:48,040 incorpora un SQL 1229 01:14:48,040 --> 01:14:49,040 interno. 1230 01:14:49,040 --> 01:14:50,040 Entonces, 1231 01:14:50,040 --> 01:14:51,040 uso 1232 01:14:52,040 --> 01:14:53,040 como 1233 01:14:53,040 --> 01:14:54,040 casi todos los navegadores 1234 01:14:54,040 --> 01:14:55,040 del iPhone, 1235 01:14:55,040 --> 01:14:56,040 el iPad y 1236 01:14:56,040 --> 01:14:57,040 BlackBerry son WebKit, 1237 01:14:58,040 --> 01:14:59,040 ellos ya tienen implementado 1238 01:15:00,040 --> 01:15:01,040 lo que es el LocalStorage. 1239 01:15:01,040 --> 01:15:02,040 Entonces, 1240 01:15:02,040 --> 01:15:03,040 con el LocalStorage 1241 01:15:03,040 --> 01:15:04,040 me evito, 1242 01:15:04,040 --> 01:15:05,040 ya tengo un sistema 1243 01:15:06,040 --> 01:15:07,040 en base a KeyItems 1244 01:15:07,040 --> 01:15:08,040 de almacenamiento 1245 01:15:08,040 --> 01:15:09,040 y es 1246 01:15:09,040 --> 01:15:10,040 el almacenamiento físico, 1247 01:15:10,040 --> 01:15:11,040 donde almaceno todo. 1248 01:15:12,040 --> 01:15:13,040 Serializo la información 1249 01:15:13,040 --> 01:15:14,040 en JSON y la almaceno ahí. 1250 01:15:14,040 --> 01:15:15,040 Entonces, 1251 01:15:15,040 --> 01:15:16,040 tengo el usuario 1252 01:15:17,040 --> 01:15:18,040 y tu sitio actual, 1253 01:15:18,040 --> 01:15:19,040 porque la aplicación soporta 1254 01:15:19,040 --> 01:15:20,040 múltiples sitios de Moodle, 1255 01:15:20,040 --> 01:15:21,040 puedes estar en cinco sitios 1256 01:15:21,040 --> 01:15:22,040 de Moodle 1257 01:15:23,040 --> 01:15:24,040 y fijaros 1258 01:15:24,040 --> 01:15:25,040 la llamada 1259 01:15:25,040 --> 01:15:26,040 WebService. 1260 01:15:26,040 --> 01:15:27,040 Le pasas 1261 01:15:27,040 --> 01:15:28,040 el nombre 1262 01:15:28,040 --> 01:15:29,040 del WebService, 1263 01:15:29,040 --> 01:15:30,040 data, 1264 01:15:30,040 --> 01:15:31,040 son los parámetros 1265 01:15:31,040 --> 01:15:32,040 que requiere 1266 01:15:32,040 --> 01:15:33,040 el WebService, 1267 01:15:33,040 --> 01:15:34,040 que en este caso 1268 01:15:34,040 --> 01:15:35,040 es el UserId, 1269 01:15:35,040 --> 01:15:36,040 simplemente es un objeto 1270 01:15:36,040 --> 01:15:37,040 JSON, 1271 01:15:37,040 --> 01:15:38,040 bueno, 1272 01:15:38,040 --> 01:15:39,040 es un objeto 1273 01:15:39,040 --> 01:15:40,040 Javascript, 1274 01:15:40,040 --> 01:15:41,040 perdón, 1275 01:15:41,040 --> 01:15:42,040 y esta es la función 1276 01:15:42,040 --> 01:15:43,040 de callback. 1277 01:15:43,040 --> 01:15:44,040 Es decir, 1278 01:15:44,040 --> 01:15:45,040 cuando se ejecute 1279 01:15:45,040 --> 01:15:46,040 automáticamente 1280 01:15:46,040 --> 01:15:47,040 se ejecuta esta función 1281 01:15:47,040 --> 01:15:48,040 con los resultados 1282 01:15:48,040 --> 01:15:49,040 de WebService. 1283 01:15:49,040 --> 01:15:50,040 Esta función 1284 01:15:50,040 --> 01:15:51,040 MoodleWscall, 1285 01:15:51,040 --> 01:15:52,040 si veis el código, 1286 01:15:53,040 --> 01:15:54,040 hace toda la parte 1287 01:15:54,040 --> 01:15:55,040 de ponerte 1288 01:15:55,040 --> 01:15:56,040 el uploading, 1289 01:15:56,040 --> 01:15:57,040 el icono de espera, 1290 01:15:58,040 --> 01:15:59,040 gestionar errores, 1291 01:15:59,040 --> 01:16:00,040 todo lo feo. 1292 01:16:00,040 --> 01:16:01,040 ¿No? 1293 01:16:01,040 --> 01:16:02,040 ¿Para qué? 1294 01:16:02,040 --> 01:16:03,040 Para que tú, 1295 01:16:03,040 --> 01:16:04,040 simplemente, 1296 01:16:04,040 --> 01:16:05,040 cuando se ha ejecutado todo 1297 01:16:05,040 --> 01:16:06,040 en la función ListCourse, 1298 01:16:06,040 --> 01:16:07,040 recibes los cursos 1299 01:16:07,040 --> 01:16:08,040 en JSON ya, 1300 01:16:09,040 --> 01:16:10,040 porque ya me he encargado 1301 01:16:10,040 --> 01:16:11,040 yo del XML 1302 01:16:11,040 --> 01:16:12,040 y transformarlo a JSON 1303 01:16:12,040 --> 01:16:13,040 para que vosotros 1304 01:16:13,040 --> 01:16:14,040 no tengáis que hacer eso, 1305 01:16:14,040 --> 01:16:15,040 que estéis con 2.1. 1306 01:16:15,040 --> 01:16:16,040 Con 2.2 1307 01:16:16,040 --> 01:16:17,040 viene nativo el soporte 1308 01:16:17,040 --> 01:16:18,040 y tú lo único 1309 01:16:18,040 --> 01:16:19,040 que tienes que hacer es, 1310 01:16:19,040 --> 01:16:20,040 con tus conocimientos 1311 01:16:20,040 --> 01:16:21,040 de jQuery, 1312 01:16:21,040 --> 01:16:22,040 usas la función 1313 01:16:22,040 --> 01:16:23,040 each de jQuery, 1314 01:16:23,040 --> 01:16:24,040 que es una maravilla, 1315 01:16:24,040 --> 01:16:25,040 que es lo que te permite 1316 01:16:25,040 --> 01:16:26,040 recorrer los cursos 1317 01:16:26,040 --> 01:16:27,040 y, básicamente, 1318 01:16:27,040 --> 01:16:28,040 como veis, 1319 01:16:28,040 --> 01:16:29,040 lo único que hago es 1320 01:16:29,040 --> 01:16:30,040 elementos de la lista 1321 01:16:31,040 --> 01:16:32,040 y, 1322 01:16:33,040 --> 01:16:34,040 y, bueno, 1323 01:16:35,040 --> 01:16:36,040 y vinculo. 1324 01:16:36,040 --> 01:16:37,040 Eso está, 1325 01:16:37,040 --> 01:16:38,040 eso se podía haber hecho mejor, 1326 01:16:38,040 --> 01:16:39,040 me acabo de dar cuenta ahora, 1327 01:16:39,040 --> 01:16:40,040 ¿eh? 1328 01:16:40,040 --> 01:16:41,040 Pero, bueno, 1329 01:16:41,040 --> 01:16:42,040 lo corregiré. 1330 01:16:43,040 --> 01:16:44,040 Es que la vinculación 1331 01:16:44,040 --> 01:16:45,040 la hago dentro del each, 1332 01:16:45,040 --> 01:16:46,040 lo podía haber hecho de otra forma, 1333 01:16:46,040 --> 01:16:47,040 ¿vale? 1334 01:16:47,040 --> 01:16:48,040 Unir los eventos, 1335 01:16:48,040 --> 01:16:49,040 pero, bueno, 1336 01:16:49,040 --> 01:16:50,040 ya lo corrijo. 1337 01:16:50,040 --> 01:16:51,040 Es que, de hecho, 1338 01:16:51,040 --> 01:16:52,040 está bien hecho en otra página, 1339 01:16:52,040 --> 01:16:53,040 no sé por qué se ha quedado así. 1340 01:16:53,040 --> 01:16:54,040 Bueno, en cualquier caso, 1341 01:16:54,040 --> 01:16:55,040 lo que hago es que 1342 01:16:55,040 --> 01:16:56,040 vinculo 1343 01:16:56,040 --> 01:16:57,040 la acción 1344 01:16:57,040 --> 01:16:58,040 de clicar un enlace 1345 01:16:58,040 --> 01:16:59,040 con otra página, 1346 01:17:00,040 --> 01:17:01,040 ¿vale? 1347 01:17:01,040 --> 01:17:02,040 Entonces, 1348 01:17:03,040 --> 01:17:04,040 lo que estoy diciendo 1349 01:17:04,040 --> 01:17:05,040 es que cuando, 1350 01:17:05,040 --> 01:17:06,040 una vez que se ha sacado 1351 01:17:06,040 --> 01:17:07,040 el listado de usuarios, 1352 01:17:08,040 --> 01:17:09,040 cuando alguien, 1353 01:17:09,040 --> 01:17:10,040 esta es la página 1354 01:17:10,040 --> 01:17:11,040 del listado de usuarios, 1355 01:17:11,040 --> 01:17:12,040 que antes, 1356 01:17:12,040 --> 01:17:13,040 no, ¿estos son cursos? 1357 01:17:14,040 --> 01:17:15,040 Sí, 1358 01:17:15,040 --> 01:17:16,040 listo cursos, 1359 01:17:16,040 --> 01:17:17,040 y lo que digo es 1360 01:17:17,040 --> 01:17:18,040 que cuando alguien 1361 01:17:18,040 --> 01:17:19,040 haga clic 1362 01:17:19,040 --> 01:17:20,040 en un usuario, 1363 01:17:20,040 --> 01:17:21,040 como pasar parámetros 1364 01:17:21,040 --> 01:17:22,040 entre páginas 1365 01:17:22,040 --> 01:17:23,040 javascript 1366 01:17:23,040 --> 01:17:24,040 es un poco 1367 01:17:24,040 --> 01:17:25,040 rollo, 1368 01:17:25,040 --> 01:17:26,040 porque lo tendrías que hacer 1369 01:17:26,040 --> 01:17:27,040 con las cedillas, 1370 01:17:27,040 --> 01:17:28,040 como tal o tal, 1371 01:17:28,040 --> 01:17:29,040 yo lo que hago 1372 01:17:29,040 --> 01:17:30,040 es que uso 1373 01:17:30,040 --> 01:17:31,040 el local storage, 1374 01:17:32,040 --> 01:17:33,040 ¿vale? 1375 01:17:33,040 --> 01:17:34,040 Para fijar 1376 01:17:34,040 --> 01:17:35,040 cuál es el curso actual 1377 01:17:35,040 --> 01:17:36,040 que se está viendo. 1378 01:17:36,040 --> 01:17:37,040 Es como una cookie de sesión. 1379 01:17:37,040 --> 01:17:38,040 De hecho, 1380 01:17:38,040 --> 01:17:39,040 esto se podía haber hecho 1381 01:17:39,040 --> 01:17:40,040 en sesión storage, 1382 01:17:41,040 --> 01:17:42,040 tampoco podemos 1383 01:17:42,040 --> 01:17:43,040 que lo he hecho en 40 horas, 1384 01:17:43,040 --> 01:17:44,040 leñes. 1385 01:17:44,040 --> 01:17:45,040 Entonces, 1386 01:17:45,040 --> 01:17:46,040 guardo el curso actual 1387 01:17:46,040 --> 01:17:47,040 de tal forma 1388 01:17:47,040 --> 01:17:48,040 que cuando alguien 1389 01:17:48,040 --> 01:17:49,040 pulse 1390 01:17:49,040 --> 01:17:50,040 y vaya a la página 1391 01:17:50,040 --> 01:17:51,040 users, 1392 01:17:51,040 --> 01:17:52,040 en la página users, 1393 01:17:52,040 --> 01:17:53,040 yo me cojo 1394 01:17:53,040 --> 01:17:54,040 del datastore, 1395 01:17:54,040 --> 01:17:55,040 de la base de datos, 1396 01:17:55,040 --> 01:17:56,040 cojo la página actual 1397 01:17:56,040 --> 01:17:57,040 que me han solicitado, 1398 01:17:57,040 --> 01:17:58,040 el curso actual 1399 01:17:58,040 --> 01:17:59,040 que me han solicitado 1400 01:17:59,040 --> 01:18:00,040 y llamo al webservice 1401 01:18:00,040 --> 01:18:01,040 que tiene los usuarios. 1402 01:18:01,040 --> 01:18:02,040 ¿Vale? 1403 01:18:02,040 --> 01:18:03,040 Que para que os hagáis 1404 01:18:03,040 --> 01:18:04,040 una idea, 1405 01:18:05,040 --> 01:18:06,040 este de aquí, 1406 01:18:09,040 --> 01:18:10,040 y como veis, 1407 01:18:10,040 --> 01:18:11,040 veis aquí ya está bien hecho 1408 01:18:11,040 --> 01:18:12,040 porque lo meto 1409 01:18:12,040 --> 01:18:13,040 fuera del itch, 1410 01:18:13,040 --> 01:18:14,040 la vinculación 1411 01:18:14,040 --> 01:18:15,040 y lo hago por 1412 01:18:16,040 --> 01:18:17,040 aquí está bien hecho. 1413 01:18:17,040 --> 01:18:18,040 Entonces, 1414 01:18:18,040 --> 01:18:19,040 si os fijáis, 1415 01:18:19,040 --> 01:18:20,040 la página de listar 1416 01:18:20,040 --> 01:18:21,040 los usuarios de un curso 1417 01:18:21,040 --> 01:18:22,040 viene a ser lo mismo. 1418 01:18:22,040 --> 01:18:23,040 Cojo 1419 01:18:25,040 --> 01:18:26,040 del sistema de almacenamiento 1420 01:18:27,040 --> 01:18:28,040 el curso actual, 1421 01:18:29,040 --> 01:18:30,040 genero 1422 01:18:31,040 --> 01:18:32,040 una estructura 1423 01:18:32,040 --> 01:18:33,040 de webservice 1424 01:18:33,040 --> 01:18:34,040 que es 1425 01:18:34,040 --> 01:18:35,040 los parámetros 1426 01:18:35,040 --> 01:18:36,040 que especifica 1427 01:18:36,040 --> 01:18:37,040 Moodle. 1428 01:18:37,040 --> 01:18:38,040 Estos parámetros 1429 01:18:38,040 --> 01:18:39,040 no me los estoy inventando, 1430 01:18:39,040 --> 01:18:40,040 son los propios de Moodle. 1431 01:18:40,040 --> 01:18:41,040 Esto si hacéis una salida 1432 01:18:41,040 --> 01:18:42,040 del soap 1433 01:18:42,040 --> 01:18:43,040 o del 1434 01:18:43,040 --> 01:18:44,040 Moodle 1435 01:18:44,040 --> 01:18:45,040 son los que pide, 1436 01:18:45,040 --> 01:18:46,040 llamo al webservice 1437 01:18:46,040 --> 01:18:47,040 y le digo 1438 01:18:47,040 --> 01:18:48,040 el callback, 1439 01:18:48,040 --> 01:18:49,040 la llamada de vuelta 1440 01:18:49,040 --> 01:18:50,040 es esta. 1441 01:18:50,040 --> 01:18:51,040 Aquí recibo 1442 01:18:51,040 --> 01:18:52,040 un listado de usuarios 1443 01:18:52,040 --> 01:18:53,040 y lo único que debo hacer es 1444 01:18:57,040 --> 01:18:58,040 con la información 1445 01:18:58,040 --> 01:18:59,040 que he recibido 1446 01:18:59,040 --> 01:19:00,040 ir componiendo por pantalla. 1447 01:19:01,040 --> 01:19:02,040 Como veis, 1448 01:19:02,040 --> 01:19:03,040 con muy pocas líneas de código 1449 01:19:03,040 --> 01:19:04,040 consigues una funcionalidad 1450 01:19:04,040 --> 01:19:05,040 muy interesante. 1451 01:19:05,040 --> 01:19:06,040 Claro, 1452 01:19:06,040 --> 01:19:07,040 que por detrás está 1453 01:19:07,040 --> 01:19:08,040 toda la parte fea 1454 01:19:08,040 --> 01:19:09,040 que es el 1455 01:19:11,040 --> 01:19:12,040 esto que llamé 1456 01:19:12,040 --> 01:19:13,040 CommonJS 1457 01:19:13,040 --> 01:19:14,040 y que no me gusta el nombre 1458 01:19:14,040 --> 01:19:15,040 pero bueno, 1459 01:19:15,040 --> 01:19:16,040 que es todo el código 1460 01:19:16,040 --> 01:19:17,040 de toda esta gestión. 1461 01:19:19,040 --> 01:19:20,040 Por ejemplo, 1462 01:19:20,040 --> 01:19:21,040 toda la llamada 1463 01:19:21,040 --> 01:19:22,040 de 1464 01:19:22,040 --> 01:19:23,040 MoodleWS 1465 01:19:23,040 --> 01:19:24,040 webservice call 1466 01:19:24,040 --> 01:19:25,040 pues gestiona todo esto 1467 01:19:25,040 --> 01:19:26,040 es lo que os digo. 1468 01:19:26,040 --> 01:19:27,040 Yo aquí ya gestiono errores, 1469 01:19:28,040 --> 01:19:29,040 gestiono errores 1470 01:19:29,040 --> 01:19:30,040 de conectividad, 1471 01:19:30,040 --> 01:19:31,040 gestiono 1472 01:19:31,040 --> 01:19:32,040 todo el parseado 1473 01:19:32,040 --> 01:19:33,040 de XML a JSON, 1474 01:19:35,040 --> 01:19:36,040 hago una cache intermedia 1475 01:19:36,040 --> 01:19:37,040 y demás 1476 01:19:37,040 --> 01:19:38,040 porque si os fijáis además 1477 01:19:39,040 --> 01:19:40,040 el sistema es tan avanzado 1478 01:19:43,040 --> 01:19:44,040 que si tú llamas aquí 1479 01:19:49,040 --> 01:19:50,040 a un webservice 1480 01:19:51,040 --> 01:19:52,040 automáticamente 1481 01:19:54,040 --> 01:19:55,040 la salida de ese webservice 1482 01:19:55,040 --> 01:19:56,040 queda cacheado 1483 01:19:56,040 --> 01:19:57,040 para que si alguien 1484 01:19:57,040 --> 01:19:58,040 lo vuelve a pedir 1485 01:19:58,040 --> 01:19:59,040 no se le hace la llamada 1486 01:19:59,040 --> 01:20:00,040 al webservice 1487 01:20:00,040 --> 01:20:01,040 hasta que expira la cache. 1488 01:20:02,040 --> 01:20:03,040 Quiero decir, 1489 01:20:03,040 --> 01:20:04,040 también yo gestiono la cache. 1490 01:20:04,040 --> 01:20:05,040 O sea, 1491 01:20:05,040 --> 01:20:06,040 también es el framework 1492 01:20:06,040 --> 01:20:07,040 que hace todo el tema de caching. 1493 01:20:07,040 --> 01:20:08,040 Es decir, 1494 01:20:08,040 --> 01:20:09,040 si alguien vuelve a pedir esta página 1495 01:20:09,040 --> 01:20:10,040 no se le hace una nueva petición 1496 01:20:10,040 --> 01:20:11,040 al webservice 1497 01:20:11,040 --> 01:20:12,040 sino que se sirve por cache. 1498 01:20:12,040 --> 01:20:13,040 ¿Vale? 1499 01:20:13,040 --> 01:20:14,040 Y la cache tiene un tipo de expiración 1500 01:20:14,040 --> 01:20:15,040 que definís vosotros. 1501 01:20:16,040 --> 01:20:17,040 Como hay páginas 1502 01:20:17,040 --> 01:20:18,040 donde no interesa 1503 01:20:18,040 --> 01:20:19,040 que haya cache, 1504 01:20:19,040 --> 01:20:20,040 por ejemplo, 1505 01:20:29,040 --> 01:20:30,040 esta, 1506 01:20:30,040 --> 01:20:31,040 tú puedes pasarle un flag 1507 01:20:31,040 --> 01:20:32,040 y le dices 1508 01:20:32,040 --> 01:20:33,040 no cachea uno. 1509 01:20:33,040 --> 01:20:34,040 Eso significa 1510 01:20:34,040 --> 01:20:35,040 que a este webservice 1511 01:20:35,040 --> 01:20:36,040 que es un webservice 1512 01:20:36,040 --> 01:20:37,040 de tipo POST 1513 01:20:37,040 --> 01:20:38,040 o un webservice 1514 01:20:38,040 --> 01:20:39,040 de tipo GET 1515 01:20:39,040 --> 01:20:40,040 no me lo caches 1516 01:20:40,040 --> 01:20:41,040 y el resto sí. 1517 01:20:42,040 --> 01:20:43,040 Entonces, 1518 01:20:43,040 --> 01:20:44,040 os adaptaréis totalmente 1519 01:20:45,040 --> 01:20:46,040 y la aplicación 1520 01:20:46,040 --> 01:20:47,040 lo hace todo por vosotros. 1521 01:20:47,040 --> 01:20:48,040 Hace cache, 1522 01:20:48,040 --> 01:20:49,040 hace gestión de errores, 1523 01:20:50,040 --> 01:20:51,040 hará traducción de idiomas 1524 01:20:51,040 --> 01:20:52,040 y demás. 1525 01:20:52,040 --> 01:20:53,040 Entonces vosotros 1526 01:20:53,040 --> 01:20:54,040 lo único que tenéis que hacer 1527 01:20:54,040 --> 01:20:55,040 es añadir botones 1528 01:20:55,040 --> 01:20:56,040 o que sea 1529 01:20:56,040 --> 01:20:57,040 el estilo. 1530 01:20:58,040 --> 01:20:59,040 Añadir un botón 1531 01:20:59,040 --> 01:21:00,040 puede ser un contenido estático, 1532 01:21:00,040 --> 01:21:01,040 puede ser una nota de aviso 1533 01:21:02,040 --> 01:21:03,040 o puede ser una llamada 1534 01:21:03,040 --> 01:21:04,040 a un webservice propio 1535 01:21:04,040 --> 01:21:05,040 de Moodle que os habéis hecho 1536 01:21:05,040 --> 01:21:06,040 o una llamada 1537 01:21:06,040 --> 01:21:07,040 a un webservice de Moodle 1538 01:21:07,040 --> 01:21:08,040 ya existente y demás. 1539 01:21:09,040 --> 01:21:10,040 Como esto está desarrollado 1540 01:21:10,040 --> 01:21:11,040 para funcionar 1541 01:21:11,040 --> 01:21:12,040 sobre webservice de Moodle, 1542 01:21:12,040 --> 01:21:13,040 si queréis añadir, 1543 01:21:13,040 --> 01:21:14,040 por ejemplo, 1544 01:21:14,040 --> 01:21:15,040 un webservice 1545 01:21:15,040 --> 01:21:16,040 que liste datos 1546 01:21:16,040 --> 01:21:17,040 de vuestro internet 1547 01:21:17,040 --> 01:21:18,040 dentro de Moodle 1548 01:21:18,040 --> 01:21:19,040 o dentro de donde sea, 1549 01:21:19,040 --> 01:21:20,040 si lo hacéis siguiendo 1550 01:21:20,040 --> 01:21:21,040 el formato de Moodle, 1551 01:21:21,040 --> 01:21:22,040 automáticamente podéis usar 1552 01:21:22,040 --> 01:21:23,040 el framework 1553 01:21:24,040 --> 01:21:25,040 para obtener datos 1554 01:21:25,040 --> 01:21:26,040 y ganar todo el tema 1555 01:21:26,040 --> 01:21:27,040 del caching, 1556 01:21:27,040 --> 01:21:28,040 gestión de errores 1557 01:21:28,040 --> 01:21:29,040 y demás, 1558 01:21:29,040 --> 01:21:30,040 depuración y demás. 1559 01:21:30,040 --> 01:21:31,040 Porque si tú activas 1560 01:21:31,040 --> 01:21:32,040 la depuración de esto, 1561 01:21:32,040 --> 01:21:33,040 la depuración 1562 01:21:33,040 --> 01:21:34,040 es súper exhaustiva 1563 01:21:34,040 --> 01:21:35,040 y te dice 1564 01:21:35,040 --> 01:21:36,040 en todo momento 1565 01:21:36,040 --> 01:21:37,040 lo que está. 1566 01:21:37,040 --> 01:21:38,040 Estoy consultando 1567 01:21:38,040 --> 01:21:39,040 un webservice 1568 01:21:39,040 --> 01:21:40,040 desde caché, 1569 01:21:40,040 --> 01:21:41,040 la caché ha expirado, 1570 01:21:41,040 --> 01:21:42,040 la reinicio, 1571 01:21:42,040 --> 01:21:43,040 tal, tal, tal, tal, tal. 1572 01:21:43,040 --> 01:21:44,040 Hay todo un framework 1573 01:21:44,040 --> 01:21:45,040 por detrás 1574 01:21:45,040 --> 01:21:46,040 que te permite 1575 01:21:46,040 --> 01:21:47,040 de alguna forma tal. 1576 01:21:47,040 --> 01:21:48,040 Incluso la información 1577 01:21:48,040 --> 01:21:49,040 que se guarda 1578 01:21:49,040 --> 01:21:50,040 al data store, 1579 01:21:50,040 --> 01:21:51,040 hay otros sistemas 1580 01:21:51,040 --> 01:21:52,040 de subcaché 1581 01:21:52,040 --> 01:21:53,040 por debajo también 1582 01:21:53,040 --> 01:21:54,040 y de serialización 1583 01:21:54,040 --> 01:21:55,040 que te permite 1584 01:21:55,040 --> 01:21:56,040 tenerlo todo 1585 01:21:56,040 --> 01:21:57,040 muy organizado. 1586 01:21:57,040 --> 01:21:58,040 ¿Vale? 1587 01:21:58,040 --> 01:21:59,040 O sea, 1588 01:21:59,040 --> 01:22:00,040 la aplicación 1589 01:22:00,040 --> 01:22:01,040 tiene unas, 1590 01:22:01,040 --> 01:22:02,040 lo que digo, 1591 01:22:02,040 --> 01:22:03,040 unas 40 horas 1592 01:22:03,040 --> 01:22:04,040 de trabajo 1593 01:22:04,040 --> 01:22:05,040 de pensar son más. 1594 01:22:05,040 --> 01:22:06,040 Pero esas no las cuento 1595 01:22:06,040 --> 01:22:07,040 porque yo pienso 1596 01:22:07,040 --> 01:22:08,040 mientras estoy paseando 1597 01:22:08,040 --> 01:22:09,040 con el carrito 1598 01:22:09,040 --> 01:22:10,040 a mi hija, 1599 01:22:10,040 --> 01:22:11,040 se echa la siesta, 1600 01:22:11,040 --> 01:22:12,040 cuando yo, 1601 01:22:12,040 --> 01:22:13,040 veis, es un friki, 1602 01:22:13,040 --> 01:22:14,040 me pongo a pensar 1603 01:22:14,040 --> 01:22:15,040 en estas cosas, 1604 01:22:15,040 --> 01:22:16,040 en cómo hacer análisis 1605 01:22:16,040 --> 01:22:17,040 y aplicaciones 1606 01:22:17,040 --> 01:22:18,040 y sus sistemas 1607 01:22:18,040 --> 01:22:19,040 interesantes, 1608 01:22:19,040 --> 01:22:20,040 pues en eso estoy. 1609 01:22:21,040 --> 01:22:22,040 Entonces, 1610 01:22:22,040 --> 01:22:23,040 nada, 1611 01:22:24,040 --> 01:22:25,040 hay documentación 1612 01:22:26,040 --> 01:22:27,040 en la página de la wiki 1613 01:22:27,040 --> 01:22:28,040 está documentado 1614 01:22:28,040 --> 01:22:29,040 un primer nivel 1615 01:22:29,040 --> 01:22:30,040 cómo podríais 1616 01:22:34,040 --> 01:22:35,040 trabajar, 1617 01:22:35,040 --> 01:22:36,040 construir y demás. 1618 01:22:37,040 --> 01:22:38,040 Bueno, 1619 01:22:38,040 --> 01:22:39,040 todavía no me han validado 1620 01:22:39,040 --> 01:22:40,040 el plugin, 1621 01:22:40,040 --> 01:22:41,040 no me lo han activado 1622 01:22:41,040 --> 01:22:42,040 pero habrá un foro 1623 01:22:42,040 --> 01:22:43,040 para el plugin, 1624 01:22:43,040 --> 01:22:44,040 castellano-inglés 1625 01:22:44,040 --> 01:22:45,040 diferente. 1626 01:22:46,040 --> 01:22:47,040 Y ahí está. 1627 01:22:47,040 --> 01:22:48,040 Para quien le sea de interés, 1628 01:22:48,040 --> 01:22:49,040 yo creo que es una buena 1629 01:22:49,040 --> 01:22:50,040 aproximación 1630 01:22:50,040 --> 01:22:51,040 si no os queréis 1631 01:22:51,040 --> 01:22:52,040 dejar los huesos 1632 01:22:52,040 --> 01:22:53,040 haciendo aplicaciones 1633 01:22:53,040 --> 01:22:54,040 nativas para cada tal. 1634 01:22:54,040 --> 01:22:55,040 A ver, 1635 01:22:55,040 --> 01:22:56,040 no es todo tan bonito 1636 01:22:56,040 --> 01:22:57,040 como parece 1637 01:22:57,040 --> 01:22:58,040 porque luego 1638 01:22:58,040 --> 01:22:59,040 el framework 1639 01:22:59,040 --> 01:23:00,040 que hay por debajo, 1640 01:23:00,040 --> 01:23:01,040 PhoneGap 1641 01:23:01,040 --> 01:23:02,040 y por lo demás, 1642 01:23:02,040 --> 01:23:03,040 tiene ciertas limitaciones. 1643 01:23:03,040 --> 01:23:04,040 Os voy a enseñar 1644 01:23:04,040 --> 01:23:05,040 el API que tiene PhoneGap 1645 01:23:05,040 --> 01:23:06,040 y terminamos con eso. 1646 01:23:15,040 --> 01:23:16,040 Para que veáis un poco 1647 01:23:16,040 --> 01:23:17,040 desde Javascript 1648 01:23:17,040 --> 01:23:18,040 a qué funciones 1649 01:23:18,040 --> 01:23:19,040 podéis acceder. 1650 01:23:19,040 --> 01:23:20,040 Bueno, 1651 01:23:20,040 --> 01:23:21,040 os voy a enseñar 1652 01:23:21,040 --> 01:23:22,040 por ejemplo 1653 01:23:22,040 --> 01:23:23,040 cómo se hace 1654 01:23:23,040 --> 01:23:24,040 la captura de una foto 1655 01:23:24,040 --> 01:23:25,040 para que veáis 1656 01:23:25,040 --> 01:23:26,040 cómo se usa el PhoneGap. 1657 01:23:34,040 --> 01:23:35,040 Como veis aquí 1658 01:23:35,040 --> 01:23:36,040 hay más código 1659 01:23:36,040 --> 01:23:37,040 porque ya nos metemos 1660 01:23:37,040 --> 01:23:38,040 en PhoneGap. 1661 01:23:38,040 --> 01:23:39,040 Pero es muy sencillo. 1662 01:23:49,040 --> 01:23:50,040 Vale, aquí está. 1663 01:23:50,040 --> 01:23:51,040 Por ejemplo, 1664 01:23:51,040 --> 01:23:52,040 lo que hace PhoneGap 1665 01:23:52,040 --> 01:23:53,040 es que a nivel 1666 01:23:53,040 --> 01:23:54,040 de la estructura Javascript, 1667 01:23:54,040 --> 01:23:55,040 no me acuerdo cómo se llama 1668 01:23:55,040 --> 01:23:56,040 el espacio de nombres 1669 01:23:56,040 --> 01:23:57,040 Javascript, 1670 01:23:57,040 --> 01:23:58,040 no sé exactamente 1671 01:23:58,040 --> 01:23:59,040 Javascript, 1672 01:23:59,040 --> 01:24:00,040 no sé cómo es el nombre, 1673 01:24:00,040 --> 01:24:01,040 a nivel del objeto 1674 01:24:01,040 --> 01:24:02,040 Navigation 1675 01:24:02,040 --> 01:24:03,040 es 1676 01:24:03,040 --> 01:24:04,040 el objeto 1677 01:24:04,040 --> 01:24:05,040 que se llama 1678 01:24:05,040 --> 01:24:06,040 Javascript 1679 01:24:06,040 --> 01:24:07,040 y es el objeto 1680 01:24:07,040 --> 01:24:08,040 que se llama 1681 01:24:08,040 --> 01:24:09,040 Javascript 1682 01:24:09,040 --> 01:24:10,040 y es el objeto 1683 01:24:10,040 --> 01:24:11,040 que se llama 1684 01:24:11,040 --> 01:24:12,040 Javascript 1685 01:24:12,040 --> 01:24:13,040 y es el objeto 1686 01:24:13,040 --> 01:24:14,040 que se llama 1687 01:24:14,040 --> 01:24:15,040 Javascript 1688 01:24:15,040 --> 01:24:16,040 y es el objeto 1689 01:24:16,040 --> 01:24:17,040 que se llama 1690 01:24:17,040 --> 01:24:18,040 Navigation 1691 01:24:18,040 --> 01:24:19,040 él mete 1692 01:24:19,040 --> 01:24:20,040 nuevas funcionalidades adicionales. 1693 01:24:21,040 --> 01:24:22,040 Vale, entonces 1694 01:24:23,040 --> 01:24:24,040 Si queréis 1695 01:24:24,040 --> 01:24:25,040 tomar una foto 1696 01:24:25,040 --> 01:24:26,040 es tan sencillo 1697 01:24:26,040 --> 01:24:27,040 la llamada 1698 01:24:27,040 --> 01:24:28,040 como esto. 1699 01:24:28,040 --> 01:24:29,340 Sio la cámara 1700 01:24:29,340 --> 01:24:30,340 get picture 1701 01:24:30,340 --> 01:24:31,340 le ponéis 1702 01:24:31,340 --> 01:24:32,340 las funciones 1703 01:24:32,340 --> 01:24:33,340 de callback 1704 01:24:33,340 --> 01:24:34,340 en caso de éxito o fracaso 1705 01:24:34,340 --> 01:24:35,340 y le paséis los settings. 1706 01:24:37,840 --> 01:24:38,840 Cuando 1707 01:24:38,840 --> 01:24:39,840 PhoneGap 1708 01:24:39,840 --> 01:24:40,840 PhoneGap automáticamente 1709 01:24:40,840 --> 01:24:41,840 te abre la cámara 1710 01:24:41,840 --> 01:24:42,840 del móvil 1711 01:24:42,840 --> 01:24:43,840 ¿Haces una foto? 1712 01:24:43,840 --> 01:24:44,840 Y cuando se echó 1713 01:24:44,840 --> 01:24:45,840 la foto 1714 01:24:45,840 --> 01:24:46,840 se te llama 1715 01:24:46,840 --> 01:24:47,840 con un icono aquí definido 1716 01:24:49,840 --> 01:24:51,840 y te pasa como parámetro 1717 01:24:51,840 --> 01:24:52,840 una URI 1718 01:24:52,840 --> 01:24:53,840 que es la imagen 1719 01:24:53,840 --> 01:24:54,840 de la foto 1720 01:24:54,840 --> 01:24:55,840 en base 64 codificada. 1721 01:24:56,840 --> 01:24:57,840 Tú puedes decirle 1722 01:24:57,840 --> 01:24:58,840 que te las pase 1723 01:24:58,840 --> 01:24:59,840 en otros formatos también. 1724 01:25:00,840 --> 01:25:01,840 Y tú ya con eso 1725 01:25:02,840 --> 01:25:03,840 haces lo que quieras. 1726 01:25:03,840 --> 01:25:04,840 Yo en este caso 1727 01:25:04,840 --> 01:25:05,840 fijaos lo que hago. 1728 01:25:05,840 --> 01:25:06,840 Por CSS la cargo 1729 01:25:06,840 --> 01:25:07,840 de fondo 1730 01:25:07,840 --> 01:25:08,840 y ya está 1731 01:25:08,840 --> 01:25:09,840 y no hago nada más. 1732 01:25:09,840 --> 01:25:10,840 ¿Veis? 1733 01:25:10,840 --> 01:25:11,840 El API es muy sencilla 1734 01:25:11,840 --> 01:25:12,840 de manejar 1735 01:25:12,840 --> 01:25:13,840 y es muy potente a la vez. 1736 01:25:13,840 --> 01:25:14,840 Es muy interesante. 1737 01:25:14,840 --> 01:25:15,840 Por ejemplo 1738 01:25:15,840 --> 01:25:16,840 añadir un contacto 1739 01:25:16,840 --> 01:25:17,840 básicamente 1740 01:25:17,840 --> 01:25:18,840 lo que hago es 1741 01:25:18,840 --> 01:25:19,840 este es el código 1742 01:25:20,840 --> 01:25:21,840 y digo 1743 01:25:23,840 --> 01:25:24,840 créame un objeto 1744 01:25:24,840 --> 01:25:25,840 de tipo 1745 01:25:25,840 --> 01:25:26,840 contacto 1746 01:25:27,840 --> 01:25:28,840 le meto los 1747 01:25:28,840 --> 01:25:29,840 los valores 1748 01:25:32,840 --> 01:25:33,840 le meto campos adicionales 1749 01:25:35,840 --> 01:25:36,840 y le pongo 1750 01:25:36,840 --> 01:25:37,840 el nombre 1751 01:25:37,840 --> 01:25:38,840 y le pongo 1752 01:25:38,840 --> 01:25:39,840 el nombre 1753 01:25:39,840 --> 01:25:40,840 y le pongo 1754 01:25:40,840 --> 01:25:41,840 el nombre 1755 01:25:41,840 --> 01:25:42,840 y le pongo 1756 01:25:42,840 --> 01:25:43,840 el nombre 1757 01:25:43,840 --> 01:25:44,840 y le pongo 1758 01:25:45,840 --> 01:25:46,840 y 1759 01:25:46,840 --> 01:25:47,840 lo guardo 1760 01:25:48,840 --> 01:25:49,840 y esto es la función 1761 01:25:49,840 --> 01:25:50,840 de éxito 1762 01:25:50,840 --> 01:25:51,840 y esta es la función 1763 01:25:51,840 --> 01:25:52,840 de error. 1764 01:25:52,840 --> 01:25:53,840 Que directamente 1765 01:25:53,840 --> 01:25:54,840 como era poco código 1766 01:25:54,840 --> 01:25:55,840 lo puse aquí 1767 01:25:55,840 --> 01:25:56,840 como funciones declaradas. 1768 01:25:58,840 --> 01:25:59,840 Y ya está. 1769 01:25:59,840 --> 01:26:00,840 Y así accedéis al API 1770 01:26:00,840 --> 01:26:01,840 del teléfono. 1771 01:26:01,840 --> 01:26:02,840 Es muy potente. 1772 01:26:02,840 --> 01:26:03,840 Entonces este es el API 1773 01:26:03,840 --> 01:26:04,840 de PhoneGap. 1774 01:26:08,840 --> 01:26:09,840 Entonces tenéis 1775 01:26:09,840 --> 01:26:10,840 acceso al acelerómetro 1776 01:26:11,840 --> 01:26:12,840 tenéis acceso 1777 01:26:12,840 --> 01:26:13,840 a la cámara 1778 01:26:13,840 --> 01:26:14,840 tenéis acceso 1779 01:26:14,840 --> 01:26:15,840 a la captura de streaming 1780 01:26:15,840 --> 01:26:16,840 de vídeo y de audio 1781 01:26:17,840 --> 01:26:18,840 compás 1782 01:26:18,840 --> 01:26:19,840 que es lo que es la brújula 1783 01:26:19,840 --> 01:26:20,840 para saber dónde apunta 1784 01:26:20,840 --> 01:26:21,840 el navegador 1785 01:26:21,840 --> 01:26:22,840 tenéis acceso 1786 01:26:22,840 --> 01:26:23,840 para saber si el móvil 1787 01:26:23,840 --> 01:26:24,840 está conectado o no 1788 01:26:24,840 --> 01:26:25,840 esto lo uso yo 1789 01:26:25,840 --> 01:26:26,840 por ejemplo 1790 01:26:26,840 --> 01:26:27,840 para detectar 1791 01:26:27,840 --> 01:26:28,840 si estamos online 1792 01:26:28,840 --> 01:26:29,840 y offline 1793 01:26:29,840 --> 01:26:30,840 porque yo por ejemplo 1794 01:26:30,840 --> 01:26:31,840 si estás trabajando 1795 01:26:31,840 --> 01:26:32,840 offline 1796 01:26:32,840 --> 01:26:33,840 y ha expirado la caché 1797 01:26:33,840 --> 01:26:34,840 aunque haya expirado 1798 01:26:34,840 --> 01:26:35,840 la caché 1799 01:26:35,840 --> 01:26:36,840 como estás offline 1800 01:26:36,840 --> 01:26:37,840 tiro de ella 1801 01:26:37,840 --> 01:26:38,840 para sacar datos 1802 01:26:38,840 --> 01:26:39,840 y tal 1803 01:26:39,840 --> 01:26:40,840 tienes el API 1804 01:26:40,840 --> 01:26:41,840 para contactos 1805 01:26:41,840 --> 01:26:42,840 información del dispositivo 1806 01:26:42,840 --> 01:26:43,840 eventos 1807 01:26:43,840 --> 01:26:44,840 por ejemplo 1808 01:26:44,840 --> 01:26:45,840 si alguien toca el menú 1809 01:26:45,840 --> 01:26:46,840 el botón de menú 1810 01:26:46,840 --> 01:26:47,840 del Android 1811 01:26:47,840 --> 01:26:48,840 puedes recibir un evento 1812 01:26:49,840 --> 01:26:50,840 tienes acceso 1813 01:26:50,840 --> 01:26:51,840 al sistema de archivos 1814 01:26:51,840 --> 01:26:52,840 del móvil 1815 01:26:53,840 --> 01:26:54,840 para guardar 1816 01:26:54,840 --> 01:26:55,840 el SD card 1817 01:26:55,840 --> 01:26:56,840 lo que quieras 1818 01:26:56,840 --> 01:26:57,840 geolocalización 1819 01:26:57,840 --> 01:26:58,840 media 1820 01:26:58,840 --> 01:26:59,840 que es 1821 01:27:00,840 --> 01:27:01,840 abrir un 1822 01:27:01,840 --> 01:27:02,840 reproductor de MP3 1823 01:27:02,840 --> 01:27:03,840 y todo eso 1824 01:27:03,840 --> 01:27:04,840 notificaciones 1825 01:27:04,840 --> 01:27:05,840 que eso es 1826 01:27:05,840 --> 01:27:06,840 lo de 1827 01:27:06,840 --> 01:27:07,840 sacar el típico 1828 01:27:07,840 --> 01:27:08,840 PIP 1829 01:27:08,840 --> 01:27:09,840 en la barra superior 1830 01:27:09,840 --> 01:27:10,840 de Android 1831 01:27:10,840 --> 01:27:11,840 o el típico 1832 01:27:12,840 --> 01:27:13,840 y almacenamiento 1833 01:27:13,840 --> 01:27:14,840 que esto 1834 01:27:14,840 --> 01:27:15,840 en realidad 1835 01:27:15,840 --> 01:27:16,840 es 1836 01:27:16,840 --> 01:27:17,840 la implementación 1837 01:27:17,840 --> 01:27:18,840 de 1838 01:27:18,840 --> 01:27:19,840 esto es para 1839 01:27:19,840 --> 01:27:20,840 dispositivos móviles 1840 01:27:20,840 --> 01:27:21,840 que no tienen navegadores 1841 01:27:21,840 --> 01:27:22,840 WebKit 1842 01:27:22,840 --> 01:27:23,840 implementa 1843 01:27:23,840 --> 01:27:24,840 la especificación 1844 01:27:24,840 --> 01:27:25,840 WWTC 1845 01:27:25,840 --> 01:27:26,840 de local storage 1846 01:27:26,840 --> 01:27:27,840 de almacenamiento local 1847 01:27:28,840 --> 01:27:29,840 de hecho 1848 01:27:29,840 --> 01:27:30,840 si os molan 1849 01:27:30,840 --> 01:27:31,840 las especificaciones 1850 01:27:31,840 --> 01:27:32,840 de WWTC 1851 01:27:32,840 --> 01:27:33,840 y miráis esto 1852 01:27:33,840 --> 01:27:34,840 veréis que 1853 01:27:34,840 --> 01:27:35,840 esta 1854 01:27:35,840 --> 01:27:36,840 es la especificación 1855 01:27:36,840 --> 01:27:37,840 del WWTC 1856 01:27:37,840 --> 01:27:38,840 de gestión de archivos 1857 01:27:38,840 --> 01:27:39,840 en local 1858 01:27:39,840 --> 01:27:40,840 de HTML5 1859 01:27:41,840 --> 01:27:42,840 y lo hace muy bien 1860 01:27:42,840 --> 01:27:43,840 porque han hecho el API 1861 01:27:43,840 --> 01:27:44,840 compatible 1862 01:27:44,840 --> 01:27:45,840 para cuando todos los navegadores 1863 01:27:45,840 --> 01:27:46,840 lo soporten 1864 01:27:46,840 --> 01:27:47,840 ir quitándose ellos cosas 1865 01:27:47,840 --> 01:27:48,840 y está muy bien 1866 01:27:50,840 --> 01:27:51,840 es un proyecto OpenSource 1867 01:27:51,840 --> 01:27:52,840 lo compró Adobe 1868 01:27:52,840 --> 01:27:53,840 y ahora mismo 1869 01:27:53,840 --> 01:27:54,840 está en el incubator 1870 01:27:54,840 --> 01:27:55,840 de Apache 1871 01:27:55,840 --> 01:27:56,840 de la fundación Apache 1872 01:27:57,840 --> 01:27:58,840 porque se va a gestionar 1873 01:27:58,840 --> 01:27:59,840 desde la fundación Apache 1874 01:27:59,840 --> 01:28:00,840 o sea que tiene cierto recorrido 1875 01:28:03,840 --> 01:28:04,840 he hecho una hora y media 1876 01:28:04,840 --> 01:28:05,840 exacta 1877 01:28:05,840 --> 01:28:06,840 y bueno 1878 01:28:06,840 --> 01:28:07,840 espero que haya sido útil 1879 01:28:07,840 --> 01:28:08,840 la presentación 1880 01:28:08,840 --> 01:28:09,840 y bueno 1881 01:28:09,840 --> 01:28:10,840 un poco 1882 01:28:11,840 --> 01:28:12,840 consideraciones 1883 01:28:12,840 --> 01:28:13,840 y demás 1884 01:28:13,840 --> 01:28:14,840 nada 1885 01:28:14,840 --> 01:28:15,840 haceros hincapié 1886 01:28:15,840 --> 01:28:16,840 en que 1887 01:28:17,840 --> 01:28:18,840 no penséis que la aplicación 1888 01:28:18,840 --> 01:28:19,840 para móviles 1889 01:28:19,840 --> 01:28:20,840 nativa 1890 01:28:20,840 --> 01:28:21,840 y el tema gráfico 1891 01:28:21,840 --> 01:28:22,840 son 1892 01:28:22,840 --> 01:28:23,840 se tienen que pelear 1893 01:28:23,840 --> 01:28:24,840 hay que buscar diferencias 1894 01:28:24,840 --> 01:28:25,840 entre ellos 1895 01:28:25,840 --> 01:28:26,840 son compatibles 1896 01:28:26,840 --> 01:28:27,840 y de hecho 1897 01:28:27,840 --> 01:28:28,840 su finalidad es diferente 1898 01:28:30,840 --> 01:28:31,840 y por otro lado 1899 01:28:31,840 --> 01:28:32,840 si queréis hacer algo 1900 01:28:32,840 --> 01:28:33,840 nativo 1901 01:28:33,840 --> 01:28:34,840 bueno 1902 01:28:34,840 --> 01:28:35,840 queréis hacer algo 1903 01:28:35,840 --> 01:28:36,840 a una aplicación para móviles 1904 01:28:36,840 --> 01:28:37,840 propia de vuestra universidad 1905 01:28:38,840 --> 01:28:39,840 sin que os supongo 1906 01:28:39,840 --> 01:28:40,840 una trabajera 1907 01:28:40,840 --> 01:28:41,840 de hacer una versión de Android 1908 01:28:41,840 --> 01:28:42,840 de hacer una versión iPhone 1909 01:28:42,840 --> 01:28:43,840 y de hacer una versión Blackberry 1910 01:28:43,840 --> 01:28:44,840 o lo que sea 1911 01:28:45,840 --> 01:28:46,840 pues tenéis esto 1912 01:28:46,840 --> 01:28:47,840 que es un framework 1913 01:28:47,840 --> 01:28:48,840 de más alto nivel 1914 01:28:48,840 --> 01:28:49,840 que ya está 1915 01:28:49,840 --> 01:28:50,840 lo suficientemente avanzado 1916 01:28:50,840 --> 01:28:51,840 para que se pueda trabajar 1917 01:28:51,840 --> 01:28:52,840 sobre él 1918 01:28:52,840 --> 01:28:53,840 y que procuraré mantener 1919 01:28:53,840 --> 01:28:54,840 en medio de lo posible 1920 01:28:54,840 --> 01:28:55,840 gracias a la empresa 1921 01:28:57,840 --> 01:28:58,840 y nada 1922 01:28:58,840 --> 01:28:59,840 animaros 1923 01:28:59,840 --> 01:29:00,840 que yo estaré por ahí 1924 01:29:00,840 --> 01:29:01,840 por los foros 1925 01:29:01,840 --> 01:29:02,840 si queréis 1926 01:29:02,840 --> 01:29:03,840 si tenéis cualquier duda 1927 01:29:03,840 --> 01:29:04,840 y consulta 1928 01:29:04,840 --> 01:29:05,840 ya os advierto 1929 01:29:05,840 --> 01:29:06,840 que el camino 1930 01:29:06,840 --> 01:29:07,840 es difícil 1931 01:29:07,840 --> 01:29:08,840 hasta que os habituéis 1932 01:29:08,840 --> 01:29:09,840 con las tecnologías 1933 01:29:09,840 --> 01:29:10,840 no con las herramientas 1934 01:29:12,840 --> 01:29:13,840 porque si no habéis 1935 01:29:13,840 --> 01:29:14,840 trabajado antes 1936 01:29:14,840 --> 01:29:15,840 con CSS 1937 01:29:15,840 --> 01:29:16,840 Javascript 1938 01:29:16,840 --> 01:29:17,840 HTML 1939 01:29:17,840 --> 01:29:18,840 a ya más cierto nivel 1940 01:29:18,840 --> 01:29:19,840 os vais a encontrar 1941 01:29:19,840 --> 01:29:20,840 en algunos caminos 1942 01:29:20,840 --> 01:29:21,840 que como no tengáis 1943 01:29:21,840 --> 01:29:22,840 cierto bagaje 1944 01:29:22,840 --> 01:29:23,840 os va a costar salir 1945 01:29:23,840 --> 01:29:24,840 pero para eso 1946 01:29:24,840 --> 01:29:25,840 hay que ir a los foros 1947 01:29:25,840 --> 01:29:26,840 y yo creo 1948 01:29:26,840 --> 01:29:27,840 que esto es el futuro 1949 01:29:27,840 --> 01:29:28,840 hay muchas aplicaciones 1950 01:29:28,840 --> 01:29:29,840 hechas con PhoneGap 1951 01:29:29,840 --> 01:29:30,840 la BBC 1952 01:29:30,840 --> 01:29:31,840 tiene una aplicación 1953 01:29:31,840 --> 01:29:32,840 de noticias 1954 01:29:32,840 --> 01:29:33,840 hecha con PhoneGap 1955 01:29:33,840 --> 01:29:34,840 hay muchos ejemplos 1956 01:29:34,840 --> 01:29:35,840 casos de uso 1957 01:29:35,840 --> 01:29:36,840 si buscáis información 1958 01:29:36,840 --> 01:29:37,840 en Google 1959 01:29:37,840 --> 01:29:38,840 veréis que es la aplicación 1960 01:29:38,840 --> 01:29:39,840 que casi todo el mundo 1961 01:29:39,840 --> 01:29:40,840 recorrerá 1962 01:29:40,840 --> 01:29:41,840 la combinación 1963 01:29:41,840 --> 01:29:42,840 PhoneGap 1964 01:29:42,840 --> 01:29:43,840 JQuery Mobile 1965 01:29:43,840 --> 01:29:44,840 es lo que casi todo el mundo 1966 01:29:44,840 --> 01:29:45,840 recomienda 1967 01:29:45,840 --> 01:29:46,840 hay ciertas 1968 01:29:46,840 --> 01:29:47,840 cuestiones 1969 01:29:47,840 --> 01:29:48,840 a tener en cuenta 1970 01:29:48,840 --> 01:29:49,840 sobre todo 1971 01:29:49,840 --> 01:29:50,840 como el modelo 1972 01:29:50,840 --> 01:29:51,840 de JQuery Mobile 1973 01:29:51,840 --> 01:29:52,840 manipula el DOM 1974 01:29:52,840 --> 01:29:53,840 lo que os he dicho 1975 01:29:53,840 --> 01:29:54,840 que la parte de la cabecera 1976 01:29:54,840 --> 01:29:55,840 solo se carga 1977 01:29:55,840 --> 01:29:56,840 en la primera ejecución 1978 01:29:56,840 --> 01:29:57,840 de la página 1979 01:29:57,840 --> 01:29:58,840 y no en el resto 1980 01:29:58,840 --> 01:29:59,840 que os pueden llevar a confusión 1981 01:29:59,840 --> 01:30:00,840 pero con un poquito 1982 01:30:00,840 --> 01:30:01,840 de prueba, error, ensayo 1983 01:30:01,840 --> 01:30:02,840 y demás 1984 01:30:02,840 --> 01:30:03,840 siendo unas cuantas horas 1985 01:30:03,840 --> 01:30:04,840 se pueden hacer cosas 1986 01:30:04,840 --> 01:30:05,840 según una cosa 1987 01:30:05,840 --> 01:30:06,840 así vais a tardar 1988 01:30:06,840 --> 01:30:07,840 la curva de aprendizaje 1989 01:30:07,840 --> 01:30:08,840 va a ser igual 1990 01:30:08,840 --> 01:30:09,840 bueno, muchísimo menor 1991 01:30:09,840 --> 01:30:10,840 que para 1992 01:30:10,840 --> 01:30:11,840 si os tenéis que poner 1993 01:30:11,840 --> 01:30:12,840 a hacer aplicaciones 1994 01:30:12,840 --> 01:30:13,840 para Android 1995 01:30:13,840 --> 01:30:14,840 o para iPhone 1996 01:30:14,840 --> 01:30:15,840 si ya venís de este mundo 1997 01:30:15,840 --> 01:30:16,840 y vais a tener 1998 01:30:16,840 --> 01:30:17,840 algo mantenible 1999 01:30:17,840 --> 01:30:18,840 en el futuro 2000 01:30:18,840 --> 01:30:19,840 que no se va a quedar estancado 2001 01:30:19,840 --> 01:30:20,840 la versión para móviles 2002 01:30:20,840 --> 01:30:21,840 1.0 2003 01:30:21,840 --> 01:30:22,840 que ahí se quedó 2004 01:30:22,840 --> 01:30:23,840 y se terminó 2005 01:30:23,840 --> 01:30:24,840 vale y nada 2006 01:30:24,840 --> 01:30:25,840 os animo a 2007 01:30:25,840 --> 01:30:26,840 que participéis en los foros 2008 01:30:26,840 --> 01:30:27,840 el plugin 2009 01:30:27,840 --> 01:30:28,840 como os dije 2010 01:30:28,840 --> 01:30:29,840 lo publiqué ayer 2011 01:30:29,840 --> 01:30:30,840 porque os quería 2012 01:30:30,840 --> 01:30:31,840 y no me lo han aprobado todavía 2013 01:30:31,840 --> 01:30:32,840 supongo que me lo aprobarán 2014 01:30:32,840 --> 01:30:33,840 porque ya me lo han dicho 2015 01:30:34,840 --> 01:30:35,840 nada 2016 01:30:35,840 --> 01:30:36,840 que sepáis que 2017 01:30:37,840 --> 01:30:38,840 que tuvo buena acogida 2018 01:30:42,840 --> 01:30:43,840 y bueno 2019 01:30:43,840 --> 01:30:44,840 si veis 2020 01:30:44,840 --> 01:30:45,840 los mensajes del foro 2021 01:31:00,840 --> 01:31:01,840 bueno este es 2022 01:31:01,840 --> 01:31:02,840 el público de Moodle 2023 01:31:02,840 --> 01:31:03,840 el propio Duyamas 2024 01:31:03,840 --> 01:31:04,840 dijo que 2025 01:31:04,840 --> 01:31:05,840 que esta era una buena forma 2026 01:31:05,840 --> 01:31:06,840 de 2027 01:31:06,840 --> 01:31:07,840 esta era la forma 2028 01:31:07,840 --> 01:31:08,840 en la que 2029 01:31:08,840 --> 01:31:09,840 esta es la forma 2030 01:31:09,840 --> 01:31:10,840 en la que va a tener 2031 01:31:10,840 --> 01:31:11,840 la aplicación para móviles 2032 01:31:11,840 --> 01:31:12,840 a futuro 2033 01:31:12,840 --> 01:31:13,840 o sea yo hablando 2034 01:31:13,840 --> 01:31:14,840 con gente de Moodle.org 2035 01:31:14,840 --> 01:31:15,840 con el Yorome 2036 01:31:15,840 --> 01:31:16,840 con 2037 01:31:16,840 --> 01:31:17,840 principalmente 2038 01:31:17,840 --> 01:31:18,840 me dijo 2039 01:31:18,840 --> 01:31:19,840 que ellos 2040 01:31:19,840 --> 01:31:20,840 la quieren hacer 2041 01:31:20,840 --> 01:31:21,840 en HTML5 2042 01:31:21,840 --> 01:31:22,840 pero que no lo ven 2043 01:31:22,840 --> 01:31:23,840 suficientemente maduro 2044 01:31:23,840 --> 01:31:24,840 todavía 2045 01:31:24,840 --> 01:31:25,840 por las cosas 2046 01:31:25,840 --> 01:31:26,840 de que hay que usar 2047 01:31:26,840 --> 01:31:27,840 frameworks 2048 01:31:27,840 --> 01:31:28,840 pero de aquí a dos años 2049 01:31:28,840 --> 01:31:29,840 seguramente 2050 01:31:29,840 --> 01:31:30,840 esté hecho en HTML5 2051 01:31:30,840 --> 01:31:31,840 dos o tres años 2052 01:31:31,840 --> 01:31:32,840 mientras tanto 2053 01:31:32,840 --> 01:31:33,840 si no que 2054 01:31:33,840 --> 01:31:34,840 os queréis aventurar 2055 01:31:34,840 --> 01:31:35,840 yo en el momento 2056 01:31:35,840 --> 01:31:36,840 que se haga para 2057 01:31:36,840 --> 01:31:37,840 HTML5 2058 01:31:37,840 --> 01:31:38,840 discontinúo el proyecto 2059 01:31:38,840 --> 01:31:39,840 porque ya no tendrá sentido 2060 01:31:39,840 --> 01:31:40,840 la idea es esta 2061 01:31:42,840 --> 01:31:43,840 así que eso es todo 2062 01:31:43,840 --> 01:31:44,840 gracias por asistir 2063 01:31:56,840 --> 01:31:57,840 bueno en el curso 2064 01:31:57,840 --> 01:31:58,840 perdonad 2065 01:31:58,840 --> 01:31:59,840 están todos los materiales 2066 01:31:59,840 --> 01:32:00,840 colgados 2067 01:32:01,840 --> 01:32:02,840 está todo 2068 01:32:02,840 --> 01:32:03,840 visible 2069 01:32:03,840 --> 01:32:04,840 los simuladores 2070 01:32:04,840 --> 01:32:05,840 son accesibles 2071 01:32:06,840 --> 01:32:07,840 y 2072 01:32:08,840 --> 01:32:09,840 el pdf está colgado 2073 01:32:12,840 --> 01:32:13,840 pondré una referencia 2074 01:32:13,840 --> 01:32:14,840 al proyecto este 2075 01:32:14,840 --> 01:32:15,840 y ya está