Re: [Widex] Working group last call (WGLC) for Requirements: draft-ietf-widex-requirements-01.txt
Dave Raggett <dsr@w3.org> Fri, 12 May 2006 13:57 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1FeY9B-0001tH-7h; Fri, 12 May 2006 09:57:37 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1FeY99-0001si-H7 for widex@ietf.org; Fri, 12 May 2006 09:57:35 -0400
Received: from homer.w3.org ([128.30.52.30]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1FeY4Y-0005fk-3z for widex@ietf.org; Fri, 12 May 2006 09:52:53 -0400
Received: from localhost (homer.w3.org [128.30.52.30]) by homer.w3.org (Postfix) with ESMTP id A528D4EFCE; Fri, 12 May 2006 09:52:48 -0400 (EDT)
Date: Fri, 12 May 2006 14:52:41 +0100
From: Dave Raggett <dsr@w3.org>
X-X-Sender: dsr@localhost.localdomain
To: Jin Yu <jyu@openxup.org>
Subject: Re: [Widex] Working group last call (WGLC) for Requirements: draft-ietf-widex-requirements-01.txt
In-Reply-To: <000301c6748e$68fa25c0$0202fea9@martsbs.local>
Message-ID: <Pine.LNX.4.62.0605121439010.8870@localhost.localdomain>
References: <000301c6748e$68fa25c0$0202fea9@martsbs.local>
X-GPG-PUBLIC_KEY: http://www.w3.org/People/Raggett/pubkey-20040130.asc
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"; format="flowed"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 848ed35f2a4fc0638fa89629cb640f48
Cc: widex@ietf.org
X-BeenThere: widex@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Working list for the WIDEX working group at IETF <widex.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/widex>, <mailto:widex-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/widex>
List-Post: <mailto:widex@ietf.org>
List-Help: <mailto:widex-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/widex>, <mailto:widex-request@ietf.org?subject=subscribe>
Errors-To: widex-bounces@ietf.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Jin, Some thoughts triggered by your email: Event filtering could be: a) by prior arrangement b) negotiated at the start of the session c) dynamically updated during the session Session initiation is out of scope for REX, but we could support the means to dynamically add or remove event listeners during the session via introducing a pair of new events for that purpose as you suggest. I could draft something on this for the REX mailing list. For Widex, we could explore the idea of negotiating event selection at session initiation. a) a list of explicit event names b) a list of event catgories c) a reference to a list of event names/event categories Event categories are something that was introduced by the W3C Voice Browser working group for VoiceXML and CCXML. They defined event names hierarchically and could name categories of events by reference to this hierarchy, e.g. there are a set of events error.connection.noauthorization error.connection.baddestination error.connection.noroute error.connection.noresource ... you can specify behavior for a specific event, for all error.connection events, or more generally for all error events. Another idea is to be able to indicate which events the server is interested in by reference to a URI for a list of events or event categories. The usual caching rules would apply to such lists. For devices that aren't connected to the Internet, such lists would have to be available on the local network, e.g. on the widex server. An advantage of identifying events by reference is that it can save time if the list is known to be always the same, since then you don't need to download it for each session. One issue is where the event listener is attached to the DOM tree and whether it is invoked in the bubble or capture phase. This only matters when there is another event listener that is invoked prior to the server's event listener, as then there may the possibility of the event being cancelled by the earlier listener. I don't believe it makes sense to allow the server's event listener to be able to cancel events, as this would introduce a significant latency into event handling in the client. For this purpose, the event object, that is passed to the server by the widex implementation, would have the DOM attributes bubbles and cancelable set to false. In principle, we might also need to say something about which events the server can send to the widex renderer. The same negotiation mechanisms could be used as for events the server gets from the client. You also talk about UI initialization. I think this can be handled as part of the UI markup language, and also by additional events sent from the server to the widex renderer. These events are outside the scope of Widex, and would need to have their semantics and XML serialization defined in separate specifications. For REX, it will be easier if we stick to the existing DOM events so that we can limit the scope of what needs to be specified for the processing and serialization of these events. I think we will be able to provide an algorithm for describing the serialization of these events from their IDL definitions. Dave Raggett <dsr@w3.org> W3C lead for multimodal interaction http://www.w3.org/People/Raggett +44 1225 866240 (or 867351) On Wed, 10 May 2006, Jin Yu wrote: > Hi all, > > I have a few comments about the requirements draft, mostly based > on my experience in working on XUP and X11. > > * Event Selection > > In a networked UI environment, efficient event delivery is as > important as updating the UI itself. The requirements document > already discussed that certain events can be handled locally at > the renderer (e.g. a mouse click on a menu bar will display a > submenu) and therefore there is no need to send those events to > the server. However, in addition to that, it is very important > that the renderer only sends events that are *interested* by the > application logic on the server side. For example, typing in a > text field generates a key press event for each key stroke. But > the application may not care about each key stoke; it only wants > to receive the entire text when the user clicks on a button > labeled "submit". In this case, the application is interested in > the mouse click event on the "submit" button, but not interested > in the key press events in the text field. > > So what's needed is an event selection mechanism, and I believe > this is needed at the protocol level, not at the XML UI language > level. That is, this event selection mechanism should be > independent of the actual UI language in use. > > I think we could define a new type of message - widex event > selection object. This is a one directional message that goes from > the server to the renderer, allowing the application to instruct > the renderer to send only selected events. The widex event > selection object would specify the type of event as well as the UI > component that fired the event. And the event type would be a > namespace-qualified event from any concrete XML UI languages (not > limited by DOM events; it could come from XUL, XAML, etc.) > > Note that the new event selection object would be very different > from WO.Event. The event selection object specifies the event > delivery criteria; whereas WO.Event specifies the actual event > fired, with timestamp, etc. > > Similar design can be found in XUP, where it has the notion of > "event selectors" > (<http://www.openxup.org/TR/xup/#elem_selector>). > > In addition, X11 also allows the selection of events, via the > library function XSelectInput(). > > * UI State Synchronization > > The diagram at the beginning of section 2 shows the UI update > interface as one way messages from the server to the renderer. > However, for the UI state to be synchronized, the renderer should > also send UI update messages to the server. > > The server-side UI state is manipulated by application code (e.g. > create a new window, change background color of a label, etc.); > this results server to renderer UI updates messages. > > On the other hand, the renderer's UI state is manipulated by the > end user. For example, when the user is typing text in a text > field, the UI state of that field is getting changed. This change > needs to be synchronized to the server. Other examples include > resizing a window, checking a check box, etc. Note that the > synchronization needs not to be immediate, as the application may > just care about the entire text input, not each key stoke. But how > and when to synchronize should be left to the application to > decide. Again, this could be done by using the widex event > selection object proposed above. > > > Regards, > > Jin > ________________________________________ > Jin Yu > OpenXUP.org -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFEZJMvb3AdEmxAsUsRAvHvAKDeStuc9vO3zUK38Dq/DvbO2wGnZQCfYfLe cfOrELwZkXlpNdJV2iY3BNY= =wQS0 -----END PGP SIGNATURE----- _______________________________________________ Widex mailing list Widex@ietf.org https://www1.ietf.org/mailman/listinfo/widex
- [Widex] Working group last call (WGLC) for Requir… Dean Willis
- Re: [Widex] Working group last call (WGLC) for Re… Rosfran Lins Borges
- Re: [Widex] Working group last call (WGLC) for Re… Jin Yu
- Re: [Widex] Working group last call (WGLC) for Re… Dave Raggett
- RE: [Widex] Working group last call (WGLC) for Re… Jin Yu
- RE: [Widex] Working group last call (WGLC) for Re… Vlad.Stirbu
- RE: [Widex] Working group last call (WGLC) for Re… Jin Yu