imhotep
DESCRIPTION
Presentation of the Imhotep framework in the IWAAL 2010 conference. Imhotep is an user-centric framework for adaptative interfaces.TRANSCRIPT
A user-centric approach to adaptable mobile interfaces
Aitor Almeida, Pablo Orduña, Eduardo Castillejo, Diego López-de-IpiñaDeustoTech –Deusto Institute of Technology
Avenida de las Universidades 24,48007 Bilbao (Spain)
{aitor.almeida, pablo.orduna, eduardo.castillejo, dipina}@deusto.es
Marcos SacristánTreelogic
Parque Tecnológico de Asturias · Parcela 30E33428 Llanera · ASTURIAS (Spain)[email protected]
1. Need for adaptative interfaces2. Framework architecture3. Preprocessor directives4. Fuzzy Knowledge-Eliciting Reasoner5. Conclusions and future work
Need for adaptative interfaces
• Less technology users among elderly and people with disabilities
Kaye, H.S., Computer and Internet Use among People with Disabilities, in Disability Statistics Report 2000, Department of Education, National Institute of: Washington D.C.
Need for adaptative interfaces
• This user base is going to grow even more with the increasing of average age in Europe.
Andrew Arch. A Review of Literature Relating to Web Accessibility and Ageing.
Need for adaptative interfaces
• Developers traditionally tend to ignore or neglect this user base– The individual user groups (each disability have
different requirements) may not be big enough to justify the additional development costs
– Developing accessible applications can be difficult.
Need for adaptative interfaces
• Our hypothesis: “Providing tools that ease the development of adaptative, user-centric applications will encourage the creation of accessible AAL applications”
Framework architecture
• To this end we have created the Imhotep framework
• Design objectives:– Make the framework platform independent– Reduce the adoption costs– Help AAL programmers without expertise in
accessible applications – Practical down-to-earth approach
Framework architecture
• Composed by three main elements:– The preprocessor directives– The adaptation server– The fuzzy knowledge-eliciting reasoner (integrated
in the adaptation server)
Framework architecture
User capabilities
• Initially divided the user capabilities into four groups: Sensorial, Cognitive, Physical and Communicational.– Later we added the Combined group to represent the
synergies generated by the accumulation of various disabilities.
Device capabilities
• We have used WURFL 2.9.5 to identify the device capabilities.– An open source XML database containing the data
about the features and capabilities of a large number of mobile devices.
Preprocessor Directives
• Used to annotate the code to state which part should be executed.
• Based on the J2MEPolish approach to preprocessor directives.• Identified by:– //# in languages such as Java, C# or C++,– #// in languages such as Python or Perl– ‘// in VB.NET.
• Three types of directives:– Conditionals– Error handling– Code parameterization
Preprocessor Directives
• Conditional directives can be used to avoid the compilation of fragments of code if certain conditions are matched. These conditions can include calls to functions provided by the framework.
Preprocessor Directives
• Error handling directives can be used to report an error in order to manage unhandled situations.
Preprocessor Directives
• With the code parameterization developers can directly store in code variables the system ones.
FUZZY KNOWLEDGE-ELICITING REASONER
• Objetives– To infer new user and device capabilities from
those specified in the profiles.– To enable the AAL developers to abstract from the
crisp values (the user has less than 3 dioptres) in favor of more natural concepts (the user can see without a significant problem).
FUZZY KNOWLEDGE-ELICITING REASONER
• The developer might only want to establish high level asserts such as "is the screen big?" or "is the processor fast?“– Problem some of these asserts depend on the global market of
mobile devices at a particular moment in a particular place– Solution use popularity metrics (Google Trends) to estimate the
market share of the devices.
FUZZY KNOWLEDGE-ELICITING REASONER
1. First we apply a decay mechanism to the trend data to take into account the “age” of the values (data from 2005 is not as relevant as data from the previous month).
2. We establish the distribution of the relevance of each technical detail (for example, the screen resolution)
3. We divide the universe into different linguistic terms defined by the user ("big screen", "normal screen" and "small screen”)
4. With this division the membership function for the screen resolution for each term is defined.
FUZZY KNOWLEDGE-ELICITING REASONER
• An example of popularity calculation for all the screen resolutions of all the mobile devices in the WURLF database
FUZZY KNOWLEDGE-ELICITING REASONER
• Membership functions for the terms small, normal and big
FUZZY KNOWLEDGE-ELICITING REASONER
• Results can be localized
Spain Japan
FUZZY KNOWLEDGE-ELICITING REASONER
• Higher level terms can be built by the developer on top of others terms.
IF screensize IS big AND resolution IS normal THEN videoCapabilty IS high; IF screensize IS big AND resolution IS big THEN videoCapabilty IS very_high;
FUZZY KNOWLEDGE-ELICITING REASONER
• To ease the development of the rules and the membership functions we have created a wizard (http://www.morelab.deusto.es/imhotep/) that assists the developers in this task
FUZZY KNOWLEDGE-ELICITING REASONER
FUTURE WORK
• Make the framework more developer friendly.• Use additional device databases to improve
the devices’ data.• Improve the creation process of the
membership functions.• Make the framework available as an Open
Source project by the end of the year.• Evaluate the framework with the AAL projects
we are involved.
Thanks for your attention
Questions?
This work has been supported by project grant TSI-020301-2008-2 (PIRAmIDE), funded by the Spanish Ministerio de Industria, Turismo y Comercio
http://piramidepse.com/