Secrets of the Wireless Elite: Alexei Polyakov

by: John Papageorge

Use Compression to Keep Costs Down and Performance Up
Wireless developer Alexei Polyakov explains how compression applications can increase capabilities and cut costs by reducing the amount of data sent over wireless networks. This technology is already used widely in Japan, and Polyakov predicts it will be big elsewhere as 3G takes off.

Alexei Polyakov is a product of his surroundings. His native town of Vladivostok, situated on the east coast of Russia, is very close to Japan (just an hour and a half by plane), and he took a job at a Tokyo telecommunications company after graduation. The advance of mobile technologies in Japan amazed him. While riding the train there, he "would see dozens of people playing games or downloading ring tones onto their handsets."

Notes from Japan
Polyakov believes that developers in the United States need to pay attention to the Japanese mobile market. With the promise of high-speed data services such as video conferencing, and faster wireless Internet access materializing in the rest of the world, it is very important to learn from the success stories of Japanese operators, who have long been offering 3G services to their customers.

"While there are cultural differences between the Japanese and the American or European markets, the potential is as strong as ever," says Polyakov. As an example, he points to mobile compression technology -- one of the successful applications in Japan. "Compression is crucial for both developers and users," he says. For developers, it is important to create an attractive application within the limited conditions of mobile devices. For users, it is important to pay less for downloaded packets. In both cases, compression helps them to solve these problems.

Currently, Polyakov's main tools are Borland JBuilder 9.0, Sun ONE Studio 4 (Mobile Edition) and various emulators. The worldly developer also keeps in his bag of tricks what he calls trilingual abilities -- English, Japanese, and Russian -- which come in handy when he needs to find information about mobile development. He can freely browse the Internet in these three languages and ask for any piece of advice from numerous forums and e-mail lists without being held back by language barriers.

What Developers Should Know ...
Every wireless developer should know how to write a simple and user-friendly interface, states Polyakov.

He also believes that device compatibility remains a big issue. The same application can run differently on various handsets because of their varying processing speeds, and unfortunately, emulators cannot always be fully relied upon .

... and What They Should Avoid
As the number and variety of mobile devices grows, developers have to contend with varying technical specifications and user interfaces, observes Polyakov. "It is highly recommended to avoid writing code for a specific handset, but instead to develop an easy-to-port application," he says. "It is a waste of time to customize an application for a specific handset that will be obsolete in a year."

What Challenges do Developers Face?
The availability of Java for mobile phones has given mobile application developers a "unifying platform" from which to to start, explains Polyakov. He sees the necessarily small size of the applications themselves and the limited abilities of mobile phone hardware, however, as ongoing problems. Wireless developers want to write attractive and exciting mobile games, for example, but they face serious limits on the size of the program files they can create. "The solution to this problem is the use of custom-made or commercial compression software," he says. "Depending on the software you are using, it is possible to reduce files to as little as 10 or 15 percent of their original size. There are several tricks programmers can use in mobile development in order to shorten the program file size."

• Try to eliminate all data that isn't necessary during run time.
• Use the abbreviated names for classes, methods, variables, and so on. (Yes, he acknowledges, this does make debugging more difficult.)
• Shorten the data area as much as possible.
• Share the names of fields, methods, and so on with the Java Virtual Machine.
• Change to a shorter instruction set.
• Use inline expansions in methods.
• Merge classes.
• Check for unwanted commands and eliminate them.

Who Has the Killer Mobile App?
Polyakov believes that the wireless industry has given up the quest for a single killer application and has instead tried to introduce a variety of applications for different market segments. He believes some applications might be very successful in terms of revenue and adoption, but only within the boundaries of their own segments.

"In my opinion, person-to-person communications services, such as SMS, mobile e-mail, or picture messaging will appeal to users strongly, compared to content-based services such as getting news, playing games, or downloading ring tones," he says. The "emotional experience" of using mobile e-mail or live video telephony will, he predicts, "definitely drive sales in both consumer and corporate data usage services." However, Polyakov believes that games still have a role to play in the handset market; with the number and variety of Java phones on the rise, downloadable games have a good chance of becoming "one of the main contributors to mobile data revenues too, because users are tiring of a standard set of games built in to their phones."

