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
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
Operator overloading is a programming language features that allows operators to act differently depending on the type of data they are operating on. Since OOP lets us create custom types (classes), there are plenty of opportunities to do useful and interesting code manipulations using operator overloading.
Continue reading Operator overloading in PHP
Float is an often misunderstood CSS property, however when used properly it can be a very useful technique for implementing CSS layouts.
Quoting the CSS standards guide at the w3c website:
A float is a box that is shifted to the left or right on the current line.
This property specifies whether a box should float to the left, right, or not at all.
The float property pulls an element out of the normal flow and places it in either the left or right ends of the current line inside its containing block element. Other elements will then wrap around the floated element, providing they have enough space to do so (if the cumulative width of the elements is too wide, they will slide to the next line).
Continue reading Clearing the floats, overflowing the layout
Content syndication or Feeds, is a mashup of technologies that provides an easy way to keep track of updates from multiple content sources. Despite being very useful, it has yet to find widespread acceptance amongst Internet users.
Direct usage statistics are hard to ascertain with great precision, but they revolve around 4%-6% of the total Internet population, which is not much. More feeds are being consumed indirectly by aggregation sites, such as my yahoo and iGoogle (as this Yahoo! paper shows), which shows that there is market ready to consume more feeds.
So why feed usage isn’t more widespread? Continue reading Content syndication needs rebranding