Developing for Jasper S20 with Mobility Pack for CDC

I played with the SavaJe Jasper S20 for a while. I wanted to know how it cooperates with NetBeans because the NetBeans Mobility Pack 5.5 Preview for CDC was really a secret project. You can develop and test on Sun Java Toolkit 1.0 for CDC with the build. I created an easy application. Then I borrowed one SavaJe phone and deployed the application to the phone directly from NetBeans IDE. That's cool. I wrote down a few steps to start with the development for CDC in NB. At the end of the article are some links to others tutorials and articles. Enjoy.

  1. install drivers for SavaJe (on SavaJe CD in directory E:\\GSPDA Mobile Drivers\\)
  2. download and install NetBeans 5.5 Beta + Mobility Pack 5.5 Preview Update 1 for CDC
  3. download and install Sun Java Toolkit 1.0 for CDC (early access available now). [the download button is at the bottom of the page]
Deploy to the Phone and Run
  1. Run NetBeans IDE
  2. Add CDC Platform to NetBeans' Java Platfrom Manager (flash demo)
  3. Create New Project (File | New Project) for CDC. The icon of the project looks like on the picture on right.
  4. You can try to run the application in the emulator first. (flash demo)
  5. Set directory to deploy in Properties
  6. Deploy the project to the SavaJe phone (flash demo)
  7. before running the application on the phone. (flash demo) The card can be used either by windows or by the phone.
  8. Run the application on the phone. It is located in Menu | My Applications
Debug on Device
  1. Set the Debug port in Properties of the project
  2. Check the Add debug information to jnlp file checkbox
  3. To set up the SavaJe phone correctly follow the steps on SavaJe twiki
  4. I'm able to ping the phone IP
    Pinging with 32 bytes of data:
    Reply from bytes=32 time=3ms TTL=255
    Reply from bytes=32 time=2ms TTL=255
    Reply from bytes=32 time=1ms TTL=255
    Reply from bytes=32 time=2ms TTL=255
    Ping statistics for
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 1ms, Maximum = 3ms, Average = 2ms    
  5. Deploy the application with updated informations in jnlp file. Unmount it.
  6. Start the application on the phone. It won't do anything it should wait for the connection from the debugger
  7. Run -> Attach Debugger. Set the properties
          Connector = SocketAttach
          Transport = dt_socket
          Host =
          Port = 9462
  8. You should be attached to the application and you can debug. It doesn't work for me. I still receive "Connection refused."

More Informations...
Flash Demos

I just bought that phone (tracking FedEx right now), and I'm working on porting our application to CDC using NB (the application is and is developed using NB already). While Netbeans for CDC and the CDC toolkit are cool (especially for a 1.1 version) I am a bit dissapointed by some things in agui. I just don't understand the logic of several decisions made in AGUI, dumping dialogs etc... and going with internal frames? What were they thinking?
I assume their goal was familiarity rather than compatibility, so don't expect a porting project to be smooth or simple... And they are missing some CRITICAL functionality including ComponentOrientation which is critical for the 1 billion Arabic, Hebrew and Thai speakers! (I guess they just didn't understand what it meant so they just dumped it).

Anyway it would be nice if NB had a porting Wizard (maybe based on the new Jackpot tool?) that would do the stuff I'm doing manually: Remove Java 5 features (egh I hate that crap, I didn't use it but SwingX made that mistake and thats a pain to remove), convert JFrame/JDialog to JInternalFrame and convert its listeners appropriately etc... It can't be perfect but it should be pretty easy to discover the necessary feature set, just try porting SwingX and you will see how much of a pain that is :-)

BTW since SwingX is LGPL if I ever finish this (this is very low priority right now), I'll obviously contribute everything. But since I'm using a fork and only porting the stuff I need, it might be more appropriate for some people to do a port of their own.

Posted by Shai Almog on May 31, 2006 at 09:18 AM CEST #

Cool, let me know when you finish. Feel free to report any problems to 3rd-party/mobility cdc in NetBeans issuezilla -

About the "CRITICAL functionality" - go ahead and join the java community process - You can comment to the right people directly.

Posted by Lukas on May 31, 2006 at 09:50 AM CEST #

So far the CDC toolkit/NB integration seems pretty cool although I didn't get passed the compilation problems yet. I do have several suggestions for improvement/RFE's.

I did send feedback, but joining the JCP always seemed too complicated for benefits that are too abstract so I never really bothered. If I have a suggestion I just send it to the JCP team (which I think is pretty much the extent of ability for individual contributers).

Posted by Shai Almog on May 31, 2006 at 03:27 PM CEST #

get the latest(of course already obsolete) Savaje's software etc. -

Posted by Lukas on September 11, 2007 at 07:18 AM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed

This is the main channel to share news, tips and other stuff related to my work. Sometimes you can find even personal stuff. Enjoy your reading...


« June 2016

No bookmarks in folder