ScheduleWorld J2ME
Table of contents
1 What Is The J2ME Version Of ScheduleWorld?1.1 Quick Feature List
2 Why Not Just Use SyncML?
3 Installation (Cell Phone)
4 Usage
4.1 Why Don't I See Events Created On The Desktop Version?
4.2 Why Are My Dates Off?
4.3 How Do I Refresh All My Events?
4.4 How Do I Change To English, or German, or ...?
4.5 Why Do I See ClassNotFoundException When I Try To Install The Jad?
4.6 Why Can't I Set AM or PM Start/End Times?
4.7 Why Was My Event Update Rejected?
4.8 Why Do I See Funny Characters?
4.9 Why Do I See 'Running in background...'?
5 Interoperability
6 RFC 2445,2446,2447 ICalendar Compliance
7 Free (for now) Server Access
8 Synchronize From Anywhere
9 Built-In Synchronization Capability
10 Supported Devices
10.1 Resolution Independence
11 It Doesn't Work, Now What?
12 Cell Phone Operator Restrictions
13 Broken Phones
13.1 Configuring Your Phone Properly
13.2 Fixing / Upgrading Your Phone
14 Working Phones
15 Screen Shots
1 What Is The J2ME Version Of ScheduleWorld?
The Java 2 Micro Edition (J2ME) version of ScheduleWorld is a limited version of ScheduleWorld that runs on your cell phone. It may also run on other devices such as PDAs if the PDA has a J2ME version of Java available. Recently (December 2004) it was the 7th most popular Handheld application on FreshMeat: Fresh Meat Snapshot.
NEWS FLASH! ScheduleWorld is now digitally signed and JavaVerified! This is important because certain cell phone companies have publicly announced that only JavaVerified applications will be allowed on their networks in the future. Some cell phone companies only allow digitally signed Java applications to operate on their networks.
Certification also proves ScheduleWorld meets the quality and reliability standards of the JavaVerified program. Members of the JavaVerified program include (as of Dec 2004) Motorola, Nokia, Siemens, Sony Ericsson, and Sun Microsystems. At a minimum Orange and T-Mobile have adopted the Java Verified program.
1.1 Quick Feature List
- On demand fast over the air synchronization that works perfectly every time. No more cables.
- Full support for any character encoding. Your accents and special characters will always display and transfer properly to/from ScheduleWorld.
- Full timezone support. You will never be off by an hour again.
- True iCalendar (RFC 2445) support. This brings interoperability with ScheduleWorld, Outlook, and others.
- Keep as many devices in sync as you want. ScheduleWorld guarantees all your devices will stay in sync and you will never see a duplicate or missing item.
- Works offline. The application works even though your cell phone has no signal. Your offline additions, modifications and removals can be synchronized when your phone has a signal again.
- Resolution independence. This means the application will look correct on any device that has any resolution (screen size).
2 Why Not Just Use SyncML?
There are a few reasons:
- Some currently popular cell phones are Java enabled and do not have SyncML capability. The only way these phones can keep in sync is with the ScheduleWorld J2ME client.
- No phone (Nov 2004) implements iCalendar properly. There would be a lot of research and development involved in creating workarounds for the cell phone iCalendar software bugs. Instead, the J2ME client handles iCalendar perfectly and works the same on all cell phones. With a J2ME client there is no waiting for someone to create a firmware upgrade to fix a bug on the phone.
- Some devices do not implement SyncML properly. The only way these phones can keep in sync is with the ScheduleWorld J2ME client.
- Some SyncML implementations (this includes the cell phone software and the software on your personal computer) will create duplicate items when you sync with more than one device.
- In the future you will see many new features become available in the ScheduleWorld J2ME client. Stay tuned!
3 Installation (Cell Phone)
First set your password using the J2SE (desktop) version of ScheduleWorld. The J2ME application and the SyncML gateway use the same password so you can simply perform steps 1 and 2 in the section "How Do I Configure My Device?" here.
The Orange (UK cell phone provider) specific version is no longer available. It was slightly too large and did not work on all phones.
Simply point your cell phone to the appropriate URL found on this page: swjadns.html
If you have not previously installed a Java application on your cell phone and you are having trouble please note that your cell phone manual likely has a good one page of step by step instructions on how to install a Java application.
If you are still having trouble please email support@ScheduleWorld.com.
4 Usage
Any non-encrypted events you create/modify/remove on the desktop version of ScheduleWorld will be seen on your cell phone.
Any event you create/modify/remove on the cell phone will be visible in the desktop version of ScheduleWorld.
NOTE: Recurring events are only displayed for about the next 60 days into the future. As you use your calendar the server will make sure your view always includes about 60 future days of recurring event information. If you would like to see more than 60 days (or less) please email support@ScheduleWorld.com.
4.1 Why Don't I See Events Created On The Desktop Version?
You must make sure that the event has a default rule of "Grant Read, Deny Write" so no encryption is used.
The 64KB jar size limitation prevents the RSA/DSA/DH algorithms from fitting on some cell phones. However, newer cell phones do not have this 64KB limitation and encryption could be enabled. Please email support if you would like to be able to read/modify/delete encrypted events in the J2ME version. If enough folks request this it will be added to the todo list.
4.2 Why Are My Dates Off?
The J2ME (cell phone) version of ScheduleWorld uses the time zone you configured in the J2SE (desktop) version of ScheduleWorld (Tools - Settings). If you change your time zone on the desktop version you should refresh all of your events on the cell phone (see next section).
4.3 How Do I Refresh All My Events?
Simply go to "Preferences" and select "Save". This will cause all of your cached events on the phone to be deleted and fresh copies of your events from the server will be sent to the phone.
You would want to do this if:
- You changed the time zone in the J2SE (desktop) version of ScheduleWorld.
- You change your username and password to view another calendar. It is unlikely you would do this at this time.
4.4 How Do I Change To English, or German, or ...?
Simply go to "Preferences" and use the "Locale" option. You have to restart after downloading a new Locale.
4.5 Why Do I See ClassNotFoundException When I Try To Install The Jad?
Some Java phones do not allow Java applications to be installed over the air (OTA). I do not know why. Maybe some cell phone operators do not allow this? If anyone knows why please email support so I can update the information here.
It has been reported that one way to get around this problem is to install ScheduleWorld another way; perhaps via BlueTooth, infrared, USB, or an old serial connection. Perhaps you might need to copy the ScheduleWorld J2ME client jad and jar to the cell phone operator's server that allows over the air installation.
Here are the phones that do not seem to allow Java applications to be installed over the air (OTA):
- Nokia 3300
- G4015
Here is a list of devices that do not seem to allow Java applications to be installed over the air (OTA):
- Research In Motion (RIM) BlackBerry devices. Though, it has not been determined if this is a limitation of the device or the RIM Enterprise Server product. Please let us know if you are aware of more details or a workaround.
4.6 Why Can't I Set AM or PM Start/End Times?
Some phones are buggy and to not let you choose AM/PM. The only way you can correctly set times on buggy phones is to change the settings on your cell phone to use a 24-hr time format.
Buggy phones that do NOT provide AM/PM:
- Nokia 3100
- Nokia 3300
- Nokia 7210
- Please email support@ScheduleWorld.com if your phone does NOT provide AM/PM for setting times.
4.7 Why Was My Event Update Rejected?
Event updates are under version control. If you have updated the same event on the server using the Java desktop client (Java Web Start/J2SE) the server version will be newer and you are not allowed to overwrite it unless your version is newer.
If you "Synchronize" your phone (via Menu->Synchronize) first, you will receive the latest versions of your events. Now when you modify or remove your events your update will work because your version is newer.
Note: ScheduleWorld synchronizes your phone every time you:
(As long as you allowed ScheduleWorld to access the network.)
- Create, modify, or remove an event.
- Start ScheduleWorld.
- Manually select Menu->Synchronize.
4.8 Why Do I See Funny Characters?
The ScheduleWorld J2ME (cell phone) client (and server) go to great lengths to support every possible character encoding. It is likely you have chosen a locale (country/language) that is not supported by your phone.
For example, if you bought an English-language phone it will not be able to display Chinese characters.
If you are interested in the character encodings supported by the ScheduleWorld J2ME (cell phone) client please click here
4.9 Why Do I See 'Running in background...'?
Certain Nokia phones display this the first time you run ScheduleWorld, then do not display it again. It is harmless. When the reason for this becomes known it will be posted here.
5 Interoperability
Interoperability with the ScheduleWorld Internet server is provided. Note that the J2ME implementation does not display all available iCalendar information. If you wish more iCalendar data to be displayed (for example, the event description) please email support@ScheduleWorld.com.
Since the J2ME client synchronizes with the ScheduleWorld Internet servers and these servers can synchronize via SyncML you should be able to keep your J2ME ScheduleWorld calendar synchronized with anything.
Note that no external synchronization program is required. When you update/add/remove an event this is automatically synchronized with the ScheduleWorld Internet server.
6 RFC 2445,2446,2447 ICalendar Compliance
The J2ME client uses the ScheduleWorld Internet server to provide full iCalendar support even though the J2ME device only displays a limited number of iCalendar attributes.
Note: the J2ME client provides full recurrence rule (RRULE) support. Currently only recurring events for the next 60 days are stored in the phone. At least one recurring instance is stored on the phone even if it is further than 60 days away.
7 Free (for now) Server Access
No need to maintain your own server as the ScheduleWorld Internet server is free and always available.
8 Synchronize From Anywhere
You can synchronize over the air (OTA) so you can keep your phone in sync from anywhere your cell phone can get a signal.
9 Built-In Synchronization Capability
You do not have to exit the ScheduleWorld J2ME client to sync. Any time you modify an event the J2ME client syncs (in the background) with the server. You can also sync with the server (Refresh) at any time while running the ScheduleWorld J2ME client.
10 Supported Devices
Works on any J2ME device as the minimum specification for J2ME devices is 64KB and MIDP 1.0/CLDC 1.0.
10.1 Resolution Independence
Everything from the font size to the layout will adjust to the capabilities and size of your cell phone's display. This means the J2ME client will always look the same no matter what size your screen is.
11 It Doesn't Work, Now What?
Please run this simple test program: http://www.ScheduleWorld.com/sw/httptestns.jad.
This is the simplest possible demo program that does a HTTP post. If this doesn't work, please see the following sections. If it does work, and the ScheduleWorld J2ME client does not, please email support@ScheduleWorld.com about it and we'll be happy to help.
12 Cell Phone Operator Restrictions
It has been reported that some companies need you to prove you are over the age of 18 before they allow you to use the HTTP capability of the cell phone. Vodafone was reported to work like this. Please email support@ScheduleWorld.com support if you have any information about operator restrictions and it will be added here for other folks.
13 Broken Phones
There are a number of J2ME phones that have broken Java implementations, or perhaps require updated GPRS settings, or an upgraded firmware before they will work properly. A really good site for finding about your cell phone is this one. Here is a list based on reports from users that state which phones do not work.
Note: I have just started this list (Feb 2005) and do not have time to comb through all of the support emails to build a complete list. Please email support@ScheduleWorld.com with your success/fail information (please include firmware revision #) so I can add it here.
- Motorola V551
- Motorola V3 Razr
- Sony Ericsson t616
- Nokia 3650
- Nokia 6600 - Firmware: V 4.09.1 26-02-04 NHL-10. Strange it works for lots of folks and not for others. Perhaps a firmware difference or GPRS settings?
- Nokia 3200
- Nokia 3300
13.1 Configuring Your Phone Properly
It seems that some phones are configured with a WAP configuration but not a HTTP configuration. If you set up your phone with a web (HTTP) configuration then the J2ME client will be able to contact the ScheduleWorld Internet server.
Some devices don't allow the WAP configuration and web (HTTP) configuration to work at the same time so you have to switch between them to make it work. It is a shame that you have to use the wap profile for wap browsing, and the web profile for Java J2ME applications. Only Nokia/Symbian phones seem to have this restriction. Siemens phones work much better by providing two active profiles for Java and WAP so you don't have to change your connection profile before you start your J2ME application.
Some cell phone companies do not allow your cell phone to make connections to Internet servers. You would have to call your cell phone company's support line to find out if this is the case. If you are seeing connection timeout errors (like -33 on Nokia/Symbian devices) this may be the case.
It seems some Nokia/Symbian series 60 devices will not work (with HTTP) unless you configure the WAP gateway IP to 0.0.0.0.
13.2 Fixing / Upgrading Your Phone
Maybe your phone firmware is too old and the only way you will be able to reliably run the J2ME client is if you upgrade. Generally all this takes is a trip to the place where you bought your phone and they will be able to do the upgrade there.
NOTE: If you upgrade your firmware your phone may never work again. Also note that most authorized service centres won't accept responsibility if they break your phone while upgrading it. That being said, the author of this document hasn't heard of that happening before.
Here is some information about Nokia firmware versions: http://www.mobiledia.com/forum/topic25335.html. You can get your Nokia firmware version by typing: *#0000#
If you have any info about firmware versions or upgrading other phones please email support@ScheduleWorld.com so we can include the information here.
14 Working Phones
Here is a list of phones that have been reported to work.
Note: I have just started this list (Feb 2005) and do not have time to comb through all of the support emails to build a complete list. Please email support@ScheduleWorld.com with your success/fail information so I can add it here.
- Nokia 3100
- Nokia 3300
- Nokia 5400
- Nokia 6600 - Strange it works for some and not for others. Perhaps a firmware difference or GPRS settings?
- Nokia 6620
- Nokia 6630
- Sony Ericsson Z1010
- P900
- Samsung A680
15 Screen Shots
Various screen shots of ScheduleWorld running in different simulators at various stages of development.

Who / What

