Homepage
Tuesday, April 29th, 2008
Over the last month, the internet has been awash with stories of the fabled New York Times slow demise, as indicated by huge losses and impending layoffs. As the new Wall Street Journal hires, the New York Times fires.
The decline in New York Times revenue and readership surprised me somewhat, but I accepted the decline at face value. Given the New York Times atrocious editorial standards throughout the Bush regime, including aiming and abetting war crimes (Judith Miller), the loss in circulation seemed like just desserts.
But today, Comcast's list of the top 50 websites for March came across my desk. Based on unique visitors, guess who's at number 12 with 47 million unique visitors for the month? For refernce, that's just behind Wikipedia, Amazon and ahead of Facebook, CNET, Adobe, CBS and Craigslist: The New York Times Digital.

Comcast top 50 websites by unique visitors
Which set me to thinking what kind of second rate media (advertising sales) strategy would it take to lose money with the number 12 website.
I don't know how reliable the Comcast numbers are so I went and ran some quick checks on Alexa.com.
While the numbers are not as good over at Alexa (the New York Times is number 25 in the United States), the reach is still fabulous. Where the New York Times falls down is in page views. They average only 3 page views per unique visitor.
Contrast those page views with Wikipedia at 5 page views per unique visitor or Google at 7 page views per unique visitor or Facebook with 25 page views per visitor.

nytimes vs wikipedia vs amazon vs digg vs facebook
Why are the page views so low for what should be a multiple page view experience (who opens a newspaper to read one article)?
The silly registration hoops. You can't read NYTimes.com without jumping through hoops. Either you register with them (and they kill off the registrations occasionally, requiring reregistration as I did register once but my login is dead) - or you can't view the site. They've taken to effectively blocking BugMeNot.com which used to be the best way to log in to NYtimes.com in a hurry.

NYtimes registration firewall lockout
It is possible to bypass the login with a very clever automated NYTimes registration bot which generates a totally anonymous profile in a nanosecond. You can link to stories with a special URL which can be generated with a javascript bookmark.
All of these shenanigans are time consuming and annoying. And guess the results - you arrive at NYtimes.com from a weblog on a permalink. You seem something else interesting and want to go and have a look. Paff - you're locked out. Register or forget it (correction: apparently you do get four or five peeks before you hit the registration firewall).
Once you do register, a good number of the stories still won't be accessible without paying a ludicrous fee ($5 for a newspaper article?).
So now the business model is to start letting journalist go. So less high quality (I think they got rid of Judith Miller, no? and lately they've been letting a lot of Republican cats out of a deep dark bag - so let's be optimistic) original content. Less information for the search engines, less possibility of generating original content.
I don't understand these guys. Their assets are:
- brand
- original content
What they think are is their third asset - traffic/eyeballs - is only built on the first two. So when they dump a certain amount of the original content, down goes the traffic. The only thing differentiating the NYtimes from all kinds of news and aggregators is their pressroom.
The first attack came on the quality - the brand:
Well, they didn't let Judith Miller go. And her fact-impaired cheerleading for the Iraq war has helped land us in a mess that's going to last at least another 10 years, in my opinion. And kill several thousand more US soldiers, several *hundred thousand* more Iraqi civilians, cost us trillions more dollars, and worse...
The problem the Times has isn't the quantity of reporters, it's the quality. People know they can't rely on truth from the times on important issues, because they *have not* been able to rely on,
Wave two is coming on quantity (number of reporters).
With the traffic, search engine rankings and original content they have, someone in the NYtimes media department is doing a seriously bad job of promoting and monetizing the site.
Years ago Salon.com came up with the model of subscriptions or day passes which require viewing advertising. It's still working for them (and they are looking for New York advertising reps). In the meantime, couldn't somebody clever implement this or come up with something new?
If the New York Times media department doesn't hurry up and figure out how to extract revenue from their brand and original content, the next loss will be traffic. From the loss of traffic, there will be no return.
This is not a critique of their tech department who seem to know what they are doing:
- high search engine rankings
- good internal search
- attractive layout
- open source contributions
But rather a critique of the business side of operations.
WordPress |
Monday, April 28th, 2008
For years, I've been on the Site Build It list. SBI is the creation of the rather annoyingly gushy Ken Evoy who never stops his carnival barker cries about his one-stop-site-creation tool.

Ken Evoy Pumping Site Sell
Evoy's been at it since the bad old days when the internet was a mess and Site Built It! did have the advantage of actually getting a website up in some form - easier than coding html from scratch for the neophyte.
Throughout SBI's history, Evoy has shrieked about his process and his proprietary tools. On the surface, a clear process and proprietary tools are a good idea. Probably worth the price of admission (or so I thought at the time). The issue with the proprietary tools (which otherwise might be a good deal) is that you can only use them a little bit. Come and play for one hour per week, see you next week. Not exactly inviting brainstorming or creativity.
In contrast, the indepdendent expensive (many of which are free) tools Evoy condemns let you use them as much as you like once you find them.
Over the years, I've learned not to expect much from Evoy's newsletters (sometimes for six months at a time, they get relegated to the read later bin). Still it's worth sometimes checking in on somebody who's multiyear obsession has been selling ecommerce sites. Another perspective.
In the last couple of years the internet has changed and it's actually quite easy to put a website up. Just buy a hosting account (a single domain account is $3 to $7 Ken, not the $10 to $15 you cite), click the one step install button and you have vanilla Wordpress (or Mambo or Joomla or whatever else catches your fancy). Or pay nothing and sign up at Wordpress.com and have a better than vanilla Wordpress install with lots of attractive themes ready and waiting for you and an active forum.
The ease of putting up a high quality website - almost all of which look better than Site Build It websites and are easier to post to - is naturally a huge threat to the SBI business. Why pay Ken Evoy $300 per year per website for hosting which should cost $50?
Evoy's latest missive starts yet another hysterical title "Why blogging is a massive mistake!" Exclamation mark is his.
Writing a weblog is not a massive mistake. Handled properly, a weblog does wonders for your website traffic and search engine standing. But taking away the hype, this time Evoy does have a worthwhile point about weblog type sites (Wordpress in particular) - i.e. they date like stale newspaper. I can confirm the tendency from my own sites.
By publishing a weblog, you are effectively creating just a daily news source.
What happens if you publish a very good article which has value as a permanent reference? It stands alone in your weblog. People come, read the single article and leave. There may be other interesting content on your weblog for them to read but the visitor can't be bothered to ferrret it out. If your writing or content is extremely compelling, perhaps some visitors will read a certain amount of your content. But then they will leave. Which quite frankly for an online journal is fine. You're not selling anything.
But for a business, this isn't so good. What you want is to create an information resource for people in your business, which will bring them back again and again. An information structure which invites them to find immediately the other relevant areas of interest.
And Evoy quite correctly points out that this is the built-in model for Site Build It:
Blog posts are created and stored in chronological order. A good blogger will produce a post that is useful today, but who will read it in three months? Even when bloggers go to the extra effort of archiving their posts by "keyword categories," the articles are dated and not rewritten into coherent definitive articles. Usefulness plummets with time.
How does a Theme-Based Content Site differ? Instead of a stack of old newspapers, each resembles a good resource book about its theme, composed of useful, original articles ("Web pages") that cover related topics in some depth. Written in each small-business owners's unique voice, and based upon that person's experience in the field, they are useful resources that visitors return to over and over.
Evoy correctly points out that a photography weblog would just be one in a million, posting the nattering about the latest cameras and software:
How would a blog be presented? A stream of disjointed photography tips would be organized by "date of post." And posts on any given topic (ex., "portrait lighting") would be separated by time (weeks or months apart), each covering only a certain aspect of the topic. On the other hand...
Definitely not the right one to pull someone into your website. Evoy contrasts the above weblog site with this siloed sitemap for a static site:

