I'm all for having shorter URLs (I still have to look in details about
JavaScript).
But I do believe we should untie the breadcrumbs and the URL. (As we
just untied <title> and <h1>, and partly URL)
We want as short URL as possible (to ease search, better SERP, but also
URL guessing), but we want more complex breadcrumbs to ease navigation.
To take examples outside the JavaScript hierarchy:
{locale}/docs/CSS/animation-duration is a nice URL (I skip the
{locale}/docs problem, which is a separate one)
But:
CSS > Reference > Animations > animation-duration is a better
breadcrumbs for navigation as hovering/clicking on each keyword bring
adequate links.
(To have the '.' as a breadcrumb separator, and hence as a link separate
is 'a priori' ok too, given that the theme gives enough hint they are
clickable)
Regarding JavaScript, I'm not sure to have understood if there is a
significant homonym problem or not (I'm a bit lost with prototype method
and non-prototype method).
(Note that I don't have filled the bug for separating breadcrumbs and
URL hierarchy)
--
Jean-Yves
On 11/10/2012 12:20, David Bruant wrote:
> Before anything else, thanks for all the history digging. I wasn't there at
> the time so it's good to know
>
> 2012/10/11 Colby Russell <
seven...@gmail.com>
>
>> On 10/10/2012 04:57 AM, David Bruant wrote:
>>
>>> Reference/Built-ins/Array.**isArray<
http://developer.mozilla.org/%7Blocale%7D/docs/JavaScript/Reference/Built-ins/Array.isArray>
>>>
>>> There might be better ideas than "Built-ins", I'm all hears.
>>>
>> Lose the "Built-ins" part, too. And as long as we're talking about what's
>> ideal, the {locale}/docs/ needs to go away, too. "Built-ins" is nice, but
>> there's no reason for the hierarchical stuff to appear anywhere but on the
>> reference's main index page.
>>
>> Using indexOf as an example:
>>
>> "MDN > JavaScript > Reference > Array.prototype.indexOf" should be the
>> breadcrumbs, where the dots can take the place of the standard breadcrumb
>> separators; "Array" links to [1], "prototype" links to [2], and indexOf is
>> the page you're on, located at [3].
>>
>> ## Syntax
>>> ### Problem
>>>
>>> Let's take the example of object literal getter syntax
>>>
https://developer.mozilla.org/**en-US/docs/JavaScript/**
>>> Reference/Operators/get<
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/get>
>>>
>>> Everything is fine except "Operators". The "get" is not an operator (while
>>> "+" or "!" are). It might be that JavaScript MDN doc grew organically so
>>> people just used "Operators" as a generic (but misleading) term for
>>> "syntax".
>>>
>> Yup.
>
>> ### Proposal
>>> Reference/Syntax/rest_**parameters<
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Syntax/rest_parameters>
>>>
>> Again, no need to replace a saw horse with a track hurdle just to be
>> "proper". Lose the whole thing altogether and be done with it.
>>
> It's not that much about being proper or ideal. JavaScript evolves. i think
> it's nice if people can easily understand if something new is just syntax
> (which is just a convenience, but brings nothing new) against a new
> feature, like WeakMap or Proxies which bring a new capability to the
> language. The boundary I'm trying to make is between "what you can do with
> the language" and "how to express yourself with the available syntax". I
> think is a worthwhile distinction to be made, akin to the difference
> between ideas (which are abstract) and the "syntax" to express an idea
> (which is just a mean differing from language to language). With the rise
> of compile-to-JS languages, differenciating the "VM" and the syntax will
> become increasingly important I think.
>
> Maybe "Built-in" is a bad idea, because
http://developer.mozilla.org/**
> JavaScript/Reference/Array.**prototype.indexOf<
http://developer.mozilla.org/JavaScript/Reference/Array.prototype.indexOf>
> looks
> nice indeed, but it doesn't hurt to have /Syntax especially since it's hard
> to make nice URLs with syntax constructs (like ... or the very generic
> "get" as can be seen below)
>
>
>
>> Wikipedia is instructive.
>>
>> * Make <
http://developer.mozilla.org/**JavaScript/Reference/get<
http://developer.mozilla.org/JavaScript/Reference/get>>,
>> and
>>
>> and <
http://developer.mozilla.org/**JavaScript/Reference/..._(**spread)<
http://developer.mozilla.org/JavaScript/Reference/..._(spread)>>,
>> with a blurb about how they're mirror twins.
> I'm not sure about "..." and disambiguiation, but that's an idea.
>
>
>>
>> # Differenciating constructors and instances
>> ...
>>
>> ## Proposal
>>> Have 2 pages, one for the constructor, one for the instances. Each page
>>> contains a disambiguation message like:
>>> "You're looking at the Array constructor page. If you're interested in how
>>> array instances work, there is another page for that" (with link to the
>>> page).
>>> Likewise in the array instances page.
>>> I'm hopeful this distinction will help newcomers to JavaScript understand
>>> better the constructor/instances thing and that constructors and objects
>>> themselves too.
>>>
>>> I can make a disambiguation template to be put on top of each page where
>>> it's necessary.
>>>
>> :D
>>
>> Don't do it, man.
>>
>> I did *exactly* this in 2008.
> Ok, lesson learned :-)
>
>
>> You'll have to use
archive.org to have a look, because it doesn't look
>> like Kuma handles it well at all.
>>
>> See <
https://groups.google.com/d/**topic/mozilla.dev.mdc/**
>> l9Tmt22nQwA/discussion<
https://groups.google.com/d/topic/mozilla.dev.mdc/l9Tmt22nQwA/discussion>>
>> or search for the topic "Core JavaScript Reference not so useful anymore"
>> in this group.
>>
>> What it comes down to is that, as Shaver said then, when people click
>> through to the "String" page from the Reference index, they want to see
>> the methods to manipulate string instances.
>>
> This is very true. So I guess we need to have both content on the same
> page. I wish to find a way to being able to differentiate both on the page
> anyway, but it can come later.
>
>
>> (As an aside: I felt *really* vindicated with ES5, where most of the
>> methods added were on the constructors themselves instead of the prototype.
>> E.g., Object.defineProperty(obj, desc) instead of obj.definePropery(desc).
>> And it's funny today seeing Shaver write, "Script authors don't -- and
>> don't need to -- understand the prototype model, in the large[...]")
>>
> Things have changed a lot since 2008. The trend is not to "script authors",
> but "app developers" with the idea of larger-scale application. I think
> it's more relevant today that ever that people understand how JavaScript
> works.
>
>
>
>> The issue with the reorganization stuff is the same now as it was then,
>> though. It's a matter of the server software not supporting this stuff.
> _______________________________________________
> dev-mdc mailing list
>
dev...@lists.mozilla.org
>
https://lists.mozilla.org/listinfo/dev-mdc
>