Re: [whatwg] Removing versioning from HTML

2009-08-24 Thread Ian Hickson
On Fri, 14 Aug 2009, João Eiras wrote:
 On Fri, 14 Aug 2009 12:01:31 +0100, Ian Hickson i...@hixie.ch wrote:
  On Sun, 9 Aug 2009, Aaron Boodman wrote:
   
   I frequently see the comment on this list and in other forums that 
   something is too late for HTML5, and therefore discussion should 
   be deferred.
   
   I would like to propose that we get rid of the concepts of 
   versions altogether from HTML. In reality, nobody supports all of 
   HTML5. Each vendor supports a slightly different subset of the spec, 
   along with some features that are outside the spec.
   
   This seems OK to me. Instead of insisting that a particular version 
   of HTML is a monolithic unit that must be implemented in its 
   entirety, we could have each feature (or logical group of features) 
   spun off into its own small spec. We're already doing this a bit 
   with things like Web Workers, but I don't see why we don't just do 
   it for everything.
   
   Just as they do now, vendors would decide at the end of the day 
   which features they would implement and which they would not. But we 
   should never have to say that the spec is too big. If somebody is 
   interested in exploring an idea, they should be able to just start 
   doing that.
  
  I agree in principle.
 
 I wholeheartedly agree with all the reasoning, but there are issues.
 
 From an implementor's point of view it is much harder to implement and 
 keep up with a mutating specification. During implementation a stable 
 spec is preferred.

The parts of the spec you would be implementing would still be stable, 
it's just that other parts of it would evolve.


 Currently, because specs are being edited and might take a while to get 
 to CR, we have different implementors implement different parts of the 
 specifications, and then meanwhile the specification mutates and 
 implementors have to waste time updating their implementation which 
 could have been right from the start. I understand that implementation 
 feedback is necessary, but this is not very optimal.

We have to keep the spec from running away from implementations anyway, 
whether we have a stable snapshot model or a continually evolving model.


 After a spec gets to CR it can't just mutate out of thin air, hence 
 forking it into a new version is the way to go.
 
 Example: Gecko, Webkit and IE have localStorage, but the spec changed a 
 few days ago to allow structured storage.

If we do snapshots, it just means the implementors are working on an 
obsolete version of the spec, which is worse.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Re: [whatwg] Removing versioning from HTML

2009-08-14 Thread Ian Hickson
On Sun, 9 Aug 2009, Aaron Boodman wrote:
 
 I frequently see the comment on this list and in other forums that 
 something is too late for HTML5, and therefore discussion should be 
 deferred.
 
 I would like to propose that we get rid of the concepts of versions 
 altogether from HTML. In reality, nobody supports all of HTML5. Each 
 vendor supports a slightly different subset of the spec, along with some 
 features that are outside the spec.
 
 This seems OK to me. Instead of insisting that a particular version of 
 HTML is a monolithic unit that must be implemented in its entirety, we 
 could have each feature (or logical group of features) spun off into its 
 own small spec. We're already doing this a bit with things like Web 
 Workers, but I don't see why we don't just do it for everything.
 
 Just as they do now, vendors would decide at the end of the day which 
 features they would implement and which they would not. But we should 
 never have to say that the spec is too big. If somebody is interested 
 in exploring an idea, they should be able to just start doing that.

I agree in principle.

With HTML5, we had an anomalous event in that the HTML4 spec was unusable 
as a base, due to its woeful inadequacies in terms of precision in 
implementation requirements, and the large holes in terms of what the 
platform involves relative to what it specified.

Moving forward, I would like to move to a model that is less tied to 
versions. I expect to start looking at this kind of thing next year.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Removing versioning from HTML

2009-08-14 Thread João Eiras

On Fri, 14 Aug 2009 12:01:31 +0100, Ian Hickson i...@hixie.ch wrote:


On Sun, 9 Aug 2009, Aaron Boodman wrote:


I frequently see the comment on this list and in other forums that
something is too late for HTML5, and therefore discussion should be
deferred.

I would like to propose that we get rid of the concepts of versions
altogether from HTML. In reality, nobody supports all of HTML5. Each
vendor supports a slightly different subset of the spec, along with some
features that are outside the spec.

This seems OK to me. Instead of insisting that a particular version of
HTML is a monolithic unit that must be implemented in its entirety, we
could have each feature (or logical group of features) spun off into its
own small spec. We're already doing this a bit with things like Web
Workers, but I don't see why we don't just do it for everything.

Just as they do now, vendors would decide at the end of the day which
features they would implement and which they would not. But we should
never have to say that the spec is too big. If somebody is interested
in exploring an idea, they should be able to just start doing that.


