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

Sentiu? Facebook se defende de acusações do filme "O Dilema das Redes"

Cena de O Dilema das Redes (2020) - Reprodução
Cena de O Dilema das Redes (2020) Imagem: Reprodução

Rodrigo Trindade

De Tilt, em São Paulo

02/10/2020 18h24

Sem tempo, irmão

  • Facebook criticou documentário por tornar redes sociais "bodes expiatórios" de problemas
  • Empresa questiona principalmente a não-inclusão de iniciativas adotadas pela plataforma
  • Questionamentos se sustentam em geral, mas relevam problemas atuais

O Facebook parece ter sentido a repercussão do documentário "O Dilema das Redes", lançado pela Netflix há algumas semanas. Nesta sexta-feira (2), a rede social divulgou um comunicado em sete tópicos criticando o conteúdo do filme. A empresa de Mark Zuckerberg acusa a obra de dar uma visão distorcida de como as redes sociais funcionam, para, segundo o texto, "criar um conveniente bode expiatório para problemas sociais complexos".

No comunicado, a empresa tenta desmentir a narrativa do documentário sobre vício, algoritmos, dados, polarização, eleições, desinformação e a visão de usuário como produto. Para isso, o Facebook resgata iniciativas dos últimos anos para corrigir seus problemas, embora algumas delas tenham vindo depois do lançamento do filme —que foi em janeiro deste ano, no Festival de Sundance.

Para rebater a ideia de que vicia usuários, o Facebook diz que cria produtos para adicionar valor à plataforma. Para isso, mudou em 2018 o feed de notícias, trocando a prioridade do algoritmo. Em vez de vídeos virais, focou em "interações sociais significativas" com amigos e parentes. Como resultado, houve uma queda de 50 milhões de horas por dia na plataforma.

A empresa também lembrou das suas ferramentas que informam quanto tempo o usuário ficou navegando para defender a ideia de uso saudável. Faria sentido se uma métrica comum dos resultados financeiros da empresa não fosse os usuários ativos diários e mensais. Novos recursos do Facebook também buscam segurar seus usuários, como streaming de vídeo e o lançamento de cópias do TikTok.

Por falar em usuários, o Facebook diz que "você não é o produto" no título de um dos tópicos do texto. Mas em seguida contradiz um pouco o próprio título. "O Facebook é uma plataforma bancada por publicidade, o que significa que vender anúncios nos permite oferecer a todo mundo a habilidade de se conectar de graça", diz o texto.

A questão é que o produto do Facebook está nos dados de seus usuários, sejam eles manipulados de forma anonimizada (isto é, sem atrelar nome da pessoa ao dado) ou não. Não importa que "mesmo quando empresas compram anúncios no Facebook elas não sabem quem você é". Suas preferências são conhecidas pela plataforma, e ela te encaminha conteúdo segmentado de acordo com o público-alvo. Você é o produto, mesmo que isso seja mascarado por eufemismos.

Algoritmos, dados e polarização

A empresa também rejeita a ideia de que seu algoritmo é "maluco". Nesta, não há erro. Assim como outras plataformas —a Netflix, o Facebook faz questão de citar, inclusa—, a inteligência do seu feed ou das indicações de grupos está alinhada com seus interesses e é melhorada com o tempo, por usar aprendizado de máquina.

Isso significa que os sistemas de inteligência artificial da empresa aprendem com cada migalha de informação que você deixa por lá. Reações, comentários, compartilhamentos; as pessoas com quem você mais interage; os grupos que você participa. Tudo pesa para as recomendações recebidas.

O Facebook foi pivô de grandes escândalos de dados no ado, em particular o da Cambridge Analytica, que vazou informações de milhões de usuários. Desde então, a empresa mexeu nas suas políticas de uso de dados, deu mais controles ao usuário do que pode ser apagado e está sob leis como o GDPR (Regulamento Geral de Proteção de Dados) e a LGPD (Lei Geral de Proteção de Dados) do Brasil.

No quinto ponto levantado pelo Facebook, a polarização, fala-se que ele incentiva a formação de bolhas. A empresa argumenta que "polarização e populismo" existem há muito tempo — não nasceu com a internet e redes sociais. Também diz que a maioria do conteúdo visto lá não é polarizador nem político, e que tem ferramentas para diminuir alcance de conteúdo sensacionalista. Mas ite que alguns posts polarizantes ganham muitas interações, curtidas e comentários.

Nos Estados Unidos, esses conteúdos mais interagidos costumam ter um viés de direita ou extrema direita, como compila diariamente o usuário Facebook's Top 10 no Twitter. A empresa reforça que posts com mais interações não significam que são os mais vistos. Mas o problema da polarização tem um elemento não abordado pelo comunicado do Facebook: grupos.

Alguns destes têm sido eliminados por iniciativas das equipes de segurança do Facebook. Ao mesmo tempo, a plataforma incentiva que pessoas integrem novos grupos públicos —ligados, é claro, com os interesses da pessoa. Estes podem variar de receitas a teorias da conspiração, mas é certo que os algoritmos irão recomendar opções alinhadas aos gostos de usuários, encorajando a criação de bolhas.

Eleições e desinformação

Nos dois últimos tópicos, o Facebook assume erros nas eleições norte-americanas de 2016, mas reclama que "O Dilema das Redes" não traz os esforços para impedir que pessoas usem a plataforma para interferir em eleições.

Entre eles está a criação da Biblioteca de Anúncios políticos, que guarda propaganda de candidatos na plataforma. Hoje essa área exige os dados pessoais de quem paga pelo impulsionamento de conteúdo.

A outra iniciativa foi o desmantelamento de mais de 100 redes que agiam no chamado comportamento inautêntico coordenado, entre elas uma com ligações à família do presidente Jair Bolsonaro (sem partido).

Quanto à desinformação, o Facebook estabeleceu parceria com a IFCN (Rede Internacional de Checadores de Fatos) e terceirizou a ela a tarefa de sinalizar que notícias são falsas ou enganosas. A prática é comum entre redes sociais. Mas o Facebook tem hesitado mais do que a concorrência para hora de sinalizar ou até derrubar conteúdos de autoridades que desinformam na plataforma, às vezes até em desrespeito às políticas contra discurso de ódio.

A empresa mantém uma postura firme, defendida abertamente por Zuckerberg, que publicações de autoridades públicas merecem um tratamento diferente para serem julgadas pelos eleitores. Como quase todos os tópicos citados neste artigo, a decisão é ível de discussão.