;(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

OPINIÃO

Análise: Popularidade nas redes (ainda) não ganha eleição. Mas faz estragos

Alan Marques/Folhapress
Imagem: Alan Marques/Folhapress

Matheus Pichonelli

Colunista do UOL

26/10/2020 17h03

Se dependesse da moral dos candidatos nas redes sociais, Guilherme Boulos (PSOL), Marcelo Crivella (Republicanos), Major Denice (PT) e Goura (PDT) seriam os líderes e favoritos nas disputas para a prefeitura em São Paulo, Rio, Salvador e Curitiba, respectivamente.

Líder no Datafolha na capital paulista, com 23% das intenções de voto, o tucano Bruno Covas figurava até 20 de outubro na quarta colocação do Índice de Popularidade Digital elaborado pela consultoria Quaest e divulgado toda semana pela Folha de S.Paulo. Neste quesito, estaria atrás até mesmo de Arthur "Mamãe Falei" do Val, preferido por apenas 4% dos eleitores na pesquisa.

Isso significa que é bobagem aquele papo de que candidato, para ser eleito, tem que necessariamente ter alta inserção nas redes?

Veja bem.

Depois do fenômeno Jair Bolsonaro, eleito com muitos memes e pouco tempo de TV em 2018, não dá para menosprezar a importância das redes para alavancar candidaturas. Mas elas dependem de um conjunto de fatores para converter o meme em autoridade. Mesmo em 2018 elas não fizeram todo o trabalho. Teve o episódio da facada, a crise econômica, o antipetismo, o cansaço com os partidos tradicionais, etc.

Fato é que, nas quatro capitais analisadas pela Quaest, apenas Alexandre Kalil (PSD), em Belo Horizonte, é campeão tanto das redes quanto nas pesquisas.

Mas os candidatos com popularidade digital já mostram condições de fazer estragos e alterar cenários que, diante da limitação causada pela pandemia, o pouco tempo de propaganda na TV e a ausência de debates nas principais emissoras, seria muito mais difícil de serem modificados.

Sob ataque de adversários, concentrados sobretudo nas redes sociais, Celso Russomanno (Republicanos), líder da corrida em São Paulo até outro dia, foi o candidato que mais perdeu votos entre eleitores de 16 a 24 anos. Tinha 35% e hoje tem 20% das preferências. Pelo jeito, não adiantou associar o número de legenda com a camisa 10 de Pelé e se apropriar do vídeo da final da Copa de 70 para viralizar nas redes.

Russomanno está hoje tecnicamente empatado, no limite da margem de erro de três pontos, com Guilherme Boulos. No geral, eles aparecem com 20% e 14% no Datafolha. Entre os jovens, Boulos já goleia. Com forte atuação nas redes, o candidato do PSOL subiu de 17% para 27% das preferências entre quem tem 16 e 24 anos.

Partiu do Twitter do líder do MTST, por exemplo, um dos ataques mais pesados até aqui contra Russomanno: a publicação de uma música perguntando "você sabe quem é esse mano?". Até o episódio do deputado apalpando uma mulher durante a cobertura do Carnaval aparece no vídeo.

Boulos tem apostado em uma linguagem mais descolada, publicações de vídeos curtos, uso de memes e transmissões online, como o trocadilhesca live "Café com Boulos".

Mas só moral na internet não garante voto, ou manifestação de voto em pesquisa, como mostram o desempenho de Arthur do Val e Joice Hasselmann, que também apostaram forte na linguagem das redes e não decolaram na preferência dos eleitores, jovens ou não.

Se aparece bem entre os nativos digitais, Boulos pena para conquistar o paulistano mais velho. Entre quem tem mais de 60 anos, por exemplo, Bruno Covas, que tem apostado num tom mais sóbrio em um amplo espaço na TV, sem tempo, irmão, para brincadeirinhas, soma 30%. Boulos tem 7% neste grupo.

Nas próximas eleições, quem já nasceu e cresceu familiarizado com a linguagem das redes terá peso político cada vez maior. Alguns votarão pela primeira vez. Por enquanto, este engajamento se limita a atingir o público jovem e, claro, com o à internet —o que explica também a popularidade de candidatos como Boulos entre os mais ricos e escolarizados.

Até lá, caso consiga embalo até o segundo turno, o candidato terá de adaptar uma velha música do Chico Buarque, travestido de Julinho da Adelaide, para ganhar a simpatia dos mais velhos: "Você não gosta de mim, mas os seus filhos gostam". Dá samba?