SlideShare uma empresa Scribd logo
1 de 26
Version 0.0.7
             2008-2-10
      http://opsn.net/

           Robert Mao
(robmao@microsoft.com)
Social network portability:
http://microformats.org/wiki/social-
network-portability
Social network portability is all about
breaking the garden wall!
What is OPSN?
Demo, show me something real!
OPSN explained
Discussions
OPSN stands for “Open Portable Social Network”
   Open
   Portable
   Decentralized
Does NOT re-invent the wheel
Turn your blog (or any site) into a decentralized
social network with very little effort!
What OPSN is NOT:
   It is NOT related to user authentication
   It is NOT a social aggregator or other social
   application
Linkedin
                        Flickr




Facebook
                                 …
              twitter


                             …
Service B
Service A                       …
                                    …




                               
                           
                   
We demoed an OPSN server which:
   Can host multiple users
   Allows for easy blog integration (via JavaScript)
   Uses OpenID authentication
Built on the latest C# 3.0, ASP.NET MVC
   OPSN can be implemented with any other language &
   technology
Basic social network / contact
management
     Add contacts
     Edit contacts
     Delete contacts
     List contacts
Import from other social network
     Support import hCard from any
     social network
     Flexible pluggable architecture
     to allow implement import
     from none-microformats social
     networks in the future
OPSN Service endpoint
     APIs
     Delegate support
     Automatic synchronize
Blog widgets
     My widgets
     Friends list
OPSN Endpoint
                                           My
   An URI which contains the             profile
   implementation of OPSN
   APIs
   An URI which contains the
   delegate link to a OPSN               OPSN
   endpoint
Contact in OPSN                   APIs
                                                     My
                                                   contacts

   OPSN contact is a single-
   direction link to the
   contact
   When a new contact is
   added, OPSN service check
   if this contact is an OPSN
   endpoint, if so, a
   notification will be sent to
   that endpoint
Does every user need to “install”              OPSN
their own OPSN?                                 URI
    No
Inspired by the design of OpenID,
OPSN support delegation:
    You can delegate your OPSN
    service point to another OPSN
    service, it could be an OPSN                  My
    server which is designed to host            profile

    many users
    Delegation is simple: just add a
    few lines in your html page                OPSN
<link rel=“OPSN:delegate”                                   My
                                        APIs
type=“application/xml+OPSN”                               contacts

href=http://some_opsn_server/someuser
title=“OPSN delegate”/>
Each user has his/her own                  My


OPSN data, there is no single
                                         profile




shared information between               OPSN
different users                 APIs
                                                       My
                                                     contacts


OPSN maintains user’s                                                      My
                                                                         profile



information as a “master
copy” and publishes it to the                                            OPSN

others                                                            APIs
                                                                                     My
                                                                                   contacts




OPSN maintains all contact                   My


data as a local copy, even if              profile




this data is synchronized
                                         OPSN
from other locations                                     My
                                  APIs


OPSN’s contact data can also
                                                       contacts




be published
User authentication
  OpenID
  LiveID
Data authentication
  oAuth
Data
  RSS, Atom, …
  APML, OPML, …
Social applications
  Social aggregators
  …
Since contact data is a “local copy”, it can be out
of sync
Out of sync data doesn’t really matter too much,
think about real life, your contact data could be
out of sync too
OPSN comes to the rescue:
   OPSN service supports “auto sync” by subscribing to
   another OPSN endpoint
   An endpoint can have access control for the
   subscribing to its changes (The policy can be changed
   at any time)
