Jump to content

Icechat Irc Client


chain

Recommended Posts

  • Site Moderator

IceChat IRC Client

 

Well today was quite an intersting day, I had a unique interview with the creator of Icechat. Snerf is the creator of the well known IRC Client IceChat. He had talked about when he started and the reasons for it, and how the name became. And hes quite willing to share his knowledge on his client and whoever is willing to learn. I will try to put the interview in a way that shows from the beginning to the end. This was my first interview and wont be my last with Snerf. So this is how the interview went.

 

[11:43.03] <Chain> snerf how did you figure out the name Icechat for the client

[11:43.23] <Chain> or who did

[11:43.25] <Chain> and why

[11:43.29] <Chain> that name

[11:43.30] <Snerf> my besty friend did actually

[11:43.34] <Chain> curious

[11:43.42] <Snerf> he came up with it

[11:44.09] <Snerf> I liked it, stuck with it

[11:44.18] <Chain> was there a reason why he picked that?

[11:44.40] <Snerf> most likely

[11:44.53] <Snerf> from BBS days

[11:45.40] <Chain> ok

[11:45.52] <Snerf> he named his irc network icechat, and suggested I call my client it, and tie the 2 together

[11:45.54] <Chain> and how did you get into making this client

[11:46.17] <Snerf> I was always complaining on how all the other clients sucked

[11:46.31] <Snerf> so ppl in the channel I hung out in said, fine, make your own

[11:46.40] <Snerf> to shut me up

[11:47.23] <Snerf> and they said, I had to make it in VB, to show it could be done

[11:47.36] <Snerf> since no decent client had been made in VB at any time

[11:48.51] <Snerf> well, it all started in abou 1998

[11:49.34] <Chain> so you are the actual creator of icechat?

[11:49.39] <Snerf> yes

[11:49.57] <Snerf> have been the primary developer for close to 11 years now

[11:50.21] <Chain> wow 11 yrs

[11:50.37] <Snerf> yes, Aug 2000 is when I started with it

[11:51.05] <Snerf> But I started to use IRC in 1998, as a result of my best friend, madmn, who was using it at the time, and told me about it

[11:51.46] <Chain> and did you have a lot of knowledge in doing clients or just learned as you go along?

[11:52.01] <Snerf> I knew nothing

[11:52.29] <Chain> so all this from scratch and no knowledge

[11:52.36] <Chain> wow impressive

[11:52.36] <Snerf> But I had programming knowledge already for a good 10 years already

[11:53.09] <Snerf> But I had only programmed private database apps primarily, nothing for the public

[11:53.28] <Snerf> I used mIRC and XChat, but really didnt like either of them

[11:54.07] <Snerf> I was one of the primary channel users in #vb on Undernet

[11:54.17] <Snerf> as I was an avid visual basic programmer

[11:55.13] <Snerf> But I was always complaining about how aweful those 2 clients were, so they said, fine, make your own, and make it in VB

[11:55.25] <Snerf> so, I started, and that was August 2000

[11:56.45] <Snerf> whipped up a half ass single channel single server client, called it sIRC, s for simple, as it was justa test, to see if couldmake it connect. I knew nothing about the IRC protocol

[11:57.03] <Snerf> I still have the code of that laying around somewhere 0

[11:57.19] <Snerf> coded in Visual basic 6, as most of the versions were written in

[11:59.00] <Snerf> yes, IceChat was actually what I called it at version 2, which came out a year later

[11:59.29] <Snerf> The next build I called VClient, as I couldnt think of anything better, and started tossing around ideas on how to structurethe client

[11:59.44] <Snerf> The single nick list, single inputbox, server list

[11:59.56] <Snerf> and thats stayed with the client all this time, not changed it

[12:00.24] <Snerf> and a single console with tabs for each of the servers, those are the 4 main primary features of IceChat I never changed

[12:00.21] <Chain> do you have other people that help or donate a bit of time to assist you with coding

[12:01.13] <Snerf> Version 5 was written with a close friend at the time, IRBMe from the #vb channel, we did a re-write from scratch. Spent agood year on it together. Thats when the client really started to ger serious

[12:01.30] <Snerf> That was October 2003

[12:01.56] <Snerf> Version 3 was the 1st public version, it was on CNET/Download.com

[12:02.08] <Snerf> April 2002 if I recall

12:02.29] <Snerf> so just over 9 years its been public, as the versions before that I just shared with friends

[12:03.17] <Snerf> After version 5 was done, I was a little tired of it

[12:03.40] <Snerf> VB6 was getting on my nerves, I pushed the limits of the language and it was just not good enough anymore.

[12:04.00] <Snerf> So I started Verison 6 as a re-write using C# .Net 1.1

[12:04.29] <Snerf> And it had some great new ideas that I liked, and I made it open source

[12:04.43] <Snerf> All the other versions had been closed source, but freeware

[12:05.34] <Snerf> I just wanted to protect my source code because it was in VB

[12:05.31] <Chain> so the idea's just started to develop in your head and you started going with it

[12:05.45] <Snerf> well, I had some help with the ideas

[12:06.05] <Snerf> A huge amount of IceChat has developed from suggestions from friends, and ideas from other clients

[12:06.31] <Chain> what other clients?

[12:06.33] <Snerf> For Instance, Ircle, a MAC Client, has the single inputbox, single nick list, and I liked it

[12:06.57] <Snerf> And it had a sort of server list, which I just added to

[12:07.31] <Snerf> As the client was developed from the start as a multiserver capable client, with all the server settings for each serverseperated

[12:08.05] <Snerf> I could not find a single client at the time that did that, and I was always on a lot of servers then, and it annoyed me to noend how I couldnt keep seperate settings

