The future is in the palm of our hand

by Amir Shevat

Just came back from Hong-Kong. What a city! Hong-Kong is like New York on steroids, it is the most technologically advanced city I have ever been in. Everybody is connected to some sort of high-tech miniature gadget. I felt like a cave-man with my poor old digital camera because everybody was using their cellular phones to take video and pictures (my cellular phone’s camera produces unrecognizable, low-quality pictures). People still use cellular phones for regular voice conversations, but that is just a small percentage of the usage. Cellulars are used for games, chats, IM and for playing music. I even saw one woman at the bus, monitoring her kid in the kindergarten using a live video-stream to her phone.

I know, Hong-Kong is not the only place people use handhelds. But the intensity and the variety of usages were overwhelming. Another example of high-tech miniature gadget is the “octopus card”. This is a small and smart prepaid card that you get for free and charge with money. Using this card one can pay for many things; from busses and subway all the way to pay your “7-11” bill at the counter. The octopus card is state-full so in some conditions it charges you according to the pre-knowledge it holds. For example, it remembers in which station you entered the subway and it charges you accordingly at your final destination. This card was a great friend and I did not use my credit card at all. At the last Java One conference I saw a J2ME example of a smart card. I really hope that the octopus card has java inside.

The bottom line is that it looks like the future is in the palm of our hands. Handhelds are going to take a bigger part of our life. Programmers and architects should get to know handhelds and handhelds technologies like J2ME. Although the programs in these small devices might seem simple and not challenging (how hard it is to write the code for a simple pre-paid card?) these “simple” programs are extremely useful and sometime very complex to write. Moreover, when considering any new solution one must always take into account the handheld angle.

Is J2ME the right tool for handhelds and smart cards?


2006-03-01 05:33:14
I hope not
Personally I hate handheld whatever for almost everything.
I know I'm supposed to love them and have a shoppingcart full of handheld devices I truck around with me whereever I go (being a techie and all) but I don't.
I've a cellphone which I use only to call people and sometimes send an SMS, but I ditched my PDA.
That cellphone has all the goodies (still and video camera, calendar, internet options, etc. etc.) but they go unused.

The tiny interfaces of these devices are just too cumbersome to use them comfortably. That's less to do with the effort that went into designing them as with their size. I don't know how people can stand watching TV on a 4x3cm screen that's rocking back and forth a few inches from their face for example.

In a time when everything seems to get smaller I'm looking for larger.
A fulltower to replace my semitower, a fullsize laptop to replace my slimline, I had a lot of trouble finding a mobile phone where I can operate the controls without using a pen or pliers to push the buttons, my next camera is selected and will be another fullsize SLR with the optional powerpack to bring it to a reasonable size and weight for comfortable use.

The only place where I choose smaller is when I replace my CRTs with TFT screens, and that I do only because I appreciate the extra deskspace for the same size visible screen area and resolution...

Maybe I'm a throwback, but as the world around me gets smaller I'm ever more feeling like Gulliver among the Lilliputians.
2006-03-01 05:55:12
The cards are about server processing
I doubt the cards run anything much. Most of the leg work will be done on servers, with the card reader reporting back the card's location and use to the servers which then updates some state information (where you entered the subway, where you left, etc) and bill your account. The card is just an ID key and the apps that make it all work are going to be full-blown java apps on the servers.

J2ME is a big deal on phones and PDAs, but symbian, MS windows for phones (or whatever it's called) and soon linux will give it a run for it's money.

Simon Hibbs

2006-03-01 06:42:56
The cards are about server processing
I also thought that these cards are only ID holders, but in some cases (like a bus on a forgotten remote island) I found it very hard to believe that the transaction was cleared so fast by a remote server. Wikipedia cleared the mystery- ‘Octopus is specifically designed so that card transactions are relayed for clearing on a store and forward basis, without any requirement for reader units to have realtime round-trip communications with a central database or computer.’ So it seems that some data is kept in the card (like the amount of cash left in it).

Amir Shevat

2006-03-12 16:16:10
The card is more than an ID holder (has an OS, dynamic data storage, cryptography processing etc.) and runs like a very very little computer.

The challenge is the space on the card is so limited so the programming has to be very clever. The rest of the application is not on a server but on the local computer (gate or point of sale).

You will be pleased that a lot of the contact chip cards run on Java (see Global Platform).

Glad you enjoyed Hong Kong



Paul Browne
2006-04-25 05:17:10
I'm an Enterprise Java guy, so take my comments with a pinch of Salt :-)

Why spend time and energy learning J2ME when within 18-36 months your average mobile device will be powerful enough to run the full Enterprise Java stack?