;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

João Branco

OPINIÃO

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

Clubhouse: a nova rede social da modinha dos influenciadores

Colunista do UOL

10/02/2021 04h00

Lembra das salas de bate-papo do UOL? Agora imagine se elas fossem só em áudio. E se apenas algumas pessoas pudessem falar. E se você pudesse continuar ouvindo a conversa mesmo se estivesse usando outros programas no seu computador.

Isso é o Clubhouse, a rede social que tem nome de hambúrguer do McDonald's e que está na ponta da língua dos formadores de opinião.

É uma mistura de Podcast ao vivo com chamada em grupo de Whatsapp, conversa de boteco e uma pitada de curso à distância.

A rede é muito exclusiva. Literalmente, porque excluiu todo mundo que não tem iPhone (4 em cada 5 brasileiros). Também só permite a entrada de pessoas indicadas (e quem entra só consegue chamar pouquíssimos amigos). Já deu para entender por que o nome começa com "club".

Eu entrei há alguns dias. Só por participar em meia dúzia de salas já consegui mais seguidores do que nos vários anos que tenho em outras redes. Em alguns momentos me senti tendo uma aula particular, em outros estava ouvindo um papo de boteco e em vários ouvi "professores de Deus" ando receitas mágicas para o sucesso. Estou gostando. E comemorando que finalmente temos uma rede social onde o visual faz pouca diferença (os feios me entenderão nesse comentário).

Já deu para perceber que essa novidade vai mudar bastante. Imaginei mil possibilidades de uso da ferramenta. De shows de comédia a transmissões comentadas de esportes, ando por terapias coletivas, comícios políticos, grupos de oração ou sessões de discussão sobre o BBB. Talvez por isso já encontrei por lá figuras como Luciano Huck, Mark Zuckerberg e Elon Musk.

Pra ir além do óbvio, deixo aqui algumas curiosidades observadas por um marketeiro sobre esse fenômeno:

- Finalmente uma modinha que não começou pelo público adolescente. Fazia tempo que isso não acontecia. Dessa vez as celebridades, influenciadores e executivos foram os pioneiros. O que isso diz sobre o Clubhouse? Que tem um montão de gente que já está pensando em como ganhar dinheiro com ela. E isso faz muita diferença. Talvez seja o que vai definir se essa novidade vai durar apenas alguns meses ou não.

- O Clubhouse já ou o Tik Tok em interesse na internet brasileira, mesmo sendo uma rede tão fechada. Impressionante:

grafico - Google Trends - Google Trends
Imagem: Google Trends

Isso diz muito sobre o dinamismo do mercado atual e também sobre a estratégia de "exclusividade" que eles escolheram. E deixa mais uma lição pública sobre a importância de não se acomodar. Nesse novo mundo uma novidade simples pode despontar do dia pra noite e afetar muito o seu negócio, qualquer que seja.

- Lembre que a sua atenção vale ouro. A guerra pelo seu tempo vai ficar ainda mais pesada. Usando algoritmos, inteligência e muita técnica, todo mundo vai se ajustar para garantir que os olhos, dedos e, agora, ouvidos, dos usuários estejam conectados. Cabe a você decidir a quem vai entregar esse tesouro. Mas lembre-se: mais do que os seus olhares, você está decidindo que conteúdo vai permitir impactar os seus sentimentos. Use as redes com responsabilidade. Se por um lado muita gente se sente mal ao ver constantes posts de corpos perfeitos nas redes sociais de fotos, também há quem desperte uma ansiedade extrema ao ver várias salas de áudio disponíveis e conseguir participar de apenas uma.

Se você já está no Clubhouse, será um prazer conectar: @falajoaobranco

clubhouse - Felipe Tomazelli - Felipe Tomazelli
Imagem: Felipe Tomazelli