The W3C Widgets specification defines a standard for installable (mobile) applications written in Web Technologies, particularly the set of open technologies commonly known as Ajax (i.e., HTML+JS+CSS). W3C Widgets is an open standard that is meant to provide a vendor-neutral, interoperable format for installable applications that works across multiple platforms. Its initial market focus has been mobile devices, but the standard is just as relevant to desktop computers as mobile phones.
Here is the spec:
PPK has written up an introduction:
Some large companies are pushing this standard. Among the organizations who have been active in the development of W3C Widgets (and other associated standards, such as OMTP BONDI) are LiMo Foundation, Nokia, OMTP, Opera, Telecom Italia, Telefónica Espana, T-Mobile and Vodafone. The OMTP has embraced W3C Widgets and has partnered with the W3C (and OpenAjax Alliance in 2007-2008) on related standards around device APIs.
For the most part, W3C Widgets is simple technology. You create a user interface in HTML+JS+CSS. Then you create a simple XML file that contains metadata about your widget and then put it all in a ZIP file. There are advanced features, but the basics are easy to implement.
Jon Ferraiolo comments
Today, leading mobile platform vendors such as the iPhone and Android implement proprietary mobile application file formats, which must be used no matter whether you implement your mobile application in native code (e.g., Objective-C for iPhone and Dalvik/Java for Android) or web technologies. If developers want to use Web technologies, they should be able to use a standard container format (i.e., W3C Widgets) to deliver their application instead of having to create a platform-specific container.
Let's not be schizophrenic. Mobile phones work hard to support most of the relevant open standards, such as HTML and HTTP. Why go proprietary on the container format, especially when a standard exists, it's simple to implement, and some of the large cell operators are demanding it?