Pages

Class 16, Reading 1


Reading
  • Adapting to Mobile Contexts with User-Interface Modeling
  • Eisenstein, et al.

Outline
  • 1. Introduction
  • 2. MANNA: The Map ANNotation Assistant
  • 3. The User Interface Model
  • 4. Adaptation in mobile devices
    • 4.1. The Abstract Interaction Object
    • 4.2. Adapting to Interaction Constraints
      • 4.2.1. Adaptive Interactor Selection
      • 4.2.2. Selecting a Presentation Structure
      • 4.2.3. Generating a Presentation Structure
    • 4.3. Focusing on Contexts of Use
  • 5. Future Work
  • 6. Related Work
  • 7. Conclusion

Notes
  • Introduction
    • Mobile computing poses several challenges for UI design and development
      • Interactive applications and their UIs must run on many different computing platforms
      • Mobile computing platforms have unique and challenging input and output constraints
      • UI should be designed to accommodate and take advantage of varying contexts suited for mobile devices
      • Mobile computing increases probability of environment or contextual change while user is carrying out task
    • Mobile computing requires UIs be sensitive to:
      • Platform – by having presentations that adapt to screen surface, color depth, screen resolution, and dialogs that adapt to network bandwidth 
      • Interaction – by having mechanisms that remember previously used interaction techniques, window sizes and locations, and respect user preferences for these presentations
      • User – by adapting to user experience level, system and task experiences, skills, conventions, and preferences
    • The challenges
      • Cross-platform development can be resource-consuming and complex
      • Cross-platform design difficult to coordinate and make consistent across different UIs due to difference in skills and experience members of design team
      • Variations of contexts of use and different designs subject to several usability issues not aware by designers
    • Goal: user interface modeling will be an essential component of any effective long term approach to developing UIs for mobile computing
  • MANNA: The Map ANNotation Assistant
    • About MANNA
      • A multimedia application that must run on several platforms and utilized collaborative over the internet
      • Target users: geologists, engineers, military personnel, etc.
      • Annotations can include text, audio, video, virtual reality walk-through
    • Scenario
      • About:
        • a geologist is dispatched to a remote northern California location to examine effects of a recent earthquake
      • Desktop workstation
        • Downloads existing maps and reports on area to prep for visit
        • Few limiting UI development constraints
        • Totally immobile
        • Documents downloaded to laptop
      • Laptop
        • Not networked, so network connection commands disabled
        • When examining video of site, UI switches to black-and-white and reduced frame rates to conserve battery power
        • Preference for keyboard-friendly interactors over laptop touch pads
      • Cell phone
        • Receives message through MANNA system
        • Map of region not displayed due to limited screen-space
        • Instead shows geographical location, driving directions, and geologist’s current GPS position
      • Palmtop computer
        • Used to make notes on region
        • Relies on touch pen for interaction, so double-clicks and right-clicks aren’t allowed
        • Limited screen space means more conservative layout
      • Post-investigation
        • Prepares presentation in two formats
          • Annotated walk-through on heads-up display (HUD)
            • Too limited for textual input
            • Speech-based interactors used instead
          • Conventional presentation prepared on high-resolution large screen
            • Final presentation, so no information added
            • Important information placed near center and top for audience view
  • The User Interface Model
    • About above scenario
      • Highly adaptive, context-sensitive, multi-platform user-interface
      • Too difficult to realize with conventional UI-design
    • About user-interface model
      • Defined as a formal, declarative, implementation-neutral description of UI
      • Expressed by a modeling language that should be:
        • Declarative – comprehensible to humans, even if they are not familiar with software tools that support the language
        • Formal – understood and analyzed by a software system
      • Entirely platform independent
        • To support each platform, must convert from modeling language to some kind of runnable program code (e.g., Swing, HTML)
    • About MIMIC
      • A comprehensive UI modeling language
      • Meets criteria for user-interface model
    • Model types
      • Platform model
        • describes the various computer systems that may run a UI
        • includes information regarding UI's constraints by the platform
      • Presentation model
        • describes the visual appearance of the user interface
        • includes information describing hierarchy of windows, widgets, stylistic choices, and widget selection/placement
      • Task model
        • a structured representation of the tasks that the software user may want to do
        • hierarchically decomposed into subtasks
  • Adaptation in Mobile Devices
    • About adaptation
      • when the user interface changes dynamically in response to a new context
      • may occur at design time (i.e., automated design support) or at run time (i.e., dynamic UI)
    • The abstract interaction object
      • interaction object (widget)
        • any element that allows users of an application to:
          • visualize or manipulate information, or
          • perform an interactive task
        • from modeling perspective, atomic building blocks of a UI
      • Concrete Interaction Objects (CIOs)
        • interactors that are executable on some platform without additional processing
        • not necessary to understand its implementation details
        • doesn't depend on program code elsewhere in application
      • Abstract Interaction Object (AIOs)
        • not executable on any platform
        • agnostic as to how it's implemented
        • completely portable, but implementation must be found elsewhere in UI, or implicit in tool's design that interprets UI modeling language
      • presentation model architecture
        • similar to an object hierarchy
        • AIOs
          • each AIOs is the parent of several CIOs
          • UI designer only needs to think in terms of desired AIOs
        • CIOs
          • each CIO mapped to some supported platform
          • when UI model is interpreted, appropriate CIO is automatically rendered
      • UI implementation
        • AIOs are one piece for implementing same UI on several platforms
        • each platform may pose special constraints
        • need to implement customized UI for each platform
    • Adapting to interaction constraints
      • Interaction constraints
        • one obvious constraint in mobile computing is display resolution
        • screen adaptation is more difficult than other forms of adaption
        • three parameters that contribute to display size in UI design
          • size of individual interactors
          • layout of the interactors in a window
          • allocation of interactors among several windows
      • Adaptive interactor selection
        • two possible methods for accommodating screen resolution constraints by reducing size of interactors:
          • simply shrink the interactors
            • e.g., length of edit box reduced to minimum
          • replace that interactor with smaller alternative
            • e.g., Boolean checkbox replacing radio buttons due to less screen space
        • also applicable to constraints other than screen resolution
        • as number of constraints multiple, selecting appropriate interactors while respecting different constraint types simultaneously becomes problematic
        • decision trees:
          • can be useful mechanism for performing interactor selection while respecting several constraints
          • many advantages
            • require few computational resources
            • easy for humans to read, write, and comprehend
            • existing algorithms for learning decision trees from example data  
      • Selecting a presentation structure
        • interactor-size parameters only provide limited flexibility in meeting screen-resolution constraint
        • presentation structure - a grouping of the remaining two parameters
          • layout of interactors within a window
          • allocation of interactors between windows
        • problem: selecting the appropriate presentation structure, given constraints of platform's afforded screen space
        • goal: alternative presentation structures
        • simplest solution: create mappings between each platform and appropriate presentation structure
          • main drawback: static; no support if
            • available screen resolution changes at run time, or
            • new device with new screen resolution introduced
        • more dynamic solution: build an intelligent mediator agent that dynamically selects the appropriate presentation model for each device
      • Generating a presentation structure
        • addition abstractions besides CIOs and AIOs for presentation model:
          • 1) Logical Window (LW):
            • any groupings of AIOs - a physical window, a subwindow area, a dialog box, or a panel
            • a composite AIO
            • physically constrained by user's screen
          • 2) Presentation Unit (PU):
            • a complete presentation environment required for carrying out a particular interactive task
            • a composite LW
            • displayed on screen simultaneously, alternatively, or some combination
            • composed of at least one window called the main window
          • hierarchy of presentation concepts (i.e., PU, LW, AIO) can construct automated design tool that generates several platform-optimized presentation models from platform-independent starting presentation model
            • 1) Re-modeling LWs within a PU:
              • the contents of initial LWs are redistributed into new LWs within sing PU
              • basic operations
                • ungrouping an LW into several smaller LWs
                • grouping constants of several LWs into single, comprehensive LW
                • moving AIOs from one LW to another
            • 2) Re-modeling AIOs within a LW:
              • according to existing constraints, contents of initial LW redistributed into new simple or composite AIOs
              • no unambiguously successful algorithm for automatic generation of presentation structure based on these abstractions
    • Focusing on contexts of use
      • often, users do not want to accomplish same set of tasks on different devices
        • e.g., PDA for entering annotations, desktop for viewing them
      • solution: designer creates mappings between platforms and tasks
      • tasks that are important should be repsented by AIOs that are easily accessible
        • e.g., clicking on spot enters annotations on PDA, brings up regional information on desktop
  • Conclusion
    • complexity of mobile computing forces designers to accommodate variety of devices and contexts of use
      • 1) As the basis for components of a design toolkit that allows designers to build several user-interfaces out of a single design idea.
      • 2) By leading to the development of adaptive user-interfaces that adjust at run-time to support the necessary context of use.
    • Claim: the use of abstract, platform-neutral, user-centered models to describe the UI greatly facilitates the development of consistent, usable multi-platform UIs for mobile devices

        Comments
        • To the best of my knowledge, there are at least five major mobile OSes: Android (Google), iOS (Apple), Windows Phone 7 (Microsoft), Symbian (Nokia), webOS (HP).
        • Cross-platform design for all the major mobile OSes would be a huge pain, which explains why developers might flock to the most popular mobile OSes, which at this point would be Android and iOS.
        • Paper describes creating modified interfaces suited for mobile devices, but makers of current smartphones and mobile OSes stress on providing a fuller desktop experience on smaller form factors.

        0 comments:

        Post a Comment