SlideShare a Scribd company logo
OpenSocial Application Development 4 th  year HUT student Hanoi-Aptech student Work for eXo Platform SEA Tech events: OpenSocial Hackathon, PHP Day, BarCamp Hanoi, Tweetup, Meetup, H4, etc., Tags:  - OpenSocial - Web Standard - Fun URLs: http://hoatle.net http://twitter.com/hoatle
Agenda OpenSocial Introduction How to build OpenSocial Applications Upcoming features Challenges
OpenSocial Introduction “ The web is better when it's social.” So what does “social” mean?
What does “social” mean? Eliette, what do you do with your friends?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean? “ Talking”
What does “social” mean?
What does “social” mean?
What does “social” mean?
What does “social” mean?
Social Networks 3 features of a social network: Discover  and  Share  (Search) Create  and  Share  (Content) Discuss  and  Share  (Communicate) Social networks include: Profiles: Who you are Friends: Your relationships Activities
A Social Network
Social Networks Manage large number of users and relationships Is slow to add new features
Social Networks
Social Networks A social application: Lets the social network manage users and relationships Adds new features to the social network Let users “install” the application without signing up for new accounts Grows quickly because users are already communicating to each other
Social Networks
Need for a social API How do we put applications in social networks???
Need for a social API
Need for a social API
Need for a social API
Need for a social API
Need for a social API
Need for a social API
Introduction to OpenSocial 19+ implemented containers 40+ committed containers 3000+ applications 400,000,00+ users (From Google Devfest Bangkok - 10/2008)
 
Where is OpenSocial live today? Live to users hi5 LinkedIn MySpace orkut Netlog Yahoo! Friendster Ning Google Friend Connect Live to developers IGoogle Gmail imeem Yoja CityIN .... Full list: http://wiki.opensocial.org/index.php?title=Containers
OpenSocial APIs Versions 0.6 – Client-side APIs introduced 0.7 – Server-side APIs introduced 0.8.1 – Server-side APIs finalized 0.9 – current development Client-side: Gadgets XML Gadgets JavaScript OpenSocial JavaScript Server-side: RESTful protocol, RPC protocol
How to build OpenSocial app OpenSocial app    = Gadgets + Gadgets JavaScript + OpenSocial JavaScript
Gadgets XML file Meta data definition Highly cacheable + no high performance server requirement HTML for markup, structure CSS for presentation JavaScript for interactivity, behavior
Gadgets Views? - Gadgets can be rendered in different locations on a container - Certain page might be pubic, some are private - View provide a way for gadgets to provide different functionality depends on where it is rendered
Gadgets
Gadgets
Gadgets JavaScript gadgets.io.makeRequest() - cross-domain ajax call gadgets.json.parse() and gadget.json.stringify() gadgets.util.escapeString() gadgets.util.registerOnloadHandler() ...
OpenSocial JavaScript It's people: - VIEWER, OWNER? - Persistent data
OpenSocial JavaScript
OpenSocial JavaScript
OpenSocial JavaScript Persistent data: Give apps key, value storage directly on the container String only, JSON conversion for complex data Storage per app per user – scales well Ideal for settings, customizations
Upcoming features Caja: Reduces threats with a JavaScript sanitizer as an additional “sandbox” on top of Iframe protection Prevent gadgets from being used for phising, spam, malware, etc.,
Upcoming features Templating: Developers need a simple way to convert OpenSocial data to HTML DOM manipulation is slow and ugly
Templating <script type=&quot;text/os-template&quot;> ${Viewer.displayName}'s friends:<br/> <div repeat=&quot;ViewerFriends&quot;> <img src=&quot;${Cur.thumbnailUrl}&quot; width=&quot;32&quot; height=&quot;32&quot;/> <a href=&quot;${Cur.profileUrl}&quot; target=&quot;_new&quot;>${Cur.displayName}</a> </div> </script> See more: http://ostemplates-demo.appspot.com/
Challenges
Challenges Cross-container development is still tricky - Containers may not follow the standard. - Containers may follow the standard but have different policies. - Follow best practices:  http://wiki.opensocial.org/index.php?title=Cross-container_Development
Challenges Scaling is hard: Easy to start and get some users.
Challenges Scaling is hard: Being popular in one social network can push your server to the limit...
Challenges Scaling is hard: ... being popular in many networks will push you right over.
Thank you :)! Discussion

