quinta-feira, 23 de maio de 2019

Gamification

Gamification, vem invadindo ambientes corporativos e transformando objetivos e tarefas do dia-a-dia em atividades lúdicas e atrativas.

No Brasil, esse termo já foi aportuguesado e é conhecido como gamificação, a arte de aplicar elementos de games em um contexto que não é um jogo.

Segundo a Bunchball, “Gamificação é o processo de pegar algo que já existe – como um website, uma aplicação corporativa, uma comunidade on-line – e integrá-la com mecânicas de jogo com o intuito de motivar participação, engajamento e fidelidade. A gamificação aplica técnicas orientadas à informação que os designers de jogo utilizam para engajar jogadores, e as aplica em experiências que não são jogos, motivando ações que agregam valor ao negócio”.

O termo “gamificar”, no entanto, tem origem nos anos 1980, quando Richard Bartle, professor da Universidade de Essex, o utilizou para definir o processo de “tornar algo que não é um jogo em um jogo”. Entretanto, foi somente em 2010 que o termo se tornou largamente adotado no contexto tratado aqui.

Mas ai vem a pergunta: Por que gamificar?
Aplicar componentes de um jogo em um processo de trabalho ou de relacionamento com o cliente tem como objetivo o engajamento dos participantes, cujo envolvimento deve ser voluntário – jogar é, portanto, aceitar voluntariamente as regras.
Elementos como caráter lúdico, colaboração, competitividade e reconhecimento devem motivar o participante a agir da maneira planejada.

Existem três grandes categorias nas quais a implementação da gamificação pode agregar grande valor.

Gamificação Externa
Trata-se da aplicabilidade externa à organização, sendo assim destinada geralmente aos atuais ou futuros consumidores. É possível ter bons resultados utilizando-a em contexto de vendas, marketing ou quando há necessidade de engajar consumidores por outra razão, como cultivar lealdade ou identificação com o produto.
Uma gamificação externa pode contar com toda a infraestrutura e as metodologias modernas de marketing, sendo uma aliada poderosa para a motivação do consumidor.

Gamificação Interna
Em situações como essa, as empresas usam a gamificação para melhorar a produtividade ou estreitar laços dentro da própria organização, envolvendo, portanto, funcionários e colaboradores. Pode-se incluir aqui o crowdsourcing, que seria o uso de recursos voluntários em grande quantidade (ou “multidão”), dividindo uma grande tarefa em partes menores que serão feitas por essas pessoas. Obtêm-se bons resultados em treinamentos de recursos humanos e melhorias de produtividade em algumas tarefas.
As empresas devem levar em consideração que, no ambiente corporativo, os funcionários já fazem parte de uma comunidade: a organização em si. Os interesses deles devem girar, portanto, em torno dessa comunidade. É importante também que as dinâmicas motivacionais desse modelo estejam alinhadas com a gestão interna da própria companhia.

Mudança Comportamental
As empresas devem levar em consideração que, no ambiente corporativo, os funcionários já fazem parte de uma comunidade: a organização em si. Os interesses deles devem girar, portanto, em torno dessa comunidade. É importante também que as dinâmicas motivacionais desse modelo estejam alinhadas com a gestão interna da própria companhia.

Mas será que a Gamificação é eficaz? 
Bom, temos muitos casos de sucesso. Como o Stack overflow: fórum técnico automoderado, Duolingo, Foursquare, Waze, Linkedin, Superbetter,World Without Oil, Foldit e o Microsoft Language Quality Game.

O verdadeiro mérito da gamificação é mostrar o propósito da realização da tarefa e mostrar que o participante é competente para realizá-lo – ou, se não for, por que não criar mecanismos para torná-lo capaz? A Gamificação não é exatamente uma novidade. Há indícios de implementação de competições em pirâmides do Egito, além de estudos realizados há décadas a respeito de motivação humana. A verdade é que esses elementos estão presentes em abundância nos jogos, e é por isso que gostamos tanto deles.
Embora o uso da gamificação não seja garantia de sucesso – os elementos devem ser escolhidos com cuidado, implementados em processos que realmente signifiquem alguma coisa – a implementação dessas mecânicas pode gerar o engajamento e a motivação esperados de nossos usuários além de muitas vezes ajudar até na criação de novos hábitos. 

Agora que você já sabe o que é gamification e para que essa prática serve, tente aplicá-la na sua empresa, e tornar seu dia a dia mais divertido e motivador. 

Acessibilidade web - OpenDyslexic

Acabei de concluir um curso de acessibilidade web. E vou compartilhar com vocês algumas coisas bem legais. Uma delas é o OpenDyslexic, é um tipo de letra projetada contra alguns sintomas comuns da dislexia. E você pode baixar gratuitamente, e ainda tem a licença para fazer o uso pessoal, uso comercial, educação, comercial, livros, leitores de ebook, aplicativos, sites e qualquer outro projeto ou propósito que você precisar. Para você ter uma ideia da importância dessa fonte, esse site: https://lnkd.in/dWgFvYn simula como uma pessoa com dislexia vê, é bem interessante. Você pode baixar a fonte aqui: https://opendyslexic.org

