Se você não sabe o que é um mashup, vale a pena saber: mashups são "misturas" de dados que permitem combinar dados de diversas fontes, criando uma visualização unica, resumida. Por exemplo, você pode pegar dados de clientes, com suas localizações e colocar "pins" no mapa, com indicações dos clientes. Ou você pode pegar dados estatísticos e plotar gráficos ou criar mapas que mostram a atividade no mundo.
Enfim, as oportunidades para criar um mashup são praticamente infinitas. A Microsoft criou um gerador de mashops, o PopFly creator, onde você pode criar seus blocos, que extraem os dados de diversas fontes e geram saídas diversas. Estes blocos são criados usando Javascript, isto é, não necessitam de nenhuma linguagem especial. Se você acha que pode ser complicado criar um bloco, não precisa se aventurar a tanto, no início: você pode usar os blocos criados por outras pessoas, que estão disponíveis e que, inclusive, podem ser alterados por você.
Para mostrar como é fácil criar um mashup, vamos fazer um. Para isso, vamos usar os blocos criados pelo meu filho Roberto e pelo Bruno Reis, que estão concorrendo na etapa mundial da ImagineCup 2009, na categoria Mashup, o KnoWorld. Os blocos criados por eles tem diversas funcionalidades. Por exemplo, o GapMinder extrai dados de diversos indicadores (você pode ter a lista completa em ) e disponibiliza-os em formato ano/valor ou país/valor, de maneira que você pode obter uma série temporal (quando quer ver a evolução de um indicador num país) ou espacial (quando quer ver a distribuição de um indicador no mundo, num determinado ano).
A partir daí, você pode plotar estes dados usando os blocos TimePlot (que mostra os dados, ligando-os a uma série de eventos), ou Google Charts (que plota um gráfico de barras, de linha, ou mesmo um mapa mundi colorido).
No meu caso, eu queria verificar a correlação entre o consumo de óleo no Brasil, com a emissão de CO2, para ver se há correspondência entre os dois indicadores. Fui até , dei meu login do passport e comecei a criar o mashup. Inicialmente, coloquei dois blocos GapMinder (basta teclar na caixa de pesquisa, que ele aparece). Configurei o primeiro GapMinder para a operação "getByCountry" e o indicador "Oil consumption". Selecionei o país Brasil. O segundo GapMinder foi configurado para o indicador "Total CO2 emissions (thousand tonnes)". Em seguida, coloquei dois blocos Filter. Estes blocos filtram os dados para as condições selecionadas. Como o GapMinder gera muitas informações, iremos filtrar os dados a partir de 1965, mostrando os dados de 5 em 5 anos. Em seguida, liguei a saída dos GapMinders aos Filters. Configurei os blocos Filter como
- List: Source - GapMinder - Value: [entire TimeSeries object]
- Condition: Custom - Value: x.year >= 1965 && x.year % 5 == 0
Finalmente, adicionei um bloco Google Charts e liguei a saída dos dois Filters à entrada do Google Charts. Configurei o Google Charts como
- Operations: plotLineChart
- X Values: Filter - Value: year
- Y Values: Filter - Value: value
- XValues2: Custom - Value: (deixar um espaço em branco para plotar o gráfico)
- Y Values2: Filter(2) - Value: value
- ShowImage: true
Pronto. Isto é tudo o que precisamos. O Mashup ficou como a figura abaixo
Aí é só executar o mashup e ver o resultado, como em:
Como vocês podem ver, o consumo de óleo corre em paralelo com a emissão de CO2. Se vocês quiserem ver o mashup, ele está em http://www.popfly.com/users/BSonnino/Oil%20consumption%20vs%20CO2%20Emission%20in%20Brazil
Como vocês podem ver, criar um mashup é muito fácil, já imaginaram as possibilidades?
I had no idea what mashup is. but I confess that I found the meaning interesting and above all what it represents.