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.