Re: [widgets] Strawman requirements for widget (view/display/window) modes

2009-03-06 Thread Marcos Caceres
I've now integrated the requirements below into the Requirements spec [1].

In acknowledgment of the work that Mark has done on both the Dig
Sig/Security requirements and Window modes, I've added him as
co-editor (now he can also get the blame!:) ).

Please also note that I have switched to CSS counters for the
requirement numbers, meaning that they are dynamically inserted into
the document... not all browsers support CSS counters, so apologies if
you can't see the generated content.

Kind regards,
Marcos
[1] http://dev.w3.org/2006/waf/widgets-reqs/

On Tue, Feb 24, 2009 at 2:29 PM, Marcos Caceres marc...@opera.com wrote:
 Hi All,
 The following draft requirements for display modes were formulated
 during the F2F based on Mark's strawman proposal (also below). Please
 feel free to comment.

 === General Requirements ===

 RXX. Display Modes
 A conforming specification MUST specify a set of display modes for
 widgets that stipulate how widgets SHOULD be rendered at runtime when
 in a specific mode. A conforming specification SHOULD also define
 particular allowed, or disallowed, user-interaction behaviors for each
 display mode; such as the ability for a widget to be dragged or
 re-sized. For each display mode, the way in which the widget is
 displayed MUST be specified so that the rendering of the Widget is as
 consistent as possible across widget user agents. The display modes
 SHOULD also be specified to interoperate with device independence best
 practices and/or specifications. Proprietary display modes MAY be
 supported by the Widget User Agent.

 Rationale: To provide authors with a variety of commonly widget
 display modes and to help ensure that their widgets are renders as
 consistently as possible across different Widget User Agents. In
 addition, allowing proprietary display modes provides a means to
 support innovative user experiences.

 ==CONFIGURATION DOCUMENT REQUIREMENT==

 R.XX Preferred display modes
 A conforming specification MUST provide a means for author to indicate
 at least one preferred display mode for a widget. In the absence of a
 preferred mode, a conforming specification SHOULD provide a consistent
 default display mode across all user agents. A conforming
 specification SHOULD make it possible for an author to indicate to the
 widget user agent which display modes the widget has been designed to
 run in. The Widget User Agent MAY ignore the indications of display
 mode supported, but SHOULD NOT ignore the preferred display mode.

 Rationale: To provide authors a means to indicate a preference over
 how their widget is initially rendered, though this would not be not
 guaranteed by the widget user agent. A means of declaring the
 preferred display mode also provides authors some reassurance, as some
 widgets may be better suited to being displayed in one display mode
 over the others. As already stated, widget user Agents may choose to
 ignore the author's display mode preference, for example, if they do
 not support the indicated display mode.

 I don't agree with: A conforming specification SHOULD make it
 possible for an author to indicate to the widget user agent which
 display modes the widget has been designed to run in. This should be
 handled via CSS media queries and handled by the author.

 ==API AND EVENTS REQUIREMENT===
 Rxx Display mode API and Events
 A conforming specification MUST provide an API to allow authors to
 programmatically switch between display modes. A conforming user agent
 MUST be allowed to ignore requests by the author to switch to an
 unsupported display mode, but MUST throw an exception or error if it
 will not perform the mode change. A conforming specification MUST also
 provide a guaranteed means for authors to detect a change in display
 mode. A conforming specification MUST provide a means for an author to
 check the current display mode of a widget.

 ==USER AGENT REQUIREMENT==
 Rxx. Display Mode Switching
 A conforming specification MUST allow a widget user agent to
 dynamically change display mode of a widget. Switching from one mode
 to another, however, MUST not cause the re-instantiation of the
 Widget. Furthermore, it MUST be possible for a Widget to seamlessly
 move between modes, maintaining runtime state and any processes that
 are in progress.

 Rationale: To allow a widget user agent to have a degree of control
 over how widgets are displayed for the purpose of mediating the user
 experience. For example, the widget user agent my attempt to switch
 all widgets into floating mode and then display them in a 3D carousel.


 2009/2/3 Priestley, Mark, VF-Group mark.priest...@vodafone.com:
 Hi All,

 Closing the action 291 
 (http://www.w3.org/2008/webapps/track/actions/291) please find below a 
 strawman for a set of requirements relating to widget (view/display/window) 
 modes. I have tried to define the requirements without basing them on any of 
 the technical solutions that have been discussed to date.

 I am in no doubt 

Re: [widgets] Strawman requirements for widget (view/display/window) modes

2009-02-24 Thread Marcos Caceres
Hi All,
The following draft requirements for display modes were formulated
during the F2F based on Mark's strawman proposal (also below). Please
feel free to comment.

=== General Requirements ===

RXX. Display Modes
A conforming specification MUST specify a set of display modes for
widgets that stipulate how widgets SHOULD be rendered at runtime when
in a specific mode. A conforming specification SHOULD also define
particular allowed, or disallowed, user-interaction behaviors for each
display mode; such as the ability for a widget to be dragged or
re-sized. For each display mode, the way in which the widget is
displayed MUST be specified so that the rendering of the Widget is as
consistent as possible across widget user agents. The display modes
SHOULD also be specified to interoperate with device independence best
practices and/or specifications. Proprietary display modes MAY be
supported by the Widget User Agent.

Rationale: To provide authors with a variety of commonly widget
display modes and to help ensure that their widgets are renders as
consistently as possible across different Widget User Agents. In
addition, allowing proprietary display modes provides a means to
support innovative user experiences.

==CONFIGURATION DOCUMENT REQUIREMENT==

R.XX Preferred display modes
A conforming specification MUST provide a means for author to indicate
at least one preferred display mode for a widget. In the absence of a
preferred mode, a conforming specification SHOULD provide a consistent
default display mode across all user agents. A conforming
specification SHOULD make it possible for an author to indicate to the
widget user agent which display modes the widget has been designed to
run in. The Widget User Agent MAY ignore the indications of display
mode supported, but SHOULD NOT ignore the preferred display mode.

Rationale: To provide authors a means to indicate a preference over
how their widget is initially rendered, though this would not be not
guaranteed by the widget user agent. A means of declaring the
preferred display mode also provides authors some reassurance, as some
widgets may be better suited to being displayed in one display mode
over the others. As already stated, widget user Agents may choose to
ignore the author's display mode preference, for example, if they do
not support the indicated display mode.

I don't agree with: A conforming specification SHOULD make it
possible for an author to indicate to the widget user agent which
display modes the widget has been designed to run in. This should be
handled via CSS media queries and handled by the author.

==API AND EVENTS REQUIREMENT===
Rxx Display mode API and Events
A conforming specification MUST provide an API to allow authors to
programmatically switch between display modes. A conforming user agent
MUST be allowed to ignore requests by the author to switch to an
unsupported display mode, but MUST throw an exception or error if it
will not perform the mode change. A conforming specification MUST also
provide a guaranteed means for authors to detect a change in display
mode. A conforming specification MUST provide a means for an author to
check the current display mode of a widget.

==USER AGENT REQUIREMENT==
Rxx. Display Mode Switching
A conforming specification MUST allow a widget user agent to
dynamically change display mode of a widget. Switching from one mode
to another, however, MUST not cause the re-instantiation of the
Widget. Furthermore, it MUST be possible for a Widget to seamlessly
move between modes, maintaining runtime state and any processes that
are in progress.

Rationale: To allow a widget user agent to have a degree of control
over how widgets are displayed for the purpose of mediating the user
experience. For example, the widget user agent my attempt to switch
all widgets into floating mode and then display them in a 3D carousel.


2009/2/3 Priestley, Mark, VF-Group mark.priest...@vodafone.com:
 Hi All,

 Closing the action 291 
 (http://www.w3.org/2008/webapps/track/actions/291) please find below a 
 strawman for a set of requirements relating to widget (view/display/window) 
 modes. I have tried to define the requirements without basing them on any of 
 the technical solutions that have been discussed to date.

 I am in no doubt that the proposed requirements need discussion and 
 refinement - essentially, they are meant only as a starting point. It's over 
 to the group now to agree how best to progress them - I welcome any 
 suggestions on how they could be improved.

 Thanks,

 Mark

 -
 Strawman Requirement for widget modes
 -

 1. There MUST be a defined set of display modes for a Widget. For each 
 defined display mode, the way in which the Widget is displayed MUST 
 be specified so that the rendering of the Widget is consistent across Widget 
 User Agents. The display modes