Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 303

Warning: Illegal string offset 'dlprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 304

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 305

Warning: Illegal string offset 'comprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 306

Warning: Illegal string offset 'comautprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 307

Warning: Illegal string offset 'blogrollprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 308

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 309

Warning: Illegal string offset 'userv2' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 310

Warning: Illegal string offset 'extrase' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 311

Warning: Illegal string offset 'imagese' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 312

Warning: Illegal string offset 'admintracking' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 313

Warning: Illegal string offset 'trackoutbound' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 314

Warning: Illegal string offset 'advancedsettings' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 315

Warning: Illegal string offset 'allowanchor' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 316

Warning: Illegal string offset 'allowanchor' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 592

Warning: Illegal string offset 'trackoutbound' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 596

Warning: Illegal string offset 'trackadsense' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 605

Warning: Illegal string offset 'position' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 608

Warning: Illegal string offset 'position' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 608

Warning: Illegal string offset 'trackregistration' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 613

Warning: Illegal string offset 'rsslinktagging' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 616

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php:303) in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/wordpress-automatic-upgrade/wordpress-automatic-upgrade.php on line 121

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php:303) in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/wordpress-automatic-upgrade/wordpress-automatic-upgrade.php on line 121
Zach Shepherd's WordPress Blog » Web Development
Warning: Illegal string offset 'uastring' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 413

Warning: Illegal string offset 'uastring' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 342

Zach Shepherd's WordPress Blog

Just another WordPress weblog

Sunday, April 20, 2008

Version Targeting


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

One hot topic in the web development world since I last posted was the version targeting in IE debate. People more knowledgeable than I have already spoken on the issue, and I’m really not quite sure what to think, so I’ll just provide some links.

Some links related to the issue:

posted by Zach at 2:42 pm  

Sunday, April 20, 2008

Accessible Charts


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

In the latest issue of A List Apart, Wilson Miner write about Accessible Data Visualization with Web Standards. Using XHTML and CSS, he manages to produce some very nice charts. They aren’t nearly as fancy as the Google Charts API or Open Flash Charts, but they are accessible and simple (from a markup standpoint as well as an implementation standpoint).

posted by Zach at 2:41 pm  

Sunday, April 20, 2008

Offspring


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Back in February, I read an interesting article by Alex Bischoff on A List Apart entiled “Keeping Your Elements’ Kids in Line with Offspring”. He proposed a (not-so-original) way to circumvent browser css pseudo-class inconsistencies (using javascript to apply full classes as appropriate), but applied it to something new: the offspring pseudo classes (:first-child, :last-child, :only-child, etc.). The javascript files to apply the classes are available through Google Code.

As painful as it is to need to use javascript to enhance static styling, I think he hits the nail on the head with his mention of progressive enhancement. I can envision a variety of cases where the pseudo-pseudo-classes could be utilized to enhance display while still keeping the page functional for users without javascript. I can’t wait to see what the design world comes up with once more of css3 is supported.

posted by Zach at 2:37 pm  

Friday, November 30, 2007

Keep Apache from Displaying File Backups

It recently came to my attention that many people are unaware that apache will display the contents of a backup php file (e.g. “my1337password.php~”or “my1337password.php.bak”). This is because it doesn’t associate these files with the php parser. This can be easily prevented with a simple addition to the httpd.conf.

Example:
<Files ~ "\.(php|inc|config|cfg)(\~|\.bak|\.backup|\#)$">
Order allow,deny
Deny from all
Satisfy All
</Files>

posted by Zach at 11:52 pm  

Saturday, October 6, 2007

Web Accessibility and the Americans with Disabilities Act


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

It seems that lawsuits over in-accessible commercial websites are becoming less uncommon. The outcome of these lawsuits (and the subsequent appeals) will determine if the Americans with Disabilities Act will be enforced in the field of web accessibility. Currently there are a variety of governmental policies related to accessibility, but the outcome of the Target lawsuit will set the stage for the future.

Many web development “professionals” don’t give topics like accessibility (or standards compliance) the attention they deserve. (If you’re wondering why I stuck professionals in quotes, the article A web professional never stops learning may shed some light on the subject.) I’ve found that many people in the business world don’t understand the importance of standards compliance and accessibility in website development. They simply go for the “best” (cheapest, easiest, and fastest) solution without realizing that they’re being cheated; all they end up with is a poorly engineered site that eventually needs to be replaced. Web developers need to educate each other about the necessity of good development practices, and then they need to educate their clients (and potential clients).

posted by Zach at 8:55 pm  

Sunday, September 30, 2007

Debugging Long MySQL Queries

I’ve found myself debugging long (several hundred lines when written neatly) MySQL queries the past two nights, really wishing I had some tool that would allow you to step through the query (sorta like gdb, but for sql). If anyone knows of such a tool (or has any tips on preventing issues dealing with arithmetic involving NULL), I’d be interested to hear from you!

If anyone stumbled across this hoping for suggestions on how to handle this, check the comments to see if anyone had any advice for me. My only suggestion is to start at the deepest query/queries and work your way out…

