[Qt-creator] Collaborative Editing

Campbell Barton ideasman42 at gmail.com
Mon Oct 28 11:19:13 CET 2013


On Mon, Oct 28, 2013 at 8:36 PM, Tobias Hunger <tobias.hunger at digia.com> wrote:
> On 26.10.2013 09:49, Campbell Barton wrote:
>> Hi, I was wondering if there was any effort to support collaborative
>> editing in QtCreator,
>
> I am not aware of any, no.
>
>> Recently at the GSOC mentor summit I met with one of the mentors who's
>> student added a generic library for KDE to support this, he says this
>> will be added to the up-coming release of KDE. []
>
> Does that work on windows and mac, too or is it linux specific. I think
> it sits on top of telepathy, which -- considering the poor state of dbus
> on windows/mac -- would make it a linux only solution.

I would guess not, we should ask though.

>> I was wondering if this would be interesting to others, and if it
>> would be possible/desirable to add such a feature to QtCreator?
>
> It should be possible. Whether it is desireable depends a lot on how
> well it will actually work in the end:-)
>
>> If this is acceptable would there be the possibility of accepting
>> funding to get such a feature into QtCreator?
>
> There are always consulting companies like Digia and others available
> for such kind of work.
>
>> In case it matters - I'm interested in this feature for virtual
>> pair-programming.
>>
>> [0] https://floobits.com
>> [1] http://scummos.blogspot.de/2013/09/collaborative-text-editing-02-beta.html
>>
>
> As floobits.com says: To make this worthwhile there needs to be more
> than sharing an editor. Pair programming makes sense only if you both
> parties can agree on the state of the application they are working on.
> Otherwise there is no basis to start the programming from.
>
> That opens more questions like:
>
>   * How can we share the terminal output? floobits mentions terminal
> sharing, too.

Agree - but I think (while nice to have) its not an essential feature
for version 1.0 of such a tool.

>   * How can we share the debugger session?

Ok - this would be very good to have and your right to note this as a
fairly important feature, again though I dont see the omission as
something that would make collaborative editing useless.

>   * How can we share the running application? RDP/VNC maybe?

Again, good to have - not essential, I guess if you need all of this
you may be better off with a VNC session or so.

>   * Should collaborative editing integrate into version control somehow?
> Synchronization of state could be easier if you can just tell any editor
> to checkout revision X and then apply a couple of changes on top.
> Should one of the collaborators be responsible for saving/commiting the
> file?

It could but IMHO its very minor issue to just make sure you have same
revision checked out before beginning.

>   * An IDE is a bit more complex than a text editor: It has the code
> model to worry about. That needs to know the complete project state, not
> only one file. How is that going to be synchronized? Are you going to
> ask the user to open project X before he can join a collaborative
> editing session? How do you make sure both projects are in the same
> state then?

Yes - it seems reasonable both people would have the same project open.
Not sure what you mean by same state?

>   * How can this work across platforms and ideally even between parties
> that use different versions of QtC (and ideally even other IDEs)?

I dont see this as such a problem - Of course if you work on a bug in
X11 event handling and one of the devs is using OSX - this wont work
well. I see this as a corner case...
or at least an example of something that would be foolish to attempt
--- or you use VNC or some remote desktop --- clearly its not going to
work, OR - qtcreator would need some very advanced way of sharing
application state but Id expect this is really a much larger project
and out of scope for a plugin.


While I see the points you make, I worry you are taking the attitude
that EVERYTHING must work... otherwise its usless.

Since collaborative editing could eventually have a large scope - its
fair to anticipate possible areas of integration, however I think its
quite reasonable to expect both users to have the same project at the
same code revision using the same version of QtCreator.

Simple switching files and collaborative editing text would be a great
start and very useful as an initial target.

> Many people seem to be interested into collaborative editing nowadays,
> so there is work we can build on in that area. Is somebody aware of work
> on the other aspects of colaborative (C++) programming?
>
> Best Regards,
> Tobias
>
> --
> Tobias Hunger, Senior Software Engineer - Digia, Qt
> Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
> Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
> Sitz der Gesellschaft: Berlin. USt-IdNr: DE 286 306 868
> Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/qt-creator



-- 
- Campbell



More information about the Qt-creator mailing list