[widgets] A revised proposal on widget modes

Hi All,
 
Based on some of the emails that have followed our initial proposal for
widget modes [1] we have come up with a revised proposal for discussion.
I have focused this solely on what would need to go into the packaging
and configuration specification [2], ie there is no real mention of how
viewmode transitions would be handled. 
 
Comments and suggestions welcomed!
 
---------------------------------------
Proposal:
---------------------------------------
 
1. Remove height and width attributes from widget.
 
2. Remove mode attribute.
 
3. Add a viewmodes element, along following lines:
 

	<viewmodes default="floating/fullscreen/docked">
	 
	    <floating height="300" width="500"/>
	 
	    <fullscreen max-height="500" max-width="600"/>
	 
	    <docked min-height="50" min-width="70"/>
	 
	</viewmodes>

---------------------------------------
Explanation
---------------------------------------
 
All modes would use the same start file - there would continue to be
only one content element. 
 
<viewmodes> would be an optional element. If it was nor present the
widget user agent (WUA) would use default height and width values for
each of the viewmodes that it supports. 
 
The "default" attribute indicates the widget authors preferred viewmode
for the widget. If the default attribute was omitted the WUA would use
its default "default viewmode". The WUA would be entitled to ignore the
default attribute value, for example in order to maintain a consistent
user experience.
 
The <floating>, <fullscreen> and <docked> child elements of <viewmode>
would all be optional elements. If any or all of the child elements were
omitted the WUA would use default height and width values for those
viewmodes that it supports. 
 
The presence of <floating>, <fullscreen> or <docked> would indicate that
the widget had been designed to run in this mode. If the (x-)height
and/or (x-)width attributes are omitted from any of the child elements,
the WUA would use default height and width values for those viewmodes.
Note that for the fullscreen mode it is max-(height/width) because the
expectation is that a widget author will design their widget to display
correctly up to a maximum size. The WUA would be expected to use the
maximum space available up to this size. It would be down to
implementation whether or not the WUA maintained the aspect ratio.
Similarly the docked mode defines a min-(height/width) as it is the
expectation that the widget author will design their widget to display
correctly down to a minimum size. Again it would be down to
implementation whether or not the WUA maintained the aspect ratio.
 
The WUA may still choose to display a widget in a viewmode that has not
been declared. 
 
In summary the viewmodes element provides information to the widget user
agent on how best to display a widget. It should be viewed as guidance
to to the widget user agent rather than an instruction. It is expected
that the widget would be able to adapt its content to its current
viewmode, eg by using media queries and/or javascript + mode related
events + widget.viewmode attribute. 
 
---------------------------------------
Comments
---------------------------------------
 
I'm not stuck on the names of the viewmodes and their respective
elements. For example, I am inclined to agree with one of the earlier
comments that "maximised" might be a better name for "fullscreen".
 
I did think about suggesting that the <floating>, <fullscreen> and
<docked> should be child elements of the content element but I think
it's neater to have it as a separate element. Happy for other
suggestions of where these elements could go or how they could be
re-structured.
 
Thanks,
 
Mark
 
 
[1]http://www.mail-archive.com/public-webapps@w3.org/msg01884.html 
[2] http://www.w3.org/TR/2008/WD-widgets-20081222/
 
 
 
 
 
 
 
Mark Priestley 

Security Expert
Vodafone Group R&D
 
Mobile: +44 (0)7717512838
E-mail: mark.priestley@vodafone.com <mailto:mark.priestley@vodafone.com>

 
www.betavine.net <http://www.betavine.net/>   - Web
betavine.mobi  - Mobile Web   
 
Vodafone Group Services Limited 
Registered Office: Vodafone House, The Connection, Newbury, Berkshire
RG14 2FN Registered in England No 3802001

 

Received on Thursday, 19 February 2009 13:38:00 UTC