F5 Sites, mais uma tentativa de amadurecer: fim da FNetwok

Milestone de Março: Organizar Blogs

Mudanças, adaptações e migrações: o dia a dia de um gestor de conteúdo e blogs WordPress. Desde 2010 quando comecei a escrever no blog da F5 Sites, lancei alguns projetos com seus respectivos blogs, Pomodoros, Itapemapa, LojasDoMago, blog de estudos, todos com a intenção de contar histórias dos projetos. Em 2013 interrompi minha empresa para mudar e trabalhar em São Paulo, 2014-2016 dedicação total ao mestrado na USP.

Após encerrar todos os projetos em 2017 namorei a oportunidade de retomar minha empresa, porém sem recursos, sem dinheiro, sem apoio. Pedro Superti e Sérgio Rodrigues foram os dois que me aconselharam na direção contrária, o primeiro ao dizer que a hora mais propícia para começar um negócio seria agora que não sou casado e não tenho filhos. O segundo por ser o único a acreditar que meus projetos e produtos são incríveis. Todas as outras pessoas insistiam para eu conseguir um emprego.

Quando digo sem recursos estou falando de vender itens da casa para pagar o servidor de 5 dólares (R$15-R$20 por mês) mais poucos domínios (R$40/domínio/ano). Com apenas 50mb de dados por dia por R$0,50 na promoção da TIM precisava ficar compacto, zipado. Solução colocar no mesmo servidor, compartilhado, todos os projetos, serviços, banco de dados, certificações, plugins, a mesma instalação de WordPress.

Descobri uma forma de fazer todos projetos compartilharem os usuários entre si, assim migrei os usuários de cada projeto para uma tabela compartilhada (shared wp_users, precisam estar no mesmo banco). Não era o suficiente, pesquisei várias formas para facilitar a integração entre os blogs e surgiu a ideia de ter um blog central, em termos técnicos do WordPress, todas as instalações compartilhando as mesmas tabelas de post, postmeta, e terms* (e adicionalmenteo no futuro os mesmo arquivos de mídia, para evitar subir imagens duplicadas e consumir recursos desncessários).

Foi meu grande erro, hackei o núcleo do WP e inventei uma forma única, via o plugin autoral F5 Sites Shared Posts e Uploads. Foram semanas queimando neurônios para ter uma versão funcional, criei um sistema onde o post teria uma categoria com o domínio do projeto (por ex, www.cursowp.com.br). Na prática funcional, numa tabela centraliza disparava conteúdo para qualquer domínio bastando tickar a categoria, podia publicar em dois ou três sites sem o menor esforço e o melhor, bastava corrigir em um para corrigir em todos.

Seria um ano lindo, objetivo concluído, batizei essa iniciativa de FNetwork, a rede integrada de sites. Começou a ficar completamente confuso quando o plugin quebrou praticamente todos os outros plugins, a quantidade de gambiarras para funcionar o WooCommerce era insana. Dezenas de commits que viraram uma bola de neve. Nenhum site funcionava direito.

Errei de novo ao insitir na solução, desempenhei mais energia para corrigir os bugs que eu mesmo criava, atualizar plugins era surreal visto que precisava editar os arquivos fontes, cheguei a criar pull request para os devs do WooCommerce para inserirem hooks onde eu precisava no projeto oficial, não aceitaram.

O castelo de cartas crescia. O comprometimento era total. Já era 2018 quando finalmente entrei em um período de estabilidade, com os projetos recuperados e de volta a programação de valor ao cliente, pois toda essa energia para criar a FNetwork só era bom para mim, facilitou a minha vida. Os projetos, como Pomodoros e Focalizador, estavam parados, sem avanço. Hora de retomar e 2018 foi um ano dedicado a recuperar o Pomodoros.com.br do auge que ele atingiu em 2012, mas não consegui.

Sites não tinham mais a penetração que tinham antes, precisa de um aplicativo. Então eu fiz, mais um desafio para um empreender exausto, estava no meio do ano com site e aplicativo pronto, e agora? Como fazer as pessoas usarem?

Mais um tempo quebrando a cabeça e no final do ano lanço a palestra Treinamento em Foco, com conteúdo original ensinando dicas práticas para estudar melhor e trabalhar com mais foco. A segunda parte (marketing puro, meu pagamento pela palestra) ensinavam como usar o app pomodoros. Assim ministrei gratuitamente em modelo de testes essa palestre em alguns locais, curso de inglês, escolas, no final de 2018.

Na vida pessoal é melhor nem contar como eu estava, totalmente sem dinheiro, muita pressão para conseguir um emprego regular, cada vez mais difícil ter coragem para dar uma palestra para jovens sendo que ao olhar no espelho via a imagem de um mendigo, de um fracassado que nem água tinha na casa quando cortavam por falta de pagamento.

Toda esse dedicação me catapultou para um lugar de rico conhecimento, eu já não era um simples programador WordPress que adaptava a aparência do site para o cliente, me tornei um senhor na área, dominando todas as etapas, desde planejamento, escalonamento, sustentação, desenvolvimento, entrega, gestão do produto, tudo feito na raça e sem recursos. Estava sempre fazendo entrevistas de trabalho quando final de 2018 finalmente fui aprovado para trabalhar em São Paulo.

O plano era chegar com energia total e começar as palestras na maior capital da América Latina, lançar o pomodoros no coração do Brasil. Na prática, assim que entrou o primeiro salário, consegui após anos ver comida no prato, bebida no copo e roupa no corpo, foram meses para curar esse período de privação. Final de 2019 a virada financeira, fui demitido, consegui outro cliente, depois outro e outro. Dinheiro entrando mas sem tempo nem para respirar (obs: o texto está muito mais longo que imaginava).

Estava decidido em manter estes clientes para capitalizar. Alegria durou pouco, pandemia, perdi os dois clientes. Por outro lado meu tempo era meu de novo, dediquei o mês de abril para refazer meu servidor (como podem ver aqui na série de posts Milestone de 2021).

Desempregado de novo, maio, subi na minha moto e viajei até o Uruguai, depois 11 estados e capitais brasileiras durante dez meses na estrada, veja meu instagram VamosLonge, até voltar a trabalhar em home office. Em 2021 outro erro, parei em Itacaré, Bahia e abri um coworking com hostel (www.coworkinghostel.com.br), muita gente adorou a ideia e achou genial, foi um ano de muito aprendizado, mas um gasto de energia enorme pra um retorno financeiro zero. Virada de ano para 2022 com uma certeza: voltar a trabalhar na minha empresa.

Assim que vi o samba do criolo doido que estava meus projetos resolvi matar de vez a Fnetwork: vou adaptar 90% dos meus projetos para a tecnologia VueJS, terei meu blog centralizado de novo, mas agora da forma correta. Onde estou escrevendo e fornecendo o conteúdo para você agora, o novo portal de Conteúdos Francisco Matelli. Assim vou ter um único WordPress fornecendo o conteúdo para todos os blogs (com o mesmo sistema de categoria). Porém o consumo na ponta vai ser via wp-json (API nativa do sistema). Transformando todos os projetos em SPA, PWA e apps, de forma simplificada mesmo.

Os portais CursoWP e Treinamento em Foco terão seus conteúdos de aula no Udemy, as lojas virtuais serão removidas de todos os projetos até se provarem necessárias, ficando apenas a Lojas do Mago funcional, Pomodoros, Focalizador e Projectimer serão prioridade. Neste mês de março a milestone é: organizar os blogs e até agora está sendo concluída com maestria, trazendo diversos efeitos colaterias positivos.

Tarefa que parecia mais fácil, mas, sozinho, rachando a cabeça para entender a situação dos muitos blogs, conteúdo separados em ideias, textos, rascunhos, vídeos, papel, instagram, youtudos, hds externos, deixei combinado comigo mesmo de centralizar tudo no meu portal de conteúdos e daqui espalhar a mensagem para o mundo. Os blogs ficaram assim:

  • F5 Sites: notícias de projetos e investimentos em TI.
  • CursoWP e Treinamento em Foco: anúncios e dicas de conhecimento, convertendo para Udemy.
  • CoworkingHostel: histórico de postagens da hospedagem fechada em 2021.
  • VamosLonge: centralizando tudo que estou produzindo sobre essa viagem, canal e livro.
  • Pensamentos: unifiquei o portal de pensamentos com o conteúdo
  • Outros blogs de projetos pequenos

Tudo estará aqui agora, centralizado, e todos os outras instalações de WordPress não terão blogs, além disto 80% dos projetos será trocada WordPress por VueJS em sites ultra-simples, para num futuro próximo ter o WordPress utilizado somente como API.

Unidade Itacaré Fechada

Não é com tristeza que anuncio o encerramento da Unidade Itacaré, na verdade este era um projeto experimental, quase um laboratório, para entender o potencial do negócio. A experiência pessoal foi muito boa, de crescimento e oportunidades de conhecer pessoas incríveis, mas como negócio não foi lucrativo.

Os resultados foram incertos, afinal algumas coisas fora da curva aconteceram O Coworking Hostel funcionou durante o auge da pandemia, logo após a abertura em dezembro, a curva de contaminação disparou e os turistas deixaram de viajar.

Além disto um ano é pouco tempo para avaliar um negócio, os primeiros meses foram muito ruins e os últimos muito bons, ficando difícil chegar a uma conclusão.

Definitivamente eu, Francisco Matelli, não tenho perfil para gestão de um negócio 24/7. Preciso descansar, afinal tenho outro trabalho, assim me esforcei muito para conseguir atender o público e não foi suficiente, não tinha tempo então isso também impactou na performance, alguns momentos atendia bem e trazia clientes, outros criava regras que deixavam os hóspedes inseguros, como proibir e liberar festas, consumo de bebida de fora, etc.

Tudo isso me fez perceber muitas oportunidades, fazendo eventos, lojinha de brindes, espaço de coworking bem decorado, assim vou promover a adaptação de espaços ociosos em pousadas em ambientes de coworking e transformar o projeto para a era digital.

De agora em diante seremos um selo, onde visito pousadas, aplico meu conhecimento adquirido, transformo o espaço em coworking e ajudo a construir uma comunidade, numa imersão prática de 1 ou 2 semanas. Assim o site vai ser um indicador de espaços de co-living e co-working.

Muito obrigado a todos que passaram pela unidade Itacaré, e que venham as próximas!

Quarta com Samba – Happy Hour do Coworking

A partir do final de agosto inauguramos uma série de eventos às quarta-feiras a partir das 19h, chamado Happy com Samba. A proposta é integrar os coworkers e moradores após a jornada de trabalho, aberto também para a comunidade local o evento conta com música ao vivo, bar e gastronomia.

Sua duração prevista é até 22h, a intenção é trazer alegria e diversão para o ambiente, afinal estamos em Itacaré! Para quem eventualmente precisar trabalhar durante este horário temos uma sala reservada no segundo piso, nossa sala multi-uso, onde os hóspedes e coworkers podem fazer reuniões e trabalhar em tapetes com almofadas, num ambiente afastado do evento.

Preços de Hospedagem Atualizado Para 2o Semestre

Caros viajantes devido a mudanças no setor de turismo e alta de preços na cidade, anunciamos reajustes nos preços. Não temos mais pacotes mensalistas, somente diárias e semanais.

Para facilitar a integração de nossos preços com o site criamos uma ligação entre nossa planilha do google e o site, assim sempre que atualizarmos os preços o site irá atualizar.

O setor de turismo é muito dinâmico e os preços mudam sempre, se você encontrou um preço muito bom mês passado mas não fez a reserva não se decepcione porque os preços subiram. Com a queda de casos de doenças causadas pelo vírus e aumento de circulação de pessoas, Itacaré está recebendo uma onda de turistas, que aumentam os preços de tudo, desde padaria, restaurantes até hospedagem.

Conheça o Primeiro Coworking de Itacaré, Bahia

O primeiro espaço de coworking de Itacaré foi trazido pelo empresário e investidor Francisco Matelli Matulovic, que relata “a pandemia do novo coronavírus consolidou as oportunidades do trabalho 100% remoto”. Francisco, que trabalha como programador desde 2005, teve seu primeiro cliente remoto em 2009, Pedro Superti da Agência Dynamo, um dos pioneiros do “movimento” home-office no Brasil.

Quando se mudou para São Paulo em 2013, visitou vários espaços de coworking e ficou encantado com as possibilidades, muitos serviços eram oferecidos. Presenciou a franca expansão do setor nos anos seguintes. Em 2019 travalhava para um cliente remoto, mas que exigia uma reunião presencial por semana, pensava na liberdade que teria se fosse 100% remoto, sempre imaginando morar na praia.

Frequentou o Plug Co, em Pinheiros/São Paulo. Ambiente de trabalho divertido e alto astral. Viu colegas de empresas diferentes, compartilhando o mesmo espaço, alegre e bem decorado, com opções de descompressão e networking. Também contava com um excelente café e happy hour. Estes meus dias de coworking mudaram a forma de trabalhar.

Antes da pandemia existia muito preconceito em relação ao home-office, as empresas adotavam um modelo misto, alguns dias na empresa e outros em casa. Francisco diz: “após a pandemia eu sai de São Paulo, deixei meus clientes e viajei o Brasil de moto por um ano, passando por 11 estados, mais de 200 cidades, conhecendo um pouco do nosso país que é enorme. Durante a viagem não encontrou nenhum espaço pronto para receber trabalhadores em home-office”.

Questionava se existia mesmo uma oportunidade, entre hostel, casas e hotéis nunca encontrava um espaço adequada para abrir seu notebook e trabalhar. Era difícil achar uma simples mesa com cadeira e uma conexão boa de internet. Os proprietários não se esforçavam para se adaptar ou não perceberam essa oportunidade?

Quando chegou em Itacaré em novembro de 2020, planejou cuidadosamente o lançamento de uma pousada com coworking. Enquanto operava somente com pousada grande parte de seus hóspedes perguntavam se tinha um espaço para trabalhar e a cozinha da hospedagem era usada de forma improvisada pelos colegas. Agora em abril de 2021 temos em nossa cidade o primeiro Coworking Hostel, espaço de trabalho compartilhado e hospedagem. Venha conhecer.

Quais Efeitos da Pandemia no Turistmo?

Uma tendência dos grandes centros, o coworkirng, espaço de trabalho compartilhado, está chegando agora em pequenas cidades turísticas, devido a mudanças no mercado. Com a chegada da pandemia, todos deixaram os escritórios em São Paulo e grandes centros da noite para o dia. A previsão de voltar em duas semanas se prolongou por meses.

O novo normal é não ter preconceito com a modalidade de trabalho remota, algo que estava crescendo há anos, mas sempre com dias de trabalho presencial. A pandemia acelerou a aceitação de que este modelo pode ser produtivo e econômico, muitos já deixaram de pensar em reabrir os escritórios fechados em março de 2020, permanecendo sem previsão de volta no modelo remoto.

