28 de janeiro de 2010

Grooveshark - músicas nas nuvens



O Grooveshark é uma aplicação web que toca músicas diretamente no browser. Uma ideia muito conhecida, pegaram uma aplicação existente no desktop e jogaram pra web, nenhuma novidade, qualquer um podia ter pensado nisso. Realmente podia, mas ideias simples com execuções brilhantes podem funcionar muito bem.

Um dos pontos mais fortes do Grooveshark é o seu banco de músicas, tem muitas músicas mesmo. Desde os singles mais conhecidos e lançamentos até covers e bandas undergrounds que eu nem sabia que existia. É só pesquisar pelo nome da música ou artista para receber os resultados que podem ser ouvidos no mesmo instante ou adicionados a sua biblioteca pessoal.

A velocidade do aplicativo também impressiona, as músicas são carregadas rapidamente na minha conexão de 1mb, que nem pode ser considerada top no Brasil, muito menos no mundo. O tamanho de uma música quando conectado a uma banda verdadeiramente larga passa a ser irrelevante. É como carregar uma página web a alguns anos atrás.

As músicas estão nas nuvens, você pode acessá-las de qualquer lugar com conexão à Internet. O Grooveshark funciona tão bem que eu não me importaria em disponibilizar as músicas que eu escuto na Internet para em troca ter acesso a elas em qualquer lugar que eu esteja. Existe um trade-off entre privacidade e a disponibilidade de dados nas nuvens, nesse caso, na minha opinião, vale a pena abrir mão da privacidade.

Muitas questões de privacidade são discutidas atualmente, por causa das redes sociais e da computação nas nuvens. Tem gente que acha um absurdo disponibilizar certos dados, já outras não. Tem empresas também que parecem querer forçar o usuário a abrir mão da sua privacidade, o que é errado. O usuário abrirá mão da sua privacidade se isso trouxer benefícios significativos quando ele estiver usando um serviço qualquer.

Eu estou usando bastante o Grooveshark. Quando eu queria ouvir uma música diferente, que eu não tinha no computador, muitas vezes eu recorria ao Youtube para ver um vídeo com a música, hoje eu procuro no Grooveshark, ele é mais leve e é realmente voltado para música. Ele é ótimo também para compartilhar músicas com os amigos, pois é possível enviar um link que abrirá o Grooveshark tocando uma determinada música. Para finalizar, sua maior utilidade é possibilitar o acesso a um banco muito grande de músicas em qualquer computador que eu use. De longe essa é sua killer feature.

PS: esse post foi escrito ao som de várias músicas, gostaria de compartilhar uma delas, Radiohead - Reckoner.

26 de janeiro de 2010

Memória global: o que podemos esperar

Este é o ultimo post da série Memória Global. Veja os dois primeiros posts: Somos produtores de conteúdo e Acessando a memória da grande rede. Nele vamos ver algumas tendências da área de recuperação de informação.

Várias vezes no post anterior eu mencionei o uso de outros tipos de entradas, diferentes de texto, para procurar informações na rede. Atualmente estamos vendo muita inovação nessa área, um dos principais motivos é a grande evolução dos dispositivos móveis, como o iPhone, Nexus One, etc. Esses dispositivos possuem vários sensores e meios de interação diferentes dos computadores comuns. Eles tem câmera fotográfica, sensores de proximidades, acelerômetro, microfone, meio de identificar a localização do dispositivo, entre outros.

São muito mais possibilidades de interação do que temos com um desktop que abrem um novo leque de possibilidades para inúmeras aplicações, inclusive aplicações de busca e de publicação. O Google recentemente apresentou duas tecnologias que utilizam o poder dos novos smartphones para buscar na rede de forma inovadora. O primeiro projeto é o Google Goggles, uma busca através de imagens tiradas com a câmera de um smartphone. Veja o vídeo abaixo para entender melhor como funciona:



É muito mais intuitivo e prático para alguém tirar uma foto com seu smartphone e a partir dela receber os resultados de uma busca na web.

O outro projeto do Google foi apresentado com o lançamento do Nexus One, que é a interação com o aparelho através da voz, assim possibilitando a busca usando a fala. Veja o vídeo mostrando a pesquisa utilizando a voz no Nexus One:



Mais uma tendência na procura de informações, novamente potencializada pelos dispositivos móveis, é a busca baseada na localização. Serviços baseados em localização foram considerados a segunda maior oportunidade de negócios para dispositivos móveis em 2012 pelo Gartner Group.

A grande sacada da localização é funcionar como um filtro extra para fornecer informações mais específicas para os usuários. Com essa informação é possível filtrar notícias, mapas, pessoas e muitas outras coisas, sua criatividade é o limite, e fornecer o que é mais relevante para quem se encontra na localização fornecida pelo aparelho. Um exemplo de uso da localização como filtro será o "local trends" do Twitter. Por enquanto ele só está disponível para poucos usuários, mas em breve todos devem ter acesso a esse novo recurso.

