WebDialog 1.0.3 released

Version 1.0.3 of WebDialog has been released. This release is primarly focused on bug fixes.

Also included is the source code of 3 example websites: Callback sample, Modal sample and IFrame sample. The samples can also be viewed on the updated WebDialog online demo webpage.

What's New:

  • Other - Added three sample websites to the WebDialog download: Callback sample, Modal sample and IFrame sample.
  • New Feature - Added an IsVisible() function to the WebDialog JavaScript object.
  • Bug Fix - Fixed the page overlay not hiding with the dialog if Show() was called multiple times.
  • Bug Fix - Message of exceptions thrown during a callback are now displayed in the dialog. Future versions will allow this to be customized in a template.

The Perfect Quiz

Forget personality, IQ, love and every other test or quiz on the internet; the Web 2.0 or Star Wars Character test is here. The creator has somehow managed to combine the ridiculing of the silly Web 2.0 bandwagon that is currently going around with Star Wars. Surely this is the perfect storm of quizzes.

Obligatory results:

37/43. I love Star Wars as much as the next IT professional but come on!

WebDialog 1.0.2 released

This release has a couple of bug fixes and new features. 1.0.1 was a minor update correcting the help file.

What's New:

  • New Feature - Added hover and click states to the dialog hide button.
  • New Feature - Added dialog icon image. By default this shows a different icon depending upon the user's browser. Currently has IE, Firefox, Mozilla and Opera icons.
  • New Feature - Added a ContentStyle property.
  • Bug Fix - DropDown jump issue on Firefox.
  • Bug Fix - Text selection is no longer disabled when dialog is visible.

Google Analytics Downtime Solutions

Google Analytics was down for a few hours today. While it is not unusual for an ASP service to have downtime, Google Analytics works by you including a link to their Javascript file on your website and while the website was down today that file was also unavailable. Anyone who linked to the file in the page header will have found that their websites were not loading. This is because no page content is displayed until all header files have been downloaded. This is a big deal if your business is based around the internet. Some website owners have decided to remove the service entirely because of todays incident.

The simple fix to this is to include the script tag with the link to http://www.google-analytics.com/urchin.js at the bottom of webpage, which Google now recommends doing. If the Google Analytics website goes down, and the file is unavailable, the page will continue to display normally.

Although this solves the big problem of no content being display, there are still two issues.

Analytics Functions

The first is that any calls to the Google Analytics functions such as urchinTracker to track downloads or outbound links in click events will break. The script containing the function hasn't been loaded, either because Google is down or the user simply clicked the link before the page reached loading the script tag linking to Google. The solution to this is test whether the function exists before it is called.

<a href="webdialog/webdialog.msi" class="imagelink" onclick="if (typeof(urchinTracker) != 'undefined') urchinTracker('/downloads/webdialog');">

The other problem is that any of your own Javascript in the page onload event will never be called. The onload event only runs once all content for the page, including Javascript, has been loaded by the browser. If Google Analytics is down and the browser is hung waiting on loading the Analytics script, the onload event on the page will never be raised and Javascript functions attached to the event will never be called. There are two way to deal with this issue: Either place any critical Javascript calls in an Init function, which is then called at the bottom of the page, or use Dean Edward's onload work around.

Google Analytics is a powerful service, at the right price (free!). Hopefully by taking these precautions you should be able to continue tracking visiters with Google Analytics without it interfering with the rest of your website.

Update:

What NOT to do!

Don't host a local copy of urchin.js yourself and link to that.

The reason Google is giving out a link to a file, rather than the file itself, is so that they can easily update it when fixing bugs or adding functionality. Updates will trickle down to all websites automatically.

If you are hosting urchin.js yourself then one day stats for your website may stop working without warning because your version of the file has become out of date.

Update 2:

Google has added a page about to their website about hosting the urchin.js file locally. For the same reasons I wrote above they don't recommend it.