{"id":134654,"date":"2023-06-05T21:00:39","date_gmt":"2023-06-05T21:00:39","guid":{"rendered":"https:\/\/developer.apple.com\/news\/?id=h3qjwosp"},"modified":"2023-06-05T21:00:39","modified_gmt":"2023-06-05T21:00:39","slug":"spotlight-on-developing-for-visionos","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2023\/06\/05\/spotlight-on-developing-for-visionos\/","title":{"rendered":"Spotlight on: Developing for visionOS"},"content":{"rendered":"<div class=\"inline-article-image\"><img decoding=\"async\" src=\"https:\/\/www.sickgaming.net\/blog\/wp-content\/uploads\/2023\/09\/spotlight-on-developing-for-visionos.jpg\" data-hires=\"false\" alt><\/div>\n<p>What\u2019s it like to develop for visionOS? For Karim Morsy, CEO and co-founder of Algoriddim, \u201cit was like bringing together all of the work we&#8217;ve built over many years.\u201d<\/p>\n<p>Algoriddim\u2019s Apple Design Award-winning app <em>djay<\/em> has long pioneered new ways for music lovers and professional DJs alike to mix songs on Apple platforms; in 2020, the team even used hand pose detection features to create an early form of spatial gesture control on iPad. On Apple Vision Pro, they\u2019ve been able to fully embrace spatial input, creating a version of djay controlled entirely by eyes and hands. <\/p>\n<p>\u201cI&#8217;ve been DJing for over twenty years, in all sorts of places and with all sorts of technology, but this frankly just blew my mind,\u201d says Morsy. &#8220;It&#8217;s a very natural way to interact with music, and the more we can embrace input devices that allow you to free yourself from all these buttons and knobs and fiddly things \u2014 we really feel it&#8217;s liberating.\u201d<\/p>\n<h3>\u201cIt\u2019s emotional \u2014 it feels real.\u201d<\/h3>\n<p>It\u2019s a sentiment shared by Ryan McLeod, creator of Apple Design Award-winning puzzle game <em>Blackbox<\/em>. \u201cYou have a moment of realizing \u2014 it&#8217;s not even that interacting this way has become natural. There is nothing to \u2018become natural\u2019 about it. It just is!\u201d he says. \u201cI very vividly remember laughing at that, because I just had to stop for a moment and appreciate it \u2014 you completely forget that this [concept] is wild.\u201d<\/p>\n<p><em>Blackbox<\/em> is famous on iOS for \u201cbreaking the fourth glass wall,\u201d as McLeod puts it, using the sensors and inputs on iPhone in unusual ways to create dastardly challenges that ask you to do almost everything <em>but<\/em> touch the screen. Before bringing this experience to visionOS, however, McLeod had his own puzzle to solve: how to reimagine the game to take advantage of the infinite canvas offered by Vision Pro.<\/p>\n<p>\u201cYou really have to go back to those first principles: What will feel native and natural on visionOS, and within a person\u2019s world?\u201d he says. \u201cWhat will people expect \u2014 and what won\u2019t they? How can you exist comfortably like that, and then tweak their expectations to create a puzzle, surprise, and satisfaction?\u201d<\/p>\n<p>After some early prototyping of spatial challenges, audio quickly became a core part of the <em>Blackbox<\/em> story. While McLeod and sound designer Gus Callahan had previously created sonic interfaces for the iOS app, Spatial Audio is bringing a new dimensionality to their puzzles in visionOS. \u201cIt\u2019s a very fun, ineffable thing and completely changes the level of immersion,\u201d he says. \u201cHaving sounds move past you is a wild effect because it evokes emotion \u2014 it feels real.\u201d<\/p>\n<h3>\u201cIt will take you minutes to have your own stuff working in space.\u201d<\/h3>\n<p>As someone who had exclusively developed for iOS and iPadOS for almost a decade \u2014 and had little experience with either 3D modeling or RealityKit \u2014 McLeod was initially trepidatious about trying to build an app for spatial computing. \u201cI really hadn\u2019t done a platform switch like that,\u201d he says. But once he got started in Xcode, \u201cthere was a wild, powerful moment of recognizing how to set this up.\u201d <\/p>\n<p>visionOS is built to support familiar frameworks, like SwiftUI, UIKit, RealityKit, and ARKit, which helps apps like <em>Blackbox<\/em> bring over a lot of their existing codebase without having to rewrite from scratch. \u201cWhat gets me excited to tell other developers is just \u2014 you can make apps really easily,\u201d says McLeod. \u201cIt will take you minutes to have your own stuff working in space.\u201d<\/p>\n<p>Even for developers working with a more complex assortment of frameworks, like the team behind augmented reality app <em>JigSpace<\/em>, the story is a similar one. \u201cWithin three days, we had something up and running,\u201d says CEO and co-founder Zac Duff, crediting the prowess of his team for their quick prototype.<\/p>\n<p>One member of that team is <em>JigSpace<\/em> co-founder Numa Bertron, who spent a few days early in their development process getting to know SwiftUI. \u201cHe\u2019d just be out there, learning everything he could, playing with Swift Playgrounds, and then he\u2019d come back the next day and go: \u2018Oh, boy, you won\u2019t believe how powerful this thing is,\u2019\u201d Duff says.<\/p>\n<p>Though new to SwiftUI, the <em>JigSpace<\/em> team is no stranger to Apple\u2019s augmented reality framework, having used it for years in their apps to help people learn about the world using 3D objects. On Vision Pro, the team is taking advantage of ARKit features to place 3D objects into the world and build custom gestures for scaling \u2014 all while keeping the app\u2019s main interface in a window and easily accessible.<\/p>\n<p><em>JigSpace<\/em> is also exploring how people can work together with SharePlay and Spatial Personas. \u201cIt&#8217;s a fundamental rethink of how people interact together around knowledge,\u201d says Duff. \u201cNow, we can just have you experience something right in front of you. And not only that \u2014 you can bring other people into that experience, and it becomes much more about having all the right people in the room with you.\u201d<\/p>\n<h3>\u201cYou want to feel at home.\u201d<\/h3>\n<p>Shared experiences can be great for education and collaboration, but for Xavi H. Orom\u00ed, chief engineering officer at XRHealth, it\u2019s also about finding new and powerful ways to help people. While Orom\u00ed and his team are new to Apple platforms, they have significant expertise building fully immersive experiences: They were creating apps for VR headsets as early as 2012 in order to assist people in recognizing phobias, physical rehabilitation, mental health, and other therapy services. <\/p>\n<p>Vision Pro immediately clicked for Orom\u00ed and the team, especially the fluidity of immersion that visionOS provides. \u201cOffering some sort of gradual exposure and letting the person decide what that should look like \u2014 it\u2019s something that\u2019s naturally very integrated with therapy itself,\u201d says Orom\u00ed. <\/p>\n<p>With that principle as their bedrock, the team designed an experience to help people with acrophobia (fear of heights), built entirely with Apple frameworks. Despite having no prior development experience with Swift or Xcode, the team was able to build a prototype they were proud of in just a month. <\/p>\n<p>In their visionOS app, a person can open a portal in their current space that gives them the feeling of being positioned at a significant height without fully immersing themselves in that app\u2019s environment. For Orom\u00ed, this opens up new possibilities to connect with patients and help them feel grounded without overtaxing their comfort level. \u201cYou want to feel at home,\u201d says Orom\u00ed, \u201cThe alternative before [in a completely immersive experience] was that I needed to remove the headset, and then I totally broke the immersion.\u201d<\/p>\n<p>It also has the added benefit of giving people a way to stay true to themselves. In some of their previous immersive experiences on other platforms, Orom\u00ed notes, patients\u2019 hands and bodies were represented in the space using virtual avatars. But this had its own challenges: \u201cWe had a lot of patients saying that they felt their body was not theirs,\u201d he says. \u201cIt\u2019s very difficult for our society that\u2019s so diverse to create representations of avatars that match everyone in the world&#8230; [In Vision Pro], where you can see your own body through the passthrough, we don\u2019t need to create a representation.\u201d<\/p>\n<p>When combined with SharePlay, people can stay connected and supported with their virtual therapists while pushing their boundaries and challenging common fears. \u201cYears from now, when we look back,\u201d Orom\u00ed says, \u201cwe will be able to say it all started with the launch of Vision Pro \u2014 it\u2019s where we truly enabled real virtual therapy.\u201d<\/p>\n<h3>\u201cYou\u2019re off to the races.\u201d<\/h3>\n<p>When the SDK arrives later this month, developers worldwide will be able to download Xcode and start building their own apps and games for visionOS. With 46 sessions focused on Apple Vision Pro premiering at WWDC, there\u2019s a lot of new knowledge to explore \u2014 but Duff and McLeod have a few supplemental recommendations. <\/p>\n<p>\u201cPick up SwiftUI if you haven&#8217;t yet,\u201d says McLeod, noting that getting to know the framework can help developers add core platform functionality to their existing app. He also suggests getting comfortable with basic modeling and Reality Composer Pro. \u201cAt some point, you&#8217;re gonna want to come off the page,\u201d he says. But, he notes with a smile, you don&#8217;t need to become a 3D graphics expert to build for this platform. &#8220;You can get really far with a simple model and [Reality Composer Pro] shaders.&#8221; <\/p>\n<p>Duff mirrors these recommendations, adding one last framework to the list: RealityKit. \u201cIf you\u2019re transitioning from [other renderers] there are some fundamental changes you have to get to know,\u201d he says. \u201cBut with those three things, you\u2019re off to the races.\u201d<\/p>\n<p>Learn more about developing for visionOS and what you can do to get ready for the SDK on developer.apple.com.<\/p>\n<p><a href=\"https:\/\/developer.apple.com\/visionos\/\" class=\"icon icon-after icon-chevronright\">Learn more about developing for visionOS<\/a><\/p>\n<p><a href=\"https:\/\/developer.apple.com\/visionos\/prepare\" class=\"icon icon-after icon-chevronright\">Prepare your apps for visionOS<\/a><\/p>\n<p><a href=\"https:\/\/developer.apple.com\/visionos\/learn\/\" class=\"icon icon-after icon-chevronright\">Explore sessions about visionOS<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What\u2019s it like to develop for visionOS? For Karim Morsy, CEO and co-founder of Algoriddim, \u201cit was like bringing together all of the work we&#8217;ve built over many years.\u201d Algoriddim\u2019s Apple Design Award-winning app djay has long pioneered new ways for music lovers and professional DJs alike to mix songs on Apple platforms; in 2020, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":134655,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[],"class_list":["post-134654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apple-developer-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/134654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=134654"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/134654\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/134655"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=134654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=134654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=134654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}