Como integrar o Twitter no seu site com @Anywhere

30/4/2010 | Tags:, , , , | Escrito por: Dirceu Pauka Jr.

Recentemente o Twitter desenvolveu a @Anywhere, uma ferramenta que facilita a integração de funcionalidades do Twitter em sites de terceiros.

As funcionalidades disponíveis são:

  • Auto-link em nomes de usuários do Twitter
  • Hovercard
  • Botão de seguir
  • Caixa de tweet
  • Login de usuário

Para adicionar esses elementos do Twitter no seu site, siga com atenção as próximas linhas.

O primeiro passo é abrir o cadastro para sites/aplicativos do Twitter. Nessa página preencha o campo “Callback URL” com um endereço que seja do mesmo domínio e sub-domínio que seu site. Além disso, marque a opção “Read & Write” no tipo de acesso, assim seus visitantes também poderão seguir profiles do Twitter e tweetarem.

Com a aplicação criada vamos entender ao código. Comece adicionando a seguinte tag dentro do HEAD do HTML, substituindo YOUR_API_KEY pela “Consumer key” que foi criada no passo anterior:

<script src="http://platform.twitter.com/anywhere.js?id=YOUR_API_KEY&v=1"
type="text/javascript"></script>

Auto-link em nomes de usuários do Twitter

A Anywhere linka automaticamente nomes de usuários achados na sua página para a página do profile no Twitter. Para usar, chame o método linkifyUsers após o código do passo anterior:

<script type="text/javascript">
  twttr.anywhere(function (T) {
    T.linkifyUsers();
  });
</script>

Dessa forma todos potenciais nomes de usuários serão linkados, se você preferir linkar somente parte do seu conteúdo pode usar um seletor no objeto “T”:

T("#linka-esse-conteudo").linkifyUsers();

Hovercard

Hovercard

Um hovercard é um pequeno box que mostra dados sobre um usuário do Twitter. O hovercard também permite seguir e deseguir tal usuário. Para habilitar chame o método hovercards:

<script type="text/javascript">
  twttr.anywhere(function (T) {
    T.hovercards();
  });
</script>

Por padrão o método hovercards chamará a funcionalidade de auto-link, linkifyUsers.

Botão de seguir

Follow Button

O botão de seguir permite os usuários do seu site seguirem usuários no Twitter, para adicionar utilize o método followButton:

<span id="follow-twitterapi"></span>
<script type="text/javascript">
  twttr.anywhere(function (T) {
    T('#follow-twitterapi').followButton("USUARIO_PARA_SEGUIR");
  });
</script>

Caixa de tweet

Tweet Box

A caixa de tweet permite os usuário tweetarem diretamente do seu site, para usar chame o método tweetBox:

<div id="tbox"></div>
<script type="text/javascript">
  twttr.anywhere(function (T) {
    T("#tbox").tweetBox();
  });
</script>

É possível customizar a exibição da Tweet Box. Tamanho e texto padrão podem ser definidos como no exemplo:

<div id="tbox"></div>
<script type="text/javascript">
  twttr.anywhere(function (T) {
    T("#tbox").tweetBox({
      height: 100,
      width: 400,
      defaultContent: "<CONTEUDO INICIAL DA TWEETBOX>"
    });
  });
</script>

Login de usuário

Auth

Alguns métodos da Anywhere não precisam de autentificação, como por exemplo o Hovercard. Outros, como o Botão de seguir precisam que o usuário autorize o acesso pelo seu site. Quando a funcionalidade precisar ela vai cuidar de tudo isso, porém, é possível permitir o login para usar os dados do usuário e outros métodos da API. Para adicionar um botão para login chame a função connectButton:

<script type="text/javascript">
  twttr.anywhere(function (T) {
    T("#login").connectButton();
  });
</script>

Para executar código quando a autentificação for concluída e receber os dados do usuário use o exemplo:

