Os1

31
SEMINÁRIO SEMINÁRIO Redes Sociais Redes Sociais Utilizando o Utilizando o OpenSocial OpenSocial 1ª Parte 1ª Parte Orador: Eng. Joaquim F. Silva Orador: Eng. Joaquim F. Silva [email protected] [email protected] ISTEC-PORTO ISTEC-PORTO Junho 2009 Junho 2009

description

primeira parte de tres partes de um seminário sobre Opensocial

Transcript of Os1

Page 1: Os1

SEMINÁRIOSEMINÁRIORedes Sociais Redes Sociais Utilizando o Utilizando o OpenSocial OpenSocial 

1ª Parte1ª Parte Orador: Eng. Joaquim F. SilvaOrador: Eng. Joaquim F. [email protected] [email protected]

ISTEC-PORTOISTEC-PORTOJunho 2009Junho 2009

Page 2: Os1

AGENDAAGENDA 1.ª Sessão: 17 de Junho das 18:30h - 20:30h1.ª Sessão: 17 de Junho das 18:30h - 20:30h          - Programação em Redes Sociais - Programação em Redes Sociais 

- Introdução ao OpenSocial - Introdução ao OpenSocial 

2.ª Sessão: 25 de Junho das 18:30h - 2.ª Sessão: 25 de Junho das 18:30h - 20:30h                          20:30h                          - Gadget XML e Gadget API - Gadget XML e Gadget API - JavaScript API - JavaScript API 

3.ª Sessão: 26 de Junho das 18:30h - 22:30h3.ª Sessão: 26 de Junho das 18:30h - 22:30h      - Desenvolvimento de uma simples aplicação - Desenvolvimento de uma simples aplicação

utilizando o OpenSocial APIutilizando o OpenSocial API        

Page 3: Os1

Programação em Redes Programação em Redes Sociais Sociais  O OpenSocial suporta múltiplas O OpenSocial suporta múltiplas

plataformas existentesplataformas existentes MySpaceMySpace hi5hi5 OrkutOrkut FriendsterFriendster ImeemImeem FreebarFreebar LinkedInLinkedIn ……..

Page 4: Os1

Programação em Redes Programação em Redes SociaisSociais

Chaneson2009

Page 5: Os1

Programação em Redes Programação em Redes SociaisSociais Existem diversos tipos de aplicações:Existem diversos tipos de aplicações:

DescobertaDescoberta InstalaçãoInstalação AparênciaAparência ControloControlo

Os objectivos das aplicações:Os objectivos das aplicações: CrescimentoCrescimento EnvolvimentoEnvolvimento Evolução DinâmicaEvolução Dinâmica Auto-expressãoAuto-expressão Exposição públicaExposição pública Construção de relaçõesConstrução de relações Resolução de problemas reaisResolução de problemas reais ....

Page 6: Os1

Programação em Redes Programação em Redes SociaisSociais As actuais tendências:As actuais tendências:

Genéricas Genéricas Verticais (ex. Flixter, iLike)Verticais (ex. Flixter, iLike) DestinosDestinos Maior envolvimento socialMaior envolvimento social Utilização de meios de comunicaçãoUtilização de meios de comunicação Auto-expressãoAuto-expressão Moeda virtual, bens e pontuaçõesMoeda virtual, bens e pontuações Aplicações para telemóveisAplicações para telemóveis Aumento de dados sociais do utilizador na Aumento de dados sociais do utilizador na

utilização de aplicações utilização de aplicações

Page 7: Os1

Programação em Redes Programação em Redes SociaisSociais Aplicações Sociais e ViraisAplicações Sociais e Virais

Explosão de utilizadores num período curtoExplosão de utilizadores num período curto Crescimento sustentado ao longo de semanas Crescimento sustentado ao longo de semanas

ou meses, mas podem expandir o número de ou meses, mas podem expandir o número de utilizadores em horas ou diasutilizadores em horas ou dias

Métricas do crescimento viral:Métricas do crescimento viral: Número de convites que os utilizadores podem Número de convites que os utilizadores podem

realizarrealizar Percentagem entre os números de utilizadores e os Percentagem entre os números de utilizadores e os

que desinstalam. que desinstalam. Capacidade do total de potenciais utilizadoresCapacidade do total de potenciais utilizadores Percentagem entre os convites e os que aceitamPercentagem entre os convites e os que aceitam

Page 8: Os1

Programação em Redes Programação em Redes SociaisSociais Tendências de utilizaçãoTendências de utilização

Grewe2009

Page 9: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

HistóriaHistória Despoletado pelo Google em resposta ao Despoletado pelo Google em resposta ao

FacebookFacebook Iniciado através de um projecto OpenSource Iniciado através de um projecto OpenSource

em 2007em 2007 Diversas companhias subscreveram em Diversas companhias subscreveram em

particular:particular: MySpace, Hi5, Orkut, Ning , LinkedIn, …MySpace, Hi5, Orkut, Ning , LinkedIn, …

Actualmente versão 0.9 (Abril 2009) disponível. Actualmente versão 0.9 (Abril 2009) disponível. hi5 suporta a versão 0.8 (Maio 2008) e o Ning a hi5 suporta a versão 0.8 (Maio 2008) e o Ning a

versão 0.7 (Fevereiro de 2008)versão 0.7 (Fevereiro de 2008)

Page 10: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Chaneson2009

Page 11: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Arquitectura do OpenSocialArquitectura do OpenSocial

Chaneson2009

Page 12: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial A API do OpenSocial possui três tipos de A API do OpenSocial possui três tipos de

recursos:                      recursos:                                  -  -  Pessoas e relacionamentos dos uPessoas e relacionamentos dos utilizadores de tilizadores de

redes sociais                                                    redes sociais                                                                                                                                                      - - Persistência,Persistência, a capacidade de armazenar dados que a capacidade de armazenar dados que

poderão ser recuperados quando a aplicação for poderão ser recuperados quando a aplicação for executada novamente.executada novamente.

                  --Actividades, os utilizadores Actividades, os utilizadores informam as outras o informam as outras o

que estão fazendo: indo ao cinema, postando fotos, e que estão fazendo: indo ao cinema, postando fotos, e assim por diante.assim por diante.

Page 13: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial A API do OpenSocialA API do OpenSocial

Milfont2009

Page 14: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Baseada na API Cliente ( apenas cliente Baseada na API Cliente ( apenas cliente ou com suporte de servidor)ou com suporte de servidor)

Grewe2009

Page 15: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Baseada na API Servidor (Completa Baseada na API Servidor (Completa ou Híbrida)ou Híbrida)

Grewe2009

Page 16: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Arquitectura das aplicaçõesArquitectura das aplicações

Grewe2009

Page 17: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial O JavaScript APIO JavaScript API

Permite cPermite criar aplicações:riar aplicações: Sem manter servidor próprio                                  Sem manter servidor próprio                                   Que incluam um componente do lado do servidor Que incluam um componente do lado do servidor

