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

Galinha Pintadinha sai do Youtube e vira fenômeno de vendas

Maria Carolina Abe

Do UOL, em São Paulo

17/08/2012 06h00

Foi por acaso que ela virou uma galinha dos ovos de ouro. Sem nunca ter ado na TV, no rádio ou no cinema, o desenho da Galinha Pintadinha virou fenômeno de audiência na internet. Depois, saiu da tela do computador e fez sucesso no mercado infantil.

Os amigos Juliano Prado e Marcos Luporini, de Campinas (SP), publicaram um vídeo no site Youtube, em dezembro de 2006, para apresentá-lo em uma reunião com produtores de TV. O projeto não foi aprovado, e o clipe ficou esquecido em meio a tantos outros vídeos na internet.

Acabou sendo "descoberto" por crianças e pais, e virou um hit. Seis meses depois, já ultraava a marca de 500 mil visualizações --número expressivo para a época.

Agora com um canal exclusivo no Youtube, a Galinha Pintadinha já acumula mais de 494 milhões de visitas. No mundo "real", de 2010 até o final deste ano, a previsão é acumular um crescimento de 2.400% e chegar a 200 produtos licenciados em todo o Brasil.

Galinha não era personagem principal

Com canções antigas, desenhos simples, animações em 2D, e uma bolinha pulando sobre a letra da música bem ao estilo videokê, o projeto vingou por acaso.

A galinha saiu de um papel secundário para tornar-se um ícone entre as crianças, com adaptações de "Atirei o pau no gato", "Escravos de Jó", "O sapo não lava o pé" e "O pintinho amarelinho", entre outros clássicos.

"Quando vimos a reação do público, elegemos a Galinha Pintadinha como personagem central. Até então, ela era apenas um dos personagens da série", afirma Juliano Prado, da Bromélia Filmes, um dos criadores do desenho. "Além de simpática, as crianças pequenas adoram pronunciar o nome dela."

De DVD independente a disco de platina

O primeiro DVD com canções da Galinha foi lançado em produção independente, em 2008, e depois pela Europa Filmes, em 2009. Foram 2.000 unidades vendidas pela loja virtual. No ano seguinte, o DVD 1 vendeu dezenas de milhares de exemplares, com distribuição nacional. O segundo volume, lançado pela Som Livre em 2010, vendeu 330 mil cópias, somando DVD 2, CD 1 e CD 2.

Conquistou dois discos de platina triplo, além de contratos com grandes empresas de produção artística, distribuição e licenciamento de produtos.

O último --DVD 3-- foi lançado recentemente, também pela Som Livre, e já saiu com uma tiragem de 150 mil cópias.

"Desde o ano ado, quando a marca foi licenciada, estamos desenvolvendo uma série de produtos em muitas linhas diferentes. Tem álbum de figurinhas da Editora Abril, livros de colorir da Melhoramentos, bonecos de pelúcia, enfeites para festa. Em breve, teremos roupinhas e uma sandália da Grendene que ficou uma graça", conta Prado, orgulhoso da cria. "Serão cerca de 200 produtos diferentes, vendidos por todo o Brasil."

Galinha vira musical: sucesso de público e de patrocínio

Após sair da Som Livre e tornar-se presidente da Geo Eventos, o empresário Leo Ganem também decidiu faturar em cima do sucesso do personagem azul.

"Quando fui para a Geo, foi natural pensarmos em estender a marca para um musical. Sabíamos que ia ser sucesso", diz.

O espetáculo infantil foi assistido por mais de 40 mil pessoas no Rio de Janeiro, e depois seguiu para São Paulo. Só nos dois primeiros finais de semana, recebeu na capital paulista quase 7.000 espectadores.

"Também é importante dizer que a Galinha não é só um sucesso de público, mas de patrocínio também. Temos Pampers, Lifebuoy, Toddynho Light, RedeCard e Dican", diz Ganem.