Japan NTT DoCoMo's  i-mode

i-mode Service - An Introduction

  i-mode, which was launched by Japan NTT DoCoMo in 1999, facilitates pulling information from i-mode compatible sites while on the move.  Millions of Japanese people are daily using this service through i-mode-enabled mobile phones. The i-mode service, a new and fun service for the mobile phone, a complement to the voice function,  is available only to wireless phones authorized by NTT DoCoMo.

i-mode is not just a mobile technology  but it is a viable business model and a way of applying the technology to a vast market. i-mode has been designed around freely available technologies such as HTML, HTTP, and TCP/IP.  NTT DoCoMo  still explores more functionalities to expand this ever-growing, exciting, financially-viable  i-mode service.  In this overview, we describes what is all about i-mode, how to develop i-mode sites and Java-based J2ME iAPPli mobile applications.

i-mode Site Contents

NTT DoCoMo designs content to ensure that it will have features  like shopping sites, horoscopes, and easy e-mail capability. Also some sites provides phone personalization tools such as ring-tone and screensavers that can be downloaded by mobile users for a fixed charge.

Content Providers have been validated and approved by NTT DoCoMo, which acts as the nodal authority for providing i-mode service for whole Japan. There are two types of content providers: Official and non-official. 

Official content providers are directly connected to the i-mode server, which means that data is not transported over the Internet on its way from the content provider's server to the user. They are listed on the i-mode menu and can easily be reached by four or five clicks down the menu tree. These sites can charge for their content and NTT DoCoMo's billing system hands their billing.

Unofficial content providers are all other content providers and they can be accessed through the Internet. The i-mode server enables Internet access from i-mode phones by relaying communications between the NTT DoCoMo packet network and the open Internet network.

When users select "i-mode" compatible mobile phone, they are presented with a menu. The menu includes links to content such as restaurant or city information, share prices, and airline seat availability, as well as transactional sites, such as mobile banking that deals with balance confirmation, funds transfer etc. Mobile users can look up a phone number, then click to dial it. If the user clicks on an e-mail address on a site, the mail composition page comes up

i-mode users can access any Web site not available via the menus by typing its URL and users can bookmark up to 20 sites for direct access from the menu. They can subscribe to or cancel services being provided by third parties from their own phones. "i-area" is a service that provides location-specific content. The carriers determine a phone's location by identifying which base station a telephone is currently communicating with.

i-mode Technologies and Tools

"i-mode-compatible HTML (iHTML)" is being used to display i-mode service content. This iHTML is based on and extends compact HTML cHTML. A compatible HTML microbrowser has been designed to display such contents.  Transport is being provided by HTTP over TCP/IP. Pictures are supported by GIF format only. Ring tone downloads are SMF-based and security is being done via SSL. In addition, J2ME-based applications can be downloaded over HTTP, stored, and run. Video clips and audio can be downloaded to the latest 3G phones using MPEG4 compression technology.

The i-mode server uses generic TCP/IP technology. To improve wireless transmission efficiency, NTT DoCoMo has come out with a optimized version of TCP referred to as wireless-profiled TCP. The gateway in NTT DoCoMo's network translates the wireless-profiled TCP to regular TCP.

Components of i-mode Service

i-mode server is the critical player in providing i-mode service. There are multiple mobile message packet gateways that connect to each i-mode server, and handle protocol conversions between WTCP and TCP  formats. The server thus includes three service functions: relaying site information on the i-mode menu from the information provider server, handling Internet, or i-mode, mail; and relaying access to the Internet.

Development of i-mode Service Content

There are many options for developing i-mode-compatible Sites. Using a transcoder such as WebSphere Transcoding Publisher, one can easily convert currently available HTML-based Web sites into i-mode-compatible Sites or one can do this conversion process manually other than the cHTML statements or one can start from scratch designing a cHTML page. Thus developed sites can be accessed by both i-mode and non-i-mode devices.

iHTML is cHTML with i-mode-specific extensions included and iAppli is again specific to i-mode but developed using Java programming language.

While client-side scripting languages are not supported by i-mode, cgi-bin and other server-side scripting languages can be used to build interactive page content using any of those approaches.

Java-based i-mode Service

NTT DoCoMo started to provide the iAppli Java-based service, which is based on the J2ME Connection Limited Device Configuration (CLDC). Apart from those functions by J2ME, NTT DoCoMo has added some i-mode-specific functions such as GUI, communications, Japanese Language Processing etc. to i-mode subscribers.  iAppli is targeted at standalone applications, such as games and client-server applications, such as games that save state, and agent-type applications that connect to a server and request updates, such as weather reports and stock charts. Java applications may be either client-only  or client/server-based.

In keeping with J2ME's architecture of device classes, categories, and profiles, iAppli uses the predefined CLDC device configuration. In addition to, NTT DoCoMo provides its own profile, which is incompatible with the Sun's Mobile Information Device Profile (MIDP) specification.

The i-mode Java Application environment consists of three layers of APIs:

The i-mode Java Extensions to CLDC include APIs for:

An NTT DoCoMo J2ME application has to extend the com.nttdocomo.ui.iApplication class and implement the method start(). It must also use a different application descriptor, which has a file extension .jam and contains different fields.  The Java-enabled phones now on the market have the SSL protocol implemented, which means that credit card numbers can be safely transmitted. Digital certificates issued by VeriSign Japan and Baltimore Tech are stored in  the i-mode mobile phone. The certificate can not supplemented or altered.


There are a few English-language i-mode emulators that comes both in English and Japanese versions and understands both HTML and cHTML. They allow to load a URL from a Web site and they do not allow to load a file to view it and hence a Web server is needed for testing development efforts.

There is also a free iAPPli emulator called i-JADE.  For developing J2ME applications, Sun has a J2ME toolkit and J2SE SDK 1.4.

In summary, i-mode service is a viable evolution towards mobile Internet.  The i-mode service technologies and tools have been designed having taken into account many unavoidable shortcomings of mobile devices.