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

Quais apps usar se você decidir deixar o Facebook (e Instagram e WhatsApp)

Getty Images
Imagem: Getty Images

Felipe Mendes

Colaboração para Tilt, em São Paulo

13/01/2022 04h00

O Facebook é uma das redes sociais mais utilizadas atualmente, com quase 3 bilhões de usuários ao redor do mundo, mas se você não está tão contente saiba que existem alternativas. Romper totalmente com o Facebook significa deixar de lado também o Instagram e outros serviços da empresa —dependendo do seu nível de desapego, também significa deixar o WhatsApp de lado.

Alternativa para matar tempo

Se você é daquelas pessoas que utilizam a rede social apenas para ar tempo, saiba que outros apps podem ser bastante atrativos.

O YouTube, por exemplo, é um matador de tempo clássico, com seus vídeos de tudo quanto é coisa.

Se gosta de memes, dancinhas e quer apenas ver algo que não necessariamente necessita de pensar profundamente, o TikTok pode ser uma solução. Contando com vídeos, músicas e muitas coreografias, a rede social de vídeos já caiu nas graças de muitas pessoas e você provavelmente vai achar seus conhecidos por lá.

Uma das vantagens do TikTok é que é possível estar por dentro das tendências sem nem ao menos possuir uma conta.

TikTok - Unsplash - Unsplash
TikTok
Imagem: Unsplash

Agora, se você não se interessa tanto por vídeos e sua ligação com o Facebook está no Instagram, você pode tentar o Pinterest, que vai te mostrar diversos tipos de imagens e te inspirar com tendências de decoração, moda, artesanato, viagens e todos os assuntos que você costuma ver nas redes sociais de fotos.

Interface do Pinterest - Getty Images - Getty Images
Imagem: Getty Images

Por dentro das novidades

O Facebook também virou um lugar para consumir notícias. Para substituir este aspecto, vale tentar o Twitter. Lá estão os principais canais de jornalismo e influenciadores, além das autoridades e órgãos públicos.

Uma alternativa legal é o Google App, que a o buscador do Google e também destaca notícias diárias sobre seus assuntos favoritos.

Bater papo em grupo

Se você é fã do WhatsApp, pode tentar migrar para o Telegram, o aplicativo que mais cresceu em 2021 e se aproveitou da polêmica sobre a nova política de privacidade do WhatsApp para ganhar espaço. Um atrativo do app são os grupos separados por assuntos.

O Signal também é uma alternativa interessante e segura, que não carrega seus contatos e te dá mais controle sobre seus dados.

O Google também criou sua própria plataforma, o Hangouts —a desvantagem é que ainda não possui criptografia de ponta a ponta.

Outra alternativa é o Snapchat, que após um sucesso inicial acabou ficando de lado no Brasil. O app vem com recursos que podem ser utilizados nas conversas, como filtros, mas apenas algumas de suas comunicações são criptografadas, o deixando menos seguro que o WhatsApp.

Eventos

O Facebook possui o recurso "Eventos", que facilita a vida de quem não tem nada programado e busca algo para fazer próximo da própria localização.

App Meetup - Divulgação - Divulgação
App Meetup
Imagem: Divulgação

Uma alternativo é o Meetup, uma ferramenta dedicada apenas a eventos e confraternizações. Nela é possível buscar por palavras-chave, como teatro, música, e, em seguida, definir o local que deseja ir.

Fóruns como o Reddit também possuem comunidades baseadas em localização e tópicos sobre coisas para fazer em diversas cidades.

Exporte seus contatos

Agora que você já conhece algumas alternativas para deixar o Facebook, vale exportar os contatos que mantém na rede de Mark Zuckberg, para ter as informações visíveis dos seus amigos por lá.

Para isso, vá ao seu perfil, clique nos três pontinhos, e "Configurações", "Suas Informações do Facebook", e "Baixe suas informações". No intervalo de datas selecione "Desde o Início", clique em "Desmarcar tudo" e desça até "Amigos e Seguidores" para ativar. Para finalizar, basta "Solicitar um ".