Uma nova onda de trabalhadores digitais está chegando em cidades turísticas. Itacaré sem dúvida vem mudando o perfil do turismo, temos uma boa infra-estrutura, a cidade possui muitas pousadas, internet fibra ótica c qualidade de vida imcomparável, com praias, cachoeiras, gastronomia e muita riqueza cultural.

Trabalhar em Home-Office

Compartilhando Sustentabilidade

Nosso coworking está se empenhando em iniciativas sustentáveis, inciando projetos como:

  • Horta urbana
  • Composteira
  • Cisterna
  • Copos de papel
  • Cursos

Acreditamos compartilhar espaços é entender que estamos todos unidos, não existe “joga fora” pois tudo é conectado, se não tratarmos do lixo, resíduos sólidos, que geramos, vamos ter um impacto indesejado em nossa socidade.

Home-office: novo normal

Uma tendência dos grandes centros, o coworkirng, espaço de trabalho compartilhado, está chegando agora em pequenas cidades turísticas devido a mudanças no mercado. Com a chegada da pandemia, todos deixaram os escritórios em São Paulo e grandes centros da noite para o dia, a previsão de voltar em duas semanas se prolongou por meses.

O novo normal é não ter preconceito com a modalidade cem por cento remota, algo que estava crescendo em tendência, mas sempre num modelo mesclado, com dias de trabalho remotos. A pandemia acelerou a aceitação de que este modelo pode ser produtivo e econômico, muitos já deixaram de pensar em reabrir os escritórios fechados em março de 2020, permanecendo sem previsão de volta no modelo remoto.

Um esforço enome foi feito nos bastidores, limpeza do banco de dados

Fnetwork é uma rede de sites e aplicativos em diversos estágios, porém ainda são produtos não finalizados, assim temos uma estrutura de custos muito reduzido.

Para não sobrecarregar os servidores em alguns momentos dedicamos dias para limpar e organizar o banco de dados dos projetos, assim temos menos “tralha” armazenada. Economiza espaço, tempo de backup, melhora performace na busca de informação e no final reduz os custos financeiros e de manutenção.

Uma das maiores mudanças foi a descontinuação do plugin F5 Sites Shared Posts & Upload Folder, um projeto que nunca saiu do estágio de testes de conceito, com isso o banco de dados de muitos projetos foi organizado e migrado para o modelo padrão do WordPress.

2020 F5 Sites Server Schema

Esquema de Servidor F5 Sites 2020

Muitas mudanças já ocorreram e este tópico tende a ficar velho, portanto é um registro temporal para a data presente, podendo ou não ser modificado num futuro próximo. Hoje sendo uma empresa de um único programador, um modelo mais enxuto e simples possível foi pensando, usando repositórios com uma única branch (trunk based flow), e um grande repositórios com sub-repositórios para o deploy da rede.

2020 F5 Sites Server Schema

Planejamento de Marketing F5 Sites 2021

Para todos 2020 foi um ano de mudança, impossível não ser afetado pela pandemia e mudanças na economia. A F5 Sites é uma empresa conceitual, desde 2010, nunca saiu do estágio ideia/modelo/conceito, pois nunca realmente operou como empresa, estava mais para um nome fantasia que eu, Francisco Matelli, usava para prestar serviços.

Sempre em “banho maria”, esperando a oportunidade de sair do papel, existe e sempre existiu um projeto maior do que o possível realizar por uma única pessoa, então, a solução era manter as tarefas do projeto sempre organizadas para uma situação de crescimento da empresa.

Durante a pandemia perdi um cliente importante e aproveitei para encerrar todos as contas de clientes pequenas, que demandavam então um tempo grande para retorno baixo, e usar o tempo livre advindo para viajar de moto pelo Brasil e refletir sobre minha situação profissional.

Assim, esperei a oportunidade certa para retomar as atividades, antes de sair em viagem, fiz um rebuild completo do servidor de produção (e dev) e deixei tudo pronto para fazer uma manutenção CI/CD, com integração contínua, baseada no script BSG, de código aberto, para fazer uma gestão de deploy automatizado. Derrubei todos os projetos em produção e levantei tudo do zero, deixando uma instância limpa e organizada, que permaneceu funcionando sem bugs durantes meses.

Novo Cliente: Grande Player da Educação

Em setembro fui sondado por um grande player do mercado na área de educação e aceitei um contrato de prestação de serviço como empresa, o famoso “PJ”, mas os planos agora são diferentes. Por anos concentrei as receitas da prestação de serviço e tentei agir como empresa de um homem só.

Não era um plano de todo errado, os custos ficaram muito baixos, riscos baixos e responsabilidades só com as demandas dos clientes, mas, algo mudou, é hora de dar oportunidade para outras pessoas crescerem.

Assim, para 2021 o projeto F5 Sites é realmente virar a chave de empresa de um homem só para uma pequena estrutura, capaz de absorver demandas de projetos, gerar receitas para todos os colaboradores e lucro para as operações.

A missão agora é montar uma equipe de fato, o que não é tarefa fácil, mas é o projeto. Como fazer isso? Existe fórmula? Abordagem escolhida começa pelo marketing, a área principal de atuação da F5 Sites, a maioria das demandas dos meus clientes são para área de marketing, assim, vamos iniciar estabelecendo uma comunicação efetiva com leads e candidatos as vagas que serão abertas.

Planejamento de Marketing F5 Sites 2021

Este planejamento de marketing foi priorizado após o contato com um primeiro prestador de serviços, há alguns dias montei uma página no instagram para a F5 Sites, com a ideia apenas de registrar o nome para usar futuramente. Mas o futuro é agora, então, com a entrada de um social media, isso puxou uma renovação da F5 Sites, assim, antes de começar qualquer atividade e tarefa, decidi por fazer um planejamento rápido e funcional para 2021, separando em tópicos:

  • Comunicação: vamos estabelecer uma metodologia nova de comunicação, com enfoque inicial em social media pretendemos padronizar algumas imagens de produtos e anúncios, que irão refletir na imagem do site.
  • Site: com uma nova estratégia de comunicação vamos finalmente transformar o site numa “máquina de vendas”, onde poderemos administrar o fluxo de leads de forma eficiente, com um atendimento híbrido via algorítimo e um atendente humano.
  • Produtos: vamos retomar a formatação dos produtos, inicialmente temos um potencial de produtos muito grande e isso pode causar confusão, então a estratégia inicial é anunciar 3 produtos básicos.
  • Secretária virtual: também vamos anunciar uma vaga eventual para secretária virtual, para fazer uma gestão de contatos e leads, responder emails e tirar dúvidas de clientes, encaminhando para mim os projetos já brifados, com informações técnicas para acelerar a entrega.
  • Métricas: por último e mais importante precisamos fazer uma gestão eficiente das metas e métricas, todos os anos faço um fechamento e consolidação de métricas, porém, algumas metas eu não consigo acompanhar com precisão. Algumas métricas como publicações de posts, tempo de projetos, analytics de sites, são muito difícil de consolidar e acompanhar ao vivo, assim dentro do planejamento de marketing estará incluso para 2021 uma metodologia automatizada para acompanhar de forma simples e consolidade todas as metas e métricas.
  • Metas globais e tarefas: em 2018 e 2019 inventei de fazer no começo do ano tinha um calendário de entregas semanal, organizado no final do ano anterior, servia mais para direcionar e priorizar os esforços, com 56 pequenas metas priorizadas, tentando usar a ideia de lançamento rápido de pequenos produtos. Esse esforço foi importante, mas na prática conseguia realizar 10 destas tarefas no ano, pois não eram equivalentes em tempo, algumas demorariam meses enquanto outras só algumas horas. Para 2020 alterei este conceito para 12 metas, uma por mês, mas, novamente não foram atingidas, pois devido a pandemia forcei uma paralização das atividades de abril a setembro, mas agora vou retomar este planejamento e deixar visível de forma pública e organizada.
  • Blogs: o início da F5 Sites, em 2009/2010, foi marcado pela criação de um blog com um mix grande de informações, dicas de WordPress, notícias de projetos, conhecimento técnico aleatórios. Ao longo de dez anos criei um blog pessoal, um blog para o curso de WordPress e repliquei alguns conteúdos entre estes. Em 2021 vou organizar estes posts como estratégia de comunicação.

Em resumo, vou aumentar a equipe, injetar recursos em canais de comunicação social, focar em pequenos sprints com metas possíveis e fáceis de acompanhar, anunciando 3 produtos inicialmente para ganhar tração e conquistar novos pequenos clientes que se tornarão lucrativos a longo prazo.

Alguns usuários estão testando o Pomodoros e o feedback tem sido ótimo

Testes com usuários reais indicam um estágio de maturidade bastante avançado, um grande objetivo de toda a equipe de TI é chegar neste estágio, pois são a partir do feedbak dos clientes e usuários é que se pode fazer um bom produto.

Um novo aplicativo recém (re)inaugurado pode apresentar pequenos problemas que impedem seu crescimento em escala. O usuário @Yuri_Calazans (não rankeado) criou o primeiro tópico “real” no suporte, apesar de ser o ticket número 7, abriu o primeiro chamado real, pois os primeiros tickets eu mesmo coloquei como exemplo, o que se mostrou muito inteligente pois assim melhorou a experiência do usuário.

Além disto também tenho recebido muitos feedbacks, ideias e conselhos de um usuário que criou sua conta há pouco tempo, mas já está fazendo parte da grande família Pomodoros.com.br, meu amigo @sergiorodrigues (27 no ranking).

A mais importante sem dúvida foi a @camilamglhs (9 no ranking), pois antes mesmo de eu começar a divulgar o Pomodoros, antes de convidar qualquer pessoa para acessar, foi logo após recolocar o site no ar que ela, por conta própria, acessou o site e voltou a usar meses antes da previsão de lançamento. Foi muito bom ter a presença dela em algumas situações fomos os únicos usando, ela sempre muito atenciosa e paciente, enfrentou muitos bugs e ajudou muito, principalmente dando esperança que a ferramenta podia dar certo.

Atuais usuários se preparem pois a previsão é de crescimento, não sei qual a taxa, mas vamos procurar sempre ser uma comunidade forte, unida e bem receptiva, todos podem interagir entre si, trocar mensagens e pedidos de amizade e abrir e responder tickets no forum. Jun 12, 2018 at 12:05 

Deploy fnetwork in fresh ubuntu (português)

Antes de começar

  • install docker.io and docker-compose

Configuração de SSH

  • add ssh keys to bitbucket e github

Instalação de Scripts

  • download bsg (bash server deployer),
  • config bsg (adicionar domínio)
  • download wpsql configure and download prod db
  • download sublime 3 and optional mysql-workbench (to check)

Execução de comandos BSG

bsg run - dp
bsg run - dd (deploy docker só depois de baixado o projeto)
bsg run - sc (ssh copy id...)

Configurtar f5sites shared post

<?php 
$config["posts"] = "1fnetwork_posts"; 
$config["postmeta"] ="1fnetwork_postmeta"; 
$config["terms"] ="1fnetwork_terms"; 
$config["term_taxonomy"] ="1fnetwork_term_taxonomy";
$config["term_relationships"] ="1fnetwork_term_relationships"; 
$config["termmeta"] ="1fnetwork_termmeta";
$config["taxonomy"] ="1fnetwork_taxonomy";
$config["comments"] ="3fnetwork_comments";
$config["commentmeta"] ="3fnetwork_commentmeta";
$config["links"] ="4fnetwork_links";

Instalação pelo front

Após colocar no BSG, depois instalar pelo próprio front do wp, aí pode deletar as tabelas sobrando (comments, links), deve criar a pasta mu-plugins-DOMÍNIO

Capacidades do usuário

Adicionar o usuario DOMÍNIO_capabilities

a:1:{s:13:"administrator";s:1:"1";}

user id = 2

FSlint: Deletando Arquivos Duplicados no Linux

A manutenção de sistemas exige limpezas constantes, ter arquivos duplicados em servidores tem um custo muito alto, as vezes temos várias cópias do mesmo arquivo, ocupando espaço, dificultando backups, custando espaço, tempo e dinheiro.

Instale o script com o comando

sudo apt-get install fslint

Basta encontrar o programa para iniciar a busca de arquivos duplicados, pode ser feito a remoção em massa ou arquivo por arquivo.

Referências

https://www.edivaldobrito.com.br/remover-arquivos-duplicados-no-linux/

FSlint: Deletando Arquivos Duplicados no Linux

A manutenção de sistemas exige limpezas constantes, ter arquivos duplicados em servidores tem um custo muito alto, as vezes temos várias cópias do mesmo arquivo, ocupando espaço, dificultando backups, custando espaço, tempo e dinheiro.

Instale o script com o comando

sudo apt-get install fslint

Basta encontrar o programa para iniciar a busca de arquivos duplicados, pode ser feito a remoção em massa ou arquivo por arquivo.

Referências

https://www.edivaldobrito.com.br/remover-arquivos-duplicados-no-linux/

Aparência de sites pessoais aprimorada

Um dos maiores desafios que emplaquei para uma minha rede FNetwork de projetos é criar interfaces consistentes, antes mesmo de saber o que é isso.

Comecei alguns meses criando o design guidelines, de forma bem simples, para a F5 sites, intencionava criar um guia para cada subprojeto. Porém seria muito custoso então surgiu a ideia e a oportunidade de unificar a aparência de todos os projetos.

Assim, a primeira coisa, foi adoção de uma fonte comum para todas as logomarcas, mais um padrão de cores e recomendações gerais.

Dentro do esquema do WordPress eu tenho meu site principal Francisco Mat ponto com, compartilhado na rede, mas o meu portifólio, aqui também é um site do WordPress, é uma instalação isolada. Para criar uma interface única, para usuário não perceber que estava navegando em dois sites diferentes, criei um tema único e apliquei nos dois projetos, assim, a sensação é de estar sempre no mesmo site.

Novo build do docker no Linode seguro

Infelizmente a internet continua sendo um local inóspito, servidores podem ser facilmente atacados por máquinas mal-configuradas ou scripts maliciosos, para saber o IP de um site, basta para isso uma consulta reversa pelo nome do domínio para encontrar o IP da máquina.

Com isso bote podem começar a escanear arquitetura do sistema, no caso de sistemas fechados com senha rapidamente pode ser começar o ataque brutal no painel, com um algoritmo programado para tentar milhares de usuários e senhas diferentes até obter êxito no login.

Não tenho tanta experiência com docker e teve alguma dificuldade para identificar a origem dos ataques, pois o consumo excessivo dos os recursos do sistema e dificultavam muito a execução de comandos por SSH.

Precisei aprender a visualizar o log dentro do próprio docker para assim identificar o IP, ou a faixa de IP, da máquina que estava atacando os meus belos e inocentes serviços de publicação de conteúdo e anúncios do bem, dos meus serviços que prestam com tanto amor um serviço de hospedagem para os meus projetos e clientes.

