 |
ICQ Development with the ickle Library
by Konstantin Klyagin, in Tutorials - Sat, Dec 29th 2001 00:00 UTC
In recent years, the popularity of instant messaging solutions has
grown dramatically. It's now difficult to say who was the first to
invent something more rapid than email, but there is no doubt that
among the wide variety of existing IM solutions, ICQ is the most
popular one.
Copyright notice: All reader-contributed material on freshmeat.net
is the property and responsibility of its author; for reprint rights, please contact the author
directly.
In the GNU world, as usual, there is choice, for there are a lot of
ICQ client applications to choose from. They are graphical,
console-based, GTK+-based, Qt-based, ncurses-based, commandline-based,
skinnable, Web-based, etc. I am the author of one of them, called centericq, which
is intended to perfectly suit textmode freaks like me. Recently, it
became not only a client for ICQ, but for other IM systems as well.
Mirabilis ICQ was created back in 1996 by several Israeli guys, was
free-of-charge software, and gained great popularity because it was
easy to use, fast, and nice. Initially, there was a client program for
Windows, then they wrote ones for MacOS and PalmOS, and some kind of a
Java client which was supposed to work under all the OSes, but which
now seems to be outdated. There had been no movements towards creating
an official client for Linux (and other Unices) so far. Also, there
had been no protocol specification, as they shipped only a Windows DLL
which could be used in third party programs. The Free Software
community reacted to it slowly, and the first successful attempt to
make a GPL-licensed
client was made by Matthew Smith several years ago. Dennis
V. Dmitrienko then used its code to make a universal library for ICQ
applications development, named icqlib. Though some
authors of popular Open Source ICQ applications such as Licq used their own
code, icqlib was widely used in various client
programs. Unfortunately, after some time of silence, the project
seemed to be dead, but I kept using icqlib in centericq, making my own
minor corrections to its code.
Protocol Problems
Everything went well -- I implemented White pages search and some
other features icqlib was missing -- until Mirabilis decided to get
all of their users to use their new software (and new protocol)
several months ago. I can only guess this is what happened, because
first, offline messages sent by the server on every login were not
automatically wiped out, and then, after some time, messages sent
through the ICQ server disappeared in quite a random way. Also, find
queries returned nothing, etc. The same thing happened to their own
old icq99 client for Windows. Well, there was nothing wrong about it,
since the protocol was their property and they had the right to do
anything with it, so they're not the ones to blame.
Obviously, this had a bad effect on Linux (and *BSD and other Unices)
users. They suddenly weren't able to use any of the available clients,
which all used the outdated protocol. As an author of such a client, I
was quite upset, mainly because I was using it for my everyday
communications. centericq users started complaining about all the
problems they had, and, every time, I had to respond that there were
server problems.
I didn't want my work to be in vain, for I already had a useful
interface of menus, windows, and dialogs in my software. On the other
hand, I had no passion to learn the new ICQ protocol myself; it would
require a lot of time to get a clue about their formats, time I didn't
have. I had just moved to another country, and had to arrange
everything here and start my new job. I decided to take a look at
other GPLed IM libraries and incorporate them into centericq
gradually, to enable me and users of my software to at least use
something. I had some time to restructure centericq's internals, to
make it easier to add new protocols, etc. It was quite amusing, and
resulted in support for the MSN and Yahoo! protocols. I managed to
make something like gaim or Everybuddy, but
for my favorite console environment.
Though I was quite happy with Yahoo! (finally, I understood why our
superia at Websci prefers it to
ICQ <grin>), I was actively looking for something to use to
repair the ICQ protocol in my program. I found it in a small project
named ickle, lead
by Barnaby Gray. The description spoke of v8 protocol support. When I
downloaded the source, I expected the protocol code to be roughly
knocked into the client program code. Unfortunately, this is what
usually happens, because the authors don't pay enough attention to the
code design. But I was amazed; the protocol handling code and the
client were completely separate, had a nice C++ design, and were split
into classes in a very nice way. Barnaby also appeared to be a nice
guy, for when I dropped him an email with some questions concerning
his code, I got an answer in about 5 minutes. It was courteous and
contained an exhaustive explanation for everything I asked.
Now, after 6 days of using his library, I can consider myself an
expert at its interface and usage. What I want to say is that even
now, it's quite ready for use in your applications, whatever you
write. If you're reading this and you're an author of an ICQ client
program, it's time for you to migrate to ickle library to make your
users happy. Also, if you need to write something which uses the ICQ
protocol (to send alert messages automatically or to fetch user
information, for example), it's just ideal.
An Introduction to ickle
This part of the article is intended to be a small (really small, in
fact) attempt to document the ickle library, and to give you some
starting points. Again, I was just amazed with Barnaby's C++ design
skills. From the first glance, I thought that if I'd ever teach
someone C++ and object oriented design, the source of ickle would be
used as one of the best examples.
The main client class is named ICQ2000::Client, and it resides in the
Client.h file. It controls all the communications, and it's what you
want to use first. The entire library is callback-driven. Callbacks
are implemented using libsigc++, a C++
signalling library. First, some callbacks need to be set. libsigc++
requires that the callbacks' owner class be derived from SigC::Object.
This piece of code contains the definition of our program's main
class, and the constructor code:
#include <set>
#include "Client.h"
#include "events.h"
using namespace ICQ2000;
using namespace std;
class SimpleClient: public SigC::Object {
private:
Client cli;
set<int> rfds, wfds, efds;
bool acked;
MessageEvent *msg;
Contact destContact;
void connected_cb(ConnectedEvent *c);
void disconnected_cb(DisconnectedEvent *c);
void logger_cb(LogEvent *c);
void socket_cb(SocketEvent *ev);
void messageack_cb(MessageEvent *ev);
public:
SimpleClient(unsigned int ourUIN, const string pass,
unsigned int destUIN);
void exec();
};
SimpleClient::SimpleClient(unsigned int ourUIN, const string pass,
unsigned int destUIN): cli(ourUIN, pass), destContact(destUIN) {
cli.connected.connect(slot(this, &SimpleClient::connected_cb));
cli.disconnected.connect(slot(this, &SimpleClient::disconnected_cb));
cli.logger.connect(slot(this, &SimpleClient::logger_cb));
cli.socket.connect(slot(this, &SimpleClient::socket_cb));
cli.messageack.connect(slot(this, &SimpleClient::messageack_cb));
acked = false;
msg = 0;
}
The "connect" and "disconnect" callbacks are executed on appropriate
events, "logger" is be used to print log messages, and "messageack"
reports messages' delivery status. The "socket" callback needs special
attention. It's executed every time the set of socket descriptors
controlled by the library is changed. This example maintains the sets
in the rfds, wfds, and efds member variables that represent read,
write, and exception watched sockets respectively. Here's the
callbacks code:
void SimpleClient::socket_cb(SocketEvent *ev) {
int fd;
if(dynamic_cast<AddSocketHandleEvent *>(ev) != NULL) {
AddSocketHandleEvent *cev = dynamic_cast<AddSocketHandleEvent *>(ev);
fd = cev->getSocketHandle();
cout << "connecting socket " << fd << endl;
if(cev->isRead()) rfds.insert(fd);
if(cev->isWrite()) wfds.insert(fd);
if(cev->isException()) efds.insert(fd);
} else if(dynamic_cast<RemoveSocketHandleEvent *>(ev) != NULL) {
RemoveSocketHandleEvent *cev = dynamic_cast<RemoveSocketHandleEvent *>(ev);
fd = cev->getSocketHandle();
cout << "disconnecting socket " << fd << endl;
rfds.erase(fd);
wfds.erase(fd);
efds.erase(fd);
}
}
void SimpleClient::connected_cb(ConnectedEvent *c) {
cout << "Connected" << endl;
msg = new NormalMessageEvent(&destContact, "Hello");
cli.addContact(destContact);
cli.SendEvent(msg);
}
void SimpleClient::disconnected_cb(DisconnectedEvent *c) {
if(c->getReason() == DisconnectedEvent::REQUESTED) {
cout << "Disconnected as requested" << endl;
} else {
cout << "Problem connecting: ";
switch(c->getReason()) {
case DisconnectedEvent::FAILED_LOWLEVEL:
cout << "Socket problems";
break;
case DisconnectedEvent::FAILED_BADUSERNAME:
cout << "Bad Username";
break;
case DisconnectedEvent::FAILED_TURBOING:
cout << "Turboing";
break;
case DisconnectedEvent::FAILED_BADPASSWORD:
cout << "Bad Password";
break;
case DisconnectedEvent::FAILED_MISMATCH_PASSWD:
cout << "Username and Password did not match";
break;
case DisconnectedEvent::FAILED_UNKNOWN:
cout << "Unknown";
break;
}
cout << endl;
}
}
void SimpleClient::logger_cb(LogEvent *c) {
switch(c->getType()) {
case LogEvent::INFO:
cout << "\033[34m";
break;
case LogEvent::WARN:
cout << "\033[31m";
break;
case LogEvent::PACKET:
case LogEvent::DIRECTPACKET:
cout << "\033[32m";
break;
}
cout << c->getMessage() << endl;
cout << "\033[39m";
}
void SimpleClient::messageack_cb(MessageEvent *ev) {
Contact *ic;
if(ev == msg)
if(ev->isFinished() && ev->isDelivered()) {
cout << "Message has been delivered well. Terminating" << endl;
acked = true;
}
}
As you can see, every callback receives a pointer to an event class as
a parameter. Interfaces of the event classes can be found in the
events.h header file, and are quite self-descriptive. Since our
example is only intended to connect to the ICQ network, send a
message, and disconnect, the callbacks behave as shown above. As soon
as a connection is established, a message is created and sent. Please
note that the SendEvent() method receives a pointer as a
parameter. This is necessary to make message acknowledgements
work. The pointer lives until it's passed to the messageack callback,
then is destroyed. Also, please note that in order to receive messages
from someone, you should have their UIN on your ickle contact list, so
you'll need to call the addContact() method of the Client class.
Finally, here are the SimpleClient::exec() method and the main()
function:
void SimpleClient::exec() {
int max_fd;
set<int>::iterator i;
cli.setStatus(STATUS_ONLINE);
while(!acked) {
fd_set rf, wf, ef;
struct timeval tv;
max_fd = -1;
FD_ZERO(&rf);
for(i = rfds.begin(); i != rfds.end(); i++) {
FD_SET(*i, &rf);
max_fd = max(*i, max_fd);
}
FD_ZERO(&wf);
for(i = wfds.begin(); i != wfds.end(); i++) {
FD_SET(*i, &wf);
max_fd = max(*i, max_fd);
}
FD_ZERO(&ef);
for(i = efds.begin(); i != efds.end(); i++) {
FD_SET(*i, &ef);
max_fd = max(*i, max_fd);
}
tv.tv_sec = 60;
tv.tv_usec = 0;
if(select(max_fd+1, &rf, &wf, &ef, &tv)) {
for(i = rfds.begin(); i != rfds.end(); i++) {
if(FD_ISSET(*i, &rf)) {
cli.socket_cb(*i, SocketEvent::READ);
}
}
for(i = wfds.begin(); i != wfds.end(); i++) {
if(FD_ISSET(*i, &wf)) {
cli.socket_cb(*i, SocketEvent::WRITE);
}
}
for(i = efds.begin(); i != efds.end(); i++) {
if(FD_ISSET(*i, &ef)) {
cli.socket_cb(*i, SocketEvent::EXCEPTION);
}
}
} else {
cli.PingServer();
}
}
cli.setStatus(STATUS_OFFLINE);
}
int main() {
SimpleClient s(123, "xxx", 456);
s.exec();
return 0;
}
Sure, the socket descriptors processing could be done in a nicer way,
but it's this dumb here for the sake of clarity. Note that the
SimpleClient's constructor takes login parameters and the UIN to which
the message is to be sent.
For another good example, look in the ickle package, where you'll find
example/shell.cpp source which implements an auto-respond mechanism
for ICQ.
Conclusion
I conclude that even though the ickle library misses some major
features such as finding users and extended details lookup, it's
already more than just usable. It's possible to send messages, URLs,
SMSes, authorization requests, and acknowledgements, to register new
UINs, to read away messages, etc. The major part of the work is
done. At this moment, 9th December 2001, 22:30:07 EET, it is probably
the best ICQ protocol implementation which also has all the benefits
of a GNU project.
Author's bio:
Konstantin Klyagin can be
found at http://konst.org.ua/.
T-Shirts and Fame!
We're eager to find people interested in writing articles on
software-related topics. We're flexible on length, style, and
topic, so long as you know what you're talking about and back up
your opinions with facts. Anyone who writes an article gets a
t-shirt from ThinkGeek
in addition to 15 minutes of fame. If you think you'd like to try
your hand at it, let jeff.covey@freshmeat.net
know what you'd like to write about.
[Comments are disabled]
|
Referenced categories
Topic :: Communications :: Chat :: ICQ
|
Referenced projects
centericq - An ncurses-based client for ICQ, Yahoo!, AIM, IRC, Jabber, MSN, and LiveJournal.
climm - A portable, small, yet powerful console-based ICQ and XMPP client.
ickle - An ICQ2000 client using the GTK-- graphical toolkit.
icqlib - The ICQ library.
Libsigc++ - A callback framework for C++.
Licq - An advanced graphical ICQ clone.
Pidgin - A GTK2-based instant messaging client.
|
Comments
[»]
Unable to use Client.h and events.h
by kojie - Dec 15th 2003 18:21:05
i already installed all the libraries with the dependencies
but im unable to compile
I get these errors:
* /home/diablo/dev/icq_send/src/icq_send.cpp:9:20: Client.h: No such file
or directory
* /home/diablo/dev/icq_send/src/icq_send.cpp:10:20: events.h: No such file
or directory
<other lines trucated- most are jst related to the missing files>
although they are already in the:
/usr/local/include/libicq2000/libicq2000/Client.h
/usr/local/include/libicq2000/libicq2000/events.h
any ideas ??? help asap
[reply]
[top]
[»]
Having an Open Protocol Wouldn't Matter
by Roger Clark - Feb 22nd 2002 18:55:17
No offense, but there are over a hundred
million users of ICQ, and probably just as many
AIM users, and a growing MSN user base.
If I were to develop anything, it would be an
implementation of the ICQ protocol. Every single
person I know who uses a computer uses ICQ;
and they have no clue what Linux, GPL, or even
what a "protocol" is. It wouldn't be easy to get
those people to switch to an open system, and
without the huge userbase, the open system
wouldn't do much good.
No amount of advertising will get anyone close
to the number of users that ICQ's brand name
has gotten it, and AOL/MSN's members have
brought their IM services.
It is only logical, unless you wish to talk only to
geeks, to develop open implementations of these
closed protocols. We already have IRC -- look how
long IT'S been around, and how many normal
people use it.
[reply]
[top]
[»]
Instant Messaging is 'old'
by weissel - Jan 14th 2002 06:29:50
> It's now difficult to say who was the first to
> invent something more rapid than email[...]
It seems that this idea was present at _or before_ november 1981:
RFC 0788 (Simple Mail Transport Protocol, superceeded by RFC 0821 in
August 1982, both by Jonathan B. Postel, RIP) includes( next to the MAIL
FROM) the SEND FROM, SAML FROM (Send And MaiL) and SOML FROM (Send Or MaiL)
commands.
Send here "requires that the mail data be delivered to the user's
terminal if the user is active (and accepting terminal messages) on the
host." (RFC 0788, "3.4. SENDING AND MAILING").
Of course this may not be the earliest mention, but it should provide a
data point.
[reply]
[top]
[»]
LICQ supporting v8 protocol
by Warren E. Downs - Jan 8th 2002 17:30:37
The LICQ in CVS is working on supporting the v8 protocol. It worked
"out of the box" for me at least as well as GAIM did. Though
chat requests still use the older protocol, GAIM (and I presume ickle)
don't even support it at all.
So, thanks for the informative article, however, for a library like this
to be fully useful, it needs to support all the protocol features (such as
direct chat). I'm hoping that will happen, as I would enjoy writing my own
ICQ client, but only if it could have chat, file transfer, etc., as well as
instant messages.
Regarding other's calls to switch to a non-proprietary protocol, I'm all
for that if:
1. The protocol has all the functionality of the proprietary ones. So
far, I haven't seen a jabber client that could do chat, file transfer, etc.
Maybe it's not the protocol's fault, but I don't have time to mess with
it.
2. Servers need to be widely available and able to handle the load of a
large number of users.
3. Transitioning tools for the other clients need to be available for many
platforms, including ICQ on Windows.
[reply]
[top]
[»]
ICKLE and alternatives
by James Skarzinskas - Dec 30th 2001 18:02:50
As many hear have mentioned, ICQ is overused and proprietary. For an open
solution, it seems ironic that so much effort has to be put in to reverse
engineer it and use it for our open clients. I'd be happy to see an
*unlikely* solution. I'd like to see a large open business (such as VA, who
have massive servers) develop and implement an 'open' instant messaging
system. The only difficulty would be in getting users to switch; so it
couldn't use some half-baked GUI like, unfortunately, most X11 programs
seem to have. I may be dreaming, but I'd like to wake up in a world just
that much more open.
[reply]
[top]
[»]
Re: ICKLE and alternatives
by Robert "Jedi" Ramiega - Jan 2nd 2002 05:03:08
> As many hear have mentioned, ICQ is
> overused and proprietary. For an open
> solution, it seems ironic that so much
> effort has to be put in to reverse
> engineer it and use it for our open
> clients. I'd be happy to see an
> *unlikely* solution. I'd like to see a
> large open business (such as VA, who
> have massive servers) develop and
> implement an 'open' instant messaging
> system.
I think that solution You are writing of is already up'n'running. Have a
look at www.jabber.org or www.jabberclient.org. I've been using it for some
months and it works perfectly ok. Just a have a look at it
Happy New Year!
-- --
Just a friendly Jedi Knight
[reply]
[top]
[»]
Re: ICKLE and alternatives
by James Skarzinskas - Jan 3rd 2002 00:16:53
>
> % As many hear have mentioned, ICQ
> is
> % overused and proprietary. For an
> open
> % solution, it seems ironic that so
> much
> % effort has to be put in to reverse
> % engineer it and use it for our
> open
> % clients. I'd be happy to see an
> % *unlikely* solution. I'd like to see
> a
> % large open business (such as VA,
> who
> % have massive servers) develop and
> % implement an 'open' instant
> messaging
> % system.
>
> I think that solution You are writing
> of is already up'n'running. Have a look
> at www.jabber.org or
> www.jabberclient.org. I've been using it
> for some months and it works perfectly
> ok. Just a have a look at it
> Happy New Year!
>
>
Wow! Thanks for the lead :) I'm pleased with what I see on the Jabber
effort!
[reply]
[top]
[»]
ICQ/AIM/Yahoo! and other closed protocols
by Julian Missig - Dec 29th 2001 15:19:24
As mond sort of pointed out already...
Could someone please explain to me why open source developers are so
accepting of these closed protocols? Yeah, I know I'm biased working on an
open one, but I just want to know. It's not like these protocols are even
really good protocols or anything - are they just accepted "because so
many people use them"? You could make the exact same argument for any
other piece of closed source software. There has to be a better reason than
that - what is it?
[reply]
[top]
[»]
Re: ICQ/AIM/Yahoo! and other closed protocols
by Capo Cannonieri - Feb 25th 2002 21:34:51
> As mond sort of pointed out already...
>
> Could someone please explain to me why
> open source developers are so accepting
> of these closed protocols? Yeah, I know
> I'm biased working on an open one, but I
> just want to know. It's not like these
> protocols are even really good protocols
> or anything - are they just accepted
> "because so many people use
> them"? You could make the exact
> same argument for any other piece of
> closed source software. There has to be
> a better reason than that - what is it?
popularity, that is key
-- Capo Cannonieri
[reply]
[top]
[»]
Re: ICQ/AIM/Yahoo! and other closed protocols
by Julian Missig - Feb 25th 2002 21:37:10
>
> % As mond sort of pointed out
> already...
> %
> % Could someone please explain to me
> why
> % open source developers are so
> accepting
> % of these closed protocols? Yeah, I
> know
> % I'm biased working on an open one,
> but I
> % just want to know. It's not like
> these
> % protocols are even really good
> protocols
> % or anything - are they just
> accepted
> % "because so many people use
> % them"? You could make the
> exact
> % same argument for any other piece
> of
> % closed source software. There has to
> be
> % a better reason than that - what is
> it?
>
>
> popularity, that is key
>
Windows is more popular than Linux. Word is more popular than all of the
open source word processors combined. Yet Open Source fans use Linux even
when it would be easier to use windows.
[reply]
[top]
[»]
Re: ICQ/AIM/Yahoo! and other closed protocols
by arne - Aug 3rd 2002 13:53:17
>
> %
> % % As mond sort of pointed out
> % already...
> % %
> % % Could someone please explain to me
> % why
> % % open source developers are so
> % accepting
> % % of these closed protocols? Yeah, I
> % know
> % % I'm biased working on an open one,
> % but I
> % % just want to know. It's not like
> % these
> % % protocols are even really good
> % protocols
> % % or anything - are they just
> % accepted
> % % "because so many people use
> % % them"? You could make the
> % exact
> % % same argument for any other piece
> % of
> % % closed source software. There has
> to
> % be
> % % a better reason than that - what is
> % it?
> %
> %
> % popularity, that is key
> %
>
>
> Windows is more popular than Linux. Word
> is more popular than all of the open
> source word processors combined. Yet
> Open Source fans use Linux even when it
> would be easier to use windows.
>
see it like this: word can be replaced by
openoffice/abiword/kword/emacs/whatever (offcourse there is some tradeoff
of features since you're running free), Photoshop can be replaced by gimp -
a huge tradeoff, but certainly enough for me not doing proffessional art
work, the list can go on, I even select my hardware and play 'outdated'
games just to stay in wonderful linux - which I don't run for ideological
reasons.
however trying to get all my friends (and new friends I meet) to use some
akward IM protocol just because it's free (jabber devs, no offence, I
haven't tried it) really makes no sense to me - when the only reply I get
will be "But ICQ is also free..."
[reply]
[top]
[»]
What about GnomeICU?
by Jeremy Wise - Dec 29th 2001 14:57:16
GnomeICU was one of the first linux ICQ clients on the scene, right after
Matt Smith's mICQ and about the same time as LICQ showed up. GnomeICU (gnomeicu.sourceforge.net)
supports most of the functionality of ickle, but we've been rewriting it in
C as opposed to C++. I must complement the ickle authors, though, on a
great job of laying out the protocol. I remember the days of packet
sniffing late into the night with Matt Smith as we did it ourselves.. it's
not fun ;) As for popularity, AIM and MSN are popular, but they don't come
close user-wise to the numbers ICQ has. Have a great day all!
[reply]
[top]
[»]
Related project: KXicq2
by Herwin Jan Steehouwer - Dec 29th 2001 14:18:00
Hi,
Check www.kxicq.org ! KXicq support most ICQ features and
supports ICQ protocol version 7, wich is much stables then
the old one.
In CVS is fully SMS support ( send, receive and status ),
groups support in contact list, update Home and Work
infomation and MUCH more !
check it out ;-)
BTW is uses kxEngine as the main engine, it has no GUI
features, so it can be used lose from KXicq...
[reply]
[top]
[»]
nice article, good work, BUT better avoid ICQ
by mond - Dec 29th 2001 12:16:43
while it is good that some one did the work to reverse engineer the
ICQ
protocol and make it GPL software there is still one danger: the owners
(or
however buys it next - maybe micro$oft or anyone else) could change
the
protocol again. and they could change it in a way that would not be easy
to
reverse engineer..
then all linux users are suddenly without IM. so i would suggest: if
you
(as a user) can manage to avoid ICQ then you should. bring your friends
that
you want to communicate with to IRC or jabber or something like this..
i think it is dangerous that commercial institutions have too much
influence on the software we can use... the GPL alone does not help here
as
long as the server and the protocol is in their hands..
so use ICQ with caution. better migrate your friends away to IRC or
jabber
while the protocol still works.. so you do not have an unpleasant
wakeup
once some large international corporation wants to fuck you...
mond.
[reply]
[top]
[»]
Re: Curse of the changing protocols
by Eric Crahen - Dec 29th 2001 15:11:36
> ... they could change
> it in a way that would not be easy to
> reverse engineer..
Tell me about it :) I started a project almost 2 years ago to play with
ICQ and make my own client, before here were as many as there were now.
They changed the protocol twice while I was
doing it in my spare time and that was not great fun.
<P>
I looked at some of the packets I had for the newer TCP protocol just for
kicks a while ago - how'd they figure that one out? The earlier version
were pretty simple, but from glancing at the newer protocol it looked even
more goofy as far the strange "encryption" they did goes. I
really didn't spend much time on it because I'm too busy now - but does
anyone have anything they want to relate about how they went about
dechipering that? I'm just curios if there was a faster way than trial and
error.
<P>
Oh yeah, long story short I never did finish my messenger because of the
changing protocols :)
I think it was also, in part, due to my lack of time
and working an other stuff. But you learn alot more than you'd think you
were going to learn when you play around with this sort of thing so I
suppose it was worth it
-- http://www.code-foo.com/
[reply]
[top]
[»]
Re: nice article, good work, BUT better avoid ICQ
by Noviota - Dec 29th 2001 16:17:20
>
> then all linux users are suddenly
> without IM. so i would suggest: if you
> (as a user) can manage to avoid ICQ
> then you should. bring your friends
> that
> you want to communicate with to IRC or
> jabber or something like this..
How do you get a basic computer user, one who had msn preinstalled on
their computer or has used icq for a while to download and use jabber. They
don't understand or care about the advantage of GPL. Why should they care
about using it. I have had no luck in trying to get people to use jabber
and have given up. I have gone to running ccmsn and gnomeicu because of the
instability of the jabber transports. Give jabber SMS, more web interfaces
and maybe I can get them interested from the lack of advertising. But other
than that there is no advantage for them. -- Or am I missing something.
[reply]
[top]
[»]
Re: nice article, good work, BUT better avoid ICQ
by dazk - Jan 2nd 2002 16:12:11
>
> %
> % then all linux users are
> suddenly
> % without IM. so i would suggest: if
> you
> % (as a user) can manage to avoid
> ICQ
> % then you should. bring your
> friends
> % that
> % you want to communicate with to IRC
> or
> % jabber or something like this..
>
>
> How do you get a basic computer user,
> one who had msn preinstalled on their
> computer or has used icq for a while to
> download and use jabber. They don't
> understand or care about the advantage
> of GPL. Why should they care about using
> it. I have had no luck in trying to get
> people to use jabber and have given up.
> I have gone to running ccmsn and
> gnomeicu because of the instability of
> the jabber transports. Give jabber SMS,
> more web interfaces and maybe I can get
> them interested from the lack of
> advertising. But other than that there
> is no advantage for them. -- Or am I
> missing something.
Well the biggest prob with jabber is that the transports to the bigger
services like AIM and ICQ are not stable. I tried various servers but as
long as you seldom see all your contacts becaus one or even more than one
transport is down it's not even usable for me. If you have a larger contact
list you won't get people to switch hard not being able to see those
contacts that stick to the old protocol. Also often there are communities
that developed over time. I'm a long term ICQ user and I know only 2 or 3
people that use something else. My contact list consists of around 50
entries with about 10-20 being online often. If I only manage to get half
of them move to jabber what about the other 20. I still want to be able to
contact them via messenger. That will be the same with the others that
changed. They won't see large part of ther old contact list if ICQ
transport is down. That will make them and me move back to a native client.
Jabber is really cool. I love the roaming contact list and I really like
the opennes and technical stuff but without reliable transports it just
doesn't work.
Imagine most users used a closed email protocol and that there'd be some
Linux/Unix tools that could send and receive mail. Would you switch to an
open alternative if you could only somites send mail to all the people
you'd like to send mail to but most of the time it'd only be a fraction of
the people you used to communicate with?
Don't think so!
Hopfully jabber becomes reliable enough soon. I'd switch right away.
Finally unified messaging with an open protocol and roaming profiles.
Cheers,
Richard
[reply]
[top]
[»]
ICQ the most popular?
by mr. shin hiko fugu momorin - Dec 29th 2001 12:16:34
I would think AIM is more popular ... any numbers to support either side
out there? I originally got ICQ to talk to a couple people but since then
(this is going back a few years) almost anyone who gives me an Email
address and IM name uses AIM.
[reply]
[top]
[»]
Re: ICQ the most popular?
by deuterium - Dec 29th 2001 13:28:09
Depends on where you live.. here in holland and belgium..
MSN is *very* popular.. personally i think it sucks.. but ok:)
Nobody uses aim here.. Some people use icq.
Around 99% of the n00bs is msn addict.(:()
[reply]
[top]
[»]
Re: ICQ the most popular?
by PhantomData - Dec 29th 2001 14:15:25
> Depends on where you live.. here in
> holland and belgium..
> MSN is *very* popular.. personally i
> think it sucks.. but ok:)
> Nobody uses aim here.. Some people use
> icq.
> Around 99% of the n00bs is msn
> addict.(:()
>
>
I totally agree. My real-life friends all use MSN. I /hate/ it, but
that's what they use - and there's no changing them.
[reply]
[top]
[»]
Re: ICQ the most popular?
by Arkadiusz Miskiewicz - Jan 5th 2002 04:45:11
> Depends on where you live.. here in
> holland and belgium..
> MSN is *very* popular.. personally i
> think it sucks.. but ok:)
While here in Poland most popular are ICQ and Gadu-Gadu (polish IM system;
protocol specification is closed but 95% of it is already known ;). Almost
no one uses MSN or AIM here.
-- PLD/Linux, Join IPv6 community.
[reply]
[top]
[»]
Re: ICQ the most popular?
by DiskDoc - Mar 26th 2002 05:27:08
Here in Finland pretty much everyone uses ICQ. I don't know of anyone to
use anything else. Intetersting to hear of MSNs popularity in Holland!
[reply]
[top]
[»]
Nice article
by Sebastian Olsson - Dec 29th 2001 07:52:38
Nice article.
[reply]
[top]
|
 |