tags:

views:

94

answers:

3

Hello, i am a beginner programmer, i have studied c/c++, java and data structures in university but i have never written any real program (only trivial programs for university).

I am thinking of writing an instant-messaging client, and i would like information on how to start the project

A: 

Hi Apostolos,

I'm not familiar with with c/c++, java , but following are the common things that you should do before starting a project. (in your case instant-messaging client)

1 - Study the existing systems and their features (This helps you to organize your app)

2 - create a design (for me pen and a paper is the best) and try to apply what you have learn. (like OO, data structures etc.. , but make sure you do it with in a limit)

3 - try to release features as and when they implemented, coz then you have some thing to playaround

4 - check for the existing tools and use them (Ex: if you want to use web services SoupUI is a cool tool etc..)

5 - have fun

cheers

sameera

sameera207
+1  A: 
  1. Gather requirements/functionality that you want in your instant messaging client.
  2. Determine the types of architecture you can use (client/server architecture, p2p, etc). Drawing something on paper would help.
  3. Since you've worked with Java, explore chat programs and examples.
  4. Start with a simple client/server program.
  5. Compare with what you have drawn previously.

Here is a list of free IDEs that can give you a jump start.

KMan
A: 

I was working on a small project a few months ago regarding an Instant Messaging application so I can give you a kick-start.

There is a protocol called xtensible Messaging and Presence Protocol (XMPP) witch is the most open sourced method of creating messaging applications.

There are several companies who use this technology for there applications one of witch is Google Talk and another is Facebook Chat

Most open source messaging applications use this protocol mainly within a C# environment (Which is the route we had taken)

As your main platform is going to be Desktop (Due to your C/C++ comment) i would advice you to get started with the C# Library AgsXMPP which comes under several languages but the main would be C# in my opinion.

Sample code from the main page:

XmppClientConnection xmpp = new XmppClientConnection("chat.facebook.com");
xmpp.Open("my", "password");
xmpp.OnLogin += delegate(object o)
{
    Message Message = new Message("x.facebook.com",MessageType.chat, "Heya");
    xmpp.Send(Message);
};

Hope this information helps you.

RobertPitt