ABSTRACT
The increasing popularity of interactive camera-based programs highlights the inadequacies of conventional IDEs in developing these programs given their distinctive attributes and workflows. We present DejaVu, an IDE enhancement that eases the development of these programs by enabling programmers to visually and continuously monitor program data in consistency with the frame-based pipeline of computer-vision programs; and to easily record, review, and reprocess temporal data to iteratively improve the processing of non-reproducible camera input. DejaVu was positively received by three experienced programmers of interactive camera-based programs in our preliminary user trial.
Supplemental Material
- Balzer, R. (1969). EXDAMS: extensible debugging and monitoring system. Spring joint computer conference, p. 567--580. Google ScholarDigital Library
- Bradski, G. (2000). The OpenCV Library. Dr. Dobb's Journal November 2000, Computer Security.Google Scholar
- Cao, X., Balakrishnan, R. (2003). VisionWand: interaction techniques for large displays using a passive wand tracked in 3D. UIST, p. 173--182. Google ScholarDigital Library
- Cardenas, T., Bastea-Forte, M., Ricciardi, A., Hartmann, B., Klemmer, S. (2008). Testing physical computing prototypes through time-shifted & simulated input traces. UIST adjunct proceedings.Google Scholar
- Diaz-Marino, R., Greenberg, S. (2006). CAMBIENCE: A Video-Driven Sonic Ecology for Media Spaces. Video Proceedings of CSCW.Google Scholar
- Edwards, J. (2005). Subtext: Uncovering the simplicity of programming. OOPSLA, p. 505--518. Google ScholarDigital Library
- Fails, J., Olsen, D. (2003). A design tool for camera-based interaction. CHI, p. 449--456. Google ScholarDigital Library
- Geels, D., Altekar, G., Shenker, S., Stoica, I. (2006). Replay debugging for distributed applications. USENIX, p. 289--300. Google ScholarDigital Library
- Hager, G. D., Toyama, K. (1998). X Vision: A portable substrate for real-time vision applications. Computer Vision and Image Understanding, 69(1), p. 23--37. Google ScholarDigital Library
- Hartmann, B., Abdulla, L., Mittal, M., Klemmer, S. R. (2007). Authoring sensor-based interactions by demonstration with direct manipulation and pattern recognition. CHI, p. 145--154. Google ScholarDigital Library
- Hartmann, B., Klemmer, S. R., Bernstein, M., Abdulla, L., Burr, B., Robinson-Mosher, A., Gee, J. (2006). Reflective physical prototyping through integrated design, test, and analysis. UIST, p. 299--308. Google ScholarDigital Library
- Hartmann, B., Yu, L., Allison, A., Yang, Y., Klemmer, S. R. (2008). Design as exploration: creating interface alternatives through parallel authoring and runtime tuning. UIST, p. 91--100. Google ScholarDigital Library
- Klemmer, S. R., Li, J., Lin, J., Landay, J. A. (2004). Papier-Mache: toolkit support for tangible input. CHI, p. 399--406. Google ScholarDigital Library
- Landay, J. and Myers, B. (1995). Interactive sketching for the early stages of user interface design. CHI, p. 43--50. Google ScholarDigital Library
- Maynes-Aminzade, D., Pausch, R., Seitz, S. (2002). Techniques for interactive audience participation. ICMI, p. 15--20. Google ScholarDigital Library
- Maynes-Aminzade, D., Winograd, T., Igarashi, T. (2007). Eyepatch: Prototyping Camera-based Interaction Through Examples. UIST, p. 33--42. Google ScholarDigital Library
- Max/MSP. Cycling '74. http://cycling74.com/products/maxmspGoogle Scholar
- McDirmid, S. (2007). Living it up with a live programming language. OOPSLA, p. 623--638. Google ScholarDigital Library
- Microsoft Visual Studio Visualizers. http://msdn.microsoft.com/en-us/library/zayyhzts.aspxGoogle Scholar
- Moher, T. G. (1988). PROVIDE: a process visualization and debugging environment. IEEE Transactions on Software Engineering, 14(6), p. 849--857. Google ScholarDigital Library
- Newman, M. W., Ackerman, M. S., Kim, J., Prakash, A., Hong, Z., Mandel, J., Dong, T. (2010). Bringing the field into the lab: supporting capture and replay of contextual data for the design of context-aware applications. UIST, p. 105--108. Google ScholarDigital Library
- Norman, D. A., Draper, S. W. (1986). User centered system design; new perspectives on human-computer interaction. L. Erlbaum Assoc. Inc. Google ScholarDigital Library
- Patel, K., Bancroft, N., Drucker, S. M., Fogarty, J., Ko, A. J., Landay, J. (2010). Gestalt: integrated support for implementation and analysis in machine learning. UIST, p. 37--46. Google ScholarDigital Library
- Pothier, G., Tanter, E., Piquer, J. (2007). Scalable omniscient debugging. SIGPLAN, p. 535--552. Google ScholarDigital Library
- Segen, J., Kumar, S. (1998). Gesture VR: Vision-based 3D hand interface for spatial interaction. Multimedia. p. 455--464. Google ScholarDigital Library
- SharpDevelop. http://www.icsharpcode.net/opensource/sd/Google Scholar
- Visan, A., Arya, K., Cooperman, G., Denniston, T. (2011). URDB: a universal reversible debugger based on decomposing debugging histories. PLOS, p. 1--5. Google ScholarDigital Library
- Wang, S., Xiong, X., Xu, Y., Wang, C., Zhang, W., Dai, X., Zhang, D. (2006). Face-tracking as an augmented input in video games: enhancing presence, role-playing and control. CHI, p. 1097--1106. Google ScholarDigital Library
- Wilson, A. D. (2005). PlayAnywhere: a compact interactive tabletop projection-vision system. UIST, p. 83--92. Google ScholarDigital Library
- Zeller, A., Lütkehaus, D. (1996). DDD - a free graphical front-end for UNIX debuggers. SIGPLAN Notices, 31(1), p. 22--27. Google ScholarDigital Library
Index Terms
- DejaVu: integrated support for developing interactive camera-based programs
Recommendations
DejaVu: deterministic Java replay debugger for Jalapeño Java virtual machine
OOPSLA '00: Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)The execution behavior of a Java application can be non-deterministic due to multithreading. This non-determinism makes understanding and debugging multithreaded Java applications a difficult and laborious process. DejaVu (Deterministic Java Replay ...
Degree-of-knowledge: Modeling a developer's knowledge of code
As a software system evolves, the system's codebase constantly changes, making it difficult for developers to answer such questions as who is knowledgeable about particular parts of the code or who needs to know about changes made. In this article, we ...
DejaVu: visual diffing of cyber physical systems
BuildSys '17: Proceedings of the 4th ACM International Conference on Systems for Energy-Efficient Built EnvironmentsIn this abstract we present DejaVu, a 3D virtual world co-simulator for 'visual diffing' of cyber-physical system deployments in indoor and outdoor environments. Using faster-than-real-time simulation and efficient recording DejaVu can record days of ...
Comments