Menu Zavřít

X může selhat, přiznává Musk. Jeho plánovaná změna Twitteru k lepšímu se zatím nedaří

22. 8. 2023
Doba čtení: 2 minuty
Autor: Depositphotos
  • Poprvé od převzetí platformy X (dříve Twitter) Elon Musk připustil, že snahy o její reformu nemusí být úspěšné
  • Nejbohatší muž světa provedl na sociální síti velké množství změn, které kritizovala řada odborníků, inzerentů i běžných lidí
  • Ještě před měsícem přitom americký miliardář tvrdil, že počet uživatelů na platformě dosáhl nového maxima

Majitel sociální sítě X, dříve známé jako Twitter, Elon Musk o víkendu překvapil nezvykle tvrdým vyjádřením, z něhož vyplývá, že s aktuálním stavem své platformy není příliš spokojen. „Smutnou pravdou je, že v současné době neexistují žádné skvělé sociální sítě,“ uvedl Musk na adresu X.

Ještě větší rozruch pak vyvolalo pokračování daného příspěvku, v němž nejbohatší muž světa připustil, že příliš optimisticky nevnímá ani budoucnost vlastní sociální sítě. „I my můžeme selhat, jak ostatně mnozí předpovídali. Pokusíme se ale udělat vše, co je v našich silách, aby aspoň jedna skvělá síť existovala,“ doplnil americký miliardář. Další komentář k situaci už ovšem neposkytli ani on, ani jeho společnost.

Další a další problémy

Muskovo nejnovější prohlášení je v ostrém kontrastu s razantními změnami, které si na platformě prosadil a které ji měly učinit mnohem konkurenceschopnější. Od loňského nákupu sociální sítě za 44 miliard dolarů (téměř bilion korun) podnikatel propustil více než tři čtvrtiny zaměstnanců, upravil pravidla moderování obsahu, zavedl zpoplatnění ověřených účtů a nakonec síť i přejmenoval.

Žádný Twitter, prostě X. Nový název Muskovy sociální sítě si říká o žalobu, duševní práva na stejné písmeno má Meta i Microsoft
Přečtěte si také:

Žádný Twitter, prostě X. Nový název Muskovy sociální sítě si říká o žalobu, duševní práva na stejné písmeno má Meta i Microsoft

Služba se ale celou dobu potýká s mnoha problémy, jako je odliv inzerentů či kritika některých uživatelů za nedostatečné odstraňovaní nenávistného obsahu a dezinformací. X také v poslední době postihlo několik výpadků, přičemž ten nejnovější způsobil, že lidem nefunguje zobrazování starých tweetů, které obsahují obrázky nebo externí odkazy.

Další kritiku některých uživatelů pak podle Business Insideru vyvolalo Muskovo nedávné prohlášení o tom, že platforma přestane nabízet funkci blokování. Zatím není přesně jasné, jak a kdy začne nový systém fungovat. Řada lidí se nicméně obává, že to povede k dalšímu nárůstu nenávistných projevů.

Nedaří se ani Threads

Muskův pesimismus je překvapivý i kvůli tomu, že ještě před necelým měsícem si miliardář pochvaloval neustále stoupající počet lidí, kteří mají na X svůj účet. Sociální síť podle jeho příspěvku dokonce dosáhla letošního rekordu, když se měsíční počet uživatelů vyšplhal na více než 540 milionů.

bitcoin_smenarna

Sever Mashable každopádně upozornil, že tento údaj může být do velké míry zavádějící. Při bližším zkoumání Muskova profilu totiž novináři zjistili, že celkem 42 procent jeho sledujících nemá ani jednoho vlastního followera. To podle Mashable znamená, že velká část těchto profilů můžou být neaktivní boti. Sám miliardář přitom o měsíc dříve tvrdil, že vývojářům X se velké množství takovýchto botů již podařilo odstranit.

Nepřítel mého nepřítele je můj přítel. Zuckerbergova síť Threads těží z Muskovy klesající obliby, dle psycholožky jen dočasně
Přečtěte si také:

Nepřítel mého nepřítele je můj přítel. Zuckerbergova síť Threads těží z Muskovy klesající obliby, dle psycholožky jen dočasně

Majitele automobilky Tesla ale může těšit, že podle CNN se příliš dobře nedaří ani jeho největší konkurenci. Denní počet aktivních uživatelů sociální sítě Threads, kterou na začátku července spustila společnost Meta, se za pouhý měsíc snížil o přibližně 82 procent. Podle zhruba tři týdny starých dat tedy aplikaci každý den využívalo pouze osm milionů uživatelů.

  • Našli jste v článku chybu?
'; 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'; } }