This is a timer program (MIDlet) made for simple time countdown tasks. It is written using J2ME MIDP 2.0 and CLDC 1.1. It can be used on any device supporting MIDP 2.0 and CLDC 1.1.

Time is shown in format 00:00:00 (hh:mm:ss). With left/right arrows (or 4/6 keys) time digit which you want to increase/decrease is selected and with up/down arrows (or 2/8 keys) that digit is increased/decreased. After you set time to measure press central key (or 5) to start or pause timer. If timer is running or paused when it quits it will be restored in paused state after restarting (but original time set will be restored after it finished or after you reset it.

There are only two menu items, exit program and reset timer to set value.

After exiting timer keeps last time you set in it and if timer is running or paused it restores current time after it starts again (which enables you to split timer countdown in morning + evening session).

When starting timer phone shortly vibrates, when stopping it vibrates longer. If you press * key while timer is running it vibrates longer as many times as there are tens of minutes left and after that it vibrates shorter as many times as there are single-digit minutes left.

When timer is not running we can access sunrise / sunset / transit calendar by pressing '0' key and browse through it by up / down arrows (one row at a time) or left / right arrows (one screen at a time). For proper functioning we have to enter proper location information from this screen menus (latitude / longitude / time zone). On calendar screen '#' changes font. To use sunrise / sunset calendar first we have to add our location to application by entering geographic coordinates and time zone. We can add more than one location to application and easily switch them later.

From version 1.1 this program is under GPL license.

SungazingTimer 1.4 - jar file (~40kb)
SungazingTimer 1.4 - zipped jad + jar file (~38kb)
SungazingTimer 1.4 - source (~42kb)
old versions
download directly to phone: SungazingTimer (~40kb)

Usage of timer functions:

SungazingTimer timer usage

Usage of sunrise / sunset calendar functions:

SungazingTimer calendar usage

Tutorial - screenshots:

SungazingTimer midlet started, timer set using up/down/left/right. Timer started: RUNNING. Timer stopped: PAUSED. Reseting timer to starting value through menu. Calendar shown (by pressing '0' key). Adding location by menu. Entering location name and geographic coordinates. Selecting timezone. Sunrise / sunset times in calendar shown using added location geographic coordinates.


1.4 (2010-02-27):
Added alarm volume control (keys '3' and '9') and volume bar.
1.3 (2010-01-20):
Changed key mapping, added command which enables for some phones to use middle joystick button for start/stop (phones which couldn't use that button before).
1.2 (2009-12-30):
Added transit time to calendar. Pressing '#' key on calendar causes font to change.
1.1 (2009-12-26):
Pressing on 0 key while timer is not running shows sunrise / sunset calendar. For sunrise / sunset calculations used changed code from Compass project (http://www.qcontinuum.org/compass/). Source released under GPL.
0.8 (2009-11-26):
Pressing on * key while timer is running causes mobile phone to vibrate long for tens of minutes left and short for (1-9) minutes left.
0.7 (2009-09-21):
Vibration on starting timer is shor, on pausing long.
0.6 (2009-09-16):
When start/pause is pressed phone vibrate (to ensure we know timer is stopped/started without looking, helps with mobile phone screensavers).
0.5 (2009-07-18):
Start/pause key switched to more portable version across mobile phones.
0.4 (2009-07-16):
Timer text is centered and status message is added.
0.3 (2009-07-15):
Changed alarm tone to avoid skipping alarm if phone screensaver is active.
0.2 (2009-07-14):
Added saving of current timer time (useful when you split time to morning/evening session).
0.1 (2009-07-13):
First version. Saves set timer after quit, restores set time after restart.