<span id="login"></span>
<script type="text/javascript">
  twttr.anywhere(function (T) {
    T("#login").connectButton({
      authComplete: function(user) {
        // chamada quando autentificar
        // console.log(user);
      },
      signOut: function() {
        // chamada quando usuario da logout
      }
    });
  });
</script>

E agora?

Pronto para adicionar no seu site? Eu integrei hovercards e botão de seguir no BuzzVolume e gostei muito do resultado. O engajamento do usuário ficou visivelmente maior depois da Anywhere, com mais página por visita e menor bounce rate. Vejam lá no BuzzVolume como ficou.

Para personalizar e explorar melhor a Anywhere procure ler também a introdução preparada pelo Twitter e a API completa.



Pixastic – Processamento de imagens em JS

21/4/2010 | Tags:, | Escrito por: Dirceu Pauka Jr.

Recentemente precisei mudar o tamanho de uma imagem antes de enviar para um webservice. Apesar de parecer meio estranho isso é possível graças a tag canvas.

A biblioteca Pixastic facilita não só o redimensionamento mas também incorpora várias outras técnicas utilizadas por editores de imagem. O projeto possui um editor online (muito bem) feito em cima da biblioteca onde é possível aplicar filtros e efeitos nas imagens.



Twitter API

19/4/2010 | Tags:, , , | Escrito por: Dirceu Pauka Jr.

Recentemente uma discussão interessante surgiu em torno da API do Twitter. Quem iniciou a discussão foi um dos investidores do Twitter dizendo que existem muitas aplicações preenchendo buracos do Twitter. Esse texto deixa em aberto várias questões sobre a visão que a empresa tem da sua plataforma.

Porém como não poderia deixar de ser os caras foram muito legais com os desenvolveres na Chirp e o TechCrunch aproveitou para entrevistar Loic Le Meur aumentando a discussão e diminuindo as horas de sono dos desenvolvedores.

O Twitter vai ver o que os devs fizeram de legal, implementar e lançar? Código é uma vantagem? E o ecossistema? Os desenvolvedores vão sair da plataforma? Investidores?

Sinceramente acho difícil reverter a situação que eles criaram. O Facebook se prepara para lançar sua firehose um ano após o lançamento da Twitter Streaming API em um evento muito aguardado. É difícil imaginar o Twitter complicando para os desenvolvedores acessarem seus dados enquanto MySpace já tem Streaming API e Facebook f8 vem ai…

Além disso um time com, código, conhecimento, design, mindset sempre são grande vantagens principalmente diante de grandes limitações. Tudo leva a concluir que “isso de Twitter” só está começando e em breve veremos algo como uma Zynga do Twitter.



Canonização de URLs

7/4/2010 | Tags:, , | Escrito por: Dirceu Pauka Jr.

Canonizar URLs possui dois significados, pode se tratar de não permitir URLs diferentes com o mesmo conteúdo no seu site para evitar punição por parte dos indexadores e pode tratar também da aplicação de técnicas por parte dos indexadores para “normalizar” ou “padronizar” URLs que apontam para o mesmo “documento”.

O primeiro link desse texto leva para uma explicação mais detalhada sobre a parte de SEO, os métodos que citarei nesse artigo são relacionados a como normalizar URLs em uma aplicação (crawler, agregador, …):

Punnycode

“Punycode” faz parte do protocolo para Internacionalização de nomes de domínio em aplicações. Sua utilização evita problemas de segurança como a utilização de caracteres de outras línguas para enganar a aplicação (por exemplo γahoo.com – gama do alfabeto grego). Existem implementações da IDNA para várias linguagens de programação…

rel=”canonical”

Essa meta tag facilita para os indexadores a identificação de qual é o conteúdo original.

Um exemplo de uso é o do YouTube, onde mesmo se a URL do vídeo for algo como:

“http://www.youtube.com/watch?v=5rNws2Gb7u8&playnext_from=TL&videos=XGffngBzWp4&feature=grec”

