***************************************************************** * * * CooCoo(F1.52) * * Java Applet * * Written by Mark Qian * * * ***************************************************************** 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. TOP 5% at JARS. This may not be the latest version. Please get the latest version at CooCoo's home http://www.coolshare.com/html/app_coo.htm Detail instructions for installation are available there. CooCoo 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. 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 sleep 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. 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

Please enter a nick name and click at a connect button.

You can test member log on with following password:
guest" 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: 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 coocoo.class app_coo.htm 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