OPSN adopt oAuth (http://oAuth.net) to
authorize what part of the data allow to be
accessed
You can control the privacy of your own
data, but you can NOT control others, you
can not stop some irresponsible people
publishing your data once you give your
data to them
In the real life, it’s exactly the same.
The way OPSN organizes data is very
similar to real life
  Users own all of their contact data (e.g. in
  an address book, name card holders)
  All contact data is a piece of local data, the
  local data could be out of synch
  Users have full control of their contact data
  (delete it, save it, update it, put in different
  groups, even publish to others, etc)
http://opsn.net
Robert Mao (robmao@microsoft.com)
Robert’s site               Mary’s own site

Mary clicks “add me” and     Mary’s site contains OPSN
   input her OPSN URI          endpoint meta info



  Robert’s site redirects
browser to Mary’s own site

                             Robert’s public profile was
 Robert’s OPSN endpoint       grabbed and displayed,
 provide Robert’s public       Mary adds some of her
          hCard                notes and click “save”




 A notification from Mary
  was send to Robert, so
                             Robert was added as Mary’s
 Robert will know he has
                             contact and redirects back
   been added by Mary
                                  to Robert’s site


Mary continue her surf on
      Robert’s site


                                    Browser flow           Data flow
A new social network site        Mary’s own site

    Mary signs in the new       Mary’s site contain sOPSN
 service and enter her OPSN       endpoint meta info
  to import her social data


 The site discovered Mary's
     OPSN endpoint and
 prepared an oAuth request
  and redirects Mary to her     Mary signs on her own site
          own site


                                   Mary authorizes the
                                  request and select the
 The site requests the social   data she permit for import
  network data from Mary’s
 OPSN endpoint, and import
                                   Mary’s OPSN service
  it into it’s own database.
                                  provides data as Mary
                                        approved



   Mary continue use the
 service, all her friends has
        been added!
Restful simple API
  API Format:
    /API/version_number/method[.data_format]
    .XML (default)
    .JSON
  APIs:
    Me
    Friend
    Friends
    Notify

Mais conteúdo relacionado

Semelhante a Mao Blogtalk 2008

SPSUK Apps for Office
SPSUK Apps for OfficeSPSUK Apps for Office
SPSUK Apps for Office
Wes Hackett
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to find
Dan Diephouse
 
Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
Emanuela Boroș
 

Semelhante a Mao Blogtalk 2008 (20)

OPSN: Open Portable Social Network
OPSN: Open Portable Social NetworkOPSN: Open Portable Social Network
OPSN: Open Portable Social Network
 
WordCamp Wilmington 2017 WP-API Why?
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?
 
Web Service
Web ServiceWeb Service
Web Service
 
SPSUK Apps for Office
SPSUK Apps for OfficeSPSUK Apps for Office
SPSUK Apps for Office
 
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to find
 
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdfHow to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
How to develop an API with PHP, JSON, and POSTMAN in 9 Steps.pdf
 
Building Your First App with MongoDB
Building Your First App with MongoDBBuilding Your First App with MongoDB
Building Your First App with MongoDB
 
Top 7 Skills PHP Developer Must Have
Top 7 Skills PHP Developer Must HaveTop 7 Skills PHP Developer Must Have
Top 7 Skills PHP Developer Must Have
 
Understanding OpenID
Understanding OpenIDUnderstanding OpenID
Understanding OpenID
 
web programming
web programmingweb programming
web programming
 
Day01 api
Day01   apiDay01   api
Day01 api
 
Best practices and advantages of REST APIs
Best practices and advantages of REST APIsBest practices and advantages of REST APIs
Best practices and advantages of REST APIs
 
Frans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides AhmedabadFrans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides Ahmedabad
 
Introduction to API
Introduction to APIIntroduction to API
Introduction to API
 
Microservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with KafkaMicroservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with Kafka
 
How to create custom connector for Microsoft Flow
How to create custom connector for Microsoft FlowHow to create custom connector for Microsoft Flow
How to create custom connector for Microsoft Flow
 
Sup (Semantic User Profiling)
Sup (Semantic User Profiling)Sup (Semantic User Profiling)
Sup (Semantic User Profiling)
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
PeopleSoft: HACK THE Planet^W university
PeopleSoft: HACK THE  Planet^W universityPeopleSoft: HACK THE  Planet^W university
PeopleSoft: HACK THE Planet^W university
 

Último

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
giselly40
 
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
Earley Information Science
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines 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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Mao Blogtalk 2008

  • 1. Version 0.0.7 2008-2-10 http://opsn.net/ Robert Mao (robmao@microsoft.com)
  • 2.
  • 3.
  • 5. What is OPSN? Demo, show me something real! OPSN explained Discussions
  • 6. OPSN stands for “Open Portable Social Network” Open Portable Decentralized Does NOT re-invent the wheel Turn your blog (or any site) into a decentralized social network with very little effort! What OPSN is NOT: It is NOT related to user authentication It is NOT a social aggregator or other social application
  • 7. Linkedin Flickr Facebook … twitter …
  • 8.
  • 9. Service B Service A … …     
  • 10.
  • 11. We demoed an OPSN server which: Can host multiple users Allows for easy blog integration (via JavaScript) Uses OpenID authentication Built on the latest C# 3.0, ASP.NET MVC OPSN can be implemented with any other language & technology
  • 12. Basic social network / contact management Add contacts Edit contacts Delete contacts List contacts Import from other social network Support import hCard from any social network Flexible pluggable architecture to allow implement import from none-microformats social networks in the future OPSN Service endpoint APIs Delegate support Automatic synchronize Blog widgets My widgets Friends list
  • 13.
  • 14. OPSN Endpoint My An URI which contains the profile implementation of OPSN APIs An URI which contains the delegate link to a OPSN OPSN endpoint Contact in OPSN APIs My contacts OPSN contact is a single- direction link to the contact When a new contact is added, OPSN service check if this contact is an OPSN endpoint, if so, a notification will be sent to that endpoint
  • 15. Does every user need to “install” OPSN their own OPSN? URI No Inspired by the design of OpenID, OPSN support delegation: You can delegate your OPSN service point to another OPSN service, it could be an OPSN My server which is designed to host profile many users Delegation is simple: just add a few lines in your html page OPSN <link rel=“OPSN:delegate” My APIs type=“application/xml+OPSN” contacts href=http://some_opsn_server/someuser title=“OPSN delegate”/>
  • 16. Each user has his/her own My OPSN data, there is no single profile shared information between OPSN different users APIs My contacts OPSN maintains user’s My profile information as a “master copy” and publishes it to the OPSN others APIs My contacts OPSN maintains all contact My data as a local copy, even if profile this data is synchronized OPSN from other locations My APIs OPSN’s contact data can also contacts be published
  • 17. User authentication OpenID LiveID Data authentication oAuth Data RSS, Atom, … APML, OPML, … Social applications Social aggregators …
  • 18. Since contact data is a “local copy”, it can be out of sync Out of sync data doesn’t really matter too much, think about real life, your contact data could be out of sync too OPSN comes to the rescue: OPSN service supports “auto sync” by subscribing to another OPSN endpoint An endpoint can have access control for the subscribing to its changes (The policy can be changed at any time)
  • 19. OPSN adopt oAuth (http://oAuth.net) to authorize what part of the data allow to be accessed You can control the privacy of your own data, but you can NOT control others, you can not stop some irresponsible people publishing your data once you give your data to them In the real life, it’s exactly the same.
  • 20. The way OPSN organizes data is very similar to real life Users own all of their contact data (e.g. in an address book, name card holders) All contact data is a piece of local data, the local data could be out of synch Users have full control of their contact data (delete it, save it, update it, put in different groups, even publish to others, etc)
  • 21.
  • 23.
  • 24. Robert’s site Mary’s own site Mary clicks “add me” and Mary’s site contains OPSN input her OPSN URI endpoint meta info Robert’s site redirects browser to Mary’s own site Robert’s public profile was Robert’s OPSN endpoint grabbed and displayed, provide Robert’s public Mary adds some of her hCard notes and click “save” A notification from Mary was send to Robert, so Robert was added as Mary’s Robert will know he has contact and redirects back been added by Mary to Robert’s site Mary continue her surf on Robert’s site Browser flow Data flow
  • 25. A new social network site Mary’s own site Mary signs in the new Mary’s site contain sOPSN service and enter her OPSN endpoint meta info to import her social data The site discovered Mary's OPSN endpoint and prepared an oAuth request and redirects Mary to her Mary signs on her own site own site Mary authorizes the request and select the The site requests the social data she permit for import network data from Mary’s OPSN endpoint, and import Mary’s OPSN service it into it’s own database. provides data as Mary approved Mary continue use the service, all her friends has been added!
  • 26. Restful simple API API Format: /API/version_number/method[.data_format] .XML (default) .JSON APIs: Me Friend Friends Notify