Top 5% by JARS

CooCoo

(version F1.52 and V1.52)

Due to limited bandwidth in this site
       Chat log update rate was adjusted lower
       User list upate rate was also set to lower
       News option was turned off
       Ad update period was set longer
       Please modify periods if you have better bandwidth
       on your site.

Have you ever talked to any of your homepage visiors to learn how they feel about your pages while they are surfing in your site?

Here is how you can do it!

CooCoo is a cool web-communication machine. It allows its users to chat, call-to-chat, display ad, news, and more... The AdWare version of CooCoo is FREE! Shareware version is also availabel.

CooCoo in the real world


It is DFFERENT because: A. Call-to-Chat - Call the person to chat CooCoo comes with a Call Center where you can "call" people who are not currently in CooCoo's chatroom. After placing a "chat call", you can switch to other applications (you can also icon your CooCoo. Move the browser to other pages? No problem! CooCoo will live until you shut down the browser.) and CooCoo will prompt you when the person you called logs in to CooCoo. Here is the FUN to Try!! B. Easy Chat - for most personal pages CooCoo's chat system does not requires a program running in background(daemon) in the server(Most ISPs do not allow their users run such a background program). This means CooCoo can be installed on any personal home page where CGI and Perl are supported. C. No firewall problem CooCoo's users will not be blocked by firewalls since the communication is done with https. D. Easy advertising banner with sound CooCoo displays an advertisement banner in a HTML style. Ad images are fetched from the server periodically in a random or specified order. It is "easy" because it is not neccessary for the resource (image and sound files) to reside in your site. Only thing you need to provide is their URLs. This is great for most of personal sites since it make CooCoo's ad is affordable to these sites with limited bandwidth(MB/Day): the images and sound can be fetched from other's site instead of yous! Another great feature of HTML style is that gif anmation is supported in the ad banner. In additional, a sound file (any sound format support by your browser) can be easily attached to an ad image. E. Smart news CooCoo starts displaying news line by line automatically if there is no chat activity for a specified period. The news will be stoped as soon as people start chating. This feature can be turn off from CooCoo but users. Maintenace of these text files is easy: just place all the news text files in a specified directory and CooCoo will pick up one at a time randomly. F. Smart sleeping capability Bandwidth and CPU usage are limited in most personal pages. To reduce their usage, CooCoo comes with a sleep function: CooCoo will sleep if there is no user activity after a specified period. That is, CooCoo will not update info such as chat log, news, ad, and so on untill users do something like moving their mouse.


Price info of shareware version is available.



Parameters:

