Amey is an experienced Objective-C and Java programmer. He has recently ventured into the wonderful world of web programming. He has an educational background in engineering and science. He is interested in software development, user experience design and solving scientific problems with technology.
Telling interactive rich media stories in the browser
Time: TBD | Room: E-130
The SWIK platform was born out of a simple idea - tell a great story, don't worry about the technology. Its goal is to let content creators make media rich interactive narratives, without the need to code. SWIK consists of an authoring tool for creating content and readers on different platforms for consuming that content. The authoring tool makes it easy for users to visually create compelling and complex stories, while the reader lets them enjoy these stories on any device.
The purpose of this presentation is to elaborate on the creation of a browser based reader for consuming SWIK content, the challenges faced in the process and the lessons learned along the way. The presentation is structured around the three core properties of SWIK content: we are telling a story, which is interactive and media rich.
1) Stories: A story is made up of multiple threads which may be executed linearly (by stepping forward and stepping back) or non-linearly (by jumping). Each thread consists of a number of screens which in turn are made up of several layers. This hierarchy leads to a fairly complex data model. This section will detail how this model was implemented using BackboneJS.
2) Interactive: SWIK was originally built for consuming content on iOS. Thus, it has support for rich animations and multi-touch gestures. This led to the unique problem of translating touch based gestures and animations into the mouse pointer realm for desktop browsers. This section will highlight the implementation of interactivity using HammerJS (for multi-touch gestures) and Greensock (for animation).
3) Media: SWIK supports images, audio & video. A requirement that was particularly challenging here was support for multiplexed media viz. more then one video playing at a time or a video playing in addition to background audio. This section focuses on the implementation of rich media support using HTML5.