Archive for May, 2007
Monday, May 28th, 2007
PART 1
About a year ago, Zend released the specifications of its PHP IDE, Zend Studio, publicly. I think they did this to help increase the quality of the open source PHP IDE's out there. While this does mean more competition against their IDE, it also means more companies will be willing to move to PHP. And more companies moving to PHP means they make more with their real money maker, Zend Accelerator.
So after being away from PHP for almost a year, I expected to finally find a free PHP IDE out there that was actually worth using. But what to I find...crap. Useless crap. While there have been some improvements in other IDEs in the last year, none were really made where it matters most, CODE COMPLETION. To me, this is the most important tool a developer can have. Nothing improves productivity more...especially when you're dealing with a language like PHP, which has no naming convention standards. Even of the IDEs that did offer code completion, none do it as well as Zend Studio, which knows how to parse user code and documentation to add to the code completion.
PART 2
So finally, after breaking down and installing Zend Studio I start to work on a project. For those of you who haven't worked on this project yet, its using WordPress, an open source PHP project. I tried to find already made plug-ins to add to fill in as many of the project requirements as I could, but when it came down to it, I couldn't avoid going into the code. When I did, I found what I always find in open source PHP projects, really old code. By really old code, I mean the code still follows PHP 3 standards, which were poor at best. These are some of the things that annoy me the most:
-Almost every function you find starts with the line:
global $foo, $bar, $user, $data;
Why have parameters to a function if you're just going to make all the variables global anyway?
-No functions or modifiers in classes. Which makes sense, the idiot that made this class doesn't seem to know the difference between static and non-static functions anyway.
Error: Cannot use the identifier $this in a static function
Oh...I have to make an instance of that object before I can use the function....then why the hell does the function make me pass in all the properties the object already has?
-And my favorite, the ever fun GetData() functions. What is data? Oh..its an array. Whats in the array? Who the hell knows, you have to run it once with and plug in a var_dump to find out. This is why they added classes to PHP, stop making everything an array.
Posted in Development | Add a Comment »
Wednesday, May 23rd, 2007
UX Matters posted an article back in December about Agile Software Development vs. User Centered Design and whether they can co-exist in a project. The core of our development process around here is and will be user-centered design. Web sites are nothing without users so we want to make sure it's easy for them.
Agile Development, or really the philosophy of "do instead of document" calls for a short development cycle on features and face-to-face communication. Limiting the documentation of the process is contrary to UCD (think wire frames, content structures, personas, design briefs). UXMatters has some interesting thoughts on how Agile Development and UCD can play together.
Thoughts? How can the process be streamlined between the planning and the doing and still keep usability at the forefront.
Posted in Usability | Add a Comment »
Thursday, May 17th, 2007
Cameron Moll over at Authentic Boredom makes an interesting point of not starting project planning with things that WILL work, but rather with what WILL NOT work. It's an interesting take considering instinctively I want to start listing relevant, plausible ideas for the project and not waste my time with things that don't work.
What I need to keep in mind is the quality of the items I list that won't work. It's not like I'm going to be planning out a site and start listing out "Interactive Flash Game, Stock Ticker, Fandango Movie Search." I know those things aren't going to work right off the bat. It's like me listing out things that WILL work and listing out "Effective Design and Good Content." No shit those will work and listing them won't help with making the site "Great."
Changing our perspective on these things can help make sure things aren't getting stale.
Posted in Development | Add a Comment »
Sunday, May 13th, 2007
Margins and leading (line-height for those who prefer CSS) are two things that can be an afterthought when it comes to implementing a design. I know of plenty of times when I'd be integrating a site and give little thought to the line height or the margins in certain areas. But, time passes and I've learned that consideration to typography and things such as margins and leading actually do make a difference in the user's experience on the site. Consider the following four images:
Good Leading, Good Margins

Good Margins, Bad Leading

Good Leading, Bad Margins

All around terrible

Witchita State University conducted an experiment to find how leading and margin affect the ability to comprehend. The basic gist is that as the margins get wider a person is able to read less words per minute, but their comprehension level increases as the speed decreases. Read about the entire study here. And get those margins in there and space out those lines.
Posted in CSS | Add a Comment »
Monday, May 7th, 2007
For any true Tron fan we have the Tron Font

Posted in Design | Add a Comment »
Monday, May 7th, 2007
You can argue that Web 2.0 is just a fad, but when you see a site like this it just makes you smile.
I give you: You Park Like an Asshole
Posted in Random Stuff | Add a Comment »
Thursday, May 3rd, 2007
Always in search of a nice icon set here's a nice 10x10px grayscale icon set. No anti-aliased edges here so transparency is e-a-s-y.
Courtesy of Brand Spanking New
Posted in Design | Add a Comment »
andrew:
hey mike -- thanks for the reply, let me clarify what i mean.... I know that PHP fu...
nick:
Hi Jeff, Thanks for the heads up on the link. It's all fixed now and you should...
Jeff:
I would love to try your plugin, but the download link appears to be dead again. Ca...
mike:
@Denise: 1. The image is selected randomly each time the code is run. So normally ...
andrew:
hey -- great plugin and would like to use on several different pages, not just the ...