ACE: An Adaptive CSS Engine for Web Pages and Web-based Applications

Luis A. Leiva

Departament de Sistemes Informàtics i Computació
Institut Tecnològic d'Informàtica
Universitat Politècnica de València (Spain)
llt@acm.org

So far, at WWW '12:

Outline

  1. Introduction
  2. Related Work
  3. System Overview
  4. Examples
  5. Evaluation
  6. Future Work

image by Dion Almaer @ almaer.com

image by Adam Sage @ blogs.rti.org

Related Work

System Overview

Framework

ACE modifies numerical CSS properties

System Overview

User Interaction Protocol

  1. User enters
    • if previous user info, restyle
    • start event tracking
  2. User leaves
    • store interaction data

System Overview

Session #1
initial design cursor moves redesign
Session #2
recovered design move + click + keypress redesign

System Overview

API (the important parts)

ACE.listen(objEvts, [keepDefaults]).adapt(objElems, [domContext]);
.listen({
  "eventType1": priorityNum, 
  "eventTypeN": priorityNum
}, true)
.adapt({
  "selector1": ["property1", ..., "propertyN"],
  "selectorN": ["property1", ..., "propertyN"]
}, window.document)

System Overview

API examples

.listen({
  "mousemove": 1, 
  "click": 20
}, true)
.listen({
  "keypress": 0, 
  "resize": 0
}, true)
.listen({
  "blur": 5, 
  "focus": 5
}, false)
.adapt({
  "#foo > p ul": ["font-size", "color", "margin-left"],
  ".my input[type='text']": ["border-color", "border-width"]
}, document.getElementById("bar"))

System Overview

Scoring scheme

System Overview

Smooth adaptation

Examples

Examples

Examples

<script type="text/javascript">        
ACE.adapt({
  "div a": ["font-size", "color"],    ➊
  "p ul" : ["font-weight", "margin"]  ➋
});
</script>

Examples

Examples

<script type="text/javascript">        
ACE.adapt({
  "div + a": ["font-size", "color"],    ➌
  "p + ul" : ["font-weight", "margin"]  ➍
});
</script>

Examples

Examples

<script type="text/javascript">        
ACE.adapt({
  "div ~ a": ["font-size", "color"],    ➎
  "p ~ ul" : ["font-weight", "margin"]  ➏
});
</script>

Examples

Evaluation

Informal study with 12 users

Conclusion

Future Work

Future Work

Luis A. Leiva. Automatic Web Design Refinements based on Collective User Behavior. Proc. CHI EA, 2012.

Thank you!