A user-centric approach to adaptable mobile interfacesAitor Almeida, Pablo Orduña, Eduardo Castillejo, Diego López-de-IpiñaDeustoTech –Deusto Institute of TechnologyAvenida de las Universidades 24,48007 Bilbao (Spain){aitor.almeida, pablo.orduna, eduardo.castillejo, dipina}@deusto.esMarcos SacristánTreelogicParque Tecnológico de Asturias · Parcela 30E33428 Llanera · ASTURIAS (Spain)marcos.sacristan@treelogic.com
Need for adaptative interfacesFramework architecturePreprocessor directivesFuzzy Knowledge-Eliciting ReasonerConclusions and future work
Need for adaptative interfacesLess 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 interfacesThis 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 interfacesDevelopers traditionally tend to ignore or neglect this user baseThe individual user groups (each disability have different requirements) may not be big enough to justify the additional development costsDeveloping accessible applications can be difficult.
Need for adaptative interfacesOur hypothesis: “Providing tools that ease the development of adaptative, user-centric applications will encourage the creation of accessible AAL applications”
Framework architectureTo this end we have created the Imhotep frameworkDesign objectives:Make the framework platform independentReduce the adoption costsHelp AAL programmers without expertise in accessible applications Practical down-to-earth approach
Framework architectureComposed by three main elements:The preprocessor directivesThe adaptation serverThe fuzzy knowledge-eliciting reasoner (integrated in the adaptation server)
Framework architecture
User capabilitiesInitially 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 capabilitiesWe 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 DirectivesUsed 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:ConditionalsError handlingCode parameterization
Preprocessor DirectivesConditional 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 DirectivesError handling directives can be used to report an error in order to manage unhandled situations.
Preprocessor DirectivesWith the code parameterization developers can directly store in code variables the system ones.
Fuzzy Knowledge-Eliciting ReasonerObjetivesTo 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 ReasonerThe 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 placeSolution use popularity metrics (Google Trends) to estimate the market share of the devices.
Fuzzy Knowledge-Eliciting ReasonerFirst 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).We establish the distribution of the relevance of each technical detail (for example, the screen resolution)We divide the universe into different linguistic terms defined by the user ("big screen", "normal screen" and "small screen”)With this division the membership function for the screen resolution for each term is defined.
Fuzzy Knowledge-Eliciting ReasonerAn example of popularity calculation for all the screen resolutions of all the mobile devices in the WURLF database
Fuzzy Knowledge-Eliciting ReasonerMembership functions for the terms small, normal and big
Fuzzy Knowledge-Eliciting ReasonerResults can be localizedSpainJapan
Fuzzy Knowledge-Eliciting ReasonerHigher 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 ReasonerTo 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 WorkMakethe 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 attentionQuestions?This work has been supported by project grant TSI-020301-2008-2 (PIRAmIDE), funded by the Spanish Ministerio de Industria, Turismo y Comerciohttp://piramidepse.com/

Imhotep

  • 1.
    A user-centric approachto adaptable mobile interfacesAitor Almeida, Pablo Orduña, Eduardo Castillejo, Diego López-de-IpiñaDeustoTech –Deusto Institute of TechnologyAvenida de las Universidades 24,48007 Bilbao (Spain){aitor.almeida, pablo.orduna, eduardo.castillejo, dipina}@deusto.esMarcos SacristánTreelogicParque Tecnológico de Asturias · Parcela 30E33428 Llanera · ASTURIAS (Spain)marcos.sacristan@treelogic.com
  • 2.
    Need for adaptativeinterfacesFramework architecturePreprocessor directivesFuzzy Knowledge-Eliciting ReasonerConclusions and future work
  • 3.
    Need for adaptativeinterfacesLess 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.
  • 4.
    Need for adaptativeinterfacesThis 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.
  • 5.
    Need for adaptativeinterfacesDevelopers traditionally tend to ignore or neglect this user baseThe individual user groups (each disability have different requirements) may not be big enough to justify the additional development costsDeveloping accessible applications can be difficult.
  • 6.
    Need for adaptativeinterfacesOur hypothesis: “Providing tools that ease the development of adaptative, user-centric applications will encourage the creation of accessible AAL applications”
  • 7.
    Framework architectureTo thisend we have created the Imhotep frameworkDesign objectives:Make the framework platform independentReduce the adoption costsHelp AAL programmers without expertise in accessible applications Practical down-to-earth approach
  • 8.
    Framework architectureComposed bythree main elements:The preprocessor directivesThe adaptation serverThe fuzzy knowledge-eliciting reasoner (integrated in the adaptation server)
  • 9.
  • 10.
    User capabilitiesInitially dividedthe 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.
  • 11.
    Device capabilitiesWe haveused 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.
  • 12.
    Preprocessor DirectivesUsed toannotate 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:ConditionalsError handlingCode parameterization
  • 13.
    Preprocessor DirectivesConditional directivescan 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.
  • 14.
    Preprocessor DirectivesError handlingdirectives can be used to report an error in order to manage unhandled situations.
  • 15.
    Preprocessor DirectivesWith thecode parameterization developers can directly store in code variables the system ones.
  • 16.
    Fuzzy Knowledge-Eliciting ReasonerObjetivesToinfer 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).
  • 17.
    Fuzzy Knowledge-Eliciting ReasonerThedeveloper 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 placeSolution use popularity metrics (Google Trends) to estimate the market share of the devices.
  • 18.
    Fuzzy Knowledge-Eliciting ReasonerFirstwe 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).We establish the distribution of the relevance of each technical detail (for example, the screen resolution)We divide the universe into different linguistic terms defined by the user ("big screen", "normal screen" and "small screen”)With this division the membership function for the screen resolution for each term is defined.
  • 19.
    Fuzzy Knowledge-Eliciting ReasonerAnexample of popularity calculation for all the screen resolutions of all the mobile devices in the WURLF database
  • 20.
    Fuzzy Knowledge-Eliciting ReasonerMembershipfunctions for the terms small, normal and big
  • 21.
  • 22.
    Fuzzy Knowledge-Eliciting ReasonerHigherlevel 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;
  • 23.
    Fuzzy Knowledge-Eliciting ReasonerToease 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
  • 24.
  • 25.
    Future WorkMakethe frameworkmore 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.
  • 26.
    Thanks for yourattentionQuestions?This work has been supported by project grant TSI-020301-2008-2 (PIRAmIDE), funded by the Spanish Ministerio de Industria, Turismo y Comerciohttp://piramidepse.com/