Oculus Quest 2 पर PWA

Oculus Quest 2, वर्चुअल रिएलिटी (वीआर) हेडसेट है. इसे Oculus ने बनाया है, जो Meta का एक डिवीज़न है. डेवलपर अब 2D और 3D प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) बना सकते हैं और उन्हें डिस्ट्रिब्यूट कर सकते हैं. ये ऐप्लिकेशन, Oculus Quest 2 की मल्टीटास्किंग सुविधा का फ़ायदा लेते हैं.

Oculus Quest 2

Oculus Quest 2 एक वर्चुअल रिएलिटी (वीआर) हेडसेट है. इसे Meta के डिवीज़न Oculus ने बनाया है. यह कंपनी के पिछले हेडसेट, Oculus Quest का नया वर्शन है. यह डिवाइस, स्टैंडअलोन हेडसेट के तौर पर काम कर सकता है. इसमें Android पर आधारित एक इंटरनल ऑपरेटिंग सिस्टम होता है. साथ ही, यूएसबी या वाई-फ़ाई से कनेक्ट होने पर, यह डेस्कटॉप कंप्यूटर पर Oculus के साथ काम करने वाले VR सॉफ़्टवेयर के तौर पर भी काम कर सकता है. इसमें 6 जीबी रैम के साथ, चिप पर सिस्टम (SoC) के तौर पर Qualcomm Snapdragon XR2 का इस्तेमाल किया जाता है. Quest 2 का डिसप्ले, एक फ़ास्ट-स्विच एलसीडी पैनल है. इसमें हर आंख के लिए 1,832 × 1,920 पिक्सल का रिज़ॉल्यूशन है. यह डिसप्ले 120 हर्ट्ज़ तक के रिफ़्रेश रेट पर काम करता है.

कंट्रोलर वाला Oculus Quest 2 डिवाइस.

Oculus ब्राउज़र

फ़िलहाल, Oculus Quest 2 के लिए तीन ब्राउज़र उपलब्ध हैं: Wolvic, जो Firefox Reality का नया वर्शन है. साथ ही, डिवाइस में पहले से मौजूद Oculus ब्राउज़र. इस लेख में, Oculus की वेबसाइट पर, Oculus Browser के बारे में इस तरह बताया गया है.

"Oculus Browser, वेब पर VR अनुभव बनाने में आपकी मदद करने के लिए, नए वेब स्टैंडर्ड और अन्य टेक्नोलॉजी के साथ काम करता है. आज की 2D वेब साइटें, Oculus Browser में बेहतर तरीके से काम करती हैं, क्योंकि यह Chromium रेंडरिंग इंजन पर काम करता है. इसे Oculus हेडसेट के लिए और भी ऑप्टिमाइज़ किया गया है, ताकि बेहतर परफ़ॉर्मेंस मिल सके. साथ ही, वेब डेवलपर WebXR जैसे नए एपीआई की मदद से, वर्चुअल रिएलिटी की पूरी क्षमता का फ़ायदा ले सकें. WebXR की मदद से, हम वेब के अगले चरण के दरवाज़े खोल रहे हैं."

Oculus Browser, जिसमें तीन ब्राउज़र विंडो खुली हैं.

उपयोगकर्ता एजेंट

लेख लिखने के समय, ब्राउज़र की उपयोगकर्ता एजेंट स्ट्रिंग इस तरह की थी.

Mozilla/5.0 (X11; Linux x86_64; Quest 2)
AppleWebKit/537.36 (KHTML, like Gecko)
OculusBrowser/18.1.0.2.46.337441587
SamsungBrowser/4.0
Chrome/95.0.4638.74
VR
Safari/537.36

जैसा कि आप देख सकते हैं, Oculus Browser का मौजूदा वर्शन 18.1.0.2.46.337441587, Chrome95.0.4638.74 पर आधारित है. यह Chrome के मौजूदा स्टैबल वर्शन 96.0.4664.110 से सिर्फ़ एक वर्शन पीछे है. अगर उपयोगकर्ता मोबाइल मोड पर स्विच करता है, तो VR Mobile VR में बदल जाता है.

Oculus Browser के बारे में जानकारी देने वाला पेज.

यूज़र इंटरफ़ेस