posted by Zach at 11:25 pm  

Saturday, September 29, 2007

Project Management


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

A recent article on A List Apart made some interesting points about project management. The article, Hat Heads vs. Bed Heads, used the metaphors of “hat heads” (representing the management side of the project team) and “bed heads” (representing the creative side of the project team) to talk about how to manage projects at an overview level. While it’s an article mostly targeted at large development teams in an industry environment, much of the content is applicable to smaller teams and other environments. I’m not sure that I agree with all of the details, but it’s certainly an interesting perspective on the matter.

Edit – Looks like when I changed the wording of my second sentence, I didn’t do it very well.

posted by Zach at 12:08 am  

Sunday, September 2, 2007

The Importance of Information


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Information is invaluable in any field, and it is especially so in one structured about information itself, such as web development. As Shane Diffily talks about in the A List Apart article Educate Your Stakeholders!, everyone in the entire website creation process needs to be sufficiently well educated about the process and the decisions involved in it. I’ve seen many cases where the process skips from a client requesting a website to the client being asked for a description of what they want. They don’t know what they want. It isn’t that they’re unintelligent, it’s just that they’re often uneducated or poorly educated at best about the process, the possibilities, and what they need to consider when making decisions. Somewhere along the line, the client needs to get the information necessary to make informed decisions.

posted by Zach at 4:02 pm  

Sunday, September 2, 2007

WCAG 2.0


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

There have been a variety of articles floating around (some for quite a while now) about WCAG 2.0 discussing a variety of issues with the guidelines. In reading those (and the draft guidelines), I’ve formulated some of my own opinions about the guidelines.

But first, some background. In the late ’90s, the W3C created a new working group, the WCAG WG, as part of the WAI. The WCAG WG was tasked with the creation of the WCAG, a set of tiered guidelines for web developers to use to ensure the accessibility of their content. The first version of these guidelines, know as the WCAG 1.0, were completed in mid 1999. A year and a half later, in early 2001, development began on what would come to be the WCAG 2.0. Work on these guidelines continued through early 2007, when a “final working draft” (basically what is intended as the final version before submission for approval) of the guidelines was released. It was met, to put it mildly, with wide criticism and, to put it more realistically, outrage. That brings us right up to around now. Amazing how history works.

And now, my opinion on the matter. In order for the WCAG to be of any use, they (the guidelines) need to do four things (some of these things they do, others they don’t):

  • Be guidelines
  • Address accessibility in a clear way (be accessible themselves)
  • Be useful
  • Be broad, but not too broad

Be guidelines

Guidelines are not rules. They do not need to be enforceable. They should serve as suggestions for ways to improve the accessibility of web content. (What a crazy idea; the Web Content Accessibility Guidelines should be guidelines about the accessibility of web content!)

Address accessibility in a clear way

Accessibility is what Accessibility Guidelines should be about. That should be the main criterion for inclusion of a checkpoint (or whatever term is deemed most appropriate) not whether it shifts the balance of the document to specific disabilities or whether it can’t be easily tested.

The guidelines also need to be kept to a reasonable length. 10% of the current size (~50 pages) would be more reasonable than the the current size (~500 pages), which few people will ever read (I’m trying to wade my way through them, although it may take a while).

Be useful

There needs to be a big push made to educate those in fields dealing with the creation of web content about the existence about the WCAG and the WCAG needs to be in a format that is useful to them (see the discussion of length above). The idea of companion documents is a noble one, but it has created far too much (and sometimes contradictory) material.

Be broad but not too broad

They need to be technology independent. They really do, but they can’t be so broad as to cover absolutely every detail of everything (see the discussion of length in “Address accessibility in a clear way” above). Accessibility isn’t something that varies from one web medium to another, so why should the guidelines? One of the most popular arguments against technology independence is that more useful guidelines can be created in a technology specific document. Maybe we do need technology specific clarifications, but that isn’t the purpose of the WCAG. It’s purpose should simply be to address the accessibility of all web content in a clear, concise way.

Some of the “variety of articles” I mentioned:

posted by Zach at 1:10 pm  

Sunday, September 2, 2007

Undo as a Standard Feature


Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Warning: Illegal string offset 'artprefix' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 478

Warning: Illegal string offset 'dlextensions' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 452

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 455

Warning: Illegal string offset 'domainorurl' in /home/ei8htball1989/zjs.name/blog/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 457

Why isn’t undo a standard feature in every user interface? I can’t speak for the rest of the human race, but I know I’ve made my fair share of mistakes selecting “Okay” on those annoying pop ups. It’s entirely automatic; you see a pop up, you skim it and hit okay, only pausing to think about what it said after it’s too late. As Aza Raskin says in the A List Apart article Never Use a Warning When you Mean Undo, people form habits of simply clicking okay without pausing to think about the consequences, and there’s no good way to force them to stop and think. Because of that, providing the ability to undo a possibly dangerous action is just as important (if not more so) than warning users of the danger in the first place. Why not take them time to add the undo and make the application a little more user friendly?

posted by Zach at 2:30 am  
Next Page »

Powered by WordPress