site build it silo site
This time Evoy's absolutely right. Someone looking for information on photography lighting would gradually be led through the whole of your website, would bookmark it and come back as a reference. All of this assumes of course that your content is top-notch (and Ken, let's be frank, there's not too many people capable of creating top-notch content, on or off the SBI rolls). But with a static site structure at least you stand a fighting chance of retaining your visitor and becoming a reference.
In any case this is a huge insight. Pages instead of posts something I've been playing around with in the static pages section in Foliovision. Our client sites are also largely hierarchical with the weblog performing weblog functions (added value).
What I've been doing is making a static page instead of a post and then publishing a small announcement on the weblog section.
Unfortunately some of the news outlets which republish my content will not link to static pages or to articles which are more than 24 hours old (a pain in the neck, as after publishing a major article I like to come back to it 12 hours later to proof it and add or correct illustrations).
Going forward, I am going to build up the static pages sections very actively. When I first publish a post, it will go into the weblog, but within a few days. There is one small issue which is comments. We enable comments on pages so visitors will still be able to comment on the static page. But often some of the comments come in right away (on the weblog version).
- Do I leave the comments on the weblog post or move them to the static page?
- If I choose to move the comments to the static page, there is no mechanism to do so inside Wordpress. We'd have to build a plugin.
BTW, this sort of question is what you are paying Evoy to solve for you with either no solution (in this case) or his solution. For an inside the box thinker (or someone with very little design sensibility and/or minimal interest in technology), SBI solves a lot of problems. For an existing six-figure business, there are better ways to bring your business online than SBI DIYism. I do agree with Ken that business owners should have better things to do with their time than spend it troubleshooting websites or optimising their sites for Google.
If you're interested in having a closer look at the Site Build It system and way of thinking, Ken Evoy offers a number of free ebooks on writing for the web, selling services and montization. SBI's claim ithat the free ebooks are better than a lot of the pay ebooks out on internet marketing is more or less true. Given the rubbish sold as ebooks that's not necessarily saying a whole lot. The link above bundles several of them into a single zip file for your convenience.
Personally, Ken's writing style drives me up the wall (he's been described as rah-rah), but the bulk of the information is good. I just can't read past his marketing speech. The formatting is bizarre as well. I wish the guy would hire a graphic designer at some point. Why does he write Sidebar and then not make the sidebar a sidebar but whack it right into the middle of the text?
Some other references
Internet Marketing, WordPress |
Saturday, April 26th, 2008
Just ran into a time consuming hiccup trying to work with a Clone CD Image. I hope the rather detailed explanation below will help someone else deal with a Clone CD Image faster on his Mac.
I'd downloaded a 600 MB disk image to use with Parallels. The disk image came wrapped in a .rar format.
Unpacking the .rar file was very difficult.
- StuffitExpander crashed
- Forklift couldn't handle it
- Archive Utility just wanted to compress it further.
Finally I was able to unpack it with IAarchiver, slowly but certainly.
After unpacking, I was offered a directory with three files in it:
- image.img
- image.ccd
- image.sub

Clone CD img ccd sub files
I had no idea Windows used the archaic Mac .img format. It turns out that Windows doesn't. What I'd inadvertently downloaded is what is known as a Clone CD image. I was unable to mount it on my Macbook. No known solution or software for Mac OS X can handle Clone CD images. BIN and CUE files are no problem, but CCD files - there's nothing out there.
- DiskUtility wouldn't do it (error mounting the disk)
- Toast 6 wouldn't do it (although Toast did make me a coaster with the file when I changed the .img extension to .bin and used Copy Disk Image)
- Burn also made me a coaster, even after I followed elaborate instructions on renaming files and creating a fake .cue file
- Firestarter was a non-starter. It didn't want to use my DVD burner at all. In any case, Firestarter seemed confused about what to do with the files.
If one had a Windows computer with a CD burner nearby, the logical step would be to burn the .rar file to CD, move it to the Windows computer, mount it with the freeware Virtual Clone Drive (download) and burn it as a disk and bring it back to the Mac as a ready made CD. I didn't have a Windows computer handy - and it seemed pitiful that my Macbook with 10.5.2 couldn't handle a foreign disk image format.
I managed to convert the Clone CD .img / .ccd files to an .ISO file in the end though.
How?
Command line. Those command line addicts over on the Linux/BSD side of the fence have written a lovely utility called ccd2iso. It's a single command.
Unfortunately, ccd2iso is not included out of the box in Mac OS X.
You have to install MacPorts or DarwinPorts (ccd2iso might also be in Fink). If you haven't got MacPorts installed it's a bit of a drama.
First, you need Xcode. Xcode is the developer toolset.
If you install MacPorts without Xcode, you will be able to install it, but when you try to update you will get nothing. With DarwinPorts you will get this error:
sudo port -d selfupdate
DEBUG: Error installing new MacPorts base:
shell command "cd /opt/local/var/macports/sources/
rsync.macports.org/release/base &&
./configure --prefix=/opt/local --with-install-user=root
--with-install-group=admin
--with-tclpackage=/Library/Tcl && make && make install"
returned error 1
Command output: checking build system type...
i686-apple-darwin9.2.2
checking host system type... i686-apple-darwin9.2.2
checking target system type... i686-apple-darwin9.2.2
checking for sw_vers... sw_vers
checking Mac OS X version... 10.5.2
checking MacPorts version... 1.6.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
So install Xcode as you were supposed to (I have Xcode installed on another Mac and thought I had it on the Macbook as well).
Once you have Xcode installed, first you need to bring MacPorts | DarwinPorts up to date:
sudo port -d selfupdate
This takes a little while and generates a lot of messages: you are installing about a one thousand open source components, including Gnome, KDE and X11. I ran the updater a second time just to make sure that everything was caught the first time.
You know you're okay when you get this message:
The MacPorts installation is not outdated and so was not updated
DEBUG: Setting ownership to root
selfupdate done!
The next step is installing ccd2iso.
sudo port install ccd2iso
And to convert the rogue .img to .iso:
ccd2iso image.img mycd.iso
The conversion takes about ten minutes with a 600 MB file, but I can confirm that my disk image works as a perfect self-contained ISO. The .iso can be mounted in the Finder with DiskImageMounter and can be used directly in Parallels.

