Background: I would like to create a notepad lookalike application in which multiple people can edit one document / notepad. I have already created the graphic interface and now want to begin researching the multi user collaboration part of it.
Questions: How would I get the text from one client's textbox to go to another client's textbox. Would i be using sockets? Where would i store the text that is going to be shared with all the clients? What would i have to use / do in order to create a functioning real time collaborative text-box. Whats a good starting point from which i can research upon?
Examples : Etherpad.com / Titanpad.com / Piratepad.com or Docs.Google.com (Except i want to create a desktop application, not a website)
Addressing some questions that have arisen in answers:
How do users pick a document they want to edit : Yes
How do users create new documents : By Selecting the New File option in the main menu
What happens if many users try to edit the same document at once? : They are all allowed to edit the document.
Does a user need to click a "save" button before the changes are reflected? : No, changes should be reflected simultaneously
Do users need to log in? : Yes
Can anyone edit any document, or are there access restrictions? : There are restrictions ie. creator of document could stop a user from editing documents..