java vs irc  
Author Message
Mike





PostPosted: 2006-4-18 22:28:00 Top

java-programmer, java vs irc Hi
Im at a crossroad as to how to implement a webchat. I have the option of
building a chat using a standard IRC server saving me the trouble of
implementing it myself, OR i can write the server myself in Java giving me
full customizability. I would tend to go with the latter approach however im
rather concerned about performance. By performance im thinking bandwidth and
server load. So my question is: is it possible to build a chat server in
Java that is
a) better or equal to an IRC server utilizing bandwidth, and
b) better or equal to an IRC servers server load?
Im thinking performance wise that IRC would be better, but im not sure
whether this is true so im asking if anyone can give me some input as to why
one solution would be better than the other.

Thanx
Mike


 
Oliver Wong





PostPosted: 2006-4-18 22:32:00 Top

java-programmer >> java vs irc
"Mike" <email***@***.com> wrote in message
news:4444f755$0$16993$email***@***.com...
> Hi
> Im at a crossroad as to how to implement a webchat. I have the option of
> building a chat using a standard IRC server saving me the trouble of
> implementing it myself, OR i can write the server myself in Java giving me
> full customizability. I would tend to go with the latter approach however
> im rather concerned about performance. By performance im thinking
> bandwidth and server load. So my question is: is it possible to build a
> chat server in Java that is
> a) better or equal to an IRC server utilizing bandwidth, and
> b) better or equal to an IRC servers server load?
> Im thinking performance wise that IRC would be better, but im not sure
> whether this is true so im asking if anyone can give me some input as to
> why one solution would be better than the other.

What features do you want that IRC would not already provide?

Have you considered using an IRC server now, and gradually developing a
Java client for the IRC server with some custom extensions?

- Oliver

 
Monique Y. Mudama





PostPosted: 2006-4-19 0:36:00 Top

java-programmer >> java vs irc On 2006-04-18, Mike penned:
> Hi
> Im at a crossroad as to how to implement a webchat. I have the option of
> building a chat using a standard IRC server saving me the trouble of
> implementing it myself, OR i can write the server myself in Java giving me
> full customizability. I would tend to go with the latter approach however im
> rather concerned about performance. By performance im thinking bandwidth and
> server load. So my question is: is it possible to build a chat server in
> Java that is
> a) better or equal to an IRC server utilizing bandwidth, and
> b) better or equal to an IRC servers server load?
> Im thinking performance wise that IRC would be better, but im not sure
> whether this is true so im asking if anyone can give me some input as to why
> one solution would be better than the other.

With so many chat and IM protocols out there, I'm amazed by the number
of people who crop up asking about how to build yet another one.

Unless you have some truly revolutionary capability to add, why do you
want to reinvent the wheel?

--
monique

Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
 
 
Roedy Green





PostPosted: 2006-4-19 1:26:00 Top

java-programmer >> java vs irc On Tue, 18 Apr 2006 10:35:35 -0600, "Monique Y. Mudama"
<email***@***.com> wrote, quoted or indirectly quoted someone who
said :

>With so many chat and IM protocols out there, I'm amazed by the number
>of people who crop up asking about how to build yet another one.

see http://mindprod.com/jgloss/jabber.html
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
 
 
Mike





PostPosted: 2006-4-19 2:33:00 Top

java-programmer >> java vs irc > With so many chat and IM protocols out there, I'm amazed by the number
> of people who crop up asking about how to build yet another one.

> Unless you have some truly revolutionary capability to add, why do you
> want to reinvent the wheel?

Its not so much reinventing the wheel as it is inveting the best wheel for
the vehicle.
Its all about building a system that suits the intent.
Fx. If someone logs on to an IRC server how do i tell the other users what
gender the user has?
Naturally there are ways to get around this issue however im not interested
in making workarounds on an excisting system. But not on the expense of
performance. The system i want to develop has to be scaleable and be able to
support 100.000 users which IRC has proven to handle very well. The question
still remains whether building your own system having the same performance
is feasible.

Mike


 
 
Mike





PostPosted: 2006-4-19 2:42:00 Top

java-programmer >> java vs irc > What features do you want that IRC would not already provide?

Fx. If someone logs on to an IRC server how do i tell the other users what
gender the user has?

> Have you considered using an IRC server now, and gradually developing a
> Java client for the IRC server with some custom extensions?

Yes and im kinda leaning towards this approach souly because i believe the
performance is better using an existing IRC server end make some extensions.
However i was kinda keen on making my own. Mostly to be able to customize it
as i want it and secondly for the hell of it. Just not on the expense of
performance. It has to be scaleable and be able to support at least 100.000
users. So the questions still remains whether its feasible making your own
server/client chat system using Java.

