Meet Magento 2019

Continuando com a participação em conferências na Europa que a Samsys me está a proporcionais, depois da Microsoft Ignite em janeiro, Ecommerce Berlin em fevereiro e da Deliver Conf em março, estive em Haia para a conferência Meet Magento 2019 NL.

Pode parecer contraditório ou até pouco interessante no que diz respeito ao retorno do investimento participar numa conferência sobre uma plataforma (Magento) que não utilizamos diariamente, mas a verdade é que para além de termos alguns clientes que usam essa plataforma e que a integram com ERPs com que trabalhamos, por exemplo usando o nosso Driver PHC Magento, sabemos que o Magento é uma plataforma relevante, e pelo facto de ter estado sempre focada em comércio eletrónico, em alguns pontos, a sua comunidade e o próprio produto poderão proporcionar ensinamentos valiosos para quem utiliza neste tipo de soluções a combinação WordPress com WooCommerce.

Tendências no Comércio Eletrónico

Neste momento está a fazer cerca de um ano desde que a Adobe trouxe o Magento para dentro da sua linha de produtos e isso foi referido logo na primeira sessão, onde se falou das grandes tendências a nível do comércio eletrónico mundial.

Uma dessas tendências é a crescente importância dos marketplaces, que vão representar cerca de 40% de todas as transações já em 2020, bem como a importância que os utilizadores dão a personalização da experiência de compra.

Também foi destacada a crescente ligação entre o online e offline, seja a nível de integração de dados, seja a nível de começar a experiência de compra num meio e depois conclui-la noutro

E não poderiam deixar de faltar até às buzzwords do momento como a pesquisa por voz ou a utilização de inteligência artificial e machine learning em todo este processo.

Para além disso também enquadrou a aquisição deste produto por parte da Adobe no sentido de conseguir ter uma oferta de produtos que permitisse ir desde a ideação ou prototipagem, desenho da solução, neste caso do design de uma solução de comércio eletrónico, até ao próprio website.

Foi curioso perceber que também ao nível do produto é dada cada vez mais importância aos conteúdos relacionados com o produto, para além da típica página de produto, através da criação de landing-pages e outras páginas com conteúdo personalizado e que isso se refletiu no desenvolvimento de um page builder para Magento. Interessante esta abordagem do page builder até porque é algo que está muito na atualidade da comunidade WordPress com o projeto Gutenberg bem como outros projetos como o Beaver Builder ou Elementor.

Magento PWA Studio

Outro tema bastante falado foi o do Magento PWA Studio, uma plataforma para construir aplicações móveis baseadas em Magento. Pelo que percebi para já ainda é uma prova de conceito (embora lançada há mais de um ano) e também aqui, há semelhança da comunidade WordPress percebe-se que em alguns casos quem lidera (de forma mais formal ou informal) o processo nem sempre consegue partilhar com o resto da comunidade qual é o caminho.

Neste caso parecem estar um pouco indefinidas principalmente a questão das datas em que novas versões do PWA Studio irão sair, e principalmente algumas abordagens técnicas que irão ser seguidas (por exemplo Reactive ou Vue). Ao mesmo tempo outras pessoas da comunidade vão procurando fazer o seu caminho já que também nesta comunidade se percebe que o mobile e principalmente o ter uma aplicação mobile associada a uma loja online é algo cada vez mais relevante.

No evento havia algumas sessões não técnicas, por exemplo sobre marketing, entre outros, mas nesses casos quase sempre em holandês pelo que me mantive pela sessões técnicas.

Ainda assim numa sessão menos técnica apresentada pela BOL.com, “Platformization: new collaborations in Retail” de Nick Enthoven, falou-se de como os marketplaces são uma tendência em crescimento e como podem chegar a diferentes segmentos, nomeadamente às famílias jovens (casal e um ou dois filhos) que não querem chegar a casa depois do trabalho e ainda ter que tratar da comida ou outra tarefa diária e que por isso são utilizadores frequentes desse tipo de produto online; mas também dos seniores que muitas vezes têm dificuldade em conseguir transportar as suas compras para casa; e claro dos chamados milenials que têm uma relação já nativa com tudo o que é digital.

As entranhas do Magento

Voltando às sessões técnicas falou-se muito da versão 2.3 que parece estar a ser um marco na comunidade e vista como uma versão de referência tal como foi a versão 1.4.
Vestindo ainda a minha camisola de developer é interessante ver como conceitos standard desta área do desenvolvimento de software estão a ser usados, seja “dependency injetion” ,”plugins”, “observables”, “repositories”, etc. Conceitos que nós utilizamos internamente também nos nossos desenvolvimentos e que vão aparecendo também na comunidade WordPress.
Acho que só não falaram de View Models, mas a criação de elementos para UI também parece bastante sistematizada.

Tudo isto referido em várias sessões, nomeadamente na mais técnica de todas as que assisti sobre o futuro que se pretende para o Magento com o titulo sugestivo de “A long way from Monolit to Service Isolated Architecture” de Igor Miniailo. Uma apresentação que quase que precisava de uma tarde inteira para se conseguir transmitir corretamente tudo o que se pretende fazer.

Numa nota mais específica sobre a arquitetura do Magento, e mais relacionada com o domínio de atuação deste software (lojas online) é interessante perceber que de raiz já vem incorporado o conceito de Multi Source Inventory algo que é muito importante para alguns vendedores.

