View page as slide show

Wireless Service Engineering

Device capabilities


What to adapt?

  • UI
    • Menus
  • Figures
    • colour
    • size
  • Communication
    • packet sizes
    • chatty protocol?
  • Operation
    • where all the calculation is done

Why and when adapt

  • Adaptation is needed when service can be used with different devices
    • Service is used with third party application e.g. browser
    • Your own client application can be run on different types of devices
  • Adaptation can be taken into account either on server side or on client side
    • Server usually has more computational power and thus fits better for adaptation
    • Client can inform its capabilities to server
  • Different approaches exist for capabillity informing
    • Client tells it all (CC/PP and UAProf)
    • Server fetches the client device name and erver fetches the capabilite from database(wurfl)
    • Your own approach combining these two somehow


  • Composite capabilities and preference profile
    • A system for expressing device capabilities and user preferences.
    • Defined by the CC/PP WG by W3C
  • Motivation
    • Differences in devices used for accessing services
  • Provides the rules of how to construct a vocabulary that describes capabilities and preferences
    • Does not define attributes and their values
  • Based on RDF (Resource Description Framework)
    • XML
  • CC/PP profile contains one or more components
    • Component is a category of features e.g. software or hardware platform
    • Each component contains one or more attributes e.g. screen size
    • Each component may optionally specify a set of default values for the attributes it contains.
  • Extensible
    • Client may refer to a standard profile and make additions or modifications to it.
  • JSR 188: CC/PP Processing
    • Java API for processing CC/PP information
  • CC/PP exhange profile
    • Uses HTTP extension framework (RFC 2369)
    • URI for CC/PP profile can be sent instead of huge profile (for example the device capabilities can be fetched from manufacturer web page.)
    • Only changes in profile can be transmitted to reduce the load for network
      • e.g. sound turned off
  • CC/PP is very verbose
    • compressed XML should be used on slow connections
  • Work Continued in Device Indepence workgroup of W3C (
  • Now developed at Ubiquitous web applications workgroup


  • User agent profile
    • User agent = the application that interacts with information source e.g. microbrowser
    • User agent profiles defines the capabilities of user agent and the platform it is run on
    • Specific vocabulary for user agents based on CC/PP
  • Six different components
  1. Hardware platform e.g. vendor, model, screen size, input and output methods.
  2. Software platform e.g. operating system, java support, audio and video encoder.
  3. Network characteristics e.g. security support, bearer support (latency, reliability)…
  4. Browser user agent, e.g. browser name, supported HTML and XML versions…
  5. WAP characteristics e.g. supported WAP and WML version, WML script libraries WAP deck size…
  6. Push characteristics e.g. accepted type of content, maximum message size content types of a push message, maximum size of a push message.
  • UAProf describes the transmission of profile from a client to a server
    • Communication based on WAP

User agent profile transmission from

User agent profile transmission image from

  • The final profile arriving to server is combination of characteristics on the transmission path
    • Similarly to CC/PP in UAProf the client states the default profile (hardware, software, browser capabilities)
    • The network may add or override networking characteristics in the profile during the transmission
    • When the profile reaches a WAP proxy, the profile may be updated with WAP characteristics.
  • With UAProf information the 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

Example profiles


  • Open source XML based repository for device capabilities
    • goal is to provide as much information about device capabilities as possible
    • Information provided by different people around the world
  • Targeted for WAP page developers
    • Can be used for other types of services too
    • requires computing power and memory as the
  • API's for several languages exist
    • Java PHP Perl Ruby Python dotNet XSLT C++ tools
    • Functions to find out the necessary information
  • Several tools are provided that use wurfl information to adapt content e.g. picture size

Wurfl example

Last modified: 2013/07/01 14:41