ccd2iso finished ISO
If you've already got Xcode and MacPorts installed, you're golden. You are two minutes away from converting your Clone CD image to ISO. If not, you have a 1 GB download ahead of you (Xcode) and some tinkering.
I wanted to have access to MacPorts on this computer in any case. An open source drag and drop converter for the Clone CD format for Mac OS X might be nice though. It would have been faster!
IT |
Wednesday, March 26th, 2008
We've been properly labelling and tagging our images for years. Some of our websites get most of their visitors from Google Images.
Google Images is the greatest SEO reserve left in the world. Chris Silver Smith of Netconcepts let the cat out of the bag in 2006 and told the whole world about optimising for Google images. But it's hard work optimising images for Google Images and most webmasters still can't be bothered. There's still gold - or at least visitors - in those hills.
As Chris didn't cover the technical details in-depth, here's a step by step guide for optimising your images for Google images.
Most websites publish their images like this:
<img src="/images/192a/986943.jpg" alt="image">
Where's the problem? Missing height and width, meaningless directory name, meaningless file name, generic alt tag.
Here's what a properly formatted image should look like:
<img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" width="400" height="340" />
For bonus points link that image to a larger version of the same properly labelled image:
<a href="http://foliovision.com/images/2007/08/zen-fanless-power-supply-big.jpg" rel="lightbox"><img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" /></a>
For extra bonus points put that image in a h5 tag with a proper caption, close to if not identical to the alt tag:
<h5><a href="http://foliovision.com/images/2007/08/zen-fanless-power-supply-big.jpg" rel="lightbox"><img src="http://foliovision.com/images/2007/08/zen-fanless-power-supply-400.jpg" alt="Zen Fanless Power Supply" /></a><br />Fortron PFC ZEN fanless power supply</h5>
If all that sounds like a huge hassle - when you do it for every image - you are absolutely right. It is a huge hassle to optimize for Google images by hand.
Which is why we built the SEO Images (part of Foliopress WYSIWYG) plugin.
With SEO Images, all of the above is happens automatically.
You only need to give the image the correct name (words separated by hyphens) and upload to the correct directory.
Automatically all the rest is added to your image:
- alt tag
- thumbnail (whatever size you prefer)
- link to larger version image
- caption
- width and height
- lightbox
If you want a lot of visitors from Google Images, you only need to use SEO Images for a few months and you will have the rankings and the visitors to go with them.
Here are the Google Images result for our example from above, the Zen Power Supply. Of 107,000 images, spots one and two are from Foliovision.com. The large and the small version of that image.

SEO Images Google Images results
Why a few months? Historically indexing in Google Images is much slower than for the rest of Google.
Chris and Stephen, in the future, please keep our secrets to yourselves!
SEO |
Thursday, March 13th, 2008
Over at LifeHacker a fascinating discussion of monitor size and productivity. It caught my eye as I've recently moved from a 30" monitor to a 24" and 12" setup. Strangely I find I'm more productive on the second setup.
In any case, people have all kinds of strange setups including one guy with six 15" LCD's all on a special mount. I think he's onto something. As I said, I've gone from a single 30" to a 24" (1920 x 1200) plus a 12" (1280 x 960). At home I now have 20" (1680 x 1050) plus the same 12" (Macbook).
I stopped running the 30" as my Macbook can't do Dual-Link DVI.
I thought my productivity would go down. No way. Substantially up. Managing the windows and flipping between applications was a hassle on the 30".
With a dual monitor setup, all the distractions on small monitor. Work on big monitor.
That said, I much prefer the 24" as a main monitor. I am less productive by an order of magnitude except when web browsing and writing on the 20". It's just not big enough to handle two full size documents (without having 8 or 9 pt antialiased type to squint at). 24" is the sweet spot.

simple dual monitor setup 24" and 12" (macbook plus 1920 x 1200)
Finally, if you can avoid TN screens on your main screen. Sometimes you want to stand up and look at your work. Sometimes you want to lean back and look at your work. You can't do it. The colours go all wonky. Things get dark. The monitor distracts.
Caveats: the 30" monitor does have two useful functions still. It is superb for sorting and editing high res digital photos (3000 pixels and up). It is also superb for running FCP. As I don't do any video editing anymore only the first still applies to me. When I bought the 30" I was still planning to edit video. Running a company leaves no time and takes no prisoners though.
IT |
Sunday, February 3rd, 2008
I've been wondering about Wordpress plugin overhead for some time. How does one keep track of how much processor time and overhead any given plugin requires?
We run fairly streamlined Wordpress installs at Foliovision with about 30 active plugins per site. A lot of them are one-trick ponies developed in-house so we know the code isn't creating a huge load.
But anyone who has been working on Macintosh computers from the old days (System 7, 8 & 9) knows very well that every extensions (and some people were running 50 of them) slows down your compuer and increases the chances of a system conflict. There were whole expensive utilities devoted to keeping extensions and control panels under control. Any one else remember long hours spent with Conflict Catcher?

