May, 2008

A Business Case for Standards-Based Design

What is “standards-based” design?

In an attempt to end the “browser wars” of the late nineties and early 2000’s, the Web Standards Project (WaSP) was formed, which advocated the use of technology standards recommended by the World Wide Web Consortium (W3C). These standards were created to help developers and designers expedite the production of websites, as well as serve as a guide for browsers to interpret and deliver website in predictable and consistent ways. Prior to this, each browser manufacturer deciphered websites differently and incorporated proprietary code that, more often than not, did not render or even function on the competing browser’s platform. Thus we had websites that worked in Internet Explorer and broke in Netscape and vice versa. Developers were forced to create elaborate detection scripts that had to be updated with each new browser release, or simply decide not to support the competition (e.g., remember the “best viewed in Internet Explorer” disclaimers?).

Why Should You Care?

All of this probably seems a bit esoteric to the average web surfer, and even the business power-user is probably saying “so what?”. After all, if it looks good in your browser, what’s the big deal? However there are a number of issues you should be concerned with if your company’s website is not adhering to web standards.

Accessibility

Your company may not be a non-profit, government-funded enterprise, or required by law to provide equal access to the disabled, including the blind, elderly and those with limited motor skills. However, it is not just these organizations who are subject to the scrutiny of lawyers. In one noteworthy case, Target was sued by a blind person who could not access their site with screen reading software. In addition to the litigation, Target is still recovering from the negative publicity generated by this case. Being viewed as ‘unfriendly’ to the handicapped is an image that very few companies can afford.

Beyond the chance of being sued, there is one “blind” user that almost no one can ignore. Google’s web crawlers, the ones that actually track and rank your site in search engine results, are essentially blind in the sense that they do not use traditional inputs (i.e., mouse, keyboard) to traverse your site. Navigation menus which rely on javascript (e.g, many drop-down or “fly-out” menus) as well as many flash based sites completely deter these crawlers from accessing your site, reducing your search engine rankings significantly.

Cost & Maintenance

With the ubiquity of broadband and online storage becoming cheaper it may seem that the days of optimizing your site to download quickly on dial-up modems are gone. However, while bandwidth is expanding, so are the media, content, and functional requirements that users expect. Streaming video and websites that perform like desktop applications are commonplace and require sophisticated development and delivery strategies. Standards-based development results in more streamlined code that is easier to troubleshoot and maintain, and more easily ported across multiple platforms and user-agents (e.g., PDAs, mobile devices, etc.). Moreover, bandwidth is still typically being charged on a per/use basis. The more hits your site gets, the more expensive it becomes to deliver your content, so having optimized code can result in huge cost savings over time.

How can we help?

The user-centered philosophy that Duo employs affects many facets of the interactive design process. Beyond simply making sites that are intuitive, easy and fun to use, the techniques we employ to construct sites is integral to the fulfillment of our vision. Unobtrusive javascript, progressive enhancement, and semantically meaningful markup will ensure that your site performs well and is available to the widest possible audience.

Add a Comment (1)

The Best Deal in Town

Chicago Public Library Website“The economy and a newly designed Web site are being credited for a dramatic increase in interest in the Chicago Public Library system,” WBBM’s Bernie Tafoya reported last month. In this interview, You can reserve a book, CD, or DVD online, and if it not available it will be delivered to the library branch of your choice and you will be notified by email.

The Chicago Tribune, in a recent article about this Find it, Chicago service appropriately labels it “NetBooks” because it offers the functionality of NetFlix without the subscription fee. At Duo we’re just glad that the thousands of hours spent learning about users needs, designing the new interface, and developing the enhanced functionality has paid off for the Library and citizens of Chicago.

Add a Comment (1)

A Brave New ‘Hello World’

PHP LogoLast week IBM’s developerWorks ran an article about The Future of PHP about the upcoming PHP 5.3 and 6.0 releases. While the new features in PHP6 may be underwhelming in terms of sheer quantity, the release marks a major milestone for PHP: Unicode support. Since Unicode recently surpassed other character encodings on the web, having every PHP function support Unicode will greatly improve the ease at which content may be managed within an application. There are numerous other efficiencies and optimizations added as most of PHP’s built-in functions have been overhauled, which should increase performance for existing code, as well.

What’s in a name(space)?

The biggest gain in PHP’s upcoming releases, however, is the addition of namespaces to the object model. Because class names must be unique, we’ve previously had to use naming conventions as workarounds to avoid naming collisions (which could be common when you include third-party class libraries), writing classes named such as:

class DuoConsulting_WebService_Xml_Parser

With namespaces, you can specify a namespace to keep class names shorter and saner:

namespace DuoConsulting::WebService::Xml;
class Parser
{
...
}

