WillowRidgeSoftware.com test

Home

FoopChat
   Features
   Screenshots
   FAQ
   Support Forum
   Server Tracker
   In Development

Downloads
Links
Register
Support

Delphi Stuff

 
News Archive
New beta client and server - 1.50b - 04/11/2004
Okay, this one was a lot of work. I went through both the client and server and converted every visible control to the Tnt Unicode equivalent. I also went through nearly every line of code and changed everything to use unicode strings. The most difficult part of this unicode conversion was the communication between client and server. I completely revamped the protocol to use xml rather than binary formats to pass the messages back and forth. This will greatly ease changing the protocol in the future, at the price of rendering pre 1.5 clients incompatible. I think it was worth it.

If you've set up proxy information in the client, you'll have to reenter the passwords due to the unicode conversion. User account passwords will not have to be reentered.

I also expanded the voice over IP system to include support for multi-party conversations. I've tested this as best I can with 3 participants, but in theory it should work fine with more. I'd appreciate any feedback anyone can give about how it functions. I think this code is fairly solid, but it could still be a bit flaky. I should also point out that the voice data is not currently encrypted, but I will be adding that to a later version.

To enable multi party chat, create a public room, right click in the room window and select "enable voice". You and others who join your room will be able to join voice chat by clicking on the speaker icon in the chat room window.

List of changes for 1.50b...

  • Broke default chat font code in a previous release. That is fixed now so the font you set up in preferences will now be the default.
  • When changing your password it will now be saved so you don’t have to edit the connection and change to the new password manually.
  • Added new sounds for room invites, voice chat invite, join/leave voice chat.
  • Fixed "invalid window handle" error when creating new animated smiley.
  • Added text to the "advanced options" screen mentioning that the server port through port +3 are used. Fixed openicsport to open the entire range of ports.
  • Added a button interface to transfer activity window.
  • System date/time format settings are now used whenever a date/time is displayed.
  • Fixed some form size issues when running in Windows XP vs. Windows 2k.
  • Converted vocabulary list uploading/downloading to use the file transfer functionality.
  • Allow dictionary lookup in chat message editing window – this was just available in the chat view window.
  • Neither the client or server would run when the executable was stored in a folder with a Unicode character set. This was a bug in the Delphi VCL when creating com object factories.
  • All config, account, and data files are auto converted to Unicode. A backup of each file (.old extension) is created before conversion.
  • Added "mic sensitivity" slider, which controls the volume that is considered silence.
  • Added option to automatically sign on with the last used profile.
  • Fixed some issues when updating menus when public rooms change.
  • Fixed when leaving a public room you created, then coming back in, the menu options (public/private) aren't properly checked.
  • Room creator can enable voice conversations by right clicking in a room window.
  • Added participant list to the voice conversation window, and join/leave sounds.
Updated screenshots - 04/11/2004
The screenshots section has been updated. Most of the images are the same as before, but they now show the Windows XP Theme support that will be coming in the next beta version. There is also a new screenshot showing the new voice chat form.
Added a new section for downloading Delphi components - 04/11/2004
You can get to it by clicking "Delphi Stuff" in the menu, or by clicking here.
New beta client and server - 1.27b - 03/07/2004
Finally finished the initial voice support. The voice compression uses the Speex codec, which is freely available, and of very high quality.

It currently only works for one-to-one chatting, but I eventually plan to add support for multi-person conversations. I should point out that this is potentially the most unstable release I've done. The previous functionality should all work fine, but there are likely still some issues with the voice support, particularly with error handling. Also, this version will only run on Windows 2000 and later! So if you have Windows 95, 98, or NT, don't install this version. I will probably make one more version that works on the older OSes in order to fix a couple bugs that turned up in the 1.26 beta, but after that I will no longer be releasing versions that support those operating systems.

With this version I've introduced some completely new, multithreaded networking code in both the client and server. It is currently only being used in the voice system, but I eventually want to migrated it to the rest of the system. Since it's multithreaded I would imagine there are some issues that will crop up once people start using it. Hopefully I've caught everything but I guess we'll see. If anyone has a box with multiple CPUs I'd be most interested in knowing how it works for you.

To use the voice support open up a one-to-one chat room with someone (or yourself). You'll see a new speaker icon button on the lower right of the chat window. Press the button and the conversation status window will appear and an invite will be sent to the other person. If that person accepts the invitation you will both be able to talk.