conflict catcher screenshot
Here's what WPdesigner.com has to say on his own plugin issues:
With the WP Download Monitor plugin, the front page of my blog had to operate with 136 queries on every page load. After uninstalling that plugin, the front page needed only 10 queries to work. 136 versus 10 and all I have to do is give up tracking the downloads, hmmm.. oh what, oh what should I do? I deactivated / uninstalled it, of course.
So some plugins are clearly worse than others. I hope I didn't publish that post recommending Lucia's LinkyLove for DoFollow. In the comments to the post above David Airey notes.
I found the real culprit - the LinkLove plugin for DoFollow comments.
By de-activating it I’ve dropped the queries from 117 to 24 on my blog post with 46 comments.
Lucia's LinkyLove plays complicated games rewarding commenters for more comments with better links. A pox on this sort of brownie point system. I will get DoFollow turned on and will rely on Akismet and common sense to keep the spammers off. Everybody else is welcome to followed links.
Ironically enough David's post recommending Lucia's LinkyLove still stands and is ranked high - that is not taking very good care of one's visitors. Perhaps he just forgot. Even more ironically, Lucia publishes another plugin to track CPU greedy plugins. I don't recommend this plugin, as it is ugly and is less useful than adding a simple PHP tag to your footer to track both database queries and CPU time.
<!--<?php echo $wpdb->num_queries; ?> <?php _e('queries'); ?>. <?php timer_stop(1); ?> <?php _e('seconds'); ?>.-->
At this point you can load any page on your weblog and check the number of database queries and the CPU time just by viewing source. If you are really on a roll, you can remove the html comment markup from around the PHP tag and you will be able to see the load times and database queries without checking source. So will your visitors, but for a half an hour of quick testing it really doesn't matter.
Here's the PHP code alone:
<?php echo $wpdb->num_queries; ?> <?php _e('queries'); ?>. <?php timer_stop(1); ?> <?php _e('seconds'); ?>.
So with 30 Wordpress plugins running, what's the damage on Foliovision.com and client sites?

wordpress database queries cpu time
On Foliovision.com,
How important is it to avoid greedy Wordpress plugins? If you get little or no traffic or you are on a dedicated server, it's probably not all that important. But if you are on shared hosting and you ever get Dugg, Slashdotted or listed at Yahoo, watch out. Your hosting may be disabled for a week due to the one or two errant plugins.
Here's a small case study of a plugin gone bad: Comment relish issues #1, #2 & #3. This one has a happy ending as the plugin was eventually repaired and made useable.
WordPress |
Thursday, January 24th, 2008
I've just been debugging display issues in the CSS in Knowlege Constructs FAQ-Tastic tonight. Firefox and Safari on Mac were a breeze to get right: just pull all the margins and padding off of ol.faq with a .nonumbers ol class that I'd already been using. It was especially easy to figure it out with the Web Developer's Toolbar on Firefox.
Unfortunately a quick excursion over to the Darkside and Internet Explorer (the blinkers through which 92% of the visitors to our clients still see the web - among Folivision vistors Internet Explorer users are a minority), showed that the CSS code just wasn't working. Indentation had gone totally astray.
In the absence of Web Developer's Toolbar for Internet Explorer, there is no way to get instant Internet Explorer preview. The closest thing is to open up the file directly from the server and save it back to the server. Usually, I am set up with two monitors on my desk, a 20" Samsung 205B for the Windows box and an HP LP3065 for the Mac work station. It's just a matter of editing in CSSEdit or BBedit on the Mac, saving onto the server and pressing F5 on the PC keyboard.
We've installed a Linux machine now - the first of many - and I had to give up my 20" Samsung 205B and plug the Windows box back into the HP LP3065. (Both monitors are highly recommended, btw.)
Pushing input and switching keyboards was not efficient (3 movements instead of one, along with a screenflash each time).
So I decided to take the plunge and go looking for a Windows XHTML/CSS editor which would allow me to open up files from the server. It was either that or move a monitor.

