Yesterday I was browsing my GoogleReader feeds as usual. And I found this term “static language productivity tax” after the following chain of links:
Raganwald links for 02-05 —-> Maybe Software Development IS Like Building a House —-> Human Computer —-> Language Spectrum
Okay, it’s not that impressive, but the main point is that I feel the term apply itself to me today quite obviously when trying to work with Wizard’s custom field again. I guess we can call it a loose API. The design was not only complicated but also hard to use and confusing. Everytime you want to do something, you either have to sit down and think real hard (and you will most likely to use the wrong functions), OR you have to type lots of unnecessary stuffs to get simple thing done (accidental complexity).
I wish I have the courage/time to redo the feature. It’d be interesting to see how much easier I can make those tasks–working with custom fields–become. Anyway, enough ranting, back to work.
Here’s something else I found today:
<QUOTE>
- There should be one way things are done (whether or not it appears in multiple places). For example, the login dialog box should look the same, no matter where and why it pops up.
- Similar things should be done similarly. This helps people use their learning from one place to work in another.
- Different things should be clearly different.
- Dangerous things should be impossible, or where necessary, clearly labeled as dangerous.
- Default behavior should be harmless.
- Users should be able to predict what the results of actions will be.
</QUOTE>