The lost art of user experience

User interface design is my favorite part of the development process. The problems it poses are the most interesting, and thinking up solutions is a form of creative expression.

Users consume applications through the interface - one chance to either deliver a satisfying experience or fail miserably.

It is a topic I have very strong and passionate opinions of, and motivated by this beautiful prose by Jono over at Not the User's Fault, these are my guidelines for user interaction design:
Continue reading The lost art of user experience

Common misconceptions in web application development

Over the time I have developed for the web, I have read and heard many assumptions about development practices and technologies. This is my list of common misconceptions in (web) development:

1. OO code is less performant than procedural code

The number one argument against OO application design from procedural advocates. This argument is based more on intuition than fact. The usual examples pit short procedural code against equivalent OO code in which procedural code comes out triumphant as more terse and performant.
Continue reading Common misconceptions in web application development

The Advancing PHP Developer Part 5: Design Patterns

5. Design Patterns

A design pattern is a general reusable solution to a recurring design problem in object-oriented systems. Design patterns are essentially blueprints that suggest how to solve a particular set of OO design problems while adhering to OO best good-practices (which I've recounted in my Object Oriented part of this series).

To explain by example, lets have a look at the Model-View-Controller pattern, a common pattern in use on the web and a source of much confusion amongst aspiring developers. The Model-View-Controller pattern (abbr. MVC) is a general solution for decoupling domain logic from the user interface, resulting in much better maintainability for both.
Continue reading The Advancing PHP Developer Part 5: Design Patterns

The Microsoft User Experience

I got repeatedly annoyed today by what I consider typical behavior for Microsoft products. Windows has the option to perform automatic updates - and recommends to do so in the Security Center (no one wants to see red lights in their Security Center. Does CODE RED mean anything to you? Also, everybody just LOVES updates. Unless it's from Adobe).

After automatic updates does its thing, it promptly suggests to restart the computer. Two options are given - Restart now and Restart later. What 'Restart now' does should be obvious, however 'Restart later' is apparently open to interpretation - as Windows will constantly remind you to restart every 10 minutes or so, and will forcibly restart the computer itself if left unattended.
Continue reading The Microsoft User Experience