Foi então usado um simples e velho recurso de bloquear o acesso da faixa de IP por htaccess. Em relação ao painel do WordPress, como pode se verificar, nesse post sobre a segurança do meu servidor, o acesso já é bloqueado de fora da rede interna. com isso o risco de complicações é quase zero e após esse bloqueio do ataque o serviço voltou a sua normalidade.

Data do evento: 19 de maio de 2020

Atualização: Setembro de 2020, confirmado meses de estabilidade e fix com sucesso.

Plugin F5 Sites Bar Atualizado

Há alguns anos lançamos o plugin F5 Sites Bar para compartilhar em toda a rede de sites e blogs Fnetwork uma barra, no topo de cada site, todos os principais projetos da F5 Sites.

Inspirado em um sites como o UOL e ESPN, onde seus blogs, subsites e até mesmo sistema de terceiros hospedados em seus servidores, apresentam uma barra acima com o link para o portal principal e outros links para os sistemas top nível.

Assim, os visitantes conseguem entender que estão dentro de uma rede de sites, conectados e que compartilham informações. Além de aumentar o link building e destacar a marca como provedora de serviços. No caso da F5 Sites somos uma empresa de hospedagem, tratando os projetos internos como projetos de clientes.

Update: Setembro de 2020, foi removido o bootstrap (3 e 4) da barra devido a vários conflitos com temas e sistemas, é necessário um grande esforço para normalização, por isso a barra só conta com o logo da F5 Sites no topo e a localização flutuando a direita.

Maio de 2020: Agora as informações estão muito mais organizadas, pois a atualização contou com a instalação do Bootstrap 4, trazendo uma grande melhoria na aparência e principalmente responsividade, já que a barra se adapta para tos os dispositivos e o menu colapsa (encolhe) e expande, e se ajusta em qualquer tamanho de tela.

Um problema para sua implementação imediata é que alguns projetos utilizam o Bootstrap 3, então houve uma quebra destes e está sendo realizado um grande esforço para atualização de toda a nossa base de projetos.

Milestone de Abril: Organização Para Crise da Pandemia

Desde 2010 utilizo o software online RTM para gestão de notas e tarefas, ainda estou finalizando meu próprio sistema e como tenho todo esse histórico lá de 10 anos é difícil desvincular.

Então durante todo este tempo as tarefas e projetos aconteceram na vida real e por lá foi administrado, então existe um histórico que reflete diversos momentos dos meus projetos e consultorias.

Agora vivemos um momento único, pandemia de coronavírus, que sem dúvida impactou a minha vida pessoal, me trazendo para o isolamento e quarentena. A organização de todas as tarefas se tornou possível e viável, já que perdi um cliente e fiquei com bastante tempo livre.

Organização apontou uma nova direção: priorizar pelos próximos 3 anos a prestação de serviços e criar ferramentas personalizadas para aumentar o valor percebido pelo cliente e transformar estas iniciativas em possíveis produtos.

Bloqueado Painel (wp-admin) em Produção via .htaccess

Por uma questão de segurança e manutenção de sistema de backup automatizado, foi bloqueado o acesso ao painel do WordPress, de todos os nossos sites, em produção.

É uma questão de segurança pois evita o ataque do tipo força bruta ou outros, protegendo com mais uma camada as informações do nosso banco.
Em relação à manutenção de backup e do banco de dados em ambiente de produção, é para evitar a publicação de posts e mídias em produção sem o seu correspondente no ambiente de desenvolvimento e QA.

Utilizamos o nosso plugin script BSD e WPSQL para esta automação, assim recomendamos que você conheça nossas soluções de código aberto e tente de adotá-las em seus projetos para ter um maior controle da automação.

Aprenda como fazer este tipo de bloqueio de segurança no blog do CursoWP.

Plugin de Login F5 Sites Atualizado

Atualizado o nosso plugin, F5 Sites Login Screen, que customiza, com as cores e o logo da F5 sites, a nossa página de login do WordPress. Usamos a técnica de instalar o plugin em toda a rede via pasta mu plugins compartilhada. Assim o plugin é utilizado em toda a rede FNetwork, em uma única pasta compartilhada.

A atualização ocorreu porque mudamos o logo, a última atualização desse plugin foi há 4 anos quando lançamos o logo conceitual da tartaruga. Agora com o novo padrão de logo, cores tipografia, aparência de muitos sistemas estão sendo atualizadas.

Milestone de Fevereiro: Certificação SSL Renovada Após Rebuild

Posso dizer que ainda não dominei o método de certificação SSL, continuo tendo muita dificuldade em algumas etapas, principalmente a renovação automática e a configuração de virtual hosts do Apache.

Após o rebuild do meu servidor principal (veja post com mais detalhes) obtive sucesso nas novas configurações para renovação dos certificados utilizando certbot. Assim, foi renovado os nossos certificados, e muitos usuários que haviam tido problemas em acessar todos os nossos sites, passaram a conseguir acessá-los novamente.

Um bug de configuração foi identificado no servidor antigo, pois havia mais de um diretório com configurações do Apache SSL e virtual hosts, fazendo com que o servidor não conseguisse entregar os arquivos certos para navegador e a certificadora.

Centralizamos todas as configurações do Apache e instalamos o servidor principal com docker, fizemos o rebuild e a nova instalação do certbot para poder resolver esse problema e assim permitir a navegação segura para os nossos usuários novamente. Sei que ainda terei alguns problemas pela frente, como a renovação automática, então, por hora a navegação está garantida e o esforço de rebuild e recertificação valeu a pena.

Meu site pessoal agora centraliza todos meus blogs

Como administro diversos blogs, tinha muita dificuldade em oferecer um espaço único para os leitores de diversas fontes.

Após pensar um pouco, resolvi utilizar a homepage do meu site pessoal para listar, utilizando o plugin RSSImport, os posts mais recentes de cada blog aonde eu publico.

Agora home está carregada de informações referentes aos meus trabalhos mais recentes, optei por apenas colocar o endereço do blog e listando abaixo os últimos posts, sem identificar a data da publicação ou mais detalhes.

Na home, acima dos blogs, uma foto minha. No meu site continua com meu currículo aberto e o meu portfólio detalhado, com trabalhos e estatísticas de projetos, além de um menu para contato diretamente comigo.

Novo Layout Porfólio

Foi atualizado o layout do meu portfólio de projetos, ele já era bastante moderno, intuitivo e fácil de navegar. Mas essa atualização traz mais destaque para as imagens do quê o excesso de texto que continha embaixo delas.

Ah sim agora temos uma lista de imagens usando um plugin chamado posts_grid, o que facilita para o usuário encontrar trabalhos que sejam do seu interesse assim fica o convite para visitar o meu portfólio e conhecer os meus trabalhos que estão listados desde os primeiros trabalhos de 2002 qual tem vaga lembrança muitos poucos arquivos recuperados até os trabalhos mais recentes e muito importantes para minha carreira.

Milestone de Março: Rebuild do Servidor de Produção

Foi feita a reconstrução (rebuild) do nosso servidor de produção, uma operação bastante delicada e arriscada. Após muito tempo dependendo de um esquema antigo e repleto de manutenções feitas sem planejamento, aproveitamos a janela de oportunidade para migrar totalmente nossa operação para o docker.

Assim, comecei a reconstrução com o servidor local de desenvolvimento, tarefa que levou meses, para só depois atuar em produção. Inicialmente, para não cair o serviço, havia planejado fazer um servidor em paralelo com todas as aplicações, porém, durante o processo, houve um comprometimento crucial dos serviços no servidor em produção, pela expiração dos certificados SSL.

Assim, seria um desperdício de tempo trabalhar em dois servidores em produção e abandonei o plano inicial, pois o serviço já havia caído. Então, destruí o antigo servidor em produção e todo o esquema que estava corrompido, para dar lugar ao novo esquema baseado em docker linux WordPress, Apache e MySQL.

Com a reconstrução terminei a implantação de uma nova esteira de desenvolvimento e deploy automatizado. Com isso voltei a ter mais controle sobre o processo de desenvolvimento e entrega.

Acredito em um futuro mais automatizado e mais “simples” para fazer entregas, sabemos que existem algumas dificuldades com a estrutura que foi desenvolvida, como versionamento de todos os sistemas em conjunto. Trabalhamos com um repositório principal e diversos submódulos, técnica a qual ainda não domino completamente.

O espaço em disco foi economizado e os processos de utilização de CPU e memória obtiveram ganho de desempenho. Assim em 2020 temos um novo servidor em produção baseado em Ubuntu e não mais em CentOS, mais uma dificuldade que foi superada.

Milestone de Janeiro: BSD – Bash Shell Deployer

Script que eu criei para fazer o deploy de meus projetos WordPress em ambiente local e produção. Está disponível no meu perfil do github:

Com este repositório você pode configurar rapidamente o seu docker, seus virtuais hosts do apache e fazer o deploy do seu projeto WordPress ou outros.

Verifique também este item no meu portfólio de projetos:

https://portfolio.franciscomat.com/bsg-shell/

Anotações de 2017: breve histórico de como tudo começou

HORTICA LINHA DO TEMPO ()
A grande inovação: garrafas penduradas por parafusos com gancho
Sempre gosto de ir a minha loja local de ferramentas, existem muitas lojas grande na cidade, mas dou preferência a pequena loja G & B parafusos, apesar do preço muito pouco acima das grandes, o atendimento é prioritário e o espaço reservado, acolhedor e muito próximo a minha casa.
Apesar do meu amigo proprietário sempre fazer muitas perguntas sobre os projetos, que infelizmente em alguns casos não podia contar detalhadamente, já que se tratava de testes inéditos, sempre conversava com ele para ter novas ideias e sugestões em várias outras situações.
Ultima foto cizal: 02/04
Na primeira ida comprei 2
gnucash
11/12/2015 tata $72 (cola)
18/01/2016 g & b (ganchos?)
21/01 luc titnas (sprays cores)
21/01 telas sul (tela preta)
26/01 tata (muitos ganchos) (primeiros ganchos), pazinha
29/01 tata, com marina, lona, fio, correntes, mangueira
07/04 parafusos
29/04 saquinho ganchos

Plantas não se desenvolveram: solo muito compacto
Após grande observação do meu amigo consultor e engenheiro florestal Felipe F Frigieri, foi detectado que o solo estava muito compactado e pobre em nutrientes, nas primeiras semanas do projeto não houve progresso no cultivo, apesar do sistema ser aparentemente inovador, não teria valor nenhum sem plantas sendo cultivadas e com bom taxa de produtividade.
Eu havia comprado somente 3 sacos de terra preta, em alguns locais chamados de turfa, posteriormente foi-se misturado a esse solo terra vermelha e matéria orgânica, assim deixando-o mais fofo e nutritivo.

Desmonte das prateleiras

Sep 25, 2017 at 21:39

Estrutura de Múltiplos WordPress Multi-Site

Uma instalação de WordPress é basicamente os arquivos do WordPress (wp-config, core, plugins, temas, uploads, etc.) e um banco de dados (tabelas prefixadas). Qualquer instalação precisa de um endereço de URL para ser acessada, que é uma instalação simples de WordPress.

Porém seria possível habilitar o multi-site nesta instalação (veja como habilitar o multi-site na documentação oficial ¹), basta ativar no wp-config, assim uma única instalação de WordPress pode ativar em uma URL vários subsites.


Em algumas situações podemos ter duas instalações de WordPress Multi-Site em duas URL diferentes, funcionando de forma independente. Cada instalação com seus arquivos e seu banco de dados.

Uma alternativa seria usar a mesma instalação de WordPress, mas com banco de dados diferentes, pois o serviço que mais consome recursos do servidor é o banco de dados, em bancos diferentes (até mesmo em servidores diferentes) temos mais segurança no caso de uma queda do serviço não derrubar a rede toda.

Em uma configuração mais avançada podemos fazer estas duas instalações diferentes usarem os mesmo arquivos e o mesmo banco de dados (com prefixos diferentes para as tabelas), cada uma com sua URL diferente.

Mas também é possível ter várias instalações de WordPress Multi-site na mesma URL, funcionando basicamente como o exemplo acima, mas só que múltiplos subdomínios ou subpastas também podem ser diferentes WordPress multi-site, mas compartilhando a mesma instalação e o mesmo banco de dados.

Assim temos vantagens e desvantagens em cada um dos modelos.

Múltiplas contas BitBucket na mesma máquina

A situação que passei foi a seguinte, trabalhar com dois clientes diferentes no mesmo computador, porém os dois usavam BitBucket para a gestão de repositórios git, assim, a chave SSH que foi configurada para um, não iria funcionara para o outro.

Criar chaves SSH

Primeiro é preciso criar uma chave para cada usuário

 ssh-keygen -t rsa -C "franciscof5" -f "franciscof5"

Adicioná-las em sua conta

Depois copiar cada chave para cada usuário do BitBucket, para mais informações visite a documentação oficial.

Configurar seu SSH

Na pasta ~/.ssh/ crie um arquivo chamado config com o seguinte conteúdo:

#default account
Host bitbucket.org
	HostName bitbucket.org
	User git
	IdentityFile ~/.ssh/id_rsa
	IdentitiesOnly yes

#franciscof5 account
Host bitbucket.org-franciscof5
	HostName bitbucket.org
	User git
	IdentityFile ~/.ssh/franciscof5
	IdentitiesOnly yes

Configurando repos

Se não tem um repositório clonado, use o seguinte comando (repare no nome do usuário)

git clone git@bitbucket.org-franciscof5:franciscof5/your-repo-name.git

Se já tem um clone, atualize a origin

git remote set-url origin git@bitbucket.org-franciscof5:franciscof5/your-repo-name.git

Agora entre no repo local e atualize o usuário e email

git config user.name "franciscof5"
git config user.email "user1@example.com

Agora você pode trabalhar com uma ou mais conta de BitBucket na mesma máquina, espero que tenha gostado, deixe comentários.

Referências

Tip of the Week: Using different SSH keys for multiple Bitbucket accounts

https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html

 

Deploy avançado com WordPress

O que é deploy?

Primeiro, o que é deploy? Deploy é o processo de “empacotar” o trabalho de desenvolvimento e transportá-lo de um ambiente para outro, por exemplo, quando um programador termina uma atualização de um sistema e vai disponibilizá-la para os usuários.

Essa entrega precisa acontecer sem comprometer o serviço atual, o site não pode cair, também é importante não consumir muitos recursos do servidor e nem levar muito tempo, em muitos casos é preciso reverter (rollback) o processo caso surja algum erro, para evitar correria para apagar incêndios. Pensa no site da sua empresa, se ele cair quando a TI fizer uma atualização é provável erro de deploy.

Minha experiência pessoal

Fazer deploy com WordPress tem sido umas das minhas maiores dificuldades como desenvolvedor, pois as linguagens e pastas do sistema são uma “bagunça”, temos PHP, misturado com JavaScript, HTML, CSS inline e arquivos separados, muitas configurações em locais diferentes, podem estar no código e no banco de dados. Pastas que são substituídas totalmente com atualizações do WordPress e pastas que não são tocadas.

