Skip to Content

Adaptation to devices guidelines

Printer-friendly versionSend to friendPDF version
Rookie
This articles provides an overview of all typical issues related to devices fragmentation, i.e. specificities that motivate adapting the Rich Media Application implementation so it properly supports all targeted devices. All points of interest mentioned here shall be taken into consideration while designing such application.

Capabilities

Memory / CPU

All mobile devices have disctinct amount of memory and CPU.
What has to be taken in consideration is:

  • The default available amount of memory and CPU: to be used as criteria to balance the Rich Media Application (required consumption)
  • The available amount of memory and CPU at runtime: to be managed when it is lower than the Rich Media Application requirement / in case the limit is exceeded (related to errors management)

Codecs

Ensure that the rich media service required decoders, for all video and audio contents that are supposed to be supported, are available on all targeted devices or embedded withi the deployed application.

Third-party applications

Whenever your rich media service is supposed to be interfaced with third-party applications available on the device, you should ensure targeted devices properly support it.
There are mostly 2 categories of such interfacing:

  • Third-party application launch: WAP browser, camera...
  • Third-party application data retrieval: contact book, messages, agenda...

 

Graphics

Screen resolution

The size (width and/or height) of the screen can differ from a device model to another. A Rich Media Application designed for a given screen resolution will not have exactly the same aspect on a device which screen resolution is not the same and will usually be considered as not acceptable. Moreover even if the Rich Media Application was designed to automatically adapt itself to the current resolution, it has to be checked with care for each targeted screen resolution to ensure it is acceptable.

You should design scenes that will automatically and properly adapt to the set of targeted screen resolutions related to the targeted devices:

  • Design each scene keeping in mind they have to be stretchable (to be defined from the storyboard phase)
  • Make use of candidates (images and videos) to ensure the rendering of each scene will suit each target screen resolution picking the appropriate media with the appropriate or closest resolution

Streamezzo Adaptation Framework will help you is addressing this.

System fonts

The system fonts configuration can differ from a device model to another. A Rich Media Application designed considering the specific font configuration of a device will not have the same aspect on a device which has a distinct system fonts configuration (face / style / size).

You should ensure all displayed texts suit each targeted device in terms of representation:

  • Use or adapt text configurations to obtain a suitable display on each targeted device (even if it may differ); this has to be tested on each targeted device as available fonts and font configurations differ from one device to another
  • In some situations, it may not be possible to use system fonts ; in such case it is possible not to use texts but images instead, in order to obtain the exact same display on all targeted devices ; however due to the constraints and disadvantages related images (weight, no multi-language support...) this has to be used not too extensively

 

Input peripherals

You should ensure that the Rich Media Application can be used whatever the set of input peripherals available on the targeted devices.
Usually a subset of such peripherals are availed:

  • Keypad (hardware or virtual)
  • Joystick
  • Wheel
  • Touchcreen

For example, your Rich Media Application could be designed so it can be used the same way using the touchcreen or the keys independently if a given targeted device only has a touchscreen and another one only has keys. However note that most often such combination (keypad + touchscreen) of addressed input peripherals induces a drastically different interactivity experience and user interface, so it is quite usual to separate them in that precise configuration.

Streamezzo Adaptation Framework will help you is addressing this.

Share this