Worst Website Designs

I was speaking with someone last night about website development. We talked about current best practices in the design and building of websites.

He is going to try and get a site up using FrontPage. Clearly not a best practice. Hopefully he will avoid building a site like this one or like this one.

From Web Pages That Suck:

Contrary to public perception, Web Pages That Suck (WPTS) does not just feature web design car-wrecks. If I just wanted car wrecks, I’d put up only sites created with Microsoft FrontPage.

To be fair, the issue is not really with the tool. Inexperience and poor design skills likely contribute more to the issue of poor design  than building a site with FrontPage. You can see a reasonable list of the top mistakes the people make with websites here.

Here are a couple of other examples of poor website designs:

Those eyes drive me nuts!

Justice for animals I support. But where is the justice for such a bad design?

Evolution of Man

One of the presenters at the conference I am attending used this chart to illustrate the evolution of man.

Evolution of Man

Technology Pains

Red Ring of Death

The first pain is the infamous Red Ring of Death. My youngest son was in tears when I told him that his xbox 360 had failed.

“Can’t you just fix it Dad?”

I googled the Red Ring of Death and showed him several of the results. He insisted on following all of the troubleshooting steps from this site before he would accept that his machine was simply not going to work.

I have no idea whether Microsoft will repair the box. We’ll call support and find out. Although it could be viewed as a positive development, fewer hours in front of a video screen, I know he really does enjoy gaming on the xbox.


Almost all of the posts on this blog are now uncategorized.

I have been working on a new design for the blog. It will be quite a departure from the last few styles. And I have built this one from the ground up. Everything from the design to the code. I took inspiration from Smashing Magazine. That site has some great resources for web developers and designers.

The design looks great and should be up and running in a few more weeks.

I have been coding the site on my local machine running the latest revision of WordPress. And, to get my site ready for the new design, I decided to upgrade the blog to the latest version of WordPress as well.

A new feature in this release is tagging. As part of the update, I was able to convert all of my categories to tags.

Big mistake. I lost all of the categories assigned to posts except for the category called general. I have 1,252 posts that no longer have categories. And many of the categories are quite popular with readers. For example, I have a set of posts with pictures of high-end recording studios. They were easily accessible via the category of Recording Studios.

Gone for the time being. Over the next month or so, I will repopulate the category fields. Likely as I am watching the CBC news. I have to do this manually, one post at a time.

Cellphone Contracts

There is no more difficult task in the modern age than canceling a cellphone contract. I had three cellphones under contract with Telus and one of them expired the end of January.

We only need two cellphones. The task seemed simple enough: do not renew the expired phone. The only twist is that we needed to switch the number from the canceled handset to another.

How many hours did this take? 5? 10? 15? I’ve lost count of the number of telephone calls to make this simple change happen. However, the icing on the cake was when I finally got Telus to cancel the contract. There. Finally. Everything all set.

My wife called a couple of days later to confirm and Telus had no record that I canceled. I had to call them. Again.

So I did.

“I understand that I need to call and confirm the contract that I had canceled previously should be canceled.”

“Yes, Mr. Cleaver. That is correct. Can I ask why you are not renewing the contract?”

Lots of blah, blah as we replayed the dozens of hours of prior discussions, switching of agents, etc.

“Mr. Cleaver, everything is all set. Your contract will be canceled next month.”

“Next month?”

“Yes. We require 30 days notice.”

We started the process six weeks back.


Anatomy of a Web Design

As mentioned in an earlier post, I am helping a friend to build and deploy his new website.

We decided to use WordPress, a content management system, as the platform for updating information on the site. The look and feel of the site will be independent of the content.

We moved his site to myhosting.com, an excellent hosting company based in Toronto. I put up an under construction page and I also installed and tested the latest version of WordPress. Everything works as expected.

The next steps will be to build out the information hierarchy for the site and enter the content. After that, we will apply the new design elements and open the site.

My friend is a very talented musician and he is also active in ministry and teaching. In terms of presenting on the web, I suggested that he review 15 or 20 similar websites and make notes on what he likes and does not like about their designs. I also suggested that he think about his target audience and what they would need from his site.

I gave him links to a few sites of the top Christian artists in Canada and the United States. Some very interesting designs although I must admit that they range from the horrible to the acceptable. Take a look and draw your own conclusions. In particular, think about the message that their sites present. From selling cruise vacations to shirts and hats, it is often difficult to find out whether they have a ministry or just a business.

Michael W. Smith
Chris Rice
Steve Bell
Chris Tomlin
Steven Curtis Chapman
Mercy Me
Jars of Clay

Take Back Time

InformationWeek had an interesting piece on how to take back time and attention. The article was based on Merlin Mann‘s presentation at last week’s MacWorld Expo.

Merlin covers his reaction to the piece here.

And a couple of great examples of his presentations can be found here and here. If you are looking for ideas to improve your PowerPoint chops, Merlin knows how to create the eye candy that supports a presentation. No death by PowerPoint in his slides.

Apache, MySQL, PHP and WordPress

I’ll be doing some work with WordPress on another musician’s website. WordPress is an open source content management system. The blog you are reading is powered by WordPress.

