zabadab
7 Sep 2008, 5:51 PM
EDIT: I'm no longer developing this and the source is not available. Please do not PM or E-Mail me about this. I don't use Ext JS anymore due to its license restrictions.
-----
First post. :-X
Let's face it: Java Applet clients like "pjirc", "jirc", etc. all suck. They are ugly, big in size, take ages (more than 20 seconds on your average computer) before they load up a UI (that doesn't include the download time) and are generally not very intuitive to use. On a "Web 2.0" page, they feel out of place.
I've gone ahead and am now working on an Ext 2.2-based IRC Client written in Java and JavaScript. It uses a relatively tiny (50KiB) Java Applet that contains an implementation of the IRC protocol (using "irclib") and a command parser (so stuff like /me works). It forwards all IRC events (join, part, etc.) to JavaScript, which takes care of taking the incoming data and putting it into a nice UI.
It takes less than 2 seconds to load the entire thing so far.
Here's a screenshot:
REMOVED
As you can see, it's still in a very early stage of development, but it does already support cool things like mIRC's color codes. Processing events from the Java Applet also works already.
The best thing is that it's extensible. Since JavaScript does all the work with the incoming data, you can just add your own logic to different event functions that get called. Here's a list of events currently supported:
Error : function(num, msg)
Invite : function(chan, user, passiveNick)
Join : function(chan, user)
Kick : function(chan, user, passiveNick, msg)
UserMode : function(user, passiveNick, mode)
ChanMode : function(chan, user, modeParser)
Nick : function(user, newNick)
Notice : function(target, user, msg)
Part : function(chan, user, msg)
Ping : function(ping)
Privmsg : function(target, user, msg)
Quit : function(user, msg)
Registered : function()
Reply : function(num, value, msg)
Topic : function(chan, user, topic)
I plan on making some code or at least a working demo available very soon (i.e. tomorrow or the day after). I just need to reorganize some parts of the JavaScript and take out some debugging code.
I don't intend this to be a full-featured mIRC replacement, but it should be comfortable enough for people who have no IRC experience and just want to chat.
What I'd be interested in is hearing what kinds of features people expect from a web-based IRC client.
-----
First post. :-X
Let's face it: Java Applet clients like "pjirc", "jirc", etc. all suck. They are ugly, big in size, take ages (more than 20 seconds on your average computer) before they load up a UI (that doesn't include the download time) and are generally not very intuitive to use. On a "Web 2.0" page, they feel out of place.
I've gone ahead and am now working on an Ext 2.2-based IRC Client written in Java and JavaScript. It uses a relatively tiny (50KiB) Java Applet that contains an implementation of the IRC protocol (using "irclib") and a command parser (so stuff like /me works). It forwards all IRC events (join, part, etc.) to JavaScript, which takes care of taking the incoming data and putting it into a nice UI.
It takes less than 2 seconds to load the entire thing so far.
Here's a screenshot:
REMOVED
As you can see, it's still in a very early stage of development, but it does already support cool things like mIRC's color codes. Processing events from the Java Applet also works already.
The best thing is that it's extensible. Since JavaScript does all the work with the incoming data, you can just add your own logic to different event functions that get called. Here's a list of events currently supported:
Error : function(num, msg)
Invite : function(chan, user, passiveNick)
Join : function(chan, user)
Kick : function(chan, user, passiveNick, msg)
UserMode : function(user, passiveNick, mode)
ChanMode : function(chan, user, modeParser)
Nick : function(user, newNick)
Notice : function(target, user, msg)
Part : function(chan, user, msg)
Ping : function(ping)
Privmsg : function(target, user, msg)
Quit : function(user, msg)
Registered : function()
Reply : function(num, value, msg)
Topic : function(chan, user, topic)
I plan on making some code or at least a working demo available very soon (i.e. tomorrow or the day after). I just need to reorganize some parts of the JavaScript and take out some debugging code.
I don't intend this to be a full-featured mIRC replacement, but it should be comfortable enough for people who have no IRC experience and just want to chat.
What I'd be interested in is hearing what kinds of features people expect from a web-based IRC client.