The QBasic Forum      Other Subforums, Links and Downloads
  << Previous Topic | Next Topic >>Return to Index  

What features would you like in a chat client? (for N54, IRC, MSN, any protocol)

August 2 2007 at 5:33 PM
  (Login ComputerGhost)
R

Instead of boring you from the start with a description of my project, I'll cut right to the purpose of this post and describe my project at the end of this post. If you could have any features in a chat client, what would you have? I've put together a few more specific questions to help:

1) What protocols should it connect to? (N54, IRC, MSN, AIM, etc.)

2) If the chat client were to support scripts, what should the language be like? How should the script editor be designed?

3) How much eye candy should it have (remember: as a rule, the more eye candy, the less stability)?

4) Some chat protocols distinguish between picture transfers and file transfers. Should the chat client treat them the same?

5) Anything else?


Alright, about the project. Well, I don't want to go into the specific reasons for trying such an ambitious project; let it suffice to say that I decided to justify the criticisms about choosing projects above my programming level.

I want to make a cross-platform chat client with support for multiple chat protocols. You can have multiple chat sessions (each with its own server connection) which supports multiple rooms. It has its own script language which can be used to define or redefine commands or to do something on certain events.

Here are my answers:
1) N54, IRC, MSN, Yahoo!, AIM, and ICQ.
2) It would be like the C language. It should be capable of every imaginable task from drawing graphics to sending messages to creating new sessions. But make sure that the scripts are secure and will not be run when the user does not wish them to be run. The editor would have pull-down menus of all of the commands and functions as well as an excellent help system.
3) Very little eye candy. Equivalent of Windows 95 eye candy. Stability is key!
4) It should treat them the same. They can use a script to show thumbnails and such if they want them treated differently.
5) Yea. Customizable everything! UTF-8 Fonts.


But I would really like to know what others would like. So when this project is finished, I can make more people than myself happy with it. :-)

 
 Respond to this message   
AuthorReply
rpgfan3233
(Login rpgfan3233)
R

Here are my responses.

August 2 2007, 10:39 PM 

1) N54, IRC, XMPP (Jabber/Google Talk is based on this, there exist "transports" or "gateways" for things like AIM, MSN, etc. File transfers are still rather limited though. In that case, you might actually connect to the AIM or whatever server and then transfer files that way.)

2) Not sure. I know "#" is commonly used in scripting languages for single-line comments, to start with. Python uses them and for multi-line comments, it uses """supposed to be a multi-line comment, but I didn't want it to be in this case""", which I don't exactly agree with. PHP 4 allows one to use heredoc syntax for multi-line strings when typing so many "\n" and concatenation operators gets to be a hassle:
<<<EOT
Hello World!
EOT;
The only problem with it in PHP is that it preserves whitespace, which technically isn't incorrect since it is meant to be equivalent to a normal string, spacing included, in a simpler and cleaner syntax. There are many ways for comments to happen. As for the language itself, simplistic syntax conventions is what I am thinking. For example, VB uses Sub SubName ... End Sub while many other languages use functionName () { ... }. Python uses indentation to keep track of blocks, eliminating the need for such things. Simply put, this one will definitely require a lot of thought!

3) I agree with the eye candy thing. More eye candy = more resources required = higher system requirements.

4) I feel that picture transfers should be eliminated completely if possible. AIM requires a direct connection (Pidgin, my multi-protocol client, calls it "Direct IM") to even send pics via message. To me this is a useless blockade. If you want to send a picture to someone, do it via file transfer.

5) Not sure what else I think should go into it, but your mention of UTF-8 is definitely a good thing.





-------
There are +0 people in this world: those who understand balanced ternary, those who don't and those who just don't care either way.

 
 Respond to this message   

(Login ComputerGhost)
R

Thanks for the good suggestions. About the multi-line strings:

August 3 2007, 2:38 PM 

That multi-line string sounds like a good idea. I've come up with a few ideas. What do you think? The "char string[] = " part assumes that will be the syntax for making strings, but that is not for certain yet.

char string[] =
    "This is a multi-line string, complete with a \r\n" \
    "carriage return! Cool, huh?";

char string[] =
    "This is a multi-line string, complete with a
carriage return! Cool, huh?";

char string1[] = multiline
This is a multi-line string, complete with a
carriage return! Cool, huh?
char string2[] = multiline notabs
    This is a multi-line string, complete with a
    carriage return! Cool, huh?

char string[] =
    "This is a multi-line string, complete with a " + endl +
    "carriage return! Cool, huh?"


Personally, I like the last. It's nice and neat, and it makes sense logically. It might be a bit more of a pain to program a fast interpreter that can combine string constants (I've made a slower interpreter that does so).


    
This message has been edited by ComputerGhost on Aug 3, 2007 2:40 PM
This message has been edited by ComputerGhost on Aug 3, 2007 2:38 PM
This message has been edited by ComputerGhost on Aug 3, 2007 2:38 PM


 
 Respond to this message   
Current Topic - What features would you like in a chat client? (for N54, IRC, MSN, any protocol)
  << Previous Topic | Next Topic >>Return to Index  

Newbies usually go to www.qbasic.com and click on The QBasic Forum
Forum regulars have their own ways, which include The QBasic Community Forums