Portfolio

Condomínio Residencial Norueguês

O Condomínio Residencial Norueguês é a combinação perfeita de casas isoladas é acolhedoras num condomínio fechado privado. A arquitetura apresenta uma forma ...

#Websites
Condomínio Residencial Norueguês

O Condomínio Residencial Norueguês é um conjunto de casas isoladas num condomínio fechado privado, erguido pela Firmus Group no bairro de Jamno, em Koszalin, na rua Gradowa. A arquitetura apresenta uma forma tradicional e intemporal, combinada com a vegetação circundante e espaços criados para as crianças e os seus pais. As fachadas são em tons quentes, com um telhado escuro ligeiramente contrastante, acentuado por madeira. A natureza, o verde envolvente, a proximidade do lago e o ar fresco proporcionam aos residentes condições que não encontrarão em mais nenhum ponto da cidade. Um relvado no jardim, vegetação até onde a vista alcança e os sons do campo em vez do trânsito convidam ao descanso depois do trabalho e dão às crianças um sítio para brincar.

#Osiedlenorweskie.pl, tecnologia para o condomínio Oásis Norueguês em Koszalin

osiedlenorweskie.pl é o site de apresentação deste condomínio. A construção levou cerca de seis semanas. O layout e a colocação dos elementos vieram do cliente, que indicou o que aparece em cada vista, e o meu trabalho começou naquilo que um layout não mostra: o modelo de conteúdo, o comportamento responsivo dos modelos de página e a forma como alguém da promotora altera uma ficha sem telefonar ao fornecedor.

#O mapa, o bairro, e a pergunta a que ele responde

Começo pelo mapa porque foi por aí que começou a conversa com o cliente. Jamno fica no extremo norte de Koszalin, longe do centro, e quem vive na cidade sabe onde é. Quem está a pensar mudar-se de outra região não faz ideia, e nenhum parágrafo escrito resolve isso tão bem como um desenho.

O módulo assenta em Leaflet, com os dados da envolvente em GeoJSON e os mosaicos servidos pelo Mapbox. A pergunta que responde é uma só, o que existe por perto, e a resposta útil tem um raio curto: a escola, a paragem, o acesso à estrada, o lago. Um mapa que mostra meia região transmite a informação oposta, porque obriga o visitante a procurar aquilo que devia estar à vista.

Existe também um limite técnico que convém nomear. Uma camada vetorial com muitos pontos bloqueia a interface num telemóvel modesto, porque o navegador tenta desenhar tudo antes de devolver o controlo. Limitar os dados à envolvente real e carregar o mapa apenas quando o visitante chega àquela secção custa um pedido adicional e evita vários segundos de paragem na primeira abertura. Numa ligação rápida esse compromisso parece desnecessário; numa ligação fraca decide se a pessoa fica.

#Quem visita, e com que frequência

Ninguém compra uma casa na primeira sessão. A mesma pessoa regressa uma dúzia de vezes ao longo de vários meses e procura sempre coisas diferentes, hoje a planta do piso térreo, depois a distância à escola, mais tarde as fotografias da obra para perceber em que fase estão os trabalhos.

Daqui saem duas exigências que nunca aparecem escritas num briefing. Os endereços das fichas de casa têm de ser estáveis, porque ficam guardados nos favoritos e são enviados à família por mensagem. E as fotografias de obra têm de ser fáceis de publicar, porque são elas o motivo do regresso; se publicar quatro imagens exigir preencher oito campos, a secção deixa de ser alimentada ao fim de um mês.

A ligação é o outro fator. Grande parte das visitas chega de telemóvel, muitas vezes com cobertura irregular por causa da localização do bairro. Um site que num computador de secretária abre num segundo pode demorar bastante mais no limite da rede, e o visitante não separa a responsabilidade do operador da responsabilidade de quem fez a página.

#Quatro tipos de casa, e o modelo de conteúdo que daí resulta

A decisão mais importante foi tomada antes da primeira linha de código de modelo e consistiu em definir o que é aqui uma unidade de conteúdo. O condomínio prevê quarenta e oito casas em lotes entre seiscentos e cinquenta e mil e duzentos metros quadrados, mas não são quarenta e oito projetos diferentes. A promotora oferece quatro tipos, com nomes de cidades norueguesas: Alesund com 125,72 metros quadrados, Bergen com 136,34, Oslo com 152,12 e Trondheim com 178,70.

Se cada casa fosse um registo próprio, com descrição, planta e galeria independentes, qualquer alteração ao padrão de acabamento do tipo Bergen obrigaria a corrigir uma dúzia de entradas. Mais cedo ou mais tarde alguém corrigiria apenas metade e o site passaria a contradizer-se. Com o tipo de casa como registo e a casa concreta como ocorrência desse tipo, a descrição escreve-se uma vez, enquanto o número do lote, a área do terreno e a disponibilidade ficam como campos que qualquer pessoa edita.

