Outubro 2018

Serviços Cognitivos Microsoft: as potencialidades das principais APIs

Os Serviços Cognitivos da Microsoft são um set de APIs (Application Programming Interface) e de SDKs (Software Development Kit) que se encontram disponíveis em Azure e que permitem tornar as aplicações mais inteligentes e dinâmicas, bem como a realização de ações enriquecedoras para a experiência do utilizador.

No fundo, e segundo a Microsoft, “são algoritmos inteligentes que permitem às suas aplicações, máquinas e bots ver, ouvir, falar, compreender e interpretar as necessidades dos utilizadores através de métodos naturais de comunicação”. Estes algoritmos, que se desenvolvem e aumentam o seu potencial através das APIs de Machine Learning, servem-se de dados contextuais que, por sua vez, são aprendidos através da utilização que os próprios utilizadores fazem das aplicações móveis.

É possível falar, então, em democratização da inteligência artificial? Sim. Com os Serviços Cognitivos da Microsoft os developers conseguem implementar features de reconhecimento facial ou de voz apenas com algumas linhas de código, sem necessitarem de desenvolver algoritmos de raíz. Os serviços cognitivos permitem, assim, leituras e insights aprofundados para uma interpretação personalizada de perfil, através de serviços como:

  • Visão: inclui algoritmos de processamento de imagens, capazes de interpretar imagens de forma inteligente mas também de descrevê-las ou categorizá-las. Podem ser utilizados para reconhecimento facial como mecanismo de segurança, através da Face API, que verifica qual a probabilidade de ser a mesma pessoa, para além de identificar características como idade ou género.

Também é possível identificar emoções, através da Emotion API, com a deteção de expressões faciais de felicidade, tristeza, surpresa ou medo, por exemplo.

  • Voz: permite a conversão de áudio falado em texto, texto para voz a verificação ou reconhecimento do orador em determinada aplicação. Com o Translator Speech API é possível ao utilizador ter uma tradução em tempo real, escrita ou falada.
  • Conhecimento: oferece ao utilizador o mapeamento de informações e dados complexos, com o intuito de executar ações como recomendações inteligentes ou a pesquisa semântica (através da Recommendation API ou do Custom Decision Service);
  • Linguagem: processa a linguagem natural, com scripts pré-criados e avaliação de sentimentos, e aprende a identificar as necessidades dos utilizadores. O ex-libris dos serviços de linguagem é o Language Understanding Intelligente Service (LUIS), que ao utilizar o reconhecimento inteligente de voz permite que se possam desenvolver os próprios modelos de linguagem, e que os bots possam compreender comandos e executar ações consoante aquilo que se pretende.
  • Pesquisa: permite ações como a sugestão de palavras, a pesquisa por imagem ou vídeo e podem ser efetuadas por APIs como a Bing Web Search ou a Bing Custom Search.

Como podem os Serviços Cognitivos ser utilizados nas várias indústrias?

Retalho: cognitive services permitem extrair insights detalhados, que ajudarão a entender as necessidades dos seus clientes existentes e a atrair novos prospetos. Por exemplo, poderá perceber quais as dificuldades pelas quais os clientes passam numa experiência de compra online e melhorá-la ou apoiar os seus vendedores a apresentarem o produto certo ao cliente certo, simplificando também o método de pagamento.

Educação: identifique o interesse de cada estudante e modernize o estilo de ensino através de serviços cognitivos e machine learning ou faça gerar sugestões de como melhorar a experiência em sala de aula.

Seguros: melhore a experiência dos seus clientes através das suas aplicações móveis, recorrendo a serviços cognitivos, como o reconhecimento facial ou de voz. Poderá utilizá-los, ainda, para detetar possíveis atividades fraudulentas.

Finanças: apoio na personalização de campanhas específicas com base nas decisões ou pesquisas dos clientes, aumentando as vendas e o ROI.

Saúde: desenvolva um apoio mais personalizado aos seus clientes, através de um bot, por exemplo, que poderá ajudar na seleção de uma consulta de especialidade. Outra grande potencialidade é o apoio que os serviços cognitivos poderão fornecer aos médicos, a realizar um diagnóstico mais detalhado.

Assista a uma demonstração em tempo real de serviços cognitivos, no evento Xamarin Experience de 2017 aqui.

Ana LamelasServiços Cognitivos Microsoft: as potencialidades das principais APIs
read more

Gestão do ciclo de vida completo de API com WSO2

O crescimento e constante evolução do uso de sistemas computacionais em todas as áreas do desenvolvimento humano associados à necessidade de as empresas se integrarem umas às outras, para além de oferecerem serviços aos seus clientes através da Internet, resulta na multiplicação de sistemas abertos, que fornecem serviços através de interfaces de comunicação. Muitas empresas existem apenas graças a este tipo de interface de integração – as chamadas APIs (Application Program Interface).

Ao longo dos anos, têm sido criados vários protocolos de comunicação de redes para fornecer uma troca de dados normalizada: RPC, CORBA, DCOM, RMI, WebSocket, SOAP (Serviços Web) e REST. Estes três últimos protocolos são os protocolos que costumam ser mais utilizados, já que são baseados num protocolo de transporte HTTP aberto, que normaliza e populariza a troca de dados e serviços através de APIs públicas ou privadas. O número de APIs que as empresas disponibilizam, tanto interna como externamente, pode crescer exponencialmente em quantidade.

É por causa destes movimentos que a necessidade de documentar e monitorizar a criação e utilização deste APIs está a aumentar.

Principais características da Gestão de API

Algumas das principais características de uma solução de gestão de API são:

  • Performance e Fiabilidade – deve suportar alto throughput sem causar sobrecarga no sistema;
  • Ciclo de vida e Regência – deve fornecer workflows para o desenvolvimento e subscrição de API, versões de API e capacidades de gestão/monitorização;
  • Throttling e Monetização – capaz de controlar o tráfego de API e cobrar pela utilização de API;
  • Envolvimento – fácil acolher novos subscritores, fornecendo um bom e bem documentado ambiente de teste;
  • Composição e Instrumentalização – capaz de implementar funcionalidades específicas numa API (por exemplo, ligar 2 APIs diferentes e receber um resultado conjunto).

O ciclo de vida de API WSO2

O gestor de API WSO2 supera estes desafios com um conjunto de características de criação, publicação, gestão do ciclo de vida, divulgação, monetização, regência, segurança, etc.

Desde desenhar a construir e utilizar uma API, existe um processo que envolve engenharia, publicação e administração. Este processo é denominado Ciclo de vida de API. O clico de vida de uma API é algo crucial e estratégico para uma organização. Geralmente, a definição do ciclo de vida é definida em: Planear e Desenhar o API, Desenvolver o API, Testar o API, Fazer deploy do API, Reformar o API. O Gestor de API WSO2 tem fluxos mais detalhados de cada ciclo, em que pode criar sub-fluxos dentro de cada ciclo, como, por exemplo: em Reformar o API, antes de se proceder à remoção, existe o fluxo de bloqueamento. Quando uma API é bloqueada, é possível fazer deprecate da API ou voltar ao estado de publicação. Desta maneira, cada empresa pode definir o seu ciclo de vida e trabalhar internamente de acordo com as suas necessidades.  Uma das principais propriedades diferenciadoras do Gestor API WSO2 é o facto de ter liberdade total para modificar todos os fluxos internos e customizá-los de acordo com as suas necessidades.

O Gestor de API WSO2 define, por predefinição, este ciclo entre os seguintes componentes:

Imagem 1 – Arquitetura e ciclo de vida da API
  • API Publisher: responsável pela criação, monitorização, gestão e publicação de APIs. É a web interface para Criadores e Publishers de API.
  • API Portal (Portal do developer):web interface destinada a consumidores de APIs, developers, etc. Nesta interface, é possível explorar as APIs existentes, testar, subscrever e monitorizar todos as APIs subscritos pelo utilizador.
  • API Gateway:O Gateway é o componente principal do Gestor de API. Recebe todas as chamadas de API e redireciona-as para backend, mas antes de as redirecionar, é necessário passar este pedido pelo Key Manager e pelo Gestor de Tráfego para validar todas as políticas de seguranças antes de proceder.
  • Key Manager: responsável por todas as autenticações e segurança de API, trata de toda a gestão do ciclo de vida de Token Oauth.
  • Gestor de Tráfego: responsável por todas as partes da política de Throttling, logo, verifica se as chamadas pertencem a algum utilizador com limitações de pedidos nessa API e se o utilizador não esgotou o limite de pedidos.
  • Analytics:Analytics é um motor de análise a tempo real, que, para além de expor gráficos detalhados das APIs, também trata da monitorização em tempo real, gerando vários tipos de alertas como incidentes de segurança, chamadas anormais para uma determinada API, etc.

O Gestor de API WSO2 é uma solução API muito robusta e completa, tendo como propriedade diferenciadora toda a sua interface de implementação gráfica, que o diferencia de muitos adversários que têm um maior foco no Gateway, para construir um gateway robusto e não dão muita importância aos outros componentes necessários para o ciclo de vida da API, como a Loja e o Publisher. WSO2 colocou-se na frente com este produto, porque é capaz de responder a todos os aspetos de uma solução completa, quer seja com um gateway muito robusto ou com uma interface intuitiva que facilita o deploy e todo o ciclo de vida. É por causa disto que, no quadrante Gartner, o Gestor de API WSO2 é considerado um “Visionário”.

Só para ficar com uma ideia da robustez do produto, com uma configuração mínima recomendada, cada nó consegue suportar até 3000 TPS (Transações Por Segundo).

Se quiser saber mais sobre o Gestor de API WSO2 e as suas características, aceda ao website de  Gestor de API WSO2 e explore todas as possibilidades de implementação.

Vitor DarelaGestão do ciclo de vida completo de API com WSO2
read more

Gamificação: Mito versus Realidade

Primeiro que tudo, sejamos claros: independentemente daquilo que pode pensar sobre Gamificação, este não será, com certeza, o ingrediente mágico que irá resolver todos os seus problemas. Se experiencia um problema nas suas equipas, processos ou organização, deverá focar-se em resolver essa questão, uma vez que aplicar a Gamificação a um ambiente corrompido não irá resolver nada (até poderá torná-lo pior).

Mas, então, o que significa Gamificação? E qual a melhor forma de aplicá-la?

Este post não pretende aprofundar a definição e os conceitos de Gamificação, e sim fornecer um melhor entendimento sobre a mesma, identificando mitos comuns que existem em relação a este conceito.

Os Mitos

1º mito: A Gamificação está a tornar tudo num jogo

Há uma ideia generalizada de que algo é gamificado quando se está a jogar. Porém, isso não está correto. A maior parte das vezes não se joga em ambientes gamificados.

Criar um jogo é uma linha completamente separada de estudo, nomeada Game Design. O Game Design centra-se em desenhar um jogo criando um enredo, as personagens, a mecânica, a evolução, a interação no game play, etc., colocando tudo isso num ambiente limitado ( o jogo), em que o utilizador (jogador) participa ativamente, desenvolve e conquista! No fundo, é criar um novo desafio e as ferramentas para o jogador superar.

A Gamificação, embora partilhe benefícios semelhantes, foca-se em desafios reais com o que aprendemos nos jogos. É o processo de aplicar elementos de jogo e técnicas de design de jogo a contextos que não o dos jogos, com o objetivo de envolver e motivar pessoas, ao tornar as suas tarefas do “mundo real” mais divertidas.

A nível corporativo, a Gamificação pode ser utilizada on-board e envolver membros da equipa, destacar produtividade e eficiência e aprender ou treinar pessoas e a inovar.

2º mito: Aplicar Gamificação vai tornar as coisas tão envolventes quanto eram

Embora Diversão seja uma das expressões mais simples e claras para descrever o objetivo da Gamificação, é, ao mesmo tempo, um conceito vago e relativo. Quando não aplicado corretamente, os elementos do jogo e as suas técnicas podem criar o efeito oposto àquele que era suposto. É, por essa razão, que muitas pessoas vêm resultados mais negativos quando implementam iniciativas de Gamificação do que quando ignoram esta opção.

É necessário relembrar que a interação tem de ser voluntária e uma escolha. Forçar esta interação cancela os efeitos de uma estratégia de Gamificação.

3º mito: Se percebo de Game Design, percebo de Gamificação

Se este é o teu motto, então isso não estará correto. Embora partilhe de alguns elementos e técnicas, a Gamificação é muito mais relacionada com Psicologia do que com Produto. O Game Design está mais focado em criar o jogo e os seus elementos de uma forma apelativa e envolvente para o jogador, enquanto a Gamificação está especialmente preocupada em afetar o comportamento humano para atingir determinado objetivo. A ideia é fornecer um benefício a longo prazo, e não somente entretenimento per se.

4º mito: Gamificação = PBL ( points, badges e leaderboards)

Quem não é novo no mundo da Gamificação, saberá que o PBL tende a ser aplicado diretamente, porque é o aspeto mais comum e visível de um ambiente Gamificado. Embora o PBL esteja presente em muitos casos, o alcance da Gamificação vai muito para além deste aspeto.

É necessário começar por cima, ponderando como é que os utilizadores vão ser afetados com a experiência; coisas como emoções, narrativa, progressão,etc., que apoiarão os comportamentos que se pretendem influenciar. Em seguida, é necessário pensar a mecânica, nos processos que motivam o utilizador – desafios, competição/ cooperação, feedback, recompensas, vitórias e muitos outros – de forma a criar uma experiência com significado. E para atingir esse estado, pode-se usar PBL e outros elementos (conquistas, avatars, coleções, níveis, bens virtuais, etc.)  como ferramentas à disposição para implementar a estratégia.

5º mito: A gamificação não funciona

Por vezes, as pessoas não acreditam na Gamificação devido a experiências anteriores que não correram tão bem. É certo que nem sempre se enquadra em todos os cenários, e, para aqueles em que se encaixa, deverá ser aplicada de forma correta para atingir os objetivos desejados. É importante avaliar todas as possibilidades e pesar os prós e contras em qualquer iniciativa de implementação.

Não se deve recear rejeitar a Gamificação em casos em que claramente se percebe que esta não trará benefícios para o negócio ou possa acarretar riscos consideráveis. Como foi referido no início, esta não é uma solução “fits-all” nem uma garantia de resultados. O contexto tem de ser favorável e a implementação é uma viagem de adaptação e mudança, pelo que consome tempo e cuidado para ser bem-sucedida.

A Psicologia que suporta a Gamificação

Há muito que pode ser discutido sobre a psicologia e o lado comportamental da Gamificação.

Entender o comportamento humano (Behaviorismo) é um dos primeiros passos, analisando como as pessoas agem em resposta a um estímulo:

  • As pessoas tendem a corrigir e ajustar o comportamento em concordância com o feedback recebido;
  • Criar consequências ou dar recompensas de acordo com as ações, de forma a atingir o comportamento desejado;
  • Estimular a dopamina com algo inesperado, de forma a causar a sensação de bem-estar e maior interação.

Uma vez que a abordagem Behaviorista é limitada, a Gamificação está a aprofundar melhor o entendimento sobre como é que as pessoas sentem e pensam (Cognitivismo), ao tentar determinar a motivação por trás da ação. A motivação pode ser:

  • Extrínseca, quando a ação é feita com o propósito da recompensa (fama, dinheiro, etc.), o que pode desmotivar e não é sustentável;
  • Intrínseca, quando a ação é efetuada por nenhum outro motivo que não o de ser agradável recompensatória, criando, por isso, muito maior interação.

Perigos da Gamificação

Existem vários perigos associados ao mau uso da Gamificação. Um dos perigos principais consiste em abusar ou manipular pessoas de forma a atingir determinado comportamento. A Gamificação é associada a uma escolha livre, pelo que qualquer forma de reforço de comportamento irá afastar as pessoas, ao invés de as incluir.

Um outro perigo é a constante recompensação. Significa que estamos constantemente a recompensar alguém por um objetivo cumprido, como, por exemplo, a submissão de uma sugestão num formulário. Isto desvaloriza a recompensa e poderá retirar valor ao que realmente importa (a sugestão) com o propósito de obter mais recompensas (como mais cliques).

Outro exemplo de um perigo que a Gamificação pode representar é quando há exposição de pessoas ou quando se colocam a “jogar” umas contra as outras. Um bom exemplo disto pode ser a implementação de leaderboards numa organização, mostrando pontos e/ou fazendo um rating de “quem é melhor” e “ quem são os piores jogadores”. Isto pode potenciar um mau ambiente entre colegas de trabalho e criar entropia e desmotivação entre equipas.

Bons exemplos de Gamificação

Alguns exemplos da aplicação da Gamificação bem-sucedidos em atingir os objetivos e o padrão de comportamento desejado:

Gamificação Descrição Objetivos atingidos Porque é que funcionou?
Mecanismo de contribuição do

StackOverflow

Tornar o Stack Overflow “a” referência no que diz respeito a procurar ajuda e a encontrar respostas numa tecnologia específica (sobretudo em programação) Quantas vezes se deparam com o website do StackOverflow quando procuram pela resolução de um issue de uma tecnologia específica? Promove um sentido de comunidade, ao recompensar contribuições e ao dar voz à comunidade de utilizadores (feedback e sistema de revisão).
Duolingo Website e app que facilita o processo de aprender novas línguas. Tornou o processo de aprender línguas mais fácil e tem agora mais de 68 línguas disponíveis e cerca de 200 milhões de utilizadores.

Recebeu vários prémios educacionais e de aprendizagem tecnológica.

É fácil e simples; fornece feedback constante; dá liberdade  para aprender ao próprio ritmo;  dá opções para as áreas em que se podem focar a seguir; recompensa mais quando se coloca mais esforço ou dedicação; oferece “linglots” ( a moeda Duolingo)  como recompensa para desbloquear outros desafios e aprender mais.
Reforço do limite de velocidade em Estocolmo com a Volkswagen Induzir uma condução responsável, que respeite os limites de velocidade, ao implementar uma lotaria entre condutores, com o dinheiro adquirido através das multas por excesso de velocidade. Uma média de 22% de redução de velocidade. Provavelmente porque as pessoas não necessitam de exceder as velocidades em primeiro lugar.

Criar a recompensa por estar dentro dos limites de velocidade criou awareness e uma nova motivação para os condutores.

Nuno Santos

Enterprise Solutions Manager, Xpand IT

Nuno SantosGamificação: Mito versus Realidade
read more