There are a number of settings that control the quality. The Sampling Rate setting appears in Preferences/Voice. It can only be changed when there is no current conversation. The higher the value the better quality, and the more bandwidth is used. The Recording Quality controls the speech compression quality. The lowest setting is really low quality, but uses a surprisingly little amount of bandwidth, the highest setting is excellent quality and uses the most bandwidth. The Recording Complexity controls how many CPU resources the encoder can use. A lower setting gives less CPU time to the encoder and reduces quality, a higher setting gives more CPU time to the encoder and increases the quality. The highest setting can use 30-50% of your CPU time, so you may want to keep it on the default setting. Finally, the Use Perceptual Enhancement for Playback check box enables the decoder's perceptual enhancement feature which performs some scary math on the voice data to make it sound a bit better, or at least make you think it does :).

These settings can be changed in the Preferences/Voice dialog box, or you can press the "Details >>" button in the conversation status window.

Other than bug fixes for this version I'm going to have to take a break from this for awhile. Hope you enjoy the new features.

Added a new Links section - 03/04/2004
You can get to it by clicking "Links" in the menu, or by clicking here.
New beta client and server - 1.26b - 03/04/2004
Okay, here are the last round of changes for awhile. I'm now back to working on the Voice over IP support and won't adding any other features until that is complete. The first round of voice support will be just between two people, and will not support proxies. I'll be using a new high performance multithreaded tcp/ip component I developed for a different project and I've not found a good way to get the proxy support in there yet.

List of changes for 1.26b...
  • Completely rewrote the smiley editor to use the TRichView component in order to support various sized smilies, as well as animated smilies using mng. This also involved a number of changes to the chat room code to support the animated smilies. This change is the biggest reason this is a beta version - just want to give it some time to make sure no awful bugs pop up.
  • Made some initial internal steps toward better international language support.
  • Cleaned up some code, and fixed a few minor bugs.
New client and server available - 1.25 - 03/01/2004
Okay, I caved and did a few more changes...

List of changes for 1.25...
  • Logs are now auto named based on the day, and are automatically deleted after a configurable number of days.
  • There is now an option on the server to completely disable file sharing.
  • Afk/Idle icons got swapped, so when you were idle it showed afk and vice versa. This is fixed.
  • If icons (avatars) are under 20x20, don't resize up to 20x20.
  • Improved language support. Most of the problems with this involved validating various text fields such as afk, logins, and so on. This validation is now done in a way that's compatible with various character sets. This has been tested with the Russian language, but should work fine for most everything.
New client available - 1.24 - 02/28/2004
This is a full install instead of just an update.

Other than fixing bugs, I only have one feature change left before I get back to working on the Voice over IP support. That feature will allow using animated images (png/mng) for smileys, and will allow using various smiley sizes as well. Once that's ready I'll get back to finishing up the voice support.

List of changes for 1.24...
  • You can now configure a default chat room that you will automatically join when connecting to a server. This only works for public chat rooms (with no passwords) created on the server. To set a default room, join that room, then select "chat/make this room default" from the main menu. To remove the default select "chat/clear default room".
  • Should now run when no sound card is present. There may still be errors in a couple places, but they shouldn't prevent the client from running.
  • Fixed when checking new version the "no new version found" window pops up twice.
New update available - 1.23 - 02/28/2004
Please note that this is an update. You must install version 1.20 before installing this 1.23 update.

List of changes...
  • Added “insert separator” command (F5) in chat window. This inserts a separator line at the end of the current chat text. This is useful for keeping track of the last place you’ve read to.
  • When loading or saving chat, it now defaults to the last folder you loaded/saved from.
  • Fixed errors that occurred when pasting html tables. Tables won’t be sent, but they will no longer cause errors.
  • Added Ctrl+A, Ctrl+F, F3 commands for Select All, Find, Find Next.
  • Added Insert Hyperlink command in the Chat menu.
  • When right clicking on an mng image in the chat window, you can now select stop/start/pause/rewind to control the animation. If you select “stop”, the animation stops permanently.
  • You can now right click on any image in the chat window and save it.
  • Improved animation performance by turning off the animation when the image is not visible - i.e. is scrolled out of the window.
  • You can no set a room topic (F7). Static rooms created on the server can also have a topic set on the server.
  • Changed small icons (avatars) from 16x16 to 20x20. The new client will be able to display the smaller icons, but the old clients will be unable to display the new larger icons. You will need to reselect your icon to change it to the new size.
  • Added autosave/autoload functionality. This is turned on in chat options. Chat will automatically be saved to a unique filename in the path of your choosing. It will be saved every 5 minutes, and if you close the window and reopen it will automatically load the last saved version.
  • Added the ability to clear the chat window.
  • Fixed an issue in icon caching - if client A is signed off, and Client B changes his icon, then Client A signs on, if Client B is in Client A’s friend list, then Client A won’t see the new icon but will keep the old one. This situation is now fixed and Client A will see the new icon.
  • If someone uses a smiley that you don’t have in your list, you can now right click on it, select “save smiley” from the menu and it will be saved in your smiley list.
  • Fixed various minor bugs.
