Arquivo

Textos com Etiquetas ‘twitter’

Novos serviços Google

29, outubro, 2009 Márcio Silva Sem comentários

Recentemente o Google disponibilizou sua nova ferramenta que promete revolucionar a forma de comunicação da forma que ela é feita hoje, chamada de Google Wave, o aplicativo está em fase de testes por usuários convidados.

No entanto outras ferramentas já estão em processo de desenvolvimento e com previsão de lançamento:

Google Music

O Google deu seu primeiro passo no mercado de música on-line, com o lançamento de um serviço de busca de canções na internet. Mas a companhia não permitirá o download dos arquivos em seu portal, e apenas dirigirá o internauta a páginas nas quais isso será possível.

Veja uma pequena apresentação de como funcionará esse serviço.

[youtube DV24RBmy-2I]

O Google  pode ser tornar uma concorrente direta de Apple proprietária do serviço de downloads de música iTunes. O iTunes já vendeu mais de 6 Bilhões de músicas desde o seu lançamento em 2003.

musicshot1

Google Music em Hollywood

O Google aproveitou um evento realizado em Hollywood para discutir o serviço com alguns artistas e executivos do mundo da música. Estavam presentes: Mos Def Wendy Nussbaum (UMG), Steve Savoca (Domino Recording), Syd Schwartz (EMI), Mike Shinoda (Linkin Park), Ryan Tedder (OneRepublic).

Google Social Search

O google Social Search basicamente busca todas informações que ele pode encontrar sobre uma pessoa nas diversas redes sociais disponíveis.  Algumas funcionalidades interessantes estarão disponíveis, como por exemplo, se você segue 100 pessoas no Twitter e você realizar uma busca por algo, o google irá procurar nos tweets públicos o termo que você procurou.

[youtube ZqWJxgp-_mU]

Google Navigation

Aplicativo que estará disponível na versão Android 2.0. Será um corrente direto dos aplicativos hoje existentes com o diferencial de ser FREE. E como não fosse o bastante, ele não será um mero navegador GPS, possuirá o Google Maps, Street View, reconhecimento de Voz e busca avançada.  Será possível, por exemplo, perguntar pelo reconhecimento de voz “Onde fica a Pizza Hut aqui no Bairro XYZ?”.

Veja abaixo um vídeo oficial do Google explicando como funciona o serviço. Dá uma olhada na camisa do cara, quero descobrir onde vende uma dessas =D:

[youtube tGXK4jKN_jY]

Depois do anúncio deste produto pela Google, concorrentes diretos como a Garmin e TowTow viram suas ações despencarem como pode ser visto pelo gráfico:

Fonte: TechCrunch

Fonte: TechCrunch

Apenas o SmartPhone Droid da Motorola possui o Android 2.0 rodando essa nova App que é simplesmente fantástica.  Por enquanto vamos aguardar versões para o Android 1.5 e 1.6 pelo menos.

Categories: Google Tags: , ,

Plugin Twitter para o Mootools – Parte 1

25, outubro, 2009 Márcio Silva Sem comentários

Olá Pessoal,

Nesta primeira parte será mostrado a construção de um plugin/extensão do Mootools para recuperar tweets do twitter desejado. Para o correto funcionamento deste tutorial você deverá baixar a versão 1.2 ou superior do mootools.