O custo desta escolha também merece ser dito em voz alta. Quando aparece uma casa atípica, por exemplo uma planta espelhada por causa da forma do lote, o modelo precisa de uma exceção, e uma exceção dentro de um modelo bem fechado sai mais cara do que dentro de um modelo frouxo. Aceitei esse custo porque os casos raros são poucos e os casos comuns são várias dezenas.

#Galerias e plantas, a parte mais pesada do site

O peso real desta página são as imagens, e isso não é uma opinião, é uma consequência daquilo que a página é. Quem procura casa olha para fotografias e plantas e não lê parágrafos. As galerias foram construídas como tipos de conteúdo personalizados, carregados sem recarregar a vista inteira, em variantes de tamanho que o navegador escolhe conforme a largura efetiva do ecrã.

Essas variantes pesam mais do que o formato do ficheiro, apesar de ser o formato a gerar mais discussão. Uma fotografia com dois mil pixéis de largura mostrada num mosaico de quatrocentos consome a mesma quantidade de dados seja qual for o codec. Só depois de servir a variante certa faz sentido falar de compressão, e só então a passagem para um formato moderno como o AVIF produz uma diferença visível.

As plantas foram um problema à parte. Chegam do gabinete de arquitetura como ficheiros preparados para impressão, com linhas finas e cotas que num ecrã de telemóvel ninguém lê. Reduzir o ficheiro não resolve, porque com o peso desaparece também a legibilidade das medidas. A solução foi separar a pré-visualização do documento completo: na ficha vê-se uma planta simplificada, preparada para ecrã, e o ficheiro imprimível descarrega-se de forma deliberada, com um clique, quando o visitante já decidiu que aquela casa lhe interessa.

#Caching em três camadas, e o que as invalida

A instalação usa memória intermédia em vários níveis e cada um responde a um tipo de pedido diferente. A Cloudflare, como camada de fronteira, entrega os ficheiros estáticos e as páginas anónimas, ou seja, quase todo o tráfego vindo dos motores de busca. O Varnish, à frente da aplicação, guarda as vistas de listagem já compostas, cuja construção custa várias consultas à base de dados. O Redis encurta essas consultas para tudo o que tem mesmo de passar pelo PHP, a Fastly trata do carregamento paralelo de imagens e plantas e o Memcached fica com as respostas pequenas da API.

Três níveis num site deste tamanho parecem exagero até se olhar para o que muda e com que frequência. A descrição de um tipo de casa não se altera durante um ano. A disponibilidade de uma casa concreta muda no dia da assinatura do contrato, e o comercial espera vê-la refletida de imediato. Se tudo vivesse no mesmo saco, cada mudança de estado expulsaria também o conteúdo imutável e a cache deixaria de existir na prática.

Por isso a invalidação é pontual e está ligada à gravação do registo específico, e não à gravação de seja o que for. O erro mais frequente que encontro em instalações deste género é precisamente uma cache que funciona e que é esvaziada por inteiro sempre que alguém corrige um texto. Na configuração parece correta, nos registos veem-se acertos, e mesmo assim o servidor recalcula tudo várias dezenas de vezes por dia.

#O formulário e o percurso de um pedido

O formulário recolhe pedidos sobre uma casa concreta ou sobre um tipo de casa, com validação do lado do servidor e proteção anti-spam. A validação no navegador é conforto para quem escreve e não uma medida de segurança, por isso a mesma regra está uma segunda vez no servidor.

Mais importante do que a validação é a proveniência. Uma mensagem com o texto “peço contacto”, sem a informação de que foi enviada a partir da ficha do tipo Oslo, obriga o comercial a telefonar apenas para perguntar algo que o site já sabia. O contexto da casa é anexado automaticamente ao pedido, e uma cópia fica na base de dados independentemente de o envio do email ter corrido bem. Um servidor de correio pode estar indisponível durante alguns minutos e isso não é razão para perder um interessado.

#Blogue e conteúdo local, para que serve texto a uma promotora

Num site de promoção imobiliária o blogue costuma ser tratado como um acessório obrigatório e morre ao terceiro artigo. Aqui tinha uma tarefa concreta: responder às perguntas que as pessoas fazem antes de decidir e que não cabem numa ficha de casa. Como é o trajeto até ao centro de Koszalin às oito da manhã, o que significa o estado de infraestruturas de um lote, em que difere um contrato de promoção de um contrato-promessa, como é a envolvente no inverno e não apenas nas fotografias de junho.

