POPO /atlas/ en POPO lets novices program from inside their VR surroundings /atlas/2021/11/09/popo-lets-novices-program-inside-their-vr-surroundings <span>POPO lets novices program from inside their VR surroundings</span> <span><span>Anonymous (not verified)</span></span> <span><time datetime="2021-11-09T10:04:30-07:00" title="Tuesday, November 9, 2021 - 10:04">Tue, 11/09/2021 - 10:04</time> </span> <div> <div class="imageMediaStyle focal_image_wide"> <img loading="lazy" src="/atlas/sites/default/files/styles/focal_image_wide/public/article-thumbnail/popo.jpeg?h=a9414122&amp;itok=AybLkjxh" width="1200" height="800" alt="Animated view of a castle with trees around it, as well as showing where variables are chosen in the VR world of Popo."> </div> </div> <div role="contentinfo" class="container ucb-article-categories" itemprop="about"> <span class="visually-hidden">Categories:</span> <div class="ucb-article-category-icon" aria-hidden="true"> <i class="fa-solid fa-folder-open"></i> </div> <a href="/atlas/taxonomy/term/144"> News </a> </div> <div role="contentinfo" class="container ucb-article-tags" itemprop="keywords"> <span class="visually-hidden">Tags:</span> <div class="ucb-article-tag-icon" aria-hidden="true"> <i class="fa-solid fa-tags"></i> </div> <a href="/atlas/taxonomy/term/396" hreflang="en">ACME</a> <a href="/atlas/taxonomy/term/1383" hreflang="en">POPO</a> <a href="/atlas/taxonomy/term/390" hreflang="en">do</a> <a href="/atlas/taxonomy/term/168" hreflang="en">feature</a> <a href="/atlas/taxonomy/term/392" hreflang="en">leithinger</a> <a href="/atlas/taxonomy/term/34" hreflang="en">news</a> <a href="/atlas/taxonomy/term/773" hreflang="en">research</a> <a href="/atlas/taxonomy/term/1231" hreflang="en">uhr</a> </div> <div class="ucb-article-content ucb-striped-content"> <div class="container"> <div class="paragraph paragraph--type--article-content paragraph--view-mode--default 3"> <div class="ucb-article-text" itemprop="articleBody"> <div><p> </p><div class="imageMediaStyle medium_750px_50_display_size_"> <img loading="lazy" src="/atlas/sites/default/files/styles/medium_750px_50_display_size_/public/article-image/popo2.jpeg?itok=OvBY3JeA" width="750" height="282" alt="Animated view of a castle with trees around it, as well as showing where variables are chosen in the VR world of Popo"> </div> <p>Creating a virtual reality environment typically requires those creating the environment to be well-versed in coding.</p><p><a href="/atlas/julia-uhr" rel="nofollow">Julia Uhr,</a> an <a href="/atlas/academics/grad/ctd-phd" rel="nofollow">ATLAS PhD student </a>and researcher in the <a href="/atlas/acme-lab" rel="nofollow">ACME Lab</a>, has created a fun 3D visual programming language that empowers novice coders to create customized VR environments while inside those environments.<br><br> Called <a href="/atlas/popo-vr-programming-language" rel="nofollow">POPO </a>(Pop On Pop Off), the coding language’s 3D block structure executes instructions from the top-down and from the center-out, allowing programmers to construct their code as complex, branching 3D structures, which helps them visualize the logical and spatial relationships between the code elements.&nbsp;</p><p>“POPO explores how the embodied interaction of grabbing code blocks and snapping them together like Legos can emphasize the playfulness and creativity of programming,” says Uhr, who is advised by Professor <a href="/atlas/ellen-yi-luen-do" rel="nofollow">Ellen Do</a> (ATLAS Institute, computer science), Assistant Professor <a href="/atlas/daniel-leithinger" rel="nofollow">Daniel Leithinger</a> (ATLAS Institute, computer science) and Ajume Wingo, associate professor of philosophy.<br><br> Users wear VR headsets and use controllers to manipulate the objects in 3D space to build the environment they desire.<br><br> To write code in POPO, users choose spheres in the virtual environment to make variables. The spheres can be combined with other shapes, such as “If” blocks and “For” loops to create instructions. The instructions can then be executed in VR by pressing a play button. Running the code adds objects, animations or interactions to the VR scene.&nbsp;<br><br> “The cool thing is that you can write the exact same code in many different configurations,” Uhr says. “You can use that to make it look cool, or to organize your code in more interesting ways or to emphasize different parts of your code because looking at it from different angles shows different parts of it.”</p><p>Once these parts are put into a complex function, they form a branching shape, and the different branches can be used as other options for organizing the user’s code and building it as a visual object.&nbsp;</p><p>“The goal is to make programming fun and creative and to help others learn while building VR worlds,” Uhr says.<br> &nbsp;</p></div> </div> </div> </div> </div> <div>Julia Uhr, an ATLAS PhD student and researcher in the ACME Lab, has created a fun 3D visual programming language that empowers novice coders to create customized VR environments while inside those environments.</div> <h2> <div class="paragraph paragraph--type--ucb-related-articles-block paragraph--view-mode--default"> <div>Off</div> </div> </h2> <div>Traditional</div> <div>0</div> <div>On</div> <div>White</div> Tue, 09 Nov 2021 17:04:30 +0000 Anonymous 4127 at /atlas