- From: Johannes Wilm <mail@johanneswilm.org>
- Date: Tue, 11 Aug 2015 05:45:49 -0400
- To: "Hallvord R. M. Steen" <hsteen@mozilla.com>
- Cc: public-editing-tf@w3.org
- Message-ID: <CABkgm-SUPqC7=b3xngjhtmzHd902va9kGifzKT9yPsA3uQJofw@mail.gmail.com>
On 11 Aug 2015 04:36, "Hallvord Reiar Michaelsen Steen" <hsteen@mozilla.com> wrote: > > Hi, > some thoughts for your meeting in Paris - sorry that I can't show up as an observer myself. > > You have some "deprecate or spec" decisions to make - I hope you keep in mind that removing features from the web is very, very hard and will take a long time, and just having a new spec (even if you suceed in getting it past the hurdles to become a W3C Recommendation) won't guarantee either implementation or uptake among developers. Also, it's likely we're still a couple of years away from having widespread implementation support for your new features and meanwhile many new projects will be built on the old stuff. Telling developers to not use cE=true during the next few years is impractical. > This effort was initially led by browser people and we JS people were told that it would be impossible to fix cE=true. Now you, as a representative of another browser, seem to be telling us the opposite. That seems a little surprising, so I guess we'll just have to see what happens. At the same time, at this it seems it would be much less work to implement our minimal spec with events and direct JS access to clipboard and exact caret position, then to: * try to finish writing the execCommand specification fully * create a full description of all paragraph splitting and merging mechanisms so that UA behave the exact same way * create a second version execCommand to be more flexible in what it applies so that it can be useful at least for very simple editors * implement this without half the web breaking on the first day Altogether, I would estimate this could probably be done in 2-3 years if all browsers really put their weight behind it. With the same amount of energy, I would estimate 1 month for cE=events. > For this reason, I suggest that you add a warning - let's call it "intent to deprecate" - to the older specs, but still keep them in a sort of low-resource maintenance mode. If some UA developer happens to be working on something and notices an error in those specs, it should be fixed if it's easy to do so. If a web developer reads those specs, they should be encouraged to check the implementation progress of the new work and be aware that things are changing - but not be told it's bad or wrong to use the old features until the new ones are ready. > Have you looked at the documents as they are now with warnings attached to the top? Is this what you are asking for? It is too bad you cannot be there, not even online. I think it is important to get to an agreement between what to put in the clipboard api spec and what to put in the various specs we maintain. Right now the clipboard API spec fully relies on execCommand and gives no other access to the clipboard. And it doesn't seem to specify how exactly pasted content is merged with existing content or how things are merged when using cut. I think the real-world result of this will be that all the editors will continue with hacks as they do now: when pasting is detected, the caret 'is moved to a hidden cE-element, and after the paste takes place the contents of that element are extracted and JS deals with merging things properly. I am sure that larger editor projects have found even better combinations of hacks to get what they need through tens of thousands of hours of trial and error. I really hope we can come to an agreement that a) on the one hand allows for you guys to make clipboard actions available through execCommand and browser-based merging mechanisms, because that seems ti be important to you guys, even though no editor will likely ever use it, b) and on the other hand doesn't tie the clipboard down to execCommand and specific, yet still unspecified merging algorithms. To me it seems clear that anything specific to execCommand should go into that spec. The clipboard Api should define general procedures for adding and taking clipboard content, including the security model. These procedures could then be referred to in a definition of JavaScript calls to directly access the clipboard, in the execCommand description of paste/cut/copy (with specific descriptions of the merge algorithms in the execCommand spec), and in a possible future description of paste/copy/merge in a future cE-copy/paste module spec (which will likely have a different definition of a merging algorithm). Right. Check out the notice as it is now. There doesn't seem to be any protests against it. > Just my five cents - I hope it makes sense :) > -Hallvord > > PS: Editing is sort of a special case among UA features because it's possible to emulate pretty much all of it with JS. Generally, nobody decided to do HTML parsing or image decoding in JS on their website because of cross-UA inconsistencies, but editing is different. This is - believe it or not - probably one of the reasons editing is such a compatibility mess. UAs are spoiled by all those editor developers fixing up their problems, and the pressure for fixing editing hasn't generally been of the "drop everything else, GMail is broken" type of pressure. >
Received on Tuesday, 11 August 2015 09:46:19 UTC