 Soy Carlos Pérez, soy no soy CEO, soy CTO, soy perfil técnico y voy a resumir un poco en una frase que es Restoran 50. Restoran 50 es una tarjeta de un club gastronómico que te ofrece un 50% descuento en platos de los restaurantes asociados. No somos ningún grupo ni pretendemos serlo. Pretendemos ser un club en el cual los usuarios reciben un descuento en sus restaurantes favoritos. En el próximo año, ahora mismo solo estamos en Sevilla, pero el próximo año esperamos abrir más ciudades. Pero bueno, el tema de hoy en la charla va a ser los cinco puntos claves que vamos a…, en el que se basa nuestro punto clave de producto. El primero es sin ruido, el diseño es fundamental. Tenemos que tener en cuenta que es una página web de descuento, como tal. Tenemos que tener una sensación de honestidad, de que no vamos a recargar la página con banner, con pegatinas, con mucha información que cohíba al propio cliente cuando va a comprar. Con lo cual hemos hecho una página web con espacios, con colores puro, que respira ambiente, que no está recargado, con unas formas definidas y sobre todo unas fotos que realmente muestren los restaurantes y demás, unas fotos de calidad. Tiene también todo, al ser una página web destinada a descuentos y demás. Normalmente este tipo de páginas, como tenemos la guía de todos los restaurantes y demás, se usa mucho a acceder desde dispositivos móviles. Con lo cual, además de tener todos esos espacios, pues está un diseño totalmente responsive que ayuda a que el cliente pueda acceder a la información en cualquier momento. El segundo punto, la rapidez. Esta página está dedicada un poco dentro del mundo del comercio electrónico. Entonces, en el comercio electrónico cada segundo cuenta. Por tanto, teníamos que hacer que la página respondiese muy rápido, no solo a la hora de interfaz de usuario y la experiencia de usuario, sino en el propio característica técnica, característica del propio servidor y de la Administración. Queríamos que los administradores pudieran dar de alta rápidamente los restaurantes. ¿Cómo hemos hecho esto? Bueno, las partes técnicas utilizamos el W3 total caché conjuntamente con un CDN. Un CDN es un servidor que está exclusivamente dedicado a ofrecer archivos. Todo lo ofrece, no lleva nada de código, no lleva, simplemente se dedica a ofrecer los archivos de tal manera que la carga de trabajo, o sea, la carga de la página se divide entre la parte del servidor, que se encarga de toda la parte técnica y la parte de los archivos. Además de esto, el W3 total caché lleva una serie de elementos que optimiza todas las caché que lleva el W3. Lleva también un sistema, le hemos metido el minifile, que comprime todo lo que son los CSS y los Javascript en un único archivo y elimina todos los elementos que no necesitan, un salto de líneas, espacios y demás, para ofrecer una respuesta instantánea en este servicio. A nivel de experiencia de usuario, nos hemos centrado en que toda la parte que tenía que ver con listados de restaurantes debía de cargar de una manera rápida. Entonces, hemos utilizado toda la carga de filtros y demás a través de Ajax, a través de las propias herramientas que ofrece WordPress, dentro del Function PHP, hemos estado realizando ahí todas las modificaciones para que toda la carga que tienen que ver con los restaurantes se hagan por allá y no tenga que estar recargando toda la página cada vez que realizas un cambio en los filtros. Se realizan de hecho dos llamadas, una que es para cargar todos los restaurantes que son los HTML y la segunda es para cargar metainformación. La metainformación que obtenemos es el número de restaurantes y luego las posiciones del mapa, porque tenemos una parte de mapa donde van ubicando, según las coordenadas, donde está cada uno de esos restaurantes, según el filtro que utilizamos, todo por Ajax. En la parte de interfaz de usuario también nos centramos en el proceso de compra, realizar el proceso de compra de la tarjeta en un único paso, es decir, toda la información que nosotros necesitamos del cliente lo hacemos en un único paso. En ese formulario hemos implementado además un poco de inteligencia, por así decirlo, que es que hemos combinado el formulario de login con el formulario de registro. El mismo formulario vale para ambos casos. Os cuento un poco cómo funciona esto. Cuando tú introduces el correo electrónico, el sistema, en el momento que pasas al siguiente campo, te indica si ese correo electrónico forma parte del sistema o no forma parte del sistema. Si forma parte del sistema, te invitan a introducir la contraseña y si no, continuas rellenando el resto de campo. En el momento que introduces bien la contraseña automáticamente por Ajax se recargan el resto de campo, dirección, cuál es tu número de socio, cuándo te va a caducar, toda esa información te va cargando en ese momento, te recarga todo, sin saltar a otra página, sin que tengas que tocar ningún botón, en caso de que no metas bien la contraseña, te aparece el recuperar contraseña. Nuevamente ahí hemos hecho algo que queríamos meter rapidez. Si tú recuperas contraseña lo que te hace es que te ofrece, te envía un correo electrónico con una URL toquinizada, que significa que esté toquinizada, que lleva un toquin, un código dentro de la URL que en el momento que pinchas en el enlace, te identifica y te mete dentro del sistema, con lo cual no son esos correos de recuperar contraseña en el que te envían una contraseña, tienes que copiarlas, tienes que ponerla en otra nueva y meter una nueva contraseña, sino que directamente te identifican los sistemas, cambias la contraseña y puedes realizar la compra. Todo el mundo sabe que si llevo un dispositivo móvil, pues nos resulta complicado copiar y pegar y seguir todos esos pasos. En el propio página de compra también encontramos que utilizamos una herramienta a la hora del pago con tarjeta, que es PayMill. PayMill nos ofreció una serie de APIs para poder metiendo, introduciendo el número de la cuenta de más, comunicarnos con esta plataforma de pago, sin necesidad de que saltara a una ventana del banco y que pudieran ahí pagar. Esta herramienta nos permite perfectamente tener seguridad, como puede ser el 3D Secure y demás, haciéndote saltar un pop-up para que introduzcas el segundo código y más. Para terminar el punto de rapidez es la parte de administración. Queremos que la parte de administración fuera rápida de dar de alta un restaurante. Para ello se crearon pops personalizados para el restaurante, donde lleva una serie de metas para tener, pues, cuando abre los horarios, tipo de cocina, una serie de elementos. Además, lo apoyamos con tacionomías, que son los que nos ayudan después dentro de WordPress. Las tacionomías nos permiten realizar filtrados. Las tacionomías, pues, tenemos tacionomías desde los días que abren, los tipos de comida y la ciudad y lugar. Vale, todo esto se va configurando dentro del función PHP y son elementos de WordPress, herramientas que te ofrece WordPress. Incluso dentro del propio esos metas llevan códigos, por ejemplo, a la parte del mapa. Queremos que la gente, cuando tienen introducir coordenadas, que no tenga que estar escribiendo coordenadas, sino que le aparece un mapa y selecciona dónde está el restaurante directamente, además de poner la dirección. Vale, todo esto se va a hacer para que sea más amigable al administrador. El punto 3, el SEO. Tengo que tener en cuenta de que esta página web, todas las páginas web necesitan tener un buen posicionamiento en Internet. Para ello, nos apoyamos en Webmaster Tools, que siempre es la herramienta de Google al que le tienes que ofrecer toda la información de QML de cómo está estructurado tu contenido. Vale, el problema que tenemos es que en Restaurante Encuentra, lo que ocurre es que hay diferentes pospersonalizados, como pueden ser los restaurantes o las tacionomías y demás. Entonces tuvimos que usar el Yoast, el plugin WordPress de Yoast para generar lo que son QML de tacionomías, de días, de lugares, de demás. Y eso es lo que le ofrecemos a Google. ¿Qué más? La web semántica, algo que llevan años diciendo y que poco a poco se va integrando. La web semántica consiste en darle en que la propia web tenga meta información que habla sobre los contenidos. En este caso, nosotros hemos utilizado todo lo que habla de esquemas.org, indicando que la parte esquemas.org te ofrece los elementos para Restaurante. Establecemos nombre del restaurante, dirección del restaurante, iremos incorporando más elementos del restaurante para que, a la hora de que Google identifique la información de los restaurantes, pueda obtener toda esa meta información y completemos toda la web semántica. La seguridad es otro punto clave. En la web hemos realizado una serie de modificaciones que tienen que ver con ocultar el panel de Administración de WordPress, mediante el WP Petr Security y modificaciones en el .htaces. Bloqueamos el acceso al WP Admin mejorando un poco la seguridad a la hora de que alguien intente ver. Otra de las cosas claves que hemos metido ha sido la eliminación de toda información sobre la versión que utilizamos de WordPress. Esto permite que, si tuviese alguna vulnerabilidad, la versión que estamos utilizando de WordPress pueda ser usada por personas que no queremos que entren o que encuentren esas vulnerabilidades y puedan explotar parte de la web. Hay funciones que bloquea el mostrar la información de la versión. Hay muchos métodos para averiguar que es un WordPress, pero al menos no saben qué versión es. Dentro de la seguridad, todo lo que son transacciones con bancos, pagos y demás, todo se hace mediante el protocolo HTTPS. En el momento que entrasen la página de tarjeta, entrasen en HTTPS, todas las comunicaciones que se establecen con PayMill, que es la plataforma de pago, se realizan mediante el protocolo seguro. Se ofrece bastante garantía esa plataforma de pago. Está revisando cuáles son sus protocolos y demás y he visto bastante seguro. Las comunicaciones con el sistema de clientes y demás también se realiza todo por protocolo seguro. Vamos a ir al último punto. La cohesión. Las webs tienen que estar cohesionadas con una serie de herramientas y series de herramientas, otras formas, sincronicidad. Voy a contar un poco cómo lo debemos desarrollar en el Restarón 50. Utilizamos WordPress para toda la parte de contenido, pero para la lógica de negocios, todo lo que tiene que ver con usuarios, realizar un análisis de todos los cobros, las comunicaciones con PayMill a la hora de realizar el cobro, eso lo hacemos un poco con una herramienta que está un poco paralela a la parco con WordPress, es Codignite. Codignite es un framework de desarrollo de PHP y a la hora de integrarlo con WordPress, existe en plugin que lo integran, pero en ese momento decidí que lo iba a externalizar y iba a utilizar unas APIs propias. ¿Por qué? Porque de esta manera, si utilizamos herramientas externas, por ejemplo, dispositivos móviles o herramientas de tercero de restaurantes que quieran atacar a nuestro sistema, me resultaba mucho más sencillo tener mi framework propio que no comunicarme directamente con WordPress y recargar a su vez WordPress. Codignite es un framework bastante rápido, no tiene problemas, pero no quiero meterlo dentro de que cargue el núcleo de WordPress y además el núcleo de Codignite. Dentro de este framework utilizamos luego una serie de herramientas, como es Mandrill. Mandrill es una herramienta que depende de MailChimp, ¿vale? Mandrill se utiliza para envío de correo electrónico de tipo transaccional, es decir, cuando hay un nuevo usuario, el email de bienvenida, el email de que le va a caducar la cuenta, el email de recuperar contraseña, incluso promociones que podamos hacer internas dentro de la herramienta manualmente, se realizan este tipo de correo. ¿Qué te permite Mandrill? Mandrill, lo que utilizamos son una serie de API, bueno, no necesitan API, das de alta el SMTP, te dan la información y lo conectan. Mandrill te permite todas las URL que enviamos dentro del correo electrónico llevan un tracking. Tú puedes ver si ese email ha sido abierto, si no ha sido abierto, también tienes por otra parte un control cuando alguien renueva o alguien compra una nueva tarjeta, dentro del panel de Mandrill también tienes un poco de una copia de qué correo se están enviando porque hay nuevo usuario. Además de Mandrill, que bueno, además de Mandrill tenemos MailChimp, ¿vale? Hemos creado, utilizando las APIs de MailChimp, hemos creado una sincronización, en este caso lo hacemos manualmente, antes de enviar un letter y demás, para tener todos los usuarios dentro de MailChimp, ¿vale? Además de MailChimp, como utilizamos la API, utilizamos toda una serie de campos personalizables. Podemos enviarle MailChimp dentro del listado, además del correo electrónico, podemos enviarle cuál es el número de socios cuando le caduca la tarjeta para hacer filtrados y demás. Y además de eso le enviamos nuevamente el token, las URL tocanizadas para login. De estas maneras, cuando realizamos un newsletter, le enviamos un correo electrónico que cuando pincha en cualquiera de los enlaces, automáticamente le loguea dentro de la plataforma. Cada usuario no tiene ni que introducir nuevamente su login, sino que directamente pincha en el correo del newsletter y está dentro del sistema, puede realizar todas sus operaciones. ¿Qué más cosas hemos integrado? Hemos integrado Facebook, las APIs de Facebook. Queremos, hay mucha gente que olvida su contraseña, su usuario y su contraseña o que simplemente no quiere meterse usuarios, ¿vale? Entonces, tienes un botón de Facebook, automáticamente te loguea y cuando te identificas dentro del sistema, en la parte superior te carga tu panel, por así decirlo, pone tu foto de Facebook y luego los accesos a tarjeta y a tu dato. ¿Qué más, qué más, qué más? Yo creo que ya poco más. Integración con herramientas, sí, hemos metido más herramientas, pero yo creo que prácticamente podremos pasar al turno de preguntas, que seguro que hay muchos que quieren saber, perfecto.