Arquivo

Archive for janeiro \30\UTC 2012

ifttt.com

Não precisa explicar nada. Basta dar uma olhada no potencial dessa ferramenta: http://ifttt.com/.

Sem comentários.

 

Anúncios
Categorias:Ferramentas

Aumentando a conversão utilizando o modo de decisão do ser humano

16/01/2012 1 comentário

Na revista Superinteressante (editor Abril) de Setembro de 2011 a reportagem de capa diz: “Como tomar decisões? Ensine seu cérebro a escolher o melhor.” É uma reportagem muito boa que exibe como o nosso cérebro reage quando precisamos fazer escolhas. Resumindo, é como se existissem três advogados em nosso cérebro discutindo entre Razão, Instinto e Experiência.

Razão: A área pré-frontal do nosso cérebro que fica logo atrás da nossa testa tem a função de comparar. Ela analisa todas as possibilidades a partir de uma decisão importante que deve ser tomada, como por exemplo, mudar de casa, pedir aumento, desenvolver um projeto, etc. Em um momento de indecisão, é essa parte do cérebro que trabalha. A reportagem conta que pessoas que sofrem acidentes ou passam por cirurgias que afetam a parte do cérebro responsável pelo sentimento, passam a ser muito mais racionais, passando muito mais tempo tomando decisões simples, como por exemplo, escolher entre uma caneta preta ou azul.

Instinto: Amídala e ínsula são as áreas do cérebro responsáveis por essa tarefa. Instinto é o quando você tem que tomar uma decisão e não tem muito tempo para decidir o que fazer, ou seja, não pode utilizar a razão. Por exemplo, quando você está dirigindo (que é um ato racional), e um pedestre aparece repentinamente na sua frente. É o instinto que indica se você deve brecar, desviar, jogar o carro no poste e provavelmente se ferir, etc. O instinto também age quando vê uma oportunidade positiva em benefício da pessoa. Quem nunca sentiu vontade de ir ao banheiro quando está pegando a chave de casa para abrir a porta?
Na reportagem tem uma história muito interessante que replico abaixo:

De mocinho a bandido

O instinto pode impedir que você use a razão quando necessário. E comprometer 
sua segurança. No verão de 1949, bombeiros foram chamados para apagar um 
incêndio numa colina no estado de Montana, EUA. As chamas estavam muito 
intensas e acuaram a brigada. Assustados, os bombeiros fugiram. Não ouviram 
seu líder, Foreman Wagner Dodge, que lhes pedia que ficassem parados. Dodge 
não correu, apenas queimou o mato à sua frente e se deitou. O fogo chegou até 
ele, mas passou a seu lado, onde havia vegetação como combustível. Usando a 
razão, Dodge sobreviveu. Treze de seus colegas morreram por ouvir só o 
instinto.

Experiência: Tudo pelo que passamos, são acumuladas e registradas no cérebro como um sistema de recompensa. Essa área se lembra de tudo que nos deu prazer algum dia e é usado quando precisamos tomar decisões. A dopamina acessa o cérebro/memória para orientar sobre a melhor alternativa. Às vezes nem percebemos que o organismo faz isso. Você já se pegou pensando ou refletindo sobre alguma experiência boa, e no segundo seguinte esqueceu o que estava pensando? Ou refletiu sobre alguma tarefa que tem que executar e, de repente, acha uma solução. É o seu cérebro trabalhando com a experiência.

A reportagem conta o caso de um britânico responsável por monitorar o espaço aéreo durante a guerra do Golfo Pérsico. Todos os dias no radar ele via os pontos verdes representando caças aliados preparando para o pouso no porta-aviões. Um dia um ponto verde mais rápido e com comportamento diferente apareceu na tela.. Ele teve 40 segundo para decidir se derrubava ou não o ponto verde. Sua experiência falou mais alto e ele atirou. Atirou em um míssil iraquiano que rumava para o porta-aviões.

Como conclusão a reportagem diz que uma decisão é um conjunto da Razão, Instinto e Experiência. Existem pessoas que tendem mais para um lado do que para outro, mas sempre utilizam os três itens.

O que fazer então para que sua loja virtual venda mais?