Os dispositivos móveis estão por toda parte e eles estão cada vez mais poderosos. Hoje carregamos verdadeiros computadores nos nossos bolsos. Esses equipamentos estão se tornando uma ferramenta fantástica para acesso e publicação das mais variadas informações: fotos, vídeos, texto, áudio, etc. É bem provável que os investimentos em pesquisas para esses dispositivos continuem crescendo nos próximos anos, ninguém vai querer perder o mundo de informação alcançável através de um dispositivo móvel nem a capacidade de rapidamente puxar o aparelho do bolso e em poucos minutos publicar novidades na rede.

23 de janeiro de 2010

Memória global: acessando a memória da grande rede

Esse post é uma continuação da série Memória Global sobre a Internet e a infinidade de informações produzidas por nós na grande rede. Veja o primeiro post da série: Somos produtores de conteúdo.

Nas nossas vidas nós organizamos o que temos de alguma maneira que seja possível encontrar depois. Mesmo que implicitamente usamos uma certa lógica para guardar nossos pertences. Por exemplo, colocamos nossas roupas num guarda-roupa, nossos livros em estantes e temos um lugar especifico para os nossos DVDs.

Mesmo sendo uma pessoa organizada e tendo lugares para colocar tudo, você ainda passa por situações em que esquece onde colocou, por exemplo, suas chaves ou o controle remoto da televisão. Temos coisas demais para nos preocupar, é difícil manter tudo perfeitamente no seu lugar para que seja fácil de encontrar depois.

Se já sentimos dificuldade em organizar o que possuímos imagine organizar as informações da Internet? Como vamos encontrar o que queremos? Ela é tão maior e tem infinitamente mais coisas do que qualquer casa que imaginemos.

Os mecanismos de busca surgiram para atacar esse problema, as pessoas precisam de um meio para encontrar o que querem nas bilhões de páginas na Internet. Os sites de busca mais famosos hoje indexam não só páginas web, eles também procuram textos dentro de documentos, procuram imagens, mapas, vídeos, mensagens na realtime web, etc. Mas todas as buscas são baseadas em texto. O usuário escreve palavras-chave e recebe como retorno vários tipos de informações. Essa é a busca que ainda reina na Internet, mas ela já é questionada por ser uma interação limitada com o conteúdo existente na rede. Hoje temos muitos tipos de informações, não só textos, e também temos dispositivos capazes de capturar outros tipos de informação que poderiam ser usados para realizar uma busca, como imagens e som. Falarei mais sobre isso num próximo post.

Duas grandes melhorias que podiam ser acrescentadas nos mecanismos de busca são extrair sentido do que é buscado e inferir relações entre os resultados da busca.

Extrair sentido dos termos buscados tem a ver com a semântica da busca, por exemplo, entender a seguinte busca "onde encontrar um rodízio de sushi pelo menor preço na cidade de João Pessoa" e retornar um mapa marcando o local do restaurante. Talvez você consiga achar a informação que deseja procurando essas palavras-chave, mas essa pesquisa não é tão inteligente como poderia ser.

As relações entre os resultados de busca nos ajudaria a encontrar informações nos variados meios de publicação que temos. Podemos escrever mensagens no Twitter, atualizar nosso status no Facebook, criar um post num blog, adicionar fotos no Flickr, etc. São muitos meios de publicação. Os mecanismos de buscas podiam inferir relações automáticas entre eles e ajudar os usuários a encontrarem uma maior variedade de informações nas suas buscas.

Já temos algumas soluções que criam relações de uma forma limitada, mas que já ajudam bastante. O Google as vezes apresenta nos resultados de uma busca, além de links, vídeos, imagens e mapas. Todos dados dos seus próprios serviços. Outro exemplo de relação entre meios de publicação diferentes, dessa vez de serviços de empresas diferentes, você pode ver no próprio blog. Quando alguém envia um tweet com o link de algum post meu o contador de tweets no canto superior direito aumenta. Este exemplo já tem um escopo bem mais limitado, não é qualquer tipo de informação que está sendo relacionado. Podemos considerar ele como uma aplicação voltada a mídia social.

Limitar o nicho de aplicação da integração parece algo mais viável atualmente, criar uma solução que liga todas as informações de forma universal ainda é utópico. Isso também lembra minhas pesquisas atuais sobre ligar as informações extraídas nos mais variados artefatos de um projeto de software (bugs, código fonte, documentos, wikis, etc). Mais uma vez relações num escopo menor.

