Surely you mean Sydney :)

2009/11/11 Randinn <rand...@gmail.com>

>
> Its sounds like your presentation went well, congrats. now we need to
> talk you into a Melbourne trip. :)
>
> On Nov 11, 5:15 am, David Pollak <feeder.of.the.be...@gmail.com>
> wrote:
> > On Tue, Nov 10, 2009 at 9:52 AM, Peter Robinett <pe...@bubblefoundry.com
> >wrote:
> >
> >
> >
> >
> >
> > > Hi David,
> >
> > > Thanks for presenting your latest work on Wizard last night at the Bay
> > > Area Scala Enthusiasts meetup. I enjoyed hearing about Wizard and have
> > > a few comments that I wanted to share with you and the rest of the
> > > Lift community. I know Wizard is very new and I'm only going by what I
> > > learned last night, so please bear with me if I misunderstood
> > > anything!
> >
> > > As I understand it a Wizard instance is composed of screens
> > > ('questions'? I forget the exact terminology), each of which can have
> > > multiple inputs, each input having a prompt ('Name', 'Your mother or
> > > father's name', etc) and multiple validation rules. User input is
> > > saved each time the user hits the Submit (or Next, in your example)
> > > button. User state is stored from screen to screen and can be rolled
> > > backwards but not forward. This is analogous to checking out an older
> > > revision in a version control system, with each submitted screen being
> > > a revision, but then loosing all revisions since the checkout
> > > (rebasing the HEAD I believe it's called in Git).
> >
> > > What I expected, and what I think many other people would expect, is
> > > that going back and forward among screens does not change the Wizard
> > > state but simply changes what portion of the questions and responses
> > > the user sees. In this case each screen is a simple, reduced view of
> > > the current state, rather than a state in itself.
> >
> > > To use an analogy, think of a Wizard instance as an (annoying)
> > > adventure game and each screen as a dungeon room. Let's say I fight my
> > > way through several rooms full of grues, only to reach a locked door.
> > > I'm told that the switch to unlock the door is 2 rooms back. I go back
> > > (ie the previous screen method is fired twice) and I throw the switch.
> > > Unfortunately, Wizard has also rolled back the dungeon state two
> > > revisions and the intermediate room and room with the door now have
> > > fearsome grues in them again! (In fact, I think Wizard could be used
> > > quite easily for adventure games like that. Cool! I'm reminded of my
> > > time making games in HyperCard. =)
> >
> > > To give another example, let's say I have a Wizard representing an e-
> > > commerce site and have the following screens: shopping cart -> name
> > > and shipping address -> credit card and billing address ->
> > > confirmation. If I get to the confirmation screen and see that I added
> > > 2 Widgets and only want to buy 1, I want to be able to go back to the
> > > shopping cart screen to make my change without losing the addresses
> > > and payment details I entered in the intermediate screens.
> >
> > > Am I describing Wizard correctly, and if so, why did you chose the
> > > first method of operation over the second? Can the second mode be
> > > added?
> >
> > Not easily.  Snapshotting at a point in time and rolling back to that
> point
> > is easy with immutability.  Merging different branches of a given
> snapshot
> > is non-trivial and is not likely a feature that will make it into Wizard
> in
> > the near term.  Put another way, 3 way merges on text is non-trivial.  3
> way
> > merges on non-text is not a solved problem that I know of.  Further, once
> > you merge text in Git, you have the compiler test to make sure that code
> > makes sense, but doing logic testing would be difficult during a merge
> > phase.
> >
> >
> >
> > > Thanks for all the great work and I'm really looking forward to using
> > > Wizard!
> >
> > > Peter Robinett
> >
> > --
> > Lift, the simply functional web frameworkhttp://liftweb.net
> > Beginning Scalahttp://www.apress.com/book/view/1430219890
> > Follow me:http://twitter.com/dpp
> > Surf the harmonics
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to