Collaborative Activity Development

2008-04-14 Thread Morgan Collett
(Excuse the cross-post, but I don't know whether activity authors are
on the sugar list, which I presume is the more appropriate list for
this topic in future...)

I'm now working for OLPC, on improving activity collaboration. If you
are developing an activity and have/intend to implement collaboration,
my mission is to make that easier through documentation, examples,
improved API and general assistance.

Please take a look at http://wiki.laptop.org/go/Collaboration_Central
- a work in progress but it's intended to be a one-stop shop for
information on implementing and improving collaboration.

This week's Sugar development meeting on IRC
(http://wiki.laptop.org/go/Sugar_dev_meeting#Thursday_April_17_2008_-_17.00_.28UTC.29)
will focus on activity collaboration. If you have questions or
comments I'd love to discuss them then.

Otherwise, catch me on #sugar, or if you have issues that would
benefit other activity authors, please send them to the sugar list and
we can discuss them there.

Regards
Morgan
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Collaborative Activity Development

2008-04-14 Thread John Gilmore
Morgan Collett [EMAIL PROTECTED] wrote:
 I'm now working for OLPC, on improving activity collaboration.

This is great!

The best thing OLPC could do to improve activity collaboration is to
get it working for ordinary programs -- running on the X Window
System, or on MacOSX, or Windows.  Why doesn't AbiWord already
collaborate with Write?  Why doesn't Firefox collaborate with Browse?
It's the same code base.

Tying collaboration to Sugar is a losing strategy.  Once the rest of
the world figures out that *their* programs should be trivial to
collaborate in too, they'll reimplement collaboration (likely in an
incompatible way).  Then Sugar's collaboration will be an orphan
rather than the mainstream.  Instead, if OLPC's collaboration code
supported cross-platform collaboration, OLPC's model and its
implementing code would spread throughout the whole computing
infrastructure.  And that would bring in a new pile of contributors,
enhancing, debugging, and porting it everywhere.

Easy collaboration is one of OLPC's key advantages over its
competition.  Making that a reality for all the kids (and adults) in
the world requires a broader vision.  Merely debugging what makes
Sugar apps fail to collaborate under load, or getting a few more Sugar
authors to add collaboration, won't suffice.

John

PS:  If there is a simple way to install a couple of RPM's or DEB's, add
a paragraph of code and a few automake macros, and add collaboration
to any program written in C or C++, then please document it!  (If on
the other hand it only works in Python and requires sugar-jhbuild
then there's some work to be done.)

PPS:  This review of AbiWord says:

  http://www.linux.com/feature/131852

  The new AbiWord supposedly offers real-time document collaboration
  developed for the OLPC project and implemented by means of an
  experimental plugin. As per the AbiWord-2.6 release notes, there are
  three implementations of the plugin, one for the OLPC, and two (an
  XMPP-based one and a pure TCP/IP one) for Linux. The Linux plugins
  compiled without any issues, but AbiWord couldn't activate them. The
  plugin isn't currently available for Windows.

  [abiword.com says the Windows plugin is available on 2.6.2 now.  But
  I never did find the collab plugin, nor any documentation for it.  The
  2.6.0 release notes imply that the three available collab plugins can't
  actually interoperate with each other!]

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Collaborative Activity Development

2008-04-14 Thread Bobby Powers
yes, this looks like a great start!  I'm just getting my feet wet with
development (got sugar-jhbuild working today! ;), and was wondering if
anyone has had experience, or examples, of software on regular laptop
collaborating with an XO?  Is this even possible, and if it isn't then is
there a way I can help make it happen?  It would be great for me (and
others!) if I could develop a mac or linux version of an activity and have
them talk to its sister app on some XOs
Bobby

On Mon, Apr 14, 2008 at 10:02 PM, John Gilmore [EMAIL PROTECTED] wrote:

 Morgan Collett [EMAIL PROTECTED] wrote:
  I'm now working for OLPC, on improving activity collaboration.

 This is great!

 The best thing OLPC could do to improve activity collaboration is to
 get it working for ordinary programs -- running on the X Window
 System, or on MacOSX, or Windows.  Why doesn't AbiWord already
 collaborate with Write?  Why doesn't Firefox collaborate with Browse?
 It's the same code base.

 Tying collaboration to Sugar is a losing strategy.  Once the rest of
 the world figures out that *their* programs should be trivial to
 collaborate in too, they'll reimplement collaboration (likely in an
 incompatible way).  Then Sugar's collaboration will be an orphan
 rather than the mainstream.  Instead, if OLPC's collaboration code
 supported cross-platform collaboration, OLPC's model and its
 implementing code would spread throughout the whole computing
 infrastructure.  And that would bring in a new pile of contributors,
 enhancing, debugging, and porting it everywhere.

 Easy collaboration is one of OLPC's key advantages over its
 competition.  Making that a reality for all the kids (and adults) in
 the world requires a broader vision.  Merely debugging what makes
 Sugar apps fail to collaborate under load, or getting a few more Sugar
 authors to add collaboration, won't suffice.

