S aplikací Vision Pro ukazuje Apple budoucnost počítačů. Ale pro koho?

6. 6. 2023

Sdílet

Autor: Apple
Apple v pondělí konečně představil dlouho očekávanou náhlavní soupravu pro smíšenou realitu Vision Pro, která předvádí futuristickou technologii, ale ponechává nejasnou důležitou otázku: Kdo ji bude používat?

Zítřek někomu patří, ale zařízení smíšené reality Vision Pro, o kterém se tolik mluví a které společnost Apple představila v pondělí během nablýskané prezentace na konferenci Worldwide Developers Conference, se bude dodávat až na začátku roku 2024. A s cenou 3 499 dolarů za kus stojí každý z nich stejně jako hned několik systémů Meta Quest.

Co se dozvíte v článku
  1. Nový svět společnosti Apple
  2. Apple ve všudypřítomném podniku
  3. Úžasná technologie, ale pro koho je určena?
  4. Věřte!
  5. Čas na růst
  6. Několik dalších věcí
  7. Kdo říká, že 21. století ještě nedorazilo?

Využívají vaši zaměstnanci pokročilou datovou analytiku?

Nelze popřít, že technologie použitá v systému Vision Pro je velmi sofistikovaná; tyto systémy jsou skutečně, jak řekl Apple, „nejpokročilejšími zařízeními osobní elektroniky vůbec“.

„Dnešní den znamená začátek nové éry počítačů,“ řekl generální ředitel společnosti Apple Tim Cook. „Stejně jako nás Mac uvedl do osobní výpočetní techniky a iPhone do mobilní výpočetní techniky, Apple Vision Pro nás uvádí do prostorové výpočetní techniky.“

S odkazem na svého předchůdce Steva Jobse Cook oznámil Vision Pro poté, co slíbil „ještě jednu věc“.

Zamyslete se chvíli nad některými inovacemi, které Apple spojil do jednoho zařízení:

  • Výkonné procesory Apple, které odrážejí roky vývoje, včetně zcela nového čipu R1 pro zpracování dat ze senzorů.
  • Vysoce vyspělé technologie uživatelského rozhraní, které se opírají o dotyk, pohled a hlas a které odrážejí vývoj uživatelského rozhraní za posledních 50 let.
  • Rozsáhlé vývojové prostředí, na kterém Apple pracoval několik let.
  • Podpora ucelené sestavy aplikací a sadu aplikací třetích stran od prvního dne.
  • Hluboce nesrovnatelná sbírka senzorů, materiálových věd a displejů vyvinutých v posledních deseti letech.
  • A dvouhodinová výdrž baterie bez připojení k síti. <Vloží se zvuk skřípající desky.>

Tato výdrž baterie je skutečnou slabinou. Koneckonců, i když je můžete bezpečně používat připojené k napájení (doufám), krása všudypřítomného počítačového systému Vision Pro slibuje, že se můžete pohybovat ve svém fyzickém životě a zároveň zůstat připojeni k tomu digitálnímu. Přemýšlejte o pracovnících v domácnosti, operátorech ve skladech, lékařských a záchranných službách a dalších…

(Pokud do těchto věcí potřebujete nasadit brýle, protože špatně vidíte, „příslušenství pro korekci zraku se prodává samostatně“ za další extra příplatky).

Co by měl CIO vědět na začátku kariéry? Přečtěte si také:

Co by měl CIO vědět na začátku kariéry?

Pokud však při delším používání brýlí Apple potřebujete být připojeni k elektřině, jaká je výhoda ve srovnání s používáním iPhonu, iPadu nebo Macu? Všechny vám na jedno nabití baterie vystačí na celý pracovní den.

Samozřejmě, každý je snadno kritikem, a přestože jsou snadno odhalitelné slabé stránky, které pravděpodobně odrážejí interní diskuse, jež v Applu v posledních měsících a letech údajně již proběhly, jsou zde i silné stránky.

Nový svět společnosti Apple

V tomto novém světě prostorových počítačů jsou aplikace, výpočetní technika, okolní inteligence a nejrůznější druhy zábavy vzdálené pouhý dotek digitální korunky. Tento prostorový počítač spojuje skutečné zážitky s digitálním obsahem. Poskytuje největší zážitek na světě na displeji, desítky tisíc aplikací a mění výpočetní techniku na všudypřítomné prostředí, které můžete sdílet s ostatními, kteří mají sadu těchto věcí, a zároveň umožňuje vaší rodině virtualizovaný pohled do vašich očí.

Nové nastavení ve Windows 11 zabrání aplikacím, aby vás špehovaly Přečtěte si také:

Nové nastavení ve Windows 11 zabrání aplikacím, aby vás špehovaly

Ke cti společnosti slouží, že strávila spoustu času přemýšlením o tom, jak navrhnout a vytvořit geekovské brýle, které víceméně nepřekáží. „Apple Vision Pro je také vybaven technologií EyeSight, mimořádnou inovací, která pomáhá uživatelům zůstat ve spojení s lidmi kolem sebe,“ uvedl Apple ve svém prohlášení a vysvětlil:

„Když se člověk přiblíží k někomu, kdo má na sobě Vision Pro, zařízení je jakoby průhledné – umožňuje uživateli vidět ho a zároveň zobrazuje jeho oči. Když je uživatel ponořen do prostředí nebo používá aplikaci, EyeSight dává ostatním vizuální signály o tom, na co se uživatel soustředí.“

Apple ve všudypřítomném podniku

Ale pro koho jsou tyto věci kromě relativně dobře technicky vybavených singles, kteří spí sami v prázdných domech, určeny? Je nesporné, že existuje rodící se trh. Existují lidé, kterým tento druh techniky osobně změní život. Existuje řada profesí (zdravotnictví, bezpečnost, skladování, inženýrské služby v terénu, prodej, záchranářství, armáda a další), ve kterých má tento druh ambientní výpočetní techniky ve spojení s šíleně skvělým vývojovým prostředím velký smysl.

Je zajímavé, že Apple při velkém zavádění věnoval tolik energie podnikovému nasazení.

hacking_tip

„Podívejte se na způsob, jakým to Apple prezentoval, jak se nejprve odpoutal od způsobů, jak mohou organizace tuto neuvěřitelnou novou technologii využít,“ řekl generální ředitel společnosti Jamf, Dean Hager.

To vše vyvolává otázku.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }