Howdy.
As you can see, I haven't updated this blog in a while. That's because I've been spending all of my time at the Canadian Developers Weblog:
http://blogs.msdn.com/cdndevs/
It's much better. Highly recommended.
Tomorrow, James Kovacs and I will be heading north up to Edmonton, Alberta for the Edmonton Code Camp. This should be a lot of fun. The last time I was at a Code Camp was earlier this year in Calgary.
For the Edmonton Code Camp, I will be talking about gadgets for both Windows Live and the sidebar in Windows Vista. Both paradigms are different yet similar. While hosted in different environments, both use JavaScript and DHTML to build gadgets. My talk (tomorrow) will cover these differences and some of the things I've learned while building my own.
For the demos, I plan to showcase a couple of gadgets that I've been building. These gadgets perform the same task; they allow you to track MSDN and TechNet occurring in Canada. Here's a screenshot of the gadget in Windows Live:

Here's a screenshot of the gadget in the sidebar for Windows Vista:

Also, I plan on bringing my new Panasonic PV-GS300 digital camcorder and my M-Audio Microtrack 24/96 digital recorder. Both of these devices rock. My intention is to document the day and interview folks for the Developer Night in Canada (DNIC) podcast.
See you in Edmonton!

At CanUX 2006, I had the distinct honour of speaking with W. R. Johnson of The Chicken Test. You can see the interview (and other interviews) in a video posted here.

Kristan Uccello and I sat down during the CanUX 2006 workshop and chatted about a few things including ASP.NET "Atlas" and Windows Vista. You can see the video on YouTube here.
Another episode of commandN is online. You can view it here.
Last night, I delivered a presentation to the Thompson Okanagan .NET Users Group (TODNUG) on the topics of Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas". Approximately twenty-two (22) people attended the event, which was great to see for a city the size of Kelowna. I think there's a lot of excitement around technologies like ASP.NET "Atlas" here.

