Cyberhus.dk is a Danish 100% non-profit organisation founded in 2004 as a partner charity under the youth charity, Ungdommens Vel (Youth Welfare). The website is built as a “virtual house” that offers online counseling for vulnerable children and teens (age 12-18). Counseling is undertaken mainly by volunteer chat-counselors, all with relevant educational backgrounds.
We are planning a redesign of our chat software and have agreed to ask the Open Source Community for guidance and help in the planning and development of this software.
The ideal solution would - of course - be easily integrated on all platforms and pluggable into all content management systems. This is clearly too ambitious for the scale of our project, so we will focus on making a solution that works well in Drupal.
Cyberhus.dk helps thousands of young people each year and participates in international projects such as Insafe and Incluso that is funded by the European Union. If we succeed in developing a counseling chat module, it will (of course) be licensed under a GPL license and will benefit the Drupal community and our partners in other countries as well.
Hopefully we will end up with a well functioning module with a lot of skilled developers contributing!
So, what’s the problem, exactly?
Although we at Cyberhus.dk are very much into the whole Open Source mindset - including Drupal, we are not a software development company, and we have limited skills and funding to develop this software.
For us it would be valuable to get any feedback on where to focus our efforts in order to reach our goals. We would like the chat module to be ready for launch before the end of this year. We have looked at the DXMPP module which seems to be the most promising non-proprietary module. But it also seems to require a lot of configuration and the maintenance status of “unknown” does not inspire confidence. The Chatroll module seems to be ready out of the box, but we would like to avoid proprietary modules.
Where do you recommend we start? All advice are welcome, and we will be happy to provide more details if needed. The following is a brief description of the main functionality of the chat.
The concept and basic functionality of the chat
The functionality of the chat counseling software is pretty straightforward - a number of volunteer counselors are situated at a “validated” IP-address, and when the counselors log into the chat application and open the chat, users can log in.
The counseling chat, when used in the right context, enables young people to get answers to questions that they otherwise might never have asked because of shame or fear.
A one-to-one chat is when one user (anonymously) logs in to the chat. This opens a text chat with an available counselor. The counselor can only have one line open at a time. The chat displays the time stamp and the messages of the counselor and the user and should behave like other chats in general (with smileys etc).
This functionality makes it possible for at given number of anonymous or registered users to login to the chat, and chat with one or more chat counselors in a shared chat room. The counselors have the rights to ban users from the chat room.
The chat should be able to handle - at least - several hundred simultaneous users without any problems.
The chat conversations should never be saved in clear-text format in the database, but be encrypted. Because of legal issues regarding the logging of IP-addresses, the software should provide a possibility of not logging - or encrypt - the IP-addresses of the users.
Drupal chat modules and groups
Here are the modules we have looked at - please add to the list, if you have suggestions...
Does not seem to provide group chat and is not highly scalable according to the description.