skip to main content
10.1145/3379337.3415824acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
research-article

FlowMatic: An Immersive Authoring Tool for Creating Interactive Scenes in Virtual Reality

Published:20 October 2020Publication History

ABSTRACT

Immersive authoring is a paradigm that makes Virtual Reality (VR) application development easier by allowing programmers to create VR content while immersed in the virtual environment. In this paradigm, programmers manipulate programming primitives through direct manipulation and get immediate feedback on their program's state and output. However, existing immersive authoring tools have a low ceiling; their programming primitives are intuitive but can only express a limited set of static relationships between elements in a scene. In this paper, we introduce FlowMatic, an immersive authoring tool that raises the ceiling of expressiveness by allowing programmers to specify reactive behaviors---behaviors that react to discrete events such as user actions, system timers, or collisions. FlowMatic also introduces primitives for programmatically creating and destroying new objects, for abstracting and re-using functionality, and for importing 3D models. Importantly, FlowMatic uses novel visual representations to allow these primitives to be represented directly in VR. We also describe the results of a user study that illustrates the usability advantages of FlowMatic relative to a 2D authoring tool and we demonstrate its expressiveness through several example applications that would be impossible to implement with existing immersive authoring tools. By combining a visual program representation with expressive programming primitives and a natural User Interface (UI) for authoring programs, FlowMatic shows how programmers can build fully interactive virtual experiences with immersive authoring.

Skip Supplemental Material Section

Supplemental Material

ufp2615pv.mp4

Preview video

mp4

44.5 MB

ufp2615vf.mp4

mp4

240.1 MB

3379337.3415824.mp4

Presentation Video

mp4

32.7 MB

