Messenger.NET Futures

Two things have revived my interest in Messenger.NET (though it needs a new name – any suggestions?). Jamie’s addin and the upcoming release of RTC Client API v1.2. The new client API is designed lockstep with Microsoft Office Real-Time Communication Server 2003 (otherwise known as just RTC Server).

The current version of Messenger.NET is built on imcli, an implementation of MSNP7 – the IM protocol used by MSN Messenger prior to v5. While MSN Messenger still uses later versions of that protocol, Windows Messenger can support other protocols as well, such as Exchange 2000′s IM Service. The new RTC Server and Client API are using the IETF’s Session Initiation Protocol (SIP) and the SIP Instant Messaging and Presence Language Extensions (SIMPLE). That seems like a much more interesting foundation to build an app / addin around.

One quick downside of the new RTC Client API – it’s still COM based. The v1 shipped with Windows XP way way back before CLR and the new v1.2 is a refinement to that model. Of course, part of a “next-gen” Messenger.NET implementation could include a managed wrapper around that COM API. I’ve been diving into Code Access Security (CAS) recently, so building such a library would be a good opportunity to practice building secure assemblies.

Coming Up For Air

Wireless access has been available, but time has not. I’ve at least caught up on my DevHawk email. David Miles ported my Page Layout UserControl project to VB. Jamie Cansdale made Messenger.NET into a VS.NET addin. And George Datuashvili and Doug Purdy both pointed out that the example XML in my XML Schema Doesn’t Need Inheritance entry is nondeterministic. I’ve got quite a backlog, but I will get though it later this week.

DemoConfig Macro

I just posted a little macro for changing the VS.NET default font (family, size and boldness). Of course, this is to automate one of Scott Hanselman’stop presenter tips.

Where I’ve Been

It’s been pretty thin around here on posts. I’m at this big internal MSFT conference this week and I was in Phoenix for work last week. So I spent as much of the weekend away from the computer as possible. As for the rest of this week, wireless access is pretty ubiquitous so I’ll post when I can.

Here’s what else going on:

  • Got to hear John Zachman speak yesterday about his enterprise architecture framework. Pretty cool. I’m still digesting it, so more thoughts on this later.
  • I haven’t worked on SharePoint Syndication at all since releasing v0.4.1. A few hearty souls have joined the workspace, but I haven’t even contacted them beyond admitting them as workspace members. I was thinking that for v0.5, the big feature would be to support some SharePoint Portal Server things for syndication (my site, best bets, searches, etc) but I haven’t even had time to get the B2TR version of SharePoint Portal installed.
  • I got the go-ahead from Chris Sells to host his imcli library as part of a Messenger.NET GDN Workspace. Look for that soon.

StringIterator Utility

I just posted a cool utility class called StringIterator. It is an implementation of a C++ style random iterator for a CLR string. I needed it for the project I am working on.

I also reorg-ed my site a bit, all the utility classes are now under the Articles section. There’s also a CRC class and a non-buffered memory stream class available from there. Enjoy.