PlanetFinder
PlanetFinder is a port of a Java Applet that constructs sky images to Series 60 Platform.
To construct the image of the sky the application needs the time and the location of the user. The time is read from phone's clock every time the application is started. To determine the location, the application initially reads the time zone information from the phone's clock and selects the biggest city in that time zone. The selection is made between all cities with a population of 3 millions and more. Daylight savings time is taken into account.
Regarding the image of the sky, please note the following (taken from the Java Applet's site:
The compass directions may look wrong, but that is because the screen represents the way the sky looks when you look straight up. The compass directions are therefore a mirror image of the compass directions on a map, which represents a view of the land looking down from above.
The spherical sky has to be projected onto the flat screen. This projection produces distortion, just as a map of the earth inevitably has some distortion. The greatest distortion occurs near the horizon.
The disks of the sun, moon, and planets are not drawn to scale. Their brightnesses are given as magnitudes to the right of their names. A more negative magnitude means a brighter planet. The magnitudes given for Saturn do not include the brightness of the rings, so Saturn will usually be brighter than indicated.
This program is only designed to have a limited degree of accuracy, sufficient for most naked-eye astronomy applications.
The application uses full screen mode so that the image of the sky will be larger. This means that the Soft keys are not displayed. Pressing the left soft key though will invoke the menu, while pressing the right soft key will exit the application. The user has two options of selecting the location. In "City selection" mode, the user can select a city from the list with all the cities with population of 3 millions and more. In "Location selection" mode the user can manually set his/her latitude and longitude.
![]() | ![]() |
In both modes the user can also:
Set the time and date.
Select whether all planets or naked-eye planets only will be visible.
Hide the names of the planets.
Select among the image of the sky, the image of inner solar system and the image of outer solar system.
The application will remember the user's settings when the application closes. One exception to this is the time and date, which will be always up-to-date.
The user can use the arrow keys to navigate between the hour and the minutes field in the time representation. The active field is high-lighted. With the Up and Down keys the active field can be incremented/decremented. In "Location selection" mode the user can do the same with the latitude and the longitude. This allows the quick modification of the most common parameters.
Currently the application can be installed in two languages, English and Greek. The application has been tested in the Windows emulator and a Nokia 6600 phone.
Porting from Java
Porting from Java was easier than I first thought! All the necessary functions and classes were already present. Drawing and timing functions are as easy as Java or MFC. I even found some goodies not usually present at other libraries, such as the capability of consistently adding minutes and hours to a TTime class and classes for easily writing and reading from an .ini file. One drawback however is that the TTimeIntervalBase class is 32-bits only. In PlanetFinder you can't move too far back or forth from year 2000 without losing significantly in accuracy anyway, but a wider TTimeIntervalBase class could be useful in other applications.
Some intricacies of Series60 Platform gave me a headache however. When I first designed the application I made my View class inherit from CCoeControl (as many of the available examples do). At first I've used dialogs to edit the application's parameters and everything was fine. Later I thought it would be better to use a Settings List but I've found out that this was impossible with the architecture I've selected. I needed to redesign the application around a CAknView and a CoeControl container to incorporate the settings list.
One issue that one must pay close attention to, when porting existing code to Symbian OS, is that writeable static data are not permitted. Variables that are usually declared as static const, have to be declared as normal variables and initialised in the constructor. One such case in PlanetFinder is the TRgb array that holds the colours of the planets. See the Essential Idioms section in Symbian Developer Library for an explanation why such a table can not be made static const.
Download Sources and sis file
Like the original applet, the application is distributed under the terms of GPL licence.
PlanetFinderSources.zip | planetfinder.sis |








> PlanetFinder
> PlanetFinder
> PlanetFinder
> PlanetFinder
Hi there!
I would indeed be interested in a version for the 3650 / 3660 and would therefore be glad if you posted it to helltex@freenet.de.
Thanks in advance!
Dirk.
> PlanetFinder
> PlanetFinder
PlanetFinder
PlanetFinder
PlanetFinder
PlanetFinder
its very very nice software ,... i really like it
but how to use the source files..
i m using it on 6600 and its working fine ..
thx for proving such cooool software
tofriends123@yahoo.com
PlanetFinder
PlanetFinder
PlanetFinder for Symbian 9.1
Hi,
Is there anychance of getting this application built for s60 3rd edition?
René
PlanetFinder for Symbian 9.1
Hi,
I'm looking for it, too. Did you get it?
Janko