Um passo importante que damos em relação a integração de informações são as APIs abertas que vários serviços disponibilizam. Não é uma forma padronizada, mas é a forma que funciona hoje em dia. O Twitter é um grande exemplo do poder de uma API. Quantas aplicações utilizando o Twitter existem? Muitas. Tudo fica mais interessante quando unimos vários serviços através de suas APIs para criar soluções totalmente diferentes e inovadoras. Já é possível fazer isso, e no futuro provavelmente conseguiremos integrar ainda mais serviços e consequentemente suas informações.

Os desafios são grandes, mas as soluções já começam a surgir. O ponto mais importante de tudo isso é fornecer para as pessoas a melhor maneira possível de recuperar as informações que elas procuram. É aí que poderemos perceber todo o poder da memória coletiva global. Se alguém já produziu conteúdo relacionado a alguma coisa, essa coisa poderá ser encontrada por outra pessoa através de variados tipos de interação que sejam mais convenientes e pertinentes para quem procura. Nós alimentamos a rede com nosso conteúdo a cada dia criando o maior banco de dados de conhecimento jamais imaginado e estamos trabalhando para cada vez mais conseguir acessar todo esse conhecimento criado.

20 de janeiro de 2010

Memória global: somos produtores de conteúdo

Este é o primeiro de uma série de posts sobre pensamentos meus a respeito da Internet e como ela de certa forma já é e caminha cada vez mais para se tornar uma espécie de memória coletiva global da humanidade.

Um grande avanço trazido pela Internet para as pessoas foi a possibilidade de se comunicar com qualquer lugar do planeta de forma instantânea. Com a estrutura da rede atual e com as ferramentas existentes somos capazes de saber de qualquer acontecimento no mundo em tempo real independentemente da importância dele, podemos saber se um grande desastre natural acabou de acontecer ou se simplesmente um amigo saiu para jantar fora.

Cada vez mais nós usamos a Internet para comunicação e cada vez mais nós produzimos conteúdo que fica armazenado na grande rede. A Internation Data Corporation estimou em 2007 que nesse ano (2010) 70% do universo digital será criado por pessoas ao invés de organizações. Mais de dois terços do conteúdo gerado na rede serão produzidos por pessoas, isto ocorre por que as empresas deixaram de jogar conteúdo na rede? Não, o que acontece é que cada vez mais pessoas publicam suas opiniões, noticias, informações pessoais, entre outros, aumentando ainda mais a quantidade de informação armazenada na Internet.

Um fator importante que sustenta esse modelo de produção de contéudo é a diminuição do custo de armazenamento. Você consegue publicar seus textos gratuitamente ou a um custo muito baixo, mas do outro lado existem servidores de empresas que guardam terabytes de dados. Armazenar parece não ser mais um grande problema para algumas empresas, pois hoje temos emails de vários gigabytes, temos contas de backup online com capacidades parecidas, temos vídeos em alta definição, documentos e músicas nas nuvens. Tudo de graça.

As nuvens! Eu precisava falar delas. A computação nas nuvens parece que veio para ficar, estamos migrando nossos dados para as nuvens, é fato. Se antes tinhamos emails, blogs e páginas pessoais na Internet, hoje, além disso, temos nossas fotos, vídeos, documentos, músicas, programas de tv, dados pessoais, informações sobre nossos amigos, etc. Tudo está na rede, tudo. Nunca na história da humanidade tivemos tantos dados sobre os mais variados assuntos guardados. Parece que temos um estoque infinito, ou melhor, uma memória infinita.

E o que fazer com tudo isso? É meio óbvio que tanta informação deve ter um valor proporcional ao seu tamanho. Afinal temos umas infinidade de dados produzidos ao longo de um certo tempo até os dias atuais, todos guardados. É uma memória inacreditável. Entretanto armazenar não tem muita serventia se não for possível recuperar esses dados. Se você não consegue encontrar o que guardou é como se você não tivesse aquilo que guardou.

Por isso os mecanismos de buscas sempre foram um ótimo negócio na Internet. Mesmo quando os usuários não tinham tanto espaço na produção de conteúdo os sites de busca apareciam como grandes estrelas na rede. Hoje em dia eles brigam com as redes sociais, mas é inegável a importância do Yahoo, Google, Bing, etc.

Será que hoje ou num futuro próximo os mecanismos de buscas atuais, baseados em texto, continuarão sendo suficientes para a procura de conteúdo?

12 de janeiro de 2010

Div com cantos arredondados usando JQuery

Algo muito útil que eu descobri esses dias foi uma forma de arrendondar os cantos de uma div de maneira muito simples usando JQuery. Você não precisa usar imagens e com poucas linhas de código sua div estará com os cantos suavizados e sem serrilhados.

Para isso, além do JQuery, você precisa instalar o plugin JQuery Corner.

