e Learning Producer 2006 DataDriven Wizardry Uses of

  • Slides: 22
Download presentation
e. Learning Producer 2006 Data-Driven Wizardry: Uses of Dynamic Data in Authorware Presented by

e. Learning Producer 2006 Data-Driven Wizardry: Uses of Dynamic Data in Authorware Presented by Mark Steiner mark steiner, inc. e. Learning Producer Conference 2006 Boston, MA http: //www. marksteinerinc. com

e. Learning Producer 2006 Agenda • • • Introductions A Quick Example Why Data-Driven?

e. Learning Producer 2006 Agenda • • • Introductions A Quick Example Why Data-Driven? General Constructs and Guidelines Designing the Data Structure Designing and Developing the Engine Designing and Developing the Wizard Examples Questions and Answers http: //www. marksteinerinc. com

e. Learning Producer 2006 Some Stuff About Me • BS Industrial Tech. ‘ 88

e. Learning Producer 2006 Some Stuff About Me • BS Industrial Tech. ‘ 88 • MS Instructional Design ‘ 92 • 15+ years e. Learning & interactive media dev. experience • Dozens of projects from 2 min. to 33 hours in runtime • Authorware 2. 0, ‘ 93 • Presenter - e. Learning Confs. US & Europe • Started mark steiner, inc. in March 2001 http: //www. marksteinerinc. com

e. Learning Producer 2006 Some Questions About You • Project Manager/ID/Developer mix? • Tool

e. Learning Producer 2006 Some Questions About You • Project Manager/ID/Developer mix? • Tool use: Authorware, Flash, Director, Dreamweaver, Toolbook, other? • How many have built data-driven apps? • Data structure / database experience level? • What do you expect to learn? http: //www. marksteinerinc. com

e. Learning Producer 2006 A Quick Example • SBC (now at&t) Sales Information Guide

e. Learning Producer 2006 A Quick Example • SBC (now at&t) Sales Information Guide http: //www. marksteinerinc. com

e. Learning Producer 2006 Why Data Driven? • Oddly enough, computers are really good

e. Learning Producer 2006 Why Data Driven? • Oddly enough, computers are really good at computing, so why not leverage that valuable ability? • Your client and the economy DEMAND it • Extend the functionality, usefulness, life, and value of your application • Ease of updating content http: //www. marksteinerinc. com

e. Learning Producer 2006 Many Ways to Go. . . • Most problems have

e. Learning Producer 2006 Many Ways to Go. . . • Most problems have either many answers or no answer. Only a few problems have a single answer. – Edmund C. Berkeley http: //www. marksteinerinc. com

e. Learning Producer 2006 General Constructs and Guidelines • First, your mindset must embrace

e. Learning Producer 2006 General Constructs and Guidelines • First, your mindset must embrace all things self-defining, relative paths and structures, lists, data structures. • Specify your application’s requirements before authoring. • Define the line that separates the dynamic from the static, weighing the costs of over -building a dynamic app and underbuilding a static app. Apply a simple cost -benefit analysis. • Utilize an engine and wizard approach. http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Data Structure • Start with paper and/or a

e. Learning Producer 2006 Designing the Data Structure • Start with paper and/or a white board first, prior to authoring. • What is your app going to do? What problem are you trying to solve? • What structures and media types will be dynamically supported? • What do the structures look like? • What is the relationship(s) between various data sets? http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Data Structure (Continued) • Flat data files or

e. Learning Producer 2006 Designing the Data Structure (Continued) • Flat data files or database? What are the criteria? • Over the web? • Any cross-platform issues? • Lots of sorting / relationships? • What is the size of the user base / enterprise? • What is the criticality of application? • What is the complexity of the data structure? • Does data already exist somewhere else? • What is the depth of database knowledge on your team? http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Engine • Again, though from purely an application

e. Learning Producer 2006 Designing the Engine • Again, though from purely an application standpoint: what is your app going to do? • Map it out first on paper or a whiteboard first. • Define global initializations / data reading and writing. • Define local / incremental initializations and data reading / writing. • Define and order the mechanics and transactions that the engine needs to process. http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Engine (Continued) • Data and media: What info

