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

Alberto Bombig

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Lula precisa sair do modo analógico e entender o poder de um smartphone

Lula discursa em evento na Brasilândia, em São Paulo - Twitter/Reprodução de vídeo
Lula discursa em evento na Brasilândia, em São Paulo Imagem: Twitter/Reprodução de vídeo

Colunista do UOL

01/05/2022 11h48

Acostumado a ser o astro de campanhas eleitorais analógicas e repletas de recursos financeiros, Lula (PT) está enfrentando dificuldades em se adaptar ao mundo digital, ao império do smartphone, digamos assim. Derrapou novamente ao dizer que Jair Bolsonaro (PL) não "gosta de gente, ele gosta de policial". A repercussão foi ruim para o petista nas redes sociais, especialmente entre as audiências de centro e de centro-direita.

O líder petista parece não ter entendido ainda que os discursos moldados para plateias "nichadas" acabam indo para o mundo inteiro nestes tempos de conectividade via redes sociais. Falar para os nichos sempre foi uma das grandes habilidades de Lula. Diante de empresários, adotava tons mais conservadores e moderados. Aos estudantes e trabalhadores, encarnava o velho líder sindical das décadas de 70 e 80.

A fórmula funcionou perfeitamente até 2006, quando Lula, montado no poder, disputou e venceu sua última eleição, no caso, a presidencial, e 90% das ferramentas digitais de hoje ainda não existiam. Eram outros tempos: 1) a TV mandava praticamente sozinha na campanha, o PT dispunha de muito dinheiro (bem mais do que os concorrentes) e de equipes competentes para fazer programas eleitorais de bom nível e edulcorar todas as falas do candidato; 2) as gafes verbais de Lula (elas sempre existiram) eram, obviamente, limadas das peças e ficavam restritas ao crivo da imprensa profissional, de alcance amplo, porém limitado em comparação com as redes sociais; 3) se alguma informação escae do controle da campanha, rapidamente um exército de aliados e militantes se encarregava de trabalhar na contra-informação.

Agora, o jogo mudou. Todo mundo tem um smartphone e filma tudo. Os inimigos e os amigos editam como querem e colocam nas redes sociais. Em poucas horas, esses conteúdos estão pautando o debate público, quase sempre fora do controle do PT e do pré-candidato porque o exército de aliados e militantes está desmobilizado e sem comandantes no ambiente digital. Na verdade, está temporariamente sem comandantes em todos os níveis da pré-campanha. E depois não adianta sair dizendo que as falas foram "tiradas de contexto" porque, sim, é isso que os adversários farão, sempre.

O resultado, no final das contas: tiros no próprio pé do pré-candidato, que busca alargar apoios rumo ao centro. Foi assim com a fala recente sobre os policiais, foi assim quando sugeriu ser possível acabar com a guerra na Ucrânia em mesa do bar, bebendo cerveja, e quando incluiu o tema "aborto" na pré-campanha. Em todas essas situações, Lula estava jogando em casa, discursando para públicos simpáticos a essas ideias. Nas redes, no entanto, o resultado foi desfavorável ao petista.

Para agravar a situação do ponto de vista petista, as tropas digitais de Bolsonaro são, no mínimo, mais experimentadas em termos de guerras e de guerrilhas na internet. O ex-capitão vicejou como presidenciável quando a chavinha das campanhas já tinha virado do analógico para o digital e conta com recrutas jovens, "nativos digitais", liderados por seu filho Carlos (isso para restringir o debate apenas aos aspectos legais ou republicanos, digamos assim, da batalha).

Não é simples exigir de um Lula de 76 anos de idade a mesma vitalidade de raciocínio e a mesma compreensão de mundo que ele demonstrou em outros momentos da vida nacional. Mas, exatamente para contornar essas dificuldades, existem os bons assessores, as boas equipes, os grandes conselheiros. Ainda dá tempo.