With the built in applications, it's relatively easy because Palm has
control over the data on the desktop as well as on the device. For
enterprise applications, it's not so simple. Here's what I'd do:

When the user hits the Done button to go back to the record list after
entering information in a form, validate the data and if invalid, present a
dialog. If the user exits the app while this dialog is up, or with invalid
data currently showing in the form, go ahead and save it even though it's
not valid.

If the user left the app with an invalid record in progress, return them to
that record when they next run the app. That way, they're quite likely to
fix the problem because they'll need to get back to the list in order to
enter any more data.

If the user HotSyncs after leaving the app with an invalid record in
progress, go ahead and sync the invalid data. Make your conduit validate the
data and report the problem as a message in the HotSync log. This can be
done by testing whether the data meets the requirements, or by sending it to
the server and handling the errors it returns. Either way, the effect is the
same.

I think it's better to occasionally be told about invalid data in the
HotSync log than to be forced to correct invalid data before being able to
use the device for the current intended purpose.

Users who are annoyed with the error message in the HotSync log can avoid
this by hitting the Done button. You can even include a separate Validate
button that does the same thing as Done, but stays in the data entry form.
If it's possible for the user to see the list of records when some are
invalid, it might also be helpful to distinguish the invalid records from
the valid ones in the list view.
-- 
Peter Epstein

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to