Nos meus projetos pessoais, antes de ter uma “estrutura de deploy”, entre 1998 e 2010, fazia os updates da forma mais tradicional (e ainda usada por muitas empresas em 2020), terminava algum update e utilizava um sistema de FTP, que listava os arquivos alterados mais recentemente. Assim bastava subir e trocar, por FTP, os arquivos. Eficiente, econômico, mas sem controle de versão, além de não permitir múltiplas pessoas trabalharem no mesmo projeto ao mesmo tempo (de forma eficiente).

Uma solução inicial, ainda em 2011, foi utilizar o Dropbox na minha máquina local de desenvolvimento e instalar o Dropbox no servidor, todas as mudanças eram transferidas automaticamente, existia controle de versão de arquivos, porém sofria por muitos aspectos, deletar um arquivo acidentalmente podia derrubar o sistema inteiro, não conseguia trabalhar em arquivos e fazer as entregas por partes, antes da funcionalidade inteira estar pronta, poderia derrubar o sistema, o que acontecia era os temidos “testes em produção”.

Assim, ao final de 2012 me foi finalmente apresentado o git, sistema de versionamento de projetos, ali a minha mente “explodiu”, finalmente entendi como grandes empresas trabalham com grandes projetos. Aprendi o básico, commits, push, pull e o básico do básico de branchs.

Neste projeto de cliente aprendi a commitar na branch master e o gestor de TI dava o pull em produção quando tudo estava pronto. Ainda havia um grande problema, sendo WordPress e o banco de dados? Muitos vão rir, mas colocava o dump na raíz do git, funciona e não é tão estúpido, se tiver numa pasta acima do conteúdo público, trabalhoso sim, mas versiona.

Então basicamente não tinha uma estrutura de deploy muito boa, copiei esse sistema para os meus projetos pessoais, optava por velocidade e facilidade de deploy, abrindo mão de alguns quesitos de segurança. Migrei todos os meus projetos para o git ao longo de 2013, este conhecimento de git me alavancou e me fez conseguir uma boa colocação no mercado, trabalhei em uma empresa com muitos profissionais no mesmo projeto. Ali tinha review de pull request.

Houve um hiato de programação na minha carreira durante meu mestrado entre 2014-2016, voltei a estudar programação pois em 3 anos fiquei muito desatualizado. Retomei meus projetos pessoais e decidi criar um sistema próprio para deploy (em shell) de banco de dados chamado F5 Sites WordPress MySQL Manager (que uso até hoje). Percebi que 90% das configurações ficam na tabela wp_options, então com esse sistema subia para produção uma cópia desta tabela de forma inovadora, fazia um dump específico desta tabela (prefixo do projeto)_options, comprimia, enviava via SSH para o servidor, conectava no servidor e fazia um cópia de segurança da tabela e import do dump. Em paralelo com um script simples de push e pull em máquina de dev e produção, a velocidade de entrega disparou.

Esteira de Deploy: Jenkis, SonarQube e GitFlow e live

Tudo ia mais ou menos bem, alguns problemas contornáveis, como git no servidor de produção (!), porém para o nível de requerimento exigidos para um projeto pessoal de uma pessoa só, tudo ok. Um novo projeto aparece no radar, um grande portal WordPress de um cliente como forte estrutura de TI.

Com uma equipe de especialistas, recursos e investimentos pesados por anos, uma estrutura conhecida como “esteira” foi implementada pela equipe. Conheci novas tecnologias, promissoras, parrudas, inteligentes e funcionais. Com o Jenkis é possível fazer uma estrutura de deploy realmente automatizada, fazendo diversos processos testes antes da entrega antes do servidor de produção.

SonarQube permite uma análise automática de qualidade de código e brechas de seguranças antes do pull request, pelo próprio pipeline do BitBucket. GitFlow é uma técnica interessante de organizar commits e merges de branches de dev, homolog, produção e hotfixes. E git live é um forma de manter cópias de gits sem a pasta .git no servidor remoto.

Assim em 2020 conheci um processo muito forte, mas não a prova de bugs e erros. Ainda fica a minha premissa pessoal que sistema ou processo nenhuma vale mais que um profissional experiente e/ou atencioso.

Referências:

https://roselleebarle.com/wordpress-auto-deploy-using-git-jenkins/

A Jenkins Pipeline for WordPress Projects

https://www.digitalocean.com/community/tutorials/how-to-install-jenkins-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-configure-jenkins-with-ssl-using-an-nginx-reverse-proxy

https://www.digitalocean.com/community/tutorials/how-to-set-up-continuous-integration-pipelines-in-jenkins-on-ubuntu-16-04

https://www.google.com/search?q=deploy+wordpress+with+git

https://tableless.com.br/deploy-usando-git-pull-e-hooks/

https://git-scm.com/book/en/v2/Git-Tools-Submodules

https://git-scm.com/docs/git-submodule

https://www.ostraining.com/blog/wordpress/deploy-git-wordpress/

WordPress Deployment Part 3: Deploying WordPress Using Git

http://www.saintsjd.com/2011/01/what-is-a-bare-git-repository/

https://github.com/vicenteguerra/git-deploy

https://wppusher.com/wordpress-git-course

https://medium.com/@jmarhee/running-multiple-web-applications-on-a-docker-host-with-apache-85f673f02803

https://www.atlassian.com/git/tutorials/comparing-workflows

https://www.atlassian.com/git/tutorials/comparing-workflows

Como Instalar o Linux Ubuntu em um Máquina Virtual

Como baixar o Linux Ubuntu no site oficial, criar uma máquina virtual com o Oracle VirtualBox e configurar um computador virtual com a imagem recém-baixada, instalar o linux. São os primeiros passos para fazer uma instalação WordPress de ponta-a-ponta, da máquina virtual até a o seu WordPress auto-hospedado.

F5 Sites Diretrizes de Design

Em nossa primeira tentativa de uniformizar o designs de todos nossos projetos, fazendo os terem uma aparência semelhante, como quando você está em um produto Google, Amazon, Microsoft ou Apple, você meio que sabe, mesmo que você não saiba exatamente porque você sabe, você meio que sente como se estivesse em “casa”. Isso porque eles têm um design consistente com algumas regras que orientam todos os produtos.

Então, a F5 Sites começou a desenvolver nossas primeiras diretrizes de design, elas começaram de forma simples, mas achamos que as regras se tornarão mais ajustáveis e melhores com o passar do tempo, então nossas primeiras diretrizes de design são:

  • Barra no topo de todos os produtos
  • Fonte para logo: Lobster
  • Cores:
    • F5 azul: #03659c
    • F5 azul claro: #549ed1
    • Ubuntu laranja: #FF5919
    • Cinza escuro: #3F3F3F
    • Cinza médio: #888888
    • Cinza claro: #EEEEEE
    • Verde escuro: #398439
    • Verde claro: #449d44
    • Dourado: #E2D693
  • Imagens customizadas para posts e produtos

Por enquanto isso é tudo, no futuro estamos prevendo paddings e margens para alguns elementos. Estas regras serão aplicados em produtos antigos sempre que eu puder, pois agora elas apenas existem e estão sendo implementados sem um prazo, mas nada de novo será desenvolvido sem seguir esse rigor.

Plugin Atualizado: F5 Sites Bar

Em cada site da Fnetwork você pode ver uma barra na parte inferior com links para os principais projetos, e, conforme a rede cresce, novos links são atualizados. Eu nunca tenho tempo para trabalhar com calma e com essa barra não era diferente.

A ideia chegou para dar consistência à rede e fazer com que os usuários navegassem melhor entre todos os projetos. Além disto, os links entre si também podem ajudar a obter uma melhor posição nos resultados de mecanismos de pesquisa.

Uma vantagem é que podemos saber todas as visitas à rede, verificando o número de vezes que a barra é exibida. E também, no canto direito, mostramos a localização atual do usuário.

Mas o design e a aparência não eram bons, e até a posição na parte inferior faz com que muitos usuários não a vejam. Então, eu estou quase terminando o novo design, a barra vai para o topo, o que fez o nome original mudar, agora é só o F5 Sites Bar. O design também mudou um pouco, muitas melhorias foram feitas e estamos esperando outro plugin da rede para ficar pronto, F5 Sites Smart Language Filter.

Quando esses dois plugins estiverem prontos, a Fnetwork alcançará um novo nível. Mas vai levar um tempo, muitas mudanças estão sendo feitas em segundo plano, o foco é apenas um: obter novos clientes.

F5 Sites Está Procurando Novos Clientes na Cidade de São Paulo/SP

Desde o nosso plano de 2016, eu mudei o foco do F5 Sites para uma posição mais global, fazendo esforços para sair do Brasil e ir para um país como os EUA. O caminho que pensei foi simples, comecei por traduzir todo o conteúdo do site (posts, menus) para o inglês, fazer uma seção EUA no site e depois entregar conteúdo especialmente feito para esse público.

Para o banner do site eu escolhi imagens como a Califórnia, o engarrafamento chinês, tudo era mais global e estava pronto para receber clientes de qualquer lugar do mundo.

Mas a internacionalização nunca acabou, a F5 Sites acabou de ser traduzida e nunca terminou todo o processo. Não é apenas traduzir, tornar o site bonito, alterar imagens e esperar que novos clientes e leads entrem em contato. Era necessário chegar aos clientes, começar a conversa, fazer propostas de trabalho, e é aí que as coisas ficavam difíceis.

Eu pessoalmente acho que posso fazer dezenas de leads e alcançar novos clientes em uma conversa cara a cara, mesmo sabendo que é possível e usual conseguir clientes apenas via internet, é mais fácil para mim ter contato em reuniões, eventos, palestras , workshops, fazer visitas ativas e explorar minha rede pessoal para alcançar novos clientes. Então, enquanto eu ainda estou no Brasil, meu plano tem que mudar, preciso alocar esforços para conseguir novos clientes aqui.

Se você estiver em São Paulo, SP, entre em contato conosco agora mesmo para agendar uma reunião.

Novo Plugin em Desenvolvimento: F5 Sites Smart Language Filter

Depois de toneladas de testes e experiências, com os plugins de idiomas mais famosos e atualizados para o WordPress, eu iniciei um plugin para F5 Sites e Fnetwork. Baseado em um código simples mas eficiente que fiz para um tema de projeto (Sistema Focalizador Javascript). Tudo o que eu tive que fazer é usar tags em posts, como:

  • lang-en: portugues
  • lang-pt: portugues
  • lang-fr: francês
  • lang-zn: chinês
  • E assim por diante…

O termo “inteligente” no nome é porque ele usa um algoritmo baseado no WooCommerce Geocode e na função HTTP para determinar a localização dos usuários e fornecer a linguagem provavelmente mais correta. Então, vamos fechar nossos domínios que começam com br, como br.f5sites.com e br.franciscomat.com, porque sempre que você estiver em uma localização, o domínio principal fornecerá conteúdo para você em seu idioma.

O plugin estará presente em toda a rede, ele será anexado a outro plugin que usamos F5 Sites Footer Bar, então todos os sites terão opções de tradução. Os usuários também terão a opção de alterar o idioma a qualquer momento, e se ele aparecer em um link que não tenha o idioma que os usuários falaram, um aviso será anexado para alterar o idioma a qualquer momento.

O plugin está em desenvolvimento e não tem prazo para ser finalizado, é um esforço que faço para alcançar melhores resultados em marketing e conquistar novos clientes.

Docker: Estamos migrando nossos serviços para o novo paradigma de DevOps

Na fronteira das mudanças tecnológicas atuais, vimos o Docker como um novo paradigma de otimização. Por que esperamos tanto tempo para adotá-lo? A resposta é simples, só precisamos disso agora, estávamos em um processo de desenvolvimento muito longo e estável, sem a necessidade de migrar o servidor ou alterar o processo de desenvolvimento.

Mas recentemente chegamos a um ponto para fazer um servidor intermediário, um tipo de homolog / backup de produção, então vimos que a tarefa seria muito demorada, faria toda configuração, clone de git repos, instalação de serviços como Apache, MySQL, WordPress. Então, eu tinha duas opções, ir pasta a pasta e verificar se tudo estava bem, ou formatar e instalar o docker em um ambiente fresco linux / docker.

Eu escolhi a segunda e mais desafiadora opção, então agora estou trabalhando na migração completa de todos os nossos projetos, sites e operações para a tecnologia Docker. Depois disso, poderíamos instanciar nosso servidor homolog executando simplesmente um comando docker para configurar tudo e rodar.

Docker não é difícil de entender, mas você precisa ser muito experiente para entender todo seu poder, e não é a melhor solução para todos os cenários, mas depois que você começar a usá-lo será muito difícil voltar atrás.

Estive Muito Ocupado no Primeiro Semestre de 2019

No final de 2018, iniciei uma nova posição em uma empresa de marketing, trabalhando das 9 às 18, então tive que sair de uma pequena cidade do interior, Itapetininga, e me mudar abruptamente para São Paulo. Em um dia estava em uma cidade pequena com todo o tempo para mim, no próximo eu estava em uma das dez maiores cidades do mundo, sem conhecer ninguém, fui trabalhar em projetos de TI, um trabalho de programação muito intensivo, um desafio muito grande .

Eu me mudei para obter uma nova renda, eu não tive escolha, sem fundos e apoio, a única maneira que eu vi para fazer meus planos foi mudar para a capital. Além de trabalhar por dinheiro, planejei lançar meus projetos em uma cidade de oportunidades, além de São Paulo ser a cidade mais cara para se viver na América Latina, recompesa qualquer um que se dedique ao trabalho.

Em paralelo, iniciei o curso de teatro à noite, então basicamente não tinha tempo para blogar no meu site pessoal. Mas depois de um período de adaptação, estou iniciando esforços para voltar às trilhas de postagens e commits constantes no GitHub.

Não foi “planejado” parar todos os meus projetos, que para mim estavam indo muito bem, apesar de estar sempre atrasados e sem fundos, eu estava constantemente me sufocando por soluções de baixo custo para situações básicas, até para fazer refeições. Mas, depois de 6 meses trabalhando duro, estou de volta ao meu site pessoal, todo o trabalho que fiz desde o final de 2016, será a plataforma para o lançamento do meu foguete.

Pomodoros Recebe Atualização Crítica No Algorítimo de Cronômetro

Um grave problema surgiu nos testes finais do Pomodoros.com.br, ao ser utilizado em navegadores modernos, inesperadamente o tempo do pomodoro era maior do que o exibido na tela. Para completar os 25 minutos que o app indicava poderiam ser consumidos 35, 40 minutos, o que frustrava muitos usuários, pois quando a aba do site ficava inativa, sem foco, a alocação de memória do navegador era otimizada, assim, do ponto de vista do navegador, tudo fica mais fluído, ele tira memória da aplicação em segundo plano e otimiza o que o usuário está fazendo, se troca de aba, a nova aba tem prioridade.

