;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

'Problema' ou 'sucesso'? Como analistas avaliaram a compra do Twitter

Dado Ruvic/Reuters
Imagem: Dado Ruvic/Reuters

Guilherme Tagiaroli

De Tilt, em São Paulo

30/04/2022 04h00

Quase uma semana após o anúncio da compra do Twitter pelo empresário sul-africano Elon Musk, especialistas ainda estão entendendo o que significa a operação e os impactos —na economia, na cultura e na política. Pela primeira vez, uma rede com mais de 200 milhões de usuários terá um único dono.

Especialistas acham que a istração de Musk pode ser promissora, devido ao seu sucesso em outros ramos, e que tornar a empresa de "capital fechado" poderá ajudar na istração da companhia em uma nova direção.

Ao mesmo tempo, veem com preocupação o plano de relaxamento de políticas de moderação e a perspectiva de um novo rumo para a rede social, podendo ser uma plataforma mais nichada e com menos propagandas.

Amy Webb (fundadora do Future Today Institute)

Em entrevista ao podcast Marketplace, a futurista destacou que o grande desafio de Musk é: como tornar o Twitter lucrativo de uma forma que não vai influenciar a base de usuários a irem para outra rede?

Outro ponto mencionado por Webb é que cada vez mais as pessoas têm buscado espaços mais privados para interagir, em plataformas como Telegram e Discord. "Isso coloca o Twitter numa posição interessante", disse.

Ela explica que Musk disse ser a favor de tornar o Twitter uma plataforma Web3 [conceito em que a rede deve ser livre, descentralizada e aberta] e sinalizou que quer investir em programa de e reduzir a publicidade - algo que atualmente é responsável por 90% do faturamento da companhia.

"Talvez isso acelere a transição [do Twitter] de uma rede totalmente livre, onde todos falam com todos, para um fórum mais delimitado, mais discreto, e mais difícil de achar e entrar, onde o mais importante são as conversas".

Kara Swisher (apresentadora do podcast Sway, do New York Times)

Uma das jornalistas de maior prestígio do Vale do Silício, Swisher disse em entrevista à revista New York Magazine que Musk vê o Twitter "como uma oportunidade de negócio" e que, dado seu histórico, pode fazer a rede social prosperar, mesmo sendo a de menor receita e com menor número de usuários (200 milhões). Facebook tem quase 3 bilhões e TikTok, 755 milhões, por exemplo.

"É possível que dê certo, pois ele é bom em ter sucesso em indústrias em que parece ser impossível se dar bem", disse, em referência ao êxito nos setores de carros elétricos (com a Tesla) e de foguetes espaciais (SpaceX).

Ao mesmo tempo, baseado em planos prévios de Musk, a jornalista diz que a tentativa de "eliminar áreas cinzas" da moderação de conteúdo "pode ser um problema", dado que o mundo está cada vez mais complexo.

Swisher ainda diz que Musk é uma pessoa difícil de se rotular. "Agora, a direita o apoia, e a esquerda o considera uma espécie de vilão", avalia. "Ele gostava de algumas políticas de Trump, mas não gostava dele como pessoa", exemplifica.

"Muitos inventores eram pessoas difíceis, problemáticas —Steve Jobs, por exemplo. Em tempos em que as coisas são tão reduzidas, é difícil para a gente pensar em quão complexos nós somos. E é exatamente isso que ele é".

Casey Newton (autor da newsletter Platformer e colunista do The Verge)

Em podcast da revista Wired, anterior ao anúncio da compra do Twitter por Musk, Newton ressaltou que o empresário tem ideias conflituosas sobre a rede.

Newton explica que ao mesmo tempo que Musk quer combater usuários robôs e spam, ele quer tornar o algoritmo de código aberto — o que, em tese, daria vantagem para quem quisesse abusar da rede. Ao saber das "engrenagens" do algoritmo, pessoas mal-intencionadas poderiam achar formas de burlar os códigos.

"Na minha experiência, quando alguém apresenta um plano com essas contradições internas, é um sinal de que ela não pensou o suficiente sobre o assunto", disse.

Ao mesmo tempo, o jornalista ressaltou que o Twitter conta com uma operação tão complexa que talvez Musk, ao fechar o capital da empresa, seja a única pessoa que possa ajudar a dar um novo rumo para a plataforma.