Java - phones. Java comes to mobile phones Mobile phones with java support

In smart phones, Java technologies either act as an intermediary between the operating system and the hardware, or run in parallel with the operating system on a separate chip.

Experts expect that in the coming years, the Java language, which is already supported by many manufacturers, will be increasingly used in mobile devices Oh. Nick Jones, a leading analyst at Gartner, is confident that Java will become the de facto standard on mid-range and high-end cell phones. He predicts that by 2006, at least 80% of mobile phones will support Java, although some may use other technologies, such as Pocket PC OS.

Mobile device makers are primarily interested in Java as a mechanism to easily add software to such systems, Jones said. Additionally, Java allows applications to run on multiple platforms. However, the insufficient performance of Java programs and the insufficient selection of cell phone applications written in it remain the main obstacles to the widespread use of this technology.

Java is coming to handheld devices

Work on handheld devices designed for using Java, began several years ago, but the final formation of the Java 2 Platform Mobile Edition (J2ME) and support from device manufacturers and cellular service providers, according to Eric Chu, product group manager for industry marketing at Sun Microsystems Corporation, was the main reason for the significant growth interest in this technology.

Prevalence

The Korean company LG Telecom was the first to use Java-enabled phones in September 2000. Since then, according to Sun spokeswoman Marie Domingo, users have received 18-20 million cell phones that support Java.

Operators currently offering Java phones include Nextel in the US, NTT DoCoMo in Japan, and British Telecom in England. Ben Wang, systems development manager at Sprint, is confident that 80% of new phones the company sells will soon support Java. Nokia alone plans to release 100 million phones with Java in 2003. A dozen and a half cell phone manufacturers either already sell or are planning to release to the market phone models oriented to work with Java; In total, more than 50 such models are proposed.

Strengths of Java Phones

According to Chu, one of the main benefits that Java promises for cell phones is support for packet switching networks built on top of TCP/IP. With TCP/IP, it is easier to create applications that interact directly with the phone, rather than using an intermediate technology such as WAP (wireless application protocol). In addition, as Chu emphasized, Java, unlike WAP, supports images and color, and, in addition, the Java environment provides reliable protection, since it includes a well-known sandbox mechanism that limits access of downloaded code to the rest of the system.

Moreover, Java's ability to work across a wide variety of platforms is critical to the highly fragmented cell phone market. This feature allows Java phones to run applications and services written for other mobile platforms, giving manufacturers software the opportunity to save time and money by creating a single Java version of the application to work on different platforms. Phones and servers designed to use Java can communicate directly with each other.

Users can implement new features much more easily. Previously, they had to buy new phones, launch new applications remotely using WAP, or download programs after placing them on a PC. At the same time, many people now write in Java, making it much easier for manufacturers of mobile devices that support Java to find specialists to create their software.

Implementing Java in handheld devices

Sun Microsystems

Sun, along with a group of partners, developed the J2ME platform so that Java could be used on small devices. J2ME includes some basic Java commands and APIs, but runs on smaller devices because it requires fewer resources than Java 2 Platform Standard Edition (J2SE) or Enterprise Edition (J2EE), (Figure 1), and has only those features which are needed by devices where J2ME is installed. For example, graphics and database access features in J2ME are more limited than in J2SE and J2EE.

J2ME typically includes a connected, limited device configuration that is implemented on operating systems and serves as an interface between the OS and Java applications. CLDC typically uses the K Virtual Machine (KVM), a simplified, less feature-rich version of the Java Virtual Machine (JVM) for small devices. The so-called Mobile Information Device Profile (MIDP) is hosted on the CLDC and provides a set of APIs that define how Cell phones will interact with applications.

Other manufacturers

In addition to Sun, other vendors are creating Java-based solutions for handheld devices. Hewlett-Packard releases MicroChaiVM, a version of the JVM that, unlike using Sun's solution, does not require licensing fees and does not impose restrictions on use. A number of manufacturers, including Sony Ericsson, plan to release phones based on MicroChaiVM.

SavaJe has developed operating system SavaJe OS, which supports Java applications in mobile environment by optimizing J2SE libraries for mainstream mobile device processor models. Matthew Catino, SavaJe co-founder and vice president of marketing, noted that Java applications typically spend 80-90% of their time running libraries. Thus, as Catino explained, optimizing libraries will allow applications to run 10-20 times faster.

Zeosoft has developed ZeoSphere Developer, which allows you to create mobile applications that support Enterprise Java Beans, Sun's Java-based software component architecture. This can make it easier to develop complex enterprise applications that communicate with each other and run on servers (using J2EE), PCs (using J2SE), and mobile devices (using J2ME).

Software Development Tools

Application developers can leverage existing tools to create Java programs for handheld devices by limiting the code to their J2ME-supported libraries and APIs. However, as Jacob Christfort, director of technology at Oracle Mobile Division, noted, J2ME includes only a limited number of development libraries.

According to Jones, enterprises may turn away from J2ME due to its sparse user interface designed for small device screens, its primitive multi-threading model and minimal built-in data processing capabilities. Essentially, as Jones explained, the design approach that allows J2ME to run on small devices is sometimes inappropriate for large-scale enterprise projects.

In an effort to address these issues, some vendors have released or plan to release toolkits or add-ons to toolkits to make it easier for developers to meet the requirements of enterprise applications. These tools include Sun Forte for Java Programming Tools, Oracle 9i Application Server Wireless Toolkit, and Sprint PCS Wireless Toolkit.

Because of J2ME's shortcomings, enterprise applications will likely be built on top of the more resource-intensive J2SE framework as mobile devices become more powerful, Jones said.

John Montgomery, product manager for Microsoft's .Net Development Group, believes that Java tools are too primitive and complex for most developers.

Pocket Java for Servers

Another Java-centric approach links handheld devices to Java applications and services on servers. AT&T Wireless, BEA Systems, IBM, Nokia, NTT DoCoMo, Sun and several other companies have created Java-based Open Mobile Architecture to connect cell phones and servers. This project extends the J2EE environment, designed primarily for servers, so that it supports standards that mobile devices can use to access information from the Internet. These standards include XHTML (displaying Web pages on mobile devices), SyncML (synchronizing data between mobile devices and other machines), WAP 2.0 (accessing Internet content and services), and Multimedia Messaging (messaging to handheld devices).

Hardware and software implementations

Java technology can be implemented in software or hardware on any dedicated Java accelerator board or CPU core.

Software implementations tend to be less efficient because systems must translate every Java command into internal commands that the CPU. Standalone hardware chips are more powerful, but require additional components to be installed into the device and increase costs. The Java core combines elements of both approaches.

Software approach

In the software approach, the device's central processor executes Java code. David Rogers, marketing manager for the Intel PCA Components Group, said his company is developing acceleration methods software process, pausing as the CPU switches from instructions it can speed up to ones it can't.

Analyst Marcus Levy of semiconductor industry research firm Micro-Design Resources disagrees. “People spend a lot of effort on improving software solutions. This may be fine for some, but if you really want the most efficient implementation, you need a hardware approach,” he says.

Java hardware implementation

Companies such as ARC Cores, ARM, Aurora VLSI, Digital Communications Technologies, inSilicon and Zucotto Wireless are creating Hardware For Java works either as coprocessor Java cores for integration into the central processor, or as stand-alone Java chips.

Both hardware approaches promise to increase the performance of Java applications and, by making them run more efficiently, reduce the power requirements of battery-powered cell phones.

Chips from different companies execute different subsets of Java commands. For example, ARM's Jazelle processor, shown in Fig. 2 processor executes about 68.2% of all possible Java commands, while Aurora's DeCaf processor executes 95% of all commands. Support for a wider range of Java commands provides greater functionality, but makes the processor more expensive and requires higher power consumption.

Joan Pendleton, co-founder and chief architect of Aurora, noted that there are two classes of accelerations. The first one, which most people follow, converts Java bytecode into CPU instructions. The second one directly executes Java bytecode, which guarantees better performance but requires more space since it requires an additional chip to run the software on that hardware.

Levy predicts that Java kernels will become more popular than standalone Java processors. The main limitation of this approach is that developers must use a component base called “system-on-chip” (SoC) to create their products. Packing multiple functions onto a chip is more expensive to design, but eliminating additional chips reduces the cost of the finished device. Standalone Java chips are less expensive to design but increase the cost of the device.

Difficulties and problems

Mobile Java is still relatively new technology. Many industry analysts believe that this technology raises a number of questions that remain open.

For example, Jones raised concerns about vendors creating significantly different implementations of Java. Developers don't like the fact that they have to manually optimize their Java solutions for different cell phones, he said.

And, although many people are now developing Java, few have had to work with J2ME and write code for small, resource-constrained devices.

Montgomery is more emphatic: “The J2ME environment is an interesting set of engineering compromises, but I would say misguided compromises. It's too big for the smallest devices, but too small to offer the features needed by the smartest devices."

Performance

Jones believes mobile Java can be quite slow in some cases because KVM isn't particularly fast. However, he said KVM should become faster in the future, particularly as phones with larger memory capacity can use JIT compilers, which improve performance (Just-in-Time).

“In just five years,” he is confident, “productivity will no longer be a problem.”

Another challenge, Levy says, is the lack of standards to objectively measure performance across platforms. In this regard, Levy organized a group on Java processors in the Embedded Microprocessor Benchmark Consortium. This group is expected to release its first performance test soon.

Lack of apps

There are now several mobile Java applications, including games, as well as weather and traffic maps. However, according to Jones, the most needed applications are still missing. The reason, he says, is not the technology itself, but the lack of an effective business model and commercial infrastructure that would allow developers to profit from their activities.

Increasing the number of resellers who could certify and sell Java software designed for mobile devices could solve this problem.

Handheld devices and the future of Java

Jones believes that Java technologies have found widespread use on server platforms because Java applications can be easily reinstalled if an organization purchases new servers. However, as he noted, Java is used much less frequently on clients, since many enterprise application creators use Visual Basic for working in a corporate environment, since it is usually based on Microsoft solutions. Thus, the struggle in the mobile platform market is a priority for Sun.

However, Sun's Java initiatives in mobile phones face significant competition. Its products compete, in particular, with Microsoft's wireless technologies, the Symbian operating system, Linux and the binary runtime environment for wireless devices(binary real-time environment for wireless - BREW), created by Qualcomm.

“It's an anarchic time in this market right now, and it's not consolidated at all,” Jones explained.

According to him, J2ME will attract the attention of more and more application developers as its functionality increases and restrictions are lifted. A survey conducted by research company Evans Data found that developers wireless systems Those who use Java plan to use the technology more actively in 2003 than in the past.

In addition, Java will become more acceptable for smart phones as the resources of these devices increase and as manufacturers create better APIs for color screens, better audio quality, stronger intellectual property protection, and owner location features. However, he said, these additional features will allow vendors to offer their own Java implementations, which could contribute to the fragmentation of the application development environment.

Wang also noted that Java was originally for mobile systems will be focused on games, multimedia and playback of various ring tones. Over time, he said, Java will become the de facto standard for smart phones.

According to Catino's predictions, Microsoft and Java-based technologies will likely coexist in mobile phones in the coming years. Third-party manufacturers can help with this by developing software integration methods that allow devices to combine these two environments.

George Lawton ( [email protected]) is an independent journalist specializing in issues information technologies.

George Lawton, Moving Java to Mobile Phones. IEEE Computer, June 2002. IEEE Computer Society, 2002. All rights reserved. Reprinted with permission.

18.05.2011

In this article we will present 14 interesting programs that can be used on the vast majority of mobile phones entry level.

Despite the fact that in recent years smartphones and other portable devices powered by Android platforms,iOS, Windows Mobile, Samsung bada, Symbian, there are still many entry level mobile phones still sold and used. Such devices have limited resources (small display size, small memory, etc.), but cope well with their basic functions. It is gratifying that application developers do not forget about the owners of such phones and applications created for the Java ME platform still continue to be released.

Opera Mini 6
Interface language
: Russian
Price: for free
Developer: Opera Software
Website: m.opera.com

Bolt 2.5
Most popular mobile browser In the world, Opera Mini is considered, but over the past two years, the Bolt mobile browser has managed to attract many users to its side. Introduced in early 2009, it runs on all devices that support Java ME. For owners of very old phones, the developers also offer a lightweight Lite version of the browser, which lacks some functions.
Bolt supports tabbed browsing, so you can load multiple sites at once and switch while browsing. Pages added to "Favorites" are displayed on the browser's start page, so you can launch them as quickly as possible. Bolt lets you create backup copy bookmarks in the cloud and import them at any time. This is convenient for those who use this product on multiple devices.
Co home page Bolt makes it easy to get to your list of visited sites. Another interesting feature of the browser is working with widgets and mini-applications that can be installed manually, which expands the capabilities of the program. Using widgets, you can, for example, check the weather, work with your Twitter account, chat with friends on Facebook, search Wikipedia, etc.

Bolt
Interface language: English
Price: for free
Developer: Bitstream
Website: boltbrowser.com/home.html

"Yandex.Metro" 2.04
The metro is one of the most convenient types of transport, but once you go underground, it’s easy to confuse the passage or platform and go in the other direction. This is especially true for those who use the metro not in their home city. The Mobile Yandex.Metro program helps plan metro trips in Moscow, St. Petersburg, Yekaterinburg, Kyiv, Kharkov and Minsk. The program not only shows the map of metro lines, but also makes it possible to calculate travel time taking into account transfers, as well as choose the optimal route from several proposed ones. "Mobile Yandex.Metro" also contains metro maps of Kazan, Nizhny Novgorod, Novosibirsk, Samara and Dnepropetrovsk, however, the trip planning function is not yet available for these cities.

"Yandex.Metro"
Interface language: Russian
Price: for free
Developer: "Yandex"
Website: mobile.yandex.ru/metro

Qip Mobile 1.2
Users of one of the most popular IM messengers in Russia, Qip, can try the program on their mobile phone. Qip Mobile is developed for various platforms, including Java. Its creators offer separate Java versions for Nokia, Samsung, Motorola, Siemens phones, as well as for devices equipped with touch screens. The program works with various protocols, including ICQ, VKontakte, Jabber, Yandex Online, Google Talk, LiveJournal and Mail.Ru Agent. Qip Mobile has all the basic functions typical for similar products. The program can notify you of the arrival of new messages with a vibration alert or sound signal. To protect against unwanted messages, it includes antispam. In its settings, you can set to block messages containing certain words. And in order for the user to control his Internet expenses, Qip Mobile has a built-in module for automatically calculating the funds spent.

Qip Mobile
Interface language
: Russian
Price: for free
Developer: QIP.ru
Website: qip.ru/mobile#java

"NAVITEL.MAPS" (Java)
Navigation programs and car navigation maps produced under the NAVITEL brand are well known to domestic car enthusiasts. Recently, such navigation services have become available to all owners of mobile phones that support Java. The "NAVITEL.MAPS" application (Java) is different in that it does not store maps in the phone's memory, but loads them from the Internet as needed. Thanks to this, it works quite quickly even on old mobile phones with a small amount of memory. "NAVITEL.MAPS" helps not only to plot a route between two given points in Russia, but also to assess road congestion. The program downloads current information about the state of roads from the Navitel.Traffic service and uses it when building a route.

"NAVITEL.MAPS" (Java)
Interface language
: Russian
Price: for free
Developer: "Center for Navigation Technologies"
Website: navitel.su/navigation/java/

Snaptu Facebook
Over the past few years, the Israeli company Snaptu has been developing applications that simplify access to various social services. The main feature of all the company's programs is their focus on use in entry-level phones. In early March, Internet giant Facebook acquired Snaptu, and the client developed by the company for working with the most popular social network became the official mobile Java client of Facebook. Featuring an iPhone-style interface, Snaptu Facebook provides easy access to all the core Facebook features. Thus, using the client, you can change your status, work with personal messages, read notifications and requests, manage planned events and upcoming birthdays, view your profile and the profiles of friends, and change your profile picture. In addition, of course, you can look for new friends on a social network.

Snaptu Facebook
Interface language
: English
Price: for free
Developer: Snaptu
Website: snaptu.com

KD Player 0.9.6
Many mobile phones are capable of playing music, but often the built-in player leaves much to be desired. Alternative player KD Player can be a good replacement standard application. It plays all music formats supported by the phone. The product can select and edit playlists in M3U format, as well as automatically create playlists from songs available in the music library. Moreover, their search can be performed in folders specified by the user. During playback, the player displays information about the bitrate and sampling frequency, as well as all available data about the composition. To obtain information about the title of a song, album, and artist name, information from ID3 tags is used, and Russian titles are also supported. In addition, KD Player picks up and displays album covers saved in ID3v2 tags or in a folder called Cover.jpg or Folder.jpg. Additional features of KD Player include the presence of an equalizer, changing the interface using skins, working in background(only for Sony phones Ericsson, Nokia S60, UIQ3).

KD Player
Interface language: Russian
Price: for free
Developer: Sergey Borisov
Website:www.easter-eggs.net.ru/KDPlayer/index.php

HideME 1.0
Your phone may store various photos and files that are intended solely for personal use. And the simple HideME program will help you close access to them. Designed for Sony Ericsson phones, it nevertheless works perfectly with models from other manufacturers.
The principle of its operation is as simple as possible: if you specify files and folders (nested directories are also supported) that need to be hidden, they will disappear from view. After this, access to them is possible only using the program from the Hidden Files section ( Hidden files). By the way, you can block the use of the program with a password.
However, it is worth considering that files and folders that the program closes are not encrypted. Therefore, to ensure the confidentiality of passwords, credit card information, etc. important information, it is worth using other means that provide more reliable protection, for example Cryptex.

HideME 1.0
Interface language
: English
Price: for free
Developer: unknown
Website: code.google.com/p/hideme

Cryptex
For those who store banking data and other valuable information in the phone’s memory that should not fall into the wrong hands, it makes sense to take care of their security in advance. The Cryptex program is perfect for this. Before you start working with it, you need to come up with a secret question and an answer to it, which will be your password. It must be entered each time the program is started.
After successfully entering the password, you can add entries. Each of them contains a key and a value. The key is the name of the entry, for example "pin", and the value is the secret information, for example "1234". Interestingly, if the password is entered incorrectly, the program does not show the password, but simply displays the contents as a set of random characters. The RC4 algorithm is used to encrypt data.

SafeBox Private SMS 3.12
Sensitive data is not necessarily passwords or PIN codes. Sometimes even something as mundane as texting can be personal. The fact that the problem of maintaining privacy is relevant for many is evidenced by the fact that in just eight months of its existence, the SafeBox Private SMS program has attracted more than half a million users.
The principle of its operation is very simple: it creates an encrypted storage, access to which is protected by a password. All text messages sent to specific people go into this storage and are not visible in standard folder sent by SMS on the phone. The same applies to received messages from certain contacts. This way you can hide personal correspondence from prying eyes.

SafeBox Private SMS
Interface language: Russian
Price: for free
Developer: SafeBox Ltd
Website: safebox.mobi

MobilGet 2.5
Unfortunately, when accessing the Internet from a mobile device, you can often encounter problems with unstable connections. When browsing pages, you can still put up with this, but if you set out to download a file, constant connection interruptions are annoying. In addition, since the file starts to download again several times, money is wasted (in case mobile operator there is a fee for each megabyte downloaded).
Anyone who often downloads files from the Internet, be it ringtones or beautiful pictures, finds it convenient to use a download manager. The MobilGet program features support for resuming downloads, as well as the ability to download several files at once (the maximum number of simultaneously downloaded files is selected in the settings). In addition, MobilGet has other advantages. So, you can set the start and end time of the download. If traffic is cheaper at night than during the day, it makes sense to set a time range. Along with scheduled loading, manual and automatic starts. If the server from which you plan to download a file requires authorization, you should specify your login and password in the program settings. The total size of downloaded files is limited only by the free space available on your phone.

MobilGet
Interface language: Russian
Price: for free
Developer: O.V. Medvedev
Website:grafmoto.narod.ru/mobilget.htm

MailMan 2.04
Even the simplest mobile phone capable of accessing the Internet is suitable for working with by email. This can be very convenient when you need to send an important message or find out if a reply to a letter has arrived, but you don’t have a laptop or desktop computer at hand.
The MailMan mail client is good because it supports the most popular protocols for receiving and sending mail - POP3 and SMTP. Connection to mail servers is performed directly, bypassing gateways. The program provides sending messages in Russian (koi8-r encoding is used), as well as letters containing attachments. To save traffic when receiving letters, MailMan can download only the headers or the first lines of the letter. If necessary, you can then download the entire letter (including attachments) or delete it on the server.

Mailman
Interface language: Russian
Price: for free
Developer: S.Vasiliy
Website: mmj2.pp.ru/java/index.shtml

JabpLite 1.72
Among other things, a mobile phone is also suitable for keeping track of personal finances. The JabpLite program will help with this, having all the basic functions typical for applications of this kind. It allows you to keep track of income and expenses. Moreover, several accounts are supported from which money can be spent, including in different currencies. The program automatically updates currency rates and takes them into account when exchanging.
Expenses can be grouped by category and then determined where the most money is being spent (JabpLite clearly shows the Top 10 expense categories). If certain payments are made regularly, the program can automatically carry out such transactions. JabpLite will also be able to calculate whether there will be enough money until the next salary, as well as plan upcoming expenses. All data entered into JabpLite can be synchronized with home accounting programs on your computer. The utility supports import and export of QIF files, which most desktop financial accounting programs understand. The data is saved to a memory card, making it easy to transfer to a computer or another phone.

JabpLite
Interface language: English
Price: for free
Developer: Malcolm Bryant
Website: www.freepoc.org/viewapp.php?id=58

SmartCam 1.2
Nowadays, the presence of a camera is no longer a sign that a phone is expensive. Camera phones have become commonplace, and some of these devices can be considered entry-level phones. The SmartCam program will allow the camera built into your phone to act as a webcam for your computer. However, this requires that the phone supports a connection via Bluetooth or Wi-Fi, since this is how the data will be transferred to the computer. For SmartCam to function, you need to install it, firstly, on your phone, and secondly, on your computer. Then, in the program settings on your phone, you select the connection type, and after a couple of seconds, the image from the camera appears in the SmartCam window on your computer. After this, the phone can be used as a webcam in any applications (Skype, etc.) by selecting SmartCam in the list of connected devices.

SmartCam
Interface language: English
Price: for free
Developer: Geeknet
Website: smartcam.sourceforge.net

Java ME and its features
When people talk about Java applications for mobile phones, they usually mean programs developed for the Java ME (J2ME) platform. This is a special version of Java created for devices with limited computing power. The Java ME platform used in mobile phones consists of several components. The first one is virtual machine. If we are talking about entry-level devices, they use the CDLC 1.0 configuration (Connected Limited Device Configuration - a device configuration with limited resources and communication capabilities). The second required component of Java ME is the Mobile Information Device Profile (MIDP). This is where the applications written for this profile got their name - midlets. Java features designed for mobile phones are installed on these devices by their manufacturers.
Currently, there are about 3 billion phones in the world that can run Java applications. And these are not only old devices that can only be bought secondhand. In terms of the number of devices sold, Java phones are significantly ahead of smartphones: they are sold approximately 30 times more than devices based on iOS and Android combined.
Despite this, the Java ME platform is slowly becoming a thing of the past. Back in 2007, its developers made a statement that they were beginning to phase out the mobile platform and move to its standard version - Java Standard Edition. However, according to their assumptions, phones using Java ME will disappear from the market only by 2018.
Java applications can be run not only on regular phones, but also on smartphones. But since there is a lot of software for such devices, created specifically for modern mobile platforms, ordinary MIDlets are not relevant in most cases. However, many Android applications are written in Java (and not in Java ME).

A ZOOM.CNews survey of a number of respondents revealed an interesting pattern: the majority of users who own phones supporting Java technology do not use it. This fact seemed very strange to us, and unfair to useful technology. Therefore, we decided to tell you what Java is and how you can make it serve you in your mobile phone.

How to make Java in your mobile phone serve you

What is Java on a phone? Methods for downloading to a mobile phone

Make yourself

