User talk:Mike-ZeleaCom/G/p/de

From Wiki
Jump to: navigation, search

See also

2009-10-1 Seeing the differences among position drafts. http://groups.google.com/group/votorola/t/aa9358b0b755eec3
2009-11-10 Difference bridge. http://groups.google.com/group/votorola/t/ece27cd05113d7f0
2009-11-22 Opening an architecture. http://groups.google.com/group/votorola/t/ccc5f17ec83f2ad8
2009-11-29 Difference bridge. http://lists.hmdc.harvard.edu/lists/apsa_itp_at_lists_hmdc_harvard_edu/2009_11/threads.html#00011
2010-5-3 (frvp) Prototyping the whole of e-democracy. http://metagovernment.org/pipermail/start_metagovernment.org/2010-May/subject.html#2795
2010-5-23 Interface with discussion media (4) by difference bridge. http://groups.google.com/group/votorola/t/d0b47ee4c52a3b12

No need to start from scratch

Differencing engines exist in many incarnations - most programming languages have one in their standard library. (See Pythons for example).

What is hard to get right I guess it to use the history information in the right way so you can show the user a smart difference that takes the history into account (it should probably at least be a three way diff) so he knows who deleted what - and probably can also easily find out where a design originated (i.e. if a common source was used for both and what the changes against that are.

What would be really great is to be able to see how changes and ideas flow through the System - that is where Ideas originate, how they transformed over time and in which position papers they make their impressions. I have no idea if that is possible though. :)

The Crux of the matter however will be to make all this wealth of information accessible in a nice way - or it will not be used. (I as a programmer are utterly wasted through svn and hg, so I probably can't classify something as easy anymore)

You probably know all this - but I had fun thinking about it anyway. :)

Best regards from Germany --Martin Häcker

Greetings Martin, I think you're right, there's lots to analyze and visualize at the intersection of these media (voting, drafting, discussion, and so forth). But I think our most immediate need is for the difference bridge to provide a precise and stable URL to a diff fragment. For example:
 http://diff.somewhere.com/taxpol/Voter-VdomainCom/946/Candidate-CdomainCom/934#11
For that request, the engine serves this diff fragment (always the same frag):
 <<< Voter-VdomainCom, rev 946         (see latest User:Mike-ZeleaCom/G/p/de#View)
 >>> Candidate-CdomainCom, rev 934
 - - - @@ ... @@ diff 11
   blah blah blah
 < The tax rate on residential property is 0.60% of assessed value, per annum.
 > The tax rate on residential property is 0.55% of assessed value, per annum.
   blah blah blah
 - - -
 This particular diff is being discussed here:
 * http://list.somewhere.com/t3645/post356
 * http://list.elsewhere.com/t87/post98
 * and so forth
The above diff frag shows the voter proposing a higher tax rate than the candidate. The corresponding URL may be embedded in discussion media as an anchor point, wherever this diff is being talked about. Users can then traverse from discussion(s) to diff, and diff to discussion(s). The engine is therefore a bi-directional linker between the otherwise disconnected media of voting, drafting and discussion. (Hopefully it's not too hard to code. I think it's crucial.) ~Mike-ZeleaComtalk 18:16, 4 November 2009 (EST)
(a) For this to work however, the texts to diff would need to come from a stable source. (this wiki?) (b) I do really like the possibility for this to work in a kind of backlink sense, i.e. showing below the diff a list of places that have links to here (i.e. the referrers) perhaps ranked by the number of times somebody has used them to get to that diff statement. --Mhaecker-MacCom 06:07, 7 November 2009 (EST)
(a) Right, the source must have a history, like a wiki or rev control system. Otherwise it could either work in a degraded mode, or we could maybe create our own history, by taking snapshots. ~Mike-ZeleaComtalk 12:23, 8 November 2009 (EST)
I like the snapshot idea, as all links will go dead eventually - even if its just a transient failure. --Mhaecker-MacCom 14:10, 9 November 2009 (EST)
(b) We get referrer from HTTP? That might also help in spam filtering, which is going to be a problem. (Overall backlinks will be tricky, but we don't need them for the first cut.) ~Mike-ZeleaComtalk 12:23, 8 November 2009 (EST)
Exactly. :) External links can get a rel:nofollow so they won't contribute to your google rank - that way spam wouldn't be as big a problem. --Mhaecker-MacCom 14:10, 9 November 2009 (EST)

Build reverse links from forward requests

If we take the referrer from HTTP (like Martin says above) can we build the list of reverse links entirely from that? So we forget about scraping for links with Google Wave robots (my idea). Instead we provide a reverse link (from diff to discussion) only after someone clicks on the forward link (from discussion to diff). Will this work? ~Mike-ZeleaComtalk 02:09, 13 November 2009 (EST)

Do I understand this right, that Martin has an easier idea for solving this problem, that would replace Mikes idea of using Google Wave?--ThomasvonderElbe GmxDe 08:28, 19 November 2009 (EST)

Yes, I think so. I still have to check the HTTP standard, and ask for advice. I'm not an expert. But if we can reliably get the discussion page from the HTTP requests (coming into the diff view) as Martin suggested, then I think we can build the list of reverse links (from diff view to discussion pages) without Google Wave. It'll be much simpler to code, then. ~Mike-ZeleaComtalk 03:47, 20 November 2009 (EST)