Primeiro é importantíssimo conhecer o seu cliente. Mesmo você não conhecendo ele fisicamente, é necessário saber como ele toma decisões, como ele navega pelo seu site, o que ele mais gosta de acessar, qual a categoria de produtos que ele mais compra. Isso vai ajudar você a indicar para ele o melhor produto. Envie e-mails com promoções de produtos que aquele cliente tem mais propensão a comprar.

A promoção vai trabalhar no lado da razão e experiência. O cliente vai pensar:
– Nossa esse produto está mesmo barato! – ou senão:
– Nossa, mais um livro novo do autor que eu gosto! (nesse caso o instinto também trabalha a favor).

O produto certo para o cliente certo fará ele pensar pelo com o instinto, mexendo com seu sentimento:
– Não conheço esse livro, mas é parecido com aqueles que eu gosto de ler!

Premie seus clientes por fazerem reviews positivos sobre o serviço ou produto que o seu site vende. Isso faz com que amigos dos seus clientes vejam isso e ajam pelo instinto. Indiretamente, você está fazendo seu cliente indicar seu site para os amigos dele.

As redes sociais são um ótimo local para você conhecer seu cliente. Integre seu site com redes sociais, mostrando a seus clientes que os amigos dele já estiveram lá e comprara ou curtiram um produto. Se um amigo seu que já comprou um livro, é porque deve ser bom. Faça-o agir pela razão. Mas não se prenda a isso, afinal, apenas 10% da população brasileira compra pela internet, ou seja, 90% você ainda não conhece. A propaganda off-line e o marketing também são muito importantes para atingir esse público desconectado.

Quando o cliente entra no detalhe de um produto, é como se ele estivesse com esse produto na mão, analisando, pegando. Ele está muito mais perto de colocar esse produto no carrinho e ir para o caixa pagar. Faça disso uma experiência inesquecível. Das próximas vezes que ele entrar no seu site, vai lembrar que é gostoso e divertido navegar pelo site e que lá existem informações sobre o produto, que em outros sites não tem. Faça com que seu cliente praticamente “toque” o produto, permitindo ele ter uma experiência inigualável.

Depois que seu cliente colocou os produtos no carrinho, fechou a compra com rapidez, faça jus a sua logística e supere suas expectativas entregando o produto no prazo e com qualidade. Você se lembra daquele site que não entregou o produto no prazo ou te entregou o produto quebrado ou amassado? Com certeza, porque a experiência ficou guardada dentro do seu cérebro.

Como conclusão, é importante conhecer o seu público alvo e também como esse cliente vai reagir ao navegar pelo seu site. Supere as expectativas desse cliente.

Categorias:E-Commerce

Cut the Rope

Não é a intensão desse blog postar esse tipo de informação, mas esse não vai ter jeito. O Jogo Cut the Hope desenvolvido em HTML 5.

http://www.cuttherope.ie/

Muito bom!

 

Categorias:Bla bla bla

.Net Serialize e Deserialize

Hoje resolvi escrever um post mais técnico sobre .Net. O objetivo do trabalho é serializar uma classe através de um método genérico. A principal vantagem de Serializar/Deserializar objetos é quando precisamos trafegar suas informações entre sistemas distintos. Por exemplo: no momento que fecho um pedido em um e-commerce, devo enviar as informações para o ERP da empresa para que a área comercial dê andamento no processo. Esse processo provavelmente será feito através de uma integração SOAP, XML, WCF. Então seria necessário eu montar um XML manualmente e preencher todas as informações em cada um dos campos necessários. Se eu transformar o meu objeto “Pedido” em um XML, fica muito mais simples e rápido. Se por exemplo criarmos novas propriedades, não teremos o trabalho de mexer no envio do pedido para o ERP. Falando mais de código fonte, criei um projeto Class Libary no VS2010 com três classes:

  • Pessoa: uma classe com as propriedades necessárias
  • Pessoa Física: herda da classe “Pessoa” e tem as propriedades de uma pessoa física
  • Address: endereço com suas propriedades necessárias

——————–

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Serialization;

