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

Quebrada Tech

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

"Até a mulher tem ciúmes": motorista bomba no TikTok com paixão por ônibus

Antes de começar mais uma viagem, o motorista Jefferson Oliveira produz um vídeo para o seu perfil no TikTok - Romildo Francisco
Antes de começar mais uma viagem, o motorista Jefferson Oliveira produz um vídeo para o seu perfil no TikTok Imagem: Romildo Francisco

Tamires Rodrigues

21/04/2021 04h00

O TikTok tem revelado muitos moradores das periferias que têm a habilidade de contar histórias de vida carregadas de vivências sociais e culturais, por meio de vídeos que duram no máximo 15 segundos. O roteiro e o cenário desses vídeos são baseados no cotidiano do morador da quebrada, característica que vem chamando a atenção e engajando muitos seguidores em pouco tempo.

Esse é um pequeno resumo da história do motorista de ônibus Jefferson Oliveira, 36, morador do Jardim Reimberg, bairro localizado no Grajaú, zona sul de São Paulo. Ele afirma que seu cotidiano mudou há um ano, após ter a experiência de mostrar o seu trabalho nas redes sociais com o uso do aplicativo de vídeos curtos.

Oliveira conta que tudo começou como uma brincadeira. "Baixei o TikTok por acaso, porque gosto de conhecer aplicativos novos. A brincadeira se tornou um hobby: fazer os vídeos, divulgar meu trabalho, a paixão que sinto por ônibus, não só por ônibus, mas por carro em geral", diz.

O morador do Grajaú conta que trabalha como motorista de ônibus há 10 anos, mas foi há cerca de um ano que ele criou o perfil no TikTok chamado @Robozao920, que hoje possui mais de 4.500 seguidores. "Cada dia estou conquistando mais seguidores fazendo o que eu gosto, que é dirigir. Sou apaixonado pela minha profissão, tudo que você faz com amor é carinho sai bem feito, né", afirma.

Suas postagens têm, em média, mais de 30 mil likes. O público que interage com seus vídeos assiste à rotina de um motorista de transporte público.

O motorista diz que um dos principais assuntos nos vídeos é o cuidado em dirigir um veículo motorizado que está presente na vida de diversas pessoas periféricas, que o acompanham durante algumas horas do dia na ida e volta para casa.

"Eu cuido dele como se fosse meu, até minha mulher às vezes tem ciúmes de tanto que eu cuido desse carro, cuido até demais", afirma Oliveira.

O ônibus até ganhou um apelido. "Chamo de Robozão porque é um ônibus grande de 23 metros, que na cidade de São Paulo não é tão comum. E 920 porque é o prefixo dele, é o número de identificação dele e da empresa, então a gente apelidou ele de robozão920", diz.

Oliveira não prepara um roteiro ou cronograma de posts para seus conteúdos, o objetivo é ser bem natural e rotineiro. "Geralmente é espontâneo. Eu vejo oportunidade de fazer os vídeos. Eu viciei em fazer os vídeos, então do nada, quando eu vejo a oportunidade de fazer os vídeos eu já estou fazendo", diz.

Ele também recebe alguns vídeos de ageiros que compartilham do mesmo cotidiano. "Algumas pessoas me enviam os vídeos ou, quando o na rua, quem me conhece faz um vídeo e me envia pelo WhatsApp".

Atento às leis de trânsito e à segurança do público que transporta, Oliveira diz que quando está dirigindo pela cidade recebe apoio do cobrador para as filmagens. "Geralmente precisa de uma segunda pessoa para fazer as gravações. Eu tenho auxílio do cobrador que trabalha comigo. A ajuda é espontânea", diz.

Oliveira não se considera criativo. Sua presença no TikTok vem da habilidade que desenvolve como motorista de ônibus. "Na nossa profissão, cada dia é um conhecimento novo que a gente aprende, é uma situação nova, a gente acaba aprendendo a lidar com aquela situação. É com a habilidade no volante que você aprende, você nunca sabe tudo, você sempre vai aprendendo como lidar com situações diferentes, como se comportar. Habilidade e conhecimento vêm do fato de eu trabalhar com um ônibus moderno com grande tecnologia embarcada", conclui.