I think it's about time I GaveUpOnWiki
. The new "posts" feature is a nice step towards accountability, but it's proving not to be enough. I think that what I'd like is a community where:
- People are accountable for their own actions. You have to create an account and log in in order to post. When you post to the community wiki, you certainly don't have to sign your name, but there'll always be a way (like c2's new "posts" feature) for your actions to be traced back to you. I expect that most of the time, people won't bother looking at the "posts" page, but it'll be there in times of trouble.
- New identities are only allowed to do easily-ignorable things. Maybe every identity gets a blog. In your blog, you can certainly link to pages on the community wiki (and those links will be noticed by the BackLinks mechanism, and could even be shown at the bottom of each wiki page), but you aren't allowed to actually edit the community wiki until the community gives you permission.
- Access to the community wiki would be controlled by an AdvoGato-like trust metric. So it wouldn't take much to be given permission to edit the wiki (you'd just need to be interesting enough that at least one other community member wants to give you access), but if the community later wanted to revoke your access, they'd be able to do so.
I'm not too concerned about the topic. C2's topic has kinda grown over the years, but mostly it hasn't been a problem. Sometimes I'm interested in the ThingsOnWikisMind
; sometimes I'm not. That's just fine. I can certainly imagine ways of making it easier for a more diverse range of topics to live side-by-side. (And I think having explicit accounts will help - my RecentChanges
can filter out different things than your RecentChanges
Does a site like this already exist? If not, does anybody feel like making one? I don't have time these days, but I'd love to be part of a community of people like most of the people I've found here on c2. For years, this place has been wonderful, but I think I'm convinced now that I'd like a site with a little bit more accountability.
SimplestThing: UseModWiki has a way to lock all pages and provide 'editor' passwords (though it's not the automated system described in your UserStories - it could be a start though). It seems like the 'blog' could be a user's HomePage and their 'space' could be the sub-pages of that HomePage. Permission to edit could be given by email . . . -- KyleWakefield
Consider a FactionModel? - it avoids the PermissionBasedModel? but it collectivizes responsibility somewhat. Remember, all reputation is negative. Details on it at http://consumerium.org/wiki/wiki.phtml?title=faction and related model at http://www.metaweb.com/wiki/wiki.phtml?title=Metaweb:phyle
You're right about how a user's "blog" should just be his homepage - simpler, more uniform. I like it. I also like the idea that subpages give him infinite easily-ignorable space to work in.
I don't know enough about UseModWiki
's permission system. Would it ensure that every edit you do can be traced back to you? Would it allow a person's access to be revoked later, by the community?
- Bob Smith creates an account named BobSmith. Now he has permission to edit the BobSmith page, and create subpages in it, but nothing else.
- What if another Bob Smith has already created an account under the name 'BobSmith'? How should name/identifier collisions be resolved while still holding to RealNamesPlease? Or would RealNames be needed at all?
- Bob Smith wants to comment on a page named StupendousProgramming. He creates a page named BobSmith/StupendousProgramming and puts his comments there. When other users go to look at the main StupendousProgramming page, they see the contents of BobSmith/StupendousProgramming appended to the bottom.
- Henry Jones, who is already an established member of the community, notices a few of Bob Smith's comments and decides that Bob deserves to be a full member too. He "endorses" Bob Smith. The fact that Henry has endorsed Bob is public - the HenryJones page and the BobSmith page both state that "Henry Jones has endorsed Bob Smith." Because Bob has been endorsed by a full member, he becomes a full member too. Bob now has permission to edit anything on the wiki.
- Jane Brown notices a bunch of very annoying edits happening. She sees that these edits are being performed by Bob Smith. Jane decides that she's no longer interested in what Bob Smith has to say. She goes to her personal preferences and adds Bob Smith to her "ignore list". From then on, she no longer sees the BobSmith page or any of its subpages when she goes to look at RecentChanges, and she no longer sees the contents of BobSmith/StupendousProgramming when she goes to look at the main StupendousProgramming page. This doesn't help with the problem of Bob Smith's edits to pages on the main wiki, though.
- Henry Jones and Jill Baker, who were the only people to endorse Bob Smith, also notice that Bob Smith is very annoying. They both retract their endorsement of Bob Smith. Because Bob Smith is no longer endorsed by any full member of the community, he is no longer a full member of the community (and is thus confined to his HomePage). The damage he did still exists, but the community can clean it up.
- Alternatively, suppose that Jill retracts her endorsement of Bob, but Henry doesn't. If the rest of the community retracts their endorsement of Henry, Henry will no longer be a full member of the community, and therefore neither will Bob.
- This situation could actually end with Henry (which also means Bob) stubbornly staying as part of the community. It seems that even the worst of us have at least one friend (as demonstrated with Henry befriending Bob). Perhaps membership could based on percentages? [Percentages may not work very well; it seems like that would have scalability problems.]
All right, I'm convinced. And I also think I don't understand AdvoGato
's trust metric properly yet. From what little I've read about it, I got the impression that it was clever enough to deal with things like this. I'll take a closer look at it when I have more time.
I'm finding it tempting to define "anti-endorsements", but that won't help; it's too easy to create new identities.
One thing I like is that even if a person loses all their endorsements, it's not like they're completely silenced. They'll still be able to do things inside their own space, and their comments will still show up when people (who haven't chosen to ignore them) look at the main wiki pages. So I'm still kinda wondering whether peer pressure might be enough to convince Henry to unendorse Bob, or Henry's friends to unendorse Henry.
Ugh. This system certainly doesn't have wiki's simplicity.
This sounds a lot like GarbageCollection
. And, just like it, it has the problem of CircularReferences?
!!! (two spammers who trust each other will remain full members, even if everyone else hates them)
There are many ways for groups of people to work together. Two of them are quite simple, though not necessarily just: Anarchy, and Dictatorship. In an Anarchy you don't really have explicit rules, although for it to work out you have to spend a lot of time trying to figure out the best compromise for everybody. So there aren't complex rules about who gets to lead (nobody and anybody, depending) though of course there are always complex dynamics about influence. In a Dictatorship, one person leads the whole thing, and if you don't like it, you get out. There's no need to spend a lot of time arguing about it, since one person makes the decisions and if you don't like it, well, there's the door.
In this (very simplistic) universe of political choices, wikis tend to be anarchies, and blogs tend to be dictatorships. They both work, for different reasons. Wikis seem to work really well when you have a high degree of trust and people who want their ideas to commingle with one another, but like other forms of anarchy, they become extremely difficult to maintain past a certain size. Blogs work well for people with strongly divergent opinions who don't have to worry about building consensus or even being polite. The space is owned by just one person, and even if others can leave comments or trackbacks you're free to delete those, too.
There're are other models of group interaction, of course, and one we're very familiar with is Democracy. Democracy works pretty well, but it has a lot of overhead, what with RobertsRulesOfOrder
and bylaws and constitutions and separation of powers and all that. You go to the trouble of instituting a democratic structure and then following its rules -- in a club, a corporation, a non-profit organization, a city, etc. -- if:
- There is enough at stake (money, power, military, law, etc.) that you want most powers to be internally balanced, and
- People would rather stay and work in that structure rather than leave, either because it's too difficult logistically to leave or because too much would be lost by doing so.
Pretty much ever since people starting hanging around online there's been a lot of talk about online democracy but very few successes. Certainly it's a model many are familiar with, and it does wonders in the real world. But online, what's the point? There's nothing at stake but a bunch of talk. And it's really easy to just pack up and go. -- francis
If you're looking for alternatives to wiki you should read: WikiNeedsTrustMetrics
for a set of interesting perspectives on how to add trust metrics to wiki. My perspective has changed a little since then. Instead of starting with a wiki and adding
trust metrics or collaborative filtering I think we have to start with something like AdvoGato
(everybody gets their own diary/blog/homepage, we use HardSecurity
) and then move towards the WikiDesignPrinciples
to create a collaborative space that can only be written to by the current set of trusted members of the community
. The aggressive user mentioned on the WikiNeedsTrustMetrics
page is still there flaming away but no-one sees his material because they've filtered him out. Despite that it's still possible albeit difficult for him to earn enough trust to become visible again.
After wrestling with the TrustMetric
thing for a while, I'm finding my thoughts moving in a different direction. Maybe the TrustMetric
thing could be done, but I've got some philosophical problems with it, so let's try something different.
What I've learned from recent events here at C2 is that I value the right to choose where to spend my attention just as much as I value the right to speak. You have the right to speak; you should not have the right to be heard by people who don't want to hear you. (See AttentionEconomy
What I've learned from other areas of my life is that I don't value wiki's "group text" aspect very much. I like being able to go to the StupendousProgramming?
page and find out what people think about StupendousProgramming?
, but I would much rather read a collection of individual opinions than a group consensus opinion. (The collection of individual opinions will be bulkier and have more duplication, but I'm betting it'll also be much more interesting.)
The things that I value most about wiki are its organic and incremental nature. I like the "fortunate collisions" that you get in a wiki when people are thinking about the same thing. And I like the web of connections that you get from the simple linking. So let's try to keep those.
As a first cut at it (which has about a million weaknesses, but it's good for the first example to be simple), how about this:
- Everybody gets his own wiki.
- There's no common area; you can only write to your own wiki.
- When you go to the StupendousProgramming? page, you see the contents of all the StupendousProgramming? pages anyone has written (except for those written by people on your Ignore List), with the people on your own Interesting People list closer to the top.
It would be pretty much impossible to have a community-owned DocumentMode
page in this system (which I don't mind so much, but we can try to fix it). It would also be pretty hard to have a conversation (which I do
mind, but that should be easier to fix). The thing that I like about this system is that it allows individuals to build their own vision of the world, while still maintaining some of the "fortunate collision" collaboration feeling that C2 gives me.
(I've got my own PersonalWiki
here on my hard drive, where I try to write down everything I know. I think it would be really cool for my personal wiki to be able to show me the stuff in other people's personal wikis, whenever the topics coincide.)
I've been thinking along the same lines myself. Everyone should have a personal space where they can write what they want without anybody else messing with it, and when multiple people write about the same topic, there should be some sort of automatic link creation. However, I also see value in a shared space, and in providing a means for people to give editing capabilities in their personal spaces to other authors so that collaborative writing can occur.
I've been reading more blogs than wiki these days, as I value the clarity of individual authors' writing, the ability to choose which authors to read, and the lack of flamage. However, I miss the interaction between authors. Some bloggers will comment on others' blogs, but the discussion is limited because the authors' forums are disconnected. Also, focusing on blogs means that I am only reading the works of the couple dozen authors who I find interesting. I think any replacement for wiki needs to maintain the collaborative spirit, and be open to anyone who wants to join.
I don't want a "deterrent" to force people to behave the way I want them to behave. I just want to be able to separate A's actions from B's actions, so that I can ignore B. -- AdamSpitz
Well, there's the combination of RecentPosts
and the history. Probably a bit more inconvenient than you'd like though.
I don't suppose just refactoring the page until B's drivel is either gone or not drivel would work?
I do think you've hit on a fundamental flaw in WhyWikiWorks
, in that it assumes consensus is possible. Refactoring only works if people can agree on a general direction for the page. Some folks are too stubborn, and some topics too controversial, to reach such a topic. The usual result is huge unfollowable ThreadMess
, where everyone's opinions get blended together and there's no sorting the signal from the noise.
I wonder if some sort of overlay mechanism may work, letting you select contributions from specific authors for viewing. I've been toying with the idea of using Wiki for (writer's) workshopping, where everybody can edit every story. This has similar problems, in that you want to be able to view only one editor's work at a time. But conflict detection would be a bitch...how do you decide how to merge contributions when they're building off different bases?
Yes. :) Those are the same issues I'm thinking about. I want to preserve individual ownership, but sometimes it really is
valuable (or necessary) to have a group document, and sometimes it's really nice that people can make little edits or additions to other people's stuff.
Right now I'm imagining a system where everybody owns his own objects, but there are lots of different kinds of objects. For example, an object could be:
- a "named page" (like a wiki page)
- a "patch" (a copy of a particular version of a particular object, with a few changes)
- a "post" to a particular ThreadMode conversation
- whatever else we think of
And then we rely on the UI to integrate and cross-link all the various objects in lots of different ways. (The obvious one, which I suggested on the AlternativesToWiki
page, is that when you go to look at, say, the StupendousProgramming?
page, the UI should show you the contents of all
the pages named StupendousProgramming?
in the system. And maybe it could sort them to put the ones created by the people on your "interesting" list at the top, and filter out the ones created by the people on your "annoying" list...)
The other kinds of objects ("patches" and so on) only exist to try to get back some of the flexibility that wiki gives us. So if I made a page with a typo, you wouldn't be able to go in and change my page to fix the typo, but you'd be able to create a "patch" saying, "Here's what I think the new version of your page should look like." And the next time I logged into the system, I'd see that you created this patch for my page, and I could fix my page if I wanted to. (And then you could choose to throw away your patch, if you wanted to.)
Whatever. The details aren't important. The fundamental principles are: every object is owned by its creator, and we rely on the UI to integrate and cross-link things in order to try to regain some of wiki's good "group document" feeling.
It would certainly be a lot more complex than wiki, which is a shame. But what we'd get is a system that (hopefully) still gives us some of the good community feeling that wiki gives us, but doesn't dilute the individual people's viewpoints, and makes it a lot easier for you to choose who to spend your attention on.
(Even just the simple step of giving everybody a login identity would go a long way towards helping the UI help you. You could have your own custom RecentChanges
page, for example, which could highlight pages on topics you're interested in, and pages made by "interesting" people. Stuff like that.)
Hrmm, interesting. The biggest problem I see is there's no convenient way to merge threads. On Wiki, ThreadMess
tends to expand exponentially as there are multiple responses to each comment (this thread is a good example, where I'm commenting along a very different line from Robert, against a comment that was made from another branch...you see how it could get hard to read). The only limiting factors seem to be:
- The presence of refactorers on Wiki
- The inability of participants to read and make sense of everything that's been said before. LongFunctionsDiscussion collapsed for this reason, I suspect.
Under your system, it seems like it'd get even more messed up, because threads are easier
to read and hence the 'complexity ceiling' before everyone gives up is higher. And they're harder to refactor - if you're merging and removing duplication, which object do you make the "patch" to? Logically, it'd have to coalesce multiple threads, and so it'd be a "patch" to all the versions. But then how do you view only those authors/subjects you're interested in? What happens to other threads spawned off a page that's been refactored?
I've been thinking about how I normally go about refactoring, and ConvertThreadModeToDocumentMode
. A page usually starts as a document, and then grows as a tree, where each comment inspires several branches. Each leaf of the tree represents a readable ThreadMode
document, where the flow of the document is represented by the path from the root to the leaf. This gives you the ability to select the topics and authors you're interested in.
Then...the conversion to DocumentMode
usually begins by moving related comments together. This could be represented by drag & drop on the nodes of the tree - you'd move a subcomment or subdiscussion over to a different node, which would change the flow of the document. There'd have to be overlays for refactorings or something like that, because when you're doing a refactoring, you want
to see all comments and not just a single thread. Plus, a half-refactored document usually doesn't make sense when viewed in ThreadMode
Then, the next step in a refactoring is usually to remove duplication. This works by coalescing several nodes down into a single summary, converting the tree into a DAG. There'd probably be a means for participants to "sign off" on the refactoring, though I dunno if this is even necessary. I'd imagine the original nodes would remain open for further ThreadMode
, because I hate running across interesting history and then being unable to respond.
The end result will be a single node - which could serve as the root of another tree! We could probably dispense with pages entirely, having only "topics". We'd need a direct-manipulation interface anyway to have any sort of useful "ownership" or "refactoring", which means ditching the web. So there's no need to import the web's imposed structure.
And we automatically get versioning out of this. While you'd normally want the most current summary on a topic, you'd always be able to view the threads that led up to it. And you'd be able to merge spun-off threads into the evolving summary - this is kinda like the "patch" you describe, but more general.
I value ThreadMode
because it helps the individual participants learn. By asking you questions about your point of view, I can learn to understand it better. And by answering your questions about my point of view, I can learn to present my own better. And sometimes I'll even learn things that make me change my opinions.
I value DocumentMode
because it lets an individual present a coherent statement of his thoughts. I've got my own PersonalWiki
here on my hard drive for exactly that purpose. Writing down my thoughts encourages me to flesh them out and see how they all fit together.
But I don't care whether a ThreadMode
conversation reaches a consensus or not. I don't care whether a DocumentMode
page presents a position that everybody agrees with. The thing that I care about is what the individual people believe, not what the "collective" believes. There's a kind of ConceptualIntegrity
that emerges from the writings of a really interesting person. Those are the people I learn the most from. That magic always seems to get lost in a collective system.
And so I do value trying to ConvertThreadModeToDocumentMode
, but I don't think my system makes it harder. What my system does, instead, is make it clear that when you create a summary of a thread, that summary belongs to you
. I want it to reflect the things that you
believe. You don't need to try to get people to sign off on your summary. You don't need to patch the thread. You just learn what you can from the thread, and write down what you've learned.
As a possible partial solution to the EditWars
, what if Wiki was simply a "reference engine". Each person maintains their own info on their own servers and Wiki simply links it all? Vandals and info-terrorists then cannot delete stuff that they don't like (outside of hacking), only delete references at best. It is still not a perfect solution, but reference wars may be less annoying than content wars.
Wiki can weave the references together (as a virtual view). Further, individuals may agree to join up on their own terms to make cooperative editing easier. This provides a kind of "group self-policing" that the current wiki lacks. If you piss people off, they won't corporate with you. But, it does not squelch unpopular, but possibly valid opinions either.
Generally a content submitter will provide:
- Topic name
- Position within the page (decimal or floating point)
- The URL pointing at wiki-formatted text.
(Editing features may reduce need to type actual numbers)
Rather than "compile" it for every view, the wiki engine would do it periodically. Links that go bad may be excluded after a month or so. This may help clean stuff up over time.
to reconstruct the page instead of putting the burden on the server to fetch the pieces.
Different viewing options include:
- "Regular" view
- Contributor view that shows URL's of source.
- Deletion view that shows old stuff in place (per number), perhaps with highlights. User parameters: days back (decimal), highlight mode (on/off).
- Deleter view that shows who (IP) deleted something.
These are not necessarily mutually-exclusive.
Other options to consider include a "friends" and "enemy" lists. People give the URL of their lists and wiki (or a volunteer) allows people to browse with filters based on such lists. People could see the "Costin" view for example that excludes any mention of my alternative type definition.
I am just kicking around ideas. I don't claim this idea is ripe. And, I am not sure the topic name is appropriate. It is "half centralized". Suggestions?
will likely remain as it is, so if you feel strongly about this, you might want to reserve your web site, look over WikiWikiClone
, and get started. If you OpenSource
the project, some of us might drop in to lend a hand. Keep us posted on your progress, and good luck.
See also ViewPoint