Let's start with the fact that you decided to get a mobile phone. It's a great idea, and we hope it comes to fruition in a little while. At first everything is fine, your device is the embodiment of intelligence and beauty, and generally the best. However, a month passes, another, six months, and you begin to notice that certain aspects of your favorite are not implemented in the best way. Well, let's say the calculator is inconvenient, the organizer is meager, there is no email client, the standard WAP browser displays HTML pages simply badly, the installed games are already boring, etc. What to do?


The first thought is to buy new phone. Not a bad idea, but if it comes to your mind several times a month, then you may simply not have enough money for new items. According to our estimates, buying new model phone, we can count on at least a year and a half of convenient operation. Let's see if the device we suddenly dislike supports Java technology? If yes (about 90 percent of currently produced phones), then you can assume that now you can add the necessary functionality yourself. Personality is the first feature of Java that allows you to decide how you want to use your mobile phone.

What could it be? Yes, anything: new games, mail client and a web browser, a book and spreadsheet reader, a specialized calculator and planner, convenient clocks and alarms, educational and entertainment programs, etc. The range of possibilities of Java technology is limited only by the imagination of the creators, and, believe me, they have a very wild one. Of course, you should also take into account the physical capabilities of the phone (display size, memory capacity, etc.), but this is quite natural; the already mentioned iron, after all, no one in music Center doesn't try to convert.

A creation of coffee lovers

A little history. Java technology did not originate on the island of the same name (and some people think so), but in the bowels of Sun Microsystems in 1991. Java's inspiration is Patrick Naughton, who "was tired of maintaining hundreds of different program interfaces" (quote from Wikipedia). Together with his team, he managed to create a platform-independent programming language in which programs can be written for any processor and operating system. Multiplatform is a tenet of Java, implementing the well-known principle “written once, always running.” Do you feel what we're getting at? It doesn't matter who makes your phone, Java is a universal technology.

However, it should be noted that there are three main platforms (or versions) within Java, and mobile phone owners should only be interested in Java 2 Mobile Edition (J2ME). By and large, this is a set of configurations and modes aimed at small consumer electronic devices. Without delving into the intricacies of all these gradations, we will immediately say that in relation to mobile phones, the Mobile Information Device Profile (MIDP) mode is used in the Connected Limited Device Configuration (CLDC) configuration. This is the basis of the J2ME implementation in our case.

This is where the specific capabilities of the Java virtual machine (JVM) are determined - the very program that is installed by the manufacturer on your phone and can process the code of Java applications (usually called MIDlets). A small subtlety - there is only one virtual machine, but technical capabilities phones are different. Therefore, the compatibility issue is still relevant, and a particular MIDlet can only run on a limited number of phone models (or even just one). So keep that in mind. But manufacturers are working on this, and I want to believe that someday we will be dealing with universal MIDlets.

It should also be mentioned that there are currently two parallel versions of Java MIDP, which actually determine the functionality of the application: user interface, graphic and sound capabilities, networking, etc. The first appeared at the end of 2000 and today is supported by most phones. As for Java MIDP 2.0, it was announced at the end of 2002, but began to be used by manufacturers only in models of 2004-05. So you can only find it in fairly new phone models.

About midlets and phones

What is a midlet? Typically, a Java application is a collection of two files: a descriptor or pointer with the JAD extension and the JAR archive itself. As for the descriptor, today the presence of this file is not mandatory. The fact is that it was initially assumed that MIDlets could be downloaded only from the network (all download methods are discussed below), so the user was forced to run this file on his phone, which contained information about the application, its size, installer settings, and, most importantly, link to the JAR file (you can see for yourself that the JAD file is in text format). However, some phones had the ability to download an application directly, that is, by simply rewriting the file, which reduced the usefulness of the descriptor to zero.

As for modern models, this operation is standard for them, so one JAR file is enough to load the MIDlet. In its structure, this file is an archive, and the files included in it can be easily seen on a computer using any archiver (ZIP, RAR, etc.). Note that sometimes the application may include other files, most often these are additional databases, but this is not common.

Let's move on to the phone now. In order to load a MIDlet into it, the device must first have a certain amount of memory for normal loading of the application. The size of a Java application can range from a few to hundreds of kilobytes, which imposes corresponding requirements on the phone. Well, we think about modern models, the memory capacity of which is calculated in megabytes, is not worth talking about, but with the “oldies” you will have to tinker. You understand, having a memory capacity of 100-200 KB, you will have to make room a little, that is, delete everything unnecessary (primarily this applies to pictures and melodies). In principle, this is a serious problem only for business applications that are needed constantly; as for games, everything is simple here. We loaded the game, played enough, erased it, recorded the next one, etc., until we got tired of it.

“Red eye”, “blue tooth” and others

No, this is not an excursion into anomalous anatomy, we will talk about ways to load MIDlets into your phone. In our opinion, it’s worth worrying about the presence of any of the following in your phone when buying a phone, so that you don’t feel offended later. As you understand, you can only choose if there is something to choose from. Most affordable way– this is the use of a data cable. We connect the interface connector of the phone with the COM or USB connector of the computer (oh, it won’t be easy for you if the computer is under the table and all the connectors are on the back wall). Everything is simple and reliable, except that you can complain about the very fact of the presence of a cable, that is, wires.

Whether it's wireless communications. Once you set everything up as needed, and then run the programs back and forth. Please note that here you can use not only a “computer-phone” chain, but also a “phone-phone” chain, which gives a huge advantage. I saw an interesting application from a friend and immediately downloaded it. There are two options: infrared connection and Bluetooth. Many users have a negative attitude towards the use of IrDA, but in vain. Despite the “antiquity” of this method and the need to fulfill a number of conditions (the distance between the IR transceivers is 10-20 cm, their location in a straight line, etc.), it is quite suitable for periodic downloads. If you are close to Java mania, then the ideal way is Bluetooth. Yes, of course, for the first time you will have to “make friends” between phones, or a phone with a computer (procedures for pairing, authentication, etc.), but then it’s a real paradise. Within a radius of 10 meters, you can download and download applications wirelessly.

