These are the software requirements for a satellite tracking application that can support the visual observing of satellites.
Visual satellite observing is a very odd hobby for a person to have. However, there is a reasonably large community devoted to it, as evidenced at http://www2.satellite.eu.org/sat/vsohp/satintro.html.
However, there aren't any free, cross-platform applications out there to do this. So, the goal is to make one.
The sofware should run on at least Unix and Windows platforms. Thought should be given to a PDA port of the software. This may be accomplished by writing the software in Java, but that isn't mandated.
The software should probably use some sort of gui.
The software should be capable of parsing NORAD-provided two/three-line element files, optionally with associated magnitude information.
The software should be able to propigate the motions of a satellite or group of satellites during a given time period.
The software should be able to filter the generated list of motions for significant events, such as when a satellite is above the viewer's horizon, or when a satellite is in sunlight.
The software should be able to provide the above in some sort of report form.
The software should be able to provide a live display showing the position of a satellite relative to a user. This display should show, at least, the satellite's latitude, longitude, and altitude; and the azimuth, elevation, and range between the user's location and the satellite, and the satellite's estimated magitude if a standard magnitude is known.
The software should support plotting the satellite's location on a starmap.
The software should support plotting the satellite's location on a world map.
The software should support a report showing which satellites are above the horizon and/or visible at a given time.
I have existing code that can handle orbital propigation using the SGP4 algorithm. It's written in C, so it would need to be ported to Java if that was the chosen implementation language.