ब्राउज़र के यूज़र इंटरफ़ेस (ऊपर दिखाया गया है) में ये सुविधाएं हैं (सबसे ऊपर की पंक्ति, बाईं से दाईं ओर):

  • 'वापस जाएं' बटन
  • फिर से लोड करें बटन
  • साइट जानकारी
  • यूआरएल बार
  • 'बुकमार्क बनाएं' बटन
  • बटन का साइज़ बदलने के लिए, ज़ूम करने की सुविधा के साथ-साथ, छोटा, मध्यम, और बड़ा करने के विकल्प
  • मोबाइल वेबसाइट का अनुरोध करने वाला बटन
  • मेन्यू बटन, जिसमें ये विकल्प हैं:
    • निजी मोड में जाना
    • सभी टैब बंद करें
    • सेटिंग
    • बुकमार्क
    • डाउनलोड किए गए वीडियो
    • इतिहास
    • ब्राउज़िंग डेटा मिटाएं

सबसे नीचे मौजूद लाइन में ये सुविधाएं शामिल हैं:

  • 'बंद करें' बटन
  • छोटा करने का बटन
  • तीन बिंदु वाला बटन, जिसमें पीछे जाने, आगे बढ़ने, और रीफ़्रेश करने के विकल्प हैं

रीफ़्रेश रेट और डिवाइस पिक्सल का अनुपात

Oculus Quest 2 के लिए, Oculus Browser, 2D वेब पेज कॉन्टेंट और WebXR, दोनों को 90 हर्ट्ज़ के रीफ़्रेश रेट पर रेंडर करता है. फ़ुलस्क्रीन में मीडिया देखते समय, Oculus Browser, वीडियो के फ़्रेम रेट के आधार पर डिवाइस के रीफ़्रेश रेट को ऑप्टिमाइज़ करता है. उदाहरण के लिए, 24 fps. Oculus Quest 2 में, बेहतर टेक्स्ट के लिए डिवाइस का पिक्सल रेशियो 1.5 है.

Oculus Browser और Oculus Store में PWA

Meta (Oculus) के प्रॉडक्ट मैनेजमेंट लीड जैकब रोसी ने 28 अक्टूबर, 2021 को बताया था कि Oculus Quest और Oculus Quest 2 पर पीएडब्ल्यू उपलब्ध कराए जाएंगे. यहां हम Oculus पर PWA के अनुभव के बारे में बता रहे हैं. साथ ही, Oculus Quest 2 पर PWA बनाने, साइडलोड करने, और उसकी जांच करने का तरीका भी बता रहे हैं.

स्टेट शेयर करना

लॉगिन की स्थिति, Oculus Browser और PWA के बीच शेयर की जाती है. इससे उपयोगकर्ता, इन दोनों के बीच आसानी से स्विच कर सकते हैं. Facebook Login के साथ, डिफ़ॉल्ट रूप से काम करता है. Oculus Browser में पासवर्ड मैनेजर की सुविधा होती है. इसकी मदद से, उपयोगकर्ता ब्राउज़र और इंस्टॉल किए गए ऐप्लिकेशन के बीच, अपने पासवर्ड सुरक्षित तरीके से सेव और शेयर कर सकते हैं.

PWA विंडो के साइज़

उपयोगकर्ता, ब्राउज़र विंडो और इंस्टॉल किए गए PWA की विंडो का साइज़ अपनी पसंद के मुताबिक बदल सकता है. इमेज की ऊंचाई 625 पिक्सल से 1,200 पिक्सल के बीच हो सकती है. चौड़ाई को 400 पिक्सल से 2,000 पिक्सल के बीच सेट किया जा सकता है. डिफ़ॉल्ट डाइमेंशन 1,000 × 625 पिक्सल होते हैं.

PWA के साथ इंटरैक्ट करना

PWA को Oculus के बाएं और दाएं कंट्रोलर, ब्लूटूथ माउस, और कीबोर्ड से कंट्रोल किया जा सकता है. साथ ही, इन्हें हाथ से ट्रैक करके भी कंट्रोल किया जा सकता है. Oculus कंट्रोलर पर मौजूद थंब स्टिक की मदद से स्क्रोल किया जा सकता है. इसके अलावा, थंब और इंडेक्स फ़िंगर को पिंच करके, अपनी पसंद की दिशा में स्क्रोल किया जा सकता है. किसी चीज़ को चुनने के लिए, उपयोगकर्ता स्क्रीन पर कर्सर घुमाकर उसे चुन सकता है.