A parte técnica deste conteúdo é simples e a parte editorial não é. Um artigo que repete a descrição do empreendimento por outras palavras compete com a própria ficha do empreendimento, perde para ela e ainda a enfraquece. Cada texto precisava por isso de um tema próprio e de ligar para a ficha da casa, e não ao contrário. Onde os temas começaram a repetir-se, valeu mais desenvolver o artigo existente do que escrever um segundo sobre o mesmo assunto.

Houve ainda uma decisão de sinal contrário, a de não submeter automaticamente os endereços novos a serviços externos de indexação. Com uma dúzia de publicações por ano, o ganho de um mecanismo desses não é mensurável, e cada integração adicional é mais um sítio que alguém tem de manter e que pode deixar de funcionar em silêncio. O mapa do site gerado na gravação, com os metadados a cargo do Yoast SEO, chega e não tem modo de avaria próprio.

#O que ficou deliberadamente de fora

Sem esta secção, a descrição de um projeto é um folheto. Não foi construído um configurador de acabamentos, apesar de a ideia voltar em cada fase. Um configurador faz sentido quando as variantes são contáveis, estão descritas num único sítio do lado do cliente e delas se consegue derivar um preço sem telefonar ao comercial. Com quatro tipos de casa e acabamentos negociados caso a caso, a ferramenta mostraria números que alguém teria de confirmar à mesma. Uma ferramenta que obriga a verificar aquilo que promete poupar faz exatamente o contrário do que anuncia.

Também não existe reserva em linha. No mercado imobiliário uma reserva sem pagamento não é uma reserva, é uma fila, e uma fila visível em público gera mais conflitos do que negócios. O estado de disponibilidade é aqui uma informação e não uma ação, e quem o muda é uma pessoa do lado da promotora. Essa pessoa sabe se houve sinal pago, e o site não sabe.

A terceira ausência são os testemunhos de residentes. A primeira fase abrangeu seis casas, portanto qualquer opinião publicada seria atribuível a uma família concreta por simples aritmética. Em vez disso, o site mostra o avanço da obra e fotografias de casas terminadas, material que diz o mesmo sem exigir de ninguém uma aparição pública.

#Suporte técnico, mantendo a harmonia

O osiedlenorweskie.pl exige manutenção contínua. O sistema e os plugins são atualizados com testes fora de produção e cópias diárias para o S3 através do UpdraftPlus, cifradas e com rotação. Vale a pena dizer aquilo de que normalmente não se fala: uma cópia de segurança que nunca foi reposta é uma hipótese e não uma proteção. A presença dos ficheiros na nuvem não garante nada enquanto ninguém verificar que o despejo da base de dados importa e que com ele vieram também os ficheiros de media.

A ordem das atualizações é a segunda parte aborrecida que salva o projeto. Num site com tema à medida e tipos de conteúdo próprios, o que parte depois de uma subida de versão quase nunca é o núcleo do WordPress, mas o tema, precisamente no ponto em que um modelo assumia uma estrutura de dados que um plugin acabou de alterar. O Lighthouse acompanha a qualidade de carregamento dentro do processo de integração. A configuração de cache é revista quando muda a forma do conteúdo, porque é o conteúdo, e não a passagem do tempo, que estraga uma estratégia de cache.

O site admite crescer, com visita virtual, ligação ao sistema comercial ou uma secção de casas disponíveis atualizada a partir de um único lugar. Quem ganha com esse trabalho não é apenas a promotora. Ganha a pessoa que tem o endereço de uma ficha guardado desde o verão e a encontra no mesmo sítio, ganha quem abre a planta no telemóvel dentro do carro à porta do terreno, e ganha a colaboradora que muda o estado de uma casa em dez segundos na tarde da assinatura, sem precisar de abrir um pedido a ninguém.

Que âmbito teve o projeto Condomínio Residencial Norueguês?#
Condomínio Residencial Norueguês é um projeto da categoria Websites, entregue em 2017. Por detrás estão Redis, Cloudflare, Varnish e iOS.
Como correu a entrega de Condomínio Residencial Norueguês?#
A construção durou cerca de seis semanas e entrou em produção em 2017. Assenta em Redis, Cloudflare, Varnish e iOS. O layout veio do cliente. Sobre ele construí os templates e o modelo de conteúdos, e testei os caminhos que carregam tráfego numa cópia de produção, não numa instalação vazia.
O que foi mais difícil tecnicamente em Condomínio Residencial Norueguês?#
Desempenho sob tráfego real e cache. Condomínio Residencial Norueguês exigiu um ambiente de teste próximo da produção.
Que parte de Condomínio Residencial Norueguês pode ser reaproveitada noutro projeto?#
A camada técnica transita: Redis, Cloudflare, Varnish e iOS. No projeto seguinte tem um aspeto parecido. O que não transita é o modelo de conteúdos e as integrações, escritos para os dados de um cliente e um briefing da categoria Websites. Um segundo projeto começa por uma análise de âmbito, e a proposta vem a seguir.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco