Embeddable IM Control

Windows Live Messenger now has an IM control you can embed in your pages... written in Script#. I also have some thoughts on what I'd love to see from this control as it evolves in terms of programmability and monetizability.

The folks from Windows Live Messenger just released an embeddable messenger control that you can embed into any web site, without any programming. Basically you can head over to the Messenger settings page to create the HTML snippet (an iframe) that you can embed into your page. You do need to allow publishing your presence information and grant permission to let anonymous site visitors to initiate an IM session.

The control allows the visitor initiate a chat session with the invitee specified in the iframe URL. In most cases, for example if you're adding this chat control to your own site, the invitee would be you. However, I can see some application scenarios where the application dynamically picks the invitee ID at runtime.

The screenshot of the control is on the left. It is a pretty basic chat control at this point. I have a few ideas for what I'd like to see from the control. More on that below.

One super exciting aspect of this control for me personally is that it was coded pretty much entirely in Script#. A simple view source on the iframe page will show you it is using the Script# framework. The folks in Messenger have been an early adopter and contributor to script#, as well as provided a lot of feedback (thanks Steve!). They have built a nice messenger framework for use on web pages, and got a bunch of productivity from using C# as their authoring language, as well as everything else you get from choosing C# in terms of tooling infrastructure. As far as I know, this is the first product publicly released from Microsoft that was built using Script#. There are other things in the works of course... such as Office Live Workspaces, and more, that I'll point to as they come out live. :-)

I'd love to see this control mature and offer greater capabilities in terms of customizability and programmability as well as monetizability as it evolves.

In terms of customizability, some level of theming (fonts, colors) would be a start. A scriptable OM on top of the control would be great for developers. I'd love to be able to handle events to indicate a conversation was started, or to allow the hosting page to specify who is initiating the conversation, their display picture, the topic of conversation etc. This would allow deeper integration of IM capabilities into some other larger application scenario. In terms of monetization, it would be nice if there was a reward system in place for sites that trigger installation of the Windows Messenger client. Or for the app to insert an ad at the beginning of the conversation or bottom of the conversation window, or for the ability to convert some text in the conversation on the fly to a referral link. Some of these may be in the works. These are just some initial (and personal) thoughts...

Posted on Friday, 11/9/2007 @ 11:19 AM | #Script#


Comments

12 comments have been posted.

Sandeep Karnik

Posted on 11/9/2007 @ 1:11 PM
Awesome...Just too cool concept and there are so many opportunities here to make it more and more interesting!

Matt Blodgett

Posted on 11/9/2007 @ 1:44 PM
Very cool, Nikhil.

Is there any chance of Script# becoming an official Microsoft product?

Nikhil Kothari

Posted on 11/9/2007 @ 1:55 PM
Can't say much about "official" product at this moment, since there isn't a specific plan right now - but there is already a vteam with members of various groups using it, including Messenger of course... which in the end might be the better thing anyway (sort of like WiX, if you've used that).

charlie S

Posted on 11/9/2007 @ 2:37 PM
My company would love to implement something like this on our website so we could help customers instantly, but we have hesitated to do something like this because the conversations with the customers would not be stored for later searching. So right now we keep all client conversations in outlook/exchange. If Microsoft can integrate this with exchange so the chats get stored then this would be something we would not only use but pay quite a bit for.

Jason Kealey

Posted on 11/9/2007 @ 4:39 PM
Interesting. We're looking at including something like this into our point of sale software. Ideally, we'd like to have all users share a chat room instead of IM a single person, but it would be an interesting twist for support. We're working in a locked down environment so need to be able to block all popup windows or hyperlinks... any suggestions?

Pedroafa

Posted on 11/12/2007 @ 10:20 AM
Hi, we are developed a gadget using the Presence API to used in ours blogs. It is a little control where you can see your messenger status and if you want, you can use it in your blog too with a iframe. I posted more information in my blog.

My blog uri is http://kartones.net/blogs/sector7g/

mosa3d

Posted on 11/12/2007 @ 6:54 PM
thank you ..

Dan Finch

Posted on 11/13/2007 @ 9:55 AM
You make me wish I didn't like javascript so much.

Nikhil Kothari

Posted on 11/13/2007 @ 12:14 PM
Dan Finch - I am guessing you're alluding to javascript vs. script#. You can still like (or rather have to like) Javascript - its great for prototyping, experimenting etc. The value from script# especially comes when applies to bigger projects (size, # of devs, length), longer term maintainability, discoverability/readability, being able to apply other tools etc. You still have to have some sense of javascript, because you have to keep in the runtime environment in mind, even if programming in script#.

John S.

Posted on 11/13/2007 @ 12:40 PM
Does this only work (on the receiving end) with the official MSN messenger client? I can't get it to work with Trillian or the MSN client on my TMobile Sidekick. In the control, I keep getting: "The following message could not be delivered"

Aakash

Posted on 11/21/2007 @ 9:39 PM
nice move, I believe this would add extra value to msn messenger.

Steve Gordon

Posted on 12/1/2007 @ 2:36 PM
I am one of the developers responsible for the IM Control--it's great to see such interest in it. Earlier this week, we updated it with additional functionality. In particular, you're now able to theme the control either by picking a theme from the settings page or customizing it yourself. Additionally, we've added support for an opt-in flow whereby you can ask your users to enable web presence and then pass their ID to you. Detailed documentation for the control has been added at: http://msdn2.microsoft.com/en-us/library/aa905675.aspx
We've created a forum at http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1987&SiteID=1. If you've got questions or suggestions head over there and we'll do our best to help you out.
The discussion on this post has been closed. Please use my contact form to provide comments.