One way to hide complexity is through a guided UI (a.k.a. a wizard or an interview). A common misconception is that a wizard makes a good UI for novices, when in fact they are more properly employed to address infrequent tasks, and should have nothing to do with whether or not the user is a novice. Novices aren't novices for very long (when performing a frequent task). Writing a guided UI for a frequent task is bad, because it eventually bogs the user down. On the other hand, a guided UI is perfect for an infrequent task, especially a complicated, critical, or finicky one, no matter whether the user is generally regarded as a novice, intermediate, or advanced. You might say that when it comes to infrequent tasks, every user is always a novice.
Ahoy, mateys. Gather ye 'round the scuttled water butt and I'll tell yer a tale or two. My name is Craig Jones, and this is my personal weblog. I also blog in two other places: For computer producity tips, see my posts on codejacked.com. For my thoughts on software development and business, see my company weblog.
Friday, April 16, 2004
User Interfaces for Infrequent Tasks
One way to hide complexity is through a guided UI (a.k.a. a wizard or an interview). A common misconception is that a wizard makes a good UI for novices, when in fact they are more properly employed to address infrequent tasks, and should have nothing to do with whether or not the user is a novice. Novices aren't novices for very long (when performing a frequent task). Writing a guided UI for a frequent task is bad, because it eventually bogs the user down. On the other hand, a guided UI is perfect for an infrequent task, especially a complicated, critical, or finicky one, no matter whether the user is generally regarded as a novice, intermediate, or advanced. You might say that when it comes to infrequent tasks, every user is always a novice.
Monday, April 05, 2004
Outsourcing Battle is a Red Herring
These executives keep asking the wrong question, "How can I continue to develop the same old crappy software, but do it cheaper?" They ought to be asking, "How can I develop better software?" "How can I develop it faster?" "How can I make it last longer and be more useful?" By improving the quality of their software it'll be more desirable. It'll draw more customers and can demand higher prices. Answering these questions can lead to a 100-fold improvement on the ROI versus any kind of cost-saving measure.
As an added bonus, better software is, well, better. If you want to talk about morality, let's talk about how much better our society will be when the software we use provides more intuitive user interfaces, adapts more easily to our needs, offers increased security, and performs faster.
The sad part is that the answers to these questions are right in front of our faces. All we have to do is open our eyes. The 'Net is a free, all-you-can eat buffet of best practices, high performance/high security open source frameworks, feature rich open source tools, design pattern catalogs, refactoring catalogs, ... you name it.
If you really want to keep the programming jobs at home, then quit sniveling and do something to make yourself and your fellow programmers more valuable. Pick one thing and explore it. Read up on a management methodology like XP, RUP, or Scrum. Or, become familiar with a tool like Eclipse. Or, try out the unit-testing framework that goes with your language of choice. Or, otherwise avail yourself of the wisdom of luminaries such as the Three Amigos (UML), the Gang of Four (Design Patterns), Martin Fowler (Refactoring), and Steven McConnell (Code Complete). Apply what you learn and pass it on. It's as simple as that. (Not easy, but simple.)
Tuesday, March 30, 2004
Levels of Indirection
A group of my coworkers in the Tucson office started a cable access show called Smokebreak TV and released their first episode last week. My friend, Vlad, a coworker with me in the local office, reviewed the episode in his blog, offering up an E-for-effort appreciation of the show and noting the potential bulldada factor. Being unfamiliar with the term, bulldada, I tried looking it up on Merriam-Webster as well as doing a "define:"-style Google search. Both turned up empty. I then tried a regular Google search on "buldada means" and got a hit on a book review that defined the term. The book in question was "Galaxy 666" by Pel Torro, which Ken DeVries called the worst science fiction novel ever written. He said that it "does for literature what Plan 9 From Outer Space did for the cinema." Reading the quoted passages is what sent me reeling. So, thanks guys. I owe you one.
Wednesday, March 24, 2004
iPod Race movie
Thursday, March 18, 2004
Endo-Testing with Mock Objects
By the way, for anyone still using Delphi, there’s a Delphi Magazine article on the subject.
Monday, March 15, 2004
You are Invited - Intro to UML & Design Patterns
The Unified Modeling Language (UML) comes in multiple forms and serves many purposes. This presentation will describe UML diagramming in particular and discuss the uses for it. All 9 diagram types will be presented with an emphasis on the Class diagram. (That's the one that most people think of when you just say "UML diagram.")
Software design patterns first became popular with a book called "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (a.k.a. "The Gang of Four"). All software is designed according to patterns, whether or not the programmers realize it. This book sheds light on how patterns are used in software design and offers up a catalog of certain patterns that tend to recur in good code. Many other pattern catalogs have emerged subsequently, but the original GoF catalog is still considered the proper starting point. This presentation will cover: the general concept of patterns, the difference between patterns and idioms, and how patterns are described and catalogued. One pattern (Singleton) will be discussed in detail.
The OCDUG meetings are held at Red Brick Software, 1301 East Lincoln Avenue, Orange, CA 92865. [Directions]
Friday, March 12, 2004
Proposed Spammer Punishment
When we finally figure out how to catch and convict spammers (and virus writers), I propose that they each be punished as follows:
- Lop off his or her head
- Put the head on stake
- Aim a web-cam at it as a warning to all other would-be spammers
That's not too lenient, is it?
Why Anti-Spam Technology Doesn't Work
Subscribe to:
Posts (Atom)