I agree in principle.



I wholeheartedly agree with all the reasoning, but there are issues.

From an implementor's point of view it is much harder to implement and  
keep up with a mutating specification. During implementation a stable spec  
is preferred.
So versioning will allow an implementor to decide to implement the latest  
stable version of some spec, while work proceeds on a newer one.
And when I refer mutating specification I'm not referring to the whole  
html5 spec, but each separate component, like web storage, web workers,  
video, etc...
Currently, because specs are being edited and might take a while to get to  
CR, we have different implementors implement different parts of the  
specifications, and then meanwhile the specification mutates and  
implementors have to waste time updating their implementation which could  
have been right from the start. I understand that implementation feedback  
is necessary, but this is not very optimal.
After a spec gets to CR it can't just mutate out of thin air, hence  
forking it into a new version is the way to go.


Example: Gecko, Webkit and IE have localStorage, but the spec changed a  
few days ago to allow structured storage.




Re: [whatwg] Removing versioning from HTML

2009-08-14 Thread Marcin Hanclik
Hi,

Versioning is a larger topic recently:
http://lists.w3.org/Archives/Public/public-webapps/2009AprJun/0655.html
http://lists.w3.org/Archives/Public/www-tag/2009Aug/0027.html
http://lists.w3.org/Archives/Public/www-tag/2009Aug/0029.html

I wonder whether there could be a consistent pattern through all the specs from 
WHATWG and W3C to handle versions.
The issues and use cases are very similar if not the same everywhere.

Thanks.

Kind regards,
Marcin

From: whatwg-boun...@lists.whatwg.org [whatwg-boun...@lists.whatwg.org] On 
Behalf Of João Eiras [jo...@opera.com]
Sent: Friday, August 14, 2009 9:35 PM
To: WHATWG
Subject: Re: [whatwg] Removing versioning from HTML

On Fri, 14 Aug 2009 12:01:31 +0100, Ian Hickson i...@hixie.ch wrote:

 On Sun, 9 Aug 2009, Aaron Boodman wrote:

 I frequently see the comment on this list and in other forums that
 something is too late for HTML5, and therefore discussion should be
 deferred.

 I would like to propose that we get rid of the concepts of versions
 altogether from HTML. In reality, nobody supports all of HTML5. Each
 vendor supports a slightly different subset of the spec, along with some
 features that are outside the spec.

 This seems OK to me. Instead of insisting that a particular version of
 HTML is a monolithic unit that must be implemented in its entirety, we
 could have each feature (or logical group of features) spun off into its
 own small spec. We're already doing this a bit with things like Web
 Workers, but I don't see why we don't just do it for everything.

 Just as they do now, vendors would decide at the end of the day which
 features they would implement and which they would not. But we should
 never have to say that the spec is too big. If somebody is interested
 in exploring an idea, they should be able to just start doing that.

 I agree in principle.


I wholeheartedly agree with all the reasoning, but there are issues.

 From an implementor's point of view it is much harder to implement and
keep up with a mutating specification. During implementation a stable spec
is preferred.
So versioning will allow an implementor to decide to implement the latest
stable version of some spec, while work proceeds on a newer one.
And when I refer mutating specification I'm not referring to the whole
html5 spec, but each separate component, like web storage, web workers,
video, etc...
Currently, because specs are being edited and might take a while to get to
CR, we have different implementors implement different parts of the
specifications, and then meanwhile the specification mutates and
implementors have to waste time updating their implementation which could
have been right from the start. I understand that implementation feedback
is necessary, but this is not very optimal.
After a spec gets to CR it can't just mutate out of thin air, hence
forking it into a new version is the way to go.

Example: Gecko, Webkit and IE have localStorage, but the spec changed a
few days ago to allow structured storage.




Access Systems Germany GmbH
Essener Strasse 5  |  D-46047 Oberhausen
HRB 13548 Amtsgericht Duisburg
Geschaeftsfuehrer: Michel Piquemal, Tomonori Watanabe, Yusuke Kanda

www.access-company.com

CONFIDENTIALITY NOTICE
This e-mail and any attachments hereto may contain information that is 
privileged or confidential, and is intended for use only by the
individual or entity to which it is addressed. Any disclosure, copying or 
distribution of the information by anyone else is strictly prohibited.
If you have received this document in error, please notify us promptly by 
responding to this e-mail. Thank you.


Re: [whatwg] Removing versioning from HTML

2009-08-14 Thread Peter Kasting
On Fri, Aug 14, 2009 at 12:35 PM, João Eiras jo...@opera.com wrote:

 From an implementor's point of view it is much harder to implement and keep
 up with a mutating specification. During implementation a stable spec is
 preferred.