namespace Augusto.Pierzynski
{
    public class Pessoa
    {
        public int id { get; set; }
        public string name { get; set; }
        public string image { get; set; }

        [XmlIgnore]
        public List AddressList { get; set; }
    }
}

——————–

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml.Serialization;

namespace Augusto.Pierzynski
{
    public class PessoaFisica : Pessoa
    {
        public int id { get; set; }
        public string cpf { get; set; }
        public string rg { get; set; }

    }
}

——————–

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Augusto.Pierzynski
{
    public class Address
    {
        public int id { get; set; }
        public string address_firstfield { get; set; }
        public string address_secondfield { get; set; }
        public string zipcode { get; set; }
        public string zone { get; set; }

    }
}

——————–

Para serializar a classe PessoaFisica,  criei 2 métodos “Serialize” e “Deserialize” dentro da classe Pessoa conforme abaixo. Note que nos dois métodos existem casts com o objeto pessoa.

——————–

        public virtual string Serialize()
        {
            StringWriter xText = new StringWriter();
            XmlSerializer xSerializer = new XmlSerializer(typeof(Pessoa));
            xSerializer.Serialize(xText, this);
            return xText.ToString();
        }

        public virtual Pessoa Deserialize(string strPessoa)
        {
            if (strPessoa == null)
            {
                return new Pessoa();
            }

            XmlSerializer xSerializer = new XmlSerializer(typeof(Pessoa));
            return (Pessoa)xSerializer.Deserialize(new StringReader(strPessoa));
        }

——————–

Na classe pessoa física, foi necessário sobrescrever os dois métodos com o cast para a classe PessoaFisica. Note que o método Deserialize retorna um tipo “Pessoa” (pai), mas faz o cast com “PessoaFisica”.

——————–

        public override string Serialize()
        {
            StringWriter xText = new StringWriter();
            XmlSerializer xSerializer = new XmlSerializer(typeof(PessoaFisica));
            xSerializer.Serialize(xText, this);
            return xText.ToString();
        }

        public override Pessoa Deserialize(string strPessoaFisica)
        {
            if (strPessoaFisica == null)
            {
                return new PessoaFisica();
            }

            XmlSerializer xSerializer = new XmlSerializer(typeof(PessoaFisica));
            return (PessoaFisica)xSerializer.Deserialize
                                            (new StringReader(strPessoaFisica));
        }

——————–

As vezes não queremos (ou não podemos, no caso de propriedades readonly) que algum parâmetro da classe seja serializado, então podemos utilizar o atributo [XmlIgnore]. O truque no momento de Serializar/Deserializar é fazer o cast para o objeto correto, conforme segue abaixo:

——————–

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Augusto.Pierzynski
{
    class Test
    {

        public void main()
        {
            PessoaFisica objPessoaFisica = new PessoaFisica();
            objPessoaFisica.id = 10;
            objPessoaFisica.image = "";
            objPessoaFisica.name = "João";
            objPessoaFisica.rg = "xx.xxx.xxx-x";

            string objPessoaFisicaSerialize = objPessoaFisica.Serialize();

            PessoaFisica objPessoaFisica2 = (PessoaFisica)
                 (new PessoaFisica()).Deserialize(objPessoaFisicaSerialize);

        }

    }
}
--------------------

SQL – IF no WHERE

Agora a pouco tive um ítem para resolver no momento da programação de uma procedure SQL e acho interessante compartilhar a solução com todos.

Eu recebo um parâmetro “bit” e se ele for igual a 1, tenho que criar outro where testando outra coluna da tabela.
Uma das soluções seria fazer um IF na proc e montar dois selects apenas com o WHERE diferente. Com certeza é uma solução ruim, ainda mais quando a lógica do select é complexa.

A opção que segui é bem simples e segue logo abaixo.

—————–
Select nome, título, descrição, preco
From Produto
Where título like ‘%geladeira%’
and id = case when @id > 0 then @id else id end
and id2 = case when @id2 > 0 then @id2 else id2 end
—————–

Link relacionado: http://social.msdn.microsoft.com/Forums/pt/transactsqlpt/thread/f53bf504-4753-408c-bd4a-b8e90f57c369

 

Categorias:SQL Server