1) I noticed you kept the "space for preformatted text" syntax. I think
this is one of the single biggest causes of confusion, as it's quite
easy to type:
One line ..
Another line ..
That is, to accidentally insert a space between two paragraphs. The
output will look weird, you look at your source text, but you don't see
what the cause is, as spaces are invisible. Unless you know about this
particular bit of syntax and understand its purpose, you will likely
leave the text as it is and hope someone else fixes it. I've seen quite
a few decent articles where people made this mistake, but left it in --
though it's quite visually obvious in the output, it's non-trivial to
fix. My guess is that if we did a survey, we would find that the large
majority of users don't know that this syntax exists.
In my opinion, the leading space is not a big enough time saver to
justify keeping it (particularly since it scales very badly--
preformatting two lines like that is easy, preformatting 100 is a PITA
without search & replace).
2) Why not think about some alternative link patterns? I've personally
always thought that double underscores might be cool. Compare:
During the reign of [[Charles I of Spain|Charles I]], who inherited
the throne from his father Philip, '''Habsburg Spain'''
controlled
territory ranging from [[Argentina]] to the [[Netherlands]], and was
among [[Europe]]'s greatest powers. For this reason, this period of
Spanish history has also been referred to as the "Age of Expansion."
Although usually associated with its role in the history of [[Central
Europe]], the [[Habsburg]] family extended its realm into [[Spain]]
from [[1516]] to [[1700]]. Under Habsburg rule, Spain reached the
zenith of its influence and power, but also began its slow decline.
vs.
During the reign of __Charles I of Spain|Charles I__, who inherited
the throne from his father Philip, '''Habsburg Spain'''
controlled
territory ranging from __Argentina__ to the __Netherlands__, and was
among __Europe__'s greatest powers. For this reason, this period of
Spanish history has also been referred to as the "Age of Expansion."
Although usually associated with its role in the history of __Central
Europe__, the __Habsburg__ family extended its realm into __Spain__
from __1516__ to __1700__. Under Habsburg rule, Spain reached the
zenith of its influence and power, but also began its slow decline.
The benefit of __ is that it makes the text look underlined, which is an
intuitive visual hint to hyperlinks--not to mention that having the
opening and closing characters be identical makes it quite a lot faster
to create links. (On German keyboards, underscores are also much easier
to type than square brackets, but that's probably not the case everywhere.)
2a) You suggest supporting [[target=foo|text=bar]] as a more descriptive
way of linking. However, I think [[foo<=bar]] or [[foo=>bar]] would be a
more visually intuitive way to indicate the text/target distinction that
does not require the use of keywords (it could, however, exist alongside
that syntax, particularly with your title attribute and perhaps other
link attributes that we might want to support, such as semantic
information).
3) The template syntax needs to be shorter, since it's ubiquituous.
People are not going to like having to type <<include NPOV>> where they
previously could type {{NPOV}}. If you're trying to make templates
easier to understand -- the biggest usability issue is not that people
don't understand that templates are transclusions, it's that the
content of "NPOV" is in the Template: namespace, but other than in the
list of templates at the bottom of the editing screen, there's no
reference to that namespace. I think that this is best addressed on the
UI level, though.
My suggested shorthand for inclusions would be <<"stub">>,
<<"NPOV">>, etc.
4) We generally have to be careful with hiding namespaces from users.
<<image file:xyz.jpg>> may be better than <<image file=xyz.jpg>>
or
<<image xyz.jpg>> because it preserves the visibility of the namespace.
5) The style syntax, I think, is the biggest problem area of your
proposal. I would actually prefer it to be taken out completely at this
point and developed separately, as it is also a significant new feature
with major implications. The main syntax-related problems I have with it:
a) This {{i may be {{b}}nested, as long}} reads horrible. Having styles
separated from words with spaces makes them look like words. They are
markup syntax, hence must be clearly visually distinct from the content
they describe.
I think the problem is exacerbated by shortcuts like {{i}}this, where
the scope of the tag is not intuitively clear, which may make it look
like it's not a tag at all. I don't really see this shortcut as
particularly useful either, as all frequently used styles should have
symbolix shortcuts anyway..
How could it be made simpler? An XML-like syntax might be the most
appropriate here: <red box>Warning!</red box>.
b) Using {{..}} creates *huge* transitional issues. Like it or not,
templates are deeply rooted into Wikipedia, and changing the function of
curly braces to something completely different will confuse the hell out
of many users who use that syntax every day.
c) In any case, curly braces are ugly and programmer-like. I'd much
prefer to get rid of them completely in our syntax.
There are other objections I have to using stylesheets, but as I said,
I'd prefer to discuss this topic separately from the syntax.
All in all, however, this is an excellent proposal with a lot of
potential. Transitioning to a new syntax will be painful, but the
wiki-users of tomorrow would greatly benefit from the added consistency,
not to mention that it will allow us to move towards standardization
across wiki engines as well. Before this is finalized, hopefully we can
also get some input from non-MediaWiki developers to find out what other
features we may want the syntax to support.
Best,
Erik