Teremos a rel=”canonical” indicando a URL canônica:

<link rel="canonical" href="/watch?v=5rNws2Gb7u8">

Dessa forma o agregador deve verificar a tag e passar a relacionar os dados da aplicação ao endereço especificado.

Estimativa de similaridade entre documentos

Essa técnica é usada pelo Google. Pelo visto ela foi patenteada então se você usar não fale para eles…

Ela consiste em usar uma função matemática de “hash” em cima do documento. Diferentemente de um hash com aplicações criptográficas onde uma única alteração na entrada da função vai retornar um resultado muito diferente a função usada aqui é linear. Dessa forma dois conteúdos parecidos terão o mesmo “hash”.

Além de permitir verificar se um documento é aproximadamente parecido com outro, ainda é possível aplicar um algoritimo chamado “A Distância de Hamming” para saber qual o nível de similaridade.

A App é sua

Crie suas regras. Se o usuário procurar pelo endereço “http://ositedele.com” no seu serviço você terá que mostrar os dados de “http://ositedele.com/”? (Preste atenção na barra ao final do segundo)

Então decida como vai tratar isso e use uma função de normalização em todo aplicativo. Não será difícil desde que você preste atenção e entenda o problema.

Referência e Relacionados:

5 dicas simples para seu conteúdo fazer bonito nas redes sociais
Nomes de domínios internacionalizados
Detection of near-duplicate documents with simhash



Startup ou Empresa?

17/3/2010 | Tags: | Escrito por: Dirceu Pauka Jr.

O que você chama de startup? O @spiceee fez o favor de definir bem com esses tweets…

E ai, o que acham?

;)



Twitter Phishing Attack e “Mais Followers”

2/2/2010 | Tags:, , , | Escrito por: Dirceu Pauka Jr.

Ultimamente tenho observado uma infestação de serviços que prometem uma grande quantidade de seguidores no Twitter.

O esquema é parecido com técnicas malignas de SEO como Google Train e como não chega a atrapalhar diretamente o Twitter não é combatido pela empresa.

Alguns desses serviços utilizam oAuth como promessa de proteção. Mas, por mais que a autorização por oAuth possa ser negada depois, a aceitação inicial permite acesso e alteração dos dados do usuário.

As contas dos participantes desses esquemas estão comprometidas

Para mim está claro que os criadores desses esquemas possuem objetivos nada sinceros. Roubar senhas e acessar timelines de forma a direcionar trafego para urls maliciosas.

Assim os participantes e amigos de participantes desses esquemas estão sim com suas contas comprometidas.

Os amigos também?

Existem vários motivos para usar o perfil no modo “protegido”. O mais comum é reservar a privacidade do cidadão.
Se alguém com perfil protegido autorizar um amigo a ver seus updates e esse amigo usar um “Mais Followers” os updates do usuário são expostos para no mínimo os sujeitos que criaram esse serviço.

O Twitter está sofrendo um ataque de phishing. Isso pode ser evitado?

Creio que sim. É difícil enxergar legitimidade em serviços como esses. O Google classifica serviços maliciosos e publica listas com esses dados na web. Se o Twitter verificar URLs nessa lista e não permitir o envio das mesmas para a timeline, pode começar a evitar que essa praga se espalhe.

Enquanto isso?

Não digite sua senha em nenhum lugar. Evite serviços que não possuem autentificação por oAuth e mesmo nos que possuirem, só autorize se confiar.



Google Phone

6/1/2010 | Tags:, , , , , , , , , , , , , , , , | Escrito por: Dirceu Pauka Jr.

A URL http://google.com/phone é legal. Não só isso é legal no celular do Google.

Finalmente o Android ficou pronto a ponto do Google anunciar publicamente sua marca junto a HTC, fabricante dos aparelhos. Alguns destaques do NexusOne:

Search do Google por voz (GPS + voz, na verdade, o que possibilita você falar “pizza” para o telefone e ele te mostrar no Google Maps o caminho às pizzarias próximas).