PWA के लिए अनुमतियां

Oculus Browser में अनुमतियां, Chrome की तरह ही काम करती हैं. यह स्थिति, ब्राउज़र में चल रहे ऐप्लिकेशन और इंस्टॉल किए गए PWA के बीच शेयर की जाती है. इससे उपयोगकर्ता, एक ही अनुमति दोबारा दिए बिना, दोनों अनुभवों के बीच स्विच कर सकते हैं.

हालांकि, कई अनुमतियां लागू की गई हैं, लेकिन सभी सुविधाएं काम नहीं करती हैं. उदाहरण के लिए, जियोलोकेशन की अनुमति का अनुरोध करने पर, डिवाइस को कभी भी जगह की जानकारी नहीं मिलती. इसी तरह, WebHID, Web Bluetooth वगैरह जैसे अलग-अलग हार्डवेयर एपीआई, सुविधा का पता लगाने की प्रोसेस को पास कर देते हैं. हालांकि, वे कोई ऐसा पिकर नहीं दिखाते जिससे उपयोगकर्ता Oculus को किसी हार्डवेयर डिवाइस से जोड़ सके. मुझे लगता है कि ब्राउज़र के बेहतर होने के बाद, एपीआई की सुविधाओं का पता लगाने की सुविधा को बेहतर बनाया जाएगा.

Oculus Browser में अनुमतियां.

Chrome DevTools की मदद से PWA को डीबग करना

डेवलपर मोड चालू करने के बाद, Oculus Quest 2 पर PWA को डीबग करने की सुविधा ठीक वैसे ही काम करती है जैसे Android डिवाइसों को रिमोट से डीबग करना में बताया गया है.

  1. Oculus डिवाइस पर, Oculus Browser में अपनी पसंद की साइट पर जाएं.
  2. अपने कंप्यूटर पर Google Chrome खोलें और chrome://inspect/#devices पर जाएं.
  3. वह Oculus डिवाइस ढूंढें जिस पर आपको टैब खोलने हैं. इसके बाद, आपको उस डिवाइस पर फ़िलहाल खुले Oculus Browser टैब का एक सेट दिखेगा.
  4. Oculus Browser के जिस टैब की जांच करनी है उस पर जांच करें पर क्लिक करें.

Chrome DevTools की मदद से, Oculus Quest 2 पर चल रहे ऐप्लिकेशन की जांच करना.

ऐप्लिकेशन को खोजने लायक बनाने से जुड़ी सुविधा

लोग ब्राउज़र या Oculus Store का इस्तेमाल करके, PWA खोज सकते हैं. किसी भी दूसरे ब्राउज़र की तरह, इंस्टॉल किए गए PWA भी Oculus Browser में, टैब में चलने वाली वेबसाइटों के तौर पर काम करते हैं. जब कोई उपयोगकर्ता किसी साइट पर जाता है, तो Oculus Browser उसे ऐप्लिकेशन खोजने में मदद करेगा. हालांकि, ऐसा सिर्फ़ तब होगा, जब वह ऐप्लिकेशन Oculus Store में उपलब्ध हो. जिन उपयोगकर्ताओं के पास पहले से ही ऐप्लिकेशन इंस्टॉल है वे Oculus Browser की मदद से, आसानी से ऐप्लिकेशन पर स्विच कर पाएंगे.

Oculus Browser, उपयोगकर्ता को MyEmail ऐप्लिकेशन इंस्टॉल करने का न्योता दे रहा है.

Oculus Quest 2 पर बेहतरीन PWA

Meta के पीडब्ल्यूए

Meta के कई डिवीज़न ने Oculus Quest 2 के लिए PWA बनाए हैं. उदाहरण के लिए, Instagram और Facebook. ये PWA, स्टैंडअलोन ऐप्लिकेशन विंडो में चलते हैं. इनमें यूआरएल बार नहीं होता और इनका साइज़ अपनी मर्ज़ी से बदला जा सकता है.

Facebook Oculus Quest 2 ऐप्लिकेशन.

Instagram Oculus Quest 2 ऐप्लिकेशन

अन्य डेवलपर के PWA

