SlideShare uma empresa Scribd logo
1 de 53
BUIDING APPLICATION
        for
 SOCIAL NETWORKS



               Đỗ Duy Trung
              Hai Phong Aptech
Agenda
• Overview
• How to create application for Social Network?
• Social Network Architecture
• Fundamentals & requirements for building
  application
• Demo
• Q&A
What is Social Network?

                              • A social structure made up of actors:
                                  – Individuals
                                  – Organizations

                              • The dyadic ties between these actors:
                                  – Relationships
                                  – Connections
                                  – Interactions




Or in plain English:
Social networks are essentially about who know who, and who know what.
Advantages of Social Networking?
•   Work connections
•   Keeping in touch
•   Get feedback
•   Share multiple points of view
•   Talking to other persons
•   Stay in touch anywhere
How do you typically train your team
    to use an authoring tools?
What is Social computing?
• Social behavior:
  – blogs, email, instant messaging, social network
    services, wikis, social bookmarking
• Computation:
  – collaborative filtering, online auctions, prediction
    markets, reputation systems, computational social
    choice, tagging, and verification games
How can we share?
• A social networking service (SNS) is an online
  service that focuses on building and reflecting
  of social relations among people, e.g., who
  share interests and/or activities
• Basic services
  – Profile
  – Friend list
  – Wall, status, photo, blog….
Example of Social Networks
1. Social Networking :                         15. Social knowledge : Wiki
Facebook, Zing.Me, Go.vn, G+, Bang.vn, Ba      16. Social job : Linkedin, calavat, TVN
nbe.net …                                      17. Social shop : Vatgia, chodientu.vn
2. Social News : Linkhay, Newsvine, Digg,      18. Social reviews: Aha, Vatgia , agoda
3. Social Measuring : Technorati, BlogPulse    19. Social lens : Squidoo
4. Microblogging : Twitter                     20. Social study : Violet.vn, Tienganh123…
5. Blogs : Opera, Yahoo+, Blogspot, WP         21. Coupons network : Grouponvietnam.com
6. Social Bookmarking : Diggo, Delicious       22. Social map :
7. Social Q&A : Google, Yahoo                  Wikimap, GGmap, diadiem, bando, thodia.vn
answer, Vatgia                                 23. Social chat : Yahoo
8. Video Sharing : Youtube, Viadeo,Clip.vn     chatgroup, Bebo, Paltalk, Yola.vn , Zingchat
9. Photo Sharing : Picasa, Flickr, tamtay.vn   24. Social Game : Zing, VTC, Ongame…
10. Social Search : Google vertical search     25. Social music : Yeucahat.com…
11. Professional Networks :                    26. Social bid : Chodientu.vn, daugianguoc
Calavat, Hoclamgiau                            27. Social health: Bacsi.com, khamchuabenh
12. Community Groups                           28. Social application/widget : Apple store
(Forum):Tinhte.vn, webtretho.com, phuot.vn
…
13. Blogging Communities
14. Document shares :
Slideshare.net, tailieu.vn
 GitHub - Social Coding (for developers)
Users after launch




Members – March 2012




Referral Traffic January 2012
How to build a social network
             (references)
• Programming Social Applications - Jonathan Le
  Blanc
• OpenSocial Network Programming - Lynne Grewe
• ASP.NET 4 Social Networking - Atul
  Gupta, Sudhanshu Hate, Andrew Siemer
• PHP 5 Social Networking - Michael Peacock
• Drupal 7 Social Networking - Michael Peacock
• Web Mining and Social Networking - Guandong
  Xu, Yanchun Zhang, Lin Li
• …
How to create application for
     Social Network?
What can applications do?

• Encourage communication & collaboration
between members
• Allow members to be more expressive in how
they present their professional identities
• Provide novel functionality that leverages a
member's social network in a moment of need
Vocabulary
• They are not widgets?
• Or gidgets…
• They are gadgets!
Gadget
• Gadget is really just a mask for something
  greater....
• Gadget is just one face of an application
Meet the actors
• Viewer
  – Always the member currently viewing the gadget.
• Owner
  – The member who owns the profile being looked
    at. Sometimes also the owner of a canvas page.
