Friday, February 23, 2007

Why just MSN? What about supporting other protocols?

First of all, i have tried to write a multi-protocol IM. Turns out that the code was growing exponentially for each protocol i have added. For each different functionality one protocol implements, i had to create an abstraction layer for all of the protocols. I firstly tried to abstract the protocols creating one layer and plugging all the protocols into this layer. This path was wrong because the protocols (MSN, AIM, IRC, ...) are too different. Take for example MSN, it has the Switchboard, SLP, P2P, other protocols don't.

What about telepathy?

I'm sure they managed to abstract the protocols in a nice way with dbus. But telepathy doesn't implement each protocol special features. Take for example MSN, they do not implement custom emoticons, winks, nudges, ... For now they only have implemented the basics like messaging, contact list and of course video (which isn't so basic). I'm not criticising them here. This, i belive, was their goal and it is very useful for some mobile and desktop users. This makes me think on the next topic which is the target audience.

Target Audience

If you are reading this, you are probably a developer or someone that understands technical details about programming. Being a developer, you don't care much about winks, emoticons and all those silly things. But what do users think? Most users uses Windows and the official msn client which has support for a lot of "silly" things. Our users (the monkey messenger users) have friends that uses Windows and those friends wants to send our users love winks, funny winks, funny emoticons. They want to express their feelings with all those "silly" things. So, what is "silly" for us developers may not be silly for other users. Think about your younger brother or sister. I bet their IM client is filled with animated images.
Take for example Gaim. Does it suit for your little brother/sister? Do they understand that complex account dialog? Would they use it? Probably not. I always think about my mom. She has a doctorate and is a very clever woman, but would she be able to use a multi-im client like Gaim? No!
So this is our target audience, people that likes to express themselves, people that doesn't use more than two protocols (considering that they can use two clients, one for each protocol), people that doesn't want to use complex user interfaces or have to stop to think about how it works.

But.. what does complex UI have to do with multi-protocol?

There was another solution to implement a multi-protocol client which was abstracting the user interface so each protocol would communicate directly to the interface. This would work better i think, but it would still generates problems like code size, manutenability and specially usability.
Take for example MSN. It offers some user status like away, busy, out to lunch, on the phone, ... ICQ offers other users status like away with custom away messages which MSN doesn't have. Why a user that only uses MSN would want to type an away message? It won't be displayed to other contacts. We could set the MSN personal message to display this message, but this is not the purpose of display messages. So, the users ends having functionality in their multi-im client that they would never use, or that they will use and it will not take effect on the current protocol.
Just hide this options and make special cases for each protocol! There we go again, complex code, hight abstraction and exponential code growth and specially usability. The UI needs to be consistent, the user would be confused if sometimes an option is there for that protocol and sometimes it isn't for the other protocol. The user doesn't understands about protocols, they just want to talk with their friends and co-workers.

There are another ways to do it.

Think about galago. Take a look at Gimmie, picture the Novell Computer menu with a People tab page. Think! What is the real purpose of having a multi-im client? For me it's having all my contacts on only one place. That can be archived with multiple single IM clients having interfaces to interoperate with one single contact list.

2 comments:

diego said...

I like your ideas and as far as I tested MonkeyMsn they are properly implemented, however I would try to support Telepathy as much as possible.

Greetings.

yagmurunsesi said...

tesekkürler
Msn Spaces Alanımızı Kapatmak Yayınlanma 12 Mayıs ... *-MSN GÜVENLİK-SECURİTY— Msn Toplu mesaj gönderici 1.0 Yazan: kuryeler Şub... Msn Messenger hesabınızı yedekleyin Msn”de webcam”ınızın olduğunu kimse göremesin. Msn programları arsiv Kategori: Msn — burakcan45 @... MSN Reaper 1.3 27 07 2007 Msn Nickleri Msn Sözleri Küfürlü Nickler :D Msn Sö... :.. MsN Nick Üretici ..: Yazım tarihi Mayıs 5, 200... msn hack konusuna el atmıcaktım ama bilginiz olsun... Yeni Msn Dondurucu,Kitleyici ! Msn Hack, msn dondu... Msn Smiley hareketli ifadeler tam 537 adet Msn den tv seyretmek resimli anlatım Kürtçe MSN Şarkısı İZLE Kürtçe MSN Şarkısı: "Hal M... mutlu nickler By admin on Nisan 12th, 2009. Filed ... Fenerbahçe Msn Nickleri [04:28 | 0 yorum ] Fenerba... 2009 Msn Nickleri - 2009 Msn Nickleri Aşk Sözleri,... Msn Messenger Live konuşmalarını kaydetme (Msn che... Muro Sözleri - Muro Msn Nickleri Windows 7 MSN Sorununu Çözün 12 Nisan 2009 17:03 Msn Tv - Bilmeyen Varsa İçeri :d AIO - Evil MSN v3.0.6 MSN Phish 1.0 http://websitesiyapamak.blogspot.com/ EtherBoss MSN Monitor v1.2 Download: Mess Black MSN Booter Download: MSN Skin Portable MSN 7.5 ENG (Direct HTTP) « on: September... EatCam Webcam Recorder for MSN 1.6 Category: App... MSN Pictures Displayer 3.0.1.1 MSN Slide Max v2.0.1.8 MSN Web Messenger Script MSN Spy v1.6 MSN Christmas Emoticons Pack [Friday, December 19,... 12,300 MSN Emoticons&Smileys! > Msn Messenger Giga Pack 1000 Emoticons 600 Winks... Msn deki viruslerden trojenlerden kurtulun MSN Vir... Evil msn 3.0.6 Msn webcam kayıt programı MSN Webcam Recorder 13... MSN Nightmare v 2.1 Turkcell Süper Lig Kurtlar Vadisi Msn Nickleri By trhaberizle Kurtla... msn nick en damar en etkileyici sözler MsnPlus live 4.81 Msn Plus’ın Birkaç Bilinmeyen Yönü (bilmeyenler ic... MSN sizi kim silmiş, kim engellemiş, kim çevirimdı... Çoklu MSN oturum açmak (programsız) 05 Ocak 2009 Y... MessPatch Light indir MSN’i düzenle 06 Nisan 2009 ... Çoklu MSN oturum açmak (programsız) 05 Ocak 2009 Y... MSN Plus 2009 indir Yeni özellikler kazan 06 Nisan... Msn plus Boşta Göstermek 11 Nisan 2009 Msn plus kullananlar için güzel nickler Çalınan Hotmail Hesabını Kurtarmanın En Hızlı Yolu... msn hack nasıl yapılır izleyin MSN Hack Programları Kanka MSN 0.4 Beta Written by EmreEmre No Comments... Çoklu MSN Açma Yaması Written by EmreEmre No Comme... Msn Şifre Kırma Programı Msn şifre kırıcı, çalınan msn’i geri alma programı... Msn Şifresi Kırma Programı Merhaba Dünya! Romantik Msn Nickleri 24 Mart 2009 Yazan admin ... MSN Türkiye’den kadın portalı Yayınlanma Melih Bay... Msn Plus Live İle Avatarlarınızı Slayt Halinde Gör... MsN Plus Ses EfekLeri En iyi 10 MSN Plus Eklentisi (Paket - 01) Post Msn İçin Arapça Nİckler ve Anlamları manyak nıckler Standart msn için komik nickler ve baş yaran lafl... Tecavüzcü Çoşkun avatarları Msn Emotions - Smiles 800 Adet Upload By Ephemer... sec begen msn nıckleri Msn Şifrenizi Kırılmaz Yapın Msn Hata Veriyor - Hata Kodu 80040154 Cözümü Farklı msn nickleri MSN Ters Yazı Sihirbazı MSN Live Hesabı Ekleme şekilli yazılar - şekilli msn yazıları - kısa msn ... Aşkı Anlatan Msn Nickleri Telefon görüşmeleri artık MSN’den daha ucuz Msn İfadeleri buradan indirebilirsiniz. msN durumlarının anlamları xD MSN sapıkları Listesi :) Harika Msn temaları Gönderen : admin | Kategori : ... Facebook - Msn - Twitter Hesaplarımız Biz Ölünce N... Evlilik Msn Nickleri Yazan: admin 27 Eylül 2007 Msn de Çevrimdışı Oturum Açanları Anlayın Almanca Güzel Sözler ve Msn Nickleri (türkçe) Msn'de Silen kisileri gorme !! Microsoft’un MSN kullanıcılarına yanlışlıkla gönde... Çok Farklı Msn Nickleri burada Atatürk Avatar live messenger ileti avatar al Msn Messenger Live süslü harfler ifadeler, korkunc... açık kızlar , cam acan kı , chat yap , güzel kı... Msnadresi.org ne kadar başarılı.. Öncelikle tüm s... Msn Resimleri -Kalp- Avatarları kalp avatarı msn