Hardware e resolução de tela (800×480) para rodar jogos muito melhor que qualquer PSP e o marketplace para baixar legalmente jogos muito melhores até que jogos de PS2. Tudo pelo 3G.

Marketplace dos modelos anteriores da HTC que rodam Android, com mais de 20 mil apps prontas para rodar no telefone do Google (Android 2.1).

Google Phones

Aparelho fino (1,19cm).

E o mais importante para os devs: SDK simples e publica.

Veja também sobre o Zeebo, um video game da brasileira TecToy que tem um Android dentro e os jogos são baixados pelo 3G.



abbr-log 2009

22/12/2009 | Tags:, | Escrito por: Dirceu Pauka Jr.

Seguindo a tradição vou publicar meu log de abreviações:

2009 no BuzzVolume e na Doin Apps

html, css, javascript, svn, git, twitter api, ruby, memcached, tokyo cabinet, nginx, sinatra, thin, web crawler, solr, mysql, chrome extensions, c, cocoa, obj-c, webos mojo js framework

Veja o do ano passado



Melhor Preço: Extensão para Chrome

18/12/2009 | Tags:, , , , , , | Escrito por: Dirceu Pauka Jr.

Eu e o @mauricio desenvolvemos uma extensão para o Google Chrome que encontra os melhores preços enquanto o usuário navega em sites de comércio eletrônico.

Após instalar a extensão “Melhor Preço“, um botão no navegador alerta o usuário para a possibilidade de encontrar preços menores do produto que está pesquisando. Ao clicar no botão são apresentadas as ofertas disponíveis em diversos sites de comércio eletrônico brasileiro.

A ferramenta que deve ajudar o internauta brasileiro a economizar nas compras deste Natal, pode ser instalada a partir da galeria oficial de extensões do Google: https://chrome.google.com/extensions.

Lançadas em fase beta no último dia 8, as extensões para o Google Chrome permitem que desenvolvedores aumentem as funcionalidades do navegador do Google.

3001



mobile application software – doin apps

3/12/2009 | Tags:, , , , , , | Escrito por: Dirceu Pauka Jr.

doin

O celular nunca mudou tanto desde sua invenção quanto mudou com a chegada da banda larga. Com sua história recente mais relacionada com Internet as coisas acontecem mais ou menos da mesma maneira: o custo de desenvolvimento, promoção e distribuição fica cada vez mais barato, permitindo a criação de aplicativos por mais pessoas.

Como vemos atualmente, 3 novas “grandes” plataformas estão sendo construídas: iPhone OS, Android, webOS. Todas são plataformas já consideradas sucedidas e apesar de dizerem que já fechou a conta e o futuro é iPhone, Android e WebOS eu acho que em breve outras também adotarão uma interface boa o suficiente combinada com o WebKit (touch é o grande trunfo do iPhone, Androids e webOS).

Então o mercado está aquecido. Isso é verdade?

As empresas que se arriscaram a construir essas plataformas conseguiram uma base instalada absurda em pouco tempo.

Em novos mercados a concorrência é baixa e a audiência de cada “player” é alta. Por isso muitos estão ganhando com publicidade em apps com baixa qualidade no iPhone. Também por isso outros estão ganhando com apps de boa qualidade em plataformas mais novas…

No último ano coloquei aplicações na iTunes Store e na Palm Pre Store e venho tentando tanto o modelo de publicidade quanto apps pagas.

Eu não ganho muito. Principalmente devido ao fato do AdMob ser um sistema quebrado. Mas pretendo ganhar um pouco e por isso acho interessante tornar a brincadeira um pouco mais seria: criei a página da doin apps. Não é nada muito serio (por enquanto fazemos somente nossas apps), mas também sem deixar o profissionalismo de lado.

Logo mais o Mikael faz uma logo ;) E a gente coloca um site no ar…

card

Valeu :D