News: Progress On My IRC Client

Thursday, October 04, 2012

As I mentioned in my last post, I've been working on a IRC client for the purpose of writing better IRC code to use with my projects, rather than the old dirty code I used in the past. There's plenty of IRC clients out there to choose from, and I by no means think all of them are lacking and I could bring something better. I'm just writing a IRC client purely because without doing so, it would be hard to write the code I want properly, when it comes to it having everything I need for my projects.

But with that said, when I feel I'm done with it, I'm not sure yet on what I would plan to do with it. I certainly won't keep it to myself as yet another unreleased project. But it has been such a great learning experience, I'm considering extending that experience even further. What's on my mind is, that since I'm so far so happy with the code, I'm considering releasing it commercially just for the experience of doing so. Not for any extraordinary price, or even a moderate one. Probably $1-$5 at the most. Just enough to get to delve into new areas with releasing programs. Learn a little bit about selling a piece of software, both in advertizement and income, and programmaticly with trials and registration keys. It's stuff I've wondered about here and there, but just dismissed because I felt it's to far above my head. Which anymore is not how I like thinking. I'm trying to take my development skills to the next level, and this is a new level itself.

Now for those who may find concern with these thoughts regarding my other projects like the Z-Net's. Regardless of the outcome of what I do with this IRC client, those projects will remain just as free as they always have been. That said though, of course I would hope the experience would go well, and lead me into releasing something else more serious, commercially.

Still, it's not like I made up my mind on releasing the IRC client like that yet. I may deem it to big of a headache, or scrap the idea for some other reason. If I do lean that direction, I'll just release it here like my other projects.

Now on to my progress with it.

It's starting to resemble a real IRC client now. Despite me trying to take it slow, it's progressing quite fast. I'm going out of my comfort zone to learn new things, and there have been some days where I was stuck on various things all day. But unlike years ago when I was still learning the basics, my skill and experience is now enough to know when persevering through difficulty on something will work out. Often times it's a difficult balance trying to remain interested when you're unable to make progress, and you can't find any useful help. But lately I've learned a lot even in those such situations.

Right now my IRC client connects to a server, like any should. Remains stable through any activity. Has a decent framework setup for all of the basic aspects of such a program. No more godzilla sized functions, and code that is now a lot more thoroughly thought out and refined before moving on. It supports chat rooms and private messages having their own windows, by way of tabs. I added colored text support that's even more refined than ZNI or EQCLP. Users using colored text complies with the same standard mIRC uses, so you would see such colored text just as intended, including text background color. I have events for most of the non-numeric IRC messages in, and a few of the numerics themselves. I now have the nicklists fully working. And it auto join's a list of channels that users supply.

Mostly what I have to do now, other then to refine my code as I think about it, is get the connect retry code working properly, because it's buggy. Saved settings, probably through an ini file. Beyond that, mostly just minor stuff, and adding more unique event responses to all the message types. My goal for it is to just be a basic IRC client, but I'm unsure as of yet on what aspects I consider basic.

It's not going to wow anyone, since it's just a basic IRC client, but hopefully soon I'll post a couple screen shots or a video.

With it going so well, I need to think more about the Z-Net 3/Z-Band projects, as soon I may have little in my way preventing me from moving forward on one of them. I should probably narrow some of my choices down to some polls. But after the way my last poll went, I don't know if I could trust the results. But such a thing may not go to well simply because both projects would appeal to people who don't come to my blog. So the results would be off.


Post a Comment