More Related Content

PDF
Open Social Presentation - GSP West 2008
PPT
Open Social
PPT
kaChing's API garage event
PPT
Opensocial Haifa Seminar - 2008.04.08
PDF
Pre int unit 1a
PPSX
PPT
Continuous integration php
PDF
Scrum in Action
Open Social Presentation - GSP West 2008
Open Social
kaChing's API garage event
Opensocial Haifa Seminar - 2008.04.08
Pre int unit 1a
Continuous integration php
Scrum in Action

Similar to Barcamphanoi Opensocial Application Development (20)

PDF
Goodle Developer Days London 2008 - Open Social Update
PDF
Goodle Developer Days Munich 2008 - Open Social Update
PDF
GSP East 2008: Open Social: Open For Business
PPT
Ajaxworld Opensocial Presentation
PDF
Goodle Developer Days Madrid 2008 - Open Social Update
PPT
RockYou at Girls in Tech Developer Forum
PDF
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
PPT
BarCamp KL H20 Open Social Hackathon
PDF
Introduction to (web) APIs - definitions, examples, concepts and trends
ODP
Confessions of-a-gadget-holic
ODP
OpenSocial
PDF
Technology for Teachers
PPT
OpenSocial Intro
PDF
South America 2008: Open Social For Brand Advertising and Media
PPTX
Social mediaprogramming part2-java-jax-london
PPT
Building AJAX Applications Using Yahoo! Web Services
PPT
Open social
PPT
Getting Social with OpenSocial
PPT
Social Media Marketing Open Social App Standards
PPT
Hi5 Open Social
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
GSP East 2008: Open Social: Open For Business
Ajaxworld Opensocial Presentation
Goodle Developer Days Madrid 2008 - Open Social Update
RockYou at Girls in Tech Developer Forum
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
BarCamp KL H20 Open Social Hackathon
Introduction to (web) APIs - definitions, examples, concepts and trends
Confessions of-a-gadget-holic
OpenSocial
Technology for Teachers
OpenSocial Intro
South America 2008: Open Social For Brand Advertising and Media
Social mediaprogramming part2-java-jax-london
Building AJAX Applications Using Yahoo! Web Services
Open social
Getting Social with OpenSocial
Social Media Marketing Open Social App Standards
Hi5 Open Social
Ad

More from Hoat Le (13)

PPT
eXo SEA - JavaScript Introduction Training
ODP
Advanced JavaScript Techniques
PDF
eXo EC - LaTeX
ODP
eXo EC - Groovy Programming Language
PPT
San xuat sach hon
PPT
E-goverment
PPT
Dien Giai Moi Truong
PPT
E-Commerce
PPT
unit 15, nuclear energy
PPT
Linux Os
PPT
Vndg
PPT
Unit 1 Types Of Computers
PPT
Unit 0 Introduction To Computer
eXo SEA - JavaScript Introduction Training
Advanced JavaScript Techniques
eXo EC - LaTeX
eXo EC - Groovy Programming Language
San xuat sach hon
E-goverment
Dien Giai Moi Truong
E-Commerce
unit 15, nuclear energy
Linux Os
Vndg
Unit 1 Types Of Computers
Unit 0 Introduction To Computer
Ad

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
Teaching material agriculture food technology
PDF
KodekX | Application Modernization Development
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Understanding_Digital_Forensics_Presentation.pptx
Teaching material agriculture food technology
KodekX | Application Modernization Development
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Diabetes mellitus diagnosis method based random forest with bat algorithm
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine learning based COVID-19 study performance prediction
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf

Barcamphanoi Opensocial Application Development