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

Review Animo: a 'smartband para cães' me fez entender melhor meu cachorro

Animo, monitor de atividades de cães, detecta de coceira e latidos a qualidade do sono - Amanda Dedino/Acervo Pessoal
Animo, monitor de atividades de cães, detecta de coceira e latidos a qualidade do sono Imagem: Amanda Dedino/Acervo Pessoal

De Tilt, São Paulo

05/10/2022 04h00

Esse cachorro aí de cima, esse lindo vira-lata com jeitinho de labrador, é o Brabo, e me adotou três anos atrás, ao invadir minha casa no bairro Carvoeira, em Florianópolis (SC). De início, não queria ficar com ele (já viu o preço de uma ração boa?) Mas a persistência e os olhinhos tristes de cachorro de rua me ganharam.

Decidi, então, voltar a ser pai de pet. De lá pra cá, o cachorro já me fez entender muito bem seu carinho — afinal, me acompanhou em três mudanças e vem me receber na porta de casa todo dia. Eu é que, nem sempre, entendo ele.

E a internet não ajuda muito nisso. Cada canto da rede vai ter um especialista dizendo que o cachorro precisa ear quatro vezes ao dia, ou apenas uma. Ou dizendo que ele precisa comer até cansar, ou que as medidas de ração precisam ser dosadas.

É aí que entra o Animo Smart Monitor, um monitor de saúde para cachorros. A "smartband para doguinhos" chegou com a promessa de levantar mais dados e, assim, entender o que ele precisa, já que infelizmente, ele não fala.

Brinde de pet shop?

O sensor da Animo lembra muito uma AirTag da Apple: 33 mm de diâmetro, 22 g de peso. No meu cachorro de quase 20 kg, isso não atrapalhou nada, e pelo visto, não atrapalharia pets menores também.

Tal qual uma smartband de verdade, o sensor também possui resistência à água IP64, o que é bom para doguinhos fãs de banhos de lama ou de pulos em piscinas ou chafarizes.

A única parte que talvez não agrade gregos e troianos é a ausência de outras cores. O Animo só vem em um modelo: uma mistura de branco, cinza e um logotipo verde-água. É bem discreto (parece mais um brinde de petshop do que um sensor de atividades). Mas se você gosta de enfeitar o cachorro com lenços e roupinhas, pode destoar um pouco.

Particularmente não é minha cor favorita, mas no Brabo, acho que não ficou tão ruim, né?

Deu bastante trabalho, mas depois de brincar um pouco, o cachorro deixou colocar o monitor na coleira - Gabriel Daros/UOL Tilt - Gabriel Daros/UOL Tilt
Deu bastante trabalho, mas depois de brincar um pouco, o cachorro deixou colocar o monitor na coleira
Imagem: Gabriel Daros/UOL Tilt

Instalando na coleira

O monitor vem com quatro peças: a bateria (uma célula de lítio); três tamanhos de borracha para prender a tag à coleira; um anel de metal, para manter a borracha no lugar; e o sensor em si, que tem que ficar posicionado no ângulo e local correto para dados mais precisos.

Montar e desmontar o Animo não é um grande estresse, mas mesmo no caso de dúvidas, o manual impresso explica bem como fazer.

Melhor ainda, o procedimento foi pensado para não ser realizado muitas vezes: a célula de lítio fornece bateria de seis meses para o sensor. Uma vez ligado, é só parear o app (que é super leve).

O processo todo levou dez minutos. A maior parte do tempo foi instalar o sensor enquanto a coleira estava no Brabo. Ele não é muito comportado nessas horas, e acha que é momento de bagunça.

Quantas horas por dia meu cão se coça?

Uma vez ligando e pareando o Animo, é aí que a diversão começa. Após registrar sua conta, você cria o perfil do seu cachorro com base em idade, peso e raça.

Este último aspecto, aliás é bem interessante. Ele permite selecionar até três raças diferentes de cães, caso você tenha uma ideia de quem são os pais do seu pet. E fãs de vira-latas como eu podem ficar tranquilos — eles estão reconhecidos sob a sigla SRD (Sem Raça Definida).

Opções de raças do Animo incluem até "Raça mista", para os donos de vira-latas - Gabriel Daros/UOL Tilt - Gabriel Daros/UOL Tilt
Opções de raças do Animo incluem até "Raça mista", para os donos de vira-latas
Imagem: Gabriel Daros/UOL Tilt

A seleção não serve só para você se gabar do pedigree do seu pet. Ela é o ponto de partida para avaliar dados iniciais: quantas calorias queimou ao longo do dia, tempo de atividade e qualidade do sono.