cgibase - The URL where coocoo.cgi resides adperiod - determent the frequency of updating ad banner. Default is 9. callerperiod - determent the frequency of checking calls. Default is 50. userlistperiod - determent the frequency of updating user list. Default is 15. clearuserperiod - period to clear the user list. It is neccessary to clear user list because some users may be disconnected before they log off. CooCoo need to clear user list periodatically. Note: if you set clearuserperiod < userlistperiod you will clear all the login users too. So DON"T set clearuserperiod < userlistperiod !! Default is 100. roomlistperiod - Similar to userlistperiod except it is for room list. Default is 15. clearroomperiod - Similar to clearuserperiod except it is for room list. Default is 200. maxRoom - Maximum number of rooms. passwordfile - specify the file where passwords are stored. Default is "password". ownertips - content of tooltips on Call Site Owner button callcentertips - content of tooltips on Call Center button nonmemberbutt - label of button for non-member log on. Default is "Non-member log on". memberbutt - label of button for member log on. Default is "Member log on". memberon - show member log on button if 1. Hide the button if 0. Default is 1. nonmemberon - show non-member log on button if 1. Hide the button if 0. Default is 1. loginmsg - the message appear at the bottom of the log on screen. It can be a HTML text. Default is "<h3>Please enter a nick name and click at a connect button.</h3>You can test member log on with following password: <br><b>guest</b>" Note: This message is not the one displayed initially in the lower part of CooCoo's screen. The initial message is displayed in coo2.htm. logintitle - the title text displayed in log in screen. Defualt is "CooCoo Chat". fgcolor - foreground color of CooCoo. It accept HTML color format such as "FFFFFF" for white and "000000" for black. Default is black. bgcolor - background color of CooCoo. Default is light gray. refreshperiod - determent the frequency of updating chat log. Default is 5. newsperiod - determent the frequency of posting news. Default is 50. newswait - determent how long the period from no chating activity to launching news.Default is 100. newsState - determent the initial state of the News Check Box. 1 - checked 0 - unchecked Default is 1. newson - determent if the News Check Box is accessable. 1 - enabled 0 - disabled Default is 1. Note: the check box will disappear if newDir is ignore. ownername - Owner's login name. CooCoo will notice the user with this name as owner. If this parameter is ignore the "Call site owner now" button will disappear. owneremail - Owner's email. Ignore this field if you don't want to have to Call Owner button. If this parameter is ignore CooCoo won't send email notice. waitsleep - the period CooCoo will sleep if no uesr action. Default is 50. newswait - determent how long the period from no chating activity to launching news. Default is 100. imageInfo - name of the file where ad info is stored Default is "image_info". showSleeper - CooCoo will update user list while sleeping if set to 1. Otherwise not update user list - this will cause sleeping users disappear from the user list but save some CUP time and bandwidth in your server. Default is 1. datadir - Name of sub directory where data files reside. Since some ISPs don't allow the CGI directory to be set to writable. So it is recommended that you better create a sub directory right under your CGI directory where coocoo.cgi resides. (If you set datadir to "" or ignore it, the data files will be written in your CGI directory). imagedir - a sub directory(includ the related path if it does not reside directly under cgibase) under cgibase to contain ad images and the file specifed by m_imageInfo Ignore it if you don't want ad. newsdir - a sub directory(includ the related path if it does not reside directly under cgibase) under cgibase to contain text files which contains news text. Ignore it if you don't want news. sleepupmax - the period which CooCoo will update screen right after it is waken up if it sleep longer than sleepupmax. Default is 300. soundstate - Sound for ad if 1 and sound for chat if 2. No sound if 0. Default is 2. adwidth - width of ad banner. Default is 550. adheight - height of ad banner. Default is 300. maxchatline - maximum number of line in chat log file. if the nummber of line in chat log file exceeds maxchatline, CooCoo will clear chat log file. Default is 100. button1 - Specify the first "customized chat button" button2 - Specify the 2nd "customized chat button" ... buttonn - Specify the Nnd "customized chat button" More details about "customized chat button": CooCoo allow its own customize five buttons in "Click here" section under the chat window. There are three fields in value of button1 through buttonN separated by delimitor "^#^": 1). button label 2). text to be post to chat log 3). sound when post Example: <param name=button1 value="Hello^#^Hello, folks!^#^sound/SOUND22.AU"> The "customized chat button" above has "Hello" as its button label, "Hello, folks!" as posted test, and "sound/SOUND22.AU" as posted sound.

Detail Instructions for installation