Mike


 
 
Oliver Wong





PostPosted: 2006-4-19 2:54:00 Top

java-programmer >> java vs irc
"Mike" <email***@***.com> wrote in message
news:444532d8$0$9303$email***@***.com...
>> What features do you want that IRC would not already provide?
>
> Fx. If someone logs on to an IRC server how do i tell the other users what
> gender the user has?

I'd go with a custom Java client layered on top of IRC. So you might
send, for example <logon gender="male"/> into the IRC channel, and the
clients will parse this and do whatever GUI stuff they need to do. Power
users can use "normal" IRC clients and manually send commands to the
channel, so make sure any features you expose don't result in a security
problem (e.g. <makeAdmin user="owong"/>).

>
>> Have you considered using an IRC server now, and gradually developing
>> a Java client for the IRC server with some custom extensions?
>
> Yes and im kinda leaning towards this approach souly because i believe the
> performance is better using an existing IRC server end make some
> extensions.
> However i was kinda keen on making my own. Mostly to be able to customize
> it as i want it and secondly for the hell of it. Just not on the expense
> of performance. It has to be scaleable and be able to support at least
> 100.000 users. So the questions still remains whether its feasible making
> your own server/client chat system using Java.

Yes, it's possible. As to whether your custom Java implementation will
be more performant than an IRC solution you might download, I have no idea.
It probably depends on what hardware you've got, what IRC package you
download, how good a Java programmer you are, what you actually end up
coding, what kind of hardware your users have, etc.

- Oliver

 
 
Monique Y. Mudama





PostPosted: 2006-4-19 3:30:00 Top

java-programmer >> java vs irc On 2006-04-18, Mike penned:
>> What features do you want that IRC would not already provide?
>
> Fx. If someone logs on to an IRC server how do i tell the other
> users what gender the user has?

Maybe this is just an example to hide your real needs, but as people
play pretend with their genders all the time online, this seems like a
pointless effort to me. There's a reason A/S/L is a joke question
nowadays.

>> Have you considered using an IRC server now, and gradually
>> developing a Java client for the IRC server with some custom
>> extensions?
>
> Yes and im kinda leaning towards this approach souly because i
> believe the performance is better using an existing IRC server end
> make some extensions. However i was kinda keen on making my own.
> Mostly to be able to customize it as i want it and secondly for the
> hell of it. Just not on the expense of performance. It has to be
> scaleable and be able to support at least 100.000 users. So the
> questions still remains whether its feasible making your own
> server/client chat system using Java.

Well, if you just want to do it yourself because you have that itch
and you stand to learn a lot from it, go for it! I do still think
that it would help to use an existing protocol (not necessarily an
existing server), or at least to base your protocol on those that have
gone before.

--
monique

Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
 
 
Roedy Green





PostPosted: 2006-4-19 4:14:00 Top

java-programmer >> java vs irc On Tue, 18 Apr 2006 20:41:38 +0200, "Mike" <email***@***.com> wrote, quoted
or indirectly quoted someone who said :

>Fx. If someone logs on to an IRC server how do i tell the other users what
>gender the user has?

http://mindprod.com/jgloss/images/internet_dog.jpg
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
 
 
Monique Y. Mudama





PostPosted: 2006-4-19 4:48:00 Top

java-programmer >> java vs irc On 2006-04-18, Roedy Green penned:
> On Tue, 18 Apr 2006 20:41:38 +0200, "Mike" <email***@***.com> wrote,
> quoted or indirectly quoted someone who said :
>
>>Fx. If someone logs on to an IRC server how do i tell the other
>>users what gender the user has?
>
> http://mindprod.com/jgloss/images/internet_dog.jpg


The requested URL /jgloss/images/internet_dog.jpg was not found on
this server.

--
monique

Ask smart questions, get good answers:
http://www.catb.org/~esr/faqs/smart-questions.html
 
 
Roedy Green





PostPosted: 2006-4-19 7:00:00 Top

java-programmer >> java vs irc On Tue, 18 Apr 2006 20:13:31 GMT, Roedy Green
<email***@***.com> wrote, quoted or
indirectly quoted someone who said :

>http://mindprod.com/jgloss/images/internet_dog.jpg

arrgh. try
http://mindprod.com/images/internet_dog.jpg
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Java custom programming, consulting and coaching.
 
 
Lion-O





PostPosted: 2006-4-19 7:49:00 Top

