3. 01 | Necesidad de interfaces adaptables
Colectivos entre los que la adopción de nuevas tecnologías es más lenta
Fuente: Kaye, H.S., Computer and Internet Use among People with Disabilities, in Disability Statistics Report 2000
3
4. 01 | Necesidad de interfaces adaptables
El envejecimiento de la población es cada vez más pronunciado
Precisamente es a estos dos colectivos (discapacitados y ancianos) a los que más puede
ayudar la tecnología a aumentar su independencia:
Compras on-line
Socialización
Guiado
Acceso a publicaciones
Ayudas en los dispositivos móviles
Uno de los principales problemas radica en la falta de adaptación de los interfaces a las
capacidades de los usuarios.
Los desarrolladores nos centramos muchas veces más en la tecnología que en los
usuarios.
4
6. Ta
02 |Solución propuesta
|Solució
Framework para la creación de interfaces basado en las capacidades de los usuarios.
Existen diferentes enfoques a la hora de desarrollar frameworks para la creación de
interfaces:
Mark-up languages: Open Laszlo
Uso de factorías: GWT, EMI2lets…
Directivas de preprocesado: Antenna, J2ME Polish…
Después de analizas las ventajas e inconvenientes de cada enfoque nos decidimos por el
uso de las directivas de preprocesado:
Las directivas no están ligadas a una única plataforma.
El desarrollador puede utilizar su plataforma/lenguaje preferido para crear la aplicación
6
8. Ta
02 |Solución propuesta
|Solució
Las capacidades se dividen en dos grupos: de dispositivo y de usuario.
Las capacidades de dispositivo se basan en WURFL 2.9.5: Product_info, display,
image_format…
Las capacidades de usuario se dividen en 5 grupos
8
10. 03 | Directivas de preprocesado
Existen tres tipos principales de directivas de preprocesado
Condicionales
10
11. 03 | Directivas de preprocesado
De gestión de errores
De parametrización
11
12. 03 | Directivas de preprocesado
Para interpretar las directivas se hace uso de Jython.
Para evitar posibles problemas el sistema comprueba que sólo se puedan
usar funciones de Python que se encuentran en una whitelist
Aun así el preprocesador podría ser vulnerable a ataques mediante creación
de variables grandes que generarán errores de heap overflow, aunque esto
sólo generaría errores en compilación.
12
14. Knowledge-
04 | Fuzzy Knowledge-Eliciting Reasoner
En algunos casos los valores de capacidades indicados en los perfiles de dispositivo y
usuario no se podrán usar directamente:
Ej: El desarrollador quiere que un control sólo se muestre si la pantalla es “grande”
El uso de reglas difusas permite un lenguaje mucho más natural en la creación de las
mismas:
IF screensize IS big AND resolution IS normal
THEN videoSuitability IS high;
El problema es que el concepto “grande” no está directamente relacionado con unos
valores, sino que depende del tamaño del resto de dispositivos existentes.
Un dispositivo es “grande” comparado con otros
También depende del momento.
Un dispositivo que es “grande” hoy probablemente no lo sea dentro de 4 años.
14
15. Knowledge-
04 | Fuzzy Knowledge-Eliciting Reasoner
¿Cuáles son las características de un dispositivo medio?
No todos los dispositivos pueden tener el mismo peso a la hora de hacer este cálculo.
Algunos dispositivos tendrán muchas más unidades en el mercado.
No existen datos públicos de unidades vendidas.
¿Cómo podemos saber cual es la popularidad de un
dispositivo?
15
16. Knowledge-
04 | Fuzzy Knowledge-Eliciting Reasoner
Uso de Google Trends para realizar una estimación de la popularidad de cada dispositivo a
lo largo del tiempo.
Además los datos pueden ser geolocalizados para mayor precisión
16
17. Knowledge-
04 | Fuzzy Knowledge-Eliciting Reasoner
Estos datos nos permiten calcular la importancia de cada valor de cada capacidad
17
20. 05 | Conclusiones
Nunca debemos perder de vista que queremos que el mayor número de usuarios use
nuestras aplicaciones.
Con el envejecimiento de la población el grupo de usuarios representado por los ancianos
y los discapacitados es cada vez más importante.
Por eso es importante adaptar la aplicación a las capacidades de los diferentes usuarios.
20