Another recently quite accessible option for downloading Java applications was once intended to be the main one - “over-the-air downloading,” that is, using the operator’s network. Today, almost all operators support WAP and GPRS, and even reach for EDGE. Moreover, it should not be underestimated, since in the absence of the above download methods, the phone’s support for Java means that it must have a WAP browser, at least we did not find any exceptions to this rule (quite logical, otherwise, why would Java be needed). The download process does not require explanation; we type in the browser the address from where the application will be downloaded, and that’s it. We also note the existence of so-called “WAP exchangers”, where you can download an application, for example, from a computer for an hour or two, and then “pick up” it from your phone.

Something about the software

In principle, computer software is indirectly related to our topic, but since the “computer-phone” chain is relevant for many, we will dwell on it a little. We think it is clear that it is impossible to connect two devices without the appropriate software. And if we want to load anything else into the phone, then we definitely need specialized software. In the best way, in our opinion, is to use a software package from the phone manufacturer, which often comes bundled with the phone; in extreme cases, it can be downloaded from the Internet (Nokia PC Suite, Siemens Data Suite, Starfish TrueSync, etc.). The use of third-party packages (for example, Oxygen Phone Manager) is justified only in some cases, for example, the functions you need are not available in the official software, or the computer is used to connect to several phones from different manufacturers.

We're going to look for a midlet

Generally speaking, create your own own application on J2ME it is quite possible. The SDK (Software Development Kit) development software is available for free, there is no licensing, so you can try it if you wish. However, we will not delve into the jungle of programming, but will try to find ready-made MIDlets, since there are plenty of them created. As we already mentioned the fastest and free way- This is to take your favorite application from a friend. But still, let's turn to third-party resources.

First of all, you should ask what your operator can offer. Offer mobile content has become a significant source of income for them, so today only the lazy do not offer Java applications. Unfortunately, 99% of midlets are games, but it is impossible to resist this, the market is the market, what users want is what the operator offers. Almost always, a WAP connection is used for downloading (sometimes via GPRS), so you need to worry about activating this service in advance.