New update available - 1.22 - 02/25/2004
List of changes...
  • Fixed a server problem where user accounts could be assigned the same ID, in very rare cases.
  • In chat, when clicking on any link besides http, http:// was always prepended to the link. For example clicking on the link ftp://www.someplace.com would try to go to http://ftp://www.someplace.com.
  • Added png and mng (animated png) support in chat. When saving chat, only the current animation frame is saved since rtf files don’t support the animation. When printing, only the current frame is printed. Can't do animated smileys yet, but soon.
  • Added png/mng support when using the image viewer in File Browser.
  • Added the ability to load saved chat. If the chat that contains mng images only the current animation frame is saved, so reloaded chat will only contain a static image.
  • Added the ability to load and save chat to Rich View Format (rvf) files. This is the file format native to the richview control used in chat.
  • Added timestamps to chat. Use F4 to toggle the timestamps on and off. When saving to rtf files, then reloading, the ability to toggle the timestamp is lost. So make sure the timestamp is on when you save to rtf if you want to preserve the timestamp. When saving to rvf, the toggling ability is preserved.
Bug fix update available - 1.21 - 02/22/2004
A bug was discovered with the feature that allows clients to create their own accounts. Invalid characters were allowed in the account name, potentially causing server crashes. This has been fixed, and is available in the download section as an update.

1.20b Expiration - 01/01/2004
The 1.20 beta version expired on 1/1/2004. The official 1.20 release is now available for download.

New beta client and server released (1.20b) - 11/14/2003.
List of changes...
  • Added server tracker.
  • Print date and page number when printing chat/
  • Fixed minor bugs
The encrypted version is back! - 08/05/2003
I can now legally export the encrypted version of FoopChat, so if you previously downloaded the non-encrypted version go ahead and grab the encrypted one. Also, Version 1.10b has had a few tweaks, and has been declared "bug free" and is now Version 1.11.

New beta client and server released (v1.10b) - 07/16/2003
It was a long time in coming, but I finally got the next release put together. I think it's pretty solid, but I'm still going to call it a beta for awhile so I have an excuse if any problems arise ;) Also, check out the new screenshots.

List of changes...
  • Added support for chat room plugins, and a couple of simple games.
  • Added Vocabulary Builder.
  • You can now set a password on public rooms that you create, so others can join without being invited if they know the password.
  • You can now configure the client to automatically check for new versions.
  • Images inserted while chatting can now be automatically resized.
  • When in a one-to-one chat room, you can now see when the other person is typing or has entered text.
  • Fixed various bugs.
Version 1.0 Released! - 12/11/2002
List of changes...
  • Version 1.0 released!
  • Fixed several minor issues from the last beta.
  • Recursive shortcuts no longer infinitely recurse when downloading folders :).
  • There are now NO restrictions if you don't register - just nag screens.
  • Signon notifications were broken, now they're not.
  • Others.
New beta client and server (v0.52b) - 11/25/2002
List of changes...
  • Complete rewrite of the file transfer code to support resuming failed file transfers! This change is incompatible with older clients, so everyone will need to download a new version.
  • Both the client and server will now retain file transfer and other functionality after the 30 day trial - only encryption will be disabled when unregistered. The occasional reminder window will still appear, however.
  • File times are now preserved when transferring.
  • Column widths are now saved in the file browser.
  • Fixed several issues with the File Browser folder list where it was not updating correctly when moving a folder to a different folder.
  • When viewing an image, the image viewer window now opens when the file transfer is complete rather than immediately.
New beta client and server (v0.50b) - 11/14/2002
List of changes...
  • Fixed several progress indicator display problems in the file browser.
  • Added keep alive packets to help detect client disconnects.
  • You can now cancel file transfers from the file browser by right clicking on the file and selecting "cancel file transfer".
New beta client and server (v0.49b) - 11/12/2002
List of changes...
  • You can now sort in the file browser by clicking on the column headers.
  • You can now add people to your friend list from chat rooms by right clicking and selecting which group to add them to, or by dragging them to the friend list.
  • Added "explore downloads" button to the toolbar.
  • Added "start foopchat server service" icon to the install script. You can start the service by selecting this from your Start menu.
  • Completed server help file.
  • Fixed bug in the Friend List toolbar.
  • Fixed bug that was causing queued file transfers to timeout and be cancelled after 1 minute, which was also causing an exception.
  • Fixed bug that was causing queued downloads to look like uploads when they became unqueued.
  • Fixed problem converting server time to local time in the file browser.
  • The problem where the file browser sometimes showed a local disk icon rather than a folder icon should now be fixed finally!