Letters from Readers
Reader Feedback: Design a Path to Better UX
Readers had mixed reactions to "Good UI Design Is No Longer Optional":
Programming since the early '80s, I've come to appreciate a good UI. I live by a discussion I once had with my late father-in-law, Bob, who said: "I want to be able to end world hunger, cure cancer and fly to the moon, all with one click of a button." Basically, what he was saying was that any app crafted to solve a problem should solve that problem with the least amount of button clicks and user intervention.
Daytona Beach, Fla.
[UI design] should be a job of the designer/analyst, not the developer.
Getting developers to care about design is an issue I've been fighting for more than a decade. I've been encouraged to see the industry slowly start to provide more opportunities for UI specialists, but there's still a long way to go. Unfortunately, Microsoft only has a general Software Development Engineer job category, where candidates must be experts in C#/object-oriented programming to get hired. This means that people who are highly skilled with front-end UI design integration have no place in the company because there's no job category that recognizes their skills. So even internally, Microsoft continues to struggle with emphasizing the importance of design.
Passing on Structs
VSM Tools Editor Peter Vogel wrote about structs versus classes in a recent Practical .NET column, "Use Structs Instead of Classes to Pass Data Uniquely". Some readers still prefer classes:
While you can add methods to structs, you'll face some limitations. For example, if you try to add a new method with parameters, then you can't also have a parameter-less New method -- the struct won't let you overload New. Also, I wouldn't be entirely comfortable with counting on the difference in the built-in clone behavior. If it were up to me, I'd still prefer the class and implement iCloneable as necessary. Then future revisions of the compiler and code are clearer.
Peter Vogel responds:
Actually, I think the problem with constructors is much worse than you describe (at least in Visual Basic) -- I don't think you can have a parameter-less constructor under any circumstances.
This story was written or compiled based on feedback from the readers of Visual Studio Magazine.