I recently worked on the setup of a mobile web application aimed at customers in Japan.
Unlike in Europe and the US, and indeed in many other parts of Asia, Japanese mobile users have been slow to join the Smart Phone revolution, and many remain wedded to a family of handsets that are built around i-mode technology, which was supposed to be the future of mobile internet, but which became largely redundant when Apple and others started handing out Smart phones that had fully featured browsers and which were capable of WIFI.
The Japanese mobile market is therefore peppered with lots of unusual handsets which have varying degrees of capability in terms of displaying mobile content, which presents a particular challenge in terms of the development of mobile content.
To address this, a Japanese company called FlexFirm has produced a Proxy Server called X-Servlet (sometimes referred to as xproxy) which sits between user handsets and web applications and alters the content delivered to the handset based on what it knows about the handset being used.
The company itself maintains a database of handsets in use in the Japanese market, and allows X-Servlet installations to import this on the fly on regular intervals.
The software itself is supported by documentation that is only available in Japanese, but once you’ve used Google Translate to give you at least some insight into what’s involved, setup and configuration is relatively straightforward. The server is written entirely in Java, so like most Java applications, stopping/starting/running it is simply a matter of managing single process, and combined with something like daemontools to maintain stability, its a pretty robust solution.
More generally, this availability of such software, and the unusual nature of the Japanese mobile market ( as well as several others ) highlights again how elusive standardization is in the mobile internet, and how much of a relief it will be to everyone in the development community when HTML5 asserts itself as the dominant and pervasive standard.