User:Omegatron/Most needed software features

Things that, in my mind, are the most needed software changes for Mediawiki:

  1. Automatic diff summaries
    • Make vandalism much less likely to slip through the cracks, save editors lots of time, and reduce server load, all at once.
  2. Kill Cite.php and replace it with something modern and usable
  3. ...
  4. ...
  5. Combine the functionality of categories and galleries for Commons
  6. Move categories and interwikis out of the article content and into a usable, intuitive interface that communicates with other languages wikis, shows a local category tree, and so on

From old user page

edit

(to be reorganized)

Diff summaries

edit

I think that the single greatest thing we could do to fight vandalism is implement a diff summary feature that would show a few words from the diff itself next to each edit on watchlists, article histories, and Recent changes. So instead of seeing:

(cur) (last) 14:07, December 27, 2006 81.155.109.52 (Talk) (Permanent magnets)

You'd see something like this:

(cur) (last) 14:07, December 27, 2006 81.155.109.52 (Talk) (Permanent magnets - Changed "protons, neutrons, and electrons;" → "poo, wee, and boogahs;")

Although it looks similar to automatic edit summaries, it's not the same thing. Those are only generated when the user changes the entire page all at once and doesn't enter an edit summary. Instead, the diff summary will always be generated and displayed alongside the regular edit summary, and will show the actual text that has changed for every diff, even small ones (especially small ones).

So, currently, you see just the edit summary typed by the user, like this:

22:37 Marcus Whitman (diff; hist) . .  (+9) . . 75.24.108.62 (Talk) (ive made it more for children!!)

If implemented, you would also see some of the diff, maybe like this:

22:37 Marcus Whitman (diff; hist) . . 75.24.108.62 (Talk) ("father's death, when" → "father went BYE BYE!!!, when" - ive made it more for children!!)

This would be kind of like the little green or red numbers next to diffs, but would actually provide real information about the edit. You wouldn't have to bother checking a diff for something like this:

22:54 Birdlime (diff; hist) . . 209.204.100.135 (Talk) (For catching birds - "Its use illegal in" → "Its use is illegal in")

Having this for every edit would save time for everyone, help catch vandalism, and decrease server load.

Parallel discussions: Wikipedia:Perennial proposals, Automatic edit summaries, Bugzilla: 2437

Machines are meant to do work

edit

I am generally in favor of adapting machines to humans. In a few cases it's better to adapt humans to machines, but that's just because the computer programming required, for instance, would be more work than the extra work required for each user to adapt to the machine. In most cases, when there is a conflict between convenience for humans and convenience for software, the software should be changed.

Prevent edit conflicts

edit

We could easily prevent edit conflicts by automatically warning people that an article is being edited by someone else. It would be like the {{inuse}} warning, but it would only show up on the edit page, and it would be automatic. (And yes, you could ignore the message and edit anyway; it wouldn't lock you out.) MoinMoin wiki software has had this feature working successfully for a long time. Vote for bugzilla:1510 if you like the idea or poke your favorite developer.

Table namespace

edit
 
An alternative table editor?

A long time ago, I proposed that tables be moved out of articles and into their own Table: namespace. They would then be included in articles through a syntax similar to image syntax:

The '''world population''' is the total number of [[human being]]s alive on the planet [[Earth]] at a given time.

[[Image:World population.png|thumb|Map of countries by population]]

Below is a table of historical population figures shown in thousands.

[[Table:Estimated world population at various dates|left]]

In 2000, the [[United Nations]] estimated that the world's population

Tables clutter up the markup and are very time-consuming and unintuitive to edit in the current text-based way. They aren't very usable by non-technical types, a cause of systemic bias. (Imagine that you're editing a wiki for the first time and aren't good with computers, and then compare the above example with the real thing, which uses inline table markup.) <rant>Unfortunately, no one seems to care anymore about keeping the site editable by non-technical users. Our syntax gets more and more complicated and our article source code more and more cluttered every day. Wikipedia used to be a wiki. Sigh.</rant>

I also hoped that making tables self-contained would eventually allow magic functionality for the Table: namespace, similar to the Image: or Category: namespaces, to allow for table editing that isn't based on editing wikicode directly, so users don't need to learn pipe syntax to contribute. Maybe external editors with export as .csv or .ods files? Maybe a built-in Java(Script) editor?

This was proposed, notably, before the introduction of templates, which addressed some of the same problems (although taxoboxes and the like are now much simpler, they still clutter up the article source with lots of curly brackets), but I still think it would be a valuable addition, due to the other benefits it would provide. (Even those of us who know pipe syntax would still prefer to edit tables in spreadsheet software.)

This was proposed in January 2005, and has received a lot of support and a feature request to get it started, but hasn't happened yet. I think the only way this would ever happen is if I learned PHP and coded it myself, and even then it would take a lot of work convincing some people to include it. Another possibility is to implement some kind of javascript solution that makes tables themselves editable.

Audio pop-ups

edit

The {{audio}} template is cluttery with all of its links. We should replace it with a javascript pop-up. This could be integrated with the proposed java media players, too.

Citations

edit

Cite.php sucks. We need something better. If you really expect the vast majority of (non-technical) editors to cite their sources, you're going to have to make it a lot easier for them to do that.

Wikicode additions

edit
  • A way to add dashes and other typographic marks in an easy, wiki way.
    • Smart quotes
    • Double hyphen -- should be an em dash, and the like
  • Super- and subscript

Diff engine

edit

Fix the damn diff engine already. Putting a newline between two paragraphs should not make it impossible to tell if something was changed in the second paragraph. There are lots of similar problems. This is one of those things that we have all put up with for so long we've forgotten it's even broken. This functionality is fundamental to our editing.

COinS

edit

I've been adding machine-readable COinS tags to various things around the project. See Wikipedia:WikiProject Microformats/COinS for details.