Document Type


Publication Date



This paper outlines the process of designing a set of interfaces for a programmable digital camera back-end. The set of interfaces includes a traditional, advanced and development interface. The traditional interface is a replication of a typical camera interface which is present on today’s commodity cameras. The advanced interface provides access to the programmable pipeline on the new camera architecture [Lindsay and Agu 2009]. The development interface is a tool that provides the building blocks for assembling new camera pipelines. We discuss the process and design decisions that were used in implementing the camera interfaces. We also describe how user tasks were modeled and the types of interaction the interfaces provide. This paper also explains the implementation details of building the three interfaces, along with an Expert User study to validate our design.