;

BYOD ve středně velkých firmách: největší problémy

7. 5. 2013
Doba čtení: 3 minuty

Sdílet

Autor: © violetkaipa - Fotolia.com
Politika BYOD má ve středně velkých společnostech potenciál posilnit menší pracovní skupiny. Jaké jsou největší problémy při zavádění používání vlastních zařízení?

← Proč jsou BYOD ve středních firmách přehlíženy?

Jaký je největší problém středně velkých společností v oblasti BYOD?

Rugeová: Prostor středně velkých společností je velice citlivý na nákladovost, nicméně tyto společnosti jsou si vědomy i bezpečnostních otázek. Mají tendenci nepovolovat zaměstnancům věci typu SMS. Svým zaměstnancům nenabízejí žádný způsob, jak svá osobní zařízení využít naplno. Přestože u BYOD oceňují výhody nižších nákladů, tyto výhody nevyužívají.

Například menší společnosti mají tendenci využívat on-premise řešení. Ovšem uživatelé říkají, že vzdálený přístup a schopnost zachytit [data] do cloudu z mobilních zařízení bude mít za důsledek ohromnou efektivitu. To, co opravdu potřebují, jsou cloudová řešení.

Přechod z on-premise na cloudové řešení není přirozenou migrací. Společnosti musejí zavrhnout své on-premise implementace a začít znovu s cloudovými řešeními. Proto mají mnohé středně velké společnosti pocit, že musejí jít zpět, aby mohly jít dopředu. Středně velké společnosti mají tak malý tým s omezeným souborem klíčových kompetencí, že na takovou migraci nemají sílu.

Myslím si ale, že nakonec to budou muset překousnout.

Přesune BYOD společnosti do cloudu?

Ano, jednoduše proto, že oportunistická a globální povaha práce znamená, že pobyt v kanceláři a práce s on-premise zařízeními je přílišné mrhání časem. Politika BYOD dokáže opravdu zrychlit pracovní procesy.

Čili u politiky BYOD a způsobu její implementace existují určité reálné problémy. Středně velké společnosti mají stejně jako ty největší tendenci psát svá pravidla [nejen BYOD] velmi učeným právnickým žargonem, který chrání společnost. Ve skutečnosti jasně neformulují, co tato pravidla znamenají v každodenním kontextu pro zaměstnance.

Ptala jsem se lidí, jestli společnost může nebo nemůže vidět, co dělají na svých soukromých zařízeních, nebo tato zařízení promazat, jestliže se ztratí. Úplně všichni mi odpověděli, že neví. To by mělo být nepřijatelné.

Zaměstnanci potřebují vědět, za co jsou zodpovědní, a také by jim měl být poskytnut jasný přehled toho, jak mohou pracovat se svými soukromými zařízeními způsobem, který chrání jak je, tak jejich společnost. Zaměstnanci by měli vědět, jak zacházet s e-maily, jak zálohovat, jak štítkovat různé věci – ať už jde o cokoliv.

Skrývání za právničinou není výhodné pro nikoho. Rozhodnutí, která jsou nyní ve hře, mají tendenci se zaměřovat na právní aspekty IT implementací a ne na kulturní dopady. Existuje tu spousta překážek, jako například neschopnost sdílet soubory nebo vidět dostupnost lidí. Přestože to může vypadat dobře na papíře u managementu, ve skutečnosti to způsobuje hodně chaosu, stresu a potíží pro zaměstnance.

Cyber25

Středně velké společnosti si neuvědomily svou potřebu mít někoho v organizaci, kdo by zjistil, jak lidé mohou pracovat lépe, a potom své výsledky zdokumentovat a dělat osvětu. Pravidla BYOD mohou být tímto způsobem pozitivně ovlivněna.

Nebezpečí nedostatečných pravidel →

'; 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'; } }
OSZAR »