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

Renato de Castro

Sim, é possível: por onde começar um projeto de cidade inteligente agora?

Freepik
Imagem: Freepik

26/01/2021 04h00

Já estava tudo preparado para eu escrever esse texto diretamente do meu hotel no Rio de Janeiro. agem confirmada, reuniões agendadas e muita expectativa de um início de retomada, principalmente para mim, depois de quase 14 meses sem pisar em terras tupiniquins. Mas, com o fechamento das fronteiras da Itália e cancelamento dos voos de grandes companhias aéreas europeias para o Brasil foi inevitável: planos adiados, mais uma vez!

A vacina finalmente chegou, é verdade! Estávamos esperando ansiosamente por esse momento em todo mundo. Problemas políticos à parte, no Brasil não era diferente. Arrisco até dizer que temos um complicador e expectativa a mais que é o fato de estarmos iniciando um novo ciclo político, em plena emergência.

Coloque-se então no lugar dos nossos novos prefeitos e vereadores. Que desafio! Por onde começar? Como pensar de forma estratégica em médio e longo prazo, se é justamente o "agora" que precisa de nossa total atenção?

E mesmo com a luz no final do longo túnel começando a aparecer, a incerteza quanto a efetividade da vacina para as novas variações do vírus joga um balde de água fria até mesmo nos mais otimistas e bem-intencionados dos mortais.

Desde a publicação dos resultados das eleições municipais, em novembro, que eu tenho sido consultado sobre o tema do mundo pós-covid-19 e as smart cities. Publicamos inclusive diversos textos aqui na coluna sobre o tema.

Como as novas tecnologias podem ajudar neste processo de retomada econômica? O que os governos municipais podem começar a fazer em um momento que a emergência na saúde pública parece ser a única prioridade? Dúvidas, eu diria, universais.

Bem, na minha opinião é muito importante sempre tentar enxergar o chamado "big picture", ou seja, a visão geral das coisas. Entender o ado é fundamental para gerenciar o presente e planejar o futuro.

Se queres prever o futuro, estuda o ado"

Confúcio

Estude o ado! É exatamente as sábias palavras do ilustre pensador e filosofo chinês que nos dá o norte de por onde podemos começar o projeto de smart city em nossas cidades.

Como fazer da minha cidade uma cidade mais inteligente? Acho que essa é a pergunta mais recorrente dos meus últimos cinco anos. A resposta é sempre a mesma:

Smart city não é um destino final, mas sim uma jornada. Longa, árdua e contínua.

A boa notícia é que provavelmente sua cidade já iniciou esse percurso e ninguém se deu conta ainda!

Mas Renato, como fazer essa análise e começar a transformar a minha cidade? É exatamente isso que quero discutir com vocês no nosso texto de hoje.

Lembra do "estudar o ado" do meu amigo Confúcio? Que tal você começar pelo mapeamento dos projetos relacionados a soluções urbanas da sua cidade? Você tem ideia de tudo que já foi feito nesse tema por aí? Posso apostar que você vai se surpreender. Para viabilizar essa primeira análise eu te proponho 3 os:

o 1 - Criação de uma força-tarefa local

Comece pelo levantamento dos principais atores (stakeholders) da sua cidade no que diz respeito a projetos urbanos.

Podemos começar pelos três mais "tradicionais", também conhecidos como tríplice hélice : governo, empresas e universidade. Mas atenção, as teorias mais atuais já falam da quíntupla hélice da smart city, incluindo o terceiro setor e a sociedade.

Garanto que não vão faltar voluntários na sua cidade interessados em contribuir! Isso irá também facilitar muito o levantamento, visto que muitos dos projetos que estamos buscando foram executados exatamente por esses atores.

o 2 - Mapeamento dos projetos

Uma vez instaurada a força-tarefa, comece o mapeamento.

Para nortear os trabalhos, defina uma metodologia a ser seguida. Você precisará de indicadores e principalmente de uma lógica para identificar e catalogar esses projetos dentro do contexto urbano.

Existem várias metodologias disponíveis no mercado e esse tema tem sido o grande questionamento na indústria das smart cities desde a década de 1980.

Sempre ouvimos falar do prestigioso ranking mundial das cidades inteligentes, mas, na verdade, nunca houve um consenso mundial principalmente pela falta de uma metodologia universal para usarmos na comparação.

Esse cenário começou a mudar com a publicação em 2018 da ISO 37:120, também conhecida como a ISO das cidades inteligentes, que consiste em um conjunto de normas técnicas que avaliam a sustentabilidade urbana.

Hoje já contamos com três resoluções que podem nos ajudar no entendimento e na modelagem das nossas cidades inteligentes, com um total de 276 indicadores:

ISO 37:120 - Indicadores para serviços urbanos e qualidade de vida, composta por 128 indicadores.

ISO 37:122 - Indicadores para cidades inteligentes, composta por 80 indicadores.

ISO 37:123 - Indicadores para cidades resilientes, com 68 indicadores, mas com uma forte necessidade de uma revisão depois da pandemia de covid-19.

A ideia não é aplicar a metodologia completa (ainda), levantando todos os indicadores, mas sim usá-la como guia para seu primeiro levantamento.

A ISO das cidades inteligentes propõe a análise dos indicadores em 19 verticais ou áreas relacionadas ao desenvolvimento urbano. São elas: economia, educação, energia, meio ambiente, finanças, governança, saúde, habitação, condições sociais, recreação, segurança, resíduos sólidos, esporte e cultura, telecomunicações, transporte, agricultura urbana, planejamento urbano, esgotos e água.

Esse já será seguramente um bom caminho para o nosso tão desejado big picture.

o 3 - Divulgação dos resultados

Nessa jornada da cidade inteligente, o engajamento de todos os atores é muito importante para o sucesso.

Muitas vezes, a percepção do resultado de um projeto urbano é mais importante que o resultado em si, uma vez que, se a sociedade não compreende os avanços feitos, provavelmente não irá dar valor.

Nesse caso, o resultado do trabalho inicial da força-tarefa será o mapa das soluções inteligentes da cidade. Use o máximo da criatividade e das tecnologias disponíveis para elaborar e promover esse mapa. E o melhor, você pode encontrar diversas soluções gratuitas disponíveis para te ajudar nessa tarefa. Aqui vão algumas ideias:

  • Você pode usar o Google Maps para geolocalizar todos os projetos, facilitando a visualização pela sociedade.
  • Com a pandemia e a dificuldade de eventos presenciais, surgiram varais plataformas especializadas na criação de pavilhões virtuais. Que tal criar um hall virtual para divulgar todos os projetos existentes na sua cidade relacionados às smart cities? Quem sabe as empresas privadas e universidades responsáveis pelo projeto não tenham até interesse em patrocinar essa promoção!
  • Que tal criar um app para promover esses projetos, criando uma espécie de city tour para a sua cidade? Basta envolver uma empresa de desenvolvimento de software ou o departamento de tecnologia de uma universidade parceira para viabilizar um projeto desta natureza sem custos!

Bem, para todos que leram e se interessam pelo tema, espero que tenham entendido que é sim possível iniciar um projeto de cidade inteligente na sua região em tempos de pandemia e sem necessariamente ter um orçamento disponível para isso.

Se você faz parte da gestão pública, é um empresário, aluno ou professor de uma universidade ou é simplesmente um cidadão ávido a ajudar a sua cidade, arregace as mangas, compartilhe esse texto com os potenciais futuros membros da sua força-tarefa e mãos à obra. Só depende de você.

Nos vemos na próxima semana.