WURFL Devices and WURFL Capabilities

This document gives a short description of the WURFL tags and a complete list of all the capabilities

WURFL Devices
WURFL devices contain the user-agent string, fall_back attribute and unique ID. There may also be an attribute (actual_device_root="true") that marks a device as "real". This attribute can be useful for APIs that intend to use the WURFL to compile human-readable lists of devices.
Here is a sample WURFL entry that defines a device:

<device user_agent="O2-X1i" 
        actual_device_root="true" 
        fall_back="opwv_v61_generic" 
        id="o2_x1i_ver1">

Groups:
Groups are only meant to make the WURFL more readable to humans. Group names are self-explaining. For example, there is a group called "mms" for capabilities regarding MMS messaging, another group called "wml_ui" for capabilities about how devices support WML tags and how they display them.
Here is an example of a group can be defined:
<group id="sound_format">

Capabilities:
Capabilities are collected in groups for readability. You cannot have two capabilities by the same name (i.e. "name" attribute) even when placed in separate groups. In short, each capability name is unique.
Capabilities always have a value. Value can represent a boolean, a number or a string (including the empty string ("")). A capability looks something like this:
<capability name="aac" value="true"/>


WURFL capabilities.
Some capabilities are meant to be "self-contained", meaning that you can look them up to understand some feature of the device. Others should be used in combination with other capabilities.
For example, if you want to know if a device is able to show a GIF (.gif) image in a page you should simply check if the capability "gif" is set to true. On the other hand, all capabilities listed in the xhtml_ui group are only meant for XHTML-enabled devices, so it is useless to check whether "xhtml_honors_bgcolor" is set to true if you are generating an HTML 4.0 page. The "xhtml_honors_bgcolor" may be used in combination with the capabilities listed in the "markup" group. You will normally first check if XHTML-MP or HTML are supported (html_wi_oma_xhtmlmp_1_0, html_web_4_0). If it is, you can check "xhtml_honors_bgcolor" and act accordingly when generating an XHTML page.
If you have doubts about how to use a capability you may ask on the wmlprogramming list. Make sure you check the archives, before asking, someone might have already asked the same question!

Here are all the capabilities in the WURFL today:

select group: [product_info | wml_ui | chtml_ui | xhtml_ui | html_ui | css | ajax | markup | cache | display | image_format | bugs | wta | security | bearer | storage | object_download | playback | wap_push | drm | streaming | mms | j2me | sms | sound_format | flash_lite| transcoding| rss| pdf| chips| smarttv| deprecated]

In addition to those, you may want to refer to the following tables as a reference for Video and Audio-related capabilities.

Inference Tables: [Table 1 - H.264 Levels | Table 2 - H.263 Levels | Table 3 - MPEG-4 Simple Profile Levels | Table 4 - MPEG-4 Advanced Simple Profile Levels]

The meaning of these tables is the following: previously, WURFL tried to capture different information about the video/audio features of a device, by managing independent capabilities for video size (QCIF, QVGA,...), frame rate (15,30,...) and max bit rate (64 kbps, 128 kbps,...).
This was unnecessary, since those values could typically be inferred from the knowledge of the codec (there is still a discussion going on about how to handle possible exceptions, but, if required, this aspect will be handled through an "exception" mechanism)
The details about the discussions and the references which led to the decision to simplif a/v capabilities can be founf in this document - WURFL H264 (powerpoint, 1.7 Megs)

Important Note: capabilities written in red are deprecated and may be removed by WURFL at any point.
This is particularly true of Video and Audio related capabilities which are getting heavily re-organized in 2009. Again, for more info, you can refer to this document - WURFL H264.

Group:product_info (human readable brand and model name and other generic info)
Capability Name Type Description
brand_namestringBrand (ex: Nokia)
model_namestringModel (ex: N95)
marketing_namestringIn addition to Brand and Model, some devices have a marketing name (for ex: BlackBerry 8100 Pearl, Nokia 8800 Scirocco, Samsung M800 Instinct).
model_extra_infostringIn addition to Brand and Model (and possibly a marketing name), some may be characterized by extra info (es: Nokia N95 8GB, Sharp 902SH Vodafone).
uniquetrue/falseUA is repetead for different devices (rare, but deadly occurence)
ununiqueness_handlerStringHow to handle a non-unique User-agent String (API/framework may support specific mechanism to handle HTTP request directly)
is_wireless_devicetrue/falseTells you if a device is wireless or not. Specifically a mobile phone or a PDA are considered wireless devices, a desktop PC or a laptop are not
is_tablettrue/falseTells you if a device is a tablet computer (iPad and similar, regardless of OS)
device_claims_web_supporttrue/falseWhether the device is wireless or not, the browser may claim web support or not. Opera for Symbian is an example of a browser that claims web support (and tries to render at best) a page that was developed for web presentation independently from the device.
pointing_methodjoystick, stylus, touchscreen, clickwheel, "" (empty string) Links and widgets can be activated with either a stylus, a finger, a joystick or a BlackBerry-style clickwheel. Devices with this capability set to empty string ("") should have has_pointing_device set to false.
has_qwerty_keyboardtrue/false Some devices come with a full querty keyboard. This may have a say on how forms or other functions are implemented. Virtual keyboard (a-la Palm pilot) are good enough to make this capability tick to true.
can_skip_aligned_link_rowtrue/falseMany modern devices (or browser/device combo) let users skip a row of links (for ex: link1|link2|link3|link4) with just one click down. Other devices force users to click multiple times to skip the list of links.
uaprof,uaprof2,uaprof3String (URL)UAProf urls can typically be extracted as a HTTP header. This capability may be useful when this is not possible for some reason.
nokia_seriesIntegerNokia Series 20/30/40/60/80 or 90
nokia_editionIntegerDeveloper Platform (1/2/3/...)
nokia_feature_pack0,1,2,3,4,5,6,7,8Nokia Feature Pack
device_osStringInformation about hosting OS
device_os_versionStringWhich version of the hosting OS
mobile_browserStringInformation about the device browser (Openwave, Nokia, Opera, Access, Teleca,...)
mobile_browser_versionStringWhich version of the browser
release_dateString (year+"_"+ month in small lettersYear and month the profile was added to WURFL)
can_assign_phone_numbertrue/falseDevice is a mobile phone and may have a phone number associated to it.


Group:wml_ui (User Interface for WML browser)
Capability Name Type Description
proportional_fonttrue/falseThe standard font is proportional
built_in_back_button_supporttrue/falseUser may always click on a button to go back
card_title_supporttrue/falseThe device displays the title on the screen
softkey_supporttrue/falseSoftkeys are supported
table_supporttrue/falseThe browser displays tables formatted "correctly" (rather than 1 cell per line)
numbered_menustrue/falseThe browser lists numbers to pick an element from a list
menu_with_select_element_
recommended
true/falseA select element is the most usable menu format
menu_with_list_of_links_
recommended
true/falseA list of links is the most usable menu format
icons_on_menu_items_supporttrue/falseLinks may be associated with icons
break_list_of_links_with
_br_element_recommended
true/falseWhen presenting a list of links the use of <br/> is suggested for better presentation
access_key_supporttrue/falserespects the "accesskey" attribute of the anchor tag
wrap_mode_supporttrue/falseThe browser can be forced to wrap or not lines
times_square_mode_supporttrue/false"time_square_mode_support" is an Openwave browser specific feature related to what happens with code that looks like <p mode="nowrap">. The Openwave browser will present the text in this block on a single line that will only scroll (like marquee) when the line has been activated (has focus). Other browser either cropped such blocks, or force ths user to scroll horizontally on the page.
deck_prefetch_supporttrue/falsePrefetching of other decks is supported
elective_forms_recommendedtrue/falseinput and select elements can/should be placed in a single card rather than on discrete cards
wizards_recommendedtrue/falsewizards_recommended
image_as_link_supporttrue/falseYou may use images to present a link
insert_br_element_
after_widget_recommended
true/falseThe use of a break is suggested after widgets
wml_can_display_images_and_
text_on_same_line
true/falseSome devices not display an image and text on the same line. Set this to true if the device supports it
wml_displays_image_in_centertrue/falseSome devices will show images aligned in center by default, true if this happens
opwv_wml_extensions_supporttrue/falseThis is specific for Openwave browsers and possibly third party browsers that are compatible. As WML extensions we mean pictograms and other tags that were never formalized by the WAP forum
wml_make_phone_call_string"none","tel:", "wtai://wp/mc;"Prefix to initiate a voice call