html kit screenshot
I'd had a quick run-in with HTML-Kit a couple of nights ago which I found via somed SEO research I was doing (htmlkit are doing some serious link selling) but had not been happy at all with the tool. It was ugly and clumsy. Nothing like being at home on BBedit (which while arguably drab, is not clumsy). The website was particularly stressful with it's ugly and unreadable four column layout. Would you want to trust your html and CSS editor to people who can't build a readable web page? Me neither. While version 292 is free, all future versions and advanced functionality are relatively expensive, with just part of the pro package costing $65. I don't know if the guys at htmlkit have a drug habit they are supporting with their newfound commercial activities and advertising but something is seriously amiss.
So I decided to look more seriously this time. After reading quite a few reviews, I managed to find what is the finest development environment on Windows fairly easily - Aptana Studio. Our programmers here at Foliovision work in a cousin of Aptana called Eclipse and they love it. The website itself is gorgeous. I was sure I'd found my own Windows web development tool.
But when I downloaded Aptana Studio I was shocked to see 90MB come down the pipes. There is no way that I want a 90MB text editor. Not for my HTML and CSS editing. I still believe in lightweight software (speaking of which Open Office, it's time to go on a diet - you're looking too much like Microsoft's own products).
UltraEdit had come recommended by a friend who is really into ugly but efficient Windows apps. UltraEdit may be efficient but I won't be finding out as the program is so hideous that there was no way I wanted to even trial it. Weighing in at 10MB, UltraEdit did pass the efficiency scale. What particularly turned me off was the aggressive marketing selling tools which should be included in the editor itself (UltraCompare for file comparison) or of no particular use to someone looking for a text editor (UltraSentry, a Windows web history eraser). Why do I want to spend $139 to get a text editor?

ultraedit screenshot
EditPlus is even uglier than UltraEdit and nearly as expensive. In 2008, it should be a crime to write applications so hideous and charge money for them.
On the same website, where I had found my UltraEdit review, I found another freeware text editor reviewed: HateML. Apart from the silly name (comes from German pronunciation of HTML - ha -T-M-L), the feature list looked good.
- syntax highlighting for xhtml, css, php and javascript as well as some other languages I don't care about: it's much quicker to read coloured code
- automatic syntax checker: nothing like the coloured code for showing you typos before you even upload the file to the server - preemptive debugging
- code hinting, just like with CSSEdit. I actually don't like code hinting much as I know the tags for the languages I use and find that it gets in the way most of the time
- built-in FTP client with server side editing (not upload and download)
There are some other nice features which mean nothing to me but would be very useful in the right hands, like PHP debugging, site management, website templates, MySQL managers. You won't outgrow Hateml too quickly.

hateml screenshot - nice and simple
A quick visit to the website showed that Hateml's programmer Michal Gajek cares about aesthetics and cares about code which validates. A good start.

michal gasek web standards
The application itself is a delight. I was able to use the big monitor to good advantage editing the CSS in one colourful window and with a quick click and press of F5 see a preview directly in Internet Explorer. The ftp upload is even faster than on my Mac. Strangely enough Hateml is written in Delphi. This is the first usable Delphi program that I remember using. I much prefer the Delphi look and feel at this point to a Java UI.
It might be that if I spent a lot more time on the Windows side, I'd want a full fledged environment like Aptana but for now, I'm delighted with Hateml and thoroughly recommend it as one of the unsung heroes of the web coding world.
It really appears that the main thing many commercial applications - UltraEdit I'm looking your way - have going for them is hype. If I'm Hateml is still doing service for me in three months, I will donate. I recommend to everyone to donate to their favorite freeware authors, after a three to six month trial. There are a few freeware programs which I have donated to three times over the course of years. Those donations leave us choices.
In case you still remember about the FAQ styling, here are your Toronto home buyer's questions.
IT |
Wednesday, January 16th, 2008
I've just deployed a FAQ page onto one of the client websites using the Wordpress FAQ-Tastic plugin onto one of our client. I took some notes on the deployment and have written up a long FAQ-Tastic review. FAQ-Tastic was written by John Godley for Knowledge Constructs.

FAQ Tastic's default layout
Executive Summary
While not without issues, if you are thinking of using your FAQ page as a live resource you should definitely consider FAQ-Tastic. There's a lot of power under the hood. Don't miss the full FAQ-Tastic review with deployment notes.
WordPress |
Thursday, January 10th, 2008

Photoshop CS3 Save to GIF Droplet
(Mac OS X version)
If you use Photoshop CS3 and post screenshots to the web, this little droplet will save you a lot of trouble. For some reason it is impossible to convert ImageReady or previous Photoshop versions Droplets to Photoshop CS3.
Installation and Usage Instructions:
- download the zip
- decompress
- move to the folder of your choice (I have a special folder for Photoshop and Image Ready droplets)
- title your images for upload (spaces are okay - PS3 will convert them to hyphens)
- drop your images on the droplet
- your web ready GIF's will appear in your desktop folder
For equally unknown reasons is also extremely difficult to create a droplet which will actually open your image and resave it as you would like right in the folder where it lies.
Even my version here will save the GIF file to your desktop, rather than the folder where the original lies (my preference). Desktop isn't bad, as you can then upload the image and archive the extra desktop files every couple of days in a date named folder in a desktop archive folder.
Current advice on the Photoshop forum is to use the Image Processor or to move to Fireworks (a program I and many other Photoshop users have never opened up, let alone want to leave running constantly in the background). Image Processor is a nice piece of kit, but it's suited to bigger jobs, whole folders. What I need is something to convert my screenshots from .png to .gif or .jpeg for posting to the web. Nothing against PNG - it's a great format, but my web server will be very full very fast with the 500 KB files it generates. Moreover, much as I like images, there's no reason for anyone to have to wait that long to download screenshots.
So I need a droplet just to take the PNG and save it as GIF. This is that droplet.
BTW, you should never convert your screenshots to jpeg, except a very high quality compression algorithm. The only reason to prefer jpeg to GIF for screenshots - which are usually mainly text - is if they include photos.
References:
WordPress |
Thursday, January 10th, 2008
All software documentation should be written by Germans. Here is a thorougly Teutonic guide to detoxing a Window's box. It could only be a friend's home computer.
- no right minded developer would ever let his computer get to this state.
- no competent sysadmin would give employees the leeway to do this on the corporate network

Microsoft Windows System Tray Run Amok
Some good pointers and getting the invevitable Autorun out of there - which is something which will be useful for us at Foliovision:
Using Sysinternals' AutoRuns tool I had a look at all the different places that can be used for running software on logon or boot, and apart from all the (presumably) tiny gadgets and widgets I also found a lot of the ubiquitous pre-loading parts of all sorts of common software: Adobe's PDF Reader, Microsoft Office, something from iTunes and several others....
Nobody in their right minds would boot their machine in the morning and manually launch Acrobat Reader, all MS office apps and every application they might possible use that day just to have them ready. It is immediately apparent to even the novice user that this is probably not making the machine more responsive.
But this is - almost - exactly what happens with all the auto run entries: You just don't see them on the screen immediately. So one thing I always do after installing any software is double-check whether it just registered some sort of auto run and if so remove it.
This is the result you are aiming for at the end:

Windows XP System Tray in Healthy State
Normally we do all this by hand, but I am going to try the Autoruns tool. It looks like a great way to speed up the cleaning process. Check Daniel's article for how to detox an XP computer without formatting the drive. Frankly, I think if I was going to go to this much trouble I would just move the data off and format and then back. There are too many things that can go wrong if you don't format the drive. But in these days of 500 GB standard hard drives, his tips willl become more valuable.
20080206 Update
I've found a great tool for cleaning out the start menu: Mike Lin's Startup Control Panel. Autoruns is wonderful but it is a bit overwhelming for non-programmer types.
Don't let the long name deceive you. Startup Control Panel is just 34 kb. As Mike says "like all my programs, it's very small and won't burden your system". I recommend the .exe version which you run only when you need to. The less clutter in the way of startup the better.

Startup Control Panel screenshot
BONUS TIP
While you are there, be sure to avoid Mike's Clipomatic. While attractive and including the functionality I'd like, Clipomatic has weird issues on XP which prevent it from functioning correctly.

M8 Free Clip
I've had to keep the Foliovision Windows boxes on the very ugly but functional M8 Free Clipboard. If anyone has any better ideas for a free or inexpensive multi-clipboard, I'm all ears.
IT |
Saturday, January 5th, 2008
I just read the strangest apologia for a new service: Uh, why’s the official Tumblr blog on WordPress?
Simply - all the CMSy stuff it comes with. Blogs are an awesome platform. WordPress lets our entire staff contribute to the same blog, maintain tags and slugs, save and give feedback on drafts, upload and store media, back and forward publish posts, group our archive by month, lets our audience comment, lists trackbacks, et cetera, et cetera. It’s awesome! Blogs rock! But we knew this. WordPress is the perfect way for a business like ours to communicate with our audience.
Sounds good to me. David Karp goes on to write about the advantages of Tumblr: "posting with zero obligations, little or no comment". Great for wisecracking, difficult for communicating.

sample tumblr weblog blogwi.se
But why not have it both ways? Low overhead posts along with the ability to post more substantial piece.
It sounds to me like Tumblr should be a Wordpress plugin or two. I'll probably sign up to see what it is I'm missing out on. I'd like maintaining a weblog to be easier as well. Still at the end of the day, what should be taking the time up is the thinking and writing.
I do agree with David that posting into the default interface on a Wordpress weblog is a lot more complicated and unpleasant than it should be. Genuinely distressful for a design sensitive individual. Here's what Wordpress Admin default post template looks like:

wordpress default post template
Here's what the Foliopress post interface looks like:

foliiopress edit template sample
This is just the backend but if you are reading this you are looking at the front end of Foliovision.com. No excess of noise to signal here (5 January 2008). A lot like Tumblr.
The Foliopress Edit Suite does a lot to make running a Wordpress weblog easier. It's great for clients as well who don't want to see a bunch of fields they don't need. But I like it as well as it gives a cleaner environment in which to write and think.
What WordPress needs is:
- custom simplified edit templates with only the fields you need
- a WYSIWYG editor which actually works
- really simple image posting in the exact format you need
Since we've cracked those with Foliopress Edit Templates, Foliopress WYSIWYG and Foliopress SEO Images, I'm not sure I'd want to have a Tumblr as well.
In terms of posting passing links, Wordpress could still use some help. We should probably design a links posting template for our Foliopress Edit Templates plugin. If we hook that up the Foliopress Dashboard with a default link to posting link with commentary we are a long way to Tumblr simplicity.
An alternative would be the del.icio.us plugins for Wordpress that already go along way to making posting links with one line comments easier.
One thing I do like about Tumblr is the really straightforward and attractive design. Apparently another 110,000 people do too.
The archive view is awesome as well. But behind those beautiful archives there is very little useable information. Just links to other sites. Pretty pictures with links could be useful for running a photographer of the day site.

projectionist tumblr archive
As far as I can tell, Tumblr is running on free.
Free is not a good long-term solution for a service. Monetisation needs to be in there somewhere.
If a service isn't collecting money front up from the users, then the owners need to collect it selling ads or data or both.
Of course, Tumblr may just be a pure play for users, to be made popular at a loss but sold forward at a huge gain to somebody who will be able to monetise the original popular service (Google - YouTube, Yahoo - Flickr).
For those who would like to keep a weblog, my advice is if you don't like writing or making photographs or painting - or something which creates original content - don't bother. An ongoing uncommented scrapbook of links is too ephemeral to be worth the candle. In terms of content aggregrators, there are enough machines out there doing it and those programs work faster than you or I ever will - 24/7.
And if you are going to create substantial content, then you want a communication platform with at least the option for comments from users. My suggestion is stick with Wordpress/Foliopress.
WordPress |
Friday, January 4th, 2008
google mail ads
One of my clients recently moved to Google Apps as their full time email solution.
I had my reservations at the time, but more on privacy grounds than technology ones. It turns out there are technology issues as well. My client was very excited about improved spam filtering from Postini. After the move he told me right away that he was getting a lot less spam.
This same client runs an insurance business with online application forms. Those forms go to special unfiltered email boxes. Of course those addresses aren't released publicly.
So they get all their forms and don't have to worry about miscreant insurance filters (most of my other clients are in real estate and we have filtering issues in real estate and mortgages as well).
Over the holidays, we couldn't figure out why Adwords was sometimes claiming more completed applications than the client was receiving. My tests were working. Finally we compared lists.
My client wasn't getting all the completed applications that were going into the database.
It turns out that Google Apps/Mail were deleting quotations (even though they were coming from his own domain).
What's the solution?
There are several, including setting up filters which move the wanted mail into a special saved box or the archive (why would you want your fresh mail there), but the best one is to add the address which you want whitelisted to your contact book.
- Click on and open an email from the sender that you want to whitelist.
- Click on the little down-pointing-triangle-arrow next to “reply”
- Add sender to contacts list.
Here is what the Add to Contacts function looks like when highlighted:

Gmail white list - Add to Contacts:
Nasty looking Ads - Not in My Email Thank You
There are other solutions for white listing a whole domain. In this case, you need to create a special folder for white listed mail and set up a mail filter for the domain in question sending it to one of the folders. How this works is that the incoming mail is filtered before going through Postini's spam filters. In general, this is commendable engineering as anything white listed will really get to its mail box and runs no risk of being lost in a spam filter.
Here are the eight steps:
- Click on "Settings" at the top right.
- Click the "Filter" tab in the yellow headings section.
- Click the link "Create a new filter".
- In the Choose search criteria section in the "From" field type in the email address or if it's a trusted website then you may opt to simply type the main name of the domain (eg. "howtomarketyourstuff.com" without the quotes).
- Click the "next step" button.
- Select the "Star it" radio box.
- Click the "Create Filter" button.
- The emails will end up in your Starred folder.
Convenient enought but it wouldn't work for my client or many other Gmail users.
Why not? Well, this client actually handles his Google App mail through Outlook when he is not on vacation so extra folders in Gmail looks like a problem waiting to happen. Perhaps someone else who runs Outlook and Gmail can let me know if the extra folder with its mail will turn up in Outlook or not...
Frankly, there were a number of deals which my client missed while the quotations were in Google Mail's Spam Folder. It took us longer to track down the hole than normal as it was not consistent and my client was away on holidays with limited computer access).
I have to say free apps can be awfully expensive.
IT |
Thursday, January 3rd, 2008
One of the beta testers for Foliopress WYSIWYG has just complained that Foliopress WYSIWYG is not compatible with PHP4. Apparently PHP5 is still only 6% of the installed PHP base across all webhosts.
That figure should be enough to strike terror into any developer. But that number will change very soon as PHP4 has hit the end of the line.
PHP4 incompatibility started off not as a deliberate decision. Generally I like wider compatibility.
But on serious consideration, I'm not worried about Foliopress WYSIWYG being PHP5 only.
Why not?
- Our own webhost no longer supports PHP4 (they will put up with it on legacy projects, but strongly discourage it).
-

One click image posting from Foliopress WYSIWYG
via updated KFM right click: this image and caption
were posted with a single click
One of the core components in Foliopress WYSIWYG is Kae Verens's brilliant KFM (Kae's File Manager) which we have turned into an advanced image manager (see illustration right). Kae is no longer supporting PHP4 in future development: "PHP4 is a hindrance. My own project has already announced a similar plan - we will no longer be catering to PHP4 after the present release."
- PHP5 has been available for 3 years now and is thoroughly tested and is at version 5.2.5
- PHP5 has a lot of improved functionality over PHP4.
- PHP4 will start to disappear like dry brush this year. In six months there will no longer be PHP4 legacy issues as anybody keeping their online applications up to date will have moved on to PHP5 for one reason or another.
- Foliopress WYSIWYG target user profile: our users will be running PHP5 for the most part. If not now, in two months. Anyone who cares enough to change the default text editor in their Wordpress or Drupal install is likely the kind of person to be running PHP5 and not PHP4.
Sometimes releasing new software is great. One isn't hindered by legacy issues. We are looking to the future - Foliopress WYSIWYG will be PHP5 only. In any case, Foliopress WYSIWYG is good enough that it's worth upgrading in a heartbeat to PHP5.
Other Discussion: PHP4/PHP5 Compatibility Decisions
WordPress |
Wednesday, January 2nd, 2008
We have occasionally - say about once a month - had small problems with our cable internet (Chello.sk). We've been lucky - the longest we've been down is one and a half hours and most of the time it's less than this.
Even a single day with internet down for a whole day would cost the company three times more in lost productivity than the cost of the second high speed connection for the year.
So we've done what every modern business should do. We now have redundant high speed internet from T-Com.
Which is a good thing as our cable internet is down today. But no big deal, I just swapped the router over to the DSL connection and we were all ready to get back to work. Well, almost.
With Mac OS X, switching over from one network connection is as easy as renewing your DHCP lease in the Network preference pane - the OS will usually do so automatically.

