Re: [whatwg] Support for page transitions

2011-06-11 Thread Bjartur Thorlacius
On 6/9/11, Mikko Rantalainen mikko.rantalai...@peda.net wrote:
 2011-06-07 18:07 EEST: Bjartur Thorlacius:
 Elaborate; they both refer to the next resource in a sequence of
 documents. Note that a document may be an element in multiple
 sequences of documents.

 Notice the word linear. I think rel=maybe-next would describe what
 I'm thinking. Or perhaps rel=next should be changed to mean maybe next.
Wizards are inherently linear; their reason d'etre is links to
subsequent forms for the user to fill in. If the wizard provides
multiple links for the user to select one, they can use multiple
rel=next links. Forking wizards thus consist of multiple linear
sequences of documents.
Example:
A - B - C
A - C
A - D - B - C

A would link to B, C and D, D to B and B to C. IIUC this is valid.
There may of course be more forking points.

 Backup of form contest is one thing and I'm already using user agents
 that allow this at least via extensions. However, submitting the draft
 to the server instead allows additional application specific processing
 / mutation for the form when user later returns to it. For static pages,
 there's a less need for features like this.

It seems to me that such mutation would preferably be done client-side
(using JavaScript), so the user can benefit sooner. It seems odd to
make the user fill in a form partially, submit a draft, and then edit
a mutation thereof. But only if he pauses his work to submit the
draft, and only on the data he put in prior to submitting. And not
give him the mutated version if he fills the form in without pause.
If you really want the user to get the mutated version, you return
another form prefilled with mutated values when the user submits the
first one. That's possible using ordinary submits.

Can you provide use cases for this server-side mutations of drafts?

 Also note that currently rel=next is not allowed on input type=submit,
 unless I've understood incorrectly.
Having an input type=submit rel=prev is far from straight-forward.

You should have a document with hyperlinks of rel=next and rel=prev
and forms. The forms themselves contain no links to subsequent forms.
The user agent should fill in a form, submit it in another browsing
context and proceed to the next one (allowing the user to select the
next one when the document suggest multiple). There's nothing
forbidding the user agent from showing fancy transitions while loading
the next document, progressively rendering the form as it becomes
available. [Current HTML draft, Form submission algorithm, step 15]


Re: [whatwg] Support for page transitions

2011-06-10 Thread Aryeh Gregor
On Thu, Jun 9, 2011 at 7:41 AM, Mikko Rantalainen
mikko.rantalai...@peda.net wrote:
 I'm fine with in-page transitions using CSS but I don't think that
 current page should be able to apply all available in-page transitions
 for transitioning to another page. (In addition, it could be a bit hard
 to describe how current and next document should transition when
 currently available transitions deal with one element at a time.)

You could just have the transition apply to the root element.

 Currently loaded page should not cause transitioning to a new page to
 take as long as the current page wishes. For example, user could type
 new address into location bar or load a bookmark. Of course, the UA
 could totally skip transitions in such special cases. I see in-page
 transitions less dangerous than inter-page transitions because such
 transitions affect exactly one URL; the inter-page transition should
 exists to provide additional user hint about the document change and as
 such, that should be more balanced between author control and UA
 control. Currently in-page transitions are totally author controlled.

Certainly pages should only be allowed to control transitions when the
navigation is due to a link in the page or something else intrinsic to
the page, not when the user types in the URL bar.  I don't have a
strong opinion on whether such transitions should be restricted
further -- certainly browsers might want to cap the length, or allow
users to disable them, or similar.

 For example, if I have a wizard that logically forks to two different
 paths, then rel=next should not be used. Or at least
 http://microformats.org/wiki/existing-rel-values describes next as
 following:

 Refers to the next document in a linear sequence of documents. User
 agents may choose to preload the next document, to reduce the
 perceived load time.

 Notice the word linear. I think rel=maybe-next would describe what
 I'm thinking. Or perhaps rel=next should be changed to mean maybe next.

It's pretty vague, so I think you could use it anyway.  There's no
hard requirement there.

 Also note that rel=next is not currently allowed for submit buttons at
 all. So either rel=next must be relaxed here, too, or we need a new
 attribute. I'm fine with either choice.

Well, we could allow rel here in principle.  But more problematically,
there's no way to specify a relation *or* CSS when navigating the page
programmatically, like via document.location.  I don't have a good
answer here.


Re: [whatwg] Support for page transitions

