WMLScript is loosely based on ECMAScript (ECMA262) and provides general scripting capabilities to the Wireless Application Protocol (WAP) architecture. Specifically, WMLScript complements the Wireless Markup Language (WML). WML, which is based on Extensible Markup Language (XML), specifies application content for narrowband devices like cellular phones and pagers. This content can be text, images, selection lists, etc. WML allows simple formatting to make the user interfaces more readable as long as the client device used to display the content can support it. However, all standard WML content is static and there is no way to extend the language without modifying WML itself. Other limitations of WML include:
Checking the validity of user input.
Access to facilities of the device. For example, on a phone, allow the programmer to make phone calls, send messages, add phone numbers to the address book, access the SIM card, etc.
Generating messages and dialogs locally thereby reducing the need for expensive round-trips to show alerts, error messages, confirmations, etc.
Allowing extensions to the device software and configuration of the device after it has been deployed.
WMLScript was designed to overcome these limitations and to provide programmable functionality that can be used over narrowband communication links in clients with limited capabilities.