Opener Chat is a kind of multi-user and multi-protocol online communication software which is like Pidgin (gaim). Opener Chat is completely written in Perl which consists of the graphical interface part and net part. We use the module of win32::GUI to carry its interface into effect, so this software can only run on the win32 platform. This project has started a period of time which website is http://sites.google.com/site/openerenglish/opener-chat .
Benefits to the Perl Community
A purpose of this project is to prove that Perl is not only good at making dynamic website, but also has a powerful strength at GUI programming. Perl is not just limited in background. In the term of foreground, it is also convenient for us to develop many powerful application softwares with the maturity of many foreground modules. This project can make Perl more popular. Do you remember the Frozen-bubble? Such program can bring surprise to us.
- To add to several kinds of supports of IM protocols.
- To adjust interface to support the sign-in for several users of different protocols.
- To add to setting interface. It is convenient for users to set account information.
- To package into the installable program and debug the program.
Firstly, we shall accomplish several kinds of supports for IM protocol. With regard to every protocol, it includes a basic support for private chat and group chat (if this protocol supports). These protocols temporarily are XMPP, Yahoo Message, IRC and ICQ which are all use current modules of CPAN to offer the supports of protocols. We may add more protocols later.
Secondly, we need to add to setting interface. In this interface, we can set to use several account to sign in and set the information of every account. We can also adjust the some inner control setting of the program. For example, whether the computer needs to record chat logs or not, when the computer starts up whether the programs run automatically and so on.
Then, package into the installable programs. In one way, we need to develop installation program for users to install and use after they download it. In another way, we can check the availability and stability of this program in the win32 platform.
Lastly, adjust the interface. This adjustment will face to a wide range of issues. Because when we need to integrate several kinds of protocols to display in one interface, we have to consider some private functions of these protocols and think whether put some private function into this interface. In a word, this step possibly is finished at last at the lowest speed. It needs to adjust and update continuously.
We spend two or three days each week. It totally needs to spend two months to finish the above aims. The time of the first three goals possibly can be controlled, so these can be finished about one month. We cannot predict the last goal, because the interface may have a big adjustment. We will try our best to finish it within the second month. Certainly, the program probably will further develop. For example, the interface part will use GTK2-Perl to finish. In this way, it can support the running of several platforms, such as Linux and Mac OS X. Anyway, we will work out the anticipation of the further development after the above goals are all done.
It is a small software corporation from China. We devote ourselves to developing various kinds of Perl applications. Since 2001, we begin to use Perl to develop websites. We adopt Perl to program SMS gateway application and online e-mail system in 2004. From 2008, we start to program many kinds of desktop application. This is the list of the projects<http://sites.google.com/site/openerenglish/softwarelist>which we do in 2008.
With the help of Perl and the powerful CPAN, we so well in program graphical interface application, various kinds of internet applications, the management software of win32 platform and so on.
Our original intention to develop this project is that our corporation needs network client software of online chat like this. When we finished this software, we found that it is easy for us to make an extension based on the previous work, so we have a plan to further improve this software, as well as feedback the Perl community. Consequently, we have this proposal. We believe that this is an achievable project.