Archive for the 'BlogChat' Category


Discover and become a part of your local tech community with DemoCamp

Saturday, August 25th, 2007

I’m often asked for advice from people who are just starting to work in technology or who want to take their career to the next level and prepare to become an independent contractor or consultant.

Invariably my number one recommendation is that they begin to build a network of contacts in their local technology community. More often than not, they have no idea how to get started.

In the Toronto area, we’re fortunate to have a vibrant tech community. It wasn’t always so – it has grown significantly in the past couple of years largely due to David Crow’s importation of the BarCamp unconference, an event held a few times a year, generally over a weekend, where people interested in internet technology get together to collaborate.

Even more significant to the growth of Toronto’s tech community was the Toronto birth of DemoCamp, a more lightweight gathering featuring demonstrations from players in the local (and sometimes wider) tech community. Since it takes place in a single evening and is preceded and followed by informal mixing and discussion, it has become a fantastic venue to come out and observe the electricity and creativity of the community and even insert yourself into the fray.

Bootstrapped by the community and now gaining limited corporate support, DemoCamp is growing but still maintains its most important feature – an atmosphere where everyone has the opportunity to contribute and participate.

If there isn’t already a DemoCamp in your community, I strongly encourage you to take the initiative to start one. If you’re in the Toronto area, I hope to see you at Toronto DemoCamp 14 on September 17th, 2007.

My first DemoCamp was DemoCampToronto3, where I demoed BlogChat, an Ajax chat app I developed in early 2002. I have been to almost every subsequent DemoCamp and have witnessed its phenominal growth, as well as the various BarCamp offshoots such as DrupalCamp, EnterpriseCamp and a host of others. I’ve even participated at Geeks and Guitars, playing drums and bass with Joey DeVilla and James Walker.

It has been my pleasure to meet literally hundreds of local people who are passionate about technology, and to collaborate with some of the core people who continue to make DemoCamp a success. This month, I’ve personally pledged $200 to help towards the venue and I encourage others to find ways to lend their support.

The Toronto community also has a “Toronto Global Swarm” Skype channel that is open 24/7 and allows people to come and go and communicate with one another. You can get an invitation from anyone who is already in the chat.

So now you know the not-so-well-kept secret of how to get involved in your local tech community. Spread it around!

Update: David Crow has some details of the presentations lined up for DemoCampToronto14


Simplicity begets Stability

Monday, September 25th, 2006

I’ve been following advances in the Ajax world so I can keep my Ajax Transport Layer Alternatives presentation up to date for The Ajax Experience in Boston next month.

Harry Fuecks wrote recently about new approaches to Javascript asynchronous calls. It’s really neat stuff and I’m stretching my brain to try to understand it fully. I wonder though to what extent it will actually solve problems that really exist for most people any better than what already exists.

I’ve been making Ajax apps that work well enough for years while many people have been waiting for all the stars to align before they even try it. I’ve had all sorts of flack from pedants for using iframes and img/cookie because they’re hacks, but JSRS and RSLite have worked consistently and predictably across a large number of browsers for 5 years and more without modification. I only changed my Blogchat app to use XMLHttpRequest recently (for no really good reason – it’s been unchanged since 2002) and the first thing that happened was a huge debugging session to figure out a really wonky deep IE7 issue.

The thing about simplicity in the programming world is that it begets stability. The unknowns and dependencies introduced by layers of abstraction and frameworks and preprocessing can in some cases introduce far more potential complexity and maintenance issues than the problem at hand is worth. While there is definitely a class of complex UI problems that are now trivially resolved using the latest and greatest of libraries and frameworks, don’t forget that many simple problems deserve simple solutions.


IE7 XMLHttp resending requests?

Friday, 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?


Too Hot to Hoot

Friday, February 24th, 2006

Michael O’Connor Clarke instigated a great get-together in Toronto last night with Stowe Boyd as the main attraction.

Sutha Kamal snapped a photo of me in my new geeky threads.

Toronto really does have quite a few cool internet folks. I’ve gotta find these things more often.


Will chats on blogs ever reach critical mass?

Friday, February 17th, 2006

I’m going to go to DemoCamp on Monday to demo BlogChat and get a feel from the dev community whether there is any traction in “chat meets blogs”.

Tim and I have been running BlogChat as a free service for four years now and while it’s not everyone’s cup of tea, it has had some consistent followers and users even though it hasn’t been promoted or marketed to any extent.

With some recent buzz about chats and blogs caused by 3Bubbles and Campfire, the tipping point may be on the horizon whereby enough people get to know about it that the minority of people who care to use it beyond the first day becomes a large enough pool to sustain a business model. It certainly hasn’t been that way so far.

What do you think? Will blog-based chat become de rigeur or will it forever remain a niche service? The jury’s out for me, I don’t know either way, I’d like your comments.


Tiny bubbles

Monday, February 13th, 2006

I’ve just been chatting over at in their new Ajax chat app. It looks like a good start. With Jeremie Miller involved, it should have some legs, and they seem to have some buzz support from the valley VC forces. I wrote pretty well exactly the same app in 2002 and called it BlogChat. It has many more features and Tim Aiello and I have been running it as a side project for four years now.

My experience tells me that most people don’t care beyond the first week have a chat in their blog, but then again, 7 years of Remote Scripting advocacy on my part told me that nobody cared about building rich web UIs with asynchronous javascript calls, and then along came Jesse to prove me wrong. It’s all about marketing and being in the right place (Bay Area) at the right time (Web 2.0/Ajax hypefest).

Good luck, guys – really. I know what it takes to launch and you’ve come a long way. It’s a bit like pregnancy and childbirth – just when you’ve finally got to the release milestone, you realize you’re only at the beginning and what a long slog you have ahead of you.