Meet the container
• A container is a social network that provides
  an environment for Javascript and REST
  calls, "view" for gadgets to surface on, and
  underlying Social Data.
Meet the view
• Home Page:
   – Primary point of entry for members
   – Owner & Viewer are always the same
   – Content should be focused on the Member's interaction with the
     application
• Profile Page
   – Owner is the person who owns the profile
   – Information displayed is seen by all who visit the profile
   – Content should be focused on what the member does with the
     application
• Canvas
   – Serves many purposes & contexts for an application
   – Owner & Viewer might not be the same. Owner is determined by how
     it was navigated to
   – Content can be anything related to the application
SocialSite Architecture
OpenSocial Architecture
Home Server/ Back-end   Container          Client/Front-end




       Apps               Social Network      Gadgets
Container
• Display (Core Gadget Container):
  – Widgets in a portal: news, weather
    forecast, music, video...
• Social Graph connection (Social Gadget
  Container):
  – Gadgets with social data: friends
    list, groups, activities...
Anatomy of an Open Application
Fundamental of SNS
•   Web API
•   Protocol: HTTP, SOAP, REST
•   Data Format: JSON, ATOM, XML
•   Security: OpenID, OAuth
Web API




Google (96): Google Buzz API, Google Plus API
Facebook (8): Facebook API, Graph API, Social Plugin, Realtime
Twitter (3): Twitter API, Twitter Streamming API
….
Web Services
• are the key point of Integration for different applications belonging
  to different
    – Platforms
    – Languages
    – Systems
• Protocols
    – SOAP (Simple Object Access Protocol). SOAP revolutionized RPC and
      loose coupling beyond the restrictions posed by earlier protocols
    – HTTP based APIs refer to APIs that are exposed as one or more HTTP
      URIs and typical responses are in XML / JSON. Response schemas are
      custom per object
    – REST on the other hand adds an element of using standrdized URIs,
      and also giving importance to the HTTP verb used (ie GET / POST / PUT
      etc)
SOAP vs REST
• The main advantages of REST web services
  are:
  – Lightweight – not a lot of extra xml markup
  – Human Readable Results
  – Easy to build – no toolkits required
• SOAP also has some advantages:
  – Easy to consume – sometimes
  – Rigid – type checking, adheres to a contract
  – Development tools
RESTful web service (RESTful web API)
A simple web service implemented using HTTP and
the principles of REST. It is a collection of resources,
with four defined aspects:
• URI http://example.com/resources/
• Media type of the data supported is often JSON,
  XML , YAML or a valid Internet media type.
• HTTP methods (e.g., GET, PUT, POST, or DELETE).
• The API must be hypertext driven
REST



HTTP     SQL      CRUD
POST     INSERT   Create
GET      SELECT   Read
PUT      UPDATE   Update
DELETE   DELETE   Delete
REST API or Graph API
• Rest API
• Graph API
Graph API
• https://graph.facebook.com/ID
• https://graph.facebook.com/ID/CONNECTION
  _TYPE
• https://graph.facebook.com/220439?access_t
  oken=...
Social Graph API
OpenID vs OAuth
• OpenID is about           • OAuth is about
  authentication to many      authorization –
  sites with one              application or site A has
  username.                   permission to call site
                              B's ap
• Using login credentials   • Allowing an application
  from an OpenID              (TwitPic) to act on your
  provider (Google) to        behalf to and access
  login to another            information from an
  application (Stack          application that you use
  Overflow)                   (Twitter)
Authentication
                                      /authorize?client_id
                                         &redirect_uri



                                                               login
                             1
                                                                        OK
User

                                                             permission


                            App                                        Allow



             access_token
                                  2        /redirect_uri?code=




       API
                        /access_token?code&client_id
                                &client_secret
JSON: The Fat-Free Alternative to XML
•    JSON object
          {
                          "name": "Jack ("Bee") Nimble",
                          "format": {
                                       "type": "rect",
                                       "width": 1920,
                                       "height": 1080,
                                       "interlace": false,
                                       "frame rate": 24
                          }
          }
•    JSON arrays
          ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
          [ [0, -1, 0],
           [1, 0, 0],
           [0, 0, 1] ]
