Wednesday, March 4, 2009

Don't use links that open in new windows

As a web developer, I long ago learned that is just bad practice to open links in new windows. If you're wondering why here's a short list:
  1. Most web users don't really know what they're doing. But they know how to use that Back button. When you open a window up in a new window, you're automatically getting rid of the browser history for that user.
  2. As an advanced web user, I personally abhor websites that do it. I like tabs and sometimes I like to open new windows. That choice should be up to the user, not the designer.
  3. Don't forget about accessibility. You'd be amazed at how many web users need assistance. Its hard enough to enjoy websites when you are visually impaired, don't make it harder for them.
  4. You're probably trying to get the user to stay on your site, but when a new window opens, you are actually increasing the risk that they leave your site for good. If they close the wrong window say bye-bye to that customer!

Why I like CakePHP

There are always so many debates about which framework to use and why. Personally, I really like CakePHP. Although I've tried CodeIgniter and CodeLobster, CakePHP just works for me. Here's why:
  1. The framework truly adheres to MVC structure. I can break away from that structure when needed, but when you have to come back to a website that you haven't worked on for over 2 years, its nice to know exactly where to find everything.
  2. Their use of Object Oriented Programming is awesome. I must admit, it took awhile to get the ins and outs down, but once you know what each object does, it is soooo easy to find what you are looking for. Half the time, you can pretty much guess what to code and since CakePHP adheres to a strict OOP standard, you're usually right!
  3. CakePHP loads in the model. At first this might seem annoying, but if you know the structure of your database very well, this is feature is so great to work with. When you have a data driven website, you are programming based upon the data that you're pulling. Not having to type in extra lines cannot be overlooked.