|Agile, Open-Source Java and XML.||
MaximsWords of wisdom from Alex: maxims and advice. Take with as many grains of salt as required.
Java makes it easy to do the right thing.
The interface is the product
If your customer discovers a blocking bug in the interface, or can't find the feature he's looking for, then it doesn't matter that the backend works -- as far as your customer is concerned, the whole thing is totally broken. See the Macintosh Human Interface Guidelines for inspiration.
I have since found a paraphrase of this quote ("The user interface is the program") attributed to Alan Kay. While I remember coming up with it on my own, I'm more than happy to share the credit. :-)
Never use the following words: just, trivial, should, soon.
These are what Gerry Weinberg calls Lullaby Words : words that use their ambiguity to lull the listener into a secure sleep.
For "trivial," use "straightforward."
For "should," use either "must" or "might."
For "soon," either pick an exact date, or use "never" (it's more honest to exaggerate than to minimize).
And never use "just."
The model calculates; the view iterates.
In other words, isolate the complexities of figuring out *what* to render, and let your GUI concentrate on *how* to render it.
Premature optimization is the root of all evil. (Donald Knuth)
See Introduction to Code Tuning in McConnell's Code Complete "The only thing you can usually be sure of without measuring performance is that you've made your code harder to read."
Nothing is trivial. Or, everything takes time.
(See "lullaby words" above.) Even though a task is easy, it will take time to do. And anything that takes time can be interrupted. And anything that can be interrupted might take a long time to actually, finally finish. (The XP Planning Game can help here -- by measuring how many tasks you get done in a week, you can predict how long it will take to complete a task.)
This web site and all materials within are Copyright © 1998-2002 Purple Technology, Inc. Permission granted to browse this web site on-line for personal use. If you want to display these materials for any business-related purpose (like using them to teach a Java class), please contact Purple Technology for licensing information. Source code and related assets are covered under the Purple Technology Open License Agreement.
Page generated Sat Feb 28 12:22:12 EST 2015