W3C home > Mailing lists > Public > public-html@w3.org > May 2009

Re: Design Principles

From: Jonas Sicking <jonas@sicking.cc>
Date: Sat, 30 May 2009 12:25:14 -0700
Message-ID: <63df84f0905301225x2486ee64yc84ad6878074028d@mail.gmail.com>
To: Leif Halvard Silli <lhs@malform.no>
Cc: Kornel <kornel@geekhood.net>, Anne van Kesteren <annevk@opera.com>, public-html@w3.org
>> A cow path is formed when a lot of people use a particular feature.
>> The feature we're talking about is using the profile attribute. Is
>> there data showing that a significant number of pages have the profile
>> attribute set and thus use the profile feature?
>
>        The cowpath principle is in itself not focused on the question
> whether "a lot of people are doing it". Instead, the text talks about
> considering cowpaths before considering /new/ methods.
>
> So, before applying the cowpath principle, you should have an idea about a
> new feature. Then you should consider if solutions to this problem already
> exist before devising a new solution.
>
> So if you do not bring a new feature to the table, then the cowpath
> principle doesn't apply.
>
>        So the cowpath principle is *feature focused*. That is why I am
> focusing on what kind of feature @profile represent. I expect, if you want
> to link the cowpaths principle to @profile, that you have a clear
> understanding of what feature @profile is, and that you have considered
> using @profile for it.

Indeed. I fully agree. I do not want to link the cowpath principle to @profile.

So I guess we agreed all along :)

>>>>>  Also note that the design
>>>>> principle talks about "consider cowpaths instead of inventing something
>>>>> new". It doesn't say "consider if something is a cowpath, and if it
>>>>> isn't,
>>>>> then consider dropping the feature".
>>>>
>>>> IIRC there is also a design principle that talks about solving real
>>>> world problems.
>>>
>>> Of course there is. Here I was looking at the "cowpath" principle, though
>>> because I claimed and claim that it has been misused.
>>
>> Sorry, I think I missed this, which could explain why we are talking
>> past each other. You might be entirely correct that people might be
>> misusing the cowpath principle. Can you point to where people have
>> been doing this so that maybe we can clarify the principle to stop it
>> from happening more.
>
> As example of what you are asking: I do feel that the /way/ you above have
> applied the cowpaths principle to @profile represent a misapplication. See
> above about why.

I did not mean to apply the cowpath principle to @profile.

In fact, I question that there is enough usage of @profile out there
for @profile to constitute a cowpath. But I don't have any data either
way on this.

> We could have had a principle that said "Go critically through all the
> features of HTML 4 and see if there is much dead meat". But we do not have
> this. (And I suppose that one of the reason we do not have it is because
> such a principle would have defeated the "from scratch" principle.)

I agree, we don't have such a principle. But it does seem like a good
idea to any time you write a spec, go through all the features of that
spec and make sure that it still makes sense to keep them in the spec.
No matter if the reason they were in the spec in the first place is
because they came from a previous version of the spec or because it's
a newly added feature.

Having "dead meat" in the spec seems like a bad idea, no matter what.
Wouldn't you say?

I don't think the design principles are the only rules that guide us.
We also follow the rules of our charter, the rules of W3C, and rules
of common sense, and probably other rules as well.

>>>> *If* @profile hasn't solved any real world problems in
>>>> the decade that it has been deployed, I would think that we can claim
>>>> that it doesn't fulfill that design principle.
>>>
>>> This is not true. Profile solve a real world problem: Link to/inform
>>> about
>>> the profile you are using. The only other method that I know about is
>>> relying on heuristics and code investigation.
>>
>> Since this is a already deployed specified feature (HTML4 defiend
>> @profile about a decade ago), so we should actually be able to examine
>> if it indeed solves a real world problem, and if it does it
>> effectively.
>
> "... if it indeed solves a real world problem ... " You are a bit vague
> here. I am sure you can tell me whether @profile solves the problem of
> linking to a profile very easily.

But is needing to link to a profile a real world problem. And does
@profile indeed solve it well?

*If* @profile has seen very little usage in the many years it has been
deployed, and again, I don't have good data either way on this, then I
would think one of the following would apply:

The problem it aims to solve isn't a problem that very many people need solved
- or -
It for one reason or another isn't solving the problem well

Though maybe there is some other reason that I can't think of right now?

> Regarding how many @profile-s you'd expect to find: So amount of @profile is
> the answer both to the cowpath principle and this principle, as you see it?

The cowpath discussion doesn't seem to matter for now as neither of us
are trying to apply the cowpath principle to @profile it seems, based
on the above, right?

But I do think that if @profile hasn't seen much usage in the long
time it has been specified, then either it isn't solving a real world
problem, or it doesn't do it well, yes. At least I can't think of any
other reason it hasn't been used.

/ Jonas
Received on Saturday, 30 May 2009 19:26:12 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:39:03 UTC