Emptosoft Chat, version 1.0...

It is with great joy that I hereby announce availability of Emptosoft Chat - a simple (under 30KB) chat server/client for all desktop operating systems (again, for Mac OS X compatibility, I need someone to compile Emptosoft Chat on OS X - ask me for the source code if you can help the available version is now Mac-compatible). Rather than explain the software here, I'm going to leave you with two screenshots and let you fiddle with the software yourself. It should be noted that I've fixed a few bugs even since making these screenshots. For example, the "Your IP" bit towards the top-left of the server mode screenshot was omitted when the software was in client mode - the version available for download does not have that bug.
Emptosoft Chat in server mode
Emptosoft Chat in client mode

The software is released under my "beerware" licence:
Emptosoft Chat, (henceforth known as 'the software'), is provided 'as-is', without warranty of any kind, either expressed or implied, including, without limitation, fitness for a particular purpose. The entire risk as to the quality and performance of the software is with you.
The software was created by Mark Hogan. As long as you retain this notice you can do whatever you want with it and its source code and files (if supplied). If we meet some day, and you think the software is worth it, you can buy me a beer in return.


Of course, I don't expect to meet most visitors of this website so, if you want to buy me a beer, there is a donation system on this blog for doing so. Also, I should point out that it's fair that I'm not obliged to take any responsibility for consequences of using the software, or provide any support, when you consider the fact that it's free. At the moment, the source code is available on request (either via email or blog comment) until I can think of a hassle-free but neat way of making it available.

Click here to download Emptosoft Chat.

By the way, this is v0.9 in my opinion, in terms of development - there are still quite a few bugs that I know of and will fix. However, calling it version 1.0 makes me feel less pressured to fix the bugs. Emoticon - smile.jpg

I shall undoubtedly be augmenting the features in subsequent versions - this is only the beginning...
Mark Hogan
Mon, 20 Jul 2009 16:41 WEST | Category: Downloads
Share
Tweet



Comments:

bencord0
Emptosoft Chat, version 1.0...
No no, v1 is correct. If you squash some bugs, then release that as v1.1, or tag an '-r1' at the end.
Do you have source, I want to see if i can make a Qt gui.
Mon, 20 Jul 2009 17:36 WEST

Mark Hogan
Emptosoft Chat, version 1.0...
From what I remember, they're majorish. For example, I think the server appearing offline somehow clears the participants list, and if you're running in client mode and the server disconnects, there's no way of switching servers because there's no way of getting back to server mode - the client tries to tell the server it's disconnecting, but it can't, so it aborts the disconnection. Also (and this is more of a reminder to myself of something to do, rather than a huge bug), you can connect in client mode to yourself (the server does have an on/off variable which some functions check before they do anything, but obviously not enough to stop the server entering client mode, which therefore effectively means that it's a client with no server).

There are undoubtedly more issues, which will basically involve me looking through the code and tweaking it - the core functionality is in v1.0. As well as fixing bugs, I might try to loosen the coupling in v1.1, so that it's easier for others to build alternative/dedicated clients and servers. And I need to see if I can get the popup that appears during the startup process working in more places - I had to comment it out in places because it just wasn't working as expected. Also, it would be an idea for there to be some sort of version checking between clients and servers, in case I do make major changes to the way they work - the version number was a fairly late addition, as I didn't need that while I was working on the software. Perhaps special codes, like Messenger Plus! Live? "/update" could check for, and download a new version...
Tue, 21 Jul 2009 00:05 WEST

bencord0
Emptosoft Chat, version 1.0...
Interesting bugs. I suppose a workaround is to just simply kill the process, and start it back up again.

A way to get around the communication problems between different versions of server/clients is to do some thinking and settle on some sort of interface standard. Think RFCs, then the rest is just implementation.

At the moment, the code is too small to worry about update features. It is also not much of a problem since this is a java project, just redist. the .jar file. Dependance on some master server for knowing the current global version can be tricky for sustainable dev. (What happens when you hit v234?)

I'll have to spend some thought about how to specifically squash the disconnected server bug, first thoughts are of some kind of client promotion, after a crude selection process, to a server that the other clients on the network then reconnect to.

It may be a good idea to start thinking about placing this into source control too. I quite like git (http://git.or.cz) and I am putting together a small tutorial for newbies.
Tue, 21 Jul 2009 01:36 WEST

Mark Hogan
Emptosoft Chat, version 1.0...
Yeah, that's the workaround I've been using. lol. Sounds like the response from an unhelpful IT department...but it does solve so many problems.

In v1.1 I'm going to see how loosely I can couple the client and server stuff. I already have ideas about how I can keep the interface small but versatile.

The reason I'm worried about update features is that once I've released a few updates, there could well be incompatible versions and it would be a great shame if someone either couldn't be bothered to get the new version or couldn't work out that they need a new version. The program management system I built in NSIS seemed to be reliable and simple enough for most people. I don't think I'll put any update-related features in v1.1, because they'd be a lot more major than bug fixes and augmentation of the chat-related features, but I might put a relevant link somewhere on the UI.

That promotion idea sounds good but, for the moment, I'll just make the software ignore failure to disconnect from the server if it has already decided that it can't contact the server. I'm also tempted to create a central server that the program connects to by default so that the software can provide a Jibdig-style service too.

I may well start using Git now that I have two bits of Java software at version 1.0 - Java is more difficult to manage than NSIS...

Anyway, I need time to think and develop more...and sleep!
Tue, 21 Jul 2009 04:52 WEST

Submit a comment:

Name:
(your name)

URL:
(you can put mailto:your@email.address or http://www.yourwebsite.tld/)

Title:
(title of comment)

Comment:


This box above is a CAPTCHA, which prevents robots from posting spam. Please follow its instructions (if you don't, your comment will be rejected).




The code powering this blog is © Mark Hogan 2005 - 2010. This post is © Mark Hogan 2009.

Mark's BlogIrish BlogsSpam Poison
Valid RSS (Blog feed)Valid RSS (Comments feed)This page is valid XHTML 1.1The stylesheet for this page is valid
In Association with Amazon.co.uk