If your creative nature does not accept such a simple “select-pay-receive” download mechanism, and you are comfortable with your phone’s WAP browser, then you can set off on your own voyage. This is what we managed to achieve in ten minutes. By typing in the browser the address of the Russian-language search engine Wapl.ru (http://wapl.ru) the coveted term “java”, we received a huge number of links to relevant resources, as many as 438 pieces. After studying the first few pages with links, we managed to find a couple of good sites with applications... However, let’s stop; we suggest you do the rest of the journey yourself.

A telephone, of course, is a good thing, but we still think that the optimal tool for searching for MIDlets on the Internet is a desktop computer. The familiar interface and convenient information input devices allow you to read the description of the application in detail, look at screenshots and decide on its need. We will not give the addresses of numerous sites with applications, there are enough of them, we will mention only the most popular - Midlet.org (http://midlet.org/), containing about 500 applications. If you are interested, here is the “qualitative” composition of the midlets offered for downloading: 30% - utilities, 6% - applications for working with the Internet, 8% - graphics programs, 3% are utilities for developers, the rest are games.

Her Majesty Java

In conclusion, we would like to remind you once again that Java technology today is the most accessible and effective way to expand the functionality of a mobile phone. And what your phone will become: an assistant in business or an entertainment terminal depends entirely on you. The number of existing applications is measured in thousands, and you have the right to choose what you need. There is no need to look for anything better. We hope we were able to convince you. No? Then we go to you…

What is Java?

First, let's figure out what manufacturers offer under the Java brand.

So, Java is an object programming language that replaced Ada. It was created in the early 90s at the Pentagon for the needs of the military industry. A program written in Java is compiled into a special byte code that is executed on a virtual Java machine. In fact, the Java machine is not a machine at all, but a program that has many implementations (computers of various architectures running various operating systems). Once written and converted into byte code, a program can be successfully executed on any Java machine.

No one could have imagined that in just 2-3 years Java would be used so widely: from creating “smart” Web pages (applet technology) to developing giant banking systems. The area of ​​so-called embedded systems and real-time systems stands out separately: Java has been running for several years now. washing machines, refrigerators, televisions, telephones and even wristwatches.

At the beginning of last year, the second version of Java appeared, the so-called Java 2, which can be considered as a full-fledged platform, that is, a combination of a machine and an operating system. Today, there are three implementations of the Java 2 platform: Standard Edition (for conventional applications and systems), Enterprise Edition (for enterprise-scale applications and large client-server systems), and Micro Edition (for small devices such as cell phones, PDAs, organizers and smart cards with an intelligent chip). By "Java" we mean the platform and technology of Java 2 Micro Edition, abbreviated J2ME.

So, if a phone supports Java, it means that it can run programs written in Java language created for the J2ME platform. How do programs get to the phone? All Java phones are equipped with interfaces for connecting to a personal computer. From a computer's point of view, file system phone looks like a simple folder where you can copy the program for further execution.

From the phone's point of view, the copied program turns into a menu item.

Programs can be downloaded and installed directly from a mobile phone, via WAP, and for smartphones and communicators - via WWW.

Java - phones

On May 16, 2002, a joint press conference was held in London by the leaders of the European Java phone market, Siemens AG and Nokia Corp, who stated that the audience of Java phone users GSM standard is more than 1 million people. I deliberately used the phrase “Java phone”, since all new models of phones and smartphones (both Nokia and Siemens) support Java or Symbian OS, a Linux operating system with built-in Java support.

A few months ago there were about 2 dozen such phones in the world, mainly in Japan and the USA, iDEN and CDMA standards. And only 3 models are for GSM: Siemens SL45i (quite good, but expensive due to the built-in MP3 player) and two Nokias, namely 3410 and Communicator 9210. Now Java is supported by more than 100 phones, of which about a third are devices GSM standard. Some of them have already appeared on the public market, the rest have only just been announced.

Let's take a closer look at the market for Java phones available to Russian users today. (All conclusions below are based on personal experience the author of the article, who has been leading a team of software developers for Java phones at Lanit-Tercom CJSC, St. Petersburg, for a year now.)

Siemens SL45i and Nokia 3410

Siemens SL45i is the first cellular Java GSM phone. And quite expensive - due to the built-in MP3 player. 32 MB data storage can be expanded up to 64 MB. Memory size (heap size) is about 130 KB. Thanks to the large amount of memory and wide screen (101x80), until recently it was an ideal platform for both serious business applications and games, despite the black and white graphics. Today it is becoming obsolete and being replaced by newer and cheaper devices, since it does not support GPRS.

Nokia 3410 appeared as Nokia's answer to the Siemens SL45i. Technically they are similar, but in terms of software development capabilities, Siemens wins, and significantly.

Siemens M50 and Nokia 6310i

Unlike the previous model, Siemens M50 supports GPRS. The data storage capacity is 200 kb. This is enough to install about 6 games or 2 serious business applications. The M50 is significantly cheaper than its predecessor: its price is only $160 - $180. The developers believe that the phone will gain wide popularity among the population. In our opinion, this is a good gaming platform, also suitable for small business applications. It is noteworthy that Siemens M50 has a built-in ICQ client.

Nokia 6310i also supports GPRS. This is a more expensive model, capable of functioning without recharging for up to 17 (!) days. In terms of implementation of Java applications, the device is close to the Siemens M50, but the phones are not compatible, which complicates the development of effective programs for both platforms.

Most of the programs offered by manufacturers today for these phones are games. Although there are also personal business applications, such as E-mail clients and calendars with advanced capabilities.

Nokia 9200 family

In Russia, the Communicator 9210 is most famous, and its modification 9210i is a little less known. latest model- 9290. All of them, in fact, are pocket computers with a normal keyboard, display, Linux - a similar operating system to Symbian 4.0. The devices are very expensive, large and heavy to use as simple phone or gaming platforms. A large number of both Java applications and specialized programs for OS Symbian have been developed for them. These are mainly management systems for Web sites, warehouses, and stores. Similar systems are used in Russia.

As for games, any J2ME or Java game can be installed on the communicator - a game that uses Nokia extensions. I would also like to highlight the game Snowboarding, developed by Nokia Corp.

Siemens SX45 and Nokia 7650

In fact, these are full-fledged computers equipped with color screens and running the Symbian 6.0 operating system. Feature These devices have a simplified input interface: unlike communicators, they have an ordinary telephone keypad, expanded with additional navigation tools.

So far, smartphones are quite expensive (for example, Nokia 7650 costs about $600), but this is the most promising direction in the mobile industry. On smartphones, you can implement complex clients for complex business systems, including enterprise management systems. And they are really in demand now.

Java for the user

A significant portion of the applications downloaded to Java phones around the world are games. What is the secret of such popularity? The fact is that using WAP or WWW, the user can choose a game to his liking and install it on his phone, practically without changing his location. Particularly popular are online games that allow you to have fun in the virtual world (chess, football, card games, there is even a mobile Doom).

The production of mobile games has not yet become widespread. On the one hand, this is explained by the lack of a large number of cheap mobile devices with Java support, on the other hand, the development and adaptation of mobile games has no analogues in other areas of the gaming industry. However, according to experts from Nokia and Sun Microsystems, the production and e-commerce of Java games for phones (the so-called MIDlets) will soon acquire a global scale. There are already companies in Europe whose business is based on the sale of MIDlets. An example of this is the Finnish company Mr.Goodliving (www.mrgoodliving.com).

In addition, you can find a lot of freely distributed Java games on the Internet (for example, at www.microjava.com).

Unfortunately, Russia is still behind Europe and America, but the situation will soon change. Representatives of Russia's largest cellular communications provider told us in a private conversation that if 2002 was the year of SMS entertainment, then next year will be the year of mobile games.

Java for business

Creating business applications for Java phones is considered very promising direction in the software industry.

A classic business system consists of a Web server, an application server, on which a business logic layer operates, interacting with the DBMS. The Web server provides the WWW interface and also organizes communication with client applications. The client application can be installed on a computer in the office or on cellular telephone and represent a MIDlet. As already mentioned, such applications have already become widespread in Russia.

The operation scheme of such a system is quite complex; moreover, it is developed differently for each situation, so we will look at the process using the example of a non-existent order management system for a non-existent company PizzaFast.

So, let's say PizzaFast has a WWW-based order management system. Access to the system occurs through the company's Web site, where the user can register and order pizza with specified parameters and delivery to the specified address. In addition, you can access the system via WAP (actually, WAP pages are located on the same Web server). In addition, you can download from the site special program for a cell phone that supports Java, which allows you to place an order from anywhere where there is cellular, and much cheaper and more convenient than via WAP. If desired, the user will be able to download the program via WAP, spending only a couple of minutes on this, so as not to overpay later.

The program allows you to get a menu, select an order, pay for the order by credit card or select a payment mode at the time of delivery, as well as indicate the time and address to which the pizza should be delivered. Frequently used orders can be saved in your phone so you can repeat them without having to re-enter them. Regular customers registered in the system receive discounts and, if desired, weekly newsletters “All about pizza” and “PizzaFast News” in SMS format.

Each courier has a cell phone on which an order management system is installed. He receives from the server a list of orders related to his area. Having received the pizza at the nearest PizzaFast branch, the courier marks the order as active in order to coordinate their actions with couriers in the same area. Having delivered the order, he marks it as completed. If couriers are unable to cope in some area, the dispatcher at the main office can transfer part of the orders to couriers from a neighboring area.

Managers can receive statistics at any moment from their phones on which the monitoring system, also designed as a MIDlet, is installed.

The general director receives an SMS once a day, which indicates the amount of daily profit. If desired, he can receive data on the demand for a particular pizza in a given period of time. For this purpose, a “director’s” MIDlet is installed on his phone.

It all looks pretty funny. But if this seems like a fairy tale to the pizza seller, then it is clear to the manager and software developer that this is the future. What this future will be like needs to be decided today in order to keep up with more insightful competitors.

What is in PDA and personal computer something that is not in a mobile phone? Of course, there are many differences, but now we are interested in one thing - the ability to independently change the composition of the software in accordance with your needs, which until now has remained the privilege of PC and handheld owners. But times are changing... J2ME - what is it? One of the ideas for the further development of cellular terminals is to provide them with the ability to change the software to the owner’s taste, creating a certain basic platform - an operating system - and a variety of randomly downloadable applications compatible with it. Qualcomm, a well-known phone manufacturer, was the first to express such an idea. CDMA standard, proposing the closed BREW standard. However, most companies have supported the alternative J2ME platform.

J2ME stands for Java 2 Micro Edition. It includes both development tools application programs in the Java language (albeit in a “stripped down” version), and the operating environment (“Java machine”) in which they will be executed on the phone’s microprocessor. The programs themselves, called "midlets" (midlets, MID - from Mobile Information Device Application), can be downloaded either from the Internet to a PC, and then installed into the phone via a data cable, infrared port or Bluetooth connection, or installed directly into the device from the corresponding servers via WAP.

The advantages of J2ME are obvious. There are a lot of programmers who speak Java, which means there is no shortage of applications for phones. There are already hundreds of free, shareware, and commercial applications written today, and their number will only grow. At the time of writing, Javamobiles.com, where free midlets are available for download, lists the total number of 86, and MidletCentral boasts 226 free and commercial programs. And their large selection is the key to the success of the technology. The owner of a phone with J2ME support can enrich it with a variety of utilities - from calculators and notepads to spreadsheets, databases and analytical applications - and, of course, games. If necessary, MIDlets can access data on WAP servers, providing the user with the latest, systematized information. For example, there is a program that tracks stock quotes and displays changes in stock prices in the form of a curve on the phone screen.

New products from Nokia

Nokia 3410
Price – $155

Of the manufacturers supplying phones to Ukraine, Motorola was the first to release models with Java support (though sold only in the USA). Next, Siemens presented a Java modification of its flagship model - SL45i, and at CeBIT 2002 - also S45i. However, these models were also not officially imported into our country. Therefore, we will consider two new products from Nokia to be the “first signs” of J2ME in Ukraine - Nokia 3410 and Nokia 6310i.

The younger model replaces the popular entry-level phone Nokia 3330. Externally, it is almost identical to its predecessor, having the same dimensions, weight and similar design. Only the control keys have undergone changes, the number of which has increased - Nokia has switched to the now standard layout with two programmable keys, two buttons for scrolling through the menu and separate call and end call keys. By the way, the keyboard, like both halves of the case, can be replaced using Xpress-on technology.

Apart from Java support, then functionality Nokia 3410 is about the same as its predecessor. Is it the built-in capacity? phone book increased to 200 entries instead of 100. As before, there are built-in games with the ability to download additional levels via WAP not Java, vibration alert, 35 ringtones, 7 of which can be downloaded via SMS or from a computer, alarm clock, reminder list for 10 positions, voice dial 8 numbers. The good news is that the Nokia 3410 will initially come with a lithium-ion battery.

Nokia 6310i, as the name suggests, is an improved version of the very successful business phone Nokia 6310. There are two important innovations compared to the basic version - support for J2ME and the ability to work in three GSM frequency bands - 900, 1800 and 1900 MHz. The remaining functions of both devices are identical, so we advise interested readers to refer to the review of Nokia 6310 ("Home PC"). Let us briefly recall the main advantages of these phones: built-in Bluetooth controller, GPRS support, electronic payments through the Wallet application, extended address book, the ability to enter Cyrillic for SMS and phone memory, a capacious lithium-polymer battery that can power the phone for up to 5-6 days.

With the help of these two new phones from Nokia, our editors were able to get acquainted with J2ME in practice.

J2ME in action

Nokia 6310i
Price – $340

Each phone contains a set of pre-installed MIDlets. For Nokia 3410 this is a rather interesting interpretation of the famous game Pacman, and for Nokia 6310i - World Clock and a unit converter, as well as the game Racket - a tennis simulator. They are available through a new menu item Applications (Programs). Here you can open the list of applications using the Select app command, open the WAP browser to download new ones, or check the amount of free and used memory. It is possible to set the WAP access mode for each MIDlet. Do not neglect this option - many programs use “live” data from the network, automatically logging into WAP (and therefore wasting your money), so sometimes it is very useful to force them to ask for permission to dial the operator.

Somewhat surprising is the rather long launch time of MIDlets - about 10 seconds for their tiny (tens of kilobytes) size. However, this drawback cannot be called critical, since it does not create significant inconveniences. In addition, we did not have serial phones in our hands, but only test copies. And the further development of Java phones will certainly lead to a reduction in this gap.

It hardly makes sense to consider in detail the capabilities of pre-installed utilities or evaluate them - these are only samples intended to familiarize yourself with the technology. It is assumed that everything necessary programs the user will download it himself. We tested both methods - via WAP and using a PC. The first method in our conditions can hardly be called optimal - the process is very sensitive to the quality of the connection, because if it breaks, the application will have to be received again. Unfortunately, ours is not ideal, and it is rarely possible to download several tens of kilobytes in one session.

Loading MIDlets via the Web seems more acceptable. It is enough to open any site with a library of MIDlets in your browser and save two files with the same name, corresponding to the selected application, on your PC’s hard drive. The first of them, with the extension *.jar, contains directly the midlet code, and the second, like *.jad— its description and is necessary for installing the program on the phone. Next, connect the device to the computer using a data cable or wireless connection. By this time, Nokia PC Suite 4.81, which is supplied on CD along with the phone, should be installed on your PC. Select from the menu Windows programs Nokia Application Installer utility and then follow the instructions.

Well, we have talked about the advantages of J2ME, it’s time to mention potential problems, which, so to speak, are a “continuation” of the advantages of the technology. Yes, the work of thousands of independent developers will provide us with a huge selection of applications for all occasions. But there is no guarantee that any of them will work fine on any phone that formally supports J2ME. Indeed, most utilities, especially free ones, are created by private programmers, who are good if they bother to thoroughly test their creation on the phone for which it was written, not to mention the many compatible models. Theoretically, a Java machine is capable, with a fairly high probability, of ensuring the execution of program code on the processor on which it runs, but input/output operations... The number and configuration of control keys, screen color, interface language - if any of these parameters differ from those , which the midlet developers have foreseen, problems cannot be avoided. We felt this “in our own skin” - of all the pre-installed MIDlets (it must be understood, selected and tested for compatibility by Nokia itself) not one works correctly with the Russian and Ukrainian menu languages. In this case, World Clock does not display labels for soft keys, and Converter does not start at all.