Changes between Initial Version and Version 1 of INTERACTIVITY_COMMONS_R0


Ignore:
Timestamp:
02/03/09 04:23:12 (16 years ago)
Author:
sriggins
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • INTERACTIVITY_COMMONS_R0

    v1 v1  
     1[[BackLinksMenu]] 
     2 
     3[[TicketQuery(summary=INTERACTIVITY_COMMONS_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]] 
     4 
     5= Analysis = 
     6 
     7== Overview == 
     8 
     9Interactivity is defined as how a user interacts with the book.  They may click a button that hides a field, or starts a timeline.  They may show three images, then change the page. 
     10 
     11These state changes are not permanent to the book.  They can be considered changes to the state of the book for this particular user's session.  Thus, we'll need to track these changes separately from authoring changes and more importantly, from changes that would affect the saved state of the book.  While the author won't allow saving the book, we don't want to rely on that side-effect mechanism to handle this use-case. 
     12 
     13You should look at the change system being put into place in PRO_LIB and determine how we can use that for temporary changes caused by the user interacting with the book.  For example, there might be a separate change manager that is not part of the undo stack, or maybe later we'll deem it should be.  But this change list would not be looked at by Author to determine if the book is indeed changed, in fact, it wouldn't even see these changes, as they would be kept on a completely different list. 
     14 
     15In author, when a scene is rendered, it uses the book structure.  When in the Reader Mode (or reader itself) it also applies changes from this second, user created change list.  Switching between author and reader clears this change manager.   
     16 
     17The interactions for objects include, but are not limited to: 
     18 
     19 * Hiding the target's frame 
     20 * Showing the target's frame 
     21 * toggling the visibility of the target's frame 
     22 * Starting a media object (movie, audio, timeline) 
     23 * Stopping a media object 
     24 * Change a frames zed order 
     25 * reset the page (throw away changes for any object on this page) 
     26  
     27This would be a good start.  The user should be able to create an action/script that when executed, changes these states of the target objects.  They should then be able to trigger these actions upon: 
     28 
     29 * mouse down 
     30 * mouse up 
     31 * mouse enter 
     32 * mouse leave 
     33 * mouse over 
     34 * page displayed 
     35 
     36Mouse over is an interesting one.  If we can mark the temporal change manager when the mouse enters a frame, ie before any actions are executed, then when the mouse LEAVES the frame, we can simply revert to that marked spot on the list.  This would make it super simple for the author to generate something that showed 5 frames around the targeted frame, for example, and when the mouse left the targeted frame, they would all hide again. 
     37 
     38 
     39== Task requirements == 
     40 
     41 * Make sure the change manager allows us to keep a separate set of changes to objects in the book 
     42 * Determine how we can utilize this second change manager to temporally change objects in the book 
     43 * Create a module for actions 
     44   * an action is an association of target/action, such as hide that frame 
     45   * Then create an Action List which is a list of actions 
     46   * Create a Trigger which maps a trigger object, the trigger itself (mouse up) and the action list 
     47 
     48== Task result == 
     49 
     50The result of this task is code 
     51 
     52== Implementation idea == 
     53^(Provide some rough implementation idea(s).)^ 
     54 
     55== Related == 
     56 
     57 * [wiki:PRO_CHANGE_UNDO_MANAGER_R0] 
     58 * [wiki:PRO_CHANGE_INFOS_R0] 
     59 * [wiki:PRO_CHANGE_COMMONS_R0] 
     60 
     61== How to demo == 
     62 
     63 *  
     64 
     65= Design = 
     66^(Describe your design here.)^ 
     67 
     68= Implementation = 
     69^(Describe and link the implementation results here (from the wiki or the repository).)^ 
     70 
     71= Testing = 
     72^(Place the testing results here.)^ 
     73 
     74= Comments = 
     75^(Write comments for this or later revisions here.)