Then when you use these objects the code is more readable and less error prone. You can also use aliases to assign a shorter keyword to a long namespace:


use DuoConsulting::WebService::Xml as xml;
$parser = new xml::Parser();

You can read more about the PHP 5.3 implementation of namespaces in the CVS repository.

What’s Missing?

Nearly all of the features that have been removed in PHP6 were already deprecated in PHP5, which means you probably shouldn’t have been using them for the past three years anyway. Most PHP5-only code (such as the Zend Framework) should require no modifications, whereas some code ported from an older PHP4 codebase may need to be updated to run in PHP6. Since it was bad practice to use the vast majority of removed features even in PHP4 (such as <code>register_globals</code> which automatically created new variables based on GET and POST parameters such as those passed through a URL or web form) their removal should only reinforce better coding practices rather than break existing applications.

The near future looks bright for PHP, and since the biggest changes to the language are going to be coming in the next major point release, I suspect it may not be long before 5.3 is the de facto minimal version under which a number of applications will run.

Add a Comment (1)

Embrace Constraints - They’re Your Best Friend.

You’re at the point in the discovery phase of a project when you learn your client has a limited budget and their site needs to be live in weeks. “Argh” you think to yourself - if they only had a longer deadline and more cash we could really do a knock out job and not sacrifice all the whiz-bang features.

Constraints are an unavoidable reality of every project. Instead of wishing your client had more resources, stop and embrace the project’s constraints. Having too little time and money makes you examine the goals of your project and helps you create simple and efficient ways to solve your client’s problems.

Possibilities are endless but constraints are knowns that force you to focus on core issues of the project while cutting out all of the extraneous background noise of the “bells and whistle” features that are usually non-essential to solving the problem.

We recently took on a project for the Illinois Institute of Technology who had an extremely tight deadline to get a site up to promote a new university-wide planning process aimed at reestablishing IIT as a major force in higher education. The site was intended to give background on the plan and solicit opinions from its faculty, staff and students. Here our major constraint was time. From project start to project completion we clocked in at just less than three weeks turn around, successfully getting a site up that would provide as a means to inform and gather feedback for IIIT. The site is simple and focused but most importantly it solves a problem for our client.

“Man built most nobly when limitations were at their greatest.”
— Frank Lloyd Wright

Add a Comment 

Local Indiana Blog Gallops Ahead on Primary Coverage

If you wanted to know the absolute latest information on what was happening in the nail biter Democratic Primary in Indiana, there was only one source. And it wasn’t CNN or FoxNews. It was a blog from The Times in Munster, Indiana. And Google returned the blog as the second choice for the search “Indiana Election Results”

One commenter’s opinion:

Melvin Says: May 6th, 2008 at 11:00 pm

“BTW- I have definitely switched from both CNN.com and FoxNews.com to your website- much much faster updates! Kudos!”

 

Add a Comment 

It’s official, unicode wins!

A post over at “The Official Google Blog” points out that unicode is the most widely used character encoding in indexed pages. It’s about time! Read more here.

Add a Comment (1)

How does my website compare to …

I suppose website benchmarks are inevitable. They worry me. But everyone wants to know how they “shape up.” If you have benchmarks, people may come to believe a popularly quoted performance measurement is important even if it has nothing to do with their website. And worse, one might believe that a certain achievement level, usually represented by a number and often carried to two decimal places, implies a precision that is simply untrue. Benchmarks worry me.

So it is with some chagrin I found myself partying last Saturday night with Google Analytics and their benchmarking feature which is still in Beta (i.e. pre-release but available to the masses). The quid pro quo deal is if you agree to share your site’s analytics to an anonymous data pool, you’ll have access to a selection of website parameters and data aggregated from other sites in the data pool. And here’s the cool thing – in a web analytics geek kind of cool. You can benchmark your site against any of a selection of other sites that you desire. For a hobby site I manage, I benchmarked it against other Recreation > Outdoor > Hiking & Camping sites of similar size to my site.

Looking at the results for my hobby site against Google’s benchmark performance charts, I felt pretty good about the warm fuzzy green (not red) plus signs & numbers displayed to two decimal places. For a given parameter my results are 134.15% better than the benchmark. And that’s exactly the problem! You have to ask yourself, “So what?” Unless you’re a corporate dweeb who takes pleasure in reporting meaningless numbers to other people who are similarly clueless, benchmarks may lead you toward unearned complacency or needless distress. Benchmarks worry me.

I think the alternative to benchmarks – or perhaps the complement – is two-fold. First, identify the key performance indicators (KPI) that are important to you and to your website’s performance. If the Google Analytics parameters can inform your uniquely defined key performance indicators, then great. Second, think Personal Best. Keep working on your site to improve its performance metrics that you’ve identified to be important. Don’t just be better. Be the best you can be.

Add a Comment (1)