e. Learning Producer 2006 Designing the Engine (Continued) • Data and media: What info will your data (related to media) store, and when and how will you display corresponding media elements? • Consider any cross-platform issues. • Consider any web issues. – Data – Media – Firewalls http: //www. marksteinerinc. com

e. Learning Producer 2006 Time to Develop. . . • Plans are only good

e. Learning Producer 2006 Time to Develop. . . • Plans are only good intentions unless they immediately degenerate into hard work. – Peter Drucker http: //www. marksteinerinc. com

e. Learning Producer 2006 Developing the Engine • Employ Rapid Prototyping techniques. • Create

e. Learning Producer 2006 Developing the Engine • Employ Rapid Prototyping techniques. • Create a dummy data file with sample data. Mock up portions of the functionality and / or data. • Depending on the complexity of the engine, you may want to develop pieces at a time. • Implement global initializations / data reading and writing. • Is entire engine in one part of your code? Or, are the several subroutines? http: //www. marksteinerinc. com

e. Learning Producer 2006 Developing the Engine (Continued) • Implement local / incremental initializations

e. Learning Producer 2006 Developing the Engine (Continued) • Implement local / incremental initializations / data reading and writing. • Implement each mechanism / transaction. Are they in the correct order? If they are related, ensure that all relationships and links are addressed and functioning. • Again, if the engine is complex, break development into logical, manageable chunks. • Test individual components, then start assembling and testing multiple pieces and finally, everything. http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Wizard • How sturdy are you going to

e. Learning Producer 2006 Designing the Wizard • How sturdy are you going to build it? – – What defaults will you specify? What if the user makes no selections? What things will “break” it? If you choose to allow some “brokenness”, what are the consequences? – What error detection and corresponding error messages are needed? – Ensure that both “New” and “Edit” function equally well. http: //www. marksteinerinc. com

e. Learning Producer 2006 Designing the Wizard (Continued) • Follow the design you’ve already

e. Learning Producer 2006 Designing the Wizard (Continued) • Follow the design you’ve already established for the engine. • What data do you need to gather from the user? • What are your interface requirements? • Is your layout easy to understand user friendly? • How does the user navigate? • Can / should they be able to skip steps? • When do you save / write the data? • Can the user revert? http: //www. marksteinerinc. com

e. Learning Producer 2006 Developing the Wizard • Employ Rapid Prototyping techniques. • Follow

e. Learning Producer 2006 Developing the Wizard • Employ Rapid Prototyping techniques. • Follow the lead of the already defined needs of your application. • Ensure that everything you want to manipulate can be successfully manipulated. • Develop chunks of functionality at a time. http: //www. marksteinerinc. com

e. Learning Producer 2006 Developing the Wizard • As with any development, be aware

e. Learning Producer 2006 Developing the Wizard • As with any development, be aware of various dependencies within your code. • Start assembling and connecting chunks of functionality. • Let plenty of users test functionality for usability and bugs. • Make it functional first, pretty later. http: //www. marksteinerinc. com

e. Learning Producer 2006 Two Cents on Designing for Clients • If you are

e. Learning Producer 2006 Two Cents on Designing for Clients • If you are going to design for yourself, then you have to make sure you design deeply for yourself. Otherwise you are just designing for your eccentricities, and that can never be satisfying to anyone else. – Charles Eames http: //www. marksteinerinc. com

e. Learning Producer 2006 Examples • Walgreens XML Engine • SBC Online Assessment Tool

e. Learning Producer 2006 Examples • Walgreens XML Engine • SBC Online Assessment Tool • Green Screen (mainframe) Simulation Wizard and Engine • Power. Presenter Presentation Tool. Wizard and Playback Engine • Orius Multimedia CD-ROM and Database Wizard http: //www. marksteinerinc. com

e. Learning Producer 2006 Questions and Answers http: //www. marksteinerinc. com

e. Learning Producer 2006 Questions and Answers http: //www. marksteinerinc. com