Site Design

I prefer to build using WordPress – it allows my clients to run their own site, but not become a geek to do it. If a client just needs a ‘flat’ html website, I prefer to build it the old-fashioned way: text editor.

I began (long ago!) using Adobe SiteMill (distant ancestor to GoLive), which was a good starting point, but was quickly surpassed by newer programs. After several years in a fast-paced corporate environment I gave up on GUI editors and now create code almost exclusively in plain text using BBEdit. In my opinion, good old HTML/CSS is best. Simple, fast to write and when formatted properly, a snap to read.

Customer Service Philosophy

The customer is always right. I find that the people I work best with have strong opinions, but are open to new ideas. I will always support a customer in doing what they want and try my best to encourage them towards best practices. I believe that the work itself is most important, for that reason, my rates are very low comparatively. I’d rather spend more time crafting a site and making it perfect. In this age of guaranteed payments and corporate contracts, I have a very simple philosophy: Not happy? No charge. Any time you’re not satisfied with work I’ve done, just say so and it’s no charge. You don’t get to KEEP the work (you didn’t pay for it), but I will not create something for a customer that they don’t like and then insist on payment. For this reason I’m very picky about my clients. I have very rarely had this offer used.

Personal Philosophy

A website should be attractive on ALL levels: user interface, function and code construction. An ugly website is an abomination. An ugly slow website is a cursed thing that hurts everyone involved and lowers the quality of the Web in general. I try to bring craftsmanship to the web. I build using standards so the work will endure reasonably well. I encourage customers to take charge of their own sites and build with maintainability in mind.

Equipment

I work primarily on a Mac- a Mac Pro, dual 3GHz quad-core processors with 4Gb of RAM, two 20″ Studio Displays. I’m currently running Mac OS X 10.5.6 (Leopard) and love it. I’ve used Macs since the 128K toasters and OS X literally -is- better than sliced bread – just harder to spread peanut butter on. Since the web is still PC-dominant, I always double-check designs on a PC (WinXP Pro running on Fusion). If a site doesn’t look good on a Mac, it’s a problem, but if it looks bad on a PC, you’re toast – burnt toast.

Software

On the Mac:

BBEdit by Bare Bones. The first and still the very best. Try it’s little brother, TextWrangler! To access files, I use Interarchy by Stairways Software. I also recommend Transmit by Panic or RBrowser or Cyberduck.

On the PC:

I use TextPad, an excellent shareware tool. For FTP I recommend FTP Explorer or WS_FTP by Ipswitch.

Other technologies

I use JavaScript to do automatic navigation highlighting (You are here) and form validation. I try to keep my scripts short and sweet and all in one place for ease of upkeep. I use a little PHP (mostly query-based) in my sites, but definitely plan on doing more. The Luna Beach Gallery is a PHP application that allows users to manage their own gallery with an absolute minimum of muss and fuss. While there is some Flash in sites I oversee, I don’t do Flash myself – yet. I’m currently self-teaching it with the aid of a mentor. My galleries use ‘Simple Viewer’, a combination PHP script/Flash viewer. It’s sweet!

Browsers

I test against these browsers: (note: I try to use relatively-current browsers, but I’m usually at least one version back from the ‘bleeding edge’.)

On the Mac:

  • Safari – v3.2.1 – (Apple’s supplied browser)
  • Firefox – v3.0.7 (instead of Mozilla or Netscape)
  • Opera – v9.50 (Superb browser!)
  • Internet Explorer – Microsoft no longer supports this free browser on the Mac –
    and neither do I.

On the PC:

  • Internet Explorer – v7
  • Firefox v3.0.7

Architecture Fundamentals

  • SSI: Server-Side Includes. Whether on Unix or PC, includes make a site modular. Updating common elements becomes much easier. Also, with judicial use of styled divs, some design elements can be used in multiple places, thus further simplifying maintenance. (Footer navigation that echoes primary nav comes to mind).
  • CSS: Cascading Style Sheets. All modern browsers (v6 and up) support CSS, which allows page layout without using tables. By using named DIVs that are defined in a separate style document, structural changes to a site can be done globally. My personal site is very simple visually, but complex layouts are easily possible.
  • Tables for Tabular Data: Tables, IMHO, should be used for their original purpose, tabulating data. Period. Occasionally I’ll be forced to use tables for something CSS doesn’t do well, but I try to hold to this rule as much as possible.
  • No Graphics for Text: I’ve built way too many sites that had text-as-graphics used in blocks for navigation elements. Painful to update and consumptive of bandwidth. Unless someone is totally married to a typeface, I try to use standard fonts. I believe that one day the font issue on the web will be solved, but for now there’s plenty of basic fonts available for design.
  • Logical Directory Layout: I try hard to organize a site so that the architecture is ‘visible’ immediately to a fellow developer. Navigation elements (included files), as much as possible, go in a folder called ‘nav’. Images, media, etc, go in a file called ‘resources’. This simplifies life for the client when maintaining the site. One look at an image url on a site I’ve built will show you how I organize. I believe that site architecture is crucial and should be addressed at the basic design level, it makes for faster development and better maintainability.