Paradigms and metaphors. Development environments: icon-flow, books, time-based concepts. Developing interface graphics, dynamic image loading; color issues (palettes, dithering, models, depth). Animations: frame, path, tweening (motion, shape, color). Navigational scripting, custom buttons, rollovers, menus. Preparing, loading, placing, controlling and scripting audio and video. Further Scripting: Events and Actions; using object/event hierarchies; conditions and loops; Variables; Properties; data validation. Writing functions and handlers; parameters; algorithmic development coordinated with a variety of screen input and output elements. Getting feedback from the user: keyboard and mouse events, string handling, dialogues, drag and drop. Data processing with arrays and files. Creating dynamic content: linking animation to data and user interaction. Scripting and debugging best-practice. Reusability and modularity; object-based scripting. Porting to the Web and other platforms: issues and techniques; optimization and performance. Perception, cognition, and media design. User-centred Design: storyboarding and prototyping; other approaches. Evaluation and Testing. Interaction design.