Esta primera versión de la aplicación está enfocada en la mejora de la experiencia de usuario respecto a Euskeraz ikasi. A nivel técnico, las mejoras que me gustaría realizar son:
- Rendimiento: Euskeraz ikasi se cierra solo con demasiada frecuencia y creo que usándola en un iPhone 4 no debería dar tantos problemas una aplicación basada en web. No sé si da los mismos problemas en Android ya que no le he dado tanto uso como para reproducir el problema, aunque por el momento me quiero centrar en iOS.
- Eliminación de framework: La aplicación Euskeraz ikasi usa jQuery Mobile como framework. Si quiero ampliar mis conocimientos en diseño web para móbiles hay que trabajar sin framework y crear los diferentes elementos HTML, CSS, gráficos y JavaScript. De todas formas, no me gusta demasiado jQuery Mobile ya que me parece lento a nivel de rendimiento y me parece mucho más interesante LungoJS.
- Eliminación de jQuery: Mi objetivo es programar sin el uso de jQuery para conocer mejor JavaScript. Aunque esta biblioteca es maravillosa por lo fácil que hace el trabajo en Javascript y la compatibilidad con navegadores, sobre todo a los que no tenemos perfil técnico, uno de mis objetivos es conocer mejor el Core de JavasCript.
- Carga de aplicación: La aplicación tarda bastante en arrancar y me interesa que sea más ágil para poder hacer las consultas más rápido.
Experiencia de usuario
Mi objetivo es organizar la aplicación para que sea lo más ágil posible la búsqueda de palabras. Para ello, voy a realizar los siguientes cambios:
- Eliminar pantallas intermedias: Para llegar al diccionario y para cambiar de diccionario tengo que pasar por una pantalla de inicio. La aplicación irá directamente a la pantalla de búsqueda de Euskera-Castellano, ya que es la que más uso. Quizás, si llego a la versión 4 le daré la opción al usuario de personalizar el diccionario con el que se inicia la aplicación.
- Eliminar pulsaciones: Hay que hacer demasiadas pulsaciones para buscar una palabra. Esto lo podemos resolver con un input de tipo search, que aunque en iOS no reconoce el botón cancel, podré recrear la funcionalidad con JavaScript. Otra cosa que creo innecesaria es el botón traducir ya que los resultados podrían ir apareciendo según se va escribiendo funcionando de forma similar a como lo hace el buscador de iOS. Además, donde más molesta se hace la búsqueda es en las nuevas búsquedas donde hay que hacer demasiadas pulsaciones:
- Pulsar en el input para darle foco.
- Pulsar de nuevo para ver las opciones: Seleccionar, Seleccionar todo y Pegar.
- Seleccionar la opción Seleccionar todo para borrar la palabra antigua cuando escribamos la nueva.
- Escribir la nueva palabra a buscar.
- Pulsar el botón Traducir
Con un input de tipo search las pulsaciones que habría que hacer serían:
- Pulsar en el boton cancel del input para borrar la búsqueda anterior. El input cogería automáticamente el foco.
- Escribir la nueva palabra a buscar.
- Optimización de interfaz: El funcionamiento del diccionario gira entorno al buscador y los cambios que he introducido en el mismo, input de tipo search, con botón cancel y resultados de búsqueda mientras se escribe, para conseguir visualizar los resultados con el menor número de acciones posibles y agilizar, de este modo, la búsqueda de palabras. Por otro lado, he separado en líneas diferentes la palabra y la traducción para mejorar la visualización, aunque ello requiera mayor espacio. Si llego a implementar opciones de personalización, creo que sería interesante plantear como opción el visualizar la palabra y la traducción en una mismo línea o en diferentes líneas.
- Orientación: Euskeraz ikasi sólo permite la orientación vertical. Cuando estoy leyendo un medio en posición horizontal y me surge la duda en alguna palabra y tengo que consultarla en el diccionario antes tengo que girar el dispositivo. Esta acción es especialmente molesta en el iPad. Por lo tanto, la aplicación debe poder usarse tanto en vertical como en horizontal. Además, con los nuevos gestos de iOS 5 en el iPad resulta muy cómodo leer por ejemplo en el navegador y cambiar al diccionario cuando surge una duda simplemente deslizando hacia la izquierda o derecha.
Problemas
Algunos de los problemas que tiene esta versión y que espero poder corregir en próximas versiones:
- Al iniciarse la aplicación aparece por un momento un parpadeo en blanco que creo que es ocasionada por algo en el JavaScript.
- Para comprobar si el problema anterior era producido por el JavaScript, al quitar el enlace al JS las imágenes y degradados tardan un momento en verse despues de desaparecer la imagen de startup. Este efecto no lo he visto en otras aplicaciones web por lo que supongo que será un problema en el CSS y no del navegador.
- La aplicación se cachea todos los archivos y usa la base de datos de Safari por lo que está pensada para funcionar sin conexión de datos, pero si entro en la aplicación sin estar conectado a Internet ésta me muestra una alerta de la falta de conexión a Internet, aunque luego la aplicación funciona correctamente.