java-programmer >> java vs irc > So my question is: is it possible to build a chat server in
> Java that is
> a) better or equal to an IRC server utilizing bandwidth, and

I sincerely doubt this.

> b) better or equal to an IRC servers server load?

Idemditto.

Don't forget that many IRC servers have experienced years of development and
testing in both the theoretical approach and in the field. I really think that
in that respect it would be the wrong way to approach this since you're likely
to end up facing bigger problems and more developing than is needed.

Instead I'd focus on an existing IRCd to suit your need (unreal, ircu, dancer,
bahamut.. to name but a few.) and work from there. There are many good IRC
services which allow you to "extend" your IRC experience, especially now that a
lot of them have started utilizing a modulair approach (my main experience is
with Anope) thus allowing you to extend the features you might need if needed.

After you have these features setup your applet can easily do its work as a
front end. IMO the best approach.

Still, if you really need fine-grain control and wish to stick to Java I'd
consider checking out PircBot to write a very specific Java bot which can
directly support all the features you wish to support by allowing your frontend
to contact your bot directly. From what I read in the thread so far I think a
bot, connected to a seperate IRC server, should be all you need to allow
storing/retrieving whatever kind of information you wish.

Another advantage of using this approach is that the so called "power users"
(as mentioned somewhere in the thread) would never be hindered in their
chatting by all sorts of weird messages popping up around channels (like ms
chat does) since your applet will talk directly to a main "information source".

The only thing I'd keep in mind with that setup is to make the bot also
manually usable so that people can still get information from it without using
a front-end.


--
Groetjes, Peter

.\\ PGP/GPG key: http://www.catslair.org/pubkey.asc
 
 
Greg R. Broderick





PostPosted: 2006-4-19 7:50:00 Top

java-programmer >> java vs irc "Monique Y. Mudama" <email***@***.com> wrote in
news:email***@***.com:

> On 2006-04-18, Roedy Green penned:
>> On Tue, 18 Apr 2006 20:41:38 +0200, "Mike" <email***@***.com> wrote, quoted
>> or indirectly quoted someone who said :
>>
>>>Fx. If someone logs on to an IRC server how do i tell the other users
>>>what gender the user has?
>>
>> http://mindprod.com/jgloss/images/internet_dog.jpg
>
>
> The requested URL /jgloss/images/internet_dog.jpg was not found on
> this server.

This gets the point across just as well:

http://www.thinkgeek.com/oreilly/tshirts/605c/back/

:-)
 
 
Mike





PostPosted: 2006-4-19 20:40:00 Top

java-programmer >> java vs irc > Maybe this is just an example to hide your real needs, but as people
> play pretend with their genders all the time online, this seems like a
> pointless effort to me. There's a reason A/S/L is a joke question
> nowadays.

That was just an example. The intent is building a Java client that is able
to display avatars based on gender, admin rights and so on. I'm not really
concerned whether the user is being truthfull or not

Mike.


 
 
Mike





PostPosted: 2006-4-20 4:39:00 Top

java-programmer >> java vs irc > Don't forget that many IRC servers have experienced years of development
> and
> testing in both the theoretical approach and in the field. I really think
> that
> in that respect it would be the wrong way to approach this since you're
> likely
> to end up facing bigger problems and more developing than is needed.
>
> Instead I'd focus on an existing IRCd to suit your need (unreal, ircu,
> dancer,
> bahamut.. to name but a few.) and work from there. There are many good
> IRC
> services which allow you to "extend" your IRC experience, especially now
> that a
> lot of them have started utilizing a modulair approach (my main experience
> is
> with Anope) thus allowing you to extend the features you might need if
> needed.
>
> After you have these features setup your applet can easily do its work as
> a
> front end. IMO the best approach.
>
> Still, if you really need fine-grain control and wish to stick to Java I'd
> consider checking out PircBot to write a very specific Java bot which can
> directly support all the features you wish to support by allowing your
> frontend
> to contact your bot directly. From what I read in the thread so far I
> think a
> bot, connected to a seperate IRC server, should be all you need to allow
> storing/retrieving whatever kind of information you wish.
>
> Another advantage of using this approach is that the so called "power
> users"
> (as mentioned somewhere in the thread) would never be hindered in their
> chatting by all sorts of weird messages popping up around channels (like
> ms
> chat does) since your applet will talk directly to a main "information
> source".
>
> The only thing I'd keep in mind with that setup is to make the bot also
> manually usable so that people can still get information from it without
> using
> a front-end.

You pose some interesting solutions that i will look in to. Thank you for
your very insightful answer.

Mike.