mac os x switching network
With Windows, it's a little more difficult as the computer will not want to switch over automatically, even if you open up the Local Area Connection Status and press repair.
That's not enough. After some positive messages, you will get an error saying that Windows is unable to repair DNS.
The simple but tiresome solution is to restart your computer. No big deal for one computer but for seven, a real pain in the neck.
There is a faster way. Open up Start -> Run and type:
ipconfig /flushdns
Your connection should be immediately live.
So now we have redundant internet for the whole office with just swapping over a single cable.
In terms of a longer term solution, we are thinking buying a load balancing router.
Unfortunately the reviews of all of them from the

D-Link DI-LB604
whether the D-Link DI-LB604 or the Linksys RV082 have been so rotten that there doesn't seem to be any point in buying one for less than a thousand dollars. That's a lot of money for about $50 worth of hardware. Especially hardware which doesn't work very well.
At that price, it makes more sense to build your own load balancing Linux server. At least that way, one is future proofed. Load balancing routers are in their infancy and have to get better and cheaper over the next two years. I have no interest in paying the early adopter tax and then struggling with a shoddy solution.
What distribution or software to use. Reliable sources (tech support at Cartika webhosting) suggested doing it the Untangle Gateway Platform - which is free for DIY or $25/month with full support. Another well-known free alternative is pfSense (Wikipedia info). For background, read this good IBM article on setting up a network router on Linux.
The issue with any of this setup is the hours it will take to get it working properly. Later this month, I'll probably have our new IT guy Alexander sit down and figure out Untangle on an old server from Vienna. If any of it works, I'll let you know.
In the meantime, just remember cable swap and ipconfig /flushdns.
IT |
Monday, December 31st, 2007
When I wrote my last post I thought some people might be curious about the tools we are using to run Foliovision. As I started to write a short list it was quickly apparent that this is a subject of its own.
The list will mainly focus on online applications, as they are the primary tools in our kit. Online applications allow people to work from different computers and for new works to get up to speed more quickly. They are also wonderful for remote workers, of which we have always had a few.
What are we now using includes:
- Freshbooks