(para(para processamento off-line e/ou acesso de outros processamento off-line e/ou acesso de outros

sites          sites           Já existentes, utilizando o contexto dos sítios Já existentes, utilizando o contexto dos sítios

sociais já existentessociais já existentes Que possam ser executados no contexto de muitos Que possam ser executados no contexto de muitos

sítios sociais diferentessítios sociais diferentes Suporta funções de aplicações e chamadas a outros Suporta funções de aplicações e chamadas a outros

recursosrecursos Chamadas à API OpenSocial e a GadgetsChamadas à API OpenSocial e a Gadgets

Page 18: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

O JavaScript APIO JavaScript API Utiliza tecnologias padrão da Web:Utiliza tecnologias padrão da Web:

É fornecida como um conjunto de É fornecida como um conjunto de métodos do namespace opensocial.*.métodos do namespace opensocial.*.

Permite usar qualquer técnica padrão Permite usar qualquer técnica padrão de programação JavaScript e de programação JavaScript e bibliotecas de terceiros.bibliotecas de terceiros.

  Inclui um sistema completo de retorno Inclui um sistema completo de retorno de chamada assíncrono para suportar de chamada assíncrono para suportar interactividade AJAX rica.interactividade AJAX rica.

Page 19: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Page 20: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Tipo de dados utilizados no Tipo de dados utilizados no OpenSocial OpenSocial JSONJSON ATOMATOM XMLXML

Page 21: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

O que é preciso para começar a O que é preciso para começar a programar?programar? Conta no Hi5 Conta no Hi5 Código da aplicaçãoCódigo da aplicação Se utilizar uma base de dados, Se utilizar uma base de dados,

necessidade de acesso à mesma ( o necessidade de acesso à mesma ( o Google disponibiliza) Google disponibiliza)

Conta de programador no container Conta de programador no container

Page 22: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Desenvolvimento das aplicações de Desenvolvimento das aplicações de acordo com o container acordo com o container ( infelizmente ainda é assim)( infelizmente ainda é assim)

Container a utilizar neste seminário:Container a utilizar neste seminário:

Page 23: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial Uma simples aplicação Olá MundoUma simples aplicação Olá Mundo  <?xml version="1.0" encoding="UTF-8" ?> - <Module>

- <ModulePrefs title="Your App" description="Hello World" author_email="[email protected]">

<Icon>http://U.com/Logo_16_16.PNG</Icon>

<Require feature="opensocial-0.8" />

</ModulePrefs>

- <Content type="html">

- <![CDATA[ Hello, world! ]]>

</Content>

</Module>

Page 24: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial Como ajustar a altura da aplicação Como ajustar a altura da aplicação

Olá MundoOlá Mundo    <?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?> - <Module>- <Module>- <ModulePrefs title="Hello World!" description="Hello World" - <ModulePrefs title="Hello World!" description="Hello World"

title_url="http://www.hi5.com" author="L. Grewe" title_url="http://www.hi5.com" author="L. Grewe" author_email="[email protected]" author_affiliation="iLab" author_email="[email protected]" author_affiliation="iLab" author_location="Bay Area, CA" thumbnail="http://Me.com/Logo.png">author_location="Bay Area, CA" thumbnail="http://Me.com/Logo.png">

    <Icon>http://Me.com/Logo-16x16.png</Icon> <Icon>http://Me.com/Logo-16x16.png</Icon>     <Require feature="dynamic-height" /> <Require feature="dynamic-height" />     <Require feature="opensocial-0.8" /> <Require feature="opensocial-0.8" />     </ModulePrefs></ModulePrefs>- <Content type="html"> <![CDATA[ Hello World! <script> // Call the init - <Content type="html"> <![CDATA[ Hello World! <script> // Call the init

function onLoad gadgets.util.registerOnLoadHandler(init); function init() function onLoad gadgets.util.registerOnLoadHandler(init); function init() { gadgets.window.adjustHeight(50); } </script>   ]]> { gadgets.window.adjustHeight(50); } </script>   ]]>

    </Content></Content>    </Module></Module>

Page 25: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial Múltiplas vistas na aplicação Olá Múltiplas vistas na aplicação Olá

MundoMundo   <?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?> - <Module>- <Module>- <ModulePrefs title="- <ModulePrefs title="View Silly ExampleView Silly Example" "

description="description="Hello WorldHello World" " author_email="author_email="[email protected]@yahoo.com">">

   <Require feature="<Require feature="opensocial-0.8opensocial-0.8" /> " />    </ModulePrefs></ModulePrefs>- <Content type="- <Content type="htmlhtml" view="" view="profileprofile"> <!"> <!

[CDATA[ <h1>Profile Content</h1> [CDATA[ <h1>Profile Content</h1>    ]]> ]]>    </Content></Content>- <Content type="- <Content type="htmlhtml" view="" view="canvascanvas"> <!"> <!

[CDATA[ <h1>Canvas Content</h1> [CDATA[ <h1>Canvas Content</h1>    ]]> ]]>    </Content></Content>   </Module></Module>

Page 26: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Suporte de ciclos de vidaSuporte de ciclos de vida AplicaçãoAplicação

Ainda não instaladaAinda não instalada Em usoEm uso RemovidaRemovida Recomendada (convite)Recomendada (convite) Alteração na configuraçãoAlteração na configuração

Page 27: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial Aplicação Olá Mundo com suporte de ciclo Aplicação Olá Mundo com suporte de ciclo

de vidade vida   <?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?> - <Module>- <Module>- <ModulePrefs title="- <ModulePrefs title="Hello World!Hello World!" description="" description="Hello WorldHello World" "

title_url="title_url="http://www.hi5.comhttp://www.hi5.com" author="" author="L. GreweL. Grewe" " author_email="author_email="[email protected]@yahoo.com" author_affiliation="" author_affiliation="iLabiLab" " author_location="author_location="Bay Area, CABay Area, CA" " thumbnail="thumbnail="http://Me.com/Logo.pnghttp://Me.com/Logo.png">">

   <Icon><Icon>http://Me.com/Logo-16x16.pnghttp://Me.com/Logo-16x16.png</Icon> </Icon>    <Require feature="<Require feature="opensocial-0.8opensocial-0.8" /> " />    <Link rel="<Link rel="event.addappevent.addapp" href="" href="http://me.com/recordAppaddedhttp://me.com/recordAppadded" /> " />    <Link rel="<Link rel="event.removeappevent.removeapp" href="" href="http://me.com/AppRemovedhttp://me.com/AppRemoved" /> " />    </ModulePrefs></ModulePrefs>- <Content type="- <Content type="htmlhtml"> <![CDATA[ Hello, world! "> <![CDATA[ Hello, world!    ]]> ]]>    </Content></Content>   </Module></Module>

Page 28: Os1

Introdução ao OpenSocialIntrodução ao OpenSocial

Alguns sítios de relevo: Alguns sítios de relevo: http://www.code.google.com/opensocialhttp://www.code.google.com/opensocial http://wiki.opensocial.org/http://wiki.opensocial.org/ http://opensocialapis.blogspot.comhttp://opensocialapis.blogspot.com http://www.opensocial.orghttp://www.opensocial.org http://www.opensocialdirectory.org http://www.opensocialdirectory.org

Para o Hi5:Para o Hi5: http://www.hi5networks.com/developer/ http://www.hi5networks.com/developer/ http://www.hi5.com/friend/group/2364084--http://www.hi5.com/friend/group/2364084--

Hi5%2BPlatform%2BDevelopment--front--html Hi5%2BPlatform%2BDevelopment--front--html

Page 29: Os1

Síntese da 1ª SessãoSíntese da 1ª Sessão Existem diversos “containers”Existem diversos “containers” Definição das metas, canais “virais”, Definição das metas, canais “virais”, Algumas técnicas de marketing e retenção Algumas técnicas de marketing e retenção

dos utilizadores nas aplicaçõesdos utilizadores nas aplicações Arquitectura do OpenSocial e das Arquitectura do OpenSocial e das

AplicaçõesAplicações Tipos de dados suportados pelo OpenSocialTipos de dados suportados pelo OpenSocial Como disponibilizar aplicações no Hi5?Como disponibilizar aplicações no Hi5? O que é preciso para começar a O que é preciso para começar a

programar?programar?

Page 30: Os1

Próxima sessãoPróxima sessão

25 de Junho das 18:30h -25 de Junho das 18:30h -20:30h                          20:30h                          - Gadget XML e Gadget API - Gadget XML e Gadget API - JavaScript API- JavaScript API

Com algumas demonstrações de Com algumas demonstrações de código para múltiplas vistas.código para múltiplas vistas.

Traz o PC para experimentares…Traz o PC para experimentares…

Page 31: Os1

ObrigadoObrigado Joaquim Fernando SilvaJoaquim Fernando Silva

e-mail: [email protected] e-mail: [email protected]

url: http://paginas.fe.up.pt/~pro05009/url: http://paginas.fe.up.pt/~pro05009/

Apresentação disponível no Apresentação disponível no slideshare em:slideshare em:

http://www.slideshare.net/jffs992http://www.slideshare.net/jffs992