AN style="FONT-FAMILY: Verdana; BACKGROUND: white; COLOR: red; FONT-SIZE: 10pt; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial">
PAN>
: windowtext; FONT-SIZE: 10pt" lang=EN-US>
NT: 5.75pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal align=left>Serve para ambientar o desenvolvedor nos conceitos utilizados pela API e instruí-lo na construção de aplicativos que podem atingir milhões de usuários dentre as diversas redes sociais que implementam o OpenSocial.
Em que situação o tema é útil:
Com o crescimento das redes sociais, é possível atingir seus milhões de usuários com um único aplicativo que utiliza a plataforma de desenvolvimento OpenSocial. A partir de idéias que utilizam o conceito de relacionamento dentro da rede, pequenos aplicativos possibilitam o marketing viral e a divulgação de marcas e conceitos sobre toda uma geração de usuários da internet.
Conhecendo a plataforma Opensocial:
A API Opensocial consiste em uma plataforma de desenvolvimento, implementada em diversas redes sociais, para aplicativos que utilizam os conceitos de relacionamento das redes para agregar valor à experiência do usuário e assim utilizar uma poderosa ferramenta de marketing podendo atingir milhões de usuários.
Para a construção destes aplicativos é necessário compreender os conceitos de relacionamento entre os usuários da rede, como por exemplo: Owner (dono do perfil), Viewer (visitante do perfil), Owner Friends (amigos do dono do perfil), Viewer Friends (amigos do visitante do perfil), Activity (atividade do usuário registrado dentro da rede), etc. Além disso, é importante saber que a API Opensocial disponibiliza diversas funcionalidades, dentre elas a persistência de informações do usuário do aplicativo e o cacheamento de arquivos estáticos no ambiente da rede social.
Com base nestas informações e na documentação da API é possível viabilizar a construção de aplicativos com capacidade para crescimento viral dentro das redes sociais que implementaram a API Opensocial. Da Listagem
Entre as mais importantes tendências da comunicação nos dias de hoje estão as redes sociais, “terreno” altamente apetecível, mas pantanoso, tanto em quesitos sociais quanto técnicos. Neste artigo introduzimos os principais conceitos do OpenSocial abordando de forma prática a construção de uma aplicação para estas redes. Nosso foco é a prática e está baseado nas experiências alcançadas durante o desenvolvimento de uma aplicação de destaque para a rede social Orkut em 2008, o Futebol Social Clube. Vamos explorar tecnologias e conceitos como OpenSocial, Javascript, API, Protocolos REST e RPC, Especificação do ambiente do Orkut, AJAX, OAuth, XML e JSON.
O que é o OpenSocial?
OpenSocial não é uma nova rede social como pode parecer pelo nome; é uma plataforma aberta mantida por um consórcio de empresas e comunidades, liderada pela Google para tornar mais fácil a integração entre sistemas de redes sociais. Esse consórcio teve seu embrião em 2007 e logo já contava com empresas como MySpace e Yahoo, ambas gigantes em quantidade de usuários.
Com esse apadrinhamento e um grande entusiasmo das comunidades de desenvolvedores pelo mundo, o OpenSocial, lançado em maio de 2008, já tinha em julho nada menos que 4.500 aplicações, instaladas aproximadamente 150 milhões de vezes! A partir de então, manteve um crescimento constante de mais de 30 novas aplicações por dia e forte penetração nas principais redes sociais do mundo.
Tecnicamente, trata-se de um conjunto de APIs que tornam interoperáveis aplicações desenvolvidas para sistemas de redes aderentes ao padrão. Esta nova plataforma tem como objetivos, além de reduzir o tempo de desenvolvimento do programador – que não precisará se familiarizar com a especificação de cada rede, só com a API do OpenSocial implantada em cada uma delas –, também potencializar a quantidade de usuários de uma aplicação, que estará facilmente disponível não para milhares, mas para milhões de usuários.
Hoje já são muitas redes que aderiram ao OpenSocial, entre elas o Orkut, Ning, Hi5, LinkedIn, Plaxo e Friendster. Alguns vendedores de software empresariais também apóiam esta iniciativa, como é o caso da Oracle e da Salesforce. A participação destas empresas sugere que podemos encontrar um conjunto de aplicações envolvendo também sistemas de redes sociais empresariais.
Por que desenvolver um gadget para o OpenSocial?
Nos últimos anos os sistemas de redes sociais proliferaram na Internet em uma velocidade surpreendente e de forma muito agressiva, abrangendo milhões de usuários de diversas localidades, gostos, faixas etárias e níveis sociais – ver Figura 1. Cada rede tem suas próprias peculiaridades e APIs “nativas”, que exigem aplicativos customizados para cada rede. Agora, baseado na proposta do OpenSocial, todo esse cenário é passível de ser atingido desenvolvendo-se um único aplicativo que poderá ser acoplado a qualquer destas redes, atingindo todos os seus usuários de uma só vez.
Figura 1. Quantidade de usuários nas redes sociais – em milhões.
Com esse pano de fundo, a plataforma se tornou um prato cheio para o marketing viral, trazendo aos usuários das redes sociais funcionalidades cada vez mais interessantes (seguindo os conceitos da Web 2.0); aos desenvolvedores, a oportunidade de mostrar a sua criatividade e conhecimento; e às redes, um ambiente muito mais rico.
Conceitos da API
A API do OpenSocial está atualmente na versão 0.8.1 e suporta tanto o acesso por client-side (Javascript API) quanto por server-side (protocolos REST ou RPC), garantindo o acesso aos dados e funcionalidades internas dos sistemas de redes sociais. A OpenSocial Javascript API foi a primeira disponibilizada devido à sua compatibilidade com qualquer ambiente client-side, funcionando como uma interface aos serviços disponibilizados pela rede social hospedeira (denominada container). Já os protocolos REST e RPC foram disponibilizados apenas a partir da versão 0.8 e foram elaborados para viabilizar o desenvolvimento de aplicativos não somente em Javascript, mas também
Com o foco nas pessoas, a API do OpenSocial permite o acesso às informações e serviços da rede, assim sendo, possui três áreas principais de funcionalidade:
• Pessoas e relacionamentos: Representa uma parte muito importante do sistema, responsável por fornecer as informações do usuário e de seus relacionamentos com outros usuários dentro do sistema – ver Figura 2. Os objetos representativos apresentam os conceitos de VIEWER (leitor) e OWNER (proprietário); quando estamos requisitando um perfil de um amigo, nós somos o VIEWER e ele o OWNER. O mesmo acontece nos relacionamentos, há duas coleções de objetos que representam os amigos, VIEWER_FRIEND (amigos do leitor) e OWNER_FRIEND (amigos do proprietário). Caso esteja acessando um perfil do seu amigo e requisitar o VIEWER_FRIEND, será retornada uma lista com os seus amigos, porque neste caso você é o VIEWER. Caso requisite o OWNER_FRIEND, será retornado o conjunto de amigos do seu amigo que está definido como o OWNER;
• Atividades: Representa as atividades de um usuário dentro do sistema para que seja mantido um histórico de suas ações e elas sejam divulgadas aos amigos e visitantes do perfil. Um exemplo de Atividade seria a divulgação a todos os amigos quando o usuário inclui uma nova foto em seu perfil.
• Persistência: A API disponibiliza capacidade de persistência de dados com a estrutura chave-valor para que os aplicativos possam ler e gravar dados dos usuários específicos de cada aplicação. O volume de dados que podem ser armazenados depende apenas da rede que está hospedando a plataforma.
Figura 2. Representação das formas de relacionamento na rede.
Além destas três áreas, também são importantes para o desenvolvimento com redes sociais, os diferentes tipos de visualização de um aplicativo. Pela própria API é possível verificar as diversas formas que a rede disponibiliza o acesso à interface do aplicativo. Veja abaixo as mais comuns nas redes que implantaram o OpenSocial:
• Profile: A visualização do tipo Profile (Perfil) ocorre quando o aplicativo é carregado na página inicial do perfil do usuário. Neste caso teremos um espaço limitado para a aplicação – como vemos na Figura 3 – além do cuidado especial para não afetar o tempo de carregamento da mesma;
Figura 3. Exemplo de visibilidade de perfil no aplicativo Futebol Social Clube.
• Canvas: A visualização Canvas apresenta um espaço muito maior reservado apenas para o carregamento da aplicação – ver Figura 4. Neste caso, todas as funcionalidades do aplicativo poderão ser exibidas aproveitando-se todo o espaço disponível;
Figura 4. Exemplo de visibilidade Canvas na App Futebol Social Clube.
• Diretório de Aplicações: Não é necessariamente uma forma de visualização, mas a maioria das redes sociais terá a sua listagem de aplicações onde sua aplicação será apresentada pelos dados simplificados como título, descrição e Thumbnail, conforme mostra o exemplo do Orkut na Figura 5.
Figura 5. Exemplo de diretório.
Outra informação importante a ser passada sobre a Javascript API é o seu funcionamento técnico:
• O acesso à grande maioria dos serviços e informações oferecidas pela API é feito de forma assíncrona (usando-se AJAX), portanto, um parâmetro adicional é passado em todas as requisições de serviços informando a função de CallBack. O mecanismo de uma aplicação Web utilizando AJAX está descrito no diagrama da Figura 6.
• A função de CallBack será invocada pela API assim que a chamada assíncrona estiver concluída e o retorno da mesma já estiver sob posse da API – ver Figura 7. O entendimento deste mecanismo é essencial para a compreensão de como a codificação em Javascript estará organizada.