References

  1. Cycling '74. 2018. Max 8. (2018). https://cycling74.com/products/max/Google ScholarGoogle Scholar
  2. A-FRAME. 2015. A-FRAME. (2015). https://aframe.io/Google ScholarGoogle Scholar
  3. Rahul Arora, Rubaiat Habib Kazi, Danny M Kaufman, Wilmot Li, and Karan Singh. 2019. MagicalHands: Mid-Air Hand Gestures for Animating in VR. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology. 463--477.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Engineer Bainomugisha, Andoni Lombide Carreton, Tom van Cutsem, Stijn Mostinckx, and Wolfgang de Meuter. 2013. A survey on reactive programming. ACM Computing Surveys (CSUR) 45, 4 (2013), 52.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Don Brutzman and Leonard Daly. 2010. X3D: extensible 3D graphics for Web authors. Elsevier.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jeff Butterworth. 1992. 3DM: a three-dimensional modeler using a head-mounted display. (1992).Google ScholarGoogle Scholar
  7. Ricardo Cabello. 2010. three.js. (2010). https://threejs.org/Google ScholarGoogle Scholar
  8. Rikk Carey and Gavin Bell. 1997. The annotated VRML 2.0 reference manual. Number BOOK. Addison-Wesley.Google ScholarGoogle Scholar
  9. Evan Czaplicki and Stephen N Chong. 2013. Asynchronous functional reactive programming for GUIs. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation-PLDI'13. ACM Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Conal Elliott and Paul Hudak. 1997. Functional reactive animation. In ACM SIGPLAN Notices, Vol. 32. ACM, 263--273.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Carmine Elvezio, Mengu Sukan, and Steven Feiner. 2018. Mercury: A messaging framework for modular ui components. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. ACM, 588.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Barrett Ens, Fraser Anderson, Tovi Grossman, Michelle Annett, Pourang Irani, and George Fitzmaurice. 2017. Ivy: Exploring spatially situated visual programming for authoring and understanding intelligent environments. In Proceedings of the 43rd Graphics Interface Conference. Canadian Human-Computer Communications Society, 156--162.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Google. 2016. Google Tilt Brush. (2016). https://www.tiltbrush.com/Google ScholarGoogle Scholar
  14. Daniel D Hils. 1991. Datavis: a visual programming language for scientific visualization. In Proceedings of the 19th annual conference on Computer Science. ACM, 439--448.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. National Instruments. 2017. LabVIEW. (2017). http://www.ni.com/labview/Google ScholarGoogle Scholar
  16. Bret Jackson and Daniel F Keefe. 2016. Lift-off: Using reference imagery and freehand sketching to create 3d models in vr. IEEE transactions on visualization and computer graphics 22, 4 (2016), 1442--1451.Google ScholarGoogle Scholar
  17. Annie Kelly, R Benjamin Shapiro, Jonathan de Halleux, and Thomas Ball. 2018. ARcadia: A rapid prototyping platform for real-time tangible interfaces. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. ACM, 409.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Takayuki Dan Kimura, Julie W Choi, and Jane M Mack. 1986. A visual language for keyboardless programming. (1986).Google ScholarGoogle Scholar
  19. David Lau-Kee, Adam Billyard, Robin Faichney, Yasuo Kozato, Paul Otto, Mark Smith, and Ian Wilkinson. 1991. VPL: an active, declarative visual programming system. In Proceedings 1991 IEEE Workshop on Visual Languages. IEEE, 40--46.Google ScholarGoogle ScholarCross RefCross Ref
  20. David Ledo, Steven Houben, Jo Vermeulen, Nicolai Marquardt, Lora Oehlberg, and Saul Greenberg. 2018. Evaluation strategies for HCI toolkit research. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. 1--17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Gun A Lee and Gerard J Kim. 2009. Immersive authoring of Tangible Augmented Reality content: A user study. Journal of Visual Languages & Computing 20, 2 (2009), 61--79.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gun A Lee, Gerard J Kim, and Mark Billinghurst. 2005. Immersive authoring: What you experience is what you get (wyxiwyg). Commun. ACM 48, 7 (2005), 76--81.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Gun A Lee, Claudia Nelles, Mark Billinghurst, and Gerard Jounghyun Kim. 2004. Immersive authoring of tangible augmented reality applications. In Proceedings of the 3rd IEEE/ACM international Symposium on Mixed and Augmented Reality. IEEE Computer Society, 172--181.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Microsoft. 2018. Microsoft Maquette. (2018). https://www.maquette.ms/Google ScholarGoogle Scholar
  25. Mark Mine. 1995. ISAAC: A virtual environment tool for the interactive construction of virtual worlds. UNC Chapel Hill Computer Science Technical Report TR95-020 (1995).Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Mark Mine, Arun Yoganandan, and Dane Coffey. 2014. Making VR work: building a real-world immersive modeling application in the virtual world. In Proceedings of the 2nd ACM symposium on Spatial user interaction. ACM, 80--89.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Mozilla. 2018. Mozilla Hubs. (2018). https://hubs.mozilla.com/Google ScholarGoogle Scholar
  28. Marc A Najork and Eric Golin. 1990. Enhancing Show-and-Tell with a polymorphic type system and higher-order functions. In Proceedings of the 1990 IEEE Workshop on Visual Languages. IEEE, 215--220.Google ScholarGoogle ScholarCross RefCross Ref
  29. Michael Nebeling and Katy Madier. 2019. 360proto: Making Interactive Virtual Reality & Augmented Reality Prototypes from Paper. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. ACM, 596.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Michael Nebeling, Janet Nebeling, Ao Yu, and Rob Rumble. 2018. Protoar: Rapid physical-digital prototyping of mobile augmented reality applications. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems. ACM, 353.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Oculus. 2016. Oculus Medium. (2016). https://www.oculus.com/medium/Google ScholarGoogle Scholar
  32. Randy Pausch, Tommy Burnette, AC Capeheart, Matthew Conway, Dennis Cosgrove, Rob DeLine, Jim Durbin, Rich Gossweiler, Shuichi Koga, and Jeff White. 1995. Alice: Rapid prototyping system for virtual reality. IEEE Computer Graphics and Applications 15, 3 (1995), 8--11.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Thammathip Piumsomboon, Gun A Lee, Jonathon D Hart, Barrett Ens, Robert W Lindeman, Bruce H Thomas, and Mark Billinghurst. 2018. Mini-me: An adaptive avatar for mixed reality remote collaboration. In Proceedings of the 2018 CHI conference on human factors in computing systems. 1--13.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Kevin Ponto, Ross Tredinnick, Aaron Bartholomew, Carrie Roy, Dan Szafir, Daniel Greenheck, and Joe Kohlmann. 2013. SculptUp: A rapid, immersive 3D modeling environment. In 2013 IEEE Symposium on 3D User Interfaces (3DUI). IEEE, 199--200.Google ScholarGoogle ScholarCross RefCross Ref
  35. RxJS. 2015. RxJS. (2015). https://rxjs-dev.firebaseapp.com/Google ScholarGoogle Scholar
  36. Nazmus Saquib, Rubaiat Habib Kazi, Li-Yi Wei, and Wilmot Li. 2019. Interactive Body-Driven Graphics for Augmented Video Performance. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. ACM, 622.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Arvind Satyanarayan, Ryan Russell, Jane Hoffswell, and Jeffrey Heer. 2015. Reactive vega: A streaming dataflow architecture for declarative interactive visualization. IEEE transactions on visualization and computer graphics 22, 1 (2015), 659--668.Google ScholarGoogle Scholar
  38. Udo Schultheis, Jason Jerald, Fernando Toledo, Arun Yoganandan, and Paul Mlyniec. 2012. Comparison of a two-handed interface to a wand interface and a mouse interface for fundamental 3D tasks. In 2012 IEEE Symposium on 3D User Interfaces (3DUI). IEEE, 117--124.Google ScholarGoogle ScholarCross RefCross Ref
  39. Tiago Boldt Sousa. 2012. Dataflow programming concept, languages and applications. In Doctoral Symposium on Informatics Engineering, Vol. 130.Google ScholarGoogle Scholar
  40. Anthony Steed and Mel Slater. 1996. A dataflow representation for defining behaviours within virtual environments. In Proceedings of the IEEE 1996 Virtual Reality Annual International Symposium. IEEE, 163--167.Google ScholarGoogle ScholarCross RefCross Ref
  41. William Robert Sutherland. 1966. The on-line graphical specification of computer procedures. Ph.D. Dissertation. Massachusetts Institute of Technology.Google ScholarGoogle Scholar
  42. Steven L Tanimoto. 2013. A perspective on the evolution of live programming. In Proceedings of the 1st International Workshop on Live Programming. IEEE Press, 31--34.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Balasaravanan Thoravi Kumaravel, Fraser Anderson, George Fitzmaurice, Bjoern Hartmann, and Tovi Grossman. 2019. Loki: Facilitating Remote Instruction of Physical Tasks Using Bi-Directional Mixed-Reality Telepresence. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology. 161--174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Unity. 2005. Unity. (2005). https://unity.com/Google ScholarGoogle Scholar
  45. Unreal. 2020a. Unreal Blueprints. (2020). https://docs.unrealengine.com/Engine/Blueprints/Google ScholarGoogle Scholar
  46. Unreal. 2020b. Unreal Engine 5. (2020). https://www.unrealengine.com/Google ScholarGoogle Scholar
  47. Valve. 2020. Half-Life: Alyx. (2020). https://www.half-life.com/en/alyx/Google ScholarGoogle Scholar
  48. The Verge. 2018. Microsoft is bringing the SharePoint work environment to virtual reality headsets. (2018). https://www.theverge.com/2018/5/21/17376422/microsoft-sharepoint-spaces-mixed-reality-virtual-reality-featuresGoogle ScholarGoogle Scholar
  49. Neos VR. 2018. LogiX. (2018). https://neosvr.com/Google ScholarGoogle Scholar
  50. Zhanyong Wan, Walid Taha, and Paul Hudak. 2002. Event-driven FRP. In International Symposium on Practical Aspects of Declarative Languages. Springer, 155--172.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Baltasar Trancón y Widemann and Markus Lepper. 2014. Foundations of Total Functional Data-Flow Programming.. In MSFP. 143--167.Google ScholarGoogle Scholar
  52. Lei Zhang and Steve Oney. 2019. Studying the Benefits and Challenges of Immersive Dataflow Programming. In 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 39--47.Google ScholarGoogle Scholar

Index Terms

  1. FlowMatic: An Immersive Authoring Tool for Creating Interactive Scenes in Virtual Reality

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          UIST '20: Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology
          October 2020
          1297 pages
          ISBN:9781450375146
          DOI:10.1145/3379337

          Copyright © 2020 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 20 October 2020

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate842of3,967submissions,21%

          Upcoming Conference

          UIST '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader