[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orekit Developers] [SOCIS 2011] usability
Hi Alexis,
I have played a little with the application. Here are some new comments.
Entering an orbit involve many clicks and separated screens. Could the
number of screens be reduced or at least having some sort of wizard
type behaviour, where completing on screen automatically brings you to
the next one ? As an example, entering a keplerian orbit now implies:
- selecting "Set orbit type ..." in screen 1, which leads to screen 2A where
you select the type and then you automatically goes back to screen 1
- selecting "Set orbit data ..." in screen 1, which leads to screen 2B where
you see the parameters.
- selecting "Semi-major axis ..." in screen 2B fires
popup 3A for semi major axis, in which you still have to
click to fire the virtual keyboard
- selecting "Eccentricity ..." in screen 2B fires
popup 3B for eccentricity, in which you still have to
click to fire the virtual keyboard
- selecting "Inclination ..." in screen 2B fires
popup 3C for inclination, in which you still have to
click to fire the virtual keyboard
- selecting "Perigee argument ..." in screen 2B fires
popup 3D for perigee argument, in which you still have to
click to fire the virtual keyboard
- selecting "Right ascension of ascending node ..." in screen 2B fires
popup 3E for RAAN, in which you still have to
click to fire the virtual keyboard
- selecting "Anomaly ..." in screen 2B fires
popup 3F for anomaly, in which you still have to
click to fire the virtual keyboard
- selecting "Set anomaly angle type ..." in screen 2B fires
screen 3G where you actually select the type
and then you automatically goes back to screen 2B
- selecting "Select a frame ..." in screen 2B fires
screen 3H where you actually select the type
and then you automatically goes back to screen 2B
- selecting "Set a date ..." in screen 2B fires
screen 3I, which itself lead to screen 4A (time scale),
popup 4B (date), popup 4C (hour), popup 4D (seconds) and you
have to press OK to go back to screen 2B
- selecting "Central attraction coefficient ..." in screen 2B fires
popup 3J for semi major axis, in which you still have to
click to fire the virtual keyboard
Would it be possible to have in-screen edition ? That would mean that
for selections (like orbit types, angle types, frames, time scales,
LOF frame types in maneuvers ...), we would simply the choice list
would appear in a popup rather than a full screen (and use a standard
graphical widget to show it is a choice, instead of a "Configure"
button). For keyboard entries, we would simply have a cursor in the
input text text field without changing screen. It would also be nice
to have the orbit data fields in screen 1 rather than in a dedicated
screen 2B. This would however imply that depending on orbit type
selection, the labels would change (a, e, i ... for Keplerian, x, y, z
... for Cartesian and so on). For this later change, you may consider
using anonymous arrays to retrieve the parameters from the graphical
interface and use the mapArrayToOrbit method from OrbitType, which
builds an orbit of the right type.
Typically, the screen for impulse maneuver is much more compact as it
displays everything at once. It would be nice to achieve a similar
result for orbit.
The current frame selection for impulse maneuver has one setting for
Local Orbital Frame and another for "other" frames. It would be nice
to have everything gathered in one choice list, probably with the LOF
frames on top and the other frames on bottom. The label "Increment
frame" should also be changed to "Maneuver defining frame".
The label "Engine impulse" should be changed to "Specific Impulse".
This parameter could also be completely hidden for now and replaced by
an arbitrary constant (say 400s). It corresponds to the efficiency of
the thruster and is used to compute the propellant consumption to
achieve the specified velocity increment. As we don't (yet) set
spacecraft mass we are not (yet) interested in the consumed propellant
mass. A better alternative would be of course to keep this parameter,
but then we should also have an entry for spacecraft mass before the
maneuver, and we would display as a result both the spacecraft mass
after maneuver and the consumed propellant mass.
It would be nice to have the output orbit after maneuver be displayed
in the same representation as the input maneuver (i.e. Keplerian of
initial orbit was keplerian ...). This can be achieved with the
following code:
Orbit initialOrbit = ...;
Orbit finalOrbit = computeSomething(initialOrbit, ...);
// at this step, initialOrbit and finalOrbit may have different types
// force type of finalOrbit to match type of initialOrbit
finalOrbit = initialOrbit.getType().convertType(finalOrbit);
For now, computing a maneuver on a Keplerian orbit provides a result
as an equinoctial orbit.
Once input and output orbits are of same type, the result could be
display both as the final orbit as it is now but also as elements
changes (i.e. Δa, Δe, ...).
best regards,
Luc
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.