Proposal + Paris F2F Meetup

While preparing for the F2F meetup in Paris, I’ve noticed that we may fail on achieving anything. The cE=typing topic got a bit confusing, with no clear direction and it sounds like we’ll not have time to put order on all this.  

This is my proposal for today's focus of the TF, so we cold finalize the specs in Paris.


1. Drop contenteditable=“typing”

The typing thing became a big topic. It is fragmented into several different aspects that need a lot of discussion. Recently we even saw uncertainty whether some aspects, like caret movement, should be part of this specs or the Selection API.

Because of the complexity, I propose to drop it (but wait, read further).


2. Introduce the concept of “modules” in contenteditable

I think this is not a spec’ed concept but we’ve been talking about it. So let’s spec it.

The idea is that “typing” would be a module, just like “line-break”, “clipboard”, etc.  

And ofc, the “intent” module.


3. Introduce contenteditable=“intent”

This is something discussed a lot previously with Ben and in a very advanced stage. This module would enable the Intent API into cE. With this, no behaviour is expected in the editable but a strong events API of user “intents” take place. The behaviour would be then implemented by JavaScript developers on top of the events.


Conclusion

The proposed approach would simplify the specs considerably, as for now. We would be able to come with a recommendation.

The goal is introducing the necessary API for all other cE modules to be implemented. At a fist stage, such modules would appear as JavaScript libraries which, later on, may be converted into specs.

If accepted, we should discuss this approach and move it forward as much as we can, leaving for Paris the final critical parts of it… or nothing, so we’ll just take the opportunity to bring it to a broader audience, confirm it and celebrate it.

Is this a good way to go?

--
Frederico Knabben
CKEditor Project Lead and CKSource Owner

Received on Wednesday, 22 July 2015 10:55:51 UTC