Duas sessões que se destacaram foram a “So you want to develop with Magento“, com David Manners e a “Half a rush hour of Magento 2” com Fabian Blechschmidt , ambas sobre as “entranhas” do Magento, uma mais na vertente da introdução (instalação e afins) e outra numa perspetiva mais de apresentação geral da plataforma. Muito interessante para quem, como eu, não trabalha diariamente com a plataforma, mas também muito divertida pela forma dinâmica como foi feita.

Qualidade de Software

Ainda na perspetiva de aprender coisas novas e até aplicá-las no nosso dia a dia, a apresentação “Tools to improve the quality of your Magento project” de Stephan Hochdorfer, foi muito interessante, já que focou um conjunto de ferramentas, não específicas do Magento, e que permitem melhorar a qualidade do processo de desenvolvimento de software em geral e de desenvolvimento em PHP em particular. Registei para explorar futuramente o Captain Hook (para ajudar a configurar hooks git), PHPStan para validar o código PHP desenvolvido bem com o conceito de Mutation Testing, que podemos aplicar também ao desenvolvimento em .Net que também fazemos.

Todas estas sessões foram realizadas no Louwman Museum, um espaço muito simpático e à medida da comunidade. No espaço comum havia cerca de meia-duzia de empresas, desde o Paypal (que está promover uma relação forte com o Magento), a empresas de hosting e desenvolvimento à medida para Magento.
Também encontramos algumas empresas mais direcionadas para marketing digital e que disponibilizam plataformas multi-canal que agregam toda essa informação sobre um cliente permitindo depois acompanhar num dashboard diferentes indicadores gerais e individuais da performance do website.

O dia acabou em beleza com a ultima apresentação, de Slava Kravchuck, sobre a sua aventura em África, uma descrição animada e emotiva do seu percurso da Ucrânia até África do Sul. Um apelo a que persigamos os nossos sonhos e valorizemos aquilo que de mais há importante há na vida, a alegria, a simplicidade… as pessoas.

Formaçao com Ricardo Peixe

Liderar equipas pode ser visto como uma competência nata, e todos conhecemos pessoas onde identificamos esta característica, mas, quer para esses, quer para o comum dos mortais, a aprendizagem de ferramentas e estratégias que nos ajudem a ser melhores líderes é fundamental… nem que seja só para rever ou sistematizar conhecimentos que foram adquiridos de forma empírica.
(e quando digo líderes isso até pode querer dizer “simplesmente” líderes de nós próprios)

Na Samsys, há muitos anos que o Ruben e o Samuel perceberam que para que a Samsys mantivesse um percurso de crescimento que a permitisse estar há 21 anos de mercado, como estamos, e continuar a acrescentar valor aos seus clientes, como acredito que acrescentamos, só o iam conseguir fazer delegando muito do seu trabalho operacional diário na restante equipa Samsys.

Diria que estamos agora no ano oito ou nove desta grande mudança e eu tenho o privilégio de fazer parte da equipa que, com as suas particularidades individuais, tenta levar a energia e dinamismo deles para as suas equipas, no meu caso equipa de desenvolvimento.

É nesta perspetiva de melhoria contínua e da importância destas competências sociais que, há semelhança de anos anteriores, este ano temos algumas formações que nos são proporcionadas pela Samsys. Umas para toda a equipa, como a formação com o Paulo Moreira sobre Inteligência Emocional, ou com o Alexandre Monteiro sobre Micro Expressões, outras direcionadas para a equipa de liderança, como a que tivemos recentemente em Vigo com Ricardo Peixe.

E acho que é importante destacar a forma como o Ricardo conseguiu criar uma ligação penso que com todos nós. Não só pela sua dinâmica na formação (muito gira e ao mesmo tempo eficaz a forma como incluía alguns apontamentos de ilusionismo que para além de criarem um momento de descontração, reforçavam o ponto que estava a ser trabalhado) mas também no restante convívio que tivemos com ele nos quase três dias que estivemos juntos (corrida matinal incluída).

Abordamos vários temas e fizemos vários exercícios, que inclusivamente ajudaram também a reforçar o espírito de equipa entre todos os líderes. Ainda assim destacaria o modelo FAST e o conceito “pace and lead”.

O modelo FAST é isso mesmo, um modelo, e começamos por analisar em conjunto para que serve e de que forma deve ser usado. Nomeadamente que serve para ajudar a simplificar uma realidade (mais complexa) e assim apoiar na tomada de decisões mas que, com essa simplificação, poderá, se utilizado de forma absoluta, levar-nos a ignorar as áreas cinzentas, que sempre surgem, ao pormos a realidade no nosso modelo “preto e branco”.

Este é então um modelo para ajudar a identificar qual a “energia” dominante de uma pessoa, como outros modelos como por exemplo o eneagrama.
O objetivo é, ao identificarmos essa energia, conseguirmos encontrar melhores formas de comunicar com essa pessoa (e comunicar é um processo bidirecional, de ouvir e falar) e nesse processo ajuda-la a tornar-se a sua melhor versão.

FAST corresponde então aos diferentes tipos de pessoas identificados neste modelo: Fun, Action, Strategy e Team; sendo certo que ninguém está 100% num so quadrante, nem tão pouco se mantém durante toda a sua vida ou mesmo durante todo o dia só num quadrante.

  • Fun – Criatividade; Adaptabilidade; Diversidade
  • Action – Execução; Convicção; Superação
  • Strategy – Planeamento; Conhecimento
  • Team – Agrupar; Conectar; Empatizar

Estando identificado o perfil da pessoa (e dito assim percebe-se que é uma sobre-simplificação) passamos à fase de tentar alinhar a nossa abordagem com aquilo que a outra pessoa está mais receptiva para acolher. E é aqui que pode entrar a abordagem “pace and lead”.

O que este conceito nos transmite é que, tipicamente, será mais vantajoso, numa abordagem com outra pessoa, posicionarmo-nos num estado parecido com o dela, acompanha-la (pace) e depois então, se for esse o objetivo, tentar conduzi-la (lead) para o ponto que pretendemos.

Um exemplo que o Ricardo referiu e achei muito interessante era na abordagem a uma reclamação, num cenário em que um cliente entra numa loja já visivelmente irritado a pedir para tratarem do seu problema. É diferente ter uma pessoa hiper-calma que lhe diz “tenha calma… quer-me explicar qual é o seu problema”, ou ter alguém que de forma enérgica se dirige para o cliente e diz algo como “percebo a sua situação, pode vir aqui ao lado para vermos como o posso ajudar”.

Poderia elencar muitas outras aprendizagens que retirei destes dois dias e meio, mas acima de tudo voltaria a destacar o profissionalismo e até companheirismo do Ricardo Peixe, bem como a visão do Ruben e Samuel em nos continuarem a proporcionar este tipo de aprendizagem.

 

Notas sobre presença na Ecommerce Berlin 2019

Ecommerce Berlin

Conferência / feira sobre as diferentes áreas do comercio electrónico. Numa altura em que praticamente todos os negócios, se ainda não estão online, pelo menos já começaram a pensar nisso, isso quer dizer que vamos encontrar temas e empresas relacionados com hosting, seo, plataformas de ecommerce, diferentes abordagens e ferramentas direccionadas para e-marketing, até plataformas de shipping, pagamento ou soluções de packaging, já para não falar dos temas da moda como ai, ml, datascience, etc.

É um evento, para mim, com uma dimensão confortável, dois pavilhões com bastantes stands mas num número aceitável para conseguir falar com todos os que nos interessam e ainda ter tempo para ir acompanhar algumas das apresentações que ocorrem em simultâneo em 4 track.

Apresentações

Mathias Blum – Connecting with customers in the age of assistance.

A pesquisa por voz é uma das tendências atuais da web. Embora em Portugal não tenhamos propriamente os alexas e semelhantes que ajudam a tornar estes serviços mais ubíquos a verdade é que basta ver uma criança a usar uma pesquisa por voz para encontrar os seus desenhos favoritos, para perceber que esta é mais uma abordagem transformadora à forma como interagimos com máquinas. Um ponto que ainda não tinha percebido e que foi destacado é o facto de as interações começadas por voz promoverem uma resposta por parte do sistema que se espera mais indutora de ações do que a pesquisa textual, ou seja, tipicamente fazemos uma pergunta para obter algo mais do que uma resposta sim ou não ou um simples artigo da Wikipedia.

A apresentação incluiu ainda a apresentação de funcionalidades do google assistance e como ele pode usar a voz, em conjunto com outras apis da google para criar novas experiências de utilização como por exemplo criar uma aplicação que começa com uma pergunta do tipo “o que vou jantar logo à noite”, que depois segue para a encomenda dos produtos necessários e acaba com as instruções para cozinhar esses alimentos.

Achei interessante o facto de enfatizarem que tratando-se de um novo tipo de serviço provavelmente fará sentido pensar em formas de o aplicar também diferentes do habitual… se calhar fará mais sentido usar este serviço para alugar um carro do que para o comprar…

Nuno Batista – understanding Data Science: the basis of a successful AI and Machine Learning strategy.

O objetivo desta talk pareceu-me ser o desmistificar alguns conceitos e dar informação para quem gere lojas online ou outros sistemas similares poder implementar uma estratégia de data science. Achei interessante a pirâmide de necessidades no mundo data science e o foco em recolher a informação que efetivamente necessitamos, ou seja, perceber bem o que queremos explorar para depois recolher a informação que precisamos para essas análises.

Interessante também alguns exemplos simples de código que mostrou e que demonstram como se pode retirar já algum valor destas análises mesmo com poucos dados. Também interessante alguns cenários de aplicação destas tecnologias, por exemplo um que pode ser interessante de experimentar e que é o de tagging automatico de imagens usando as soluções já existentes para isso (amazon, google, microsoft), para evitar ter que preencher manualmente informação de grandes catálogo.

Christina Keller – Push Creative Boundaries With the Mobile Space.

Mais na área da comunicação e marketing, esta apresentação centrou-se muito na apresentação de casos práticos de ativação de marcas e campanhas usando o conceito Pitch, Play, Plunge, isto dentro do ecossistema Facebook (Facebook, Messenger, Instagram, Whatsapp).

Pitch – make it na immediate get to the many;

Play – make it interactive for the curious;

Plunge – make it immersive for the interested to dive in.

Ou seja, para pessoas diferentes e para alturas diferentes da campanha, podemos usar formas e canais diferentes de comunicação. Se calhar quando queremos chegar a muita gente podemos fazer um pequeno video ou uma historia no Instagram, quando queremos criar algo que envolva mais as pessoas podemos ter jogos dentro do messenger que promovam a marca e quando queremos tornar tudo mais imersivo usar todo o conjunto de tecnologias e meios disponiveis.

O exemplo da tomy hilfiger em que os telemoveis tinham que estar lado a lado para se conseguir ver corretamente o video promocional era muito bom.

Filie Wiese – Optimizing for Search Bots.

Um bom exemplo de como dar um nome apelativo a algo mais habitual. Esta apresentação foi sobre optimização de websites tendo em conta a forma como os sites são vistos pelos motores de pesquisa. Para além das habituais questões de performance, links internos e qualidade de conteúdos, incluiu ainda algumas dicas interessantes, como por exemplo definir no google search console o que querem dizer os parametros num url e que pode ajudar para analises posteriores.

Também referiu alguns pormenores mais especificos mas importantes e que podem levar à duplicação da forma como o google vê o nosso site e que tem a ver com a mesma página poder estar a ser chamada com os mesmo parâmetros mas em ordens diferentes. Ou seja o nosso site parece muito maior, mas com conteúdo duplicado e tornando mais difícil definir hierarquias internas, que são usadas para perceber quais as páginas mais importantes do website.

Pavel Sima – Roivenue – How Axa increased ROI on afiiliates by 180%.

Uma apresentação mais direcionada para as questões de atribuição quando se conquista clientes online e como com uma análise e definição mais precisa destas questões podemos criar campanhas mais rentáveis.

Bruno Gorgulho – Exponea – A Data-Driven Future.

Achei interessante esta apresentação porque, embora o titulo apontasse para algo talvez mais teórico, na verdade apresentou conceitos muito práticos e sempre com um foco muito grande no negócio e na sustentabilidade das lojas online. Começou com uma afirmação um pouco assustadora e que é o facto de, penso que eram, 40% das lojas online no reino unido estarem ou irem atravessar dificuldades financeiras e depois foi trabalhando esse tema. A principal questão apresentada tem a ver com a relação entre o custo de aquisição de um cliente (CAC – client aqusition cost) e o valor que ele vai trazer para a empresa (LTV – long-term value) e o que foi argumentado foi que muitas empresas não olham corretamente para estes dados para perceber se realmente os clientes que vai conquistando  trazem o retorno necessário para pagar todo esse investimento de aquisição e, mais, se se tornam fieis, ou se simplesmente andamos sempre a ter que conquistar novos clientes para compensar os que saem.

Esta é uma ideia que se aplica a todas as empresas, quer o tipo de venda frequente ser de baixo valor mas com alta recorrência (por exemplo uma loja de roupa tradicional) quer se tratem de produtos premium tipicamente de valor mais elevado mas com uma recorrência mais longa. Mais uma vez tão importante como estes conceitos teóricos é o que fazemos com eles e como pegamos nos dados que recolhemos e depois criamos estratégias para conseguir aumentar a nossa ligação aos clientes e, no fim, a venda de mais produtos.

Produtos

Custobar

custobar.com – solução direcionada para retalho e com possibilidade de fazer uma analise 360 de um cliente. O que achei mais interessante foi a possibilidade de integração de informação recolhida também offline de forma a conseguirmos ter uma visão completa.

Mysize

mysizeid.com – solução que, a partir das medidas da pessoas, selecciona logo o tamanho apropriado quando estamos num site. tem o contra que implica que o utilizador se registe inicialmente nessa plataforma. Implica também que do lado da loja haja também uma ligação que permita fazer este match entre o que o utilizador carregou na plataforma e a estrutura de tamanhos da loja.

Loqate

loqate.com – solução para ajudar no preenchimento e validação de dados de localização de utilizadores. Ou seja, não só para, por exemplo via autocomplete, ajudar o utilizador a inserir a sua morada de forma mais precisa, mas também a validar a existência do email indicado. Pareceu-me também interessante o site de limpeza de dados a partir de uma lista pre-existente.

Pesquisa

Não apontei o nome mas era uma empresa especializada em pesquisas dentro do próprio site. Achei curioso porque eu referi que isto é algo que normalmente até desvalorizamos porque partimos do principio que o cliente acede ao site via google e que por isso as pesquisas internas era pouco relevantes. Ele referiu que realmente só cerca de 10% dos utilizadores usam pesquisas internas mas que verificavam que a taxa de conversão após utilização da pesquisa interna era 50% superior com o sistema deles.

Pricemonitor

patagona.de – solução interessante de monitorização de preços online. Uma espécie de kuanto kusta personalizado. Inicialmente pensei que não teria grande aplicação já que me parecia que seria mais aplicado a lojas que fazem revenda (roupa de marca, eletrodomésticos, …) mas falaram também de cenários em fabricantes que usam essa informação para perceber e monitorizar a que valor os seus produtos são vendidos.

Virtooal.com

solução de realidade aumentada direcionada para produtos que são usados por pessoas (roupa, acessórios, óculos). Pelo que me referiram o principal foco neste momento era a parte ótica e que permite ter no site uma área onde, a partir da câmara do computador ou dispositivo da pessoa, podemos logo ver no nosso rosto como vão ficar os óculos selecionados.

Cgtrader

cgtrader.com – solução de realidade aumentada direcionada, pelo que me pareceu, para mobiliário. O exemplo que tinham era estar a navegar numa loja online, seleccionar um produto, por exemplo uma mesa, e depois, usando realidade aumentada, ver como esse produto iria ficar na nossa sala. Pareceu me que o foco seria mais converterem algo para 3d e não tanto a outra parte no nosso cenário talvez mais habitual com que lidamos, com fabricantes que tipicamente já terão os modelos. Esta parte da modelação poderá não ser tão relevante, no entanto a parte seguinte, de ver a peça integrada no ambiente real é muito interessante.

Chatcamp

chatcamp.com – não sendo nada novo continua a ser interessante este tipo de solucão que integra as plataformas de messaging atuais (messenger e whatsapp) nos canais de contacto com os nossos clientes

Participação em aula de Sistemas Integrados

De vez em quando aparecem-nos alguns desafios inesperados e há duas semanas enquanto estava a meio da formação XD API recebemos um pedido para participar numa aula da unidade curricular Implementação de Sistemas Integrados do 3ºano, 2º semestre do Mestrado Integrado em Engenharia e Gestão de Sistemas de Informação da Universidade do Minho.

Esta unidade curricular aborda a temática dos sistemas integrados como software (ERPs, …), como integração de sistemas (SOA, …) e funciona ainda como uma unidade curricular integradora dos conhecimentos adquiridos ao longo do 1º, 2º e 1º semeste do 3ºano.

Integração de sistemas de informação, nomeadamente softwares de gestão é algo que trabalhamos com muita regularidade na Samsys pelo que, mesmo não tendo nada preparado, achamos que seria interessante e importante participarmos nessa aula.

A ideia era ser uma apresentação muito prática e foi com esse espírito que a tentamos preparar.
Antes da apresentação desses casos tentei dar um enquadramento de como vemos, a realidade da integração de sistemas, quer no mundo em geral quer nos desafios concretos que os nossos clientes nos colocam.

Para abordar inicialmente o tema da integração de sistemas usei uma ideia que, na minha opinião, captura a essência deste conceito. Essa imagem representava uma pessoa, com um conjunto de folhas, a passar essas folhas a outra pessoa. Pareceu-me que era uma boa metáfora porque, no fim de tudo, quando falamos em integração de sistemas, estamos a falar de partilhar algo (informação) que um sistema (uma das pessoas) tem com outro sistema (a outra pessoa).

Claro que, como se costuma dizer, o diabo está nos detalhes, e se, conceptualmente, é mesmo só partilhar informação, quando começamos a detalhar o problema, muitas outras questões se levantam.

  • Requisitos: Fiabilidade; Consistência; Velocidade
  • Estratégias : Online; Batch; Ficheiros; bases de dados; webservices, …
  • Especificações: Protocolos; Sistemas abertos / fechados
  • Desenvolvimento: De raiz; Dentro de Produtos existentes

Podemos estar a falar em pensar como vamos monitorizar todo o processo para percebermos se ele é fiável… o que vamos construir para quando acontecer um erro podermos saber dele antecipadamente e podermos resolvê-lo;

Ou então perceber quais os requisitos na velocidade de integração, o que pode levar a perceber se temos que pensar num sistema de integração online ou em batch, e sendo em batch com que periodicidade e que tipo de inconsistências de dados estamos a admitir como possíveis.

Depois precisamos ainda de definir ou saber quais as formas como vamos por os dois sistemas a comunicar, por troca de ficheiros, por acesso direto às bases de dados de cada um desses sistemas, através de apis ou webservices.

No caso de alguns sistemas mais especificos, ainda poderá ser obrigatório saber que protocolos de comunicação têm que ser establecidos, o que pode ser mais ou menos complicado caso estejamos a falar de sistemas abertos ou fechados.

E, no nosso caso, em que desenvolvemos estes sistemas, temos que perceber se vamos construir tudo de raiz, se vamos usar algum componente ou se vamos usar uma framework completa que já disponibilize este tipo de serviço fazendo somente as parametrizações de cada um dos sistemas a integrar.

O que temos visto como tendência geral é um caminho desta indústria para os microserviços com apis rest que depois podem ser programadas diretamente, ou então, orquestradas para poderem comunicar entre si.

No entanto a realidade mais habitual Samsys é a da integração de sistemas, que por esta altura poderiamos chamar de clássicos, do tipo cliente / servidor, em que temos uma aplicação desktop windows que se liga a uma base de dados que disponibiliza a informação tratar.

Isto não quer dizer que os diferentes fabricantes com que trabalhamos não possam ter já soluções 100% web como o DriveFX no caso da PHC ou webificada como o PHC cs web (digo webificada porque continua a precisar do PHC CS Desktop), ou Jasmin no caso da Primavera (fabricante não tão expressivo no portfolio Samsys).

Ou seja, embora a tendência atual seja ligar aplicações web via apis rest, no nosso caso temos tipicamente que criar o interface web que ligue ao software de gestão para depois interagir com o outro sistema com que queremos integrar

Neste cenário ainda temos outra questão com que tipicamente temos que lidar e que tem a ver com a forma como esses sistemas disponibilizam o acesso aos seus dados e lógica. Já antes das APIs rest ou webservices havia o conceito de APIs. Na altura estavamos a falar de DLLs de integração, tipicamente vendidas como módulos adicionais ao software base, estas Windows API (vamos chamar-lhes assim) permitem-nos, pelo menos, abstrair-nos da lógica implementada no ERP bem como da própria estrutura da base de dados.
Este é o cenário da Sage, XD, Primavera e Wintouch e, não havendo a opção de uma API web então pelo menos ter este tipo de API é um bom começo.

Estas são todas as questões prévias com que temos que trabalhar, e este foi um tema também que tentei passar na apresentação. O desenvolvimento de software e deste tipo de sistemas não vive só de técnica. O contexto em que trabalhamos, ou seja as empresas para quem prestamos serviços, é muito relevante para perceber quais as necessidades delas, as suas expectativas e como poderemos implementar essa solução.

Depois disto passamos à apresentação de casos concretos. Onde tentamos dar uma ideia, às vezes talvez demasiado exaustiva, de como construimos essas soluções. Apresentando código, falando dos desafios dessas implementações e respondendo a algumas questões que foram surgindo.

Os exemplos que apresentamos, e que foram apresentados pelo meu colega Telmo Marques, incluiram soluções que usavam a Extensibilidade Sage ou aplicações que usavam a Sage API para integrar dados, outras com Primavera para integrar com uma loja online em WordPress/WooCommerce, o nosso addon para o Wintouch Oficinas que permite enviar Sms para os clientes cuja carro tem que ir à inspeção ou alguns exemplos que já experimentamos com a API do XD.

No geral fiquei surpreendido por temos conseguido manter uma audiência de cerca de 100 alunos, num final de dia, relativamente interessada e que foi colocando algumas perguntas durante as apresentações. Uma boa experiência portanto.

MS Ignite Tour | Milano

Como uma espécie de disclaimer, embora não faça muito sentido porque é o sítio onde trabalho, gostava de referir que fui a este evento com o apoio da Samsys, mas principalmente destacar o que acho que é um ato de grande visão este de proporcionar a toda a equipa de liderança a possibilidade de conhecer novas realidades, aprender e sempre que possivel captar novas oportunidades de negócio para a Samsys.

Este evento é a versão light do MS Ignite que ocorre todos os anos nos EUA e que tem milhares de participantes e parceiros. Neste caso é bem mais pequeno, talvez <5k pessoas sendo o número de parceiros a apresentar as suas soluções menos de duas dezenas (pelo menos esta sessão de Milão)

É um evento de apresentação das novidades da Microsoft em diferentes vertentes, sendo que atualmente o que está a ser comunicado é tudo o que tenha a ver com cloud, os diferentes serviços disponiveis na plataforma Azure e tudo o que anda à volta do Office 365 (Produtividade, Sharepoint, Teams,…).

Este tipo de apresentações tem sempre um pouco da área comercial (mas pouco) sendo mais direccionado para quem vai implementar estas soluções, seja developers ou sysadmins. A cada momento havia umas 5 palestras a decorrer pelo que tinhamos que escolher o que queriamos ver. Eu centrei-me na área de desenvolvimento bem como um pouco de Office (na vertente de produtividade)

Resumo

Sobre as sessões que participei aqui fica o resumo geral.

Como resumo geral diria que o caminho da microsoft é azure para tudo, sendo que no nosso caso, no que diz respeito a desenvolvimento de software, isso quer dizer app service para fazer deploy das noção aplicações dotnet e sql for azure para usar o sql como solução managed. o objetivo não é ter VMs a correr na cloud mas sim usar essas funcionalidades (app e bd) como serviço. muito interessantes tamém as azure functions e a possibilidade de desenvolver add-ins para office 365

informação de todas as sessões: https://aka.ms/MyMsIgniteTheTour

código de todas as sessões: https://aka.ms/msignitethetourcode

Detalhe por sessão

Asp.net core: from windows to linux and back

Uma curiosidade, esta sessão era em italiano mas isso não aparecia no programa pelo que só quando entrei é que percebi que não era em inglês. ainda assim experimentei ficar e até não correu mal, acho que deu para perceber 2/3 do que estava a dizer o orador e o resto deu para perceber o sentido. na apresentação focou-se nas melhorias que vão aparecer na nova versão de dotnet core 2.2 e 3.0, nomeadamente a questão de poder ter aplicaç~çpes winforms. A demo principal consistiu na conversão de uma aplicação tradicional mvc para dotnet core 2.2. claro que estas demos são sempre preparadas para tudo parecer o mais simples possivel mas ainda assim foi interessante ver esse processo. para além disso, e sendo o dotnetcore uma tecnologia cross-plataform demonstrou-se esse mesmo site a correr a partir de um raspberry pi. neste caso o que se passou para o raspberry pi foi um docker container com essa webapp. um conceito interessante e que pode abrir portas para conseguirmos entrar em áreas mais mais dentro do iot, eventualmente soluções de chao-de-fabrica, sem ter que ir para componentes mais específicos.

Running machine learning experiments on inventory management

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Running-Machine-Learning-experiments-on-inventory-management/m-p/284158

esta foi sem duvida a sessão mais aborrecida. o tema parecia interessante mas foi demasiado teorica pelo menos para o que eu conseguia absorver. ainda assim focou a area de machine learning nomeadamente na vertente do que eles chamam cognitive services, dentro da área do reconhecimento de imagens. é neste tipo de funcionalidade que pelo menos no futuro próximo me parece que vai ser dificil não ter que recorrer a um dos grandes players de serviços cloud, seja microsoft seja amazon.

Investing in serverless: less servers more code

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Investing-in-Serverless-less-servers-more-code/m-p/284148

depois de uma sessão muito técnica vimos uma sessão mais prática onde mais uma vez se usou um serviço para reconhecer imagens mas onde o destaque eram as durable functions. as durable functions são uma espécie de v2 das azure functions que são serviços na cloud que não têm estado e que podem ser programados por nós sendo depois feito deploy na cloud sendo que podem correr no seguimento de algum trigger que seja definido. por exemplo queremos enviar um report sempre que um stock desce abaixo de determinado valor. no caso das durable functions podemos criar mais alguma lógica que, entre chamadas, faz a persistencia dos valores, ou seja em vez de ser uma função stateless passamos a poder ir buscar o estado entre chamadas. parece muito interessante também por causa dos valores já que os primeiros muitos milhares de chamadas são gratuitos

Migrating web applications to azure

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Migrating-web-applications-to-Azure/m-p/284174

esta foi a primeira sessão de um conjunto que tratava de migrar uma aplicação web de servidores on premise para serviçs cloud. em todas elas houve um foco grande em em vez de usarmos o azure como uma solução Infrastrucutre as a Service (IaaS) usarmos como Platform as a Service (PaaS), ou por outras palavras, em vez de termos VMs na Azure, usarmos os serviços geridos, seja a nivel aplicacional (para aplicações dotnet, nodejs, …) seja também para bds usando o sql service. Nesta sessão focou-se a parte aplicacional e foi demonstrado todo o processo de configuração de uma solução deste género através do portal Azure desde a criaçao do “resource group” até à configuração dos diferentes serviços

Moving your database to azure

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Moving-your-database-to-Azure/m-p/284149

esta segunda sessão focou-se na parte da base de dados e todo o processo de passagem de uma base de dados sql de um servidor local para um serviço sql azure. Aqui focou-se muito também toda a questão de reduzir toda a componente de inrfaestrutura, desde hardware, licencimento, tempos de instalação e configuração, bem como, depois disso, o facto de estarmos sempre atualizados com os ultimos patchs e termos de raiz alguns serviços como dns e também um backup standard de dados. falou-se ainda de uma aplicação que permite fazer o “assessement” inicial de uma base de dados para verificar se é passível de ser colocada online.

Excel Solution Palooza! Get inspired by the latest and greatest Excel..

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Excel-Solution-Palooza-Get-inspired-by-the-latest-and-greatest/m-p/284141

para “desenjoar” um pouco de azure fui ver uma sessão sobre o que é possivel atualmente fazer a nivel de addins para Excel e fiquei completamente maravilado. Embora ainda não estejamos ao nivel do VBA, atualmente já é possivel fazer mesmo muita coisa com estes Office Addins. Eles são construidos em Javascript e correm igualmente no office “normal”, office online e office for mac. As APIs existentes já permitem coisas tão interessantes como criar graficos programaticamente, inclusive criar pivot tables bem como criar funçoes que depois podem ser usadas em formulas dentro da folha de trabalho. até para criar o tetris no excel! muito muito interessante.

Modernizing your applications with containers and serverless

https://techcommunity.microsoft.com/t5/Microsoft-Ignite-The-Tour/Modernizing-your-application-with-containers-and-Serverless/m-p/284152

voltando ao azure fui ver uma ultima sessão sobre um novo serviço disponibilizado e que permite colocar containers diretamente na plataforma azure. embora em algumas questões seja parecido com os appservices, neste caso permite uma melhor definição de escalabilidade (por exemplo dizer até onde queremos aumentar e depois diminuir). é uma soluçao mais pensada para quem quer ter de um momento para o outro uma montanha de servidores a fazer o mesmo (tipo criar modelos para suporte a soluções de machine learning). dentro o nosso cenário habitual, web apps de negócio, a solução app service é a mais recomendada

Sobre a cidade

friozinho… e não só

Information Architecture

Says Abby Covert that this is a book a that you can read during the time it takes to go from New York to Chicago by plane, meaning some 2 and a half hours. And, yes, you can do that. But really getting into what she is telling us is something that will probably take us some weaks. And putting them into practice, well, it’s something that can take a work life.

A book on information architecture that doesn’t seems to be about information architecture just because information architecture is almost everywhere.

“Information architecture is the way that we arrange the parts of something to make it understandable”

Interesting takeaways from SocialNow

Last week I went to the Social Now 2016 Conference in Lisbon, a conference organized by Ana Neves that, among other things, works as a showcase for vendors who want to show the tools they’ve built to enable the ideas behind the concept of enterprise 2.0, like collaboration, sharing, leveraging social networks, noemail, and others.

Generally speaking I was really impressed by the overall quality of the products being shown and surprised that all of them (i think) had mobile apps that allowed for the usage of most of the functionalities while not connected or on the desktop.

All the tools had slightly different goals but most of them had some kind of instant messaging, document editing and collaboration or integration/orchestration with other service providers like Google Docs, Microsoft Office, Slack, Hipchat, etc

Considering the different products, for me it felt like if I wanted a complete full blown solution that would have everything inside the box i would go for IBM Connections or Mango Apps, if was more into having some social tools and connect with other platforms maybe i would use Brikit, Knowlegde Plaza or Sitrium. If I only wanted to integrate and create a seamless experience for users using different tools maybe i would go with Topdox and if I wanted a different approach to visualizing your tasks and work items maybe Nooq would be the best.

But i think one of the most importante messages was the importance of the questions you need to ask yourself before giving these tools to your collaborators:

  • why do you want to implement these tools, what do you want to solve… enable colaboration? making your life easier?…
  • what do you want to achieve… less emails? reduce travel expenses?…
  • how are you going to roll-out the tool? just give everything to everybody at the same time? or define which users will start using what…

These simple but often forgotten questions may be the difference between a successful a project or just another set of tools you need to learn to do your job.

Brian K Vaughn on Orbital Comics Podcast

During my recent trip to London to attend the Feeling Restful Conference I was also able to go to a cool comic book store named Gosh!. When I came back, and as I was looking through their twitter feed, I also found out about Orbital Comics and their podcast which had a 2 part interview with Brian K. Vaughn.

If your not into comics maybe telling you that he was one of the guys that co-wrote some episodes of Lost will give you some sense of the kind of work he does. If not maybe you’ll recognize some of the stories we wrote like Y: The Last Man or Saga.

saga_18_00_titlesThis interview is really interesting and covers lots of stuff, like the comic book industry in this new digital age and some experiments they are doing with pay-what-you-want in Panel Syndicate. He also talks about is career, how he got into the industry, how working for Marvel and DC was important to grow-up as a writer and how the books he writes are a kind of “cheap therapy”.

I only knew about Y: The Last Man a couple of years ago and I got really addicted to it, much like it happened when I read “Strangers in Paradise“, so last year when asking for recommendations at my favorite comic book store here in Porto (Mundo Fantasma) and they talked about Saga I promptly bought the available issues and got into it.

The best thing about this interview was that Brian K. Vaughn sounded like a really cool guy which is a great thing when your favorite writers are also nice guys.

(image credits http://www.orbitalcomics.com/orbital-in-conversation-episode-175-brian-k-vaughan-part-2-the-ongoing-saga/ https://imagecomics.com/comics/releases/saga-36)

My Feeling Restful

It’s been now more than a week since Feeling Restful, the first conference exclusively dedicated to the WordPress API.
Being away a couple of days and a reasonable amount of new projects meant some hundreds of emails to process and several meetings to attend to which made it quite hard to have time to reflect on this conference.
I should say upfront that I felt it was a very well spent time and it was really worth it to be at this conference.
To have 2 days just to talk and think mostly about one aspect of WordPress was really valuable.
The presentations were all interesting although of course some resonated with me more than others.

Without having another look at the slides or the schedule I can still remember all the presentations:

  • Daniel Bachhuber about wp-cli and the rest api and the possibility of powering and/or automating 25% of the web is really amazing and wpcli can certainly be a part of this process, even (or especially) if it keeps being developed alongside (and not inside of) core.
  • Kathleen Vignos from the Wired was a very hands-on talk with dos and don’ts on using the API, demonstrating some interesting use cases for the api and also sharing the experiences learned from trying to use the api on what at first seemed to be really applicable cases but which turned out to be not so good cenarios.
  • Scott Taylor and the rest api on ny as well and wp adoption on the nyt was also really interesting demonstrating the
  • Jack Lennox on api and rest driven themes was also a very interesting and fun presentation. Although I don’t feel, for now at least, that having a react (or similar) driven website is really important for the majority of websites, it was interesting to see how he tackled some of the usual critiques that are made to single page applications, like seo and others.
  • K Adam White on javascript and using the API to integrate with other systems.
  • Joe Hoyle and how using the API allowed an approach to web development that went from a monolith to a lego like approach.
  • Ryan McCue and a bit of the story of the API (which I mostly missed since I arrived late to the conference).
  • Nikolay Bachiyski on Calypso and Calypso-Like applications.

IMG_2765_2

I got the felling the there is already some stuff being developed with the API but you have to be willing to take some pains of developing with something that is not still stable. It also felt that the API team is really focused and interested in creating something that may have a very deep impact on the WordPress ecosystem although some different perspectives on how the code base should evolve (into core, as a plugin, etc.) may lead to some delays.

As for the hackday, in the really cool Mozilla offices, it was also good fun although I get the feeling it ended when I was getting a bit more productive. Since I never had really participated on a WordPress hackday, and also because I still hadn’t use the API, most of the time was spent, at least in the Documentation table, debating how we could best contribute, setting up our environments and finally trying to get some pull request to the documentation branch.

It was nice to talk to the guys and gal that were with me on the documentation “team”: Kirsten CassidyTom de Bruin, Mendel and all the others. By the way, if you guys feel like coming to Porto why not come to the 2016 WordCamp Porto it will on the 14 and 15 of may. It would be nice talking to you again.