How I Operate

NOTE: I no longer offer these services, and these pages are online for consistency/permanence’s sake only.

A number of things drive the way that I work with and for clients and myself. I always try to keep these things in mind when going about my business, and it shows through in the work that I produce, and the solutions I come up with.

Open Source

I am a firm believer in Open Source technologies and the open source mentality in general. Think of it as democracy for code. From the Open Source Initiative website:

Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.

Wherever possible, I make use of open source options over their closed-source alternatives. This includes everything from the operating system (CentOS/Debian/etc), the database and web servers (MySQL and Apache, respectively) and the programming language (PHP) through to the implementation of open standards like OpenID and OAuth. I even tend to use open source tools (like Trac, Subversion and Firefox) as part of my development process where possible.

User-Centered Design

UCD is something that I factor into all development and design work that I do. All-too-often, developers neglect to think about the people who will actually use the system they are developing. Whether you are making an email newsletter, a database-driven information site, or a complete online application, there is always someone who needs to be able to use it for something, and they are often ignored in preference of business objectives. You can’t force people to use a system in a particular way. You can use knowledge of the way a system is used to your advantage.

Standards-Compliant & Semantic Markup

I hear a lot of front-end developers (or designers) saying things along the line of “I only develop for Internet Explorer” – I think that’s a very big mistake. That attitude is based around the idea that Internet Explorer is the dominant web browser in the market (which it is). The problem with that is that it may not be the most popular browser for long, or other browsers may gain more market-share (Firefox anyone?), which will mean that your previously-90%-compatible web site will start breaking as that browser’s market-share dissolves. I develop everything using web-standards such as XHTML, CSS and table-less layouts. By using these standards, I am making sure that if the dominant browser changes, it won’t matter, because your site supports the standards which new browsers are being written for. Using these standards also means that it’s normally a lot easier to use the same content on a variety of platforms/mediums (try printing a page from this web site to see what I mean).

REST

REpresentational State Transfer is a fancy name for the basic structure of the Internet. I combine this structure with some usability/IA ideas and apply them to all sites and applications that I build to provide for things like:

  • Permanent URLs where possible
  • Human-readable and logical directory structures
  • URLs which don’t unnecessarily expose the technology behind the site (which could cause problems if that technology changed)
  • URL-addressable applications

Search Engine Optimization

By combining the REST principles mentioned above with the standards-compliant and semantic markup I use, the sites that I build will generally perform quite well in search engines. I always take extra time and care to ensure that systems I build take search engines into consideration and are “spider-friendly”. I can help tune your site to squeeze more traffic out of the search engines and get more people who are interested in your content coming to visit.

Web 2.0

When appropriate, I make use of all the latest and greatest buzzword-compliant technologies :-). Wikis, blogs, AJAX, AJAH, jQuery, user-generated-content, etc etc etc. I’m thoroughly versed in all that good stuff. My background in online collaboration and community building means that I’m applying these technologies not just because they’re “hot”, but because when used judiciously, they can greatly improve the experience of users on your online properties.

The Cluetrain Manifesto

This is an excellent book, which is based on the web site http://www.cluetrain.com and its 95 theses. Read them. They embody a large proportion of the way I think about new media and its use in business. If you have never thought about things in this light, then it’s about time you did. If you don’t like it, then you probably don’t want to work with me and my “whacky ideals”. (Although the Cluetrain sounds a bit “duh” to a lot of people now, it was absolutely ground-breaking when it was first released. Try to think back and imagine a world where it was actually necessary to produce a manifesto of this nature to see how far we’ve come.)