daniel tsang freshbooks
Live before Freshbooks was a misery. My own custom programmed filemaker database for accounting. The one plus was quick entry of data. But when we started to grow, getting everybody's hours for the month and importing it into the spreadsheet was an onerous task. Two days per month billing is now two hours. Actually not anymore, as there are enough employees and the projects are complex enough that I have to go over all the hours very carefully and it's probably four or five hours work to send out clean invoices. There's nothing worse than getting client complaints as someone from your team did a poor job of logging their work. But the extra time is more a question of scale than anything else. I am so happy with Freshbooks I could shout for joy, even if due to growth my account costs twice what it did when we started (which it should! - more employees means more revenues). The customer service is a joy. If you can still get Daniel on the telephone (1.866.303.6061), you will never get better customer service anywhere.
We are a cross-border company with clients in Canada, Austria and Slovakia and employees in all those countries plus Hungary and England. If Freshbooks will work for us it will work for you.
- Basecamp
The backbone. Project management for people who want to get things done. Project management for people used to attractive Apple interfaces. Project management on which to build a company. 37signals has a less is more approach to software. Basecamp is a good poster child. It takes new employees about two hours to get up to speed on Basecamp. For clients, it can be more of an issue, as our clients are often the pre-tech generation and they don't necessarily want to take on a new online interface. But once they get it, they love the ability to collaborate with their whole team in a single online spot.
- Backpack
Handles Writeboards much better for external consultants than Basecamp. Basecamp requires that to access any Writeboard attached to a project, the collaborator must have access to the project. Not on! Kind of cute to be able to add so many different kinds of media to a sort of webpage so quickly. The least expensive account ($5/month) actually lets you do quite a bit with it. A useful enough online Swiss army knife that everybody should have one. That's a lot of $5/month.
- Highrise (trying not really totally committed)
The best of the worst. It's an online address book from the 37signals crowd. This time they got the pricing so wrong it's almost laughable. I don't want to pay $50/month for a basic address book. It's supposed to be a CRM system. The CRM guys pricing is so wacko it makes even Highrise look like a good deal. In the end, a lot of what we might do in a CRM we've moved back to Backpack in custom projects. It's a little more cut and pasting but access remains integrated and there's no extra monthly fee.
CRM is a really tough nut to crack 37signals hasn't cracked it either. All my clients are absolutely miserable with all the solutions they have implemented. They spend thousands on troubleshooting and customisation and their applications still barely run. Maybe Google will come up with Google address book. One argument for using Highrise is that it isn't from Google (or worse Plaxo, people who come from a background of privacy violations) or eBay or Microsoft or any other major US corporation who might be inclined to automatically share all your data with whatever NSA. Talk about making creating a police state - your every contact is online.
Jason Fried is such a prickly chap, I just can't see him giving up data very easily. David Heinemeier Hansson, as a good Euro type, would oppose data surrender on principle. As he's the tech mastermind behind all the 37signals magic, he'd have to be in on it.
- Emailias

