Discussions

News: New Article: Working with J2ME

  1. New Article: Working with J2ME (21 messages)

    A cell phone application can be a good fit for certain types of problems, especially those requiring timely data access away from typical internet connectivity. Java 2 Micro Edition (J2ME) is one of the leading platforms for developing such solutions. This paper examines 2 approaches to connecting J2ME app to remote systems.

    Read Working with J2ME.

    Threaded Messages (21)

  2. some of this has been done already[ Go to top ]

    More and more cellular phones will allow an application to retrieve the location of the phone. Such knowledge, combined with GIS data, can allow for unique and valuable applications. Imagine pushing traffic jam locations as a subscriber approached them. (Positing the existence of the back end systems, such a service is possible today, on some higher end phones.)

    Back in 99, Neopoint demonstrated these kinds of features at CTIA. The sad thing is the carriers are purposely holding back location intelligent applications because they want to control it. Some of the carriers wanted to charge a tenth of a cent for each location call. If I remember correctly, when CDMA data speeds where 14.4, the max page size one could send was 1440bytes. More than that, it would get corrupted and fail. Since then it's gotten better, though I don't know what the practical page size is today. Another interesting thing with data calls is it takes 2 channels, instead of 1 like voice calls. Does anyone know of a main stream location enabled service today?
  3. some of this has been done already[ Go to top ]

    As far as I know, only Nextel gives programmatic access to this right now, and as you said, the other carriers are reluctant to making it accessible for privacy reasons (similar arguments apply to address books).

    But I'm confident this will change, and that all it takes is one good application making a convincing use of LBS to persuade the carriers that the advantages will outweigh the risks.

    --
    Cedric
  4. some of this has been done already[ Go to top ]

    In Europe (at least in Russia) it is possible to get programmatic acccess to LBS. Just a yet another XML based interface. So we did applications based on that. Actually J2ME is not mandatory here.

    Dmitry
    http://www.servletsuite.com
  5. Strange ideas[ Go to top ]

    As far as I know, only Nextel gives programmatic access to this right now, and as you said, the other carriers are reluctant to making it accessible for privacy reasons (similar arguments apply to address books).But I'm confident this will change, and that all it takes is one good application making a convincing use of LBS to persuade the carriers that the advantages will outweigh the risks.-- Cedric

    Some V E R Y strange ideas thrown out in this thread. (The quote is only one.)
    It is quite common in this day and age to propose any number of new services that may be fancy and even usefull without a thought about the ramifications of the proposals.

    Even the fact that everyone are tracked rather well by the carriers is very problematic.
    Giving this information out to others, even to an application runing on my phone makes it significantly more dangerous. Yes, even if the application have to run on my phone to get the localization information from the carrier. Any java game or other application could potentially get it and send it to someone else. I dislike such problems enough to want to stop even the possiblity via a law against it until we are sure the problems have been adequately addressed and that is determined by others than the carriers and definetely not developers of applications.

    Here in Norway we reasantly heard in the news about one carrier offering a "buddy" service to it's subscribers.
    Anyone could go to a page on the carriers web site, type in a phone number and an SMS was sent to that number saying: "xxx has requested buddy services from you. Do you want to accept this request?"
    Without further explanations about what the service was.
    If you answered yes to the request the one who had requested it could via the same web site track your location on a map.
    Employers used it, wifes used it...
    Nice service until you start to think a little about it's real usefullness.

    Thinking helps.

    Nils
  6. Privacy issues are major concerns[ Go to top ]

    having worked on LBS, there are major privacy issues, which have to be worked out. The catch is, all the efforts that were started in 2001 for wireless privacy has faded away. Japan also has similar LBS. the US is still way behind Japan and EU on wireless. Back in 2000, there was a french company offering semi-realtime traffic data for Paris. It would simply show the major streets for paris. If a particular street was congested, it would be a thicker line. Not sure if it is still using 2bit images, but it was pretty effective.
  7. Strange ideas[ Go to top ]

    Anyone could go to a page on the carriers web site, type in a phone number and an SMS was sent to that number saying: "xxx has requested buddy services from you. Do you want to accept this request?"
    Without further explanations about what the service was.

    In the information era, accepting a service request without knowing what it is.... well, anyone who does that deserves to be tracked.

    OK, granted, there is a need to educate the public, but so what?
    Thinking helps.

    Especially when using technology...
  8. Nahhh :)[ Go to top ]

    In my opinion the described scenario is the less interesting for midlets. For instant and short living information there is already a much quicker and easier technology: SMS. Yes, it is trivial, poor or whatever. But people is just used at it.

    Stefano

    --
    Stefano Fornari - Sync4j Project Manager / Funambol CTO
    =======================================================
    Home:
    http://www.sync4j.org
    FAQ:
    http://forge.objectweb.org/docman/view.php/96/39/general.html
    Project Documentation:
    http://forge.objectweb.org/docman/index.php?group_id=96
    Documentation site:
    http://sync4j.funambol.com/main.jsp?main=documentation
    List archives:
    http://groups.yahoo.com/group/Sync4j (login required)
    http://sourceforge.net/mailarchive/forum.php?forum_id=215
    Wiki:
    http://wiki.objectweb.org/sync4j/
     
    Sync4j - The open source SyncML mobile application platform
  9. re: Nahhh :) (sms)[ Go to top ]

    I think that SMS is definitely a viable option that should be considered. However, a midlet has a couple of advantages over a SMS application. (This is based on my limited experience with SMS a few months ago, so things may have changed.)

    Having an application on the phone means you can later extend that application, keeping the same user interface, and make it more valuable to the user. For example, in the paper, I discuss a trafic service. Perhaps the application could be upgraded to keep count of the number of times a particular crossroads was queried for, and the time. If this reaches a certain point, the application could pre-request this data every morning for your commute. Blue sky I know, but this kind of extension would be more difficult to do with an SMS based application.

    Entering data is more difficult with SMS. Rather than clicks and selects (which are, believe me, tedious enough), you'd have alphanumeric entry. No chance for the application to help you out, either.

    Can you send images via SMS? Even given the size of the typical phone screen, images can be a huge benefit and can convey quite a bit more information more quickly than text.

    Perhaps you could have the midlet communicate over SMS, via JSR 120 and 205. I'm not sure how widely supported these are, but then you'd get the benefits of both.
  10. major downside of SMS[ Go to top ]

    In the past I wrote a SNPP (simple network paging protocol) driver and the main limitation for SMS is delay. SMS gateways in the US do not gaurantee immediate delivery and often a SMS message may take several minutes up to 1 day. I know in Europe SMS is more reliable, but in the US, it is still rather slow. Another potential limitation is SMS gateways limit the number of messages you can send per second, so to get around that, you have to make a deal with the service provider.
  11. J2ME for Eclipse[ Go to top ]

    For all who need J2ME plug-ins for Eclipse:

    Open-Source:
    http://eclipseme.sourceforge.net/

    Cheers,
    Lofi.
  12. It surprises me[ Go to top ]

    I have talked with people about this before and most people don't seem to mind the idea of being tracked. This surprises me. They usually site some petty convience that could be gained by being tracked, and just assume that the technology would not be mis-used.

    I wonder who would be the first to misuse it, the spammers, or the porn industry ;)
  13. It surprises me[ Go to top ]

    I have talked with people about this before and most people don't seem to mind the idea of being tracked. This surprises me.
    It shouldn't.

    History has shown time and time again that people don't mind giving away their privacy if they feel they get something in return that's worth it. It's just a matter of finding the right price.

    Location-Based Services are a very hot area and I know a lot of users who would definitely love to be able to ask their phone "find me the nearest mechanic that can fix a Toyota and show me the directions to it".

    --
    Cedric
  14. It surprises me[ Go to top ]

    I have talked with people about this before and most people don't seem to mind the idea of being tracked. This surprises me.
    It shouldn't.History has shown time and time again that people don't mind giving away their privacy if they feel they get something in return that's worth it. It's just a matter of finding the right price.Location-Based Services are a very hot area and I know a lot of users who would definitely love to be able to ask their phone "find me the nearest mechanic that can fix a Toyota and show me the directions to it".-- Cedric

    Having built and used LBS, it is really handy. One of the things we did back in 99 was to take the long/lat from the phone, feed it to mapquest and do reverse geocode. Then we would perform searches based on the user's profile. Another neat feature which we built was tracking users. A cell phone user could give someone they know a password. That friend/family member could then go to the site, enter the password and see where the user was. At CTIA, we had an engineer from the embedded software division driving around San Jose, while the product manager gave a demo. At lunch, the product manager pull up the tracking page and saw the engineer was in a Mall. he called the engineer and asked, "how you doing." He responded "eating lunch right now." The audience got a pretty good kick out of it. Our team went as far as to drive around the eastern seaboard to test out the service and measure the quality of the triangulation. it's too bad the service providers wanted full control and wouldn't let other companies develop it.
  15. Source code[ Go to top ]

    Is there a way to get article's source code. At least client's code.
  16. re: Source code[ Go to top ]

    Unfortunately, the client code is owned by a company I'm involved with, so I can't hand out the source code. Sorry.
  17. Network latency is a major issue[ Go to top ]

    One issue you don't seem to mention is the big difference in performance between sockets and HTTP - on phones/carriers that do support sockets from J2ME you get pretty prompt network response, but through HTTP you are lucky to get sub-5-second round-trip times, which can be a big issue. Over GPRS here in the UK different handsets seem to vary between 4s and 8s to retrieve an HTTP response - so it pays to reduce the number of requests your app has to make.

    Since the area I work in is networked games, where there are many roundtrips, it is a frustrating limitation.
  18. I thought latency improved[ Go to top ]

    Although I'm not surprised by this, I thought the industry had made significant improvements in this area. I don't know if this is still true or not, but with WAP, the WAP gateway is responsible for retrieving the content and passing it the phone. Because of how WAP provisioning works, each phone is assigned to a specific server (this may have changed). If a user is outside their main region, it means the WAP gateway handling the data is further away. With WAP, there was two types of browsers: micro and full. The micro-browser did not perform any rendering in the sense of analyzing the HTML/WML and then drawing it. With micro-browsers, the WAP gateway processed the markup and produced a binary page, which the browser just displays. With the full browser, the phone actually interprets and renders the page. I don't know populare micro-browsers are anymore, since phones have gotten much more advanced. In 99/2k, micro-browsers were used on smaller phones with limited memory.

    now that phones are so advanced and come with much more memory, I'm going to guess most use full browsers. Are you using GPRS on the Orange network? I don't work on wireless anymore, but it is fascinating stuff :)

    peter
  19. XML parsing...[ Go to top ]

    Which XML parser was used here?

    Do you have any performance data on XML usage?
  20. XML parsing...[ Go to top ]

    kxml was used for XML parsing (see here for more).

    I don't have any performance data on the XML process.
  21. XML use cases[ Go to top ]

    Since XML was brought up here, what are the use cases for XML on cell phones that Carriers are pushing for? One of them I know is for news streaming. Any others?

    JSR-172 uses XML parsing.
  22. XML use cases[ Go to top ]

    I think the cases for using XML for communication are laid out pretty clearly in the article. The ease of debugging (you can use a web browser) and flexibility in changing communication content (including in future versions) were what really decided it for me.