इस लेख को लिखने के समय, Oculus Store पर Oculus Quest 2 के लिए, PWA की संख्या कम है, लेकिन यह बढ़ रही है. Spike में, उपयोगकर्ताओं को अपने इनबॉक्स में, वर्चुअल एनवायरमेंट हब में ईमेल, चैट, कॉल, नोट, टास्क, और 'क्या-क्या करना है' जैसे काम के सभी टूल इस्तेमाल करने की सुविधा मिलती है.

Spike Oculus Quest 2 ऐप्लिकेशन.

Smartsheet एक ऐसा डाइनैमिक वर्कस्पेस है जो प्रोजेक्ट मैनेजमेंट, ऑटोमेटेड वर्कफ़्लो, और नए समाधानों को तेज़ी से बनाने की सुविधा देता है.

Slack, Dropbox या Canva जैसे और भी PWA उपलब्ध होंगे. इसकी जानकारी, 2021 में Facebook के Connect कॉन्फ़्रेंस के दौरान रिलीज़ किए गए वीडियो में दी गई थी. इसमें जैकब रोसी ने बताया था कि ये PWA जल्द ही उपलब्ध होंगे.

Oculus के लिए PWA बनाना

Meta ने अपने दस्तावेज़ में ज़रूरी चरणों के बारे में बताया है. आम तौर पर, Chrome में इंस्टॉल किए जा सकने वाले PWA, Oculus पर बिना किसी रुकावट के काम करते हैं.

वेब ऐप्लिकेशन मेनिफ़ेस्ट से जुड़ी ज़रूरी शर्तें

Chrome पर ऐप्लिकेशन इंस्टॉल करने से जुड़ी ज़रूरी शर्तों और वेब ऐप्लिकेशन मेनिफ़ेस्ट के स्पेसिफ़िकेशन के मुकाबले, इनमें कुछ अहम अंतर हैं. उदाहरण के लिए, Oculus फ़िलहाल सिर्फ़ बाएं से दाएं लिखी जाने वाली भाषाओं के साथ काम करता है, जबकि वेब ऐप्लिकेशन मेनिफ़ेस्ट के स्पेसिफ़िकेशन में इस तरह की कोई पाबंदी नहीं है. start_url एक और उदाहरण है. Chrome के लिए, किसी ऐप्लिकेशन को इंस्टॉल करने के लिए यह ज़रूरी है कि उसमें start_url मौजूद हो. हालांकि, Oculus पर यह ज़रूरी नहीं है. Oculus एक कमांड-लाइन टूल उपलब्ध कराता है. इसकी मदद से, डेवलपर Oculus Quest 2 के लिए PWA बना सकते हैं. इससे वे वेब ऐप्लिकेशन मेनिफ़ेस्ट में मौजूद पैरामीटर को पास कर सकते हैं या मौजूदा पैरामीटर को बदल सकते हैं.

नाम ब्यौरा
name (ज़रूरी) PWA का नाम. फ़िलहाल, Oculus पर नाम के लिए सिर्फ़ बाएं से दाएं लिखी जाने वाली भाषाएं इस्तेमाल की जा सकती हैं.
display (ज़रूरी) "standalone" या "minimal-ui". फ़िलहाल, Oculus पर कोई दूसरी वैल्यू काम नहीं करती.
short_name (ज़रूरी) अगर ज़रूरी हो, तो ऐप्लिकेशन के नाम का छोटा वर्शन.
scope (ज़रूरी नहीं) वे यूआरएल या पाथ जिन्हें ऐप्लिकेशन का हिस्सा माना जाना चाहिए.
start_url (ज़रूरी नहीं) ऐप्लिकेशन लॉन्च होने पर दिखने वाला यूआरएल.

Oculus में वेब ऐप्लिकेशन के मेनिफ़ेस्ट के कई मालिकाना फ़ील्ड होते हैं. इनका इस्तेमाल, पीडब्ल्यूए के अनुभव को पसंद के मुताबिक बनाने के लिए किया जा सकता है. हालांकि, इनका इस्तेमाल करना ज़रूरी नहीं है.

