ABSTRACT
Revision control is a vital component of digital project management and has been widely deployed for text files. Binary files, on the other hand, have received relatively less attention. This can be inconvenient for graphics applications that use a significant amount of binary data, such as images, videos, meshes, and animations. Existing strategies such as storing whole files for individual revisions or simple binary deltas could consume significant storage and obscure vital semantic information. We present a nonlinear revision control system for images, designed with the common digital editing and sketching workflows in mind. We use DAG (directed acyclic graph) as the core structure, with DAG nodes representing editing operations and DAG edges the corresponding spatial, temporal and semantic relationships. We visualize our DAG in RevG (revision graph), which provides not only as a meaningful display of the revision history but also an intuitive interface for common revision control operations such as review, replay, diff, addition, branching, merging, and conflict resolving. Beyond revision control, our system also facilitates artistic creation processes in common image editing and digital painting workflows. We have built a prototype system upon GIMP, an open source image editor, and demonstrate its effectiveness through formative user study and comparisons with alternative revision control systems.
Supplemental Material
Available for Download
- Abram, G. D., and Whitted, T. 1990. Building block shaders. In SIGGRAPH '90, 283--288. Google ScholarDigital Library
- Bavoil, L., Callahan, S. P., Scheidegger, C. E., Vo, H. T., Crossno, P. J., Silva, C. T., and Freire, J. 2005. Vistrails: Enabling interactive multiple-view visualizations. In Visualization 2005, 135--142.Google Scholar
- Bonanni, L., Xiao, X., Hockenberry, M., Subramani, P., Ishii, H., Seracini, M., and Schulze, J. 2009. Wetpaint: scraping through multi-layered images. In CHI '09, 571--574. Google ScholarDigital Library
- Convard, T., and Bourdot, P. 2004. History based reactive objects for immersive cad. In SM '04: Symposium on Solid modeling and applications, 291--296. Google ScholarDigital Library
- Cook, S. A. 1971. The complexity of theorem-proving procedures. In STOC '71: Symposium on Theory of computing, 151--158. Google ScholarDigital Library
- Cook, R. L. 1984. Shade trees. In SIGGRAPH '84, 223--231. Google ScholarDigital Library
- Edwards, W. K., and Mynatt, E. D. 1997. Timewarp: techniques for autonomous collaboration. In CHI '97, 218--225. Google ScholarDigital Library
- Edwards, W. K., Igarashi, T., LaMarca, A., and Mynatt, E. D. 2000. A temporal model for multi-level undo and redo. In UIST '00, 31--40. Google ScholarDigital Library
- Estublier, J., Leblang, D., Hoek, A. v. d., Conradi, R., Clemm, G., Tichy, W., and Wiborg-Weber, D. 2005. Impact of software engineering research on the practice of software configuration management. ACM Trans. Softw. Eng. Methodol. 14, 4, 383--430. Google ScholarDigital Library
- Fairchild, K. M., Poltrock, S. E., and Furnas, G. W. 1999. Readings in information visualization. ch. SemNet: three-dimensional graphic representations of large knowledge bases, 190--206. Google ScholarDigital Library
- Gansner, E. R., Koutsofios, E., North, S. C., and Vo, K.-P. 1993. A technique for drawing directed graphs. IEEE Trans. Softw. Eng. 19, 3, 214--230. Google ScholarDigital Library
- Grabler, F., Agrawala, M., Li, W., Dontcheva, M., and Igarashi, T. 2009. Generating photo manipulation tutorials by demonstration. In SIGGRAPH '09, 66:1--9. Google ScholarDigital Library
- Grossman, T., Matejka, J., and Fitzmaurice, G. 2010. Chronicle: capture, exploration, and playback of document workflow histories. In UIST '10, 143--152. Google ScholarDigital Library
- Hartmann, B., Yu, L., Allison, A., Yang, Y., and Klemmer, S. R. 2008. Design as exploration: creating interface alternatives through parallel authoring and runtime tuning. In UIST '08, 91--100. Google ScholarDigital Library
- Heer, J., and Card, S. K. 2004. Doitrees revisited: scalable, space-constrained visualization of hierarchical data. In AVI '04: Proceedings of the working conference on Advanced visual interfaces, 421--424. Google ScholarDigital Library
- Heer, J., Card, S. K., and Landay, J. A. 2005. prefuse: a toolkit for interactive information visualization. In CHI '05, 421--430. Google ScholarDigital Library
- Heer, J., Mackinlay, J., Stolte, C., and Agrawala, M. 2008. Graphical histories for visualization: Supporting analysis, communication, and evaluation. IEEE Transactions on Visualization and Computer Graphics 14, 6, 1189--1196. Google ScholarDigital Library
- Hoppe, H. 1996. Progressive meshes. In SIGGRAPH '96, 99--108. Google ScholarDigital Library
- Hunt, J. J., Vo, K.-P., and Tichy, W. F. 1998. Delta algorithms: an empirical analysis. ACM Trans. Softw. Eng. Methodol. 7, 2, 192--214. Google ScholarDigital Library
- Itti, L., Koch, C., and Niebur, E. 1998. A model of saliency-based visual attention for rapid scene analysis. IEEE Trans. Pattern Anal. Mach. Intell. 20 (November), 1254--1259. Google ScholarDigital Library
- Jackson, D., and Ladd, D. A. 1994. Semantic diff: A tool for summarizing the effects of modifications. In ICSM '94: Proceedings of the International Conference on Software Maintenance, 243--252. Google ScholarDigital Library
- Jacobsen, J., Schlenker, T., and Edwards, L. 2005. Implementing a Digital Asset Management System: For Animation, Computer Games, and Web Development. Focal Press. Google ScholarDigital Library
- Klemmer, S. R., Thomsen, M., Phelps-Goodman, E., Lee, R., and Landay, J. A. 2002. Where do web sites come from?: capturing and interacting with design history. In CHI '02, 1--8. Google ScholarDigital Library
- Kurihara, K., Vronay, D., and Igarashi, T. 2005. Flexible timeline user interface using constraints. In CHI '05, 1581--1584. Google ScholarDigital Library
- Kurlander, D. 1993. Chimera: example-based graphical editing. In Watch what I do: programming by demonstration, 271--290. Google ScholarDigital Library
- Lau, T. 2010. Rethinking the systems review process. Commun. ACM 53 (November), 10--11. Google ScholarDigital Library
- Levoy, M. 1994. Spreadsheets for images. In SIGGRAPH '94, 139--146. Google ScholarDigital Library
- Myers, B. A., McDaniel, R. G., Miller, R. C., Ferrency, A. S., Faulring, A., Kyle, B. D., Mickish, A., Klimovitski, A., and Doane, P. 1997. The amulet environment: New models for effective user interface software development. IEEE Transactions on Software Engineering 23, 347--365. Google ScholarDigital Library
- Nakamura, T., and Igarashi, T. 2008. An application-independent system for visualizing user operation history. In UIST '08, 23--32. Google ScholarDigital Library
- Shneiderman, B. 2007. Creativity support tools: accelerating discovery and innovation. Commun. ACM 50 (December), 20--32. Google ScholarDigital Library
- Su, S. L., Paris, S., Aliaga, F., Scull, C., Johnson, S., and Durand, F. 2009. Interactive visual histories for vector graphics. Tech. Rep. MIT-CSAIL-TR-2009-031, Massachusetts Institute of Technology, Computer Science and Artificial Intelligence Laboratory, June.Google Scholar
- Terry, M., and Mynatt, E. D. 2002. Recognizing creative needs in user interface design. In C&C '02: Proceedings of the 4th conference on Creativity & cognition, 38--44. Google ScholarDigital Library
- Terry, M., Mynatt, E. D., Nakakoji, K., and Yamamoto, Y. 2004. Variation in element and action: supporting simultaneous development of alternative solutions. In CHI '04, 711--718. Google ScholarDigital Library
- Yee, H., Pattanaik, S., and Greenberg, D. P. 2001. Spatiotemporal sensitivity and visual attention for efficient rendering of dynamic environments. ACM Trans. Graph. 20, 1, 39--65. Google ScholarDigital Library
Index Terms
- Nonlinear revision control for images
Recommendations
Nonlinear revision control for images
Revision control is a vital component of digital project management and has been widely deployed for text files. Binary files, on the other hand, have received relatively less attention. This can be inconvenient for graphics applications that use a ...
Open Semantic Revision Control with R43ples: Extending SPARQL to access revisions of Named Graphs
SEMANTiCS 2016: Proceedings of the 12th International Conference on Semantic SystemsThe Semantic Web provides mechanisms to interlink data in a fast and efficient way and build complex information networks. However, one of the most important features missing for industrial application is version control which allows recording changes ...
Parallel belief revision: Revising by sets of formulas
The area of belief revision studies how a rational agent may incorporate new information about a domain into its belief corpus. An agent is characterised by a belief state K, and receives a new item of information @a which is to be included among its ...
Comments