Group:chtml_ui (User Interface for Compact HTML i;Mode browser)
Capability Name Type Description
chtml_display_accesskeytrue/falseThe device displays a number when you use an accesskey
emojitrue/falseEmoji are special characters which appear in i-Mode pages as small icons
chtml_can_display_images_and_
text_on_same_line
true/falseAs for WML, this is set to true if the device can display images and text on the same line
chtml_displays_image_in_centertrue/falseAs for WML, this is set to true if the device will align images in center by default
imode_regionstringThis field describes the market region for the device, useful for emoji's and other possible localizations. Possible values as "ja" for Japan, "eu" for Europe, "us" for USA "as" for Asia. "none" means unknown or not set.
chtml_make_phone_call_stringstringPrefix to initiate a voice call
chtml_table_supporttrue/falseTables are not supported by default on i-mode/chtml devices. This capability tells you if the device supports this "extra" feature


Group:xhtml_ui (User Interface for XHTML-MP browser)
Capability Name Type Description
xhtml_honors_bgcolortrue/falseBackground colour can be set
xhtml_supports_forms_in_tabletrue/falseForm entry within a table is possible
xhtml_support_wml2_namespacetrue/falseThe WML version 2.0 namespace is supported, so the device will successfully render WML2.0 content
xhtml_autoexpand_selecttrue/falseSome device automatically expand select's (MOT T720, for example)
xhtml_select_as_dropdowntrue/falseThe device displays select's as dropdown lists
xhtml_select_as_radiobuttontrue/falseThe device displays select's as radio buttons
xhtml_select_as_popuptrue/falseThe device displays select's as popup lists, similar to the Openwave GUI extension
xhtml_display_accesskeytrue/falseThe device displays a number when you use an accesskey
xhtml_supports_invisible_texttrue/false
xhtml_supports_inline_inputtrue/false Some browsers let you type text locally. Others bring you to a separate data entry control.
xhtml_supports_monospace_fonttrue/false Does device support monospace fonts only?
xhtml_supports_table_for_layouttrue/false This device support for tables is solid enough that you can use tables to layout content on the screen.Used in WALL)
xhtml_supports_css_cell_
table_coloring
true/false CSS support in this device is good enough that table cells are correctly colored when the color is defined through CSS (Used in WALL)
xhtml_format_as_css_propertytrue/falseThis field is true if the device supports a css property to define the format of an input field. This is what the "format" attribute was in WML. Follows the same rules as "format" used to do. Example:
style=
"-wap-input-format:NNNN"
(Used in WALL)
xhtml_format_as_attributetrue/falseThis is set true if the device supports the "format" attribute in input fields (Used in WALL)
xhtml_nowrap_modetrue/falseDoes device support wrap mode as a XHTML attribute? (Used by WALL)
xhtml_marquee_as_css_propertytrue/false Does device support MARQUEE though CSS syntax? (used by WALL)
xhtml_readable_background_color1string This and the following properties lets you define 2 colors which interoperate visually on the device. For example, by using one of these two colors as background, you don't risk that an hyperlink disappears against its background. (Used by WALL) against
xhtml_readable_background_color2string refer to xhtml_readable_background_
color1 for description (Used by WALL)
xhtml_allows_disabled_
form_elements
true/false XHTML lets you define "disabled" form elements. If this actually works on the different devices is tracked down by this capability.
xhtml_document_title_supporttrue/false While one can define the document title with the title tag, not all devices actually render the title. This capability keeps track of that behavior (Used by WALL)
xhtml_preferred_charsetstringUTF-8 should be supported by default, but some devices have problems. Here you may find alternative charsets such as iso8859. This field does not present the exact charset because with ISO charsets you may need to specify the one of your region (1, 15, other) - Capability mentor: Pau Aliagas
opwv_xhtml_extensions_supporttrue/false The Openwave browser has some supports some useful extensions. Tracked by this capability (used by WALL)
xhtml_make_phone_call_stringstringPrefix to initiate a voice call (Used by WALL)
xhtmlmp_preferred_mime_typestringMost devices should support both text/html and the specific XHTML MP mime type. Some are a little pickie, here you should find a mime type that always works. Default is text/html
xhtml_table_supporttrue/falsetables SHOULD be supported as syntax, but are often rendered poorly. This tag tells you if the browser is able to render tables decently
xhtml_send_sms_stringnone, sms:,smsto:Indicates whether device supports the href="sms:+num" syntax to trigger the SMS client from a link. Syntax may be "smsto:" on some devices or not be supported at all.
xhtml_send_mms_stringnone, mms:,mmsto:Indicates whether device supports the href="mms:+num" syntax to trigger the MMS client from a link. Syntax may be "mmsto:" on some devices or not be supported at all.
xhtml_file_uploadnot_supported, supported, supported _user_interventionIndicates whether the browser honors the type="file" element in forms (users can uplad files on their devices to a remote server).
On some devices, users may need to copy/move the file from a given directory to a directory visible to the web browser on the device file-system.
xhtml_supports_iframenone,partial,fullIndicated whether the browser supports iFrame. Partial support means that the content in the containing page is not rendered if placed after the iframe.
cookie_supporttrue/falseIndicates whether the browser supports cookies (please observe that the cookie may be missing in case an operator strips it out. Similarly, a device with no cookie support may automatically become cookie enabled if a WAP gateway manages cookies on behalf of the device)
accept_third_party_cookietrue/falseIndicates whether the phone accepts a cookie set from a pixel in a page of a different domain (assuming device with default settings)
xhtml_avoid_accesskeystrue/falseSome browsers define standard keyboard accelerators which conflict with the accesskeys defined by the author. It is better to avoid accesskeys for those devices.
xhtml_can_embed_videonone, plain, play_and_stopSome browsers support embedding of video through the <object> tag. For ex:
<object type="video/3gpp"
  data="rtsp://.../video.3gp"
  id="player" width="176"
  height="150"
  autoplay="true">
</object>
This capability will track whether the XHTML browser supports this.
  • none = Inline video playback/streaming not supported
  • plain = Video will play
  • play_and_stop = Video will play and user will have a chance to stop and resume playback.


Group:html_ui (User Interface for HTML browser)
Capability Name Type Description
Note: Capabilities in this group refer to content served with the HTML (text/html) MIME type
html_preferred_dtd"none", "xhtml_mp1", "xhtml_mp11", "xhtml_mp12", "html4", "xhtml_transitional", "xhtml_basic", "html5"If HTML is served to the browser, this capability tells which DTD is better to use (on webkit browser it usually does not matter match as long as MIME is text/html)
Token explanation:
none = ''

html4 = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">'

html5 = '<!DOCTYPE HTML>'

xhtml_basic = '<!DOCTYPE html PUBLIC  "-//W3C//DTD XHTML Basic 1.0//EN"
  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">'

xhtml_mp1 = '<!DOCTYPE html PUBLIC  "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
  "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">'

xhtml_mp11 = '<!DOCTYPE html PUBLIC  "-//WAPFORUM//DTD XHTML Mobile 1.1//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">'

xhtml_mp12 = '<!DOCTYPE html PUBLIC  "-//WAPFORUM//DTD XHTML Mobile 1.2//EN"
  "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">'

xhtml_transitional = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
viewport_supportedtrue/falseis the "viewport" META tag supported? supported by Webkit, Opera and quite a few others
viewport_width "", "device_width_token", "width_equals_resolution_width", "width_equals_max_image_width" "" = not applicable

"device_width_token" = use sting 'width=device-width' as value,

"width_equals_resolution_width" = use (display) resolution_width,

" width_equals_max_image_width" = use (display) max_image_width_width
viewport_initial_scaleStringRecommended initial-scale parameter for viewport
viewport_maximum_scaleStringRecommended maximum-scale parameter for viewport
viewport_minimum_scaleStringRecommended minimum-scale parameter for viewport
mobileoptimizedtrue/falseWhether device honors:
<meta name="MobileOptimized"
       content="width" />
This will prevent the browser from trying to adapt the page to fit the mobile screen. Mainly supported by IE Mobile.
handheldfriendlytrue/falseWhether device honors:
<meta name="HandheldFriendly"
       content="true" />
This will prevent the browser from trying to adapt the page to fit the mobile screen. Mainly supported by BlackBerries.
canvas_supportnone, no-text, fullWhether browser honors HTML 5 canvases
image_inliningtrue/falseWhether the browser supports the possibility to have pictures nested within the HTML itself as Base64 ASCII garbage (DATA URI scheme)