[12:08.22] <Snerf> so that was a huge motivation for me to add that feature

[12:08.54] <Snerf> And that has always been a very strong point for IceChat to this day

[12:10.41] <Chain> so whats in the future for icechat ..meaning what are some of the changes?

[12:11.45] <Snerf> well, things have slowed down a bit

[12:12.13] <Snerf> IceChat 7 was released in Sept 2006, and it slowed down a bit after that, just submitting patches and such

[12:12.55] <Snerf> But it again was with VB6, but it worked. iceChat 7.50 was a huge update, where I built the server list into a Server Tree

[12:13.16] <Snerf> Was a big jump for me, but after a few fixed, I just slowed down with it.

[12:13.22] <Snerf> But I wanted something new again

12:13.51] <Snerf> So I started with IceChat 8, tossed it. (Even numbered versions always were doomed for some reason)

[12:14.25] <Snerf> And in January 2009, started IceChat 2009. Started from scratch again. in C# .net 2.0

[12:14.50] <Snerf> But development was slow, I lost interest, and I was losing interest in the client as a whole

[12:15.47] <Snerf> So IceChat 2009 kind of withered, and I didnt do hardly anything for 6 months

[12:16.20] <Snerf> And I was going to just drop it, I had no interest in doing it all over again. I'd been doing it for nearly 10 years

[12:16.43] <Snerf> But then someone talked me into it, and I cant quite recall who

[12:17.03] <Snerf> I think I just needed a break, which helped me re-focus

[12:18.04] <Chain> so you started to take interest once again

[12:18.14] <Snerf> yes, and made the project open source again

[12:19.11] <Snerf> So, I started working on 2009 again, a little bit more

[12:19.49] <Snerf> But this time, focused on making it work with Mono, the .net cross-platform framework, so I could run IceChat on Linux

[12:20.08] <Snerf> As year after year, I had been asked to make a version that ran in Linux

[12:21.01] <Chain> so now its peeked ur interest and you begin once again

[12:20.42] <Snerf> So this helped me re-focus the code, clean it up a lot, really strip the client down to its basics

[12:20.56] <Snerf> I felt Version 7 got too bloated with features and options

[12:21.29] <Snerf> Yes, so I started rebuilding the client again , from the bottom up

[12:21.58] <Snerf> Made it a lot more smoother running, changed to an XML file settings system, jst wanted to modernize the client

[12:22.11] <Snerf> Went to a tabbed based system instead of a MDI/Window based System

[12:22.16] <Snerf> Was some huge changes

[12:23.14] <Snerf> Well, I was programming in C# a lot more by then, so I got a lot more familiar with it

[12:23.36] <Snerf> So I took what I liked about IceChat, and stripped out all the extra's, and made a good rock solid core

[12:24.06] <Snerf> And worked on that for quite a while

[12:25.01] <Snerf> The main issue with IceChat is, all the text window's and nick list and server list controls are custom, they are not derivedfrom other user controls

[12:25.13] <Snerf> So this adds a lot of extra development time

[12:25.36] <Snerf> The tab system was a nightmare at first, but it got better

[12:25.48] <Snerf> and I really liked the direction the client was going,so just kept working on it

[12:26.36] <Snerf> So I just kept going with it. Decided to call it IceChat 9 about a month ago, as it was no longer 2009 anymore

[12:26.53] <Snerf> So this version is already about 2 1/2 years in the making, the longest of all of them

[12:27.43] <Snerf> Yes, not as much time put into it though, because now I have a family to take care of

[12:28.15] <Snerf> But, I love this project, it is such a huge part of me now, I cant really give it up

[12:28.34] <Snerf> There are days I hate it, but most of the time, I love it 000

[12:28.46] <Chain> so your updating as you get a chance

[12:29.06] <Snerf> Yes, 8-10 hrs a week of coding is about normal

[12:29.38] <Snerf> And I update the SVN as I see fit, and release installer updates once in a while, when enough little fixes get added

[12:29.33] <Chain> what are you working on now at this time?

[12:29.53] <Snerf> The plugin system is my biggest issue at the moment

[12:30.09] <Snerf> I am moving away from a scriptable system. It just isnt working for me anymore

[12:30.48] <Snerf> So I a developing a plugin system. This way a user can just install a DLL, and they are done with it

[12:31.15] <Snerf> I love Mozilla projects, and thats how they work, and it works well for them

[12:32.04] <Snerf> So I will start building a small plugin area on the website, and add a few of my own plugins, and hopefully some other pplwill be willing to add more to them

[12:32.43] <Snerf> Most of it is done, its the fine tuning thats taking alot of the time, and making sure I have everything I need

[12:33.46] <Snerf> I quite like it. Its new, its different. Over the years I know what ppl ask for , for scripts. So I will build some plugins thatallow them to do that, but in a lot simpler of a way

[12:34.12] <Snerf> Its a whole new direction for the client, but I am going for it

[12:35.16] <Chain> i think its a great direction as people like plugins and some would even create more plugins

[12:36.08] <Snerf> All they need is a little C# knowledge. The source code comes with a bare bones plugin project, and a few examples, so they can have some ideas on what to do

[12:36.20] <Snerf> and I am always willing to chat about it here as well

[12:36.25] <Snerf> Always open to ideas

 

[12:47.07] <Snerf> There ya go, good Canadian Software

 

So as you can see IceChat has a long history behind it, and is the longest running client that is still being updated as of this day. Also if your looking to give any idea's or talk to Snerf, he can be found on irc.quakenet.org #icechat2009 and his website http://www.icechat.net/site/ So there you have the history of the Client and the Creator. I like to thank Snerf for taking the time to talk with me about his Client and how IceChat was made.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...