[June 02, 2001] Relational Markup Language (RML) is an XML-based language used by 2Roam and its industry partners. 2Roam is a wireless software and service provider which helps companies "move online business onto any handheld wireless device, such as mobile phones and PDAs." 2Roam partners with AdForce, Hello Asia, Mobilocity, Akamai, Interwoven, Pumatech, Avenue A, iQ.COM, SignalSoft, DoubleClick, Matsushita, Sun Microsystems, Engage Media, Mediaplex, VeriSign [2001-06].
[June 02, 2001] "2Roam can accept both XML documents as well as XML data feeds with a stored XSL style sheet... [Other] Markup Languages: 2Roam currently [2001-06] supports XML, HTML, and Java Script re-purposing to all of the wireless markups including WML, HDML, iMode CHTML, web clippings, tiny HTML, and MML. In addition, we are adding variations to each, as well as support for new markups as they are introduced. The service is set up to recognize and prepare for all devices, so no one particular language is used with the 2Roam technology. Each device has its own protocol, browser and mark up language, thus there are multiple combinations that arise. Catalyst takes the Web page, reads it and renders it appropriately. The HTML is cleaned up and XHTML (XML compliant HTML) is created. The XSL style sheet created gives preferences on how a page is to be translated for the wireless database. The XSL style sheet, together with the XHTML, helps to build our own proprietary language, RML. The server has a database (XSL Database) that contains the information on each device, so the page is converted and optimized according to the device..." [from the FAQ]
RML description from the IEEE article (2001-06, referenced below):
... Relational Markup Language is an XML application just as HTML and XML are SGML applications. RML is tailored to meet the specific needs of wireless Internet technologies. Developers use RML's customized elements to add structural context to a Web site's content for multiple presentation formats. RML retrieves and caches client data from requested URLs, then uses predefined rule sets to convert the data from HTML and XML to RML. [See fig. 2 on creating a modular architecture using Relational Markup Language] A traditional wireless implementation can require different transcoding steps for each possible combination of markup languages. In contrast, an RML-based implementation provides an intermediate format for the automatic markup of all markup languages. The output can then be generated without regard to the original input markup language.
[Background problem:] One challenge [in application integration] is integrating disparate content sources. Although some Web developers are beginning to store information in XML, most existing content was developed for desktop-based, nonmobile HTML browsers. Typically, most Web sites have a layered structure that closely ties a presentation layer to an underlying logic layer. However, wireless devices require a drastically different presentation layer, and rearchitecting the entire site to decouple these layers would be extremely expensive. Another challenge is the proliferation of devices, browsers, and markup languages.5 For example, markup languages include such variants as HDML 3.0, WML 1.x for OpenWave, WML 1.x for Nokia, TinyHTML for PalmPilots, and CHTML for iMode. Different browser features -- support for non-nested tables and images, nested tables but no images, images and nested tables but only one font size, and so on -- compound the problem. Display capabilities range from two-line black-and-white displays to full-color displays with tens of thousands of pixels. Optimal user interface Creating a compelling user interface that is appropriate for different device classes is another challenge. For example, a stock-trading site might want to expose a market research function containing charts and graphs to a PalmPilot but not to a limited-display cell phone. To avoid forcing the cell phone user to scroll down numerous lines or navigate through multiple menus to access desired content, the two devices' information architecture would have to be drastically different.
At first glance, it seems that the easiest way to address these problems is to rewrite existing Web content in a language appropriate for a particular protocol This would involve, for example, creating WML-formatted content to fit various WAP devices, CHTML-formatted content for iMode devices, and so on. However, the wide range of devices, browser functions, gateway interfaces, and markup language nuances make this approach intractable. User-transparent transformation In user-transparent transformation, a middleware application transparently reformats content -- on the fly -- into a user-specific presentation, interface, and protocol. In this context, a middleware application sits between the existing content server and the user agent. Because the middleware application can automatically detect the kind of device being used and format the contents accordingly, it is not necessary to maintain Web content in multiple formats. User-transparent middleware approaches can process transcoding with or without a priori information. They can either strip down the content from an under-described source such as HTML or build up content from discrete pieces. However, end users still must scroll through hundreds of lines to get to the content in which they are interested...
Relational Markup Language: Relational Markup Language incorporates two concepts -- relational hierarchies of content and adding context to content -- to resolve these problems. Because it describes content through relationships, RML provides a write-once-deliver-anywhere solution. An interpreter can use the relational information to create an optimal information architecture. Converting application content to a normalized RML format facilitates creating a modular architecture. When a new device, browser, gateway, or markup language emerges, adding one new module supports both current and future users. Atomics and groups: The RML framework uses atomics -- discrete pieces such as a word, sentence, paragraph, image, link, or any other piece of content -- to create a framework that supports the addition of both relational data and context. RML encapsulates atomics into groups to create a complex relational hierarchy. Groups contain one or more atomics, and they can themselves be part of larger groups. An interpreter can add contextual attributes to the atomics and groups to optimize the information architecture for a specific mobile device. Adding context allows the RML document to handle current and future application calls that different devices make from the browser. The context attribute defines the type of application call, and context data defines the parameters the document needs to make the function call...
RML also can differentiate between sequential and nonsequential content. For example, a page of text is sequential content, and a list of links to news stories is nonsequential content. If nonsequential content does not fit on one page -- for example, the headlines subsection -- RML collapses the associated groups into links. Device-specific tasks may include click-to-dial, creating an address book entry, or sending email. Developers can use the RML framework to develop algorithms that optimize the user's experience on a variety of mobile devices.
"The 2Roam Wireless Platform centers around the 2Roam Catalyst Server. The 2Roam Catalyst Server manages all the interactions between the wireless requester, the carrier gateways and the Web site. It identifies device information of the requester, retrieves real time content, formats on-the-fly wireless content, and presents customized Web pages for the wireless request.. Also included in the platform is a device manager that maintains a warehouse of all wireless devices and the layers of technology they use..."
RML specification [missing]
[June 02, 2001] "Bringing the Wireless Internet to Mobile Devices." By Subhasis Saha, Mark Jamtgaard, and John Villasenor. In IEEE Computer Volume 34, Number 6 (June 2001), pages 54-58. "Transcoding and Relational Markup Language are promising middleware solutions to the problem of bringing Internet content to the extremely diverse and dynamic mobile wireless devices universe... Mapping Internet content to mobile wireless devices requires new technologies, standards, and innovative solutions that minimize cost and maximize efficiency. The wireless Internet must deliver information in a suitable format to handheld device users -- regardless of location and connectivity. Although the exact form in which high-speed wireless data services will develop is uncertain, the authors predict an improvement over today's data rates. Current mobile devices suffer from small displays, limited memory, limited processing power, low battery power, and vulnerability to inherent wireless network transmission problems. To address these issues, a group of leading wireless and mobile communications companies have developed the wireless application protocol for transmitting wireless information and telephony services on mobile handheld devices. Whereas HTTP sends its data in text format, WAP uses Wireless Markup Language to create and deliver content in a compressed binary format that provides efficiency and security. Middleware, an alternative to manually replicating content, seamlessly translates a Web site's existing content to mobile devices that support operating systems, markup languages, microbrowsers, and protocols. The authors predict that middleware such as Relational Markup Language will be critical to bringing Internet content to wireless devices, and they anticipate that open standards based on this or similar techniques will gain acceptance..."
[June 02, 2001] "Wireless Internet." Presentation by Subhasis Saha and Mark Jamtgaard. 39 slides. April 11, 2001. "RML is a write-once-deliver-anywhere markup language. Two key concepts: (1) Relational hierarchies of content, and (2) Adding context to content..."