"Nevertheless, the compression applications or services that will give users the ability to save money by reducing download time and volume" are the next big thing, he continues. "As consumer and corporate data usage grows, the desire of users to cut the costs for downloaded data will prevail. I strongly believe that mobile data compression services are the area where 'killer applications' can emerge and generate stable revenues."

Application Examples
In order to better understand the potential hiding behind mobile data compression applications, Polyakov provides two examples of their deployment in Japan. He points out that there are several models in the mobile data compression business that can be used by different members of the mobile industry value chain, including application service providers, portal operators, and corporate users.

Java-based browser applications
Essentially, all a user must do is to download a special browser application and access the Internet from it. The flow of data is as follows:

Figure 1. A schematic representation of a Java-based browser application


1. A request from the mobile phone is routed through a carrier's network to a proxy server equipped with a special compression application.
2. The proxy server acts as the mobile phone's agent. It accesses the requested resource and downloads the data to the proxy server.
3. After receiving the data, the compression application on the proxy server compresses the data, decreasing the number of pockets that must be transmitted back to the mobile client.
4. Compressed data is sent through the carrier's network to the mobile phone.
5. The Java browser application unpacks the data and displays it on the phone's screen.

The compression of data can be accomplished in several ways:

1. Elimination of tags that are not viewable on the phone's screen.
2. Optimization of data for the view on the mobile's small screen.
3. Encoding of links, making them shorter.
4. Encoding of tags, making them shorter.
5. Compression of the data itself.

"Browser-type applications can be used successfully either by ASPs or by businesses that need their employees to connect to the company's network on a regular basis," says Polyakov. "The compression rate in some cases may reach 80 percent or more; that is a considerable amount of money in cost savings. In practice, any application service provider or portal operator can develop and offer its users a cost-saving Java browser application for viewing its content in a cost-efficient way." He points to news sites as just one example of a service that could benefit from this technology.

Java-based e-mail applications
Once again, the user must first download and set up an application written in the Java language. After registering necessary information such as the mail server name, mail account, and passwords, the user can retrieve and view e-mails optimized for the mobile device. This allows him to save on download time and volume. Of course, SSL security applies between the mail server and the ASP's proxy server.

Figure 2. A schematic representation of a Java-based e-mail application


Lessons Learned in Japan
According to Polyakov, AT&T Wireless tapped NTT DoCoMo's technical expertise as it launched its mMode wireless Internet service, a customized version of the Japanese company's i-mode service. "AT&T Wireless has also tried to implement DoCoMo's generous revenue sharing to encourage high-quality content and give content providers a better deal," he says. "AT&T Wireless gives its partners guidelines on mMode content and usability, and it certifies them to ensure quality standards do not drop. But it is difficult to call this model 'generous,'" because American operators take too large a percentage of revenues. (Polyakov reports that DoCoMo takes 10 percent for the content, while AT&T Wireless takes up to 40 percent).

In Conclusion
In conclusion, Polyakov believes that the examples listed above have already been successfully implemented in Japan and he sees them coming into demand very quickly in the rest of the world. Despite cultural differences in mobile development, cost-saving applications are popular everywhere.

Resources
• Alexei Polyakov's "Gaijin" application, which helps people learn Japanese, was written using J2ME.

• " J2ME: General Connection Framework" ( developerWorks, January 2004), part of the four-installment developerWorks series J2ME 101 , describes networking support in J2ME.

• Another article in the J2ME 101 series, " J2ME: Inside the Record Management System" ( developerWorks, December 2003), covers persistent storage in J2ME and MIDP.

• " Networking with J2ME" ( developerWorks, September 2002) is an overview of networking with Java on small devices.

• Building custom GUI elements with Java is covered in " Custom GUI development with MIDP 2.0" ( developerWorks, May 2003).

• " Multimedia Messaging Service"( developerWorks, September 2002) is an introduction to MMS.

• Some tips and tricks for securing J2ME applications can be found in the article " J2ME and Cryptography" ( developerWorks, May 2002).

Article published Thursday, 5th May 2005
© 2008 NetVisits, Inc. All rights reserved.