Typically, a WordPress blog is driven by a LAMP server: Linux, Apache, MySQL and PHP. Because I run a Mac, I can host a WordPress environment on my local machine. I can use a Mac as if it were a LAMP server.

Apache is enabled by simply turning on Web Sharing under the Sharing option of System Preferences. Or, if you are a diehard Unix geek, you can bring up the Terminal app and enter:

sudo apachectl start

Make sure you have your root password handy.

PHP is installed in Mac OS X by default, but not enabled. To enable it, the Apache 2 configuration file, which is located at /etc/apache2/httpd.conf, has to be edited. There is a line which loads the PHP 5 module, which looks like this:

#LoadModule php5_module libexec/apache2/libphp5.so

Remove the comment symbol, #, and save the file. And restart Apache.

sudo apachectl restart

I had to download MySQL and install it myself. Not the most user friendly database install. And, even though I had the database up and running, my local install of WordPress would not connect to the database. It turns out that I had to edit a line in the wp-config.php file to replace localhost with a default IP address:


After a few hours of Unix hacking, I had a full WordPress development machine on my Mac. Just like using a LAMP server on my ISP. For whatever reason, it felt good to still be able to hack around Unix, Apache, MySQL, PHP and WordPress.

I am a hopeless geek.

Technology Woes

I have a lot of technology in the studio. I am always looking for ways to use technology effectively to solve audio engineering problems. One problem that I used to face was how to remote control Pro Tools. In the past I used to set up in the control room and try to manage guitar, console, transport control, monitors, keyboards and mice with varying degrees of success and frustration. All that changed when I discovered remote desktop.

I use a notebook computer on the wireless LAN that connects to the Pro Tools workstation through remote desktop. The notebook then becomes the Pro Tools workstation. The monitor and keyboard on the notebook controls Pro Tools remotely. This allows me to set up in one of the talent rooms and control my studio remotely via the notebook. Very cool. Except something happened. I tried to connect to my network and I received a “network not accessible” error. Thus began a prolonged and strange battle with technology.

My first step was to search Google to see if anyone else had this experience. Turns out that most of the world has run into it if they network more than one computer. I found a Microsoft article on the issue here. This knowledge base article precisely described the symptoms I was experiencing: I could not browse other computers in the workgroup, I could not access shared folders or files, I received the dreaded error message: “Workgroup Name is not accessible. You may not have permission to use this network resource”.

The cause was due to NetBIOS over TCP/IP not being turned on and the computer browser service not being started. The resolution is to turn on NetBIOS and to ensure the computer browser service is started. So I tried the resolution.

Didn’t work. Nada. Zip. Still got the same error message.

I crawled on the web for several hours last night and avoided some much needed sleep in the process. Dozens of suggested actions to resolve the problem were discovered and all of them failed. I don’t know why the notebook would no longer see my network. It worked fine for almost a year.

And then I found the answer.

Most networks provision an address for each machine on a network. This address, known as an IP address, is often provisioned through a DHCP service. Some networks operate as broadcast networks and some operate as point-to-point. If you happen to connect a notebook computer to a different network, one that uses point-to-point, then the DHCP service might make a small change in your computer’s registery file.

If a parameter is *optionally* set by *some* DHCP server then that parameter will persist in the registry regardless of any other actions you might try. The parameter is “DhcpNodeType”. Not all DHCP servers set this parameter. I obviously had the misfortune of connecting to another network, which I often do when I travel, where the DHCP service changed this parameter. My network’s DHCP server does not change the parameter and that is why the notebook failed to join the workgroup and gave the error message. This is because my network is set up using the default “broadcast” node type and the persisting DhcpNodeType parameter continued to tell the malfunctioning machine to be a “point-to-point” node. The two types do not talk to each other.

The Solution: check the registry for the DhcpNodeType parameter. If the value is 2 then change it to 1 and reboot. Optionally one may choose the value 4 or 8 to have a computer work in both environments.

Registry Location:
Key: DhcpNodeType
Value Type: REG_DWORD – Number
Valid Range: 1,2,4,8 (B -node, P-node, M-node, H-node)
Default: 1 or 8 based on the WINS server configuration
Description: This optional parameter specifies the NBT node type. It is written by the DHCP client service, if enabled. This parameter determines what methods NetBT uses to register and resolve names. A B-node system uses broadcasts. A P -node system uses only point- to-point name queries to a name server (WINS). An M -node system broadcasts first, and then queries the name server. An H -node system queries the name server first, and then broadcasts. Resolution through LMHOSTS and/or DNS, if enabled, follows these methods. If this key is not present, the system defaults to B -node if there are no WINS servers configured for the network. The system defaults to H -node if there is at least one WINS server configured.

By the way, there is another optional parameter at the same registry location that one may add which will override any DHCP server value placed in the DhcpNodeType.

Key: Netbt\Parameters
Value Type: REG_DWORD – Number
Valid Range: 1 – 8
Default: 1
Description: This parameter specifies the NBT node type. It is an optional parameter that, if present, will override the DhcpNodeType parameter.

I weep for Microsoft. What a sad journey to make to ensure that your computer connects easily to a peer-to-peer network. “Hey”, tech support asks, “Didja happen to check whether you are B-node or P-node?”