Wabber v0.1 – WPF Jabber Client
AMIM
A long time ago I tried making a MSN Messenger (/Windows Live Messenger) service client, using WPF. This was certainly fuelled when Yahoo announced their WPF client for Yahoo’s IM Network. Unfortunately, my C# skills at the time certainly did not extend to making a library capable of connecting to MSNP reliably, particularly the later and more interesting versions (ie, v11+). I turned to the MSNPSharp library (which is based on DotMSN), but unfortunately I had difficulty following the logic of it (different authors between MSNPSharp and DotMSN I believe led to some inconsistencies in the code), and with no documentation, I eventually abandoned the project.

The above picture is actually ‘live’, connected to WLM. Sending/Receiving messages works fine, its just any other automated data that usually crashes it out. Display Pictures worked at one stage, but only from the official client, not Trillian and the like.
Introducing Wabber
Over the past few days/weeks, I was toying with making my own Twitter client like Will, and he suggested a really cool idea of using the ‘instant notification’ method (rather than scraping 70 times/hour) by connecting via XMPP (GTalk).

To understand the Jabber-Net library, I’ve sort of blown it more into a Jabber client than just a small addition to my twitter client, named Wabber. It currently only connects to Google’s Gmail/GTalk server (hard coded for simplicity), so you’ll need an account to get started.
Features
- Filtering contacts (ie, “Search for contact” instantly)
- Yahoo style “tiling of contacts”
- Yahoo style of “resize shows/hides details” (not shown in this version though)
To Do for vNext
- vCard decoding/processing so names are prettier, which will let me show avatars, proper names, etc.
- Simplify multiple contact logins to a single contact, rather than one for every presence (including offline!) notifications
- VoIP (via Jingle)
- Logging
- Error handling/notification of failed logins/etc
- Add/Remove contacts
- “Conversation Manager” doesn’t always associate the same person
- Moving of window
- etc
Download
(Source to follow, need to add documentation, and more importantly, error handling)




I’m really intrigued by this, and would love to take a look at the source code if possible. Maybe it could live up on CodePlex?
Unfortunately I seem to of lost the source code for it. I’ll have a dig around.
I did end up making a Twitter client which had integrated Jabber for instant notifications, unfortunately Twitter turned that off quiet some time ago :(
Show us the source code already ! :)
PLEASE post source code. There are no good WPF examples like this out there. YOU ROCK!!!!!!!!!!!!!
PS Post it tonight, you know you want to. I DARE you.
Source code ready yet?
A few of these comments are resembling spam (given they’re coming from the same or VERY similar IP addresses, but with random names). I’ve already said I can’t find the source code for it.
If anybody genuinely wants it, shoot me an email via the contact page on my blog, and I’ll create some demo code. It won’t be the same as the above app as I simply don’t have it anymore.
I have an interest:
How does GroupByOnlineConverter work? I used reflector and that seemss to be the method helping you with the hierarchal data template. Source code for THAT section would be great. Thanks.
GroupByOnlineConverter functions as the name describes, by grouping those who are online, those who are offline. It is a grouping converter, it takes an object, does a comparison on it (if online return true, else false).
Bea Stollniz has some information relating to grouping: http://bea.stollnitz.com/blog/?p=19
I don’t believe you’re serious about wanting the source code, otherwise I would have an email sitting in my inbox from you, or you would have read the comment where I’ve mentioned I dont’ have the bloody code anymore.
How abouts the images in the treeview? Thats awefull clever.
Hi Paul, very nice MSN client!
I just started my own client for an internet community. Hope I can get a protocol for this community later so I began implementing a client with pluggable protocols with MSN being my first protocol.
MSNPSharp is a little overwhelming at first so I’d like to see how you implemented some of these basic things like conversations. (Right now I can retrieve contact lists, yay!) Additionally, I want to learn a little bit of WPF and like your design. It doesn’t look that complicated but there is so much to implement right now and I don’t want make a prototype using Windows Forms, because chances are that it will always remain that way. :o)
If you still have the sources for your MSN client and are willing to share them, please drop me an email.
Best regards
Erik