É bem possível que o primeiro dia surpreenda um pouco. Os dados iniciais não terão avaliações mais profundas — e serviu para mostrar que Brabo, esse belíssimo exemplar de vira-lata, por exemplo, queimava mil calorias mesmo dormindo 10h por dia. A informação, embora chocante, não me diz muito o que fazer com ele.

É só depois dos primeiros 15 dias que a mágica acontece. A Inteligência Artificial do Animo precisa de duas semanas para "estudar" os padrões do cãozinho. E a partir daí, exibe métricas mais específicas, como meta de atividade física, tempo que ou latindo ou se coçando.

É possível ver um gráfico do dia, semana e mês, para verificar os períodos de maior atividade, de descanso, de coceira ou de latido, por exemplo.

Menu do Animo concentra todos os dados de maneira facilitada, do dia até a semana - Gabriel Daros/UOL Tilt - Gabriel Daros/UOL Tilt
Menu do Animo concentra todos os dados de maneira facilitada, do dia até a semana
Imagem: Gabriel Daros/UOL Tilt

E como isso me aproximou do cachorro?

O monitor me deixou muito mais tranquilo — o que faltava para Brabo não era negligência minha, apenas pequenos ajustes.

A queima calórica, por exemplo, estava 200 pontos abaixo da meta sugerida. Algo que ele atingiu fácil com cinco a dez minutos a mais de eio, ou brincando com outros amigos.

As vezes, só de ar tempo com outro cachorro é suficiente para aumentar as atividades - Amanda Dedino/Acervo Pessoal - Amanda Dedino/Acervo Pessoal
As vezes, só de ar tempo com outro cachorro é suficiente para aumentar as atividades
Imagem: Amanda Dedino/Acervo Pessoal

Separado das calorias, o indicador de tempo de atividades também precisava de poucos ajustes. Deixar o Brabo cheirar mais durante o eio, correr atrás de pombos, brincar mais com o gato ou com brinquedos já eram suficientes.

O pontuador de sono levantou algumas dúvidas. Segundo a assessoria da Sure PetCare, fabricante do Animo, o cálculo se baseia "na continuidade e duração dos períodos de descanso durante as horas de sono que definiu para o seu pet."

Dá pra acreditar que, descansando 10 horas no dia, esse menino queima quase mil calorias? - Gabriel Daros/UOL Tilt - Gabriel Daros/UOL Tilt
Dá pra acreditar que, descansando 10 horas no dia, esse menino queima quase mil calorias?
Imagem: Gabriel Daros/UOL Tilt

E aqui o tamanho da simbiose foi uma surpresa. Se eu demorei para dormir, Brabo madrugou comigo também. Se minha noite foi agitada, a dele também foi. E se eu deitei mais cedo, lá foi ele para seu cantinho. Não é à toa, dormir mais cedo melhorou a nota de sono dele — e a minha.

No fim, o Animo foi uma surpresa agradável. ei a entender melhor alguns comportamentos do meu cachorro. E fiquei mais tranquilo ao descobrir que nem todo ajuste envolve grandes mudanças.

Vale a pena?

O preço do produto é, sem dúvida, salgado. Importado direto da Inglaterra, ele chega ao Brasil por R$ 649 em lojas especializadas. É caro, mas esperado, já que o segmento de pets costuma ter valores altos.

Para dizer se vale a pena ou não, primeiro é bom medir suas expectativas.

O Animo não me tornou um especialista em comportamento canino. O que o monitor de atividades faz é dar mais dados para entender melhor os hábitos do cachorro. E isso não vai vir de bandeja: você vai ter que observar e entender o seu.

O Animo mostrou que baixa atividade diária do cachorro não é necessariamente um problema - Amanda Dedino/Acervo Pessoal - Amanda Dedino/Acervo Pessoal
O Animo mostrou que baixa atividade diária do cachorro não é necessariamente um problema
Imagem: Amanda Dedino/Acervo Pessoal

Se meu cachorro tem o hábito de carregar minhas pantufas ou meias enquanto estou fora, não necessariamente isso significa ansiedade. O monitor mostrou, por exemplo, que a maior parte do período ele a em repouso. A agitação, ele reserva para quando eu volto.

Isso foi especialmente útil quando precisei deixar o Brabo hospedado durante uma viagem. Na volta, o monitor apontou o quanto ele latiu, se coçou e brincou, o que serviu como evidência extra de que estava sendo bem tratado.

Se você acha que já se entende bem com o seu cachorro, talvez você não precise deste reforço. Agora, estes dados aliviaram um pouco minha consciência. Se essas informações aliviariam as suas, vale a pena pensar no produto.