Group:css CSS-issues
Capability Name Type Description
css_supports_width_as _percentagetrue/falseidentify those devices for which the CSS property width:100% does not work as expected (many Nokias). In those case, one is better off using the max_image_width to force tables to be the correct size across the screen. This capability refers to both XHTML and HTML content
css_border_imagenone, css3, webkit, mozilla, opera The powerful border-image feature is supported in some form (refer to http://t.wurfl.com (group CSS) for actual test). Can be used to create fancy buttons
css_rounded_cornersnone, css3, webkit, mozilla, opera The powerful border-radius feature is supported in some form (refer to http://t.wurfl.com (group CSS) for actual test). Can be used for round corners without corner images
css_gradientnone, css3, webkit, mozilla The powerful gradient feature is supported in some form (refer to http://t.wurfl.com (group CSS) for actual test). Can be used to create gradients purely with CSS
css_spritingtrue/falseCSS can refer to pictures and use them in different circumstances as backgrounds, including clipping. This is useful on the web to minimize download times for graphical assets (but does not work on all mobile browsers/devices)


Group:ajax Supported Mobile Ajax features
Capability Name Type Description
ajax_support_javascripttrue/falseA device can be said Javascript enabled only if the following features are reliably supported: alert, confirm, access form elements (dynamically set/modify values), setTimeout, setInterval, document.location.
If a device fails one of these tests, mark as false (i.e. crippled javascript is not enough to be marked as javascript-enabled)
ajax_support _getelementbyidtrue/falsecan select a node through its ID
ajax_xhr_typenone, standard, msxml2, legacy_microsoftWhich syntax to create a XMLHttpRequest() object:none or XMLHttpRequest(); ActiveXObject("Msxml2.XMLHTTP") and ActiveXObject("Microsoft.XMLHTTP")
ajax_support_inner_htmltrue/falsecan stick a bit of HTML into a DIV. In the case of xml documents, this may not be working as expected (notably on the iPhone). So, always make sure you are using the right DTD/Mime-type for the documents, if you intend to use innerHTML().
ajax_manipulate_domtrue/falseIndicated whether parentNode, getElementsByTagName and getElementsByName are supported (all of them).
ajax_manipulate_csstrue/falseModify CSS property programmatically and have the changes all immediately reflected visually in the rendering. In particular, display: none/block (with page reflow) is supported.
ajax_support_eventstrue/falseonload, onclick, onsubmit and onselect are supported
ajax_support_event _listenertrue/false (Event Listeners) Indicates whether browser allows the registration of event listeners on event targets.
ajax_preferred_geoloc_apinone, gears, w3c_apiPreferred way to do geolocation through JavaScript


Group:markup supported mark languages
Capability Name Type Description
xhtml_support_level[-1 |..| 4]Assuming the device supports some form of XHTML, this capability measures how reliably certain common designer features are supported, according to the following description:
- level "-1": 
no XHTML support of any kind.
Possible WML support
Nokia 7110, 7210 as well as
all UP.Browser 4 and 5 devices.

- level "0" :
basic XHTML Support.
Minimum screen-width: 100 pixel
No (or very unreliable) CSS support.
Poor table support or none at all.
Basic forms: text field, select-option, 
submit button.
May not be able to support input 
mask on fields.
Ex Device: SonyEricsson T610/T616

- level "1" : 
XHTML with some CSS support.
Minimum sceen-width: 120 pixels.
Hyperlinks may not be collorable by CSS.
Basic table support: 2x2 or more.
Colspan and rowspan may not be supported.
"width" expressed as percentage may be 
unreliable.
Ex Device: Sharp GX 10, Nokia 3650

- level "2" : 
Assume same capabilities as 
level "1", but may vary in the future.
Ex Device: Nokia6600,Nokia5300

- level "3" : 
Excellent CSS support.
Padding, border and margin are correctly 
applied.
Can reliable apply colors to links, 
text and background.
CSS graphic effects are pixel perfect
Minimum sceen-width: 164 pixels.
Can support complex tables (but not 
necessarily nested tables) up to 
4 cells in a row.
Setting "font-size" of 10px or above produces readable text.          
Supports background images also 
when applied through CSS.
Generally running on 3G devices.
Ex: Nokia Series 60 DP 3,
Browsers: Openwave Mobile Browser 6.2, 
MS Mobile Explorer, 
recent BlackBerrys. Netfront 3.2,  Sony PSP...
(assuming high-bandwidth, Edge/UMTS/...)
             
- level "4" :
Level 3 + Ajax support.
Toggle display property. 
XMLHTTPRequest().
Ex: Safari Browser (including iPhone), MS Mobile Explorer, Openwave 7.2.
preferred_markupstringThis field identifies which markup is best supported by the device. This field is filled on personal experiences of our contributors and is used by the WALL library. Values for this capability look like: wml_1_1, html_wi_imode_compact_
generic
and html_wi_oma_xhtmlmp_1_0. Just like any other capability, you may override this value in the patch file.
Important note: the "html_web_4_0" value for this capability suggests that the device is better served with HTML content (and MIME type). In this case, referring to capabilities in the "html_ui" and "css" groups is useful (In particular, the viewport_*, handheldfriendly and mobileoptimised capabilities can be used to force a mobile user-experience).
wml_1_1true/falseSupports WML version 1.1
wml_1_2true/falseSupports WML version 1.2
wml_1_3true/falseSupports WML version 1.3
html_wi_w3_xhtmlbasictrue/falseXHTML basic is XHTML reduced to a minimal set of tags, and was introduced to serve as a basis for a markup which would work on devices with very limited capabilities.
html_wi_oma_xhtmlmp_1_0true/false XHTML MP is XHTML Basic with the addition of a few extra tags to allow for the application of WCSS ('style' attribute and tag, 'hr' tag)
html_wi_imode_html_1true/falseSupports DoCoMo's iHTML version 1.0
html_wi_imode_html_2true/falseSupports DoCoMo's iHTML version 2.0
html_wi_imode_html_3true/falseSupports DoCoMo's iHTML version 3.0
html_wi_imode_html_4true/falseSupports DoCoMo's iHTML version 4.0
html_wi_imode_html_5true/falseSupports DoCoMo's iHTML version 5.0
html_wi_imode_htmlx_1true/falseSupports DoCoMo's xHTML version 1.0
html_wi_imode_ compact_generictrue/falseSupports generic compact HTML (cHTML)
html_web_3_2true/falseSupports HTML version 3.2
html_web_4_0true/falseSupports HTML version 4
voicexmltrue/falseSupports voice XML
multipart_supporttrue/falseCorrectly supports multipart/mixed content to package full pages (HTML, CSS and pictures) into one single object.


Group: cache
Capability Name Type Description
total_cache_disable_supporttrue/falsepossibility to disable the browser's cache completely
time_to_live_supporttrue/falseDevice support 'time to live'(TLL) or not. The length of time that a device keeps a deck in cache is called the time to live (TTL). The default TTL is 30 days (or until memory is exhausted) for Openwave browsers. If a deck contains time-sensitive information, you can specify a shorter TTL so that the device will reload the deck from the server more frequently.


Group:display
Capability Name Type Description
resolution_widthany integer numberThis field represents the screen width expressed in pixels
resolution_heightany integer numberThis field represents the screen height expressed in pixels
columnsany integer numberNumber of columns presented
rowsany integer numberNumber of lines presented
max_image_widthany integer numberWidth of the images viewable (usable) width expressed in pixels. This capability refers to the image when used in "mobile mode", i.e. when the page is served as XHTML MP, or it uses meta-tags such as "viewport", "handheldfriendly", "mobileoptimised" to disable "web rendering" and force a mobile user-experience (for example, iPhone 4 can render picture 640 pixel wide, but normally, pages are served assuming a 320 pixel wide screen).
max_image_heightany integer numberHeight of the images viewable (usable) width expressed in pixels. This capability refers to the image when used in "mobile mode" (see explanation for max_image_height)
physical_screen_widthany integer numberScreen width in millimiters
physical_screen_heightany integer numberScreen height in millimiters
dual_orientationtrue/false Some devices may be flipped, i.e. user may change orientation, effectively inverting screen_width and screen_height for mobile web browsing and, possibly, for other functions.


Group:image_format
Capability Name Type Description
wbmptrue/false supports wbmp format
bmptrue/falseSupports bmp format
epoc_bmptrue/falseSupports the EPOC (Symbian) bitmap format, also known as mbm
giftrue/false supports gif format
gif_animatedtrue/false supports animated gif (gif89a) format
jpgtrue/false supports jpg format
pngtrue/false supports png format
tifftrue/falsesupports tif format
transparent_png_alphatrue/false
transparent_png_indextrue/false
svgt_1_1true/falsesupports SVGT v1.1 - Capability mentor: Antoine Quint
svgt_1_1_plustrue/falsesupports SVGT v1.1+ - Capability mentor: Antoine Quint
greyscaletrue/false supports greyscale format
colorsany integer numberIn general the number of colors used by the phone


Group:bugs
Capability Name Type Description
post_method_supporttrue/falseIf true the phone supports HTTP POST method
basic_authentication_supporttrue/falsebasic authentication support (login and password)
emptyoktrue/falseAn empty select is allowed
empty_option_value_supporttrue/falseIf true the phone will allow the user to pick an empty value from a select


Group:wta
Capability Name Type Description
nokia_voice_calltrue/falseSupports the Nokia 'make call' function
wta_voice_calltrue/falseSupports the standard WML call function
wta_phonebooktrue/falseThe WTA implementation supports access to the device's phonebook
wta_misctrue/falseThe WTA implementation supports the miscellaneous features of the WTAI specification
wta_pdctrue/falseSupports WTA over a PDC network


Group:security
Capability Name Type Description
https_supportsupported, not_supported, not_predictablegeneric support for HTTPS protocol (SSL connections). Deafult for generic is "supported", because it is generally recommended to ask users to activate an HTTPS connection.
https_verisign_class3true/falseVerisign Class 3 Certificate for SSL supported
phone_id_providedtrue/falseThe IMEI number is accessible


Group:bearer
Capability Name Type Description
has_cellular_radiotrue/falseDevice has cellular technology (most probably a phone, but not necessarily. May be a data-only device such as Kindle or Nokia N800)
max_data_ratevalue in Kilobits. one kilobit = 1000 bitMaximum bandwidth reachable by the device. Possible values:
HSDPA = 1800 | 3600 | 7200 | 14400 depending on the device
UMTS(3G) = 384
EGPRS/EDGE = 200
GPRS = 40
HSCSD = 29
CSD = 9
wifitrue/falseDevice can access WiFi connections
sdiotrue/falseDevice can accept SDIO cards (for WiFi)
vpntrue/falseDevice can support VPN connections


Group:storage
Capability Name Type Description
max_deck_sizeany integer numberMaximum allowed size for the mark-up in a page (refers to XHTML browser. Apllies to WML for WML-only browsers)
max_url_length_in_requestsany integer numberMaximum allowed URL length
max_url_length_homepageany integer numberMaximum allowed URL length for the browser's homepage
max_url_length_bookmarkany integer numberMaximum allowed URL length for a bookmark
max_url_length_cached_pageany integer numberMaximum allowed URL length for a cached page
max_no_of_connection_settingsany integer numberNumber of connection profiles supported
max_no_of_bookmarksany integer numberNumber of bookmarks the browser can store
max_length_of_usernameany integer numberMaximum allowed length for a username
max_length_of_passwordany integer numberMaximum allowed length for a password
max_object_sizeany integer numberThe maximum file size (in bytes) supported when downloading using WTP-SAR


Group:object_download
Capability Name Type Description
downloadfun_supporttrue/falseif true the phone supports downloadfun features
directdownload_supporttrue/falseif true the phone supports object downloading in an anchor
inline_supporttrue/falseif true the phone has the possibility to save an image or object shown in a page
oma_supporttrue/falseif true the phone supports OMA specifications for object downloading
ringtonetrue/falseif true the phone supports the download of ringtones
ringtone_midi_monophonictrue/falsesupport for monophonic (type 0) midi files
ringtone_midi_polyphonictrue/falsesupport for polyphonic midi files
ringtone_imelodytrue/falsesupport for the download of iMelody files
ringtone_digiplugtrue/falsesupport for the download of digiplug files
ringtone_compactmiditrue/falsesupport for the download of compact-midi files
ringtone_mmftrue/falsesupport for the download of MMF/SMAF files (Yamaha)
ringtone_rmftrue/falsesupport for the download of RMF files (Beatnik)
ringtone_xmftrue/falsesupport for the download of XMF files (Beatink - midi approved)
ringtone_amrtrue/falsesupport for the download of AMR files
ringtone_awbtrue/falsesupport for the download of AMR wide band files
ringtone_aactrue/falsesupport for the download of AAC files
ringtone_wavtrue/falsesupport for the download of WAV files
ringtone_mp3true/falsesupport for the download of MP3 files
ringtone_spmiditrue/falsesupport for the download of SPmidi files
ringtone_voicesany integer numberRepresents the maximum number of voices for a downloaded ringtone
ringtone_df_size_limitany integer numberSize limit in bytes of downloadable ringtones through downloadfun
ringtone_directdownload_size_limitany integer numberSize limit in bytes of downloadable ringtones through direct download
ringtone_inline_size_limitany integer numberSize limit in bytes of downloadable ringtones for inline objects
ringtone_oma_size_limitany integer numberSize limit in bytes of downloadable ringtones through OMA DD
wallpapertrue/falseif true the phone supports the download of wallpapers
wallpaper_wbmptrue/falsesupport for wbmp images
wallpaper_bmptrue/falsesupport for bmp images
wallpaper_giftrue/falsesupport for gif images
wallpaper_jpgtrue/falsesupport for jpg images
wallpaper_pngtrue/falsesupport for png images
wallpaper_greyscaletrue/falsetrue if the phone users a greyscale
wallpaper_colorsany integer numberThis is the number in bit of displayable colors.
Note: if a phone uses 8 tones of grey, you should set wallpaper_greyscale to true and wallpaper_colors to 3
wallpaper_max_widthany integer numberMaximum width supported for a wallpaper
wallpaper_max_heightany integer numberMaximum height supported for a wallpaper
wallpaper_preferred_widthany integer numberMaximum width suggested for a wallpaper
wallpaper_preferred_heightany integer numberMaximum height suggested for a wallpaper
wallpaper_df_size_limitany integer numberMaximum size in bytes of a wallpaper
wallpaper_directdownload_size_limitany integer numberMaximum size in bytes of a wallpaper
wallpaper_inline_size_limitany integer numberMaximum size in bytes of a wallpaper
wallpaper_oma_size_limitany integer numberMaximum size in bytes of a wallpaper
wallpaper_resizestringDescribes if and how the device resizes a downloaded wallpaper if not exactly the same size of the screen. Possible values are "none", "fixed_ratio" (rescale respecting original proportions), "crop_centered", "crop_top_left".
screensavertrue/falseif true the phone supports the download of screensavers
screensaver_wbmptrue/falsesupport for wbmp images
screensaver_bmptrue/falsesupport for bmp images
screensaver_giftrue/falsesupport for gif images
screensaver_jpgtrue/falsesupport for jpg images
screensaver_pngtrue/falsesupport for png images
screensaver_greyscaletrue/falsetrue if the phone users a greyscale
screensaver_colorsany integer numberThis is the number in bit of displayable colors.
Note: if a phone uses 8 tones of grey, you should set wallpaper_greyscale to true and wallpaper_colors to 3
screensaver_max_widthany integer numberMaximum width supported for a screensaver
screensaver_max_heightany integer numberMaximum height supported for a screensaver
screensaver_preferred_widthany integer numberMaximum width suggested for a screensaver
screensaver_preferred_heightany integer numberMaximum height suggested for a screensaver
screensaver_df_size_limitany integer numberMaximum size in bytes of a screensaver through downloadfun
screensaver_directdownload_size_limitany integer numberMaximum size in bytes of a screensave through direct download
screensaver_inline_size_limitany integer numberMaximum size in bytes of a screensaver for an inline object
screensaver_oma_size_limitany integer numberMaximum size in bytes of a screensaver through OMA DD
screensaver_resizestringDescribes if and how the device resizes a downloaded screensaver if not exactly the same size of the screen. Possible values are "none", "fixed_ratio" (rescale respecting original proportions), "crop_centered", "crop_top_left".
picturetrue/falseif true the phone supports the download of picture files
picture_wbmptrue/falsesupport for wbmp images
picture_bmptrue/falsesupport for bmp images
picture_giftrue/falsesupport for gif images
picture_jpgtrue/falsesupport for jpg images
picture_pngtrue/falsesupport for png images
picture_greyscaletrue/falsetrue if the phone users a greyscale
picture_colorsany integer numberThis is the number in bit of displayable colors.
Note: if a phone uses 8 tones of grey, you should set wallpaper_greyscale to true and wallpaper_colors to 3
picture_max_widthany integer numberMaximum width supported for a picture
picture_max_heightany integer numberMaximum height supported for a picture
picture_preferred_widthany integer numberMaximum width suggested for a picture
picture_preferred_heightany integer numberMaximum height suggested for a picture
picture_df_size_limitany integer numberMaximum size in bytes of a picture throught downloadfun
picture_directdownload_size_limitany integer numberMaximum size in bytes of a picture throught direct download
picture_inline_size_limitany integer numberMaximum size in bytes of a picture for an inline object
picture_oma_size_limitany integer numberMaximum size in bytes of a picture through OMA DD
picture_resizestringDescribes if and how the device resizes a downloaded picture if not exactly the same size of the screen. Possible values are "none", "fixed_ratio" (rescale respecting original proportions), "crop_centered", "crop_top_left".
videotrue/falsetrue if the phone may download video clips


Group:playback
Capability Name Type Description
progressive_downloadtrue/falseif true the phone supports playback of audio/video content which is still being downloaded (http://en.wikipedia.org/wiki/ Progressive_download)
hinted_progressive_downloadtrue/falseProgressive download works, but contentent needs to be "hinted". This may seem funny, but this practice was made necessary by Android
playback_vcodec_h263_0-1, 10, 20, 30, 40, 45, 50, 60, 70(-1 = no h263 type 0 for downloaded video content) support level for devices that support H.263 type 0 encoded videos. Please refer to Table 2 - H.263 Levels to infer the value of other capabilities.
playback_vcodec_h263_3-1, 10, 20, 30, 40, 45, 50, 60, 70(-1 = no h263 type 3 for downloaded video content) support level for devices that support H.263 type 3 encoded videos. Please refer to Table 2 - H.263 Levels to infer the value of other capabilities.
playback_vcodec_mpeg4_sp-1, 0, 0b, 1, 2, 3(-1 = no MPEG4 Simple Profile downloaded videos) support level for devices that support MPEG 4 encoded videos. Please refer to Table 3 - MPEG-4 Simple Profile Levels to infer the value of other capabilities.
playback_vcodec_mpeg4_asp-1, 0, 1, 2, 3, 3b, 4(-1 = no MPEG4 Advanced Simple Profile videos) support level for devices that support MPEG 4 encoded videos. Please refer to Table 4 - MPEG-4 Advanced Simple Profile Levels to infer the value of other capabilities.
playback_vcodec_h264_bp-1, 1, 1b, 1.1, 1.2, 1.3, 2 (-1 = no H264 Baseline Profile videos) support level for devices that support "H264 Base Profile"-encoded videos. Please refer to Table 1 - H.264 Levels to infer the value of other capabilities.
playback_real_media"none", 8,9,10Device supports playback of RealMedia format (none = REAL NOT SUPPORTED), and, if supported, which version (V8, V9 or V10)
playback_3gpptrue/falsetrue if the phone supports 3GPP videos (including H.263)
playback_3g2true/falsetrue if the phone supports 3GPP 2 videos (for CDMA devices)
playback_flvtrue/falsetrue if the phone supports Adobe's Flash Video
playback_mp4true/falsetrue if the phone supports MP4 videos
playback_wmv"none",7,8,9none=WMV not supported. 7|8|9= WMV codec
playback_movtrue/falsetrue if the phone supports MOV videos
playback_acodec_amrnone,nb,wb,wb+(none=no AMR codec supported). AMR version
playback_acodec_aacnone, lc, ltp, heaac, heaac2(none=no AAC codec supported). AAC version
playback_acodec_qcelptrue/falseTrue if the device can play videos with Qualcomm Code Excited Linear Predictive waveform audio format
playback_df_size_limitintegerMax size in bytes for downloadfun. 0 is the default
playback_directdownload_size_limitintegerMax size in bytes for directdownload. 0 is the default
playback_inline_size_limitintegerMax size in bytes for inline download. 0 is the default
playback_oma_size_limitintegerMax size in bytes for OMA DD. 0 is the default


Group:drm
Capability Name Type Description
oma_v_1_0_forwardlocktrue/falsetrue if the phone support OMA DRM ForwardLock V1.0
oma_v_1_0_combined_deliverytrue/falsetrue if the phone support OMA DRM Combined Delivery V1.0
oma_v_1_0_separate_deliverytrue/falsetrue if the phone support OMA DRM Separate Delivery V1.0


Group:streaming
Capability Name Type Description
streaming_videotrue/falsetrue if the phone supports video streaming
streaming_real_media"none",8,9,10Device supports streaming in RealMedia format (none = REAL NOT SUPPORTED), and, if supported, which version (V8, V9 or V10)
streaming_3gpptrue/falsetrue if the phone supports 3GPP
streaming_mp4true/falsetrue if the phone supports MP4
streaming_wmv"none",7,8,9none=WMV not supported. 7|8|9= WMV codec
streaming_movtrue/falsetrue if the phone supports MOV
streaming_flvtrue/falsetrue if the phone supports FLV (Flash Video)
streaming_3g2true/falsetrue if the phone supports 3GPP 2
streaming_video_size_limitintegerMax size in bytes for the clip
streaming_vcodec_h263_0-1, 10, 20, 30, 40, 45, 50, 60, 70 (-1 = no h263 type 0 streaming) support level for devices that support H.263 type 0 encoded videos. Please refer to Table 2 - H.263 Levels to infer the value of other capabilities.
streaming_vcodec_h263_3-1, 10, 20, 30, 40, 45, 50, 60, 70 (-1 = no h263 type 0 streaming) support level for devices that support H.263 type 3 encoded videos. Please refer to Table 2 - H.263 Levels to infer the value of other capabilities.
streaming_vcodec_mpeg4_sp-1, 0, 0b, 1, 2, 3 (-1 = no MPEG4 Simple Profile streaming) support level for devices that support MPEG 4 encoded videos. Please refer to Table 3 - MPEG-4 Simple Profile Levels to infer the value of other capabilities.
streaming_vcodec_mpeg4_asp-1, 0, 1, 2, 3, 3b, 4 (-1 = no MPEG4 Advanced Simple Profile streaming) support level for devices that support MPEG 4 encoded videos. Please refer to Table 4 - MPEG-4 Advanced Simple Profile Levels to infer the value of other capabilities.
streaming_vcodec_h264_bp-1, 1, 1b, 1.1, 1.2, 1.3, 2 (-1 = no H264 Baseline Profile streaming) support level for devices that support H264 encoded videos. Please refer to Table 1 - H.264 Levels to infer the value of other capabilities.
streaming_acodec_amrnone,nb,wb,wb+(none=no AMR codec supported). AMR version
streaming_acodec_aacnone, lc, ltp, heaac, heaac2(none=no AAC codec supported). AAC version
streaming_preferred_protocolrtsp,http,mmsNot all devices support RTSP for streaming (notably, the iPhone doesn't). Some support HTTP-based protocols for streaming (there are actually a few which are based on HTTP. Also see the streaming_preferred_http_protocol capability)
streaming_preferred_http_protocolnone, apple_live_streaming, microsoft_smooth _streaming, progressive_download Typically, this capability should be read when streaming_preferred_protocol (see above) is 'http'. Otherwise, RTSP (or MMS for some legacy devices) is usually preferrable.
There are a few different HTTP-based streaming protocols:
Note: Also see the progressive_download and hinted_progressive_download capabilities in the playback group.


Group:wap_push
Capability Name Type Description
wap_push_supporttrue/falsetrue if the phone support WAP Push messages
connectionless_service_indicationtrue/falsetrue if the phone supports it
connectionless_service_loadtrue/falsetrue if the phone supports it
connectionless_cache_operationtrue/falsetrue if the phone supports it
connectionoriented_unconfirmed_
service_indication
true/falseWhether unconfirmed service indications are supported, when connection-oriented push is used
connectionoriented_unconfirmed_
service_load
true/falseWhether unconfirmed service load operations are supported, when connection-oriented push is used
connectionoriented_unconfirmed_
cache_operation
true/falseWhether unconfirmed cache operations are supported, when connection-oriented push is used
connectionoriented_confirmed_
service_indication
true/falseWhether confirmed service indications are supported, when connection-oriented push is used
connectionoriented_confirmed_
service_load
true/falseWhether confirmed service load operations are supported, when connection-oriented push is used
connectionoriented_confirmed_
cache_operation
true/falseWhether confirmed cache operations are supported, when connection-oriented push is used
utf8_supporttrue/falseWhether the UTF-8 character set is supported
ascii_supporttrue/falseWhether the ASCII character set is supported
iso8859_supporttrue/falseWhether the ISO-8559 character set is supported
expiration_datetrue/falseWhether an expiry date can be set for the resource


Group:mms
Capability Name Type Description
receivertrue/falseMay receive MMS messages
sendertrue/falseMay send MMS messages
mms_max_heightany integer numberMaximum height for an image
mms_max_widthany integer numberMaximum width for an image
built_in_recordertrue/falseThe device features a built-in audio recorder
built_in_cameratrue/falseThe device features a built-in camera
mms_jpeg_baselinetrue/falseBaseline JPG images support
mms_jpeg_progressivetrue/falseProgressive JPG images support
mms_gif_statictrue/falseStatic GIF (87a) support
mms_gif_animatedtrue/falseAnimated GIF (89a) support
mms_pngtrue/falsePNG support
mms_bmptrue/falseBMP support
mms_wbmptrue/falseWBMP support
mms_amrtrue/falseAMR support
mms_wavtrue/falseWAV support
mms_midi_monophonictrue/falseMonophonic MIDI support
mms_midi_polyphonictrue/falsePolyphonic MIDI support
mms_midi_polyphonic_voicesintegerIf polyphonic MIDI is supported, the number of available voices
mms_spmiditrue/falseSPMIDI support
mms_ota_bitmaptrue/falseOTA Bitmap support
mms_nokia_wallpapertrue/falseNokia wallpaper support
mms_nokia_operatorlogotrue/falseNokia operator logo support
mms_nokia_3dscreensavertrue/falseNokia 3D screensaver support
mms_nokia_ringingtonetrue/falseNokia ringingtone support
mms_rmftrue/falseRMF support
mms_symbian_installtrue/falseSymbian install files support (May receive Symbian install files inside an MMS)
mms_jartrue/falseJAR support
mms_jadtrue/falseJAD support
mms_vcardtrue/falseVcard support
mms_wmltrue/falseThe message may contain wml
mms_wbxmltrue/falseThe message may contain wbxml
mms_wmlctrue/falseThe message may contain wmlc
mms_videotrue/falseThe message may contain a video clip
mms_mp4true/falseThe message may contain an MP4 video
mms_3gpptrue/falseThe message may contain a 3GPP video
mms_3gpp2true/falseThe message may contain a 3GPP2 (CDMA phones) video
mms_max_frame_rateintegerThe max frame rate for the video


Group:sms Binary SMS and SCKL capabilities.
Capability Name Type Description
sms_enabledtrue/falsetrue if the phone supports SMS
nokiaringtrue/falsetrue if the phone supports nokiarings
picturemessagetrue/falsetrue if the phone supports Nokia picture messages
operatorlogotrue/falsetrue if the phone supports Nokia operator logo's (72x14 pixel)
largeoperatorlogotrue/falsetrue if the phone supports Nokia large operator logo's (72x28 pixel)
callericontrue/falsetrue if the phone supports Nokia caller icons
nokiavcardtrue/falsetrue if the phone supports Nokia vcards
nokiavcaltrue/falsetrue if the phone supports Nokia vcals
sckl_ringtonetrue/falsetrue if the phone supports SCKL ringtones
sckl_operatorlogotrue/falsetrue if the phone supports SCKL operator logos
sckl_groupgraphictrue/falsetrue if the phone supports SCKL group graphics
sckl_vcardtrue/falsetrue if the phone supports SCKL vcards
sckl_vcaltrue/falsetrue if the phone supports SCKL vcals
text_imelodytrue/falsetrue if the phone supports textual iMelody
emstrue/falsetrue if the phone supports EMS messages
ems_variablesizedpicturestrue/falsetrue if the phone supports EMS messages
ems_imelodytrue/falsetrue if the phone supports iMelody over EMS messages
ems_oditrue/falsetrue if the phone supports EMS ODI (Object Distribution Indicator)
ems_upitrue/falsetrue if the phone supports EMS UPI (User Prompt Indicator)
ems_versionintegerEMS version
siemens_otatrue/falsetrue if the phone supports Siemens OTA
siemens_logo_widthintegerLogo width (default is 101)
siemens_logo_heightintegerLogo height (default is 29)
siemens_screensaver_widthintegerScreensaver width (default is 101)
siemens_screensaver_heightintegerScreensaver height (default is 50)
gprtftrue/falsetrue if the phone supports Motorola proprietary ringtones (GPRTF)
sagem_v1true/falsetrue if the phone supports Sagem proprietary ringtones spec 1.0
sagem_v2true/falsetrue if the phone supports Sagem proprietary ringtones spec 2.0
panasonictrue/falsetrue if the phone supports Panasonic proprietary ringtones


Group:j2me
NOTE: this group has been totally reviewed, old tags don't exist any more, check out the new tags
Group mentors: José Manuel Cantera Fonseca and Cristian Rodriguez from Telefonica I+D
Capability Name Type Description
j2me_midp_1_0true/falsetrue if the phone is compliant to MIDP 1.0 specifications
j2me_cldc_1_0true/falsetrue if the phone is compliant to CLDC 1.0 specifications
j2me_midp_2_0true/falsetrue if the phone is compliant to MIDP 2.0
j2me_cldc_1_1true/falsetrue if the phone is compliant to CLDC 2.0 specifications
doja_1_0true/falsetrue if the phone is compliant to DoJa 1.0 specifications
doja_1_5true/falsetrue if the phone is compliant to DoJa 1.5 specifications
doja_2_0true/falsetrue if the phone is compliant to DoJa 2.0 specifications
doja_2_1true/falsetrue if the phone is compliant to DoJa 2.1 specifications
doja_2_2true/falsetrue if the phone is compliant to DoJa 2.2 specifications
doja_3_0true/falsetrue if the phone is compliant to DoJa 3.0 specifications
doja_3_5true/falsetrue if the phone is compliant to DoJa 3.5 specifications
doja_4_0true/falsetrue if the phone is compliant to DoJa 4.0 specifications
j2me_jtwitrue/falseJTWI support
j2me_mmapi_1_0true/falseMMAPI 1.0 support
j2me_mmapi_1_1true/falseMMAPI 1.1 support
j2me_wmapi_1_0true/falseWMAPI 1.0 support
j2me_wmapi_1_1true/falseWMAPI 1.1 support
j2me_wmapi_2_0true/falseWMAPI 2.0 support
j2me_btapitrue/falseBlueTooth API support
j2me_3dapitrue/false3D API support
j2me_locapitrue/falseLocation API support
j2me_nokia_uitrue/falseNokia UI support
j2me_motorola_lwttrue/falseMotorola LWT support
j2me_siemens_color_gametrue/falseSiemens Color Game extension support
j2me_siemens_extensiontrue/falseSiemens extension support
j2me_heap_sizeany integer numberMemory limit in bytes of the memory during runtime
j2me_storage_sizeany integer numberThe physical memory limit
j2me_max_jar_sizeany integer numberLimit in bytes of a midlet downloaded over-the-air
j2me_max_record_store_sizeany integer numberLimit in bytes of a record store
j2me_screen_widthany integer numberScreen width in pixels
j2me_screen_heightany integer numberScreen height in pixels
j2me_canvas_widthany integer numberCanvas width in pixels
j2me_canvas_heightany integer numberCanvas height in pixels
j2me_bits_per_pixelany integer numberBits per pixels - tells you the colors supported
j2me_audio_capture_enabledtrue/falseThe device may capture audio clips while in a midlet
j2me_video_capture_enabledtrue/falseThe device may capture video clips while in a midlet
j2me_photo_capture_enabledtrue/falseThe device may capture images clips while in a midlet
j2me_capture_image_formatsstringIf j2me_photo_capture_enabled is true, this will tell you the image format supported
j2me_httptrue/falseThe device may start HTTP sessions
j2me_httpstrue/falseThe device may start HTTPS sessions
j2me_sockettrue/falseThe device may open a socket
j2me_udptrue/falseThe device may start UDP sessions
j2me_serialtrue/falseThe device may start serial connections
j2me_giftrue/falsetrue if it supports gif images
j2me_gif89atrue/falsetrue if it supports gif 89a (animated) images
j2me_jpgtrue/falsetrue if it supports jpg images
j2me_pngtrue/falsetrue if it supports png images
j2me_bmptrue/falsetrue if it supports bmp images
j2me_bmp3true/falsetrue if it supports bmp3 images
j2me_wbmptrue/falsetrue if it supports wbmp images
j2me_miditrue/falsetrue if it supports midi files
j2me_wavtrue/falsetrue if it supports wav files
j2me_amrtrue/falsetrue if it supports amr files
j2me_mp3true/falsetrue if it supports mp3 files
j2me_mp4true/falsetrue if it supports mp4 audiofiles
j2me_imelodytrue/falsetrue if it supports imelody files
j2me_rmftrue/falsetrue if it supports rmf files
j2me_autrue/falsetrue if it supports au files
j2me_aactrue/falsetrue if it supports aac files
j2me_realaudiotrue/falsetrue if it supports realaudio files
j2me_xmftrue/falsetrue if it supports xmf files
j2me_wmatrue/falsetrue if it supports wma files
j2me_3gpptrue/falsetrue if it supports 3gpp files
j2me_h263true/falsetrue if it supports h263 files
j2me_svgttrue/falsetrue if it supports svgt files
j2me_mpeg4true/falsetrue if it supports mpeg4 audio/video files
j2me_realvideotrue/falsetrue if it supports realvideo files
j2me_real8true/falsetrue if it supports real8 files
j2me_realmediatrue/falsetrue if it supports realmedia files
j2me_left_softkey_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the left softkey is pressed, this will be the value returned by the even handler (often a negative number).
j2me_right_softkey_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the right softkey is pressed, this will be the value returned by the even handler (often a negative number).
j2me_middle_softkey_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the middle softkey is pressed, this will be the value returned by the even handler (often a negative number).
j2me_select_key_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the 'select' softkey is pressed, this will be the value returned by the even handler (often a negative number).
j2me_return_key_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the 'return' softkey is pressed, this will be the value returned by the even handler (often a negative number).
j2me_clear_key_codeany integer number The number refers to the value which is returned by an event handler method in the j2me APIs, so its an internal number (which is implementation dependant). When the 'clear' key is pressed, this will be the value returned by the even handler (often a negative number).
j2me_datefield_no_accepts_null_datetrue/falsedatefields do not accept empty values (this is a bug)
j2me_datefield_brokentrue/falsedatefields do not work (this is a bug)


Group:sound_format (supported sound formats)
Capability Name Type Description
wavtrue/falseSupports the .wav (Waveform) sound format
mmftrue/falseSupports the MMF (a Yamaha format) version is understood by the number of voices
smftrue/falseSupports the smf (Standard MIDI File) sound format
mldtrue/falseAn iMode sound format
midi_monophonictrue/falseSupports the midi (Musical Instrument Digital Interface) monophonic sound format
midi_polyphonictrue/falseSupports the midi (Musical Instrument Digital Interface) polyphonic sound format
sp_miditrue/falseSupports the Scalable Polyphony MIDI sound format
rmftrue/falseSupports the rmf sound format (Beatnik format)
xmftrue/falseSupports the XMF sound format (Beatnik format)
compactmiditrue/falseSupports the Compact MIDI sound format (a Faith Inc. format)
digiplugtrue/falseA compact polyphonic sound format developed by the Digiplug company
nokia_ringtonetrue/falseSupports the Nokia ringing tone sound format
imelodytrue/falseA standard file format for melodies, also adopted as the ringtone format by the 4 companies developing the EMS standard
autrue/falseAlso called the uLaw, NeXT, or Sun Audio format
amrtrue/falseAMR standard sound format
awbtrue/falseAMR wide band standard sound format
aactrue/falseAAC standard sound format
mp3true/falseSupports the mp3 sound format
qcelptrue/falseSupports the Qualcomm Code Excited Linear Predictive waveform format
evrctrue/falseSupports the Enhanced Variable Rate Codec waveform format
voicesany integer numberMaximum number of notes the device can play at the same time


Group:flash_lite Macromedia/Adobe Flash Lite
Capability Name Type Description
flash_lite_version1_1, 1_2, 2_0, 2_1,....Which version of Flash Lite is supported by device
fl_wallpapertrue/falseWallpaper Application
fl_screensavertrue/falseScreensaver Application
fl_standalonetrue/falseStandalone Flasg lite
fl_browsertrue/falseCan run SWF files embedded in HTML
fl_sub_lcdtrue/falseSubLCD refers to the external or 2nd display of a device. The ability for this second LCD to display SWF files.
full_flash_supporttrue/falseDevice has full flash support.


Group:transcoding Handle abusive transcoders
Capability Name Type Description
is_transcodertrue/falseTranscoders hide real device information. This capability will be true if a transcoder is detected and may be used to treat this request specially
transcoder_ua_headerStringTranscoders may be placing the original device UA string in a different header. This capability contains the name of the header where the original device UA string *may* be found.


Group:rss Native support for RSS feeds
Capability Name Type Description
rss_supporttrue/falseDevice has native support for RSS feeds


Group:pdf Native support for PDF documents
Capability Name Type Description
pdf_supporttrue/falseCan read PDF files natively.


Group:chips Support for extra chips that may be available on the device
Capability Name Type Description
nfc_supporttrue/falseDevice supports NFC (Near Field Communication).
fm_tuner_supporttrue/falseDevice also works as a radio (can play FM radio signal on device)


Group:smarttv Capabilities that are relevant for SmartTVs
Capability Name Type Description
is_smarttvtrue/falseDevice is a SmartTV (GoogleTV, Boxee Box, AppleTV, etc.).


Group:Deprecated Capabilities which will soon be removed
Capability Name Type Description
has_pointing_devicetrue/false (deprecated, use pointing_method instead): The presence of a stylus is the tipical example of this, but there are also devices with mouse-like user controls that can have this capability set to true.In general, not having to click your way to each and every link (or form widget) makes a big difference and this capability captures that.
xhtml_supports_file_uploadtrue/false(Deprecated. See xhtml_file_upload)
flash_litetrue/false(Deprecated. See flashlite group) Supports flash lite format version 1.0
flash_lite_1_1true/false(Deprecated. See flashlite group) supports flash lite format version 1.1
flash_lite_download_limitany integer number(Deprecated. See flashlite group) Defines the download limit in bytes for flash lite files
https_detectable true/false(DEPRECATED) The device can detect when a request is made to an HTTPS resource
video_real_media_8true/false(DEPRECATED: see playback_real_media) true if the phone supports real media V8
video_real_media_9true/false(DEPRECATED: see playback_real_media) true if the phone supports real media V9
video_real_media_10true/false(DEPRECATED: see playback_real_media) true if the phone supports real media V10
video_3gpptrue/false(DEPRECATED: see playback_3gpp) true if the phone supports 3GPP videos (including H.263)
video_3gpp2true/false(DEPRECATED: see playback_3g2) true if the phone supports 3GPP 2 videos (for CDMA devices)
video_mp4true/false(DEPRECATED: see playback_mp4) true if the phone supports MP4 videos
video_wmvtrue/false(DEPRECATED: see playback_wmv) true if the phone supports WMV videos
video_movtrue/false(DEPRECATED: see playback_mov) true if the phone supports MOV videos
video_max_frame_rateinteger(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) Max frame rate supported. 0 is the default
video_max_widthinteger(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) Max width. 0 is the default
video_max_heightinteger(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) Max height. 0 is the default
video_qciftrue/false(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) True if the device can play QCIF videos
video_sqciftrue/false(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) True if the device can play SQCIF videos
video_preferred_widthinteger(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) Suggested max height so that the device will not need any resizing. 0 is the default
video_preferred_heightinteger(DEPRECATED: these capabilities are now inferrable from the respective codec info. More info here) Suggested max height so that the device will not need any resizing. 0 is the default
video_df_size_limitinteger(Deprecated, see corresponding "playback_" capability in the "playback group) Max size in bytes for downloadfun. 0 is the default
video_directdownload_size_limitinteger(Deprecated, see corresponding "playback_" capability in the "playback group) Max size in bytes for directdownload. 0 is the default
video_inline_size_limitinteger(Deprecated, see corresponding "playback_" capability in the "playback group) Max size in bytes for inline download. 0 is the default
video_oma_size_limitinteger(Deprecated, see corresponding "playback_" capability in the "playback group) Max size in bytes for OMA DD. 0 is the default
video_vcodec_h263_0true/false(DEPRECATED: use playback_vcodec_h263_0 (playback group)) True if the device can play videos encoded using H.263 version 0
video_vcodec_h263_3true/false(DEPRECATED: use playback_vcodec_h263_3 (playback group)) True if the device can play videos encoded using H.263 version 3
video_vcodec_h264String(DEPRECATED: use playback_vcodec_h264_bp (playback group)) none = no H264 support. Otherwise string will represent the different levels for baseline profile. Ex: "10 1b", "10 1b 11 12"
video_vcodec_mpeg4true/false(DEPRECATED: use playback_vcodec_mpeg4_sp or playback_vcodec_mpeg4_asp (playback group)) True if the device can play videos encoded using MPEG 4
video_acodec_amrtrue/false(DEPRECATED: use playback_acodec_amr) True if the device can play videos with AMR audio
video_acodec_awbtrue/false(DEPRECATED: use playback_acodec_amr) True if the device can play videos with AMR Wide-Band audio
video_acodec_aactrue/false(DEPRECATED: use playback_acodec_aac) True if the device can play videos with AAC audio
video_acodec_aac_ltptrue/false(DEPRECATED: use playback_acodec_aac) True if the device can play videos with AAC LTP audio
video_acodec_qcelptrue/false(DEPRECATED: use playback_acodec_qcelp) True if the device can play videos with Qualcomm Code Excited Linear Predictive waveform audio format
streaming_real_media_8 true/false(deprecated: use streaming_real_media instead) true if the phone supports Real media V8
streaming_real_media_9 true/false(deprecated: use streaming_real_media instead) true if the phone supports Real media V9
streaming_real_media_10 true/false (deprecated: use streaming_real_media instead) true if the phone supports Real media V10
streaming_video_qciftrue/falsetrue if the phone supports QCIF standard
streaming_video_qcif_max_widthintegerMax (suggested) width for QCIF videos
streaming_video_qcif_max_heightintegerMax (suggested) height for QCIF videos
streaming_video_sqciftrue/falsetrue if the phone supports SQCIF standard
streaming_video_sqcif_max_widthintegerMax (suggested) width for SQCIF videos
streaming_video_sqcif_max_heightintegerMax (suggested) height for SQCIF videos
streaming_video_max_bit_rateintegerMax bit rate for video+audio in bits per second (bps)
streaming_video_max_video
_bit_rate
integerMax bit rate for video in bits per second (bps)
streaming_video_min_video
_bit_rate
integerMinimum bit rate for video in bits per second (bps)
streaming_video_max_audio
_bit_rate
integerMax bit rate for audio in bits per second (bps)
streaming_video_max_frame_rateintegerMax frame rate
streaming_video_vcodec_h263_0true/false(DEPRECATED: use streaming_vcodec_h263_0) true if the device supports H.263 type 0 encoded videos
streaming_video_vcodec_h263_3true/false(DEPRECATED: use streaming_vcodec_h263_3) true if the device supports H.263 type 3 encoded videos
streaming_video_vcodec_mpeg4true/false(DEPRECATED: use streaming_vcodec_mpeg4_sp or streaming_vcodec_mpeg4_asp) true if the device supports MPEG 4 encoded videos
streaming_video_vcodec_h264true/false(DEPRECATED: use streaming_vcodec_h264_bp) true if the device supports H264 encoded videos (this is the streaming counterpart of (object download) video_vcodec_h264
streaming_video_acodec_amrtrue/false(DEPRECATED: see streaming_acodec_amr) true if the phone supports AMR
streaming_video_acodec_awbtrue/false(DEPRECATED: see streaming_acodec_amr) true if the phone supports AWB
streaming_video_acodec_aactrue/false(DEPRECATED: see streaming_acodec_aac) true if the phone supports AAC
streaming_video_acodec_aac_ltptrue/false(DEPRECATED: see streaming_acodec_aac) true if the phone supports AAC LTP


Inference Tables
TABLE 1(H.264 Levels)
Levels Typical Picture Size Typical frame rate Maximum bit rate
1 sQCIF
QCIF
sQCIF@30 fps
QCIF@15 fps
64 Kbps
1b sQCIF
QCIF
sQCIF@30 fps
QCIF@15 fps
128 Kbps
1.1 sQCIF
QCIF
QVGA
CIF
sQCIF@30 fps
QCIF@15 fps
QVGA@10fps
CIF@7.5fps
192 Kbps
1.2 sQCIF
QCIF
QVGA
CIF
sQCIF@30 fps
QCIF@30 fps
QVGA@20fps
CIF@15fps
384 Kbps
1.3 sQCIF
QCIF
QVGA
CIF
sQCIF@30 fps
QCIF@30 fps
QVGA@30 fps
CIF@30 fps
768 Kbps
2 sQCIF
QCIF
QVGA
CIF
sQCIF@30 fps
QCIF@30 fps
QVGA@30 fps
CIF@30 fps
2 Mbps
2.1 sQCIF
QCIF
QVGA
CIF
½ D1 (352x576 PAL; 352x480 NTSC)
1/3 D1(480x576 PAL; 480x480 NTSC)
sQCIF@30 fps
QCIF@30 fps
QVGA@30 fps
CIF@30 fps
½ D1@30.0
1/3 D1@25.0
4 Mbps
2.2 sQCIF
QCIF
QVGA
CIF
½ D1 (352x576 PAL; 352x480 NTSC)
1/3 D1(480x576 PAL; 480x480 NTSC)
Full D1 (720x576 PAL; 720x480 NTSC)
352x480@30.7
352x576@25.6
720x480@15.0
720x576@12.5
4 Mbps
3 352×480@61.4 352×576@51.1 720×480@30.0 720×576@25.0 10 Mbps
3.1 720×480@80.0 720×576@66.7 1280×720@30.0 14 Mbps
3.2 1,280×720@60.0 1,280×1,024@42.2 20 Mbps
4 1,280×720@68.3 1,920×1,080@30.1 2,048×1,024@30.0 20 Mbps
4.1 1,280×720@68.3 1,920×1,080@30.1 2,048×1,024@30.0 50 Mbps
4.2 1,920×1,080@64.0 2,048×1,080@60.0 50 Mbps
5 1,920×1,080@72.3 2,048×1,024@72.0 2,048×1,080@67.8 2,560×1,920@30.7 3,680×1,536@26.7 135 Mbps
5.1 1,920×1,080@120.5 4,096×2,048@30.0 4,096×2,304@26.7 240 Mbps


TABLE 2 (H.263 Levels)
Levels Typical Picture Size Typical frame rate Maximum bit rate
10 QCIF/sQCIF 15 64 Kbps
20 CIF, QVGA, QCIF, sQCIF 15 (CIF) 30 (QVGA, QCIF, sQCIF) 128 Kbps
30 CIF, QVGA, QCIF, sQCIF 30 (=<CIF) 384 Kbps
40 CIF, QVGA, QCIF, sQCIF 30 (=<CIF) 2 Mbps
45 QCIF/sQCIF 15 128 Kbps
50 CIF 50 (=<CIF) 60 (=<SIF 352x240) 4 Mbps


TABLE 3 (MPEG-4 SP(Simple Profile) Levels)
Levels Typical Picture Size Typical frame rate Maximum bit rate
0 QCIF 15 64 Kbps
0b QCIF 15 128 Kbps
1 sQCIF
QCIF
sQCIF@30
QCIF@15
64 Kbps
2 sQCIF
QCIF
QVGA
CIF
sQCIF@30
QCIF@30
QVGA@15
CIF@15
128 Kbps
3 sQCIF
QCIF
QVGA
CIF
sQCIF@30
QCIF@30
QVGA@30
CIF@30
384 Kbps


TABLE 4 (MPEG-4 ASP(Advanced Simple Profile) Levels)
Levels Typical Picture Size Typical frame rate Maximum bit rate
0 sQCIF
QCIF
30 128 Kbps
1 sQCIF
QCIF
30 128 Kbps
2 sQCIF
QCIF
QVGA
CIF
sQCIF@30
QCIF@30
QVGA@15
CIF@15
384 Kbps
3 sQCIF
QCIF
QVGA
CIF
sQCIF@30
QCIF@30
QVGA@30
CIF@30
768 Kbps
3.b sQCIF
QCIF
QVGA
CIF
sQCIF@30
QCIF@30
QVGA@30
CIF@30
1500 Kbps
4 sQCIF
QCIF
QVGA
CIF
½ D1 (352x576 PAL; 352x480 NTSC)
2CIF (704x288)
sQCIF@30
QCIF@30
QVGA@30
CIF@30
Half D1@30
2CIF@30
3000 Kbps