Asus a MSI představují své tablety. Mají šanci proti iPadu?

2. 6. 2010

Sdílet

Na veletrhu Computex se představila nová vlna tabletů. Konkurenti iPadu se budou na trhu prosazovat ale jen težko.

Obří technologický veletrh Computex 2010 v Taipei je v plném proudu a hlavním tématem jsou dle předpokladů tablety. Většina výrobců se totiž snaží rychle dostat na trh, který teprve před dvěma měsíci otevřel iPad. Využít "domácího prostředí" Computexu chce především Asus a MSI.

Asus Eee Pad EP121 a EP101TC

Asus představil na Computexu dokonce dva tablety. Prvním z nich je Eee Pad EP121 s 12,1palcovým displejem, který je vybaven překvapivě silným, avšak úsporným, procesorem Intel Core 2 Duo ULV. Poměrně velký výkon totiž Eee Pad EP121 potřebuje pro svůj operační systém Windows 7 Home Premium. Přesto Asus slibuje výdrž přenosného zařízení až 10 hodin při provozu na baterie. Za zmínku stojí také integrovaná webkamera a porty USB, HDMI i 3G. Cena tohoto tabletu by se měla pohybovat mezi 399 až 499 dolary. Specifičtější bohužel Asus nebyl a nenabídl ani ukázku provozu tabletu. Eee Pad EP121 byl tak prezentován pouze jako hardware.

Vyzkoušet si v omezené formě bylo ale možné alespoň jeho menšího sourozence - Eee Pad EP101TC. Ten je vybaven 10,1palcovým dotykovým displejem a běží na platformě Windows Embedded Compact 7, což je kompaktní verze Windows pro přenosná zařízení.

MSI WindPad 100 a 110

O své slovo na trhu tabletů se přihlásila také společnost MSI, která představila dvojici odlišných zařízení WindPad 100 a 110. Rozdíly v designu i operačních systémech obou WindPadů mají za úkol zaujmout co nejširší spektrum zákazníků.

MSI WindPad 100 disponuje 10palcovým displejem a oblíbeným procesorem Intel Atom Z530 kmitajícím na frekvenci 1,66 GHz, který podporuje 2GB operační paměť. Pro ukládání dat je WindPad 100 vybaven 32GB SSD diskem. Stejně jako konkurenční EeePad je vybaven i tablet MSI webkamerou a USB a HDMI porty. Operačním systémem je Windows 7 Home Premium. Prodejní cena WindPadu 100, který ale stále zdaleka není dokončen, by se měla pohybovat okolo 499 dolarů.

Druhý tablet MSI WindPad 110 nabízí taktéž 10palcový displej, avšak jiný design i uživatelské rozhraní, které je postaveno na operačním systému Google Android 2.1. Jeho cena by se měla pohybovat okolo 399 dolarů.

Tablety ještě musí dospět

Všechny čtyři zmíněné tablety se ale jeví spíše jako prototypy, především pak Eee Pad od Asusu. Výrobci s jejich vývojem totiž zjevně zaspali a momentálně nejsou schopni uvést své tablety na trh. MSI by mohla své WindPady dostat na pulty obchodů nejdříve na podzim, Asus zřejmě až na začátku příštího roku.

linux_sprava_tip

Přestože jsou představené tablety mírně levnější než iPad, jen těžko konkurenční Apple na tomto trhu porazí. iPad má totiž krom svého již dnes legendárního jména širokou nabídku aplikací a méně náročnější operační systém než Windows 7, který je pro tablety až příliš náročný. Úspěch by tedy mohla slavit spíše zařízení například s Google Android. Ještě také uvidíme s čím přijde HP při vývoji OS pro svůj Slate.

Zmíněný pozdní příchod konkurence na trh bude zřejmě další velký kámen úrazu. Až se totiž začne třeba Asus Eee Pad příští rok prodávat, Apple již bude mít připravený nový, rychlejší a silnější iPad.

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