Export page to Open Document format View page as slide show

Device capabilities


  • Also considered multiserving
  • Needed to take the most out of the users device capabilities
    • Users get the best experience possible on their device.
  • Native applications
    • OS can tell the capabilities
    • Static adaptation
    • How many versions are needed depends on the target platform very few differences
      • iOs vs android diversity
  • Web applications
    • Capabilities of devices accessign the service vary quite a lot which means that the service should adapt on the fly.

What to adapt

  • UI
    • Menus, browser…
  • Figures
    • Colour, size
  • Communication
    • Packet sizes, chatty protocols?
  • Operations
    • Where all calculation/computations are done
  • Features
    • Audio, connectivity,

Why adapt

  • Device capabilities vary
    • What fits for one, is useless for another
  • Web pages
    • Browsers specific quirks - IE, Opera, firefox, Chrome, Lynx,etc
  • Possibility to use service with heterogeous devices/applications
    • Third party apps e.g. browsers, file manager, etc
    • Own client apps can be run on different device types

When to adapt

  • Adaptations can be taken into account either server or client side
    • Server - more computing power thus fits better for adaptation
    • Client can inform the server its capabilities
  • Approaches of capability informing
    1. Client tells it all - CC/PP & UAProf
    2. Server fetches client device name & retrieves device capabilites from a database - Wurfl
    3. Your own custom built combining these two

Composite capabilities & preference profile (CC/PP)

  • System for expressing device capabilities and preferences (delivery context)
  • Defined by CC/PP WG by W3C
  • Motive
    • Differences in devices used to access services
  • Provides the rules of how to construct vocabulary describing capabilities & preferences
    • Does not define attributes & their values
  • Based on RDF (resource description framework)
    • XML

CC/PP ...

  • CC/PP profile contains one or more features
    • Component is a category of features e.g. software or hardware
    • Each component contains one or more attributes e.g. screensize
    • Each component may optionally specify a set of default values for attributes it contains
    • Extensible
    • Clients may refere to a standard profile & made additions / modifications to it.
    • JSR 188 CC/PP processing
    • Java API for processing CC/PP information

CC/PP exchange profiles

User Agent Profile (UAProf)

  • User agent → application interacting with the information source e.g. micro/minibrowser
  • User agent profiles defines
    • The capabilities of user agents
    • Capabilities of the platform the user agent runs on
  • Specific vocabulary for user agents based on CC/PP

UAProf ...

  • 6 different components
    1. Hardware platform - e.g. Vendor, model, screen size, IO methods
    2. Sofware platform - e.g. OS, java support, audio & video encoder
    3. Network characteristics - e.g. Security support, bearer support (latency, reliability)
    4. Browser user agent - e.g. browser name, supported HTML & XML versions
    5. WAP charcteristics - e.g. supported WAP, WML versions, WML script libraries, WAP deck size
    6. Push characteristics - e.g. accepted type of content, maximum message size, content types of push message, maximum size of push message

UAProf ...

UAProf ...

  • Final profile arriving to server is a combination of characteristics on the transmission path
    • Similar to CC/PP in UAProf - client states the default profile(hardware,sofware, browser capabilities)
    • Network may add/overide networking characteristics in the profile during transmission
    • On profile reaching a WAP proxy it may be updated with WAP characteristics
    • With UAProf information - service can be adapted for the user device and network capabilities
    • Better experience on the service use
    • UAProf is also extensible
    • Based on CC/PP which follow RDF model

UAPROF examples

Wireless Universal Resource FiLe (WURFL)

  • Open source XML based repository for device capabilities
    • aims to provide as much infomation about devices capabilities as possible
    • information is provided by different people around the world
  • Targeted for WAP page developers
    • Can be used for other services as well
    • requires computing power and memory as the
  • API's for several languages exist
    • Java, PHP, Perl, Python, .NET, XSLT, C++ tools
    • Functions to find out necessary information
  • Several tools provided tha use wurfl information to adapt content e.g. picture size
  • Some commercial alternatives of device personalisation

WURFL examples


Last modified: 2014/01/21 13:13