Sunday, January 02, 2005

Week 11

I'm currently reading User Interfaces in C# by Matthew McDonald. While the book is mainly a technical overview of C#'s WinForms, it includes an interesting chapter on UI design. The short version is: 1) Use DataSets to separate UI from data. 2) Make all controls "Windows Standard." In other words, follow existing design patterns to make the UI learning curve as simple as possible. What does this mean? Force the user to go to "File, Exit" instead of letting the user hit "Escape" to exit. Sure the escape key is faster and is intuitive to some, but it's not Window's Standard and it will confuse people.

I've just finished a simple application that allows the user to play compiled "Micro Games". The saying is correct: "It's much harder to encode data than it is to decode it." It took me about 3-4 weeks of coding to write the compiler and the UI that encodes the data. It only took me about a two days (12 hours of coding) to complete the "decoder" that allows the user to play the game.

On the design side, I'm trying to decide if I should let the user decide which color should be transparent for sprites or simply force the user to use the bottom left pixel for transparency. Letting the user decide is an extra UI element that complicates things, but it does have it's uses and it makes it clear which color is being used for transparency. However, letting the user decide is only important in a very rare case (when the sprite is square and the bottom left pixel should NOT be transparent.) It's the classic Simplicity vs. flexibility tradeoff.

0 Comments:

Post a Comment

<< Home