Henri Fournier (Leader, Thompson Okanagan .NET Users Group (TODNUG)) informs his group of the prizes available for the night's presentation.
During the presentation, I got a ton of great questions. Many of them focused on the implementation details of the technology itself. For example:
- How does the UpdatePanel control issue requests back to the server?
- How does the ASP.NET "Atlas" runtime initialize itself?
- What is generated when requesting an endpoint using the '/js' notation?
I made sure to carefully explain these and other concepts before I moved on to the next topic. (If you'd like to find out more about ASP.NET "Atlas", make sure to check out the Website!)
A highlight of the night for me was catching-up with Miles Overn, a local Microsoft Most Valuable Professional (MVP) for ASP/ASP.NET. Miles and I got chatting about technology and Microsoft conferences of the past (i.e. Microsoft Tech·Ed).

Henri and Miles chat during the break.
Overall, I think Kelowna is pretty jazzed about Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas". I think the next time you hear about a Web company from Kelowna making it big, it might be (in part) the result of these technologies being part of the solution!
Thank you very much, Kelowna. I had a wonderful time!
(Photos of this event can be viewed here.)
Last weekend, I ventured west to the snowy confines of Banff, Alberta to attend & present at CanUX 2006. (Please see my previous post on this event.) I was amazed at the level of passion and expertise I found in the Canadian Rockies. These folks seriously love design and usability!
On Saturday night, I got to hang out with some of the organizers of CanUX 2006 - particularly, David Crow and Bryce Johnson. David and Bryce rock - both are very friendly and totally dialled-in with the local dev/design community in Accordion City. It was a pleasure to chat with them about everything from classic 80's references like ThunderCats to Windows Vista.
I also had the pleasure of meeting Kristan Uccello that same night. Kristan is a veteran of the BarCamp/DemoCamp scene in Accordion City and a very bright guy. We had a great conversation about security in Windows Vista. Some of the most interesting scenarios and questions I've had about Windows Vista came from Kristan in the span of about twenty (20) minutes. Great stuff!
After risking my life on the drive home on Saturday night (it snowed), I travelled back to Banff the following morning. Once I arrived, I got chatting with a few of the folks at the workshop. To my surprise, many of them were interested in my laptop, which was running Windows Vista RC 1 and Office 2007 B2TR. I decided to provide a couple of impromptu demonstrations of the running bits. Afterward, Kristan and I conducted an interview for the Developer Night in Canada (DNIC) podcast. At the same time, I was fortunate enough to witness the taping of The Chicken Test, a vlog by Bryce. (There's nothing better than a talking chicken.) I even got interviewed by the bird itself!
Later that afternoon, it was my time to provide a demonstration of Microsoft Expression. Unfortunately, I was unable to show Microsoft Expression Graphic Designer because I didn't have it installed on my laptop. However, I was able to show Microsoft Expression Interactive Designer and aspects of the Windows Presentation Foundation (WPF). I think the biggest impact of these technologies is how they will (finally) enable the designer and developer to work together - this is something that has been missing for quite a while now.
I was also able to demonstrate Microsoft Expression Web Designer. During the demo, I got many questions regarding the features it provides. I made sure to highlight its support for Web standards like Cascading Style Sheets (CSS) and HTML. Following the demo, some folks informed me that they were running Microsoft Expression Web Designer and preferred it to competing products in the marketplace. Wicked!
Overall, I was very impressed with CanUX 2006. If it returns to Banff next year, I hope to attend once again.
FWIW: Photos of the event can be viewed here. (Flickr tags, CanUX or CanUX2006.)
Have you ever wondered why you can't connect to a Wi-Fi provider when you're on the road?
Well, it would appear as though the routers that some providers use deny connection requests for unknown User-Agent strings. For example, I'm currently in Kelowna for the Developer Night in Canada (DNIC) user group tour and I'm trying to connect to the local wireless network. If I use IE 7.0 and its default User-Agent string (i.e. Mozilla/4.0 (compatible; MSIE 7.0; Win32)), I receive no response from the provider on the initial request to connect. However, if I modify the User-Agent string to mimic the one used by IE 6.0, it works. Go figure.
Now, why would a provider want to deny connection requests for unknown User-Agent strings? I can't say. Most folks know that there's no standard around the User-Agent string and it can be easily modified on the client. If you know why this is the case, please leave me a comment to let me know.
Later today, I'll be heading west to Banff to attend CanUX 2006.
For what it's worth, you can check out the official description here. Essentially, it's a workshop that's all about hands-on learning. Geared towards "the folks in the field" (AKA, the practitioners), CanUX is all about the user experience. If you're involved in design, architecture, or usability, then this is the workshop for you.
When I first heard about this event, I wondered what it was all about. Being a developer, I understand why other developers may cringe a little when they hear phrases like "interface design" and "user experience". (As a side note, I enjoy studying design and user experience. And yes, I have fired up Photoshop & Illustrator in the past.) To compensate for any implied lack of understanding, developers could use - what I like to call - the Cirroc Defence.
(Setting sarcastic bit to true.)
For those of you didn't watch Saturday Night Live (SNL) in the 1990s, there was a pretty good skit that was regularly shown entitled, "Unfrozen Caveman Lawyer". It featured Phil Hartman playing the role of Cirroc, a caveman lawyer who used his "frightened view of the modern world" to win a jury's sympathy in court. The skit plays on this when Cirroc is featured elsewhere (i.e. a restaurant) using the same "defence" to get what he wants (i.e. another martini).
For developers heading to a "user experience" or design-related workshop like CanUX 2006, I suggest using something similar to defend or justify our existence:
"Ladies and gentlemen of this design conference, my name is John. I'm just a developer. I was discovered long ago in the .COM era of the late 1990s. I haven't been a part of your world until recently and don't know much about things like element interaction or interface usability or even the user experience. I'm just a developer. Your world frightens and confuses me. [...]"
Personally-speaking, I've never been to a workshop with non-developer types in the crowd. I hope I don't stand out like a sore thumb. No doubt, my Toshiba Tecra M5 will certainly differ from the other types of PCs that might be used there. My only hope is that by running Windows Vista, my street cred will improve in the eyes of these folks.
Last night, the Calgary .NET User Group and the Alberta .NET User Group co-hosted the Developer Night in Canada (DNIC) user group tour in Calgary. The event had a pretty good crowd - about seventy (70) developers came to hear about Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas". I hope I didn't disappoint. Based on the audience feedback I received during the presentation, I don't think I did.
I wanted to take this opportunity to recognize the questions I got during last night's talk. All great questions. Some on architecture, others on the technical underpinnings. By answering these questions, I hope I can encourage you to investigate the bits on your own time; give them a try on an existing ASP.NET application that you're building. If you have additional questions, make sure to check out the ASP.NET "Atlas" Website. It's full of documentation and examples for you to experiment with. There's also a group of online forums where other developers (like yourselves) are chatting about the exact features we discussed last night.
As a side note, my favourite part of my Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas" talk is the new facilities we provide around XML script. It's great to see the heads nod and the eyes pop when audience members see this feature and begin to understand the power and flexibility that it provides. Simply put, XML script is yet another way of wiring-up behaviours on the client through markup. It allows developers to visualize programmatic intention, without having to write (typically error-prone) JavaScript. Instead of a model where debugging is conducted by hitting F5 in the browser, XML script provides a model where the heavy-lifting is done for you by the ASP.NET "Atlas" runtime on the client. Incredibly cool stuff, indeed. Nikhil Kothari has a great post highlighting many of its features. Make sure to check it out!
My apologies for not posting preamble for the Developer Night in Canada (DNIC) user group tour event in Saskatoon. The drive up from Regina was a little longer than I expected, which didn't leave me a lot of time to write an entry prior to the event.
For what it's worth, I had a great time in Saskatoon. It was there where I and twenty (20) or so fellow plumbers chatted about the Windows Workflow Foundation (WF). During the presentation, I noticed that there was some confusion over what exactly the Windows Workflow Foundation (WF) provides. After a little explaining and a few demonstrations, I think everyone got the idea. Simply put, it enables you (AKA, the developer) to easily integrate workflow into your .NET applications.
Care to know more? Make sure to check out the Windows Workflow Foundation (WF) Website! Lots of great materials all relating to the Windows Workflow Foundation (WF) and more!
Hello, Regina! Yes, I'm here in beautiful Regina, Saskatchewan for the third stop of the Developer Night in Canada (DNIC) user group tour for western Canada. Tonight, I'll be speaking to the Regina .NET User Group about Windows Workflow Foundation (WF).
Now, you might be wondering about the content. I mean, the Developer Night in Canada (DNIC) user group was all about Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas" (more on this later), right? Well, as it turns out, the group was especially interested in Windows Workflow Foundation (WF) and asked if I would mind presenting on this instead. So, the change was made and tonight, we'll be discussing an incredibly cool technology that enables you - the .NET developer - to integrate workflow into your applications today.
Oh, and by the way, we recently updated the roadmap and name of ASP.NET "Atlas". You can check out Scott Guthrie's blog post for more information.
See you tonight!
The Developer Night in Canada (DNIC) user group tour continues its fantastic journey across the heart of Canada.
Last night, a group of developers and I sat in a room and examined Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas". What a great event. I had a blast. Lots of great questions, tons of excitement about the technology - what more could a developer want?
It was great making new friends. To my new friend, Ashley who sat in the front row: Thank you very much for asking your questions during my talk. You certainly challenged my assumptions - which is a good thing, by the way - and got me to show off some of the obsecure features of ASP.NET "Atlas".
Many thanks to the fine folks from the Edmonton .NET User Group (EDMUG) for hosting the event. It's always great to hang out with the folks up in Edmonton. Edmonton rocks the house.
Edmonton. The City of Champions. It's good to be back. Yes, I'm here in our nation's sporting capital where tonight, I plan to excite the local developer community with the wonders of ASP.NET "Atlas".
I arrived in Edmonton earlier this morning on Westjet, the world's greatest airline. God bless this airline. They "get" customers. Satellite TVs, leather seats, friendly staff - what more could you want?!
An interesting sidenote: The aircraft I flew on this morning was approximately one (1) month ago. Yup. I got to fly on Westjet's newest 737-600. It was so new - in fact - that they didn't even have the TVs installed! But that didn't matter much to me. At six o'clock in the morning, all you care about is sleep.
Attention Edmonton! I look forward to seeing you at tonight's event!
Last night, the Developer Night in Canada (DNIC) user group tour kicked off with a bang in Winnipeg. With approximately 70 people in the audience, I tried my best to show some of the coolest features of ASP.NET "Atlas". For some folks, Asynchronous JavaScript and XML (AJAX) and ASP.NET "Atlas" just clicked. For others, it took a while to make the mental leap forward into this brave, new world. At the end of the presentation, I think I had enough people convinced that what I was showing them was, ultimately, goodness.
During my presentation, I got a lot of great questions. Many of them I could answer, while others I could not. Earlier this morning, I spent some time doing some research and found answers to some of the questions asked last night.
For those folks looking to find out more information about ASP.NET "Atlas" XML script, check out Nikhil Kothari's Weblog. (A great resource on ASP.NET "Atlas".) Specifically, he has an entry where he describes some of the reasoning behind this technology. You can read it here.
For those folks who asked about the caching story with ASP.NET "Atlas": Check out Scott Guthrie's Weblog post on ASP.NET applications in debug mode for more information.
And for those folks who asked me questions that I couldn't answer: Please make sure to send me your questions. (You can reach me here.) I will try to get them answered ASAP.
Update: I've posted my photos of the event to my Flickr account, which you can see here. (These photos were taken at the very beginning and end of the event.)