2011-06-09 Thread Mikko Rantalainen
2011-06-08 01:37 EEST: Aryeh Gregor:
 On Tue, Jun 7, 2011 at 7:45 AM, Mikko Rantalainen
 mikko.rantalai...@peda.net wrote:
 The things I don't want to have in this specification (page author control):

 - actual transition animation (slide the next page from the left)
 - transition duration
 - ability to specify easing for transition movement

 Instead there should be a method for defining that submitting a form
 with a given button, the UA should use transition to next page.
 Hitting another button on the same form should use transition to
 previous page and hitting some link should use closing transition.
 
 It would make sense for the author to be able to control this too.
 You can already do in-page transitions using CSS, and the same syntax
 could be reused for page transitions:
 
 http://www.w3.org/TR/css3-transitions/

I'm fine with in-page transitions using CSS but I don't think that
current page should be able to apply all available in-page transitions
for transitioning to another page. (In addition, it could be a bit hard
to describe how current and next document should transition when
currently available transitions deal with one element at a time.) Or at
least, the transition should be allowed only for same-origin targets or
some other restriction.

Currently loaded page should not cause transitioning to a new page to
take as long as the current page wishes. For example, user could type
new address into location bar or load a bookmark. Of course, the UA
could totally skip transitions in such special cases. I see in-page
transitions less dangerous than inter-page transitions because such
transitions affect exactly one URL; the inter-page transition should
exists to provide additional user hint about the document change and as
such, that should be more balanced between author control and UA
control. Currently in-page transitions are totally author controlled.

 Note that the next page button may or may not match with rel=next
 and as such, I think that there should be additional method for
 specifying this kind of relation.
 
 What are cases where it wouldn't match?

For example, if I have a wizard that logically forks to two different
paths, then rel=next should not be used. Or at least
http://microformats.org/wiki/existing-rel-values describes next as
following:

Refers to the next document in a linear sequence of documents. User
agents may choose to preload the next document, to reduce the
perceived load time.

Notice the word linear. I think rel=maybe-next would describe what
I'm thinking. Or perhaps rel=next should be changed to mean maybe next.

The same applies to prev but a bit less so (usually there's only one
previous place to go). For example, a wizard could have a button to go
to the previous form and an another button to go back to the first (or
previous fork point) form in the currently taken path through forms.
Logically both are previous pages to current page but again, the series
is not linear.

Also note that rel=next is not currently allowed for submit buttons at
all. So either rel=next must be relaxed here, too, or we need a new
attribute. I'm fine with either choice.

 I think that it would make sense to use next page transition for
 rel=next by default, but there's a need to attach next page
 transition to interactive elements other than rel=next.
 
 What need?