John

 PS:  If there is a simple way to install a couple of RPM's or DEB's, add
 a paragraph of code and a few automake macros, and add collaboration
 to any program written in C or C++, then please document it!  (If on
 the other hand it only works in Python and requires sugar-jhbuild
 then there's some work to be done.)

 PPS:  This review of AbiWord says:

  http://www.linux.com/feature/131852

  The new AbiWord supposedly offers real-time document collaboration
  developed for the OLPC project and implemented by means of an
  experimental plugin. As per the AbiWord-2.6 release notes, there are
  three implementations of the plugin, one for the OLPC, and two (an
  XMPP-based one and a pure TCP/IP one) for Linux. The Linux plugins
  compiled without any issues, but AbiWord couldn't activate them. The
  plugin isn't currently available for Windows.

  [abiword.com says the Windows plugin is available on 2.6.2 now.  But
  I never did find the collab plugin, nor any documentation for it.  The
  2.6.0 release notes imply that the three available collab plugins can't
  actually interoperate with each other!]

 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Collaborative Activity Development

2008-04-14 Thread Jim Gettys
John,

We really would like to get the Sugar UI components running on vanilla
Linux desktops, and the apps all interoperating

Help greatfully appreciated...
  - Jim

On Mon, 2008-04-14 at 13:02 -0700, John Gilmore wrote:
 Morgan Collett [EMAIL PROTECTED] wrote:
  I'm now working for OLPC, on improving activity collaboration.
 
 This is great!
 
 The best thing OLPC could do to improve activity collaboration is to
 get it working for ordinary programs -- running on the X Window
 System, or on MacOSX, or Windows.  Why doesn't AbiWord already
 collaborate with Write?  Why doesn't Firefox collaborate with Browse?
 It's the same code base.
 
 Tying collaboration to Sugar is a losing strategy.  Once the rest of
 the world figures out that *their* programs should be trivial to
 collaborate in too, they'll reimplement collaboration (likely in an
 incompatible way).  Then Sugar's collaboration will be an orphan
 rather than the mainstream.  Instead, if OLPC's collaboration code
 supported cross-platform collaboration, OLPC's model and its
 implementing code would spread throughout the whole computing
 infrastructure.  And that would bring in a new pile of contributors,
 enhancing, debugging, and porting it everywhere.
 
 Easy collaboration is one of OLPC's key advantages over its
 competition.  Making that a reality for all the kids (and adults) in
 the world requires a broader vision.  Merely debugging what makes
 Sugar apps fail to collaborate under load, or getting a few more Sugar
 authors to add collaboration, won't suffice.
 
   John
 
 PS:  If there is a simple way to install a couple of RPM's or DEB's, add
 a paragraph of code and a few automake macros, and add collaboration
 to any program written in C or C++, then please document it!  (If on
 the other hand it only works in Python and requires sugar-jhbuild
 then there's some work to be done.)
 
 PPS:  This review of AbiWord says:
 
   http://www.linux.com/feature/131852
 
   The new AbiWord supposedly offers real-time document collaboration
   developed for the OLPC project and implemented by means of an
   experimental plugin. As per the AbiWord-2.6 release notes, there are
   three implementations of the plugin, one for the OLPC, and two (an
   XMPP-based one and a pure TCP/IP one) for Linux. The Linux plugins
   compiled without any issues, but AbiWord couldn't activate them. The
   plugin isn't currently available for Windows.
 
   [abiword.com says the Windows plugin is available on 2.6.2 now.  But
   I never did find the collab plugin, nor any documentation for it.  The
   2.6.0 release notes imply that the three available collab plugins can't
   actually interoperate with each other!]
 
 ___
 Devel mailing list
 Devel@lists.laptop.org
 http://lists.laptop.org/listinfo/devel
-- 
Jim Gettys
One Laptop Per Child


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: Collaborative Activity Development

2008-04-14 Thread Dafydd Harries
Ar 14/04/2008 am 13:02, ysgrifennodd John Gilmore:
 Morgan Collett [EMAIL PROTECTED] wrote:
  I'm now working for OLPC, on improving activity collaboration.
 
 Tying collaboration to Sugar is a losing strategy.  Once the rest of
 the world figures out that *their* programs should be trivial to
 collaborate in too, they'll reimplement collaboration (likely in an
 incompatible way).  Then Sugar's collaboration will be an orphan
 rather than the mainstream.  Instead, if OLPC's collaboration code
 supported cross-platform collaboration, OLPC's model and its
 implementing code would spread throughout the whole computing
 infrastructure.  And that would bring in a new pile of contributors,
 enhancing, debugging, and porting it everywhere.