ugly but brilliant emailias
I went to the Arctic with the two guys running this service, Paul and Graham. We made an amazing film there. Paul was a programmer at Morgan Stanley at the time, helping them time the market. When he came back from the Arctic he wrote emailias. Emailias is butt ugly but it saves me from tens of thousands of spam per year. How? Every time you sign up for an online service, you create an emailias. Then you can monitor who is sending you spam. About one address goes bad per month (sold or stolen). At that point you can just cut off the address and move on with your life. At $20/year emailias is a steal. We use Emailias for the company as well now.
- Cartika
The best web hosting in the world. These guys take their work incredibly seriously. If you host with Cartika, your websites won't go down. And if they do, it will be your fault. And Cartika will do everything they can to get the sites back up again. Expect to be SMS'd or Skype'd or emailed before you even notice that your site is down or misbehaving. They actively monitor for security attacks.
Of course this means they aren't cheap. But a reasonable price ($50/month will get you started with 5 GB of space and unlimited websites within that space) keeps out the spammers and boneheads so that they are able to service the people who want reliable web hosting and are willing to pay something for it.
- Google Docs | Google Apps
What a great service! Live collaboration on serious documents for free. Google Docs is a $200 to $500/year value for free. If you have multiple sites and don't use Google Docs to prepare your company work, you are shooting yourself in the foot. Basic spreadsheets and decent enough word process for nought.
For privacy reasons, we avoid the email.
- Open Office

neo office desktop
It's not online but does work beautifully with Google docs. Sort of an offline client for Google docs when we need to get something up to presentation level (Google docs is a bit rough with images) or want to smooth the transition from Word to Google docs. You can install Open Office on as many computers and operating systems as you have for free. My experience under three different OS is that the install takes about two minutes and is troublefree. While I'm no great fan of Java interfaces on the Mac, I have to admit it's nice that this is the one truly crossplatform application. We use the Neo Office incarnation. Between Google Docs and Open Office, it's an end to the Microsoft tax. Thank you Scott McNealy!
- Google Calendar
Wow an online calendar which actually works. We've been waiting years for this one! We actually customised and installed a php calendar on an old server at one point. Never was easy enough to use to make it a big part of our lives. Moved back to paper. Google Calendard is what we've all been waiting for. Apple blew it with iCal by not making it easy to share and modify calendars online.
- Statcounter

aodhan cullen statcounter
Statcounter used to be the best online stats program. We are in year four of the impending release of StatCounter pro. On the other hand, I know how to use Statcounter, it's relatively quick and stable. A great little Irish company run by a 20 year old (an ex-twenty year old - now 24). A bit too quick out of the gate and lagging now in the stretch but hopefully Aodhan will catch up with himself soon. I still like the easy to read reports and great client access system.
- Google Analytics (very passively, I hate the slow interface)
- PPC Assurance
These guys are promising to separate our PPC stats from our organic stats. They are also promsing to get our money back from Google for bogus clicks. Part one might work out. Part two has not worked out so far. BS answers from Google. Nice to have a monopoly. Based on current performance, PPC Assurance is too expensive for now. What is cool though is it sets up all this tracking automatically through the Google API. You are saving hours of time. There's some powerful medicine in here somewhere. More wonderful Canadians doing amazing things online (Freshbooks and Cartika are Toronto, PPC Assurance/Enquisite is Vancouver).
- SEOMoz Tools
We are paid members here. The tools aren't as good as we thought they would be or hoped, but the premium guides regularly updated along with the regular tips are worth it for us. Saves us a lot of forum time, sorting through disinformation. SEOmoz membership is only really worthwhile (it's expensive at $300/year) for a dedicated search shop. But if that's your case, then you should consider joining. The website is very fine as well. Browsing most of the site is free.
- Del.ico.us
Great desktop clients available for what is a simple and effective and fast bookmarking service. We use it at the company as well to share and promote sites. SEO 101 tip - some links in an active del.ico.us account will get your site indexed quickly for free.
- Smugmug.com

Smugmug lab mascot
Smugmug was a bit hokey for awhile, built on the foundation of the old Gallery. But the MacAskill family has kept pushing away at the code and now Smugmug is smooth and quite fast. There is a bit too much functionality in there for my tastes, but if you know what you are doing you can create very attractive galleries. Their prices can't be beat - from $40 for a standard account to $150 for a pro account - you get basically unlimited backup and storage of high res images (up to 8 MB per image). Unbelievable. On the high end account, you can build on your own domain or subdomain, allowing you to leave one day if you really want to.
- Foliopress WYSIWYG and Foliopress Images
The best for last. Like many web developers these days, we are using Wordpress as the core for our sites. Over the last two years we've built our own frameworks, including page management and better admin sections. Finally we've completed the crown jewel, Foliopress WYSIWYG and Foliopress Images. It's what makes writing this post and adding attractive Google images ready thumbnails so easy. The best part is that Foliopress WYSIWYG is truly a drag and drop ready to go editing system with image management. No trolling through config files to be up and running at full efficiency.
I'm not the first person to write a post about the tools he or she uses in a web business. I've found these posts extremely helpful and probably discovered a number of the tools above via such posts. Here's some other good and thought provoking posts about online tools and running a web business (specifically focusing on the tools). Enjoy!
IT |