Our Web Strategy section is about making sure your web site is doing the right things. Web sites don't exist for their own sake, but as part of a communication strategy to deliver a message and more importantly to engage your audience in a conversation. In some circles this is called "marketing", but it is much broader and more important than just selling a product or raising awareness. It's about spreading knowledge and inspiring action. Effective web sites empower and inspire people to take action.
Our Web Development section is about doing things right. Highly effective, low-cost, high-performance web sites are the result of good architecture and the proper application of web standards, not tricks and hacks. When you understand the core principles of effective web development, you can create valuable, effective web sites with great speed and reasonable cost.
Although Movable Type is a fine blogging tool, I decided to build my own. Here's why.
In which our hero counts off the list of inspirations and irritations encountered while blogging with Movable Type.
In which I am inspired by my fellow Perl hackers to write blog posts and code using the Moose object system for Perl.
If you are concerned with mobile web performance, read this! Bookmarklets in the mobile browser can gather stats and report them to Jdrop in the cloud, where you can return to analyze them.
JavaScript form validation for Django forms.
Simple two-phase template rendering application useful for caching of authenticated requests.
DOM Monster is a cross-platform, cross-browser bookmarklet that will analyze the DOM & other features of the page you're on, and give you its bill of health. If there are problems, DOM Monster will point them out—and even make suggestions on how to fix 'em.
Modernizr adds classes to the <html> element which allow you to target specific browser functionality in your stylesheet. You don't actually need to write any Javascript to use it.
Small set of useful Django tools that are nonrel-compatible. Includes a middleware that dynamically changes the SITE_ID per-request (apparently in a thread-safe way!) so you can serve multiple sites with the same process.