quarta-feira, 28 de fevereiro de 2018

Apache Camel

Resultado de imagem para Apache Camel logo


Apache Camel é um framework de integração que ajuda a diminuir a complexidade e o impacto dessas integrações. Como um framework de integração, seguimos boas práticas que foram identificadas e descritas nos padrões de integração.

Em vez de escrever manualmente o código de integração, usaremos componentes para isso, que podemos facilmente configurar com o Camel. Essas configurações são feitas na rota (routing engine). Ou seja, o Camel não implementa os padrões como SOAP e WSDL ele apenas configuram o componente que trabalha com isso.

O desenvolvedor principal do Camel, Claus Ibsen, descreveu o Camel da seguinte maneira:

Apache Camel é um framework Java de código aberto que tenta deixar a integração mais simples e acessível para todos os desenvolvedores. Ele faz isso através de:


  • Implementações concretas dos padrões de integração (EIP)
  • Conectividade com uma grande variedade de protocolos e APIs
  • Uso de uma Domain Specific Languages (DSLs) para amarrar os EIPs e protocolos]
Segundo os autores do framework, o significado de Camel é: - Concise - Application - Message - Exchange - Language.

Roteamento entre endpoints com Apache Camel

Essencialmente, Camel é um roteador (routing engine), ou seja o Camel roteia os dados entre dois endpoints. Um endpoint é um serviço web ou um banco de dados, podendo ser um arquivo ou file JMS. Em geral, é um ponto onde pegamos ou enviamos dados. A tarefa do desenvolvedor é configurar, por meio de um Builder, os endpoints e as regras de roteamento. O desenvolvedor decide de onde vem as mensagens (from()), para onde enviar (to()) e o que fazer com a mensagem no meio desse processo (mediation engine).

domingo, 11 de junho de 2017

Como criar uma Extensão para o Google Chrome

Projeto simples, para criar uma Extensão para o Google Chrome

  • O arquivo manifest.json

Todos os projetos que você criar tem que ter o arquivo manifest.json na pasta raiz do mesmo. Esse arquivo não é nada mais que um JSON, onde ficarão as informações relacionadas à sua extensão: nome da extensão, descrição, versão, permissões, etc. Tudo que você pode incluir no manifest.json, você encontra aqui nesse link.

Para nossa primeira extensão, vamos usar as seguintes informações:

As informações obrigatórias são somente o manifest_version, name e version, onde:

manifest_version: Representa a versão do manifesto que você está usando. Hoje (junho/2011), é obrigatório usar a versão 2;
name: Representa o nome da sua extensão;
version: Representa a versão da sua extensão. A versão deve ser separada por pontos.

As informações adicionais sobre nossa extensão Hello World presentes no nosso manifesto são:

description: É uma descrição para nossa extensão;
browser_action: Representa ações que executaremos no navegador. Para nosso exemplo, iremos apenas apresentar um popup quando o usuário clicar na extensão;
default_popup: Informa qual HTML o navegador deve carregar quando o usuário clicar no ícone da extensão.
icons: Representa todos os ícones que sua extensão irá utilizar.


  • POPUP

Para servir de popup da extensão, use a seguinte página HTML simples abaixo, chamada index.html (ou crie uma página sua, com o mesmo nome):
Essa pagina será exibida quando o usuário clicar no ícone da nossa extensão.

  • Ícone
Você pode usar qualquer ícone que desejar, no tamanho:  16 pixels. E salvar na pasta images do projeto. Se quiser usar a mesma que eu só copiar daqui: Icone. Quando você for publicar sua extensão, é recomendado que você tenha ao menos o tamanho de ícone em 128x128px. Se possível, passe todos os tamanhos pedidos (16x16, 48x48, 128x128), pois o Chrome irá selecionar o que for mais apropriado para o momento que ele precisar ser apresentado.
  • CSS
Dentro da pasta CSS, você colocar o seu arquivo style.css onde você pode customizar da maneira que desejar. 
  • Testando sua Extensão
Testar a extensão é bem simples, basta abrir seu Google Chrome e navegar até Menu > Mais ferramentas > Extensões.

Na página de extensões, habilite o modo desenvolvedor, clicando na caixa de seleção:

Clique em Carregar extensão expandida:
Na janela que abrir, escolha a pasta onde está seu projeto. E pronto, a extensão foi instalada! Se você reparar vai aparecer um registro novo com as informações da nossa extensão e o ícone dela já está disponível ao lado da barra de endereços.
Para testar, basta clicar no ícone da extensão:
Pronto! Agora você já pode começar a brincar e colocar mais funcionalidade na sua Extensão. O projeto completo pode ser baixado no Github: Extensão para o Google Chrome.

quinta-feira, 23 de março de 2017

Webinar introdutório para aprender o básico e começar com a AWS


