Re: J2ME or network programming or...what do you recommend?
failure_to@yahoo.co.uk wrote:
2)
Only now I realized how out of the loop I really am. All I know is
that I'd like to do some network programming ( not so much graphic
user interfaces, since I don't think I'm very good at making things
visually appealing to end users.
Andrew Thompson wrote:
OK - J2ME apps. all have a GUI, so stear clear of that.
failure_to@yahoo.co.uk wrote:
a) So what are the technologies I should learn regardless of the kind
of network apps I want to create ( should I learn servlets
Andrew Thompson wrote:
No. (Not only is that J2EE, but ultimately, servlets
make for an HTML based, thin client GUI - so there is
still 'GUI coding' involved).
Never mind the 'G' for a moment - a developer must be competent to design a
UI, because the UI is the whole reason for the program.
This is a widely-overlooked point, leading to the common mistake of allowing
programmers to design software.
This is not to say every developer has to be a graphic genius - I freely admit
to being of the "not a graphic genius" category, and have gladly paid someone
to write a stylesheet for my JSP-based app.
But the basic principles of great user-interface design are well-documented
(/About Face/, by Alan Cooper, et al., is probably the best) and can be
learned by a decent engineer.
Make it useful - to the point where the user can ignore that there's a
computer and just concentrate on their work. This has a lot to do with the
behavior of the UI - when, where and how often you have to click, and do you
need a popup just to see what already should have been in the dropdown? -
whether the task flow via the program matches well with the cognitive and
functional needs of the program's user. Put things near each other on the
screen that work well together or need each other. Make big text boxes
without too much background surround - enough to make it easy to see which is
which, is all. And for Gosh' sake align the boxes. Everything you can do
should be reachable somehow from the main menu; everything else is a shortcut.
Don't make yellow-background text boxes against a purple-background dialog
box. (I did not make that one up.)\
For most applications, a good UI is self-effacing - the user should never
consciously notice it. Now do that on a graphic screen and it's a GUI. Hire
the graphics genius to give it polish, but you as a developer need to know how
to implement what they suggest, and understand their explanations for what
they do. Ultimately it's your responsibility to make sure the look doesn't
interfere with the feel.
--
Lew