Agora, crie um arquivo chamado Twitter.js, é nele que o plugin será desenvolvido. Utilizando o ferramental disponilizado pelo mootools a implementação inicia-se com a definição da classe Twitter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var Twitter = new Class ({
 
	Implements : [Options,Events],
 
	getOptions : function()
	{
		return {
			url :  "http://localhost/twitter.php?user_timeline=", //proxy para carregar os tweets
			refreshTime : 5000, //intervalo de tempo para atualizar os tweets
			user : 'mapsiva', //login do usuário
			count : 2, //quantidade de tweets que devem ser retornados
			container : $('twitterContainer') //elemento HTML que onde os tweets serão listados
		};
	},
 
	initialize: function (options)
	{
		this.setOptions(this.getOptions(), options);
	},

No trecho de código acima apenas definimos a classe Twitter, é informado que será estendido as classes Events e Options do mootools.

O método initialize(), é o construtor da classe Twitter, portanto quando fizermos new Twitter() este método será invocado. Nele apenas são recuperados os opções como parâmetro.
O método getOptions() servirá para retornar as opções configuráveis de nosso plugin.

20
21
22
23
24
25
        getPublicTimeLine : function ()
	{
		var url = this.options.url + this.options.user ;
 
		this._ajax (url);
	},

Por opção própria, adotei todos os métodos “privados” ou internos começados por ‘_’ (anderline). O método getPublicTimeLine() é responsável por requisitar os tweets do usuário configurado.

26
27
28
29
30
31
32
33
34
35
36
37
38
        _ajax : function (_url)
	{
		new Request(
		{ 
			method: 'get', 
			url: _url,
			data: {'count' : this.options.count},
			onRequest: this._onRequest.bind(this), 
			onComplete: this._onComplete.bind(this),
			onFailure: this._onFailure.bind(this)
 
		}).send(); 
	},

O método _ajax() faz uma requição via Ajax para o proxy de tweets configurado, por que não podemos fazer requisições direto ao site do twitter via javascript por razões de segurança. Algumas funcões Handler são informadas.

39
40
41
42
43
44
        _onComplete : function (response)
	{
		var tweets = JSON.decode (response);
 
		tweets.each (this._showTweet.bind(this));
	},

O método _onComplete() será invocado quando a requisição resultar em sucesso, a requisição feita pelo proxy ao Twitter retornará um conjunto de dados no formado JSON, portanto devemos decodifiá-los utilizando a JSON do mootools. Logo após, a função _showTweet() se responsabiliza por mostrar os tweets no HTML.

45
46
47
48
	_onRequest : function (response)
	{
		//TODO
	},

O método _onRequest() é invocado quando a requisição de tweets é iniciada, com ela possível mostrar um gif com um aguarde para o usuário, que posteriormente pode ser removido no método _onComplete().

49
50
51
52
	_onFailure : function (xhr)
	{
		//TODO
	},

O método _onFailure() será invocado quando ocorrer um erro na requisição.

53
54
55
56
57
58
59
60
        _showTweet : function (item, index, array)
	{
		if (!$defined(this.options.container))
			return;
 
		var tweet = new Element ('div').addClass('tweetItem').set('html', item.text).injectInside(this.options.container);
	}
});

Para mostrar um tweet, o método _showTweet() verifica a existência do container onde os tweets serão inseridos. Um elemento DIV é criado com o atributo class setado para tweetItem, dessa forma você poderá construir seu CSS para formatá-lo da forma que desejar.

Twitter.implement(new Options);
Twitter.implement(new Events);

Logo após a definição da classe os objetos da classe Options e Events utilizando o implement do mootools são instanciados.

Para executar a busca de tweets logo após o seu site carregar basta colocar o código ao fim do arquivo Twitter.js ou logo após a inclusão do mesmo na página HTML.

1
2
3
4
5
6
window.addEvent('domready', function()
{
	var twitter = new Twitter();
 
	twitter.getPublicTimeLine ();
});

O proxy PHP chamado twitter.php tem a finalidade de buscar os tweets recebendo a quantidade de tweets a serem buscados e de que usuário eles são. Para realizar essa busca será utilizado a biblioteca CURL do PHP, verifique se seu servidor Web possui esta biblioteca instalada, caso contrário deverá instalá-la.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php	
$ch = curl_init();  
 
if(!isset($_GET["count"]))
	curl_setopt($ch,CURLOPT_URL,"http://twitter.com/statuses/user_timeline/".$_GET["user_timeline"].".json");
else
	curl_setopt($ch,CURLOPT_URL,"http://twitter.com/statuses/user_timeline/".$_GET["user_timeline"].".json?count=".$_GET["count"]);
 
curl_setopt($ch,CURLOPT_GET,1);  
 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
 
$result = curl_exec ($ch);  
 
curl_close($ch);
 
echo $result;    
 
?>

Um exemplo de utilização deste plugin é mostrado no código HTML abaixo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>.: Twitter:.</title>
<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript" src="Twitter.js"></script>
</head>
 
<body>
<div id="twitterContainer">
 
</div>
</body>
</html>

Pronto, com isso é possível recuperar os tweets de usuários via JS. Na parte 2 iremos definir os métodos que irão ‘parsear’ cada tweet incluindo os links, link para perfils como @mapsiva ou para #topics.

Gostaria de ajudar no desenvolvimento deste plugin? Acesse http://code.google.com/p/mootwitter/ ou mande email para marcio arroba marciosilva ponto net.

Baixe os arquivos fontes deste tutorial.
Twitter Mootools download