72,000 visitors in 2008

Well I didn’t make 100,000 visits as I hoped but I got close.  As of yesterday’s stats I had 98,517 visits from 71,701 visitors according to Google Analytics, plus today will be 300 or so.  Other stats: busiest day (4 March) 403 visits from 348 people, quietest day (28 December) 101 visits from a mere 88 people.

The average visit is 4 pages in about 4 minutes.  An ad gets clicked on 2% of the time it’s shown, so roughly 8% or one visitor in 12 clicks on an ad, which indicates they’re pretty well targeted.  Just under half the people (46%) leave in under 10 seconds, but some of these might very well be people who immediately clicked on the site they were looking for.  So I’m going to count some of them as satisfied customers (Google rather disparagingly calls this the ‘Bounce Rate’).  
You can see Internet Explorer’s market share slipping before your eyes: in the first three months of 2008 it was 55% IE, 33% Firefox, in the last three months it was 49% IE, 38% Firefox, while Safari and Opera had about 5% each, and Chrome, 2%.  And I’m pleased to see the Macintosh market share increase over the same period, from 7.1% to 8.9%.  Even a few iPhones in there, including mine.
Goals for 2009:
  1. 100,000 visitors
  2. 5 minutes and 5 pages per visit
  3. Less than 40% bounce rate
These are ambitious goals but I’ll try to make them happen.  I made a start this September when I redid the site design and colors.  I hadn’t changed anything since 2002 and it was showing – for the first time, I had fewer same-month visits, by 13%, than the previous year. 

After  making the changes, over the past month I have 6% more visitors than the same period last year.
Hopefully this indicates I’m on the right track.

Wider Pages, Immediately Filled

I’ve widened the page layout to 920 pixels, from the previous 728 pixels which is the width of a Google ad block (seemed as good a width as any to choose).  However some pages, particularly the ‘Programs’ page, were looking squashed.  I looked at a few high volume sites (New York Times, Facebook, EBay) and they seem to have settled on 1000 pixels as the default width – any less than that and you get horizontal scroll bars.  My website stats tell me that 98% of visitors have a horizontal screen resolution of greater than 1000 (though 20% are just over, at 1024 x 768, boy it’s been a while since I saw a screen that size).

So 920 is the new width, though using the awesome ‘Inspect Element’ tag in Google Chrome, I can see that some pages appear to spill over a little.

(In the course of this, I read how to simulate the missing ‘delayed capture’ feature in the otherwise great Vista ‘Snipping Tool’.  Open Snipping Tool, press Esc, compose your picture, press Ctrl-PrintScreen to freeze as-is, drag over the now-frozen screen to capture).

Now that I have additional width, I immediately filled half the new space with icons.  I’ve resisted using them to now, partly to get more information in per line, and partly because I think that a textual interface is more efficient.  But I have to admit that well-designed sites that use icons well, do look better (and now I’m half-way there, in that I use icons.  Now I just have to get a good design).  I used the beautiful ‘Silk’ icons from Mark James’s famfamfam.com, a lovely set of exactly 1,000 icons in 16×16 pixel PNG format.  They are, as he says, “strokably soft”.
Not every idea I wanted to convey had an exactly-matching icon, so I chose those I thought best fitting.  So for program interfaces now I have image.png for ‘GUI’, application_osx_terminal.png for ‘Command Line’, and application_edit.png for ‘API/Programming’.  Hopefully they get the idea across, and I added tool tips for clarification.  They are very pretty, but do take up some of my precious horizontal width.  
The other icons I use are arrow_right.png for ‘Link to site’, error_go.png for ‘Site link down’ (though it still will link through), add.png for ‘Add monitor’ (email notification), and error_add.png for ‘Unable to add monitor’.  The last is for websites where there is no revision number or release date listed, so I’m unable to provide update information.  This affects about 20% of the projects, though usually the less-active one. 
I like to get the program interface icons to line up nicely in columns (‘column up’?  Is there a verb meaning ‘align in columns’?).  I used to do this with an internal HTML table within the TD cell for each entry.  This is pretty wasteful and slow – the browser has to set up a table for each line, calculate its width, and so on.  So I made up composite icons of the eight permutations of the three individual icons each in their ‘on’ and ‘off’ states.  For this as with most of my graphical editing needs I use the amazing ImageMagick command line tools.  The ‘montage’ command allows you to combine multiple pictures into one, in a definable grid geometry, and furthermore can create blank spacing elements, and a transparent background.  Simple.
I want to add icons to denote the platform or operating system of each program, which would be very useful though using up still more width.  The problem has been finding the icons for Mac, Windows, and Linux in a suitable size (16×16).  You’d think the Web would be swimming in them, and you’d be wrong.  Probably due to copyright, none of the dozens of icon collections I squinted through had them.  The hunt continues.

Javascript and Apache

I’m testing out Walter Zorn’s very cool Javascript Tooltips for possible inclusion.  I want to use tooltips on the dropdown elements of the ‘Search’ page, since I am finally rationalizing the search categories and I’d like to be able to add some descriptive text to each element.

I run everything from Perl, so I made a little test program and included a call to his Javascript libraries:
print “<script type=’text/javascript’ src=’wz_tooltip.js’></script>n”;
No go, and I get error messages in the local httpd log files like this:
Permission denied: exec of ‘/Users/ahc/public_html/cgi-bin/wz_tooltip.js’ failed
Hmmm I think, that’s funny, I didn’t know Javascript files needed to be executable.  But it’s late and I’m not thinking too clearly, so I make the js file executable 755.  Now I get a different error message:
Exec format error: exec of ‘/Users/ahc/public_html/cgi-bin/wz_tooltip.js’ failed
OK someone’s trying to tell me something about how I shouldn’t be executing that file.  I resort to reading the manual.  Apache httpd Dynamic Content FAQ number 1, sentence number 1 begins:

“Apache recognizes all files in a directory named as a ScriptAlias  as being eligible for execution rather than processing as normal documents. This applies regardless of the file name…”

A dim light comes on.  httpd has been trying to execute the js file, because I told it to, with the ScriptAlias directive in my httpd.conf file, which says that everything in cgi-bin is a script:

   ScriptAlias /cgi-bin/ “/Users/ahc/public_html/cgi-bin/”

Dummy.  I moved the js file out of my cgi-bin directory and into the http document root, and changed the line to specify the file is in the root:
print “<script type=’text/javascript’ src=’/wz_tooltip.js’></script>n”;
Probably a well-known trap but at least I found it eventually.