Fellow programmer's, I would appreciate your opinions based on your many years
of experience about client technologies and technical strategy.

There is a requirement for a cross platform, offline capable, data entry
application. Before I knew of the cross platform and offline requirements,
I was pushing Windows Forms or Web Forms. Due to the new requirements, the
following matrix was proposed:

WinForms | WebForms | Flash | Java | Java Applet
----------------------------------------------------------------
Cross Platform X X X X
----------------------------------------------------------------
Offline X X X
----------------------------------------------------------------
Robust Data Entry X ? X X X
----------------------------------------------------------------
Consistency N/A ? X X X
----------------------------------------------------------------
Deployment .Net Client N/A Plugin JRE Plugin
----------------------------------------------------------------
Experience High Highest Low Lowest Lowest
----------------------------------------------------------------
Learning Curve Moderate High High
----------------------------------------------------------------

Basically, he is leaning towards Flash first and Java Second. The predetermined
delivery date is March 2003 (They wanted January). 2 - 3 months have been
slated for development. This would compete against an existing product that
is a pre-.NET Win32 desktop application from a competitor. They want to beat
out the competition by getting in Mac users. Offline is debateable and was
to be put off until the next phase but they didn't want two or more UIs.


My recommendation is ASP.NET if rich data entry and offline are acceptable
tradeoffs. Flash would come next. However, I am getting the sense that Java
or Flash would be the best tool for the job.

My questions:

1. Am I missing anything related to the breakdown of the technologies?
2. Is there a way to maintain the .NET technologies and achieve the customer's
desires? I am thinking, no, but I have to double check just in case. The
decision will be based off of all relevant parameters.
3. Would anyone do anything differently?

I will post this in a few areas to get different perspectives. Thank you
in advance.