Students of art, digital media, and multimedia programming are becoming interested in mobile handheld devices as a platform for interactive media. Programmable mobile devices such as the Apple iPhone can be used to host image, audio, and video applications, but can also be used as remote control devices. A handheld device could be used to control an interactive digital art installation, or a presentation running on a computer connected to a projection display. More importantly, perhaps, is the potential of using multiple devices collectively over a network for applications and experiments in communication, collaboration, interaction, and emergent behavior.
Alternative Paragraph: Digital artists and media programmers, not to mention students in CS and Digital media programs, find platforms such the Apple iPhone intriquing as a way of bringing unique content and interconnected installations to the world in non-tradition formats. Such users would benefit from the ability to develop applications for this platform using a non-traditional programming environment that shields the new iPhone developer from details of interacting with Cocoa, Objective-C, and the UIKit while providing a path for the motivated user to approach these industrial-strength frameworks and technologies.
This research will explore two specific aspects of designing applications for mobile devices. First, how is programming for a mobile device different from programming a desktop computer? Can software design methodologies developed for creating desktop applications be used or adapted directly to creating applications for mobile devices? Second, what possibilities in presentation and digital media can be realized when one or more participant can interactively control or create content from their own handheld device? Related to this, how can content designers from the art and digital media world effectively create for these devices without having to become software developers?
The learning goals of this study are: 1) learn how to program mobile handheld devices and how this process differs from programming desktop computers, 2) learn a methodology for designing robust and maintainable program code, and 3) learn techniques for communication between wireless mobile devices and computers on a local network or over the Internet. These goals will be addressed first by our study of the Apple Software Development Kit (SDK), which uses a novel architecture and development language (Objective-C) not normally covered in traditional computer science curricula. We will gain experience programming for mobile platforms by developing an application that turns the device into a remote controller for interactive applications, using an established design methodology. Next, we will evaluate the ability of various digital art installation applications and presentation software packages to be configured for external control via handheld devices (either directly or by making modifications). An example of a system for developing digital media which can be programmed to accept external control information is the Processing system (http://processing.org). Our application will be developed to communicate with this and other packages.
Another important goal is to find ways to bridge the gap between computer scientist and digital media designer, exploring ways for those with little or no programming experience to create content for mobile devices. To this end we will be evaluating existing multimedia development systems that can be targeted to the Apple iPhone and iPod Touch devices, providing an entry point for artists and digital media designers who may find the novel architecture or the Apple SDK a significant obstacle to approaching this platform as a development vehicle.
Roles of the faculty and student researchers
The faculty advisor, Dr. Stephen P. Carl, will guide the student through available resources on learning the Apple SDK. As a registered Apple SDK developer, he will act as liason to Apple, which provides the Apple SDK development environment to anyone without cost but requires student team members to be registered specially as developers. This is because Apple controls the distribution channel for all official applications developed to run on the iPhone or iPod Touch mobile computing devices, even those made available for no charge.
The faculty advisor will also participate in software design and development, provide a host computer and lab space for the student, and interact with other digital media designers on campus in order to evaluate the impact and usefulness of our work to their students and projects.
The student researcher will… _(your turn)_