: 1). Download coocoo.zip 2). Unzip coocoo.zip in a temperary directory, say c:\tmp_coo, in your local machine. At this time, you should have following files in c:\tmp_coo sound25.au sound22.au laugh.au FILE_ID.DIZ Readme.txt coo2.htm coo.htm coo1.htm coocoo.cgi app_coo.htm coocoo.class zzz*.class (total 9 files with names started with "zzz") 3). Upload all the class, au files and app_coo.htm above to the html diretory in you server, say my-html. Note: all the class and au files have to be uploaded with binary mode while htm file should be uploaded with ASCII mode. so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") 4). Make sure CGI and Perl are enabled at the directory where parameter "cgibase" points to, say my-cgi. And make sure my-cgi is readable and executable (750) Upload coocoo.cgi to my-cgi and set its access attribute to readable and executable(750). so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") my-cgi my-cgi/coocoo.cgi 5). Creat a sub directory right under my-cgi with value of datadir above as its name such as "data". Set the access attributes of "data" to readable, writable, and executable (770). VERY IMPORTANT: You have to set this directory to readable, writable, and executable (770). so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") my-cgi my-cgi/coocoo.cgi my-cgi/data 6). Creat a sub directory right under "data" with value of imagedir above as its name such as "images" and set it to readable and executable(750). so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") my-cgi my-cgi/coocoo.cgi my-cgi/data my-cgi/data/images 8). Create a file with value of imageinfo above as its name such as "image_info". Each line of this file has three fields divided by delimitor "^#^": 1). URL of the image 2). URL of the link to be opened when clicking at the image 3). URL of the sound Example of a single line in the file: http://www.coolshare.comhtml/image/image1.gif^#^http://www.coolshare.com^#^http://www.coolshare.com/sound/au1.au will display image with url http://www.coolshare.comhtml/image/image1.gif sound with url http://www.coolshare.com/sound/au1.au and open http://www.coolshare.com/ when the image is clicked You also need to set this file to readable(740). so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") my-cgi my-cgi/coocoo.cgi my-cgi/data my-cgi/data/images my-cgi/data/images/image_info 9). Creat a sub directory right under "data" with value of newsdir above as its name such as "news" and set it to readable and executable(750). Copy all the files (such as new1, new2, ... newX) contains news text into this directory, "news", and set them readable(740). so far, you have following directory and files: my-html my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-html/coocoo.class my-html/zzz*.class (total 9 files with names started with "zzz") my-cgi my-cgi/coocoo.cgi my-cgi/data my-cgi/data/images my-cgi/data/news my-cgi/data/news/new1 my-cgi/data/news/new2 ... my-cgi/data/news/newX 10). Modify app_coo.htm: In the SCRIPT section at top of app_coo.htm, there is a Javascript function function OpenCooCoo() { Coo=window.open("/html/coo.htm","CooCoo", "width=560,height=425"); } Set the first parameter to the complete URL of coo.htm. In our sample, it is http://.../my-html/coo.htm. 11). Modify coo1.htm: set the parameter, cgibase, to http://.../my-cgi Note: the value of cgibase has to be a complete URL. 12). If you like to provide member password logon, you need to create a file named password under data directory with following content yourpassword^#^anonymous ownerpassword^#^ownername where yourpassword is the password for all members and ownerpassword is the password for owner. The password for owner is neccessary if you like to log on as an owner. The memer logon of CooCoo in this version only support a single password for all members. 13). Test CooCoo: Browse app_coo.htm to test it. You may want to make sure coocoo.cgi work fine and environment setup fine by browsing following url http://www.your-site.com/your-cgi-dir/coocoo.cgi?action=test&datadir=data where http://www.your-site.com/your-cgi-dir/ is the url of directory where coocoo.cgi resides data is value of coocoo's parameter in Applet tag (note: don't use slash) If you get OK that means the environment in server side is OK. Otherwise, you will get error messages and instructions to fix. 14). A list of errors: - If you get a message box pop up with "Document contains no data" or get "java.io.IOException: Document contains no data" in your java console, it may means that you didn't set coocoo.cgi to executable. You may want to execute command chmod 755 coocoo.cgi to make it executable in yout UNIX shell. - If you get a message box pop up with "cant open File in create file: ..." or get "List Item:cant open file6: ..." in your java console, it may means that the directory that datadir specifies is not writable You may want to execute command chmod 770 data to make it writable in yout UNIX shell. Contact Mark Qian(markqian@hotmail.com) if you get any problem. If you are not confortable with those buttons and news in CooCoo with Mark's info you may want to get a registered shareware version.



Here are more exciting Stuff! Don't miss them!!!






You are welcome to ADD your URL to Mark's Page:
if you have any Mark's applet running in your page.

This is a great place to make your site popular: most visitors of this site are webmasters who are in charge of adding links!!







More Applets are available.



To learn how to place a Java applet into your page, 
please go to this page and select "How to Add Java Applet to Your Site"
at the bottom of the page.