Showing posts from April, 2017

User Interface Usability Checklist Part 2

So you made it through part 1 of the usability check list, how about part 2?
21. Poor Label Alignment If you have been through design 101 you have probably heard of the wonderful acronym for the basic principles of design, C.R.A.P. This of course stands for Contrast, Repetition, Alignment and Proximity. Proximity is very important when identifying which label belongs to which input. Each different form of alignment has its advantages and disadvantages.

Left Alignment The label appearing on the left of a box is a common practice. This often helps with vertical space and keeping all of the elements of a form on a single page, which can be beneficial in aiding the user in form completion and making them aware of all of the possible options they can, or made need to provide information for. It does however have a few disadvantages.

Long labels cause short label's input boxes to be far away from the end of the label, this damages that basic principle of proximity. In extreme cases it c…

Procedural VS Object Oriented

What is the correct way to write code? If you have worked with PHP long enough you may well have come across the website PHP The Right Way. This website is dedicated to helping developers learn the industry best practices. Interestingly another site appeared afterwards called PHP The Wrong Way. In essence this website is a rebuttal to the many of the recommendations made in PHP The Right Way.

With any sphere of learning it is important to keep an open mind, to listen and critically evaluate the received wisdom and determine if it is indeed wisdom or opinion built on shaky ground. There is one part of the argument I would like to focus on and this is the argument for and against "Always use object-oriented Programming".

While PHP The Right Way does not appear to explicitly state that you should always use an object oriented approach it is implicit from the examples and the recommendations to use design patterns. While there are programming approaches available other than pro…