As a browser implementer, I have certainly not found the dynamic nature of
the spec to be a problem.  In fact the opposite is true: problems in the
spec can be fixed quickly when they're raised.


 Currently, because specs are being edited and might take a while to get to
 CR, we have different implementors implement different parts of the
 specifications, and then meanwhile the specification mutates and
 implementors have to waste time updating their implementation which could
 have been right from the start. I understand that implementation feedback is
 necessary, but this is not very optimal.


As opposed to if we froze versions, which would mean implementers would
implement part of the old specification, and meanwhile the new spec has
changed it.

In other words, I don't see how versioning reduces this problem at all in
practice.

Furthermore, you seem to be proposing versioning well in advance of CR
status, since you say it will take time to reach CR.  What is the metric by
which we'd decide to freeze a spec, then?

PK


[whatwg] Removing versioning from HTML

2009-08-09 Thread Aaron Boodman
[If this has been discussed before, feel free to just point me there]

I frequently see the comment on this list and in other forums that
something is too late for HTML5, and therefore discussion should be
deferred.

I would like to propose that we get rid of the concepts of versions
altogether from HTML. In reality, nobody supports all of HTML5. Each
vendor supports a slightly different subset of the spec, along with
some features that are outside the spec.

This seems OK to me. Instead of insisting that a particular version of
HTML is a monolithic unit that must be implemented in its entirety, we
could have each feature (or logical group of features) spun off into
its own small spec. We're already doing this a bit with things like
Web Workers, but I don't see why we don't just do it for everything.

Just as they do now, vendors would decide at the end of the day which
features they would implement and which they would not. But we should
never have to say that the spec is too big. If somebody is
interested in exploring an idea, they should be able to just start
doing that.

- a


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Tab Atkins Jr.
On Sun, Aug 9, 2009 at 11:10 AM, Aaron Boodmana...@google.com wrote:
 [If this has been discussed before, feel free to just point me there]

 I frequently see the comment on this list and in other forums that
 something is too late for HTML5, and therefore discussion should be
 deferred.

 I would like to propose that we get rid of the concepts of versions
 altogether from HTML. In reality, nobody supports all of HTML5. Each
 vendor supports a slightly different subset of the spec, along with
 some features that are outside the spec.

 This seems OK to me. Instead of insisting that a particular version of
 HTML is a monolithic unit that must be implemented in its entirety, we
 could have each feature (or logical group of features) spun off into
 its own small spec. We're already doing this a bit with things like
 Web Workers, but I don't see why we don't just do it for everything.

 Just as they do now, vendors would decide at the end of the day which
 features they would implement and which they would not. But we should
 never have to say that the spec is too big. If somebody is
 interested in exploring an idea, they should be able to just start
 doing that.

A feature that is not widely supported is a feature we authors can't
depend on.  If we're lucky, we can put in some extra effort to work
around the lack and still deliver a decent experience.  If we're not,
we simply don't do what we wanted, or deliver something inferior that
relies on technologies we *can* rely on.

The idea behind pushing something to the next version is that it gives
implementors time to catch up to the spec and converge on what they
support.  This is good for people like me.  ^_^

In the meantime, there's certainly nothing preventing someone from
exploring an idea.  The fact that it won't make it into a spec *yet*
doesn't mean you can't still discuss and refine it, or implement test
versions of it in js, or anything else.

~TJ


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Adam Shannon
On Sun, Aug 9, 2009 at 11:10 AM, Aaron Boodman a...@google.com wrote:

 [If this has been discussed before, feel free to just point me there]

 I frequently see the comment on this list and in other forums that
 something is too late for HTML5, and therefore discussion should be
 deferred.

 I would like to propose that we get rid of the concepts of versions
 altogether from HTML. In reality, nobody supports all of HTML5. Each
 vendor supports a slightly different subset of the spec, along with
 some features that are outside the spec.

 This seems OK to me. Instead of insisting that a particular version of
 HTML is a monolithic unit that must be implemented in its entirety, we
 could have each feature (or logical group of features) spun off into
 its own small spec. We're already doing this a bit with things like
 Web Workers, but I don't see why we don't just do it for everything.

 Just as they do now, vendors would decide at the end of the day which
 features they would implement and which they would not. But we should
 never have to say that the spec is too big. If somebody is
 interested in exploring an idea, they should be able to just start
 doing that.

 - a



If we never cut things off then the spec will really never be finished
before 2020.  I agree that somethings can be reopened but there are also
some which have been resolved and any new discussions are coming a year++
later.


