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

Guilherme Ravache

OPINIÃO

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

Fim do gatonet: plano é tornar 'tão ruim que ninguém vai querer comprar'

Fim do gatonet: plano é deixar  experiência do usuário tão ruim que ninguém vai querer comprar - Montagem/UOL
Fim do gatonet: plano é deixar experiência do usuário tão ruim que ninguém vai querer comprar Imagem: Montagem/UOL

Colunista do UOL

02/03/2023 04h00

Carlos Baigorri, presidente da Anatel, disse a jornalistas durante evento em Barcelona que, desde a intensificação do combate ao gatonet com o bloqueio das caixinhas de IPTV no início de fevereiro, as queixas na Anatel aumentaram.

"Já tem usuário reclamando na Anatel de que o TV box dele parou de funcionar. Ele [o usuário] está ligando para nós para reclamar de algo que a gente fez de propósito", disse Baigorri, como reportou o site TelaViva.

O fato mostra que muita gente utilizando as caixinhas não imagina que está cometendo um crime. Também demonstra que quem compra gatonet não tem garantia alguma e corre um grande risco de jogar dinheiro no lixo, além de se expor a ameaças virtuais que acompanham os equipamentos clandestinos.

Pirataria não acaba, mas pode não compensar

Exterminar completamente a pirataria é uma meta distante. Mas torná-la difícil para o usuário ou complicada a ponto de tornar a prática tão ruim que não valha a pena é uma estratégia eficiente. E é nesse sentido que a Anatel tem atuado.

Imagine você convidar seus amigos e familiares para assistir à final de campeonato e na hora H a caixinha não funcionar? Ou você gastar R$ 300, R$ 400 em um aparelho pirata e descobrir dias depois que jogou dinheiro no lixo porque não funciona ou falha constantemente? Os piratas podem disponibilizar novos servidores rapidamente, mas isso complica o uso pelo cidadão comum e encarece a operação dos criminosos. E criminosos também escolhem os crimes que cometem considerando onde há menos risco e maior retorno financeiro.

Quando a experiência é ruim, o usuário é empurrado para uma alternativa mais conveniente. Certamente, se forem oferecidos preços mais convidativos pelas plataformas legais, a mudança será ainda mais rápida. A indústria da música é um exemplo disso.

A pirataria de faixas musicais era altamente popular, até que o combate aos piratas foi intensificado e surgiu o Spotify. O risco de baixar arquivos duvidosos e com ameaças digitais se tornou menos atraente do que pagar um valor fixo para ter o a todas as músicas e ainda poder organizar tudo em playlists e receber sugestões de novos artistas.

"Sabe qual é a nossa expectativa? Vamos criar a experiência de uso do TV box tão ruim que ninguém mais vai querer comprar", afirmou Baigorri aos jornalistas.

Exemplos de combate à pirataria

Após anos de atraso, o Brasil finalmente começa a implementar no setor audiovisual medidas eficientes e amplamente utilizadas com sucesso em muitos países. Diversos estudos já mostraram que a pirataria gera bilhões em prejuízos para a indústria criativa e ao Estado, que deixa de receber impostos.

Uma das mais eficientes ferramentas, o "bloqueio de sites", permite que os órgãos cabíveis instruam os provedores de serviços de Internet a bloquear o o local a sites offshore dedicados à pirataria. Esse bloqueio de sites provou ser um remédio eficaz contra a pirataria em mais de 40 países que implementaram a medida. E é isso que a Anatel está começando a fazer.

Numerosos estudos mostraram reduções drásticas na pirataria com o bloqueio de sites e dispositivos piratas, como Portugal, com queda de 69,7% e Austrália, menos 53%.

Em um estudo conjunto de 2018 realizado por pesquisadores da Carnegie Mellon University e da Chapman University, o bloqueio de sites levou os usuários que anteriormente frequentavam os principais sites piratas a mudar seu comportamento depois que esses sites foram bloqueados, como afirma Ruth Vitale, CEO da CreativeFuture, no The Hill.

Vencendo pela preguiça

Mesmo diante do risco de levar ameaças cibernéticas para dentro de casa e do fato da pirataria estimular quadrilhas de criminosos internacionais, muitos preferem ignorar o problema e justificar das mais diversas formas a complacência com o crime. Mas sem dúvida, a conveniência é fator determinante, na prática, de consumir conteúdo ilegal.

Mas isso também pode ser usado contra os piratas. Se ficar difícil encontrar conteúdo pirata e a experiência do usuário se tornar ruim, fica mais fácil estimular o uso das alternativas legais.

Em uma amostra representativa do estudo, "o bloqueio de 19 dos principais sites de pirataria causou uma redução significativa na pirataria total e, subsequentemente, levou os ex-usuários dos sites bloqueados a aumentarem o uso de sites de streaming legais pagos, como a Netflix, subindo 11%, em média".

A Anatel avalia não ter autoridade para fechar sites e apps e limita sua atuação aos serviços que oferecem as caixinhas. Mas isso deve mudar, e a Anatel está finalizando um acordo com a Ancine para derrubarem sites e apps de pirataria.

Uma vez que as pessoas em a usar plataformas legais, também acontece uma mudança de hábito, reforçando o comportamento positivo. Como todo bandido sabe, o melhor lugar para cometer um crime é onde ele é mais fácil e tem menos risco. Com os consumidores de pirataria a lógica é a mesma. Se o risco de cometer um crime for certeza de dor de cabeça, há boas chances de que ele deixe de acontecer.

Siga a coluna no Twitter e Instagram.