CooCoo

(version F1.29 - Get the latest version here)

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

Here is your chance



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.

The demo page of CooCoo is 

  http://www.coolshare.com/html/app_coo.htm

Detail instructions for installation are available there.
You may want to try it over there before your installation.

Note: Don't you click at the button label "Enter CooCoo" above
      before you install CooCoo in your server - it requires coocoo.cgi
      to work at the server side.



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. 
         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 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". 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. 3). Run setup.bat to rename class files. Because PKUNZIP will extract the class file, coocoo.class, to coocoo.cla, you have to RENAME the class file to coocoo.class if you prefer to rename them menually. Similarly, rename *.cla to *.class At this time, you should have following files in c:\tmp_coo common.class coocoo.class cooabout.class coocall.class coomsg.class coonew.class coopass.class coowatch.class sound22.au sound25.au laugh.au readme.txt app_coo.htm coocoo.cgi 4). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm 5). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-cgi my-cgi/coocoo.cgi 6). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-cgi my-cgi/coocoo.cgi my-cgi/data 7). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-cgi my-cgi/coocoo.cgi my-cgi/data my-cgi/data/images 9). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm my-cgi my-cgi/coocoo.cgi my-cgi/data my-cgi/data/images my-cgi/data/images/image_info 10). 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/common.class my-html/coocoo.class my-html/cooabout.class my-html/coocall.class my-html/coomsg.class my-html/coonew.class my-html/coopass.class my-html/coowatch.class my-html/sound22.au my-html/sound25.au my-html/laugh.au my-html/app_coo.htm 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 11). Modify app_coo.htm: In the SCRIPT section at top of app_coo.htm, there is a Javascript function function OpenCooCoo() { Coo=window.open("http://www.coolshare.com/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. 12). Modify coo1.htm: set the parameter, cgibase, to http://.../my-cgi Note: the value of cgibase has to be a complete URL. 13). 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. 14). Test CooCoo: Browse app_coo.htm to test it. Contact Mark Qian(ok@coolshare.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.