Assim, quando ficava em segundo plano o Pomodoros perdia prioridade no sistema do navegador, então a contagem de tempo demorava a passar. Demorei para ter tempo para atualizar o algorítimo, em meio a celebrações natalinas, consegui dedicar um dia do meu descanso para atualizar o app, a nova lógica é de certa forma até melhor, pois quando o usuário inicia a contagem de tempo, é guardado a data e hora do clique do botão, então compara-se o tempo decorrido com este instante, assim temos novamente o aplicativo funcionando com perfeição! Será que posso dizer que é um presente de natal para meus usuários que utilizam o app em navegadores modernos?

Trocador: Nova Ferramenta do Pomodoros Para Trocar de Tarefas Automaticamente

Venho trabalhando na última ferramenta do pomodoros, até então a penúltima inovação antes do lançamento oficial, até agora o nome desta ferramenta é TROCADOR, apesar de achar um nome um pouco feio, ajuda a realizar tarefas em sequência com agilidade.

Por exemplo, eu tenho algunas tarefas diárias como “escrever um post”, “escrever uma proposta”, “gravar um vídeo”, etc., são tarefas que me planejei para fazer todos os dias. Não estava me dedicando pois, infelizmente, estava muito trabalhoso a cada final de pomodoro ter que editar a tarefa para recomeçar.

Então rachei a cabeça o ano todo para solucionar esse problema, assim, somente agora, chegando ao final do ano precisei dar um “gás” nisso. Pensando em usabilidade, queria que quem usasse não precisasse ser “ensinado” antes, precisa tentei fazer de forma que fosse intuitiva, a ponto do usuário conseguir usar sem “manual”, ao mesmo tempo que é uma ferramenta muito, muito avançada, de fato poderia criar um mini-curso só para explicar.

Mas basicamente: começando abrindo o TODO (botão azul), 1 salvar uma tarefa modelo ou mais, 2 arrastar as tarefas para a caixa cinza, 3 clicar no ícone para ativar. Assim ele vai carregar automaticamente, no final de cada pomodoro, a próxima tarefa da lista.

Fiz uma bateria de testes extremos aqui e não achei bug, mas é possível que algo de errado, por isso você usuário é bem vindo a dar feedbacks. A último inovação vai ser o controle de metas diárioa, pensando aqui em criar uma barrinha que vai aparecer em cima indicando quantos pomodoros falta pra meta do dia, aí teremos enfim o lançamento.

Confira a Nova Homepage do Site Pomodoros, Ficou Incrível

Após muito tempo finalmente o site tem uma homepage de classe, estirpe e categoria! Foram anos de homepage “improvisada”, fazendo o que era possível com o pouco tempo disponível, porém a taxa de conversão era sempre muito, muito baixa, não era uma landing page eficiente para novos visitantes, que entravam e muitas vezes se perguntavam “do que se trata esse site?”.

Na primeira versão do site, em 2011, red, a homepage era o próprio aplicativo, não era necessário logar para usar e assim visitantes tinham um aplicativo muito simplificado, somente o cronômetro, se criassem uma conta abriria a parte de amigos e mais ferramentas. Na segunda versão do site, em 2013, green, na home tinham 8 balõezinhos explicando o que era, incentivando os usuários a se cadastrarem.

No início da versão black, 2018, ainda não lançada oficialmente, foi colocado um slider com imagens passando automaticamente, além das últimas notícias do blog logo abaixo, no típico formato blog do WordPress, com uma barra na lateral com mais informações, outro “improviso”, pois também não era muito claro ao visitante recém-chegado do que se tratava o aplicativo.

Assim, após analisar as taxas de conversão do Google Analytics percebi que ainda não estava bom, apesar do blog trazer novo visitantes, ainda não convertia-os em usuários ativos, precisaria dedicar um tempo para essa nova homepage. Foram 8 horas de trabalho, confira essa tarefa no aplicativo.

Comecei fazendo uma análise minuciosa dos concorrentes e pude perceber o que cada homepage tinha de melhor, assim incorporei alguns elementos dos concorrentes e criei outros originais, com uma interface exclusiva fiz uma nova homepage, com base no conceito de “explicar do que se trata o aplicativo”, os elementos básicos são:

  • Pequeno cabeçalho explicativo com botão de ação para usuário se registrar gratuitamente
  • Slider com imagens originais, explicando as principais funcionalidade do site com legendas
  • Estatísticas da comunidade, com dados em tempo real de usuários ativos, tempo de uso e outros
  • Depoimentos de usuários, colhidos nos últimos meses
  • Breve histórico, contando a história do site desde de 2010 até a data atual, com previsões para os próximos 3 anos
  • Blog, finalmente, somente ao final da homepage, as últimas 3 notícias do blog

A partir de agora uma “nova era” é iniciada, onde temos uma homepage compatível com um padrão de qualidade global, competindo de igual com os principais concorrentes e, na minha opinião, melhor do que muito deles. Ainda falta a tradução desta nova homepage para os idiomas do site, tarefa para os próximos dias.

Lojas Prontas: WooCommerce “Hackeado” Para Solução Exclusiva de Backup Automático

Atenção, conteúdo altamente técnico! Pode ser que nem eu entenda amanhã…

A mais importante, mais difícil e mais complicada implementação do WooCommerce que já realizei. Foram ao menos 2 anos de estudos para poder terminar essa implementação, a requisição da “equipe” de engenharia e projetos era simples: queremos automatizar o backup e sincronia de pedidos (orders). Assim, após a criação do plugin “F5 Sites | WordPress MySQL Manager”, ficou fácil fazer backups e uploads de dados, bastava que as tabelas tivessem o mesmo prefixo, por exemplo, site1_.

Mas o WooCommerce herdou os problemas de estrutura de dados do próprio WordPress, uma zona, fica tudo misturado no banco de dados (produtos, pedidos, posts, menus…). Então precisei criar hooks para a função get_wc_order e get_wc_orders (alterando o core do woo), além de implementar na marra as modificações no core do plugin, inserindo “6woo_” antes dos prefixos das tabelas woocommerce_items e woocommerce_itemmeta. Assim, essa solução hackeada não é de longe a melhor possível, mas a questão principal é, funciona melhor que o original, permite automação dos pedidos sem misturar os produtos, e apesar da bagunça, é excelente.

Foi difícil fazer, muito complexo e exigiu a integração de 3 plugins próprios:

  • F5 Sites | WordPress MySQL Manager
  • F5 Sites | WooCommerce shop_order Tables
  • F5 Sites | Shared Posts and Tables + Uploads Folder
  • Fork exclusivo do WooCommerce, para funcionar os 3 acimas de maneira graciosa

Assim, essa notícia, muito técnica e confusa, serve só para anunciar que a loja de chaveiro e anúncios pode começar a operar sem problemas, um marco na história do projeto. Teremos um post mais bonitinho e comercial para iniciar as atividades de vendas, esse daqui é só um registro histórico de que, após anos de testes e implementações, o esquema de backup de dados está 100% funcional, no product backlog várias tarefas foram concluídas com essa realização.

Confira o plugin:

Aplicativo Pomodoros.com.br para Android Lançado em Estágio Beta

Uma meta de 2011 começa finalmente a sair do papel, o desenvolvimento do aplicativo nativo para Android. Devido ao avanço do Treinamento em Foco, foi priorizado o desenvolvimento do aplicativo para que os primeiros alunos do curso pudessem fazer o download mais rapidamente.

Com o aplicativo esperamos crescer um pouco mais rapidamente, para alguns investidores também é um diferencial estar presente na loja Google Play, pois boa parte acredita no mercado mobile e que se posicionar com um aplicativo nativo é uma estratégia superior.

De fato bastava ao usuário acessar o navegador do celular, clicar em Menu->Adicionar Atalho ao Menu Principal, e o link com a foquinha já iria aparecer no lançador principal, porém percebo que poucos usuários tem este hábito, muitos preferem baixar direto da App Store. Esperamos feedback para aprimorar e lançar a versão definitiva em breve.

Mega Update, liste de clôture pré-release

Avant de lancer officiellement Pomodoros.com.br, je devais faire une dernière liste de mises à jour, très volumineuses, qui se développaient au fur et à mesure que je terminais les tâches, mais qui apportaient d’excellents résultats du point de vue de la programmation et également de nombreuses nouvelles pour les utilisateurs. Les mises à jour étaient:
Espace publicitaire

Ce n’était pas la mise à jour la plus difficile ni la plus laborieuse de ce cycle, mais certainement la plus importante, car à ce jour pomodoros.com.br, en près de 7 ans dans les airs, n’a jamais affiché une seule publicité, ayant été conservée avec ses propres ressources. dès le lancement et jusque-là au stade des tests et du développement.

Avec la création d’espaces publicitaires au sein de l’application, nous pouvons enfin passer à une deuxième étape, en soutenant l’expansion du réseau d’utilisateurs et en améliorant davantage le service. Pour le moment, nous n’avons pas de sponsor, nous venons tout juste d’ouvrir l’espace. Vous devez donc connaître notre proposition de sponsoring et faire la publicité de votre marque, de votre produit ou de votre service sur notre site.

Traduction

La première version de pomodoros (rouge), en 2011, comportait déjà deux langues, le portugais et l’anglais, avec le plugin qtranslate. Cependant, lorsque j’ai ajouté de nouveaux écrans et outils, j’ai laissé la traduction un moment, le résultat n’a pas été Traduit à 100%. L’application était déjà en JavaScript, je devais donc créer des fichiers de langue spécifiques pour le js, le désordre a donc commencé.

En 2013, a été publié la deuxième version (Green), avait également deux langues. un autre plugin pour la traduction, wpml. Au début, cela semblait plus facile à traduire, mais cela est vite redevenu un désordre, car ce plugin est destiné aux débutants et indiqué pour des sites simples. De plus, lorsque j’ai agrandi le site, il était difficile de faire la traduction, car il mélangeait des parties des mots dans le code source et base de données.

Seulement maintenant, fin 2018, j’ai pu prendre le temps de “réparer” toutes les “erreurs” du passé. Pour la traduction a été créée sa propre technologie, intégrée à la nouvelle version de wordpress, buddypress et woocoomerce. Désormais, avec son propre outil et la méthode de traduction avancée, séparant tous les mots dans un fichier de langue au format .pot. Ainsi, l’anglais a été choisi comme langue principale et toutes les nouvelles traductions seront faites, et seulement une petite partie. De plus, pour les nouvelles traductions, envoyez ce fichier simple à un traducteur, qui peut faire la traduction et rapidement, les pomodoros parleront de nouvelles langues.

L’interface

L’interface a été mise à jour dans de nombreuses parties, la principale nouveauté étant l’implémentation de tables d’amorçage, elles ont été implémentées dans le widget Statistiques utilisateur, à partir de la page de focus, ce qui rend la vue beaucoup plus propre.

La page d’aperçu des tâches a également été entièrement refaite à l’aide des tableaux. Il était donc beaucoup plus clair et facile à voir. Enfin, la page de visualisation des balises du projet, où la table d’amorçage a également été implémentée en haut, a rendu le rapport beaucoup plus professionnel.

Et une mise à jour très importante a été faite dans l’outil principal, dans la page Focus, il avait déjà été “effacé” l’écran, masquant des informations supplémentaires à la tâche avec le bouton Extra, rendant ainsi l’écran plus propre et plus facile pour les nouveaux utilisateurs. Maintenant, il implémentait un nouveau bouton appelé TODO, ou liste de tâches, qui affichait la liste des tâches lorsque l’utilisateur cliquait dessus et un goujon automatique. Par exemple, lorsqu’elle était utilisée dans un téléphone portable, l’interface était considérablement plus simple, plus élégante et plus facile à utiliser.

Bugs et mises à jour mineures

Titres de boutons: il y a quelques semaines, je dérangeais déjà un petit bug qui changeait le titre du bouton d’action de l’application en mot Focus, à toutes les étapes de l’outil, bien que fonctionnant normalement, cela causait de la confusion chez les utilisateurs, qui s’attendaient à ce que le boutons, tels que Focus, Interrupt Focus, Start Rest. De plus, l’heure préréglée n’apparaît qu’après avoir cliqué sur le bouton. Désormais, après la fermeture des pomodoros, l’horloge affiche l’heure suivante, mettant ainsi fin au pomodoro de 25 minutes, l’horloge affiche 5 minutes avec le bouton Reste.

Balises de projet: elles ne fonctionnaient pas il y a quelques semaines. Certains projets d’utilisateurs ont donc été endommagés. Je devais reconstruire le système de balises de projet et les types de pomodoros pour pouvoir fonctionner à nouveau.

Formulaire d’inscription: Après quelques problèmes avec le formulaire d’inscription, le processus d’inscription a finalement été stabilisé et l’interface d’enregistrement fermée, avec un nouvel écran permettant l’activation de l’utilisateur une fois l’inscription réussie. Il était également possible de définir un objectif dans Google Analytics afin de suivre le nombre d’enregistrements et de suivre de près le taux de conversion des visiteurs en utilisateurs.

Page de visualisation du produit: la page du produit a également été légèrement mise à jour. Lorsque vous cliquez sur le porte-clé d’achat, l’écran est plus arrondi et similaire à la page d’enregistrement et d’activation, donnant une apparence similaire à tout le contenu du site. Le widget pour acheter un trousseau n’était également pas affiché sur la page des messages en raison d’une petite erreur corrigée.

Avertissements dynamiques: lorsque l’utilisateur clique sur Interrupt Focus, une boîte de dialogue de confirmation apparaît pour éviter tout clic accidentel et éviter de perdre du temps (suggestion de l’utilisateur @Victor_Tardelli, merci). Un autre avertissement apparaît lorsque vous fermez l’onglet du navigateur avec le temps écoulé, demandant à l’utilisateur de confirmer qu’il souhaite partir et de perdre le temps chronométré.

Bloquer wp-admin: un problème de sécurité important consiste à bloquer la zone administrative de wordpress pour les non-administrateurs.

Il reste encore une liste énorme de tâches pour fermer cette liste, des bugs moins gênants pour l’utilisateur et de nouveaux outils, continuez à lire notre blog et suivez l’actualité du projet.

Voir la tâche correspondante: liste de fermeture

Mega Atualização, Lista de Fechamento Pré-Lançamento

Antes de lançar o Pomodoros.com.br oficialmente, precisei fazer uma última lista de atualizações, muito extensa, que cresceu conforme fui terminando as tarefas, mas que trouxe ótimos resultados do ponto de vista de programação e também muitas novidades para os usuários. As atualizações foram:

Espaço Publicitário

Não foi a mais difícil e nem a mais trabalhosa atualização desta rodada, mas certamente a mais importante, visto que até hoje o pomodoros.com.br, em quase 7 anos no ar, nunca exibiu uma única propaganda, tendo sido mantido com recursos próprios desde o lançamento e até então em estágio de testes e desenvolvimento.

Com a criação de espaço publicitário dentro do app poderemos finalmente avançar para um segundo estágio, dando suporte a expansão da rede de usuário e melhorando ainda mais o serviço. No momento não temos patrocinador, acabamos de inaugurar o espaço, portanto conheça nossa proposta de patrocínio e anuncie sua marca, produto ou serviço no nosso site.

Tradução

A primeira versão do pomodoros (Red), em 2011, já tinha dois idiomas, português e inglês, com o plugin qtranslate, porém conforme eu adiciona novas telas e ferramentas deixava a tradução para um segundo momento, o resultado foi que o site nunca ficou 100% traduzido. O aplicativo já era em JavaScript, assim precisei criar arquivos de idiomas específicos para o js, então a bagunça teve início.

Em 2013 foi lançado a segunda versão (Green), também contava com dois idiomas. outro plugin para a tradução, o wpml. Inicialmente parecia mais fácil para traduzir, porém logo virou uma bagunça de novo, pois como este plugin é para iniciantes e indicado para sites simples, também conforme eu expandia o site ficava difícil fazer a tradução, pois misturava partes das palavras em código-fonte e banco de dados.

Somente agora, no final de 2018, consegui dedicar um tempo para “desfazer” todos os “erros” do passado. Para a tradução foi criada uma tecnologia própria, integrada com a nova versão do wordpress, buddypress e woocoomerce. Agora com uma ferramenta própria e o método avançado de tradução, de separar todas as palavras em um arquivo de linguagem em formato .pot. Assim foi escolhido inglês como o idioma principal, e a partir dele todas as novas traduções serão feitas, e somente uma pequena parte. Além disto, para novas traduções basta enviar esse simples arquivo para um tradutor, que o mesmo pode fazer a tradução e rapidamente o pomodoros irá falar novos idiomas.

Interface

A interface foi atualizada em muitas partes, a principal novidade foi a implementação de tabelas do bootstrap, elas foram implementadas no widget de Estatísticas do Usuário, da página focus, deixando a visão muito mais limpa.

A página de visualização de tarefa também foi totalmente refeita usando as tabelas, assim também ficou muito mais leve e fácil de se visualizar as informações. Por último a página de visualização de tag de projeto, onde na parte de cima também foi implementada a tabela do bootstrap, deixando o relatório muito mais profissional.

E uma atualização muito importante foi feita na ferramenta de principal, na página de Focar, já havia sido “enxugada” a tela, escondendo informações adicionais da tarefa com o botão Extra, assim deixando a tela mais limpa e fácil para novos usuário. Agora foi implementando um novo botão chamado TODO, ou lista de tarefa, que exibi a lista de tarefa quando clicado e passador automático. Assim por ex., quando usado no celular a interface ficou consideravalmente mais simples, elegante e fácil de usar.

Bugs e Atualizações Menores

Títulos dos botões: há algumas semanas já estava me incomodando um pequeno bug que alterava o título do botão de ação do aplicaativo para a palavra Focar, em todos os estágios da ferramenta, apesar de funcionando normalmente, isto causava confusão nos usuários, que esperavam os títulos corretos nos botões, como Focar, Interromper Foco, Iniciar Descanso. Além disto o tempo pré-configurado só aparecia depois de clicar no botão, agora, após encerrar o pomodoros o relógio exibe o tempo da próximo ação, assim terminando o pomodoro de 25 minutos, o relógio exibe 5 minutos com o botão Descansar.

Tags de projeto: não estavam funcionando há algumas semanas, assim alguns projetos de usuários foram prejudicados, precisei reconstruir o sistema de tags de projetos e tipos de pomodoros para poder voltar a funcionar.

Formulário de registro: após alguns problemas com o formulário de registro, foi finalmente estabilizado o processo de registro e fechada a interface de cadastro, com uma nova tela para a ativação do usuário após o sucesso do registro. Assim também foi possível configurar a meta no Google Analytics para acompanhar a quantidade de registros e acompanhar de perto a taxa de conversão de visitantes em usuários.

Página de visualiação de produto: também a página dos produtos foi levemente atualizada, quando se clica em comprar chaveiro a tela está mais arredondada e parecida com a página de registro e ativação, dando uma aparência semelhante a todo conteúdo do site. O widget para comprar chaveiro também não era exibido na página de posts, devido a um pequeno, corrigido.

Avisos dinâmicos: quando o usuário clica em Interromper Foco agora aparece um diálogo de confirmação, para evitar cliques sem querer, evitando perder o tempo corrido (sugestão do usuário @Victor_Tardelli, obrigado). Outro aviso que aparece é quando fecha a aba do navegador com o tempo rolando, pedindo para o usuário confirmar que deseja sair e perder o tempo cronometrado.

Bloquear wp-admin: uma questão de segurança importante é bloquear a área administrativa do wordpress para não-administradores.

Ainda tem uma lista enorme de tarefas para fechar essa lista, bugs menos incovenientes para o usuário e algumas novas ferramentas, continue lendo nosso blog e acompanhando as novidades do projeto.

Veja a tarefa correspondente: lista fechamento

Torne-se um Patrocinador

O Pomodoros está perto de ser lançado e você pode ajudar a tornar esse projeto uma realidade. Vamos estar presente em todo o território nacional, já temos usuários em 4 estados diferentes (São Paulo, Rio de Janeiro, Espirito Santo e Distrito Federal) e ainda estamos somente na fase de testes.

Com seu apoio financeiro sua marca estará sempre visível no site, atingindo todos os nossos usuários. Seu anúncio ficará impresso na página inicial e no aplicativo, na barra lateral e rodapé do site. Além de atingir público selecionado, altamente intelectual, você ainda estará apoiando uma startup inovadora e terá sua marca associada a um produto de alta tecnologia.

Cotas Brasil 2019

Para o Brasil, ano 2019 teremos uma cota de R$2.000 mensais, que pode ser dividido ou comprada por um único patrocinador master:

  • Patrocinador master: compra a cota completa de R$2.000 e tem a exclusividade de aparecer somente sua marca e produtos no blog e aplicativo.
  • Patrocinador split: não havendo um master, a cota pode ser dividida em 4 de R$500,00, sendo impresso nos mesmos locais do patrocinador master, porém alternando entre os splits.

Limite da validade da oferta: Esta cota cobre 10 mil pomodoros mensais (média 2500 usuários ativos), se o número de usuários ultrapassar este valor uma nova rodada de patrocínio será ofertada para manter os serviços, com prioridade de oferta para os atuais patrocinadores. Oferta para o período de 2019.

Buenos Aires pode ser a primeira cidade fora do Brasil com novos usuários

A tradução para espanhol foi uma etapa muito importante para o futuro do projeto, a comunidade hispanica é muito grande e representativa. Não sabemos qual país de idioma espanhol terá nosso primeiro usuário, mas apostamos todas nossas fichas que será Argentina.

Dentro do projeto de expansão global do Pomodoros, miramos Buenos Aires para começar a expansão, podemos ser surpreendidos por falantes de espanhol de outros países, principalmente Espanha, porém em breve o fundador do projeto estará em Buenos Aires para, entre outras coisas, fazer algumas visitas técnicas referente ao projeto.

Você que é falante de espanhol pode nos ajudar, se vir algum problema na tradução por favor nos avise. Registre-se gratuitamente e comece a focar em seus projetos agora mesmo.

Castelo inaugura Espírito Santo no ranking, Pomodoros inicia a jornada pelo Brasil

Assim que instalei o serviço de geolocalização no site do Pomodoros percebi que poderia fazer algo inovador, um ranking de países, cidades e estados. Foram quase duas semanas para aprimorar essa idéia, além de implementar a geolocalização em tempo real, também precisava “anexar” essa informação a cada pomodoro completado.

Separando a informação em cidade, estado e país foi possível criar 3 novos rankings e assim atingir a meta de transformar o pomodoros em um produto global. A partir de agora poderemos acompanhar a expansão da rede pomodoros, @sergiorodrigues foi quem registrou o primeiro pomodoro fora do Estado de São Paulo. Ele ainda completa com um recado “e diga que Castelo esta vindo para liderar o posto de primeiro lugar“.

Idioma Francês – Adicionando um Terceiro Idioma

Atualizando o código-fonte do pomodoros para facilitar a tradução e instalação de novos idiomas, foi escolhido Francês como a terceira tradução oficial devido a quantidade de novos visitantes vindo da França.

Ainda estamos dependendo muito do Google Tradutor para fazer as traduções, assim sabemos que a qualidade fica prejudicada, porém é certo que a recepção dos novos visitantes é muito melhor quando encontram as palavras e traduções para seu idioma.

Com muito orgulho dizemos bem vindos franceses.

E se você apagar o logo do seu site?

Assistindo a palestra da Bia no evento do Google Engage, ela fez uma pergunta muito interessante, falando sobre a personalidade de marcas, você já pensou se seu site é autentico?

Como seria seu site se você tirasse o logo e o slogam, poderia ser qualquer site ou seus clientes saberiam que estão no seu site, se comunicando com a sua marca?

Essa é uma das perguntas mais inteligentes que eu já ouvi e me deixou refletindo, me fez pensar de uma maneira nova.

Inovação na usabilidade do app Pomodoros, som de trompete para avisar o fim do ciclo

Como sempre procuramos adotar sugestões de nossos usuários, isso é uma prioridade absoluta em todos os projetos que eu participo, condição básica para melhorias de usabilidade e outros. Mas há que se atentar a um importante fato, nem tudo que os usuários querem é preciso ser feito e muito pior, como dizia Steve Jobs “eles não sabem o que querem”.

Eu diria que posso concordar com isso, afinal, os usuários muitas vezes relatam problemas de experiência e dão uma sugestão logo em seguida para a solução, por exemplo um usuário que solicita um “botão de fechar” na janela. Cabe a quem escuta entender de fato qual o problema que o usuário está querendo resolver de fato, com perspicácia e sensatez logo se percebe que ele quer na verdade mudar de tela, e talvez fosse melhor redesenhar a interface, permitir fechar com clique fora.

Do ponto de vista de um importante usuário do sistema, ivo, programador, que ao testar versões e protótipos e aplicação do mesmo em abientes de trabalho de sua fábrica de sofware e do seu próprio uso, deveria haver “um som de tic-tac 10 segundos antes do alerta final, pois o som de aviso (telefone tocando) é muito alto e estridente”.

Isso ficou na lista de tarefa por meses, afinal teria que programar um tic-tac e refazer várias linhas de código. Pensei em colocar trechos de música antes dos 10 segundos, algo como em um vídeo-game onde a música fica mais empolgante no fim do jogo.

Ao acaso, organizando meus arquivos de aúdio e efeitos sonoros encontrei muitos sons interessantes, e quando fui fazer o backup dos sons do site do Pomodoros percebi que seria muito mais simples a tarefa, não precisaria reprogramar nada, bastaria colocar o “tic-tac” no mesmo arquivo de audio, até mesmo retirar o som de telefone do final.

Escolhi alguns sons diferentes para testar, mas ao fazer isso percebi que prejudicaria a experiência de antigos usuários, eu mesmo estava habituado ao telefone por pelo menos 7 anos. Resolvi então escolher um som e anexar o som do telefone no fim, quando lancei este projeto em 2010 arquivos de sons não eram pouco usados e não recomendados pelo seu tamanho, mas com as conexões mais modernas as recomendações mudaram e em breve haverá toda uma experiência sonora “climatizando” o aplicativo com diversas possibilidades a escolha do usuário.

De volta à pista

Após meses de trabalho na infraestrutura e organização de vários projetos, chegou a hora de priorizar o Curso de WordPress da F5 Sites por Francisco Mat. Estamos neste momento atualizando o blog e terminando este projeto.

Neste momento estou fazendo vários testes de usabilidade, traduzindo partes do tema e criando novos posts para o blog. Após será criado finalmente as aulas pagas dos cursos e vídeo-aulas fresquinhas, com conteúdo atualizado.

Integração com Mailgun completa, enviando e recebendo emails

Mais uma tarefa que levou meses, está ficando repetitivo esse tipo de aviso aqui no blog, porém estas tarefas estruturais, que são a base do serviço, via de regra consomem muito tempo pois são necessário dezenas de testes e muita, mas muita pesquisa de serviços com custos acessíveis para uma startup enxuta. Não vou citar todos os serviços que pesquisei, quase todos da primeira página de busca do Google, mas não comecei essa tarefa procurando serviços de email, mas sim instalando meu próprio servidor de email postfix + devcot, configurando no meu VPS Linode centOS estes serviços.

Tudo ia muito bem até receber aquela enxurrada de spam, tornando inviável verificar os emails diariamente, pois muito tempo era perdido para não encontrar nenhum email “de verdade”, assim o problema se tornou grande, como divulgar meu email oficial em um cartão de visita se nunca iria conseguir encontrar os contatos de pessoas interessadas em serviços neste mar de spam.

Quanto mais velho um domínio e um endereço de email mais spam ele recebe, a internet é cruel e seus robozinhos spammers vão se somando e aniquilando endereços de emails antigos, por isso muita gente vive trocando de email e quase sempre evitando divulgá-lo de forma escrita na internet para evitar spam, mas é inevitável. Como a f5sites.com existe desde 2009, são muitos lugares onde divulguei meus emails, assim a enxurrada de spam era diária a solução foi instalar o SpamAssassin.

Aí você me pergunta, ele realmente funciona e assassina os spams? Sim, muito bem, pouca coisa passa, estaria tudo bem se essa solução não tivesse gerado um problema adicional, além da dificuldade de configurar os filtros, ele esgotava os recursos do servidor, a CPU disparava para 100% e recebia muitos alertas diários, dividindo recursos com https, mysql, php-fpm o servidor de email acabava por travar todos os sites.

Teria que então abrir um novo VPS só para o email, aí surgiu a questão do custo, a frustração cresceu porque tive que desativar o meu servidor de email depois de semanas “apanhando” para configurá-lo certinho para não ser barrado quando enviado para servidores exigentes como gmail, qualquer configuração errada e o gmail jogava meus emails direto no spam. Estava tudo certo mas não havia recursos para o serviço ficar ativo, nessa hora amaldiçoei os serviços de emails corporativos, eles mesmo inundam a rede de spam para depois cobrar por serviços anti-spam, um jogo injusto para os pequenos.

Para servidor de email é necessário além do custo baixo uma boa reputação dos IPs e servidores, além da já tradicional escalabilidade, quase todas as empresas acabam assinando com o próprio Google e recebem além do serviço anti-spam de primeira qualidade, interfaces web para seus funcionários, um tipo de gmail corporativo mas com @seudominio.com, funciona muito bem e tem um preço acessível, mas tenho minhas restrições quanto a confidencialidade, além de existirem alternativas gratuitas ou muito mais baratas.

Não teria encontrado o Mailgun se não fosse em uma conversa informal com meu primo, CEO da Plape.bi, Yuri, que me indicouo serviço, pois estava tendo ótimo resultados e ao questioná-lo sobre seus concorrentes, rapidamente destacou suas vantagens. Assim que tive tempo comecei a configurar o serviço para testar, fico sempre receoso quando exigem o cartão de crédito, mas com uma cota mensal de 10 mil emails grátis, atenderia minha demanda inicial facilmente.

Assim após pesquisa sobre a empresa e o fundo que a mantinha, percebi que era uma alternativa viável as grandes corporações de TI, uma verdadeira entrante no mercado, com força para crescer e com preços competitivos. Consegui sem muita dificuldade configurar o email pelo painel do Linode DNS e assim pude começar a enviar meus emails transacionais, antes usava o serviço grátis do smtp do gmail, com muitas limitações, mas com o Mailgun atingi um novo patamar.

Foram mais semanas lendo as documentações e estudando os protocolos MX do DNS para conseguir configurar corretamente o recebimento de email, está sim uma ferramenta incrível. O Mailgun permite que você receba emails @seudominio e ainda oferece gratuitamente o serviços de filtro de spam com base no próprio SpamAssassin, além de permitir a configurações de rotas catch_all para encaminhar emails recebidos. Assim hoje com o Mailgun posso enviar e receber emails de forma gratuita, com filtro de spam e com limites bastante justos. Portanto agradeço muito ao Yuri pela dica e compartilho com vocês essa incrível ferramenta, Mailgun.

Rede de lojas virtuais F5 Sites próximas a serem lançadas

Desde o final de 2016 a F5 Sites vendo sendo reestruturada, antes era uma rede de sites independentes, mas agora se transformou em uma rede de blogs, serviços e lojas virtuais integradas. Vários dominam agora operam uma tecnologia compartilhada, foram necessários muitos meses de trabalho em pequenos projetos para a integração completa de todas as tecnologias e plugins.

Confira uma visão rápida sobre como a F5 Sites evoluiu de uma prestadora de serviços e consultoria em WordPress para uma rede de lojas virtuais e projetos integrados:

  • 2009: Início da F5 Sites, o objetivo era vender temas de WordPress no site ThemeForest, nunca alcançado. Apesar de bem remunerado a qualidade exigida do código e documentação era muito elevada para um momento inicial, portanto a F5 Sites nasceu com foco internacional e global, mas não atingiu as metas iniciais.
  • 2010: Para fazer receita rapidamente, passa a fornecer serviços de personalização e customização de sites para clientes no Brasil que utilizavam WordPress, conheci muitas pessoas e colaborei com muitos projetos.
  • 2012: Além de consultoria passa a hospedar os primeiros serviços próprios, como Itapemapa e Pomodoros, ainda dentro de uma infraestrutura de TI muito pouco estruturada e dependente de serviços de hospedagem para configurações avançadas.
  • 2013: Grandes clientes de consultoria aparecem, muito caixa entra e os investimentos em projetos atigem seu ápice, porém não tinha tempo para programá-los pois dedicava meu tempo para projetos de terceiros, na prática o resultado foi o abandono da F5 Sites seguida de uma grande injeção de recursos financeiros.
  • 2014: Interrompida definitivamente, a rede toda foi suspensa pois o fundador precisou se dedicar de forma integral ao programa de mestrado em Administração da FEA-USP.
  • 2016: retorno do fundador para dedicar-se exclusivamente ao desenvolvimento da F5 Sites e a rede de projetos, a partir de um novo paradigma, transformar a tecnologia para suportar mútiplos lançamentos em sequência. Com muitas tecnologias de 2012 e 2013 paradas, o trabalho foi enorme para relançar cada pequeno projeto dentro de um novo contexto, porém ao optar por WordPress como tecnologia principal desde o início a maior parte do trabalho de atualização foi extremamente fácil, já que basicamente os plugins e temas desenvolvidos funcionariam quase sem problemas.
  • 2018: Após 2 anos desenvolvendo novas tecnologias e preparando a rede, é prevista a abertura e lançamento para o público do primeiro serviço oficial da F5 Sites, o app Pomodoros.com.br.

Conheça as tecnologias e plugins que foram incorporados e agora fazem parte do núcleo duro da nossa tecnologia, integrando plugins próprios com soluções de terceiros:

  • WooCommerce + Plugins
  • F5 Sites Shared Posts & Uploads Folder
  • F5 Sites MySQL Manager

Welcome Gringos: Pomodoros começa a se tornar global

Quando disse que estava planejando lançar produtos para os EUA
há um ano e meio muitos desconfiaram, os mais próximos foram até irônicos, mesmo sem perceber. Ainda tenho muito chão para chegar nos resultados que eu quero (dólares), o Pomodoros vai ser lançado e terá seus primeiros usuários gringos ainda este ano.

Antes mesmo de estar pronto, já começou a receber os primeiros visitantes dos Estados Unidos, pessoas de muitos países estão chegando no site, Rússia, Alemanha, França. A maioria são da California, EUA, por isso digo, vocês são muito bem vindos ao Pomodoros, podem surfar a vontade pelo site e assim também espero ser recebido, quando for surfar aí, em Venice Beach.

Apesar de receber visitantes de tantos países uma observação muito importante deve ser feita, eles entram e saem rapidamente do site porque a tradução está incompleta. Assim será prioridade terminar esta tradução, o que agora vai incluir itens do blog.

O Pomodoros será antes de tudo um site global em inglês, agradeço ao público brasileiro, mas por uma questão de crescimento o idioma oficial do Pomodoros já é inglês, com suporte inicialmente a português do Brasil e futuramente outros idiomas, já que o código-fonte é aberto e permite que colaboradores do mundo tudo contribuam com as traduções, de forma muito organizada.

Ainda vou escrever muitos posts em português e pessoalmente manter a tradução do Brasil.

Finalmente a Integração Entre Dispositivos com Sincronização Automática

Agora, se você alterar os dados da tarefa ou o volume do seu Pomodoros no computador, o mesmo irá atualizar automaticamente no celular. Isso é ótimo porque assim quem usa o computador como eu pode alterar as informações na tela e usar o celular apenas para cronometrar, tocando a tela para iniciar e parar somente, evitando digitar no teclado virtual do Android a cada mudança na tarefa.

Ou seja, você abre o celular para cronometrar e insere as informações da tarefa pelo computador, de forma mais confortável e as mudanças são recebidas pelo celular, que cronometra assim seu tempo.

Organização em Alto Nível, Finalização do Plugin F5 Sites Footer Bar

Fiquei meses esperando para fazer o fechamento do conteúdo dos sites, desde novembro de 2016 quando comecei o projeto da FNetwork, integrando todos os sites e serviços em um único banco de dados.

Assim, enquanto organizava o banco de dados, o conteúdo (texto e imagens que o usuário vê quando navega) estava quase sempre em estágio de “rascunho” ou “revisão pendente”, muitos textos e links jogados, pois, afinal, a rede de startups FNetwork não estava pronta, a sua tecnologia central estava sendo desenvolvida para atender uma necessidade de maior compartilhamento de códigos, informações e processos.

Está foi uma tarefa que surgiu “do nada”, com o nome fechamento, pois representava o estágio de conclusão dos esforços. Não teve definição do tipo fazer x e y, até o momento que estava escrevendo este post fiz muitas coisas pequenas relacionadas com este fechamento.

Agora, observando os resultados na navegabilidade do site e simulando usuários recém-chegados buscando informações, parece que a navegação ficou muito mais organizada principalmente pelo nosso exclusivo plugin F5 Sites Footer Bar, presente em todas as nossas startups. Com várias funcionalidades interessantes, como descriação em inglês e português de cada startup, quando o mouse passa em cima, abrindo uma janelinha.

Além de um sistema de cores, os links são brancos e ficam aceso, da cor azul, apenas o link correspondente a startup que o usuário está no momento. Quando está no Focalizador.com.br por exemplo, no rodapé o link Focalizador fica azul, indicando que o usuário está navegando numa startup F5 Sites.

De certa forma não houve um “resultado prático”, mas terminar esta tarefa significa um esforço continunado em organizar a F5 Sites, e consequentemente toda a rede FNetwork. Como dizia um professor em analogia, é como “o vento que levou a neblina da montanha e desnudou-a, trazendo definição e clareza na perspectiva”.

O objetivo sempre é o mesmo, aumentar o valor de cada pequeno projeto, para que a somas das iniciativas, na perspectiva de valuation de um novo investidor, represente uma oportunidade única e inegável de retorno, compartilhando mais rapidamente perspectivas de crescimentos rápido, para a injeção precisa de capital, com controle e objetivos claros, visando resultados que irão balizar sempre um maior crescimento, até se atingir as últimas séries de investimento.

Nova Ferramenta Para Controle de Volume Com Interface Amigável

Quando vou fazer novas ferramentas e funções de código, se preciso desenvolver uma parte nova da interface, procuro sempre por seguir minha intuição no sentido de tentar prover a melhor usabilidade possível entre dispositivos e níveis de usuários. Fazer uma interface com elementos que o usuário já é habituado a usar, como barras deslizantes, facilita o aprendizado do programa e permitindo ao usuário desfrutar de maior potencial do sistema.

Então quando a tarefa de ligar/desligar o som do sistema se tornou prioridade, não optei pelo caminho fácil de fazer um simples input do tipo checkbox, onde bastaria deixar selecionado para dar mute e des-selecionar para retornar o áudio. Não deixa de ser uma excelente e compacta solução, porém optei por utilizar uma barra deslizante, assim o usuário pode escolher qualquer valor entre 0 e 100 para o volume de forma amigável, para desligar basta posicionar a barra no 0, não é necessário checkbox. O trabalho de uma hora levaria então um dia, mas por dificuldade adicionais.

Tudo poderia ser mais fácil se eu já tivesse implementado uma barra destas anteriormente, precisei me atualizar muito sobre as tecnologias disponíveis, até mesmo seu nome em inglês eu desconhecia, range bar. Descobri também que o HTML5 possui suporte nativo para isto e achei uma biblioteca JavaScript RangeSlider.js para renderizar o elemento em navegadores antigos e sem suporte, como IE8.

E lógico que tudo poderia terminar por aqui, mas queria levar o teste ao extremo e descobri vários serviços pagos na internet para simular navegadores antigos, dispondo de orçamento zero e com algum tempo para investir, pude atualizar meu wine e winetricks, instalando a versão ubuntu/linux nativa do IE8. Porém este teste ficou para um segundo momento, já que é “impossível” debugar JavaScript neste navegador e o resultado é que o Pomodoros não funciona (ainda) em IE8, tentei instalar o debugbar mas acho que só pelo VirtualBox ou dual boot, portanto outro momento.

Além disto utilizei ícones bootstrap glyphicons e assim dispensei o uso de rótulos para som desligado e som no máximo volume, as indicações são feitas pelos ícones, que de “bater o olho” já são entendidos rapidamente pelo usuário. Com o sistema de grid do bootstrap inseri uma linha com configuração 1-10-1 para um ícone em cada ponta da barra. Assim o usuário enxerga ícone (som desligado) – barra – ícone (som ligado).

Uma dificuldade adicional era salvar o estado desta opção, cada usuário quer regular a altura do som de forma personalizada, assim (obviamente) se eu abaixar o som do meu aplicativo, isto não pode afetar a configuração dos outros usuários. A opção foi adotar rapidamente o update_user_meta() e get_user_meta(), com o current_user_id(), funções nativas do WordPress, embarcando o envio e recebimento destas informações em uma função já existente, que armazena os dados da interface no banco de dados via AJAX, a cada 15 segundos.

Por último os testes no Android 4.3 estavam me desanimando, não só não funcionou inicialmente, como quebrou o aplicativo que já estava no ar. Em um ambiente de testes isso é necessário, mas gostaria de terminar esta tarefa com tudo funcionando perfeitamente, assim precisei voltar para a prancheta e refazer vários trechos do código para não ter nenhum problema, um stress extra.

Pretendo fazer um vídeo ensinando a debugar JavaScript no Chrome do Android, para isto precisa-se conectar por adb (talvez seja necessário root), um emulador de terminal no celular e configurar o serviço para conexão remota. No computador, após instar o abd (apt-get install adb), conecta-se de forma remota e abre o Chrome, tanto no celular quanto no computador, em ferramentas de desenvolvedor você poderã abrir a aba do celular no computador e sua vida vai ficar muito mais fácil (após tanta dificuldade rs).

Este momento de testes ficou registrado como a imagem de miniatura deste post, momento onde consegui enfim terminar os testes e lançar no ar esta nova ferramenta de configuração do volume, muitas dificuldades para a biblioteca Artyom.js, já que ainda não 100% suportada e tanto no Firefox, quanto no Chrome apresenta comportamentos diferentes, algumas coisas funcionando melhor no segundo, mas por incrível que pareça o melhor desempenho para fala e audição é o Android.

Não sei se para o público no geral era prioritário configurar o volume, mas para mim, desenvolvedor, precisava urgente de uma forma de testar rapidamente o sistema sem as constantes falas e sons, que, se repetidos a exaustão podem ser mais torturantes do que uma torneira pingando gotas na cabeça de um refém.

Mais um Pequeno Bug Corrigido do Pomodoros

Um pequeno bug vinha me incomodando desde o lançamento do Pomodoros, que era em alguns casos o sistema continuava funcionando mesmo “quebrado”, em termos técnicos, quando o cookie que mantém o usuário logado no site era deletado o sistema não redirecionava para o usuário refazer o login.

Uma situação típica era do usuário que entrava no sistema, mas por algum motivo perdia a conexão, seja pela validade do cookie, seja por questões de segurança, entre outras situações que podem exigir que o usuário refaça o login, e o mesmo “bugava”, o usuário não percebia mas estava perdendo seu progresso, pois não estava pronto para este tipo de situação.

Assim, se o usuário continuasse usando o sistema “quebrado”, pomodoros sem nomes e autores continuavam sendo publicado, em alguns casos resultavam em vários pomodoros “perdidos”. Como sou administrador do sistema podia entrar pelo back-end e corrigir, mas os usuários via de regra perdiam parte do progresso, viam seus suados pomodoros atribuídos a ninguém, como se algum usuário sem conta tivesse feito.

Então, após muitos anos, tive tempo para corrigir esse bug, já que agora, após alguns meses no ar, além de mim, tenho uma outra usuária retornando a utilizar fortemente o pomodoros, assim preciso garantir desde já um uso suave e sem problemas. Agora, se o usuário perder o cookie, via AJAX o sistema recebe uma mensagem e então redireciona o usuário para que o mesmo possa logar de novo.

Login Com Facebook e Google: Rede Fnetwork Conectada

Em 2016 iniciei o projeto da FNetwork, foi um retrocesso em muitos termos, o primeiro passo foi unificar todos os usuários de vários projetos num banco de dados único. Para isso todos os sites foram desativados por meses, após conseguir essa unificação tinha disponível somente o formulário padrão de registro do wordpress em cada projeto.

Os usuários do Pomodoros já utilizam de forma “pesada” a integração com o Facebook, sempre soube da importância de se deixar pronto esta integração novamente, mas de que adiantaria apenas um site conectado com o Facebook? Um usuário que logar com o Facebook no Pomodoros terá acesso a todos os nossos serviços, atuais e futuros.