Segunda feira, 27 de Março, vai ter um Webinar "how-to" para aprender o básico para começar com a AWS. Depois de uma breve visão geral, esta sessão irá mergulhar em discussões de serviços AWS básicos, como os servidores virtuais (Amazon EC2) e o armazenamento escalável em nuvem (Amazon S3), e fornecerá demonstrações de como configurar e utilizar esses serviços.

Objetivos:

  • Entender as melhores práticas para começar a utilizar a nuvem da AWS
  • Aprender a construir aplicações eficientes e confiáveis
  • Conhecer mais sobre segurança, administração de contas e acesso
  • Saber mais sobre otimização de custos e utilização das zonas de disponibilidade

Meetup Java São Paulo

Mais um Meetup Java São Paulo. Hoje às 19h30 na Caelum - Ensino e Inovação, perto do Metrô Vila Mariana.

Agenda:

  • 19h30 - Análise de qualidade de código com Sonar - Fernando Boaglio
  • 20h30 - Coffee break / Networking!
  • 20h45 - 5 técnicas para acelerar o desenvolvimento e reduzir bugs em aplicações web - Rafael Chinelato Del Nero

Local: Rua Vergueiro, 3185 - Segundo andar

Confirmar presença em https://www.meetup.com/pt-BR/Sao-Paulo-Java-Meetup

terça-feira, 10 de janeiro de 2017

Desenvolvimento de web sites

Muita gente não sabe mas eu tenho desenvolvido web sites. Apesar do meu interesse maior ser Java, desenvolver web sites representa um desafio que se torna gratificante ao ser vencido. Segue meu Site e os trampos que faço, todos com custo bem abaixo do mercado, pois o foco é trabalhar com pequenos negócios.


quarta-feira, 28 de dezembro de 2016

Compiladores online de programação

Hoje trouxe para vocês alguns websites que oferecem a facilidade de compilar e rodar seu código com suporte para Java (e outras linguagens), são muito uteis, para testes, estudos, etc. Segue abaixo um pouco sobre cada um deles.

Ideone 

É um compilador e ferramenta de debugging online.
Você pode escrever seu código no seu editor local (ou no próprio site). Em seguida, pode escolher entre mais de 60 linguagens de programação, para compilar e rodar seu trabalho.
Mesmo tendo aparência simples, possui syntax highlighting também e permite compartilhar fácil o seu código,.
Confira aqui: http://ideone.com/

OnlineCompiler

Com opções de linguagens de programação limitadas a C/C++, FORTRAN, Java, Pascal e Basic, permite compilar e baixar o seu executável — para Windows ou Linux. Na minha humilde opnião acho ele meio ruinzinho, mas compila, então está valendo.
Confira aqui: http://www.onlinecompiler.net/

Repl.it

Com suporte a 30 linguagens de programação, o Replit é um trabalho de uma equipe pequena, porém muito bem feito.
O Replit Classroom é uma ferramenta, dentro do site, voltada para professores. Com ela, se cria uma “sala de aula”, para ensinar programação para quantos estudantes se quiser.
O editor permite configuração da identação e de seu visual. Possui 2 opções de tema (clara/escura).
Para a função de compartilhamento de código tem que fazer cadastro. Gosto bastante desse.
Confira o site aqui: https://repl.it/


RemoteInterview


Com uma interface limpa, 2 opções de tema (clara/escura, também) e mais de 20 opções de linguagens de programação (entre as mais populares), o RemoteInterview tem a concepção de ser um site de “entrevista” para a contratação de programadores, onde o profissional pode mostrar seu conhecimento etc.
A interface é eficiente e tem opções de teclas de atalho, que simulam os editores Vim, Sublime e Emacs. Se você já estiver acostumado com um deles, este local pode ser de grande produtividade para você.
O RemoteInterview também tem a funcionalidade de pastebin, para compartilhar seu código em fóruns, chats, nas redes sociais etc. E na minha opinião é um dos melhores.
Confira o site aqui: https://codepad.remoteinterview.io/.


CodeChef IDE

O CodeChef aceita código em mais de 35 linguagens.
Antes de tudo, é um site de competição para programadores. Você pode pegar um dos desafios da competição ou praticar nos diversos níveis disponíveis (beginner, easy, medium, hard, challenge e peer).
Seu editor de textos permite configurar a indentação e escolher entre mais de 30 temas (inclusive, com fundos escuros, para quem trabalha à noite).
Além disto, a IDE oferece recursos como atalhos de teclado — que facilitam enormemente quando o trabalho é grande.
Por exemplo, não precisa rolar a tela para baixo e clicar no botão “Run” para compilar e rodar o código. Nem precisa tirar a mão do teclado. As teclas ‘Ctrl + Enter’, fazem isto.
Há mais de 80 atalhos de teclado e isto, com certeza, é um bom motivo para usar o editor.
Link para ir direto para a IDE do CodeChef: https://www.codechef.com/ide.