User:Zocky/Edit Checker


 * This is a draft specification for a tentative edit checking tool.

Edit checker might some day be a tool for checking edits on Wikipedia, which will allow editors to be fairly certain that no malicious edits have gotten through.

User interface
Here's a mockup:

{|style="border:solid silver 1px; padding:4px;"
 * style="border:solid silver 1px; padding:4px;width:20em;background:#FFD;vertical-align:top"|
 * Krk Bridge
 * 20:29 Random (adding image)
 * (dif) (contribs)  (talk)  (message)  (trust)    approve


 * Ancient Rome
 * 20:31 Zocky (sp.)
 * (dif) (contribs)  (talk)  (message)  (trust)    approve
 * 20:32 WikiFairy (making better)
 * (dif) (contribs)  (talk)  (message)  (trust)    approve


 * New Order
 * 20:28 PsychoBot (RV TO THE ONLY TRUTH)
 * (dif) (contribs)  (talk)  (message)  (trust)    approve


 * George Bush
 * 20:34 RedLink (lolz)
 * (dif) (contribs)  (talk)  (message)  (trust)    approve

Krk Bridge (Krčki most) is a 1430 m long reinforced concrete arch bridge connecting the Croatian island of Krk to the mainland and carrying over a million vehicles per year. The longer of the bridge's two arches is the second longest concrete arch in the world and among the longest arches of any construction. The bridge was completed and opened in 1980 and originally named Titov most ("Tito's bridge") after then recently diceased Yugoslav president Josip Broz Tito.
 * style="border:solid silver 1px; padding:4px;"|

Construction
The bridge was designed by Bojan Možina, Vukan Njagulj and Ilija Stojadinović, and built by Mostogradnja and Hidroelektra between 1976 and 1980, using cantilever construction with temporary cable-stays. Structurally, the bridge consists of two reinforced concrete arch spans, which rest on the islet of Sveti Marko between Krk and the mainland. The length of the longer arch is 390 m, which made it the longest concrete arch at the time of construcion, the distinction it held until it was surpassed by Wanxian Bridge in 1997.

Traffic
Krk Bridge connects the island's 16,000 inhabitants and its tourist resorts to Jadranska magistrala, the main-road along the Adriatic coast. It also connects the city of Rijeka on the mainland to the island's airport. In the first 20 years of its existence, the bridge was crossed by 27 million vehicles, more than double of ferry traffic to and from the island.

How it works

 * NOTE: "wikipedia" is used in the below description as a non-precise shorthand for a "wikimedia project" or a "mediawiki website".

Edit checker consists of two parts, a server which coordinates the process and clients which provide user interaction. The below is a description of a sane barebone infrastructure for an open edit-checking tool which requires no central authority and no process to decide who is worthy of trust.

Server
The server is a simple IRC bot. It sits in a publically accessable channel. The channel is moderated, and only the bot can post text. Clients register with the bot - it accepts only clients with a registered IRC nick, linked to a non-blocked user acoount on wikipedia (e.g. by the user making an edit to a page on wikipedia). Clients communicate with the bot through private messages.

The bot posts two kinds of messages:
 * 1) Information about new edits to wikipedia, much like recent changes bots.
 * 2) When a user approves an edit, their client sends a message to the bot, and the bot posts the approval to the channel.

Client
The client is a Firefox extension. It joins the irc channel, registers with the server, and displays a list of unchecked edits, grouped per article in the sidebar. An article is defined as unchecked if:
 * it has been edited since the client registered with the server, and
 * the last edit was not made by a user on the client's trust list, and
 * the last edit has not been approved by a user on the client's trust list.

To avoid duplication of work, the client places new edits in a random position in the list. The user checks the edit at the top of the list, and either changes it (e.g. improves or reverts), or approves it. Either way, it disappears from the list.

When an edit is approved or an article is edited by a trusted user, its entry disappears from the list. The user can choose to trust or untrust a user at any time.

Bells and whistles
The server side should remain fairly simple and stable. All further customization should be done on clients, as user preferences. Some of these may include:
 * Ability to half-trust users (e.g. by having a checkbox which hides/displays articles edited/checked by such users.
 * Ability to not trust anybody on certain pages.
 * Support for other sources of information about edits, like pattern-matching bots.