Saturday, March 10, 2007

iWeb and .mac blog annoyances

So, I was trying to help my wife tonight with our family blog. We'd recently wanted to start collecting some basic traffic stats from her blog so we set up Google Analytics on it.

Turns out that .mac iWeb blogs are pretty stupid.

The iWeb software desktop app stores all of your data in a crazy index.xml.gz file.

Every time you publish a new blog entry or other page on your site, it statically generates all of the content, updates the files in question, and "publishes" then via their iDisk file sharing.
Don't even get me started on how slow and stupid iDisk is in implementation, speed, etc.
Accessing it, and using iWeb on a brand new Macbook results in the machines completely going to lunch. Pretty odd that parsing a little XML and sending it over the network should lock the whole box up, but whatever.

Apple's Feedback systems on blogs in insanely complicated broken.

Because the website is completely static, they have to quasi-hack comments

Comments are apparently stored in extra html or xml files inside your tree and are dynamically created if/when your page has some magic javascript mumbo-jumbo in it.

Just having the javascript isn't all though. If you want to for example use a handy dandy shell script to append some javascript to the end of the html blog entries for tracking purposes, Apple's website might start forgetting you want comments enabled.

How is this? Well, their commenting mechanism is some sort of website filter keyed on something where you can access the HTML blog file with a parameter on the end, and Apple's ..mac webserver interprets it as a programmatic request rather than a request to serve the HTML.

Example - Let's say you have the page: http://web.mac.com/USERNAME/Blog/4E3ABD27-321ABC.html

When you have comments enabled, the javascript on the page turns around and makes a request for:
http://web.mac.com/USERNAME/Blog/4E3ABD27-321ABC.html?wsc=entry.js&ts=12345


Somehow, when you touch a page yourself, Apple's webserver starts 404'ing on the second request above. So, comments don't work.

The only way to fix it appears to be to republish your whole site, which for me took roughly 1 hour to post a few megs of data.Let's just say I'm a little sad.

  • Pre-processing all of the content for the pages is pretty simple.
  • Most people stopped doing it years ago because its insanely impractical to do it for any decent number of pages, update all of the links, etc.
  • Sure it saves Apple a decent amount of CPU on their website.
  • It really sucks in terms of extensibility.
This is a theme for Apple products. If you want to do something simple they make it really easy. But the implementation of something under the covers is often so ugly and ridiculous as to make it impossible for the expert to work with it.

5 comments:

Peter said...

Sadly, I tried to use iWeb for a while (completely static, without comments enabled) and hated it. I ended up using blogger at my own domain.

Anonymous said...

Maybe you are not much of an expert?

Security Retentive said...

Possibly, but based on how many people have searched for and found my post on this topic, at least a few other people have had the same problem.

I haven't heard of too many people running successful blogs on their .mac accounts.

rustyd100 said...

I'm a long time user of iWeb and a regular blogger on tracking down pirate ships. I've not had the same experience you have, for some reason.

web.mac.com/daverust/profile/blog/blog.html

My system only changes and delivers files that are new to the archive for fast uploads. I've updated the blog from many countries, including some with slow internet.

So far, the comments section works well for me.

I keep the master iWeb files on a laptop and back them up regularly to a memory stick...which allows them port to another machine if necessary.

Multisite, an independent app, lets me manage several iWeb environments on the same machine, too.

CyberWave said...

Wow, that is annoying. Have you tried calling customer service to inform them of this problem?