Parte Técnica: Plugin wp-social-login (fork)

Fazemos aqui uma indicação deste excelente plugin para fazer login com redes sociais, nós avaliamos como 5 estrelas no diretório do WordPress. Existe serviços de terceiros que são oferecidos para isso, integração de  sites com redes sociais, com altos custos, basta você pesquisar no Google para perceber que este é um novo filão.

Mas os criadores deste plugin se mantiveram “raíz”, permitindo aos próprios usuários configurarem seus domínios para se conectarem diretamente com os servidores das redes sociais. Ao final, quando tudo corretamente configurado, o usuário clica em um botão e se torna um membro registrado do site.

Como utilizamos uma configuração especial com uso intenso da pasta mu-plugins, já que plugins que são colocados nesta pasta são automaticamente ativados/desativados pelo WordPress. Assim não precisamos entrar no painel, porém, a maioria dos plugins exige uma configuração inicial mínima, por isso fazemos forks de vários plugins, adicionando scripts que se auto-configuram para cada domínio.

Graças a API do Google e Facebook ficou muito fácil configurar vários domínios, já que o mesmo aplicativo permite diversas URLs de retorno. Assim agora temos configurado para nossos domínios o login do Facebook e Google. Com isto esperamos aumentar (e muito) (e muito rápido) nossa base de usuários.

Nova Ferramenta de Seleção de Etiquetas de Projetos Facilita a Escolha do Projeto

O Pomodoros está passando por uma rodada de melhorias e “de repente” muitas novidades começaram a surgir, porém todas estas novidades estão sendo planejadas há anos, como a mais recente instalação de uma nova ferramenta para a seleção das tags ou etiquetas de projeto.

Primeiro entenda o conceito de “etiqueta do projeto”, uma tarefa ou pomodoro pode ser etiquetada, assim, dentro do Pomodoros os projetos são representado por tags ou etiquetas, assim várias tarefas compartilham a mesma tag e assim, esta tag representa o projeto, onde basta realizar um pomodoro com a tag do projeto para o mesmo contabilizar o tempo automaticamente no relatório.

Select2: A Biblioteca de JavaScript

A ferramenta implementada chama-se Select2, é de código-aberto e muito usada por agilizar a criação de um sistema de etiquetas. Assim um campo de HTML do tipo SELECT se transforma “como mágica” num sistema de tags como da imagem ao topo desta publicação.

Este sistema de tags é usual em muitas interfaces e é como se o usuários “já soubesse” usar e rapidamente entenderia seu funcionamento. Dentro do sistema pomodoros foram feitas diversas funções para que a integração pudesse funcionar dentro do sistema de tags do custom post type, com ferramentas padrão do WordPress e AJAX, integrados sempre com o nosso custom plugin F5 Sites Shared Post Types.

Assim agora os usuários terão um salto de qualidade na usabilidade, facilitando o uso intenso da ferramenta, aumentando o poder do usuário e tornando o app mais preparado para o uso em situações reais de trabalho e projetos realmente complexos. Para quem usa o app em celular com telas pequenas o ganho foi ainda maior, ficando muito fácil escolher as tags dos projetos, além de evitar digitar errado e criar dois projetos com o mesmo nome, já que escolhendo as tags prontas não corre esse risco.

Pomodoros Nova Tela de Visualização de Tarefas

Ao utilizar o WordPress o desenvolvimento do sistema pode ser mais rápido, no sentido em que é possível chegar a um MVP mais rapidamente, mas isso por si não significa muita coisa.

Em outros termos podemos pensar que já vem muita coisa pronta e semi-pronta no WordPress, então “menos” é preciso ser feito para o sistema “parar de pé”, aqui os termos em aspas pois representam estágios e esforços fictícios.

No caso da tela de visualização de tarefa antiga o que tinha era herança do WordPress, era simplesmente a página padrão de visualização de post, assim utilizando essa solução provisória (por 7 anos rs) pude concentrar esforços em outras partes do sistema.

Agora no estágio de fechamento e documentação, todas estes detalhes estão sendo revistos para poderem ser incorporados na próxima versão final do sistema, onde outros programadores poderão entrar para a equipe e contribuir com o projeto.

Novidades

Nesta nova tela é possível ver os detalhes do pomodoro de uma forma mais organizada, ao topo a imagem do autor, o título da tarefa e o nome do realizador.

Abaixo temos uma seção com os detalhes do pomodoro e os projetos que ele pertence. Os detalhes dos pomodoros são diferentes dos detalhes da tarefa, a última seção, logo abaixo da tela.

A tarefa soma todos os pomodoros com o mesmo título, se você fizer dois pomodoros para a tarefa “escrever post” a tarefa ira mostrar a duração de 1h e o total de 2 pomodoros. Observe que o pomodoro pode ter anotações diferentes, mas os detalhes das tarefas são sempre iguais para qualquer pomodoro com o mesmo título.

Atenção grandes empresas: Documentação do Pomodoros em estágio avançado de conclusão

Foi-se priorizado “subitamente” a criação da documentação para assim poder finalmente entrar em um período de estabilidade de uma versão nova do software, o chamado Pomodoros Black, novo momento do site www.pomodoros.com.br.

Assim a documentação puxou uma série de melhorias “bruscas” no código, para acompanhar a documentação foi-se revisto quase que todo o código do projeto e como prioridade absoluta foi-se removido todos os comentários, excluindo assim muitas linhas de código antigas.

A dificuldade na remoção era porque os comentários misturavam no código as ideias de funcionalidades, misturando planejamento e produção, foram todas retiradas e catalogadas no nosso sistema de controle de novas funcionalidades e bugs.

O código ficou mais leve e ao se documentar também acabei percebendo muitas oportunidades de melhorias imediatas, como simplificação de comandos e redução de lógica redundante. Assim páginas php com dezenas de linhas de códigos foram reduzidas a poucas linha.

Uma nova estrutura exigiu grandes mudanças, assim cada parte de código quando revista era renomeada e o que “ficou para trás” podia então ser excluído. No decorrer do processo também foram otimizados e atualizado os comandos de WordPress, para os mais recentes e adequados para cada cenário.

Ao se fazer a navegação também tive a oportunidade de rever cada página e fazer as pequenas correções que cada uma exigia. Assim a documentação trouxe muito mais qualidade para o usuário e o software final.

Por que documentar?

Vários projetos existem sem documentação, dependendo do estágio e objetivo do projeto a documentação pode ser considerada uma tarefa desnecessária, que consome muitos recursos, principalmente em situação de muitas mudanças, pois o custo de se adequar a documentação a cada mudança implica em prejuízo no desenvolvimento.

Assim, o projeto Pomodoros foi feito a “queima roupa”, com um planejamento mutante, que se transformava “a cada esquina”. Porém, após semanas e rodadas de decisões técnicas e estratégicas no final de 2017, a documentação passou a ter maior importância.

A nova documentação vai permitir uma manutenção mais precisa e eficaz no código, permitindo que programadores façam melhor uso do código e que grandes empresas possam olhar para o sistema com bons olhos.

Além de uma boa documentação grandes empresas exigem um bom suporte, então estas são as prioridades atuais do Pomodoros em termos técnicos, atingir rapidamente o mercado das grandes empresas e assim “puxar” uma série de inovações importantes para o futuro da plataforma.

Um agradecimento especial a todos os usuários históricos do sistema, desde o primeiro dia que entraram na plataforma, minha maior satisfação é saber que de alguma forma ajudei cada um a atingir seus objetivos pessoais, acadêmicos e profissionais.

O Ranking de Pomodoros voltou, entenda porque demorou tanto

O Ranking sempre foi umas das ferramentas mais “queridas” pelos os usuários, afinal, era para muitos a fonte de motivação, os mais ambiciosos disputavam a liderança e os estreantes também entravam na competição, tentando subir os primeiros degraus.

Dentro da visão de negócios o “ranking” aparece como parte de um inovador processo de gamificação (gamefication), após diversos estudos e análises, Francisco Matelli Matulovic, criador do aplicativo percebeu que existiam formas de transformar a experiência do usuário por meio de ferramentas e sistemas baseados em jogos.

Francisco que tentou produzir vários games entre os anos de 2004 e 2006, com várias demos jogáveis em Flash + PHP, nunca conseguiu os recursos necessários para finalizar e “empacotar” seus games. Porém com os conceitos bem definidos sobre usabilidade e jogos, quando produziu o pomodoros, uma ferramenta bastante séria, introduziu estes elementos.

Para os usuários mais antigos do site, ainda existia um sorteio de um Mp3 Player para quem chegasse a 1000 pomodoros, outro item que com certeza está próximo de voltar, teremos também muitos sorteios pela plataforma.

Novidades também vão surgir, o Pomodoros está aos poucos se tornando o que era no seu auge, quando tinha muitos usuários brigando pelo topo do ranking. Um agradecimento especial a Camila, uma antiga usuária que me contatou por email e perguntou se o projeto estava no ar de novo, antes mesmo de eu divulgar, visitou o endereço por conta própria.

Em suas considerações relatou que teve dificuldade em me contatar, por isso mesmo agora já tem um ícone do WhatsApp, a direita da tela, em todo o momento, basta clicar para iniciar um contato. Após recuperar seu usuário e seus pomodoros ela completa dizendo sentir falta do ranking, em homenagem a ela estou agora anunciando: o ranking voltou!

Entenda porque demorou tanto

A segunda parte deste post é bastante técnica, refere-se a programação e banco de dados. O projeto Pomodoros.com.br, após seu auge em 2013 e 2014, havia sido quase abandonado durante meu curso de mestrado. Devido aos custos, em 2016 era quase inviável manter muitos sites no ar, muitas reformas foram feitas e migrações para servidores mais em conta.

Então, no final de 2016 eu comecei a re-programar projetos antigos, porém, logo de cara percebi que precisaria inicialmente refazer o processo de criação, não dava mais para administrar tantos projetos sem algumas integrações e melhorias nas práticas. Foram meses para unificar a base de usuários de todos os projetos, criando uma conta única para ter acesso a muito serviços, o que chamei de Fnetwork, conheça mais sobre esta iniciativa.

Após centralizar os usuários tive uma segunda ideia, que acabaria novamente por atrasar todos os projetos, unificar todos os blogs e compartilhar os mesmos posts, publicando em vários domínios de maneira centralizada. Com certeza o desafio era enorme, pude testar várias formas e muitos plugins, nada parecia funcionar e então criei meu próprio plugin, conheça mais sobre o F5 Sites Shared Posts & Taxonomies, após exaustivos meses na incerteza, o resultado final foi satisfatório e agora tenho muitos domínios nesta rede.

Neste momento estou usando esta plataforma unificada para escrever este post no blog do Pomodoros, o mesmo post também aparecerá no site da F5 Sites Brasil. Era então chegada a hora de trabalhar no Pomodoros, foi quando me deparei com um banco de dados muito bagunçado, os projetos foram “jogados” lá quando unificados, havia muita informação desnecessária e duplicada, foram semanas “escovando” tudo, de 100mb passou para 10mb comprimido, assim a rotina de backup ficaria muito mais econômica, rápida e fácil.

Então atrasei o Pomodoros novamente, eu já havia estourado  todos os prazos inimagináveis para relançar o aplicativo online, os usuários estavam cada vez mais distantes, é praxe do mercado saber que quanto antes fazer o lançamento, antes recuperaria os usuários e cresceria.

Mas uma terceira ideia exigiria novamente todo meu tempo, um software criado para agilizar a rotina de manuteção e sincronização de instância de banco de dados MySQL, formatado para operar com o modelo de dados do WordPress, assim por meses todos os recursos se concentravam novamente em um projeto interno, que não traria lucro a curto prazo e nem visibilidade e projeção grandes, para atender e agilizar o servidores da F5 Sites nasceu o F5 Sites WordPress MySQL Manager.

Assim tudo estava pronto, podia finalmente voltar a desenvolver novas ferramentas para o Pomodoros, em primeiro lugar de lista, como prioridade estava uma tarefa esperando por anos, lançar o blog.

Enfim o motivo do atraso para lançar o blog, pois desde a primeira versão do projeto Pomodoros, em 2011, que pode ser conferida aqui, para agilizar, eu fiz um tipo de gambiarra no código, tecnicamente não criei um post_type especial para o sistema, usei o padrão do WordPress, assim todas as ferramentas e widgets funcionaram sem necessidade de configurações e edições muito avançadas.

Contudo, ao usar uma “gambiarra”, o projeto acabou sofrendo sem seu blog. Durante este impasse optei por adiar o lançamento do blog e preservar o sistema funcionando, mas quando o sistema caiu e perdeu os usuários, pude re-trabalhar tudo com certa calma, de forma mais controlada, mas ainda com muitas preocupações, porém tentando não deixar arestas.

Assim, agora, dentro do blog terão muitas novidades e informativos, ranking da semana, sorteios, anúncios da plataforma, novidades do projeto, muita informação que antes estava perdida.

Logo após lançar o blog, pude me concentrar no Ranking, refazendo aquela “gambiarra” e deixando tudo da forma mais certa e dentro dos padrões WordPress. Então foram nos últimos dias somentes que trabalhei de fato no projeto Pomodoros, agora sim sendo novamente atualizado.[:en]O Ranking sempre foi umas das ferramentas mais “queridas” pelos os usuários, afinal, era para muitos a fonte de motivação, os mais ambiciosos disputavam a liderança e os estreantes também entravam na competição, tentando subir os primeiros degraus.

Dentro da visão de negócios o “ranking” aparece como parte de um inovador processo de gamificação (gamefication), após diversos estudos e análises, Francisco Matelli Matulovic, criador do aplicativo percebeu que existiam formas de transformar a experiência do usuário por meio de ferramentas e sistemas baseados em jogos.

Francisco que tentou produzir vários games entre os anos de 2004 e 2006, com várias demos jogáveis em Flash + PHP, nunca conseguiu os recursos necessários para finalizar e “empacotar” seus games. Porém com os conceitos bem definidos sobre usabilidade e jogos, quando produziu o pomodoros, uma ferramenta bastante séria, introduziu estes elementos.

Para os usuários mais antigos do site, ainda existia um sorteio de um Mp3 Player para quem chegasse a 1000 pomodoros, outro item que com certeza está próximo de voltar, teremos também muitos sorteios pela plataforma.

Novidades também vão surgir, o Pomodoros está aos poucos se tornando o que era no seu auge, quando tinha muitos usuários brigando pelo topo do ranking. Um agradecimento especial a Camila, uma antiga usuária que me contatou por email e perguntou se o projeto estava no ar de novo, antes mesmo de eu divulgar, visitou o endereço por conta própria.

Em suas considerações relatou que teve dificuldade em me contatar, por isso mesmo agora já tem um ícone do WhatsApp, a direita da tela, em todo o momento, basta clicar para iniciar um contato. Após recuperar seu usuário e seus pomodoros ela completa dizendo sentir falta do ranking, em homenagem a ela estou agora anunciando: o ranking voltou!