नाम ब्यौरा
ovr_package_name (ज़रूरी नहीं) PWA के लिए जनरेट किए गए APK के पैकेज का नाम सेट करता है. यह रिवर्स डोमेन नेम नोटेशन में होना चाहिए, जैसे कि "com.company.app.pwa". अगर यह सेट नहीं है, तो डेवलपर को कमांड लाइन टूल के लिए पैकेज का नाम देना होगा. साथ ही, पैरामीटर --package-name की वैल्यू देनी होगी.
ovr_multi_tab_enabled (ज़रूरी नहीं) अगर true है, तो यह बूलियन फ़ील्ड, PWA को Oculus Browser जैसा टैब बार देगा. एक से ज़्यादा टैब वाले PWA में, नए टैब (target="_new" या target="_blank") को टारगेट करने वाले इंटरनल लिंक, PWA विंडो में नए टैब में खुलेंगे. यह एक टैब वाले PWA से अलग है, जहां ऐसे लिंक Oculus Browser की विंडो में खुलेंगे. फ़िलहाल, इस सुविधा को टैब वाले ऐप्लिकेशन मोड के तौर पर स्टैंडर्ड किया जा रहा है.
ovr_scope_extensions (ज़रूरी नहीं) इससे PWA को वेब ऐप्लिकेशन के दायरे में ज़्यादा वेब पेज शामिल करने की अनुमति मिलती है. इसमें एक्सटेंशन यूआरएल या वाइल्डकार्ड पैटर्न वाली JSON डिक्शनरी होती है. फ़िलहाल, इस सुविधा को वेब ऐप्लिकेशन के लिए स्कोप एक्सटेंशन के तौर पर स्टैंडर्ड किया जा रहा है.

Bubblewrap CLI की मदद से PWA को पैकेज करना

Bubblewrap, Node.js के लिए लाइब्रेरी और कमांड-लाइन टूल (सीएलआई) का ओपन सोर्स सेट है. Bubblewrap को Google Chrome की टीम ने डेवलपर के लिए बनाया है, ताकि वे ऐसा Android प्रोजेक्ट जनरेट, बिल्ड, और साइन कर सकें जो आपके PWA को भरोसेमंद वेब गतिविधि (टीडब्ल्यूए) के तौर पर लॉन्च करता है.

फ़िलहाल, Meta Quest ब्राउज़र पर TWA पूरी तरह काम नहीं करता. हालांकि, 1.18.0 वर्शन से, Bubblewrap, Meta Quest डिवाइसों के लिए PWA को पैकेज करने की सुविधा देता है.

यह यूनिवर्सल APK फ़ाइलें जनरेट कर सकता है. ये फ़ाइलें, सामान्य Android डिवाइसों पर TWA और Meta Quest डिवाइसों पर Meta Quest ब्राउज़र खोलती हैं.

अगर आपने Node.js इंस्टॉल किया है, तो Bubblewrap CLI को इस कमांड का इस्तेमाल करके इंस्टॉल किया जा सकता है:

npm i -g @bubblewrap/cli

Bubblewrap को पहली बार चलाने पर, यह ज़रूरी बाहरी डिपेंडेंसी, जैसे कि Java Development Kit (JDK) और Android SDK Build Tools को अपने-आप डाउनलोड और इंस्टॉल करने का विकल्प देगा.

Meta Quest के साथ काम करने वाला ऐसा Android प्रोजेक्ट जनरेट करने के लिए जो आपके PWA को रैप करता हो, --metaquest फ़्लैग के साथ init कमांड चलाएं और विज़र्ड का पालन करें:

bubblewrap init --manifest="https://your.web.app/manifest.json" --metaquest

प्रोजेक्ट जनरेट होने के बाद, इसे बिल्ड करने और उस पर हस्ताक्षर करने के लिए, यह कमांड चलाएं:

bubblewrap build

इससे app-release-signed.apk नाम की फ़ाइल बन जाएगी. इस फ़ाइल को डिवाइस पर इंस्टॉल किया जा सकता है या Meta Quest Store, Google Play Store या Android ऐप्लिकेशन डिस्ट्रिब्यूशन के किसी भी अन्य प्लैटफ़ॉर्म पर पब्लिश किया जा सकता है.

Oculus Platform Utility की मदद से PWA को पैकेज करना

Oculus Platform Utility, Meta का आधिकारिक कमांड-लाइन टूल है. इसे Oculus Rift और Meta Quest डिवाइसों के लिए ऐप्लिकेशन पब्लिश करने के लिए बनाया गया है.

