Aplicações para iPhone precisam uma rede social

Regularmente chegam aqui imensas pessoas a procurar por aplicações para o iPhone/iPad o que levou a pensar no porquê de tantos visitantes cairem aqui para além do post óbvio com já 2 anos.

Será que as listas de aplicações na App Store não funcionam? Por algum motivo as listas de aplicações para iphone da app store, que são curadas pela apple, não agradam aos utilizadores.

A minha primeira explicação é que a listas de aplicações para iphone/ipad da app store não transmitem a confiança de uma recomendação que uma relação social transmite. Com 200K… 500K… Zagaliões(palavra inventada) de aplicações na loja, não é fácil encontrar o que melhor. Para além disso a loja está infestada de aplicações com In App Purchases (IAP) que não é possível andar a experimentá-las todas até encontrar uma que faça o que queremos.

Daí que as pessoas procurem instalar as Apps que outros utilizadores recomendam, baseando-se na ideia que dessa forma evitam o castigo que é procurar pelas aplicações na loja do iphone, uma vez que esse trabalho de selecção já foi feito por outro.

A App Store precisa um Rede Social e um Grafo.

É estranho que o tal sistema perfeito que todos dizem ser a app store, consiga deixar escapar estas pessoas que estão à procura de aplicações para o iPhone/iPad. Parece-me que o sistema de votação e comentários em cada uma das aplicações que a app store tem, não funciona de forma perfeita.

O ideal seria que ao navegar pelas listas de de aplicações, ainda antes de abrir a janela de uma aplicação, houvesse uma indicação do tipo “O seu amigo Zé comprou esta aplicação“, ou “O seu amigo Zé deu 5 estrelas a esta aplicação“.

A definição do “amigo Zé” viria do grafo da rede social. Acontece que a apple não sabe construir redes sociais, mas poderia aproveitar a integração do twitter (que cada vez é maior) e fazer algo do género. Bastaria à apple convencer os utilizadores a associarem o seu Apple ID a uma conta de Twitter e poderia utilizar os “amigos Twitter” (que coisa estranha), para fazer as recomendações.

Até lá… muitos vão, como eu também faço, procurar listas de aplicações curadas por outros, quer por que me merecem confiança, quer porque não tenho paciência ou simplesmente porque procurar na App Store por vezes é uma verdadeira chatice.

Grafo do conhecimento do Google

Cada vez mais a indústria percebe que mais importante que os directórios de informação (Yahoo), é preciso estabelecer relações entre os dados que se acumulam. As relações sob a forma de gráfos, (p.ex Q-analysis) está a revolucionar a forma como a indústria está a alterar os seus produtos. Agora o Google pretende mudar o paradigma da empresa passando de um serviço de procura para um serviço de conhecimento. Esperemos que isto não seja apenas mais um dos muitos projectos que ao fim de algum tempo é engavetado.

Redes, Python e Big Data

Graphs in the database. SQL meets social networks – A teoria de grafos está na moda e naturalmente aplicações que recorram ao poder do grafo social precisam de bases de dados que suportem a estrutura das relações subjacentes. Interessante artigo sobre como fazê-lo…

Python in Big Data with an overview of NumPy & SciPy – Python é lento!… Quantas vezes já ouvi isto… Um vídeo a não perder.

Análise de Redes Sociais – Lista de Software

networks

A winter school do ciências da complexidade do ISCTE vai decorrer entre 11 e 15 de Janeiro. Este ano é dedicada a representações formais para a representação e análise de estruturas de redes sociais.

Já aqui fiz uma lista de software para análise de redes sociais, mas a verdade é que há sempre algo novo, algo que permite mais alguma coisa. Últimamente tenho olhado para dois softwares em particular: Um é o networkX, escrito em Python e que permite manipular programaticamente o mundo dos gráfos. O outro é o R, o pacote para tratamento estatístico de dados open source que juntamente com o algumas bibliotecas o tornam muito interessante para manipulação de redes.

E com isto tudo a lista que estava algures aqui está um pouco desactualizada pelo que é preciso adicionar algumas coisas:

R Statnet – Uma meta-biblioteca com dependências de uma variedade de outras bibliotecas do R e que torna muito fácil instalar tudo o que é preciso para trabalhar com redes no R.

GraphViz GUESS JUNG Keyplayer Krackplot Mage Multinet Netdraw Netminer Pajek SocNetV Siena Social Network Analysis UCInet Visone Network Workbench

Desenhar grafos em Python

O python facilita muito a vida para desenvolvimento rápido de grafos e redes, principalmente quando estas tem que ser construídas a partir de ficheiros externos de dados. Normalmente uma combinação de python e awk pode resolver todos os problemas numa fracção do tempo das outras linguagens.

No entanto para trabalhar e desenhar redes há dois pacotes que decidi serem importantes:

networkx

está excelente desde que se utilize a versão SVN. As versões normais para download tem 1 bug muito importante que é não ser possível exportar os grafos para um formato que se possa utilizar posteriormente. Na versão do SVN esse problema parece já estar corrigido e portanto pode-se utilizar o pacote para exportar o grafo no formato GML. Update: Nas últimas versões do networkx está tudo ok. Altamente recomendado para desenhar grafos/redes. A programação é muito pythonesca o que ajuda quem estiver embrenhado em python. Permite prototipar rapidamente ideias.

pyNetConv

O pyNetConv é basicamente um conversor de formatos de grafos. Este software pode ser integrado como módulo mas tem também uma GUI para fazer conversões entre formatos de redes. A minha utilização serve para converter o formato GML para Pajek (.net) uma vez que algum software que utilizo não conhece o GML. Não é actualizado há mais de 10 anos, pelo que pode nem sempre funcionar.

igraph para python

O igraph tornou-se nos últimos tempos a minha ferramenta de eleição para trabalhar com grafos, logo seguida de networkx. O igraph possui a vantagem de poder ser utilizado tanto em python, como R. Para além disso permite manter uma consistência de nomenclatura nas várias plataformas.

Com estes pacotes é possível utilizar python para estudar teoria dos grafos de forma simples. Todos apresentam imensos exemplos de como gerar e plotar os grafos.