Special

Clearance Sale!

We've been publishing for over five years now and it's time to clear out our inventory of back issues, so we're slashing prices!

RBD Magazines

Check out this amazing clearance sale of all our past issues. Missing some issues? This is a great time to complete your RBD collection. Save up to 40% off the regular price of our printed back issue packages. These prices are only good until the end of the year May 2008 and supplies are limited, so place your order today.

Article Preview


Buy Now

Print:
PDF:

Review

ChitChat 1.1.3b

Issue: 3.4 (March/April 2005)
Author: Greg Fiumara
Article Description: No description available.
Article Length (in bytes): 4,153
Starting Page Number: 8
RBD Number: 3402
Resource File(s): None
Related Link(s): None
Known Limitations: None

Full text of article...

Increasingly, people are turning away from commercial products and turning to open source solutions. One example of this would be not buying Microsoft Office in favor of downloading the free Open Office. These applications are made possible through the hard work of several programmers who code in their spare time to create better, free alternatives. One alternative for the Yahoo! Chat program is a REALbasic open source project called ChitChat, headed by the developer "GostCoder." New and experienced REALbasic programmers alike can use open source endeavors and turn them into learning experiences. One may even find that they become eager to join the open source development community.

ChitChat, although now only for the Mac OS, was originally a cross platform Yahoo! Chat client. Even though Windows is no longer being supported, the code still compiles and runs for Windows. Programmers can learn from the code how to better support multiple platforms from one set of code.

Because ChitChat deals with the Internet, the program makes extensive use of the socket control for TCP/IP communications. Most of the communication deals with proprietary Yahoo! server commands, however the third party httpSocket class by Dan Vanderkam is used to do so. The code GostCoder uses provides the beginning programmer with advice on Internet protocols without having to duplicate the efforts of others.

One of the most beneficial learning points of ChitChat is the main message window. While running the application, one can see that ChitChat beautifully styles text sent by the end user and other chat members. What you see in REALbasic is that instead of a styled editfield, a custom canvas-based control is used. Powering that canvas is a parsing engine and a posting engine. The parsing engine, ChatFieldEngine, among other things, interprets emoticons and HTML styles for REALbasic and then forwards the information to the posting engine. The posting engine places the new styled "text" into the canvas. Although the code looks confusing, the process is very speedy and the display is smooth.

Much of the code in ChitChat is antiquated. Those who have spent many years programming with the various versions of REALbasic may have used several interface "tricks" to support features REALbasic lacked. For example, when balloon help was deprecated in favor of "tool tips," programmers created a borderless window with a yellow background to simulate a tool tip window. When mice with scroll wheels became popular, programmers created canvas controls to compensate. As REALbasic has advanced, support for the aforementioned items has been added, yet these tricks are still used with ChitChat. These hacks slow down the performance of the application greatly and clutter the project with redundant code. The most current release of ChitChat was compiled with REALbasic 5.5 so there is no reason for keeping the hacks.

Supporting projects like ChitChat is important to the success of the open source movement. Although full of needless code, ChitChat provides for an excellent learning opportunity and a great alternative to other applications.

IN BRIEF
 
Product
ChitChat 1.1.3b (source: v84)
 
Manufacturer
Open Source, headed by "GostCoder"
 
Price
Free
 
Contact Info
http://chit.sourceforge.net/
 
Pros
Open Source/Free

Multiplatform Code

Great style parsing canvas

 
Cons
Uses unnecessary interface hacks

Some code hard to follow

No documentation

 
Rating (1.0-5.0):
3.7

End of article.

Article copyrighted by REALbasic Developer magazine. All rights reserved.


 


|

 


Weblog Commenting and Trackback by HaloScan.com