Difference between revisions of "NetworkedEditing"

From Inkscape Wiki
Jump to: navigation, search
(outdated)
 
(14 intermediate revisions by 10 users not shown)
Line 1: Line 1:
== [[Seraphim Proudleduck|http://forums.merkey.net]] ==
+
{{DevDiscussion}}
[[http://forums.merkey.net Seraphim Proudleduck]]
+
{{Outdated}}
[http://forums.merkey.net | Seraphim Proudleduck]
+
This page explores implementation of adding network I[[/O]] capabilities to Inkscape.
<a href="http://forums.merkey.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.hostultra.com/~seraphima/]] ==
+
[[NetworkedEditing]] could work in one of two broad modes:
[[http://www.hostultra.com/~seraphima/ Seraphim Proudleduck]]
+
* '''network retrieval and posting:''' A user downloads an image over the Internet, works on it, and posts it back.
[http://www.hostultra.com/~seraphima/ | Seraphim Proudleduck]
+
* '''whiteboarding:''' Several people work on the same image simultaneously, and see each other's edits in real time.
<a href="http://www.hostultra.com/~seraphima/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.hostultra.com/~seraphimb/]] ==
+
See also [[WhiteboardSeniorProjectProposal]] for notes on a "whiteboarding" effort.
[[http://www.hostultra.com/~seraphimb/ Seraphim Proudleduck]]
+
[http://www.hostultra.com/~seraphimb/ | Seraphim Proudleduck]
+
<a href="http://www.hostultra.com/~seraphimb/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.hostultra.com/~kbo/]] ==
+
== Whiteboarding ==
[[http://www.hostultra.com/~kbo/ Seraphim Proudleduck]]
+
[http://www.hostultra.com/~kbo/ | Seraphim Proudleduck]
+
<a href="http://www.hostultra.com/~kbo/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.seraphima.vzz.net]] ==
+
The user would select 'Connect...' from the File menu in order to connect a drawing to a remote server.
[[http://www.seraphima.vzz.net Seraphim Proudleduck]]
+
Inkscape would then serve as a client application, receiving and submitting SVG modifications as
[http://www.seraphima.vzz.net | Seraphim Proudleduck]
+
transactions. The server authorizes changes and serves as the authoritative definition for the document's
<a href="http://www.seraphima.vzz.net";>Seraphim Proudleduck</a>
+
composition.
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.vzz.net]] ==
+
Changes arrive to Inkscape via slots as described in [[WhiteboardSeniorProjectProposal]].
[[http://www.seraphimb.vzz.net Seraphim Proudleduck]]
+
[http://www.seraphimb.vzz.net | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.vzz.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.vzz.net]] ==
+
The document Inkscape views could be read-only or read-write. Multiple people could be able to write at
[[http://www.kbo.vzz.net Seraphim Proudleduck]]
+
the same time. Through 'locking', some drawing objects could be made available to the user to edit
[http://www.kbo.vzz.net | Seraphim Proudleduck]
+
while others are not.
<a href="http://www.kbo.vzz.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.jktf.com]] ==
+
== Network Retrieval and Posting ==
[[http://www.seraphima.jktf.com Seraphim Proudleduck]]
+
[http://www.seraphima.jktf.com | Seraphim Proudleduck]
+
<a href="http://www.seraphima.jktf.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.jktf.com]] ==
+
Another option would be to tie into [[WebDAV]]. Edits would not be live.
[[http://www.seraphimb.jktf.com Seraphim Proudleduck]]
+
[http://www.seraphimb.jktf.com | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.jktf.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.jktf.com]] ==
+
You could connect by XML-RPC, [[WebDAV]], or some standardized GET/POST system.
[[http://www.kbo.jktf.com Seraphim Proudleduck]]
+
[http://www.kbo.jktf.com | Seraphim Proudleduck]
+
<a href="http://www.kbo.jktf.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.nipz.com]] ==
+
You might want to export PNG images as well. This depends on whether image servers can convert SVG's to PNG's automatically or not.
[[http://www.seraphima.nipz.com Seraphim Proudleduck]]
+
[http://www.seraphima.nipz.com | Seraphim Proudleduck]
+
<a href="http://www.seraphima.nipz.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.nipz.com]] ==
+
With the proposed [[ExtensionArchitectureProposals]], you should be able to do this pretty easily.
[[http://www.seraphimb.nipz.com Seraphim Proudleduck]]
+
[http://www.seraphimb.nipz.com | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.nipz.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.nipz.com]] ==
+
== Networked Editing & Wiki ==
[[http://www.kbo.nipz.com Seraphim Proudleduck]]
+
[http://www.kbo.nipz.com | Seraphim Proudleduck]
+
<a href="http://www.kbo.nipz.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.computed.net]] ==
+
There are many possibilities for wiki here. See [http://wikifeatures.wiki.taoriver.net/moin.cgi/WikiWhiteboard [[WikiFeatures]]:[[WikiWhiteboard]]], [http://interwiki.wiki.taoriver.net/moin.cgi/MarkupSkins [[InterWiki]]:[[MarkupSkins]]]
[[http://www.seraphima.computed.net Seraphim Proudleduck]]
+
[http://www.seraphima.computed.net | Seraphim Proudleduck]
+
<a href="http://www.seraphima.computed.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.computed.net]] ==
+
''Live editing would be nice, but isn't necessary. You could just: Connect to a wiki by XML-RPC, select a page, select an SVG image on the page, retrieve the image, edit the image locally, and click "export." Since most browser can't read SVG right now, you'd export both the new SVG image, and a PNG imprint.''
[[http://www.seraphimb.computed.net Seraphim Proudleduck]]
+
[http://www.seraphimb.computed.net | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.computed.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.computed.net]] ==
+
''If anyone would like to work on this, please contact me (lion at speakeasy.net), or Thomas Waldmann on irc.freenode.net #moin.''
[[http://www.kbo.computed.net Seraphim Proudleduck]]
+
[http://www.kbo.computed.net | Seraphim Proudleduck]
+
<a href="http://www.kbo.computed.net";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.gapgirls.com]] ==
+
=== Uses of Networked Editing ===
[[http://www.seraphima.gapgirls.com Seraphim Proudleduck]]
+
[http://www.seraphima.gapgirls.com | Seraphim Proudleduck]
+
<a href="http://www.seraphima.gapgirls.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.gapgirls.com]] ==
+
Wiki -- editing SVG images on wiki pages
[[http://www.seraphimb.gapgirls.com Seraphim Proudleduck]]
+
[http://www.seraphimb.gapgirls.com | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.gapgirls.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.gapgirls.com]] ==
+
Distributed whiteboarding -- Multiple people could work on brainstorming a diagram.
[[http://www.kbo.gapgirls.com Seraphim Proudleduck]]
+
[http://www.kbo.gapgirls.com | Seraphim Proudleduck]
+
<a href="http://www.kbo.gapgirls.com";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.saiyan.ws]] ==
+
Multi-person drawing -- Several people could work on different areas of the drawing at the same time.
[[http://www.seraphima.saiyan.ws Seraphim Proudleduck]]
+
Could be useful for mapmaking or for DTP work.
[http://www.seraphima.saiyan.ws | Seraphim Proudleduck]
+
<a href="http://www.seraphima.saiyan.ws";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.saiyan.ws]] ==
+
Shared component repositories -- Folks could set up Internet-based repositories for clipart, styles,
[[http://www.seraphimb.saiyan.ws Seraphim Proudleduck]]
+
symbols, maps, flags-of-the-world, etc. and allow Inkscape users to log in to browse and import/export. (See also: [http://www.openclipart.org/ Open Clip Art Project])
[http://www.seraphimb.saiyan.ws | Seraphim Proudleduck]
+
<a href="http://www.seraphimb.saiyan.ws";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.kbo.saiyan.ws]] ==
+
Slideshows -- A remote user can walk a group through a presentation, such as during a teleconference.
[[http://www.kbo.saiyan.ws Seraphim Proudleduck]]
+
[http://www.kbo.saiyan.ws | Seraphim Proudleduck]
+
<a href="http://www.kbo.saiyan.ws";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphima.saiyans.ws]] ==
+
Games -- By implementing additional logic on the server, simple SVG-based games could be created.
[[http://www.seraphima.saiyans.ws Seraphim Proudleduck]]
+
[http://www.seraphima.saiyans.ws | Seraphim Proudleduck]
+
<a href="http://www.seraphima.saiyans.ws";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://www.seraphimb.saiyans.ws]] ==
 
[[http://www.seraphimb.saiyans.ws Seraphim Proudleduck]]
 
[http://www.seraphimb.saiyans.ws | Seraphim Proudleduck]
 
<a href="http://www.seraphimb.saiyans.ws";>Seraphim Proudleduck</a>
 
mnuwsb2. mnuwsb2.
 
  
== [[Seraphim Proudleduck|http://www.kbo.saiyans.ws]] ==
+
=== Patent Problems? ===
[[http://www.kbo.saiyans.ws Seraphim Proudleduck]]
+
[http://www.kbo.saiyans.ws | Seraphim Proudleduck]
+
<a href="http://www.kbo.saiyans.ws";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2.
+
  
== [[Seraphim Proudleduck|http://merkey5.mybesthost.com/]] ==
+
It looks like there are some patent problems with this extension. Sorry, I just have a german link:  
[[http://merkey5.mybesthost.com/ Seraphim Proudleduck]]
+
http://www.golem.de/0311/28512.html
[http://merkey5.mybesthost.com/ | Seraphim Proudleduck]
+
<a href="http://merkey5.mybesthost.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://merkey4.hollosite.com/]] ==
+
Please summarize in English.
[[http://merkey4.hollosite.com/ Seraphim Proudleduck]]
+
[http://merkey4.hollosite.com/ | Seraphim Proudleduck]
+
<a href="http://merkey4.hollosite.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://merkey3.hollosite.com/]] ==
+
I found an English article about this:
[[http://merkey3.hollosite.com/ Seraphim Proudleduck]]
+
http://www.itworld.com/App/4155/031125netmeeting/
[http://merkey3.hollosite.com/ | Seraphim Proudleduck]
+
or just use http://babelfish.altavista.com/
<a href="http://merkey3.hollosite.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://merkey2.hollosite.com/]] ==
+
Thanks. But without knowing the particulars of the patent it's difficult to see whether there
[[http://merkey2.hollosite.com/ Seraphim Proudleduck]]
+
are actually patent problems with this. Is it a patent over the entire concept of whiteboarding
[http://merkey2.hollosite.com/ | Seraphim Proudleduck]
+
or just some specific whiteboarding feature contained in the application in question?  -- bryce
<a href="http://merkey2.hollosite.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://merkey1.hollosite.com/]] ==
+
I found the patent number. It's 5,206,934 and the patent is from Imagexpo. And here is the link:
[[http://merkey1.hollosite.com/ Seraphim Proudleduck]]
+
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/search-bool.html&r=1&f=G&l=50&co1=AND&d=ptxt&s1=5,206,934.WKU.&OS=PN/5,206,934&RS=PN/5,206,934
[http://merkey1.hollosite.com/ | Seraphim Proudleduck]
+
<a href="http://merkey1.hollosite.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://merkey.no-ip.com/]] ==
+
''That's easy to get around. Just go to a pull model rather than a push. Trigger the pulls by ringing a bell from the changing process.''
[[http://merkey.no-ip.com/ Seraphim Proudleduck]]
+
[http://merkey.no-ip.com/ | Seraphim Proudleduck]
+
<a href="http://merkey.no-ip.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://seraphimproudleduck.no-ip.com/]] ==
+
''In fact, it can even work ''better'' this way- after the bell rings, wait 150 ms. If you get another ring on the bell, keep waiting... When activity dies down, go fetch your changes. Alternatively, if a maximum period passes (say, 500ms-1000ms) perform a fetch.''
[[http://seraphimproudleduck.no-ip.com/ Seraphim Proudleduck]]
+
[http://seraphimproudleduck.no-ip.com/ | Seraphim Proudleduck]
+
<a href="http://seraphimproudleduck.no-ip.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://hosting.mixcat.com/seraphimproudleduck/]] ==
+
''You'll note that in the patent, you have to send the data and commands with the change notification. Thus, this change means you are free from the patent.''
[[http://hosting.mixcat.com/seraphimproudleduck/ Seraphim Proudleduck]]
+
[http://hosting.mixcat.com/seraphimproudleduck/ | Seraphim Proudleduck]
+
<a href="http://hosting.mixcat.com/seraphimproudleduck/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://nvolution.hollosite.com/]] ==
+
''I am not a lawyer. This is my opinion only.''
[[http://nvolution.hollosite.com/ Seraphim Proudleduck]]
+
[http://nvolution.hollosite.com/ | Seraphim Proudleduck]
+
<a href="http://nvolution.hollosite.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://spmerkey.t35.com/]] ==
+
-- [http://speakeasy.org/~lion/ Lion Kimbro]
[[http://spmerkey.t35.com/ Seraphim Proudleduck]]
+
[http://spmerkey.t35.com/ | Seraphim Proudleduck]
+
<a href="http://spmerkey.t35.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://ttkmerky.blogspot.com/]] ==
+
Hi Lion -- I think you and I worked together on a project once before -- Wikipedia?  [[FreeBooks]]?
[[http://ttkmerky.blogspot.com/ Seraphim Proudleduck]]
+
Thanks for the feedback on the patent, sounds like there are ways to work around it.
[http://ttkmerky.blogspot.com/ | Seraphim Proudleduck]
+
-- [[BryceHarrington]]
<a href="http://ttkmerky.blogspot.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://uphu.blogspot.com/]] ==
+
: That's it! Free Books, with Ben Crowell. :) -- [[LionKimbro]]
[[http://uphu.blogspot.com/ Seraphim Proudleduck]]
+
[http://uphu.blogspot.com/ | Seraphim Proudleduck]
+
<a href="http://uphu.blogspot.com/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.blurty.com/~uphu/]] ==
+
According to the U.S. patent office [https://ramps.uspto.gov/eram/getMaintFeesInfo.do RAMPS] system, this patent has expired:
[[http://www.blurty.com/~uphu/ Seraphim Proudleduck]]
+
[http://www.blurty.com/~uphu/ | Seraphim Proudleduck]
+
<a href="http://www.blurty.com/~uphu/";>Seraphim Proudleduck</a>
+
mnuwsb2. mnuwsb2
+
  
== [[Seraphim Proudleduck|http://www.blurty.com/users/uphu/]] ==
 
[[http://www.blurty.com/users/uphu/ Seraphim Proudleduck]]
 
[http://www.blurty.com/users/uphu/ | Seraphim Proudleduck]
 
<a href="http://www.blurty.com/users/uphu/";>Seraphim Proudleduck</a>
 
mnuwsb2. mnuwsb2
 
  
== [[Seraphim Proudleduck|http://www.blurty.com/users/uphu/]] ==
 
[[http://www.blurty.com/users/uphu/ Seraphim Proudleduck]]
 
[http://www.blurty.com/users/uphu/ | Seraphim Proudleduck]
 
<a href="http://www.blurty.com/users/uphu/";>Seraphim Proudleduck</a>
 
mnuwsb2. mnuwsb2
 
  
== [[Seraphim Proudleduck|http://www.blurty.com/users/uphu/]] ==
+
=== Other Projects ===
[[http://www.blurty.com/users/uphu/ Seraphim Proudleduck]]
+
 
[http://www.blurty.com/users/uphu/ | Seraphim Proudleduck]
+
*[http://www.dklevine.com/general/software/tc1000/jarnal.htm Jarnal], written in Java, [http://www.dklevine.com/general/software/tc1000/jarnal-net.htm includes network editing features].
<a href="http://www.blurty.com/users/uphu/";>Seraphim Proudleduck</a>
+
 
mnuwsb2. mnuwsb2
+
*[http://www.adebenham.com/gournal/ Gournal(GTK2[[/Perl]])] -- A Note-taking Tablet Application for Linux has something like this. ''Does it? I don't see anything on the web page suggesting this..?''
 +
: Yes, it does. Just download it and test it. You can even look at the screenshot, there are connect and listening buttons.
 +
 
 +
 
 +
*[http://www.thekompany.com/products/aethera/tkwhiteboard/  tkWhiteboard]
 +
 
 +
=== Other Notes ===
 +
 
 +
Gtkmm provides the ability to check on file descriptors for changed data.  See
 +
http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch17s02.html for details.

Latest revision as of 19:13, 29 February 2012

This page is outdated. It is kept for historical reasons, e.g. to document specific decisions in Inkscape development.

This page explores implementation of adding network I/O capabilities to Inkscape.

NetworkedEditing could work in one of two broad modes:

  • network retrieval and posting: A user downloads an image over the Internet, works on it, and posts it back.
  • whiteboarding: Several people work on the same image simultaneously, and see each other's edits in real time.

See also WhiteboardSeniorProjectProposal for notes on a "whiteboarding" effort.

Whiteboarding

The user would select 'Connect...' from the File menu in order to connect a drawing to a remote server. Inkscape would then serve as a client application, receiving and submitting SVG modifications as transactions. The server authorizes changes and serves as the authoritative definition for the document's composition.

Changes arrive to Inkscape via slots as described in WhiteboardSeniorProjectProposal.

The document Inkscape views could be read-only or read-write. Multiple people could be able to write at the same time. Through 'locking', some drawing objects could be made available to the user to edit while others are not.

Network Retrieval and Posting

Another option would be to tie into WebDAV. Edits would not be live.

You could connect by XML-RPC, WebDAV, or some standardized GET/POST system.

You might want to export PNG images as well. This depends on whether image servers can convert SVG's to PNG's automatically or not.

With the proposed ExtensionArchitectureProposals, you should be able to do this pretty easily.

Networked Editing & Wiki

There are many possibilities for wiki here. See WikiFeatures:WikiWhiteboard, InterWiki:MarkupSkins

Live editing would be nice, but isn't necessary. You could just: Connect to a wiki by XML-RPC, select a page, select an SVG image on the page, retrieve the image, edit the image locally, and click "export." Since most browser can't read SVG right now, you'd export both the new SVG image, and a PNG imprint.

If anyone would like to work on this, please contact me (lion at speakeasy.net), or Thomas Waldmann on irc.freenode.net #moin.

Uses of Networked Editing

Wiki -- editing SVG images on wiki pages

Distributed whiteboarding -- Multiple people could work on brainstorming a diagram.

Multi-person drawing -- Several people could work on different areas of the drawing at the same time. Could be useful for mapmaking or for DTP work.

Shared component repositories -- Folks could set up Internet-based repositories for clipart, styles, symbols, maps, flags-of-the-world, etc. and allow Inkscape users to log in to browse and import/export. (See also: Open Clip Art Project)

Slideshows -- A remote user can walk a group through a presentation, such as during a teleconference.

Games -- By implementing additional logic on the server, simple SVG-based games could be created.


Patent Problems?

It looks like there are some patent problems with this extension. Sorry, I just have a german link: http://www.golem.de/0311/28512.html

Please summarize in English.

I found an English article about this: http://www.itworld.com/App/4155/031125netmeeting/ or just use http://babelfish.altavista.com/

Thanks. But without knowing the particulars of the patent it's difficult to see whether there are actually patent problems with this. Is it a patent over the entire concept of whiteboarding or just some specific whiteboarding feature contained in the application in question? -- bryce

I found the patent number. It's 5,206,934 and the patent is from Imagexpo. And here is the link: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/search-bool.html&r=1&f=G&l=50&co1=AND&d=ptxt&s1=5,206,934.WKU.&OS=PN/5,206,934&RS=PN/5,206,934

That's easy to get around. Just go to a pull model rather than a push. Trigger the pulls by ringing a bell from the changing process.

In fact, it can even work better this way- after the bell rings, wait 150 ms. If you get another ring on the bell, keep waiting... When activity dies down, go fetch your changes. Alternatively, if a maximum period passes (say, 500ms-1000ms) perform a fetch.

You'll note that in the patent, you have to send the data and commands with the change notification. Thus, this change means you are free from the patent.

I am not a lawyer. This is my opinion only.

-- Lion Kimbro

Hi Lion -- I think you and I worked together on a project once before -- Wikipedia? FreeBooks? Thanks for the feedback on the patent, sounds like there are ways to work around it. -- BryceHarrington

That's it! Free Books, with Ben Crowell. :) -- LionKimbro

According to the U.S. patent office RAMPS system, this patent has expired:


Other Projects

  • Gournal(GTK2/Perl) -- A Note-taking Tablet Application for Linux has something like this. Does it? I don't see anything on the web page suggesting this..?
Yes, it does. Just download it and test it. You can even look at the screenshot, there are connect and listening buttons.


Other Notes

Gtkmm provides the ability to check on file descriptors for changed data. See http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch17s02.html for details.