See above. If the specification for rel=next is relaxed, then this
need is no more (or at least I'm not aware of such a need).

 I think that this could be sensible to have in HTML instead of just in
 the CSS (or some other method) because it's possible that other software
 but just the styling system could use the information about target type
 for links and buttons.
 
 Offhand, it seems sensible to reuse rel; let each platform work out
 the default transition animation for each link type (perhaps none in
 most cases); and allow authors to override the transition animation on
 a per-link basis.  Selectors like a[rel~=next] would be useful here
 for authors.

This sounds sensible to me.

-- 
Mikko


Re: [whatwg] Support for page transitions

2011-06-09 Thread Mikko Rantalainen
2011-06-07 18:07 EEST: Bjartur Thorlacius:
 On 6/7/11, Mikko Rantalainen mikko.rantalai...@peda.net wrote:
 Note that the next page button may or may not match with rel=next
 and as such, I think that there should be additional method for
 Elaborate; they both refer to the next resource in a sequence of
 documents. Note that a document may be an element in multiple
 sequences of documents.

See my other reply to this thread.

 If I understand correctly, the feature you want that's not supported
 by rel=next and rel=prev is sending a draft to a server when switching
 forms. Even better than that would be saving a draft for every input
 filled by a user. This draft can be written to a local disk, or stored
 at networked servers for global access, for the user agent to refill
 when the user revisits the form.

Backup of form contest is one thing and I'm already using user agents
that allow this at least via extensions. However, submitting the draft
to the server instead allows additional application specific processing
/ mutation for the form when user later returns to it. For static pages,
there's a less need for features like this.

Also note that currently rel=next is not allowed on input type=submit,
unless I've understood incorrectly.

-- 
Mikko


[whatwg] Support for page transitions

2011-06-07 Thread Mikko Rantalainen
I'm pretty sure that most people on this list have seen page transitions
in Internet Explorer 5.5+
(http://msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx#Interpage_Transition).

I think that web application user experience could be improved if
transitions between pages were supported. However, I'm also pretty sure
that the implementation in IE 5.5+ is not a good one because it gives
too much power to the page author and too little control for the user.

I'll start with a use case: I have a web service/application that has a
wizard for registration. The wizard consists of multiple forms (HTML
pages) that must be filled in a sequence. Each form has Next and
Previous submit buttons. I think that the user experience would
improve if I could attach transitions to these buttons. I'd like to have
slide the next page from right for the Next button and slide the
next page from the left for the Previous button. (If you have seen
Android Phone OS and it's system menus, this is very similar setup - it
slides the next screen from right when selecting a submenu item and it
slides previous screen from the left if one presses back button.
Android also uses zoom in and zoom out to represent opening an
application and returning to the home screen.)

The things I don't want to have in this specification (page author control):

- actual transition animation (slide the next page from the left)
- transition duration
- ability to specify easing for transition movement

Instead there should be a method for defining that submitting a form
with a given button, the UA should use transition to next page.
Hitting another button on the same form should use transition to
previous page and hitting some link should use closing transition.

The transition to use for next page is up to UA and user preferences.
I'd prefer that UA started the animation immediately instead of waiting
that the next page is ready. If the animation were slow, it could
re-render the next page on the fly during the animation as pieces of
next page come ready.

Note that the next page button may or may not match with rel=next
and as such, I think that there should be additional method for
specifying this kind of relation. Perhaps the attribute should be called
transition with possible values such as:

* next (advance to next part of the sequence/drill down the menu system,
possible transition could be sliding the current page towards left and
the next page sliding in view from right)
* prev (go back to previous part/return upwards menu, possible
transition could be reverse of next)
* open (open a document e.g. open a google docs document from the list
of possible documents, possible animation could be zoom to the next page)
* close (close current document e.g. close currently edited document and
return to the list of possible documents, possible animation could be
reverse of open)
* swap (replace the current view with another view with some transition
that gives a hint that the previous view was not destroyed e.g. select
another open google document from some kind of quick menu, perhaps
some kind of 3d animation where page rotates around vertical axis and
another page is behind it)

I think that it would make sense to use next page transition for
rel=next by default, but there's a need to attach next page
transition to interactive elements other than rel=next.

I think that this could be sensible to have in HTML instead of just in
the CSS (or some other method) because it's possible that other software
but just the styling system could use the information about target type
for links and buttons.

This needs to be implemented by the UA because transitions between
different URLs cannot be implemented with JavaScript unlike in-page
transition effects and animations.

-- 
Mikko


Re: [whatwg] Support for page transitions

2011-06-07 Thread Bjartur Thorlacius
On 6/7/11, Mikko Rantalainen mikko.rantalai...@peda.net wrote:
 Note that the next page button may or may not match with rel=next
 and as such, I think that there should be additional method for
Elaborate; they both refer to the next resource in a sequence of
documents. Note that a document may be an element in multiple
sequences of documents.

If I understand correctly, the feature you want that's not supported
by rel=next and rel=prev is sending a draft to a server when switching
forms. Even better than that would be saving a draft for every input
filled by a user. This draft can be written to a local disk, or stored
at networked servers for global access, for the user agent to refill
when the user revisits the form. I think some user agents already
implement the latter, so that leaves bells, whistles and transitions.


Re: [whatwg] Support for page transitions

2011-06-07 Thread Aryeh Gregor
On Tue, Jun 7, 2011 at 7:45 AM, Mikko Rantalainen
mikko.rantalai...@peda.net wrote:
 The things I don't want to have in this specification (page author control):

 - actual transition animation (slide the next page from the left)
 - transition duration
 - ability to specify easing for transition movement

 Instead there should be a method for defining that submitting a form
 with a given button, the UA should use transition to next page.
 Hitting another button on the same form should use transition to
 previous page and hitting some link should use closing transition.

It would make sense for the author to be able to control this too.
You can already do in-page transitions using CSS, and the same syntax
could be reused for page transitions:

http://www.w3.org/TR/css3-transitions/

 Note that the next page button may or may not match with rel=next
 and as such, I think that there should be additional method for
 specifying this kind of relation.

What are cases where it wouldn't match?

 I think that it would make sense to use next page transition for
 rel=next by default, but there's a need to attach next page
 transition to interactive elements other than rel=next.

What need?

 I think that this could be sensible to have in HTML instead of just in
 the CSS (or some other method) because it's possible that other software
 but just the styling system could use the information about target type
 for links and buttons.

Offhand, it seems sensible to reuse rel; let each platform work out
the default transition animation for each link type (perhaps none in
most cases); and allow authors to override the transition animation on
a per-link basis.  Selectors like a[rel~=next] would be useful here
for authors.  On the desktop, you don't usually have this sort of
next-page animation, so it would be weird if pages exhibited that
behavior unless the author specifically requested it.  On Android or
other particular platforms, it might make sense as the default.  But
it definitely makes sense to me to put this in CSS.