I absolutely agree. While most of the OLPC collaboration code will happily
work outside Sugar, there are interoperability problems, and I'm not sure what
we should do about some of them. I think perhaps we made a mistake in focusing
on designing a good API rather than protocols that would be general and easy
to reimplement (specifically, I think the discovery protocols are maybe not
general enough, and the data transport protocols are maybe too hard to
reimplement).

That said, I and a number of other people are working on popularising the
collaboration software that Collabora developed for Sugar outside Sugar.

 PS:  If there is a simple way to install a couple of RPM's or DEB's, add
 a paragraph of code and a few automake macros, and add collaboration
 to any program written in C or C++, then please document it!  (If on
 the other hand it only works in Python and requires sugar-jhbuild
 then there's some work to be done.)

It's not limited to Python, and doesn't require sugar-jhbuild, but our APIs
are too complicated. I'm hoping that we can adopt things in the vein of Ben
Schwartz's work to provide nice ways for developers to make their applications
collaborative.

Ideas about how to make our collaboration technology more general and
accessible are welcome.

 
 PPS:  This review of AbiWord says:
 
   http://www.linux.com/feature/131852
 
   The new AbiWord supposedly offers real-time document collaboration
   developed for the OLPC project and implemented by means of an
   experimental plugin. As per the AbiWord-2.6 release notes, there are
   three implementations of the plugin, one for the OLPC, and two (an
   XMPP-based one and a pure TCP/IP one) for Linux. The Linux plugins
   compiled without any issues, but AbiWord couldn't activate them. The
   plugin isn't currently available for Windows.
 
   [abiword.com says the Windows plugin is available on 2.6.2 now.  But
   I never did find the collab plugin, nor any documentation for it.  The
   2.6.0 release notes imply that the three available collab plugins can't
   actually interoperate with each other!]

I don't know of any reason why the OLPC plugin shouldn't work on a Linux
system, barring perhaps some dependency problems (e.g. new enough version of
libdbus).

-- 
Dafydd
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel