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

Michel Alcoforado

OPINIÃO

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

Fator Monark e a publicidade: risco de bancar gente mal intencionada é alto

Colunista do TAB

09/02/2022 04h01Atualizada em 09/02/2022 09h19

Fui obrigado, por conta do ofício, a assistir mais um episódio do podcast "Flow".

A atração faz parte de uma nova onda da podosfera. Em um estúdio bonitinho, convidados ilustres e entrevistadores despreparados conversam de maneira descontraída, sem roteiro ou preparo prévio como se estivessem em uma mesa de bar. "Flow Podcast" é um dos melhores exemplos do formato.

De uns tempos para cá, as marcas entraram de cabeça no financiamento da podosfera. Elas acreditam que, ao se misturarem à conversa, serão capazes de capturar a atenção de milhões de consumidores, vender mais e lucrar. Jogam caminhões de dinheiro na conta dos produtores de conteúdo que, até pouco tempo atrás, nada mais eram do que gamers, nerds anônimos ou indivíduos com pouco traquejo social, sem qualquer preparo.

É preciso muito cuidado.

O risco de financiar gente despreparada é alto. O perigo de se misturar com porcos é que, uma hora ou outra, farelo se come. Os estragos são imensuráveis. A migração de parte dos investimentos de comunicação das empresas para esse tipo de conteúdo coloca marcas nas mãos de gente mal preparada, com pouco conhecimento e muito à vontade para distribuir as próprias opiniões sobre qualquer coisa.

Foi o que aconteceu no último episódio do "Flow", que contou com a participação deputada federal Tabata Amaral (PSB-SP) e Kim Kataguiri (DEM-SP). Dessa vez, Monark, famoso por uma recente pataquada sobre racismo, achou normal defender a legalização de um partido nazista no Brasil porque, se alguém é "antijudeu, ele tem o direito de ser antijudeu".

Tabata ainda tentou rebater e mostrar o tamanho do absurdo dito, mas logo ficou claro que não há diálogo com gente burra ou mal intencionada. O programa foi ao ar sem cortes.

Rapidamente, as redes sociais cobraram responsabilidade dos patrocinadores, dado que se deram conta de que não podem esperar nada dos apresentadores. Entre 13h e 14h, quase todos os anunciantes se manifestaram.

O aplicativo de entregas iFood, WiseUp, Ragazzo, o PrimeVideo da Amazon, Flash Benefícios, Amazon Music, Puma, a Lacta e FinClass viraram alvo dos consumidores, que os acusam de serem co-participantes do imbróglio. A Flash, maior patrocinadora, saiu com uma nota de repúdio cancelando o contrato.Bis, Puma, FinClass e Habib's (dona do Ragazzo) comunicaram que não eram patrocinadoras fixas, mas repudiavam as falas.

Ao patrocinar um programa ou alguém, a empresa "chupa" parte dos atributos do patrocinado. Não por acaso, aos olhos dos consumidores, ao longo do tempo, patrocinado e patrocinador acabam ficando com o mesmo jeitão, estilo e características. Por tal motivo, diante do absurdo dito no podcast de Monark, já era previsível a debandada dos contratos. Não é perseguição ou má-vontade. É capitalismo.

O outro ponto importante é que as empresas sabem, como bem pontuou Nestor Canclini, que há tempos consumo e cidadania se misturam. Nós nos valemos das nossas decisões de compra para nos posicionar diante do mundo, entender nossos direitos e deveres e exigir que as grandes organizações se comportem não só de olho nos ganhos e lucros, mas sobretudo na contribuição para um bem comum.

Exigir a saída das empresas do conjunto de patrocinadores do "Flow Podcast" é também uma forma de se posicionar politicamente, sem a necessidade de esperarmos pelas próximas eleições para definir em que mundo queremos viver.

Monark parece ser aquele tipo de gente que acha que a Terra é plana, que vacinas não funcionam como ele quer (por isso, deduz que não funcionam bem) e que as versões importam mais que os fatos. Perdeu o lugar na bancada do podcast — sobre isso, veremos — e aprende na marra que falar também é fazer, que toda ação possui uma reação e que quando a cabeça não pensa, o corpo paga.

Ainda bem.

Errata: este conteúdo foi atualizado
Diferentemente do que foi afirmado na primeira versão desta coluna, o deputado Kim Kataguiri não é do Podemos. Ele continua filiado ao DEM. O texto foi corrigido.

** Este texto não reflete, necessariamente, a opinião do UOL