RSS 2.0 vs Atom 1.0
<?xml version="1.0" encoding="utf-8"?>                           <?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">                                              <feed xmlns="http://www.w3.org/2005/Atom">
     <channel>

        <title>Example Feed</title>                                  <title>Example Feed</title>
        <description>Insert witty or insightful remark               <subtitle>Insert witty or insightful remark here</subtitle>
here</description>                                                   <link href="http://example.org/"/>
        <link>http://example.org/</link>                             <updated>2003-12-13T18:30:02Z</updated>
        <lastBuildDate>Sat, 13 Dec 2003 18:30:02                     <author>
GMT</lastBuildDate>                                                       <name>John Doe</name>
        <managingEditor>johndoe@example.com (John                         <email>johndoe@example.com</email>
Doe)</managingEditor>
                                                                     </author>
                                                                     <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>
        <item>
             <title>Atom-Powered Robots Run Amok</title>             <entry>
             <link>http://example.org/2003/12/13/atom03</link>           <title>Atom-Powered Robots Run Amok</title>
             <guid isPermaLink="false">urn:uuid:1225c695-cfb8-           <link href="http://example.org/2003/12/13/atom03"/>
4ebb-aaaa-80da344efa6a</guid>                                            <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-
             <pubDate>Sat, 13 Dec 2003 18:30:02                  80da344efa6a</id>
GMT</pubDate>                                                            <updated>2003-12-13T18:30:02Z</updated>
             <description>Some text.</description>                       <summary>Some text.</summary>
        </item>                                                      </entry>

    </channel>                                                   </feed>
</rss>
Requirements
Provider                    Developer
• Social Network Platform   • Programming Languages
   – Web API                   – Javascript, PHP, Java, C#,…
• Authentication            • Application
   – OAuth                     – APP_ID
   – OpenID                    – APP_SECRET
• SDKs                      • Tools
• Canvas                    • Coding & pulishing
• Plugin                    • Integrating & embeding
I'm a developer - how do I get
                  involved?
Authenticate with OAuth                                Use the API

                                                        •   REST protocol
                                                        •   RPC protocol
Method Summary                                          •   Javascript API
•   String getDisplayName()                             •   Graph API
•   String getField(key, opt_params)
•   String getId()
•   Boolean isOwner()
•   Boolean isViewer()                 Get Information!
•   ….
                                       Including:
                                       ABOUT_ME, ADDRESSES, CARS, FASHION
                                       and many more
I'm a server
Be a Container

 •   - Adding and removing friends
 •   - Adding and removing apps
 •   - Storing activities
 •   - Retrieving activity streams for self and friends
 •   - Storing and retrieving per-app and per-app-per-user
     data

SO
 • Put your socialness out there for others to use
 • Shingdig (apache)
Facebook
•   REST, JSON  Open Graph protocol
•   OAuth 2.0
•   Social Plugins
•   SDK: iOS, Android, PHP, JavaScript, ...
OpenSocial?
• Open, standard, application model that
enables Social Web Applications
• Writing applications specifically for a single API
• “Write once, run everywhere”
OpenSocial?
• Standard Internet technologies
  (HTML, CSS, JS)
• Simple, XML definition
• Ajax
• Standard based authorization model
• Add social context to requests
Facebook vs OpenSocial
Facebook                     OpenSocial
• FBML                       • XHTML / XML
• FQL                        • JavaScript
• FBJS
• Partial support for ajax   • Full support for ajax
The web is better when it's social




  OpenSocial enables apps,containers, and other clients to
  collaborate and move the social web forward.
A typical gadget based portal
Demo
• https://apps.facebook.com/nhip_sinh_hoc/
Thank you!
Your feedback is a gift!




                              HPA Forum: @TrungDD
                              Facebook: @doduytrung
                              Twitter: @doduytrung
                              Linkedin: @doduytrung
                              Pinterest: @doduytrung
                              Google+: @doduytrung
References
• Developer's Guide to Social Programming - Mark D. Hawker
• Programming Social Applications - Johnathan LeBlanc
• wikipedia.org
• http://vincos.it/world-map-of-social-networks/
• http://vinalink.vn/
• http://developer.yahoo.com
• https://developers.facebook.com/
• http://opensocial.org
• http://www.slideshare.net/rsandhu1/open-social-
  frameworks
• http://www.mediabistro.com/alltwitter/pinterest-social-
  comparison_b19477

Mais conteúdo relacionado

Destaque

Why do you need PKI Box?
Why do you need PKI Box?Why do you need PKI Box?
Why do you need PKI Box?Đỗ Duy Trung
 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Đỗ Duy Trung
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Destaque (6)

Why do you need PKI Box?
Why do you need PKI Box?Why do you need PKI Box?
Why do you need PKI Box?
 
Bpm & activiti
Bpm & activitiBpm & activiti
Bpm & activiti
 
Sơ Đồ MindMap Đánh Vần Tiếng Anh
Sơ Đồ MindMap Đánh Vần Tiếng Anh Sơ Đồ MindMap Đánh Vần Tiếng Anh
Sơ Đồ MindMap Đánh Vần Tiếng Anh
 
Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?Single sign on (SSO) How does your company apply?
Single sign on (SSO) How does your company apply?
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Semelhante a Buiding application for social networks

Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Werner Keil
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksWerner Keil
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712weitzelm
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platformPham Thinh
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentHoat Le
 
Breaking Down Walls in Enterprise with Social Semantics
Breaking Down Walls in Enterprise with Social SemanticsBreaking Down Walls in Enterprise with Social Semantics
Breaking Down Walls in Enterprise with Social SemanticsJohn Breslin
 
Web2.0 Ppt
Web2.0  PptWeb2.0  Ppt
Web2.0 PptPark.C.H
 
Enterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaEnterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaWerner Keil
 
The Social Semantic Web
The Social Semantic WebThe Social Semantic Web
The Social Semantic WebJohn Breslin
 
Skb web2.0
Skb web2.0Skb web2.0
Skb web2.0animove
 
VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2Davide Ceolin
 
Building Social Business Applications with OpenSocial
Building Social Business Applications with OpenSocialBuilding Social Business Applications with OpenSocial
Building Social Business Applications with OpenSocialClint Oram
 
GDD Moscow - Open Social
GDD Moscow - Open SocialGDD Moscow - Open Social
GDD Moscow - Open SocialChris Chabot
 
Web 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and ImplicationsWeb 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and ImplicationsTomáš Pitner
 
Social shopping with semantic power
Social shopping with semantic powerSocial shopping with semantic power
Social shopping with semantic powerJesse Wang
 
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Werner Keil
 

Semelhante a Buiding application for social networks (20)

Blackstock wo t 2011
Blackstock wo t 2011Blackstock wo t 2011
Blackstock wo t 2011
 
Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source Frameworks
 
Open social & cmis oasistc-20100712
Open social & cmis   oasistc-20100712Open social & cmis   oasistc-20100712
Open social & cmis oasistc-20100712
 
OpenSocial and Mixi platform
OpenSocial and Mixi platformOpenSocial and Mixi platform
OpenSocial and Mixi platform
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
 
Breaking Down Walls in Enterprise with Social Semantics
Breaking Down Walls in Enterprise with Social SemanticsBreaking Down Walls in Enterprise with Social Semantics
Breaking Down Walls in Enterprise with Social Semantics
 
Web2.0 Ppt
Web2.0  PptWeb2.0  Ppt
Web2.0 Ppt
 
Web 2.0 2011_2012
Web 2.0 2011_2012Web 2.0 2011_2012
Web 2.0 2011_2012
 
Enterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like AgoravaEnterprise 2.0 with Open Source Frameworks like Agorava
Enterprise 2.0 with Open Source Frameworks like Agorava
 
The Social Semantic Web
The Social Semantic WebThe Social Semantic Web
The Social Semantic Web
 
Skb web2.0
Skb web2.0Skb web2.0
Skb web2.0
 
VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2VU University Amsterdam - The Social Web 2016 - Lecture 2
VU University Amsterdam - The Social Web 2016 - Lecture 2
 
Building Social Business Applications with OpenSocial
Building Social Business Applications with OpenSocialBuilding Social Business Applications with OpenSocial
Building Social Business Applications with OpenSocial
 
SWXG 2010.6.9 v2
SWXG 2010.6.9 v2SWXG 2010.6.9 v2
SWXG 2010.6.9 v2
 
GDD Moscow - Open Social
GDD Moscow - Open SocialGDD Moscow - Open Social
GDD Moscow - Open Social
 
Web 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and ImplicationsWeb 2.0 Core Concepts, Applications, and Implications
Web 2.0 Core Concepts, Applications, and Implications
 
Yahoo Open Platform Stack
Yahoo Open Platform StackYahoo Open Platform Stack
Yahoo Open Platform Stack
 
Social shopping with semantic power
Social shopping with semantic powerSocial shopping with semantic power
Social shopping with semantic power
 
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
Enterprise 2.0 using Social Frameworks like Agorava (SMWHH 2014)
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Buiding application for social networks

  • 1. BUIDING APPLICATION for SOCIAL NETWORKS Đỗ Duy Trung Hai Phong Aptech
  • 2. Agenda • Overview • How to create application for Social Network? • Social Network Architecture • Fundamentals & requirements for building application • Demo • Q&A
  • 3. What is Social Network? • A social structure made up of actors: – Individuals – Organizations • The dyadic ties between these actors: – Relationships – Connections – Interactions Or in plain English: Social networks are essentially about who know who, and who know what.
  • 4. Advantages of Social Networking? • Work connections • Keeping in touch • Get feedback • Share multiple points of view • Talking to other persons • Stay in touch anywhere
  • 5. How do you typically train your team to use an authoring tools?
  • 6. What is Social computing? • Social behavior: – blogs, email, instant messaging, social network services, wikis, social bookmarking • Computation: – collaborative filtering, online auctions, prediction markets, reputation systems, computational social choice, tagging, and verification games
  • 7. How can we share? • A social networking service (SNS) is an online service that focuses on building and reflecting of social relations among people, e.g., who share interests and/or activities • Basic services – Profile – Friend list – Wall, status, photo, blog….
  • 8. Example of Social Networks 1. Social Networking : 15. Social knowledge : Wiki Facebook, Zing.Me, Go.vn, G+, Bang.vn, Ba 16. Social job : Linkedin, calavat, TVN nbe.net … 17. Social shop : Vatgia, chodientu.vn 2. Social News : Linkhay, Newsvine, Digg, 18. Social reviews: Aha, Vatgia , agoda 3. Social Measuring : Technorati, BlogPulse 19. Social lens : Squidoo 4. Microblogging : Twitter 20. Social study : Violet.vn, Tienganh123… 5. Blogs : Opera, Yahoo+, Blogspot, WP 21. Coupons network : Grouponvietnam.com 6. Social Bookmarking : Diggo, Delicious 22. Social map : 7. Social Q&A : Google, Yahoo Wikimap, GGmap, diadiem, bando, thodia.vn answer, Vatgia 23. Social chat : Yahoo 8. Video Sharing : Youtube, Viadeo,Clip.vn chatgroup, Bebo, Paltalk, Yola.vn , Zingchat 9. Photo Sharing : Picasa, Flickr, tamtay.vn 24. Social Game : Zing, VTC, Ongame… 10. Social Search : Google vertical search 25. Social music : Yeucahat.com… 11. Professional Networks : 26. Social bid : Chodientu.vn, daugianguoc Calavat, Hoclamgiau 27. Social health: Bacsi.com, khamchuabenh 12. Community Groups 28. Social application/widget : Apple store (Forum):Tinhte.vn, webtretho.com, phuot.vn … 13. Blogging Communities 14. Document shares : Slideshare.net, tailieu.vn GitHub - Social Coding (for developers)
  • 9.
  • 10. Users after launch Members – March 2012 Referral Traffic January 2012
  • 11. How to build a social network (references) • Programming Social Applications - Jonathan Le Blanc • OpenSocial Network Programming - Lynne Grewe • ASP.NET 4 Social Networking - Atul Gupta, Sudhanshu Hate, Andrew Siemer • PHP 5 Social Networking - Michael Peacock • Drupal 7 Social Networking - Michael Peacock • Web Mining and Social Networking - Guandong Xu, Yanchun Zhang, Lin Li • …
  • 12.
  • 13. How to create application for Social Network?
  • 14. What can applications do? • Encourage communication & collaboration between members • Allow members to be more expressive in how they present their professional identities • Provide novel functionality that leverages a member's social network in a moment of need
  • 15. Vocabulary • They are not widgets? • Or gidgets… • They are gadgets!
  • 16. Gadget • Gadget is really just a mask for something greater.... • Gadget is just one face of an application
  • 17. Meet the actors • Viewer – Always the member currently viewing the gadget. • Owner – The member who owns the profile being looked at. Sometimes also the owner of a canvas page.
  • 18. Meet the container • A container is a social network that provides an environment for Javascript and REST calls, "view" for gadgets to surface on, and underlying Social Data.
  • 19. Meet the view • Home Page: – Primary point of entry for members – Owner & Viewer are always the same – Content should be focused on the Member's interaction with the application • Profile Page – Owner is the person who owns the profile – Information displayed is seen by all who visit the profile – Content should be focused on what the member does with the application • Canvas – Serves many purposes & contexts for an application – Owner & Viewer might not be the same. Owner is determined by how it was navigated to – Content can be anything related to the application
  • 21. OpenSocial Architecture Home Server/ Back-end Container Client/Front-end Apps Social Network Gadgets
  • 22. Container • Display (Core Gadget Container): – Widgets in a portal: news, weather forecast, music, video... • Social Graph connection (Social Gadget Container): – Gadgets with social data: friends list, groups, activities...
  • 23. Anatomy of an Open Application
  • 24. Fundamental of SNS • Web API • Protocol: HTTP, SOAP, REST • Data Format: JSON, ATOM, XML • Security: OpenID, OAuth
  • 25. Web API Google (96): Google Buzz API, Google Plus API Facebook (8): Facebook API, Graph API, Social Plugin, Realtime Twitter (3): Twitter API, Twitter Streamming API ….
  • 26. Web Services • are the key point of Integration for different applications belonging to different – Platforms – Languages – Systems • Protocols – SOAP (Simple Object Access Protocol). SOAP revolutionized RPC and loose coupling beyond the restrictions posed by earlier protocols – HTTP based APIs refer to APIs that are exposed as one or more HTTP URIs and typical responses are in XML / JSON. Response schemas are custom per object – REST on the other hand adds an element of using standrdized URIs, and also giving importance to the HTTP verb used (ie GET / POST / PUT etc)
  • 27.
  • 28. SOAP vs REST • The main advantages of REST web services are: – Lightweight – not a lot of extra xml markup – Human Readable Results – Easy to build – no toolkits required • SOAP also has some advantages: – Easy to consume – sometimes – Rigid – type checking, adheres to a contract – Development tools
  • 29. RESTful web service (RESTful web API) A simple web service implemented using HTTP and the principles of REST. It is a collection of resources, with four defined aspects: • URI http://example.com/resources/ • Media type of the data supported is often JSON, XML , YAML or a valid Internet media type. • HTTP methods (e.g., GET, PUT, POST, or DELETE). • The API must be hypertext driven
  • 30. REST HTTP SQL CRUD POST INSERT Create GET SELECT Read PUT UPDATE Update DELETE DELETE Delete
  • 31. REST API or Graph API • Rest API • Graph API
  • 32. Graph API • https://graph.facebook.com/ID • https://graph.facebook.com/ID/CONNECTION _TYPE • https://graph.facebook.com/220439?access_t oken=...
  • 34. OpenID vs OAuth • OpenID is about • OAuth is about authentication to many authorization – sites with one application or site A has username. permission to call site B's ap • Using login credentials • Allowing an application from an OpenID (TwitPic) to act on your provider (Google) to behalf to and access login to another information from an application (Stack application that you use Overflow) (Twitter)
  • 35. Authentication /authorize?client_id &redirect_uri login 1 OK User permission App Allow access_token 2 /redirect_uri?code= API /access_token?code&client_id &client_secret
  • 36.
  • 37. JSON: The Fat-Free Alternative to XML • JSON object { "name": "Jack ("Bee") Nimble", "format": { "type": "rect", "width": 1920, "height": 1080, "interlace": false, "frame rate": 24 } } • JSON arrays ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] [ [0, -1, 0], [1, 0, 0], [0, 0, 1] ]
  • 38. RSS 2.0 vs Atom 1.0 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <feed xmlns="http://www.w3.org/2005/Atom"> <channel> <title>Example Feed</title> <title>Example Feed</title> <description>Insert witty or insightful remark <subtitle>Insert witty or insightful remark here</subtitle> here</description> <link href="http://example.org/"/> <link>http://example.org/</link> <updated>2003-12-13T18:30:02Z</updated> <lastBuildDate>Sat, 13 Dec 2003 18:30:02 <author> GMT</lastBuildDate> <name>John Doe</name> <managingEditor>johndoe@example.com (John <email>johndoe@example.com</email> Doe)</managingEditor> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <item> <title>Atom-Powered Robots Run Amok</title> <entry> <link>http://example.org/2003/12/13/atom03</link> <title>Atom-Powered Robots Run Amok</title> <guid isPermaLink="false">urn:uuid:1225c695-cfb8- <link href="http://example.org/2003/12/13/atom03"/> 4ebb-aaaa-80da344efa6a</guid> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa- <pubDate>Sat, 13 Dec 2003 18:30:02 80da344efa6a</id> GMT</pubDate> <updated>2003-12-13T18:30:02Z</updated> <description>Some text.</description> <summary>Some text.</summary> </item> </entry> </channel> </feed> </rss>
  • 39. Requirements Provider Developer • Social Network Platform • Programming Languages – Web API – Javascript, PHP, Java, C#,… • Authentication • Application – OAuth – APP_ID – OpenID – APP_SECRET • SDKs • Tools • Canvas • Coding & pulishing • Plugin • Integrating & embeding
  • 40. I'm a developer - how do I get involved? Authenticate with OAuth Use the API • REST protocol • RPC protocol Method Summary • Javascript API • String getDisplayName() • Graph API • String getField(key, opt_params) • String getId() • Boolean isOwner() • Boolean isViewer() Get Information! • …. Including: ABOUT_ME, ADDRESSES, CARS, FASHION and many more
  • 41. I'm a server Be a Container • - Adding and removing friends • - Adding and removing apps • - Storing activities • - Retrieving activity streams for self and friends • - Storing and retrieving per-app and per-app-per-user data SO • Put your socialness out there for others to use • Shingdig (apache)
  • 42. Facebook • REST, JSON  Open Graph protocol • OAuth 2.0 • Social Plugins • SDK: iOS, Android, PHP, JavaScript, ...
  • 43. OpenSocial? • Open, standard, application model that enables Social Web Applications • Writing applications specifically for a single API • “Write once, run everywhere”
  • 44.
  • 45.
  • 46. OpenSocial? • Standard Internet technologies (HTML, CSS, JS) • Simple, XML definition • Ajax • Standard based authorization model • Add social context to requests
  • 47. Facebook vs OpenSocial Facebook OpenSocial • FBML • XHTML / XML • FQL • JavaScript • FBJS • Partial support for ajax • Full support for ajax
  • 48.
  • 49. The web is better when it's social OpenSocial enables apps,containers, and other clients to collaborate and move the social web forward.
  • 50. A typical gadget based portal
  • 52. Thank you! Your feedback is a gift! HPA Forum: @TrungDD Facebook: @doduytrung Twitter: @doduytrung Linkedin: @doduytrung Pinterest: @doduytrung Google+: @doduytrung
  • 53. References • Developer's Guide to Social Programming - Mark D. Hawker • Programming Social Applications - Johnathan LeBlanc • wikipedia.org • http://vincos.it/world-map-of-social-networks/ • http://vinalink.vn/ • http://developer.yahoo.com • https://developers.facebook.com/ • http://opensocial.org • http://www.slideshare.net/rsandhu1/open-social- frameworks • http://www.mediabistro.com/alltwitter/pinterest-social- comparison_b19477