[Foundation-l] Why is the software out of reach of the community?

Tim Starling tstarling at wikimedia.org
Tue Jan 13 16:13:59 UTC 2009


Brian wrote:
> Thank for your answers.
> 
> ParserFunctions are my specific example of how the current development
> process is very, very broken, and out of touch with the community.
> According to Jimbo's user page (his bolded): "*Any changes to the software
> must be gradual and reversible.* We need to make sure that any changes
> contribute positively to the community, as ultimately determined by
> everybody in Wikipedia, in full consultation with the community consensus."
> 
> I believe that the introduction of ParserFunctions to MediaWiki was not done
> with community consensus and has led to an extremely  fast devolution in
> wiki syntax. Further, the usability of Wikipedia has declined at a rate
> proportional to the adoption of parser functions.

The evolution of templates, and then ParserFunctions, was led by community
demand and was widely encouraged by the community. I was concerned about
the usability implications of ParserFunctions, but the community
demonstrated its intent to ignore any usability concerns by implementing
complex templates, very similar to the ones seen today, using the
parameter default mechanism alone. Resistance to this trend seemed very weak.

The decline of usability in the template namespace has been driven by
technically-minded editors who are proud of their ability to make use of
an arcane and cryptic syntax to produce ever more complex feats of text
processing. This is an editorial issue and I cannot accept responsibility
for it.

However, I am aware that I enabled this process, by implementing the few
simple features that they needed. I regret my role in it. That's one of
the reasons why I've been resisting the constant community pressure to
enable StringFunctions, which I believe will lead to compiler-like
functionality implemented in the template namespace. Instead, I've been
trying to steer development in the direction of a readable embedded
programming language.

If you want a wiki with infoboxes (and I suppose I do since I wrote one of
them in the pre-template era using an Excel VBA macro), then I suppose we
need some form of template feature. The problem with present-day parser
functions is that they are terribly ugly, excessively punctuated, dense to
the point of unreadability, with very limited commenting and
self-documentation.

I believe that the solution to this problem lies in borrowing concepts
from software engineering, such as variables, functions, minimally
parenthesized programming languages, libraries, objects, etc. I know that
many template programmers cannot program in a traditional programming
language, but I have a feeling they could if they wanted to. I certainly
find PHP programming much easier than template programming, after a few
years of familiarity with both.

I'm also aware that most (non-template) Wikipedia editors have no desire
to learn how to program, and do not believe that it should be necessary in
the course of editing articles. I think that with enough development time,
a suitable platform in MediaWiki could connect these two types of editors.
For example there could be an easy-to-use form-based template invocation
generator, with forms written by the same technically minded editors who
write arcane templates today. Citations could be inserted into articles by
invoking a popup box and entering text into clearly labelled form fields.




More information about the foundation-l mailing list