interfaces adaptables al usuario
TRANSCRIPT
TSI-020301-2008-2
2
02 | Solución propuesta
04 | Fuzzy Knowledge-Eliciting Reasoner
03 | Directivas de preprocesado
00 |||| ÍÍÍÍndicendicendicendice
01 | Necesidad de interfaces adaptables
05 | Conclusiones
3
01 |||| Necesidad de interfaces adaptablesNecesidad de interfaces adaptablesNecesidad de interfaces adaptablesNecesidad 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
4
01 |||| Necesidad de interfaces adaptablesNecesidad de interfaces adaptablesNecesidad de interfaces adaptablesNecesidad 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.
5
02 | Solución propuesta
04 | Fuzzy Knowledge-Eliciting Reasoner
03 | Directivas de preprocesado
01 | Necesidad de interfaces adaptables
05 | Conclusiones
6
02 |Soluci|Soluci|Soluci|Solucióóóón propuestan propuestan propuestan propuesta
� 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
Ta
7
02 |Soluci|Soluci|Soluci|Solucióóóón propuestan propuestan propuestan propuestaTa
8
02 |Soluci|Soluci|Soluci|Solucióóóón propuestan propuestan propuestan propuesta
� 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
Ta
9
02 | Solución propuesta
04 | Fuzzy Knowledge-Eliciting Reasoner
03 | Directivas de preprocesado
01 | Necesidad de interfaces adaptables
05 | Conclusiones
10
03 |||| Directivas de preprocesadoDirectivas de preprocesadoDirectivas de preprocesadoDirectivas de preprocesado
� Existen tres tipos principales de directivas de preprocesado
� Condicionales
11
03 |||| Directivas de preprocesadoDirectivas de preprocesadoDirectivas de preprocesadoDirectivas de preprocesado
� De gestión de errores
� De parametrización
12
03 |||| Directivas de preprocesadoDirectivas de preprocesadoDirectivas de preprocesadoDirectivas 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.
13
02 | Solución propuesta
04 | Fuzzy Knowledge-Eliciting Reasoner
03 | Directivas de preprocesado
01 | Necesidad de interfaces adaptables
05 | Conclusiones
14
04 |||| Fuzzy KnowledgeFuzzy KnowledgeFuzzy KnowledgeFuzzy Knowledge----Eliciting ReasonerEliciting ReasonerEliciting ReasonerEliciting 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.
15
04 |||| Fuzzy KnowledgeFuzzy KnowledgeFuzzy KnowledgeFuzzy Knowledge----Eliciting ReasonerEliciting ReasonerEliciting ReasonerEliciting 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?
16
04 |||| Fuzzy KnowledgeFuzzy KnowledgeFuzzy KnowledgeFuzzy Knowledge----Eliciting ReasonerEliciting ReasonerEliciting ReasonerEliciting 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
17
04 |||| Fuzzy KnowledgeFuzzy KnowledgeFuzzy KnowledgeFuzzy Knowledge----Eliciting ReasonerEliciting ReasonerEliciting ReasonerEliciting Reasoner
� Estos datos nos permiten calcular la importancia de cada valor de cada capacidad
18
04 |||| Fuzzy KnowledgeFuzzy KnowledgeFuzzy KnowledgeFuzzy Knowledge----Eliciting ReasonerEliciting ReasonerEliciting ReasonerEliciting Reasoner
� Y la función de pertenencia
19
02 | Solución propuesta
04 | Fuzzy Knowledge-Eliciting Reasoner
03 | Directivas de preprocesado
01 | Necesidad de interfaces adaptables
05 | Conclusiones
20
05 |||| ConclusionesConclusionesConclusionesConclusiones
� 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.
COORDINADOR