-- 
- Adam Shannon ( http://ashannon.us )


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Aaron Boodman
On Sun, Aug 9, 2009 at 9:21 AM, Tab Atkins Jr.jackalm...@gmail.com wrote:
 A feature that is not widely supported is a feature we authors can't
 depend on.  If we're lucky, we can put in some extra effort to work
 around the lack and still deliver a decent experience.  If we're not,
 we simply don't do what we wanted, or deliver something inferior that
 relies on technologies we *can* rely on.

Clearly, but how does limiting the things that vendors can work on
affect this one way or the other?

I think there is an assumption that vendors will implement something
solely because it is in the spec. This is not true, and can be
verified by looking at history. Just yesterday, Jonas mentioned that
Mozilla was less than enthused about implementing the bb tag from
HTML5. Microsoft recently suggested they weren't happy with some of
the new tags introduced in HTML5. And Ian has repeatedly said that he
is not interested in writing fiction: he will only spec something that
vendors will implement.

 The idea behind pushing something to the next version is that it gives
 implementors time to catch up to the spec and converge on what they
 support.  This is good for people like me.  ^_^

I don't think implementations will ever catch up. Partial mixed
support is the natural state of a system where there are several
completing implementations, and it is healthy. Some ideas aren't good.
We shouldn't halt work on other things waiting for everyone to
implement every idea. That is a recipe for stagnation. Instead, let
some ideas die on the vine, and let growth occur in other places.

If authors want a vendor to implement something, they will still be
able to put pressure on the vendor to do that. In fact, that is
exactly what happens today. Ian frequently says if you want that,
please go talk to the vendors.

 In the meantime, there's certainly nothing preventing someone from
 exploring an idea.  The fact that it won't make it into a spec *yet*
 doesn't mean you can't still discuss and refine it, or implement test
 versions of it in js, or anything else.

In theory this is true. In practice, there is a lot of nice
infrastructure setup at WhatWG that would be nice to reuse. Plus the
WhatWG mailing list has become a very nice place for vendors to come
together and discuss browser futures.

What I am suggesting is that there should be no limit to the number of
micro specs in a draft state concurrently at WhatWG.

On Sun, Aug 9, 2009 at 9:29 AM, Adam Shannonashannon1...@gmail.com wrote:
 If we never cut things off then the spec will really never be finished
 before 2020.

Why does this matter? At the end of the day isn't the goal to have the
largest number of interoperable features? Consider one reality where
we try to limit what HTML5 is, and it has n features, and we get an
average of n*.9 features interoperably implemented on browsers by
2020. Consider an alternate reality where we let things be a bit more
open-ended and we get n*1.5*.9 features interoperably implemented by
2020.

Isn't the second reality better?

- a


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Adam Shannon



 On Sun, Aug 9, 2009 at 9:29 AM, Adam Shannonashannon1...@gmail.com
 wrote:
  If we never cut things off then the spec will really never be finished
  before 2020.

 Why does this matter? At the end of the day isn't the goal to have the
 largest number of interoperable features? Consider one reality where
 we try to limit what HTML5 is, and it has n features, and we get an
 average of n*.9 features interoperably implemented on browsers by
 2020. Consider an alternate reality where we let things be a bit more
 open-ended and we get n*1.5*.9 features interoperably implemented by
 2020.

 Isn't the second reality better?

 - a


If you are looking for quantity of features then yes it is better, but if
you are looking for quality of implementations then the latter is not as
good.  I would highly prefer IE to have video, audio, canvas,
geoLocation implemented in IE9 than wasting that update trying to decide
if we should reopen the codec issue (example of possible debate).
Sure, if we can wait 10 years for HTML5 then neither matters, but I don't
think that we have that option. A 20 year spec will not stand the test of
time nor provide the needed qualifications for the pace of development.

-- 
- Adam Shannon ( http://ashannon.us )


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Olli Pettay

On 8/9/09 7:10 PM, Aaron Boodman wrote:

[If this has been discussed before, feel free to just point me there]

I frequently see the comment on this list and in other forums that
something is too late for HTML5, and therefore discussion should be
deferred.

I would like to propose that we get rid of the concepts of versions
altogether from HTML. In reality, nobody supports all of HTML5. Each
vendor supports a slightly different subset of the spec, along with
some features that are outside the spec.

This seems OK to me. Instead of insisting that a particular version of
HTML is a monolithic unit that must be implemented in its entirety, we
could have each feature (or logical group of features) spun off into
its own small spec. We're already doing this a bit with things like
Web Workers, but I don't see why we don't just do it for everything.
If you say the HTML5 draft should be split to many smaller parts, I 
agree. We need to be able to say that some feature is stable i.e.

recommendation. Without stability it is pretty awkward to implement
anything, IMO
Currently there is the draft where one can just guess the stability of
the features.

HTML5 should contain just the core features of the web platform.
Everything else should go to some other specifications.
Also, I believe splitting the spec would make it more readable.

-Olli


Re: [whatwg] Removing versioning from HTML

2009-08-09 Thread Tab Atkins Jr.
On Sun, Aug 9, 2009 at 11:50 AM, Aaron Boodmana...@google.com wrote:
 On Sun, Aug 9, 2009 at 9:21 AM, Tab Atkins Jr.jackalm...@gmail.com wrote:
 A feature that is not widely supported is a feature we authors can't
 depend on.  If we're lucky, we can put in some extra effort to work
 around the lack and still deliver a decent experience.  If we're not,
 we simply don't do what we wanted, or deliver something inferior that
 relies on technologies we *can* rely on.

 Clearly, but how does limiting the things that vendors can work on
 affect this one way or the other?

 I think there is an assumption that vendors will implement something
 solely because it is in the spec. This is not true, and can be
 verified by looking at history. Just yesterday, Jonas mentioned that
 Mozilla was less than enthused about implementing the bb tag from
 HTML5. Microsoft recently suggested they weren't happy with some of
 the new tags introduced in HTML5. And Ian has repeatedly said that he
 is not interested in writing fiction: he will only spec something that
 vendors will implement.

Certainly, but the spec gives some nice direction.  Nobody implemented
the new input types, frex, until someone wrote it up; now Opera has
some decent support for it, while Webkit is starting support.  Aiming
at a target, especially one that you know other people will probably
also be aiming at, is a lot easier than coding up a new feature that
you just dreamed up.

 The idea behind pushing something to the next version is that it gives
 implementors time to catch up to the spec and converge on what they
 support.  This is good for people like me.  ^_^

 I don't think implementations will ever catch up. Partial mixed
 support is the natural state of a system where there are several
 completing implementations, and it is healthy. Some ideas aren't good.
 We shouldn't halt work on other things waiting for everyone to
 implement every idea. That is a recipe for stagnation. Instead, let
 some ideas die on the vine, and let growth occur in other places.

Not completely, sure.  But they'll get closer.  And we certainly won't
wait for everyone to implement everything - the 2022 date that keeps
getting bandied about was Ian's estimation of when complete
conformance from 2 browsers would first happen.  HTML6 will start
*long* before that.  Giving people a bit of breathing room, though,
and a static target to code towards, helps out.

 If authors want a vendor to implement something, they will still be
 able to put pressure on the vendor to do that. In fact, that is
 exactly what happens today. Ian frequently says if you want that,
 please go talk to the vendors.

Agreed.  However, using *only* author feedback to direct browser
implementors seems insufficient when we can also direct it in a useful
manner by the spec.

 In the meantime, there's certainly nothing preventing someone from
 exploring an idea.  The fact that it won't make it into a spec *yet*
 doesn't mean you can't still discuss and refine it, or implement test
 versions of it in js, or anything else.

 In theory this is true. In practice, there is a lot of nice
 infrastructure setup at WhatWG that would be nice to reuse. Plus the
 WhatWG mailing list has become a very nice place for vendors to come
 together and discuss browser futures.

 What I am suggesting is that there should be no limit to the number of
 micro specs in a draft state concurrently at WhatWG.

Nobody's preventing that sort of discussion, even if Ian says Not for HTML5.

 On Sun, Aug 9, 2009 at 9:29 AM, Adam Shannonashannon1...@gmail.com wrote:
 If we never cut things off then the spec will really never be finished
 before 2020.

 Why does this matter? At the end of the day isn't the goal to have the
 largest number of interoperable features? Consider one reality where
 we try to limit what HTML5 is, and it has n features, and we get an
 average of n*.9 features interoperably implemented on browsers by
 2020. Consider an alternate reality where we let things be a bit more
 open-ended and we get n*1.5*.9 features interoperably implemented by
 2020.

 Isn't the second reality better?

That reality is fantasy, though.  ^_^  The rate at which an
implementor can code is independent of the number of features that are
in the spec.  Increase the number of features (and assume some
reasonable distribution of interest among the features) and the % of
them that are interoperably implemented, especially within a given
time frame, will drop.

There's clearly some optimizing to be done - it's silly to spec only
one thing at a time and wait for everyone to implement it, but an
unbounded spec size is also bad.  Ian's charting a course that already
leans heavily into the lots of features side of the debate, and I
disagree that pushing it further in that direction will necessarily
help interop.

~TJ

(Imo, we are getting *way* too meta about the whole thing lately.
Meta is rarely a good thing...)