digitalmars.D - Scintilla pair programming over the net
- BLS (35/35) Oct 04 2006 Cross posting, slightly modified because of Lars Ivar's feedback on D
Cross posting, slightly modified because of Lars Ivar's feedback on D learn. Hope you are gentle enough to offer me your opinions ;-) Pair programming over the net is an important, if not the most impotant feature, my Groupware D IDE should have. (In other words, in my eyes the IDE is nothing worth without it) Preleminaries : 1) Due to the fact that I choose wxD as GUI I have to use scintilla resprectice STC. 2) Pair programming means that person *A* is active/editing a source while person *B* (somewhere in the world) is passive/observing the same source. (Communication between A and B (to exchange ideas) through developer2developer chat, or dev2dev video-conferencing,...) 3) The IDE uses a database to manage sources/projects instead of SVN/CVS... hosted on an dedicated server, accessable through the IP address. Okay, now the idea I would like to discuss... Ide login ask for pw and id, automaticly connects to the db server/internet, get your *current IP address* and saves these information into a simple db-table. "WhoIsOnline" (transmission and database are strongly encrypted) These informations are needed to communicate over the net. The IDE acts as threaded TCP socket-server *and* socket-client. Person *A* opens a project/source and invites a project member who is online just by querying the project-member and WhoIsOnline tables. Person *A* opens a D sourcefile and starts editing. (The adequate record is locked and write protected.) Person *B* is passive and watches the modification in realtime "WhatYouEditIsWhatISee" How : Actually I am thinking about using scintilla idle events to send (captured) mouse and keyboard events via tcp socket to person *B* using a channeled protocol. Channeled protocol because dev2dev comunication and "WhatYouEditIsWhatISee" should share one port. If you think I am comletely wrong, or you have some other ideas... any feedback, hint, tip, link is welcome! Björn
Oct 04 2006