IE7 XMLHttp resending requests?

May 5th, 2006

Tucows used BlogChat earlier this week for the Ask Tucows chat they regularly host for their partners, clients and other interested parties.

After the chat was closed, I noticed that Bryan’s browser continued to resend chat messages. These were repeats of earlier conversation from his browser, and being sent in their original order, although not with exactly the same timed spacing. They were actually coming in as logged http requests from his IP. I quickly got Bryan’s number from whois and called him at his desk. He still had the browser running, but had closed the chat tab immediately after the chat. His browser continued to send these old messages after the tab was closed!

I’ve looked at our code. We recently changed the transport method on the visitor chat client from img/cookie to XMLHttp (with failover to hidden Iframe) to a) avoid cross-domain problems in embedded chat windows and b) be more AJAXY. The code creates a new XMLHttp object each time but then does not explicitly dispose of it once its onLoad has fired. The polling nature of the app means that many of these objects are being created. I’ve yet to
determine whether certain browsers keep them around where others don’t.

My working theory is that IE7’s native browser implementation of XMLHttp (as opposed to IE6’s ActiveX implementation) not only keeps these objects around, but for some reason starts re-firing them later on, for some reason in the order that they were created.

While I’ll definitely look into disposing of the objects once used, I think this behaviour could constitute a pretty nasty bug if your ajax calls do things like “delete record” or “apply charge to account”.

I’m away at The Ajax Experience next week but after that I’ll set up a vm test environment. In the meantime, has anyone had similar experiences with IE7 and XMLHttp?


In My Lifetime

April 27th, 2006

Today I receive the meme baton from a ReMarkK!able guy central to the braintrust of the Toronto techsphere about which I’ve been enthusing of late.

The task at hand is to enumerate the three things I’d like to see happen in my lifetime. I’m immediately reminded of Steve Martin’s SNL sketch (“the first would be the crap about the kids definitely…”).

These three things come to mind:

  1. A return to primary respect of skilled trades in Canada. Apprenticing to be a carpenter or bricklayer is at the very least as important to our economy as as going to university to study liberal arts or computer science, but you wouldn’t know it from the attitude of parents and legislators across the country. Our immigration policy needs to recognize this as well. There’s no future in being a nation of eggheads with nowhere to live because there’s nobody to actually build and maintain the necessary infrastructure.
  2. Let us have a resurgence of hope. Let us have new vibrant leaders who follow the historical examples of the likes of MLK and JFK and PET who despite the trials of their times could deliver inspirational speeches that they themselves authored from their heartfelt passion for the basics of democracy, brotherhood and goodwill. Let us eschew the culture of ultraconservative fear, distrust and control that has been foist upon us and embrace openness, enthusiasm and the kind of collaborative altruism that once was strong enough to spawn the very nations we care about so deeply when it could have been so easy to succumb to the despair of the circumstances of the day.
  3. Will the real omnipotent being please stand up? Just step out from behind your veil of allegories and parables long enough to establish that indeed, you’re the definitive sole entity towards whom our genuflections should be directed and clear the air that either of Messrs Bush and/or Bin Laden or whomever you care to anoint does or does not have the authoritay to speak on behalf of your corporate mission. Oh, and if you wouldn’t mind doing the odd bit of smiting while you’re at it, thanks in advance.

In the interest of spreading this further afield, let’s hear what Nate, Terry and Rick have to say.


The cream starts to rise

April 27th, 2006

Toronto’s DemoCamp5 this week once again demonstrated this city’s huge as-yet unsatiated thirst for tech collaboration.

Summaries and reviews of the content can be had from a few places – here are two of them:

I spent time afterwards working the room at the pub and had quite a few interesting conversations, the most interesting of which were with Ryan McMinn and Pete Forde of Unspace. I’ve been acquainted with Ryan for some time but was impressed with his depth and how well he articulates his passion. I met Pete at the last DemoCamp and we clicked on a few levels. and it was gratifying to share opinions on the state of webdev and its potential directions.

Pete has been posting some Unspace essays that contribute extremely well to the evolution of the web development commons. Highly recommended reading – there’s an rss feed to be had, so snarf it with all speed.

The braintrust at these gatherings is remarkable. Come and see for yourself. And I mean YOU.


Mixing with the masses at MUSH

April 19th, 2006

Via TheMose and WhatsWithThat.ca, it looks like although due to a calendar mismatch I’ll be missing Mesh it doesn’t mean I can’t be first in the mosh pit at MUSH!

Come along and together we’ll energize synergies and enable a Web 2.0 user-generated content value proposition.


Spring Cleaning

April 17th, 2006

After 5 years with the same design and content, I’ve changed my main AshleyIT home page to reflect my current direction which has been evolving for some time from code monkeying towards more consulting and strategy.


Toronto area tech biz groundswell

April 13th, 2006

Over the last few months, a flurry of BarCamps, DemoCamps and Schmoozes, along with iSummit and the upcoming Mesh have convinced me that there is a huge amount of energy building in Toronto where tech and business circles intersect, and it’s happening largely from the bottom up among startups and entrepreneurs.

Last night I spoke to The Greater Toronto Web Centric Meetup Group, which is a well-organized group amalgamated from 17 smaller Meetup groups. My subject matter was fairly technically intense for a general group, but I found to my surprise that there was a widely-expressed appetite for technical information about current internet development trends. People and organizations aren’t just messing about with this stuff, they really want to make use of it.

I reconnected with long-time friend and erstwhile blogger Shane McChesney, who runs Nooro, a top-tier internet research and online survey company. As someone who has already built a successful company (and note that he not only survived but thrived during the lean years without the support of the kind of buzz that’s happening now), I’m encouraging Shane to rekindle his blogging fire to inspire the grassroots to follow his example. I plan to convince Shane to come along to Dave Forde’s next Shoeless Schmooze on Thu Apr 20. Come along and have a blab with him, his positive energy is infectious.


Speaking at Toronto WebDesign Meetup

April 11th, 2006

I’ll be speaking at the Greater Toronto Web Centric Meetup tomorrow evening, Wednesday, April 12, 2006, at 7:00 PM.

While I’m ostensibly previewing and practicing my AjaxExperience presentation, it’s a 90-minute gig on a specialized subject, so I’ll have to play it by ear as to how much I deviate from it to accomodate a much smaller venue, more diverse crowd, and time limits.

Come along if you’re interested in such things.

It’s at:

Fiddlers Green (3rd floor)
27 Wellesley Street East
Toronto , ON M4Y 1G7
(416) 967-9442


Amazon’s S3 meets Ajax

April 7th, 2006

Julien Couvreur is building an RSS reader that uses Flash to call Bloglines without running up against cross-site scripting restrictions.

The last restriction not to forget is that Flash will only allow requests to domains that explicitly allow it, by publishing a policy file (crossdomain.xml), for security reasons. A number of sites already have one, such as Yahoo/Flickr, Amazon or Bloglines.

Using Amazon’s S3 storage from a browser app represents a huge development in Ajax apps. Les Orchard is working on it and I think that Flash/crossdomain.xml may be the key to making it work in current browsers.

Exciting stuff.