Primeiramente, para usar o plugin, você precisa importar o JQuery e o JQuery Corner adicionando as seguintes linhas entre as tags <head></head>:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.corner.js"></script>

Lembre-se o que o conteúdo do src pode variar de acordo com a localização do JQuery e do JQuery Corner no computador.

Vamos usar o código HTML abaixo como exemplo:

<html>
    <head>
        <style type="text/css">
            #main {
                background-color: #0055CC;
                color: #FFFFFF;
                text-align: center;
                padding: 5px 0px;
            }
        </style>

        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="jquery.corner.js">
        </script>        
    </head>

    <body>
        <div id="main">
            <h1>yLog</h1>
        </div>
    </body>
</html>

Para arredondar os cantos da div #main precisamos apenas adicionar as seguintes linhas de código javascript entre as tags <head></head>:

<script type="text/javascript">
    $(document).ready(function() {
        $('#main').corner("15px");
    });
</script>

Onde "15px" define o tamanho da suavização da borda.

Existem outros efeitos aplicáveis aos cantos da div. Veja a documentação do JQuery Corner.

O JQuery Corner facilita muito o trabalho de fazer esse tipo efeito. Você não precisa usar nenhuma imagem, tudo é feito com javascript e o resultado não podia ser melhor.

10 de janeiro de 2010

Chrome, o melhor navegador do Linux

Há um mês atrás foi liberado para Mac e para Linux a versão beta do Google Chrome. Eu já tinha instalado o Chromium, mas nunca tinha usado ele como meu navegador principal. Quando o lançamento do beta foi anunciado eu resolvi dar uma chance e passei a usar o navegador do Google diariamente.

Para mim o Chrome é um navegador melhor em diversos aspectos do que o Firefox no Linux. Eu não esperava que o primeiro beta já possuísse uma estabilidade tão boa e a cada dia que passa eu gosto mais do navegador.

O visual clean do Chrome sempre chamou a minha atenção, eu via a interface minimalista e funcional no Windows e sabia que o Google tinha tomado uma ótima decisão. Acho que o pessoal da Mozilla também pensa assim, vocês já viram os mockups da interface do Firefox 4?

A omnibox, barra de endereço e pesquisa, do Chrome também é fantástica. O Firefox me incomodava com uma certa demora para exibir os resultados, era uma travada rápida da barra de endereço, mas era tempo suficiente para irritar um usuário. Isso felizmente não ocorre no Chrome.

A versão para Linux já veio com suporte a extensões. O Firefox ganha fácil em matéria de extensões, que é um dos pontos fortes do navegador, mas o Chrome dá os primeiros passos para trazer os desenvolvedores para o seu lado. Eu por exemplo já uso extensões do Delicious, Google Tasks e uma para abrir todos os links de email direto no Gmail.

O Chrome também tem alguns problemas. Eu sinto falta da opção de sair e salvar as abas que estão abertas. Você pode ir depois no histórico, mas não é a mesma coisa, isso exige um trabalho extra. É importante enfatizar que eu não usava tantas extensões no Firefox. Eu sei que existem pessoas que usam muitas extensões e que acham difícil se desfazer delas. Esse tipo de usuário pode discordar da minha opinião e achar o Firefox melhor que o Chrome.

Para os desenvolvedores o Chrome traz uma série de ferramentas (Menu da página atual > Desenvolvedor > Ferramentas do desenvolvedor). Eu não sei se as ferramentas do Chrome se comparam as várias extensões para desenvolvedores do Firefox, pois não tenho muita experiência com programação web. O que vocês acham, na visão de desenvolvedor web, do confronto Firefox vs Chrome? Eu gostei muito da visualização das propriedades dos elementos da página, dá para editar e ver em tempo real o resultado.

Vale a pena trocar, essa é minha opinião, mas não é só a minha, o Chrome vem ganhando market share e já ultrapassou o Safari. Se você tem problemas de lentidão e instabilidade com o Firefox como eu tinha faça um teste, instale o Chrome no Linux.

7 de janeiro de 2010

Novo domínio

O blog agora tem um domínio próprio, www.yurimalheiros.com, e um novo e-mail para contato, contato@yurimalheiros.com.

Fazia tempo que eu queria comprar esse domínio e juntando com aquela empolgação de começar coisas novas no início do ano eu fui lá e comprei. Muito barato, não vejo motivos para não fazer isso, se você tem um blog ou site pessoal não espere muito como eu.

O endereço do feed continua o mesmo, não precisam se preocupar em alterar os leitores de feeds nem agregadores. O que também continua é o domínio antigo, ylog.blogspot.com, vocês podem continuar acessando os posts por ele normalmente.

Domínio novo sem atrapalhar quem usa os links antigos :D