इसकी मदद से, create-pwa कमांड का इस्तेमाल करके Meta Quest डिवाइसों के लिए पीडब्ल्यूए को पैकेज किया जा सकता है और उन्हें Meta Quest Store और App Lab पर पब्लिश किया जा सकता है.

-o पैरामीटर की मदद से, आउटपुट फ़ाइल का नाम और --android-sdk पैरामीटर की मदद से, Android SDK टूल का पाथ सेट करें.

--web-manifest-url पैरामीटर की मदद से, टूल को वेब ऐप्लिकेशन मेनिफ़़ेस्ट के लाइव यूआरएल पर ले जाएं.

अगर आपके लाइव PWA पर कोई मेनिफ़ेस्ट नहीं है या आपको लाइव मेनिफ़ेस्ट को बदलना है, तो भी आपके पास --manifest-content-file पैरामीटर और स्थानीय मेनिफ़ेस्ट फ़ाइल का इस्तेमाल करके, अपने PWA के लिए APK जनरेट करने का विकल्प है.

मेनिफ़ेस्ट को ज़्यादा से ज़्यादा साफ़ रखने के लिए, --package-name पैरामीटर का इस्तेमाल करें. इसके लिए, रिवर्स डोमेन नेम नोटेशन (उदाहरण के लिए, com.company.app.pwa) में वैल्यू दें. इसके बजाय, मेनिफ़ेस्ट में मालिकाना हक वाला ovr_package_name फ़ील्ड न जोड़ें.

ovr-platform-util create-pwa -o output.apk --android-sdk ~/bin/android-10 --manifest-content-file manifest.json --package-name com.company.app.pwa

PWABuilder की मदद से PWA को पैकेज करना

लेखकों के मुताबिक, फ़िलहाल Meta Quest के लिए PWA को पैकेज करने का सबसे आसान तरीका, PWABuilder का इस्तेमाल करना है. इसलिए, इसका सुझाव दिया जाता है.

PWABuilder, Microsoft का बनाया गया एक ओपन सोर्स प्रोजेक्ट है. इसकी मदद से, डेवलपर अपने PWA को पैकेज कर सकते हैं और उन पर हस्ताक्षर कर सकते हैं, ताकि उन्हें अलग-अलग स्टोर पर पब्लिश किया जा सके. इन स्टोर में Microsoft Store, Google Play Store, App Store, और Meta Quest Store शामिल हैं.

PWABuilder की मदद से PWA को पैकेज करना उतना ही आसान है जितना कि किसी PWA का यूआरएल डालना, ऐप्लिकेशन के लिए मेटाडेटा डालना या उसमें बदलाव करना, और जनरेट करें बटन पर क्लिक करना.

PWABuilder की मदद से, डेवलपर यह चुन सकते हैं कि Meta Quest डिवाइसों के लिए, PWA को पैकेज करने के लिए कौनसा टूल इस्तेमाल करना है.

Oculus Platform Utility का इस्तेमाल करने के लिए, Meta Quest विकल्प को चुना जा सकता है.

PWABuilder के पैकेजिंग के विकल्प.

Bubblewrap का इस्तेमाल करने के लिए, Android विकल्प चुनें. इसके बाद, Meta Quest के साथ काम करता है वाला चेकबॉक्स चुनें.

बबलरैप का इस्तेमाल करके, PWABuilder की मदद से PWA को पैकेज करना.

ADB की मदद से PWA इंस्टॉल करना

APK फ़ाइल बनाने के बाद, यूएसबी या वाई-फ़ाई के ज़रिए ADB का इस्तेमाल करके, Meta Quest डिवाइस पर इसे साइडलोड किया जा सकता है:

adb install app-release-signed.apk

अगर PWA को पैकेज करने के लिए Bubblewrap सीएलआई का इस्तेमाल किया जाता है, तो यह APK फ़ाइल को साइडलोड करने के लिए, एक आसान उपनाम वाला निर्देश उपलब्ध कराता है:

bubblewrap install

साइडलोड किए गए ऐप्लिकेशन, ऐप्लिकेशन ड्रॉर में अज्ञात सोर्स सेक्शन में दिखते हैं.

ऐप्लिकेशन सबमिट करना

Oculus Store पर PWA अपलोड करने और सबमिट करने के बारे में ज़्यादा जानकारी, Oculus Developer Center के दस्तावेज़ों में दी गई है.

Oculus Store में ऐप्लिकेशन सबमिट करने के अलावा, डेवलपर अपने ऐप्लिकेशन को SideQuest जैसे प्लैटफ़ॉर्म के ज़रिए सीधे उपभोक्ताओं को सुरक्षित तरीके से उपलब्ध करा सकते हैं. इसके लिए, उन्हें स्टोर से अनुमति लेने की ज़रूरत नहीं होती. इससे, डेवलपर सीधे तौर पर असली उपयोगकर्ताओं को ऐप्लिकेशन उपलब्ध करा सकते हैं. भले ही, वह ऐप्लिकेशन अभी डेवलपमेंट के शुरुआती दौर में हो, उसका इस्तेमाल एक्सपेरिमेंट के तौर पर किया जा रहा हो या किसी खास ऑडियंस के लिए बनाया गया हो.

एक से ज़्यादा टैब वाले ऐप्लिकेशन की जांच करना

कई टैब वाले ऐप्लिकेशन की जांच करने के लिए, मैंने एक छोटा टेस्ट PWA बनाया है. इसमें लिंक की अलग-अलग सुविधाओं को दिखाया गया है. जैसे, PWA में नया टैब खोलना, मौजूदा टैब पर बने रहना, नई ब्राउज़र विंडो खोलना, और मौजूदा टैब पर बने रहकर वेबव्यू में खोलना. अपनी मशीन पर नीचे दिए गए निर्देशों को चलाकर, इस ऐप्लिकेशन की ऐसी कॉपी बनाएं जिसे स्थानीय तौर पर इंस्टॉल किया जा सके.

ovr-platform-util create-pwa -o test.apk --android-skd ~/bin/android-10 --web-manifest-url https://tomayac.github.io/oculus-pwa-test/manifest.json --package-name com.example.pwa
adb install test
.apk

यहां टेस्ट ऐप्लिकेशन का स्क्रीनकास्ट दिया गया है.

SVGcode का Oculus वर्शन

निर्देशों को आज़माने के लिए, मैंने अपने सबसे नए PWA, SVGcode का Oculus वर्शन बनाया. इसके बाद, मेरे Google Drive से APK फ़ाइल output.apk डाउनलोड की जा सकती है. अगर आपको पैकेज की और जांच करनी है, तो मेरे पास डिकंपाइल किया गया वर्शन भी है. package.json में, बिल्ड करने के निर्देश देखें.

Oculus पर ऐप्लिकेशन का इस्तेमाल करने में कोई समस्या नहीं आती. इसमें फ़ाइलें खोलने और सेव करने की सुविधा भी काम करती है. Oculus Browser पर File System Access API काम नहीं करता. हालांकि, फ़ॉलबैक तरीके से मदद मिलती है. पिंच-ज़ूम करने की सुविधा काम नहीं करती. मुझे उम्मीद थी कि यह सुविधा, दोनों कंट्रोलर पर ट्रिगर बटन दबाकर और फिर कंट्रोलर को अलग-अलग दिशाओं में घुमाकर काम करेगी. इसके अलावा, एम्बेड किए गए स्क्रीनकास्ट में देखा जा सकता है कि बाकी सभी चीज़ें बेहतर परफ़ॉर्म कर रही थीं और तुरंत काम कर रही थीं.

इमर्सिव 3D WebXR PWA

Oculus Quest पर PWA की सुविधा, सिर्फ़ फ़्लैट 2D ऐप्लिकेशन तक सीमित नहीं है. डेवलपर, WebXR API का इस्तेमाल करके, वर्चुअल रिएलिटी (वीआर) के लिए इमर्सिव 3D अनुभव बना सकते हैं.

क्या आपको यह जानना है कि अलग-अलग प्रॉम्प्ट (PWA इंस्टॉल, अनुमति के अनुरोध, सूचनाएं) को VR में कैसे मैनेज किया जाता है?

यहां इमर्सिव वेब वर्किंग ग्रुप के WebXR टेस्ट से, यूज़र एजेंट प्रॉम्प्ट टेस्ट का स्क्रीनकास्ट दिया गया है.

जैसा कि आप देख सकते हैं, वीआर मोड में जाने के लिए उपयोगकर्ता की अनुमति लेनी पड़ती है. हर ऑरिजिन के लिए, अनुमतियां एक बार मांगी जाती हैं. अनुमतियों का अनुरोध करने पर, इमर्सिव मोड बंद हो जाता है. फ़िलहाल, सूचनाएं पाने की सुविधा उपलब्ध नहीं है.

हाथ ट्रैक करने की सुविधा

WebXR हैंड इनपुट एपीआई और Meta के एआई पर आधारित हैंड-ट्रैकिंग सिस्टम की मदद से, इमर्सिव मोड में PWA के साथ इंटरैक्ट किया जा सकता है.

यहां Immersive Web Working Group के WebXR सैंपल में से, हाथ की ट्रैकिंग के सैंपल का स्क्रीनकास्ट दिया गया है.

ऑगमेंटेड/मिक्स्ड रिएलिटी (पासथ्रू)

Meta Connect 2022 में यह एलान किया गया था कि Meta Quest Browser, Meta Quest 2 और Meta Quest Pro डिवाइसों पर WebXR ऑगमेंटेड रिएलिटी (एआर) के लिए काम करता है. इसे मिक्स्ड रिएलिटी (एमआर) भी कहा जाता है.

आइए, ऑगमेंटेड रिएलिटी के लिए, स्केल किए गए मॉडल और आसमान और प्लेन को छिपाकर, थोड़ा बदला गया A-Frame का स्टार्टर उदाहरण देखें.

A-Frame एक ओपन सोर्स वेब फ़्रेमवर्क है. इसका इस्तेमाल करके, 3D/वीआर/एआर अनुभवों को पूरी तरह से एलान वाले, फिर से इस्तेमाल किए जा सकने वाले कस्टम एचटीएमएल एलिमेंट से बनाया जा सकता है. इन एलिमेंट को पढ़ना, समझना, और कॉपी करके चिपकाना आसान होता है.

यहां Meta Quest 2 पर इस डेमो का स्क्रीनकास्ट दिया गया है.

Meta Quest 2 में मोनोक्रोम कैमरे होते हैं, इसलिए पासथ्रू इफ़ेक्ट ग्रेस्केल में दिखता है. वहीं, Meta Quest Pro में कलर कैमरे होते हैं.

मीटिंग में सामने आए नतीजे

Oculus Quest 2 पर PWA का इस्तेमाल करना बहुत मज़ेदार है. साथ ही, यह भविष्य के लिए भी बहुत आशाजनक है. यह एक ऐसा वर्चुअल कैनवस है जिसका साइज़, उपयोगकर्ता अपनी ज़रूरत के हिसाब से तय कर सकते हैं. इससे आने वाले समय में, काम करने के हमारे तरीके में काफ़ी बदलाव हो सकता है. हाथ से ट्रैकिंग की सुविधा का इस्तेमाल करके, वर्चुअल रिएलिटी (वीआर) में टाइप करने की सुविधा अभी शुरुआती दौर में है. कम से कम मेरे लिए, यह सुविधा अब तक पूरी तरह से काम नहीं करती. हालांकि, यूआरएल डालने या छोटे टेक्स्ट टाइप करने के लिए, यह सुविधा अच्छी तरह से काम करती है.

मुझे Oculus Quest 2 पर पीडब्ल्यूए की सबसे ज़्यादा पसंद यह बात है कि ये सामान्य पीडब्ल्यूए होते हैं. इनका इस्तेमाल, ब्राउज़र टैब में या किसी प्लैटफ़ॉर्म के हिसाब से एपीआई के बिना, पतले APK रैपर के ज़रिए किया जा सकता है. एक ही कोड से कई प्लैटफ़ॉर्म को टारगेट करना पहले कभी इतना आसान नहीं था. वेब पर, वर्चुअल रिएलिटी और एआर में PWA इस्तेमाल करने का तरीका. आने वाला समय अच्छा है!

आभार

Oculus Quest 2 की फ़ोटो, Maximilian Prandstätter ने Flickr पर ली है. Oculus Store पर मौजूद Instagram, Facebook, Oculus Browser, और Spike ऐप्लिकेशन की इमेज. साथ ही, Meta की ओर से मिले ऐप्लिकेशन को खोजने की सुविधा के इलस्ट्रेशन और हाथ की ट्रैकिंग ऐनिमेशन. हीरो इमेज, अर्नो मार्न आई पुइग की है. इस पोस्ट की समीक्षा, Joe Medley ने की है.