Operační systémy a mobilní zařízení z pohledu internetu v SR

9. 2. 2011

Sdílet

Jak se za poslední měsíce měnil slovenský trh operačních systémů a mobilních zařízení? Do jaké míry se liší trendy na českém a slovenském trhu?

Minulý měsíc jsme Vás seznámili s trendy českého trhu operačních systémů a mobilních zařízení v roce 2010, dnes se podíváme na Slovensko. Některé změny v oblasti operačních systémů na slovenském trhu proběhly dříve než v ČR a z pohledu mobilních zařízení zde Apple sklízí větší úspěch.

Windows XP stále vítězí

Podle údajů z výzkumu gemiusTraffic, jehož výsledky jsou pravidelně publikovány na stránkách gemiusRankings, slovenskému trhu operačních systémů stále dominují Windows XP, ale jejich popularita celý loňský rok postupně klesala. V lednu 2010 bylo z tohoto operačního systému generováno 71,48 % všech zobrazení webových stránek a v prosinci 2010 již o 10 % méně. Tento pokles počtu zobrazení byl na slovenském i českém trhu téměř identický.


Podíl zobrazení generovaných OS na Slovensku - vývoj v roce 2010


Pokud se jedná o druhé místo v žebříčku operačních systémů, tak na obou trzích došlo v roce 2010 k podstatné změně: Windows 7 předstihly Windows Vista. Na Slovensku ale tato změna proběhla o něco dříve než v ČR. Nejmladší verze operačního systému od Windows získala 16,64 % zobrazení a Windows Vista klesly na třetí místo s 15,34 % zobrazení již v září 2010. Přitom v ČR Windows 7 dosáhly na druhé místo až v říjnu. V prosinci 2010 měl OS Windows 7 na Slovensku již 21,59 % všech zobrazení, v ČR to bylo o jedno procento méně.

Popularita mobilních zařízení od Apple roste

Data ze studie gemiusTraffic ukazují, že rok 2010 na slovenském trhu mobilních zařízení proběhl ve znamení boje dvou velkých značek a zároveň předních výrobců mobilních zařízení, Apple a Nokia. Pokud se jedná o nejpopulárnější mobilní zařízení pro připojení k internetu, tak tím je jednoznačně iPhone od Apple, ze kterého pochází více než čtvrtina všech zobrazení z mobilních přístrojů (v ČR asi 21%).

Nicméně pokud bychom sečetli zobrazení stránek všech mobilních zařízení, tak ještě v polovině loňského roku byla lídrem trhu Nokia s více než 40 % všech zobrazení stránek a značka Apple jich měla o celých devět procent méně (data za červen 2010). V dalších měsících začal počet webových stránek generovaných mobilními přístroji Nokia klesat a v listopadu získala značka Apple první místo v žebříčku producentů mobilních zařízení podle počtu zobrazení. Tento narůst počtu zobrazení webových stránek generovaných mobilními zařízeními od Applu byl způsoben nejen rostoucí popularitou iPhonu, ale také uvedením nového tabletu iPad na trh.


Podíl zobrazení generovaných mobilními zařízeními na Slovensku - vývoj v roce 2010

prace_s_linuxem_tip


Zajímavé je, že i když iPad stále ještě neměl svou oficiální premiéru na slovenském trhu, jeho popularita je překvapivě vysoká a počet stránek generovaných tímto mobilním zařízením stále roste. Podle těchto výsledků je zřejmé, že slovenští uživatelé internetu nečekali na oficiální premiéru tohoto mobilního zařízení a pořídili si ho v zahraničí anebo využili neoficiální distribuce.

Foto: © Andres Rodriguez - Fotolia.com


Autorka pracuje ve výzkumné agentuře Gemius a zabývá se analýzou dat a marketingem.

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