Presentation delivered at E2Innovate conference on November 15, 2012 in Santa Clara, CA describing the OpenSocial standard for building collaborative, social context aware business applications.
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Building Social Business Applications with OpenSocial
1. Building Social
Business Applications
Clint Oram
Board Member, OpenSocial Foundation
CTO & Co-founder, SugarCRM
&
Mark Weitzel
President, OpenSocial Foundation
Director, Platform & Ecosystem, Jive Software
2. ABOUT ME
• Board Member, Open Social Foundation
• CTO & Co-Founder, SugarCRM Inc.
• @sugarclint
• linkedin/clintoram
• clint@sugarcrm.com
• slideshare.net/sugarclint
4. Objectives
• What is a social business application?
• Why are open standards important?
• Patterns of social business applications
• Social platforms & apps in the wild
6. A cloud based service
that leverages social context
as a fundamental underpinning
of its business logic.
7. Understanding Social Context
At a high level…
People
Friends
Activities
In an enterprise setting…
Profile ~ Base set of info, extended based on business context
Relationships ~ Org chart, group membership, content
Activity Streams ~ Flow of information about relationships
8. Why build a Social Business App?
Add a collaboration layer not part of your existing platform
Graphical editing
Co-worker Recognition
External system quick reference and lookups
Project Management
Integrate data silos: ERP, CRM, HRS, CMS
Turn “systems of record”
into “systems of engagement”
10. Why are open standards important?
• Competition: Facilitates the growth of an ecosystem
around a common programming model
• Cooperation: Enables community involvement and
organic growth
• Adoption: Drives interoperability and portability
• Choice: Formalizes the social platform and application
model
11. What is OpenSocial?
• Open standard for building cloud based social applications
• Platform APIs for providing social context to applications
• Shindig ~ reference implementation
OpenSocial has been adopted by top enterprise vendors like:
IBM, SugarCRM, Jive, SAP,
eXo, LifeRay,Tibco, SurfNet, Vivo
12. Defining a social business app ~ app.xml
• Information about the app
• What “features” i.e. additional JavaScript to include
• How the app will be rendered, i.e. the views
• What‟s necessary for a nice market
listing, screenshots, etc.
13. How OpenSocial Apps Work
It‟s as easy as A, B, C
A. Request is made to render
a page containing an app
B. Jive looks up the app
definition
C. Processes the definition
to render HTML
14. How OpenSoical Apps Work
… and D, E, F
D. App makes a request
E. Platform “proxies” the
request to home server
F. Home server process
request and returns
15. What about security?
• Use osapi.http.get() to…
avoid cross domain issues
provide the container control of outgoing requests
• Sub-domains in the browser when multiple apps on
the same page
Pub/sub model for secure messaging between apps
• Oauth
Two Legged
Three Legged
17. Patterns of Social Business
• Don‟t be a “One Click Wonder”
• Social context is king
• Dashboards are dead
• Social applications delivered through markets
18. Don‟t be a “One Click Wonder”
• An app that simply „iFrames‟ in an existing UI
• User wonders, “Why didn‟t I just click a link to the
app‟s web page?”
• Poor user experience that hits the wall
• This is the portal model, and portals are dead
No social context!!
19. Social Context is King!
Two Key Idioms
• Pass social information to be
used in business logic (Proxied
Content)
• Add social context to the app as
it‟s rendered (Data Pipelining)
20. Use social context to dynamically render an app‟s view
• Proxied Content
<Content href="http://myhomeserver.com/canvas"
xmlns:os="http://ns.opensocial.org/2008/markup">
<os:PeopleRequest
userId="@viewer"
groupId="@friends" fields="name “
key="ViewerFriends"/>
<os:HttpRequest href="http://www.someserver.com/someinfo" key="someInfo" />
</Content>
21. Use social context to dynamically render an app‟s view
• Pass social information and
remotely fetched data to app
(Data Pipelining)
22. Use social context to dynamically render an app‟s view
• Data Pipelining
<script type="text/os-data">
<os:ViewerRequest key="vwr" fields="name "/>
<os:DataRequest key="mydata" href="http://developer.com/api"/>
</script>
23. Dashboards are dead!
• Forces user navigation
• Generic, non-contextual interaction
Use the Activity Stream
to deliver context and interaction to the user!
27. OpenSocial Activity Streams Extension: DeliverTo
• Directed to a specific person
• Great for notifications about behavior
“Your employee just won a deal!”
28. Application Markets
• New paradigm for enterprise application delivery
• Purpose built apps vs. monolithic application suite
• On demand vs. pre-selected
• Market economics
30. OpenSocial: The Social Business Application Platform
• Only industry driven standard for building social
applications
• Community driven innovation
• Broadly adopted in the industry
• Multiple open source projects
www.opensocial.org
A copy of this presentation can be found on slideshare if you go to www.slideshare.net/sugarclint
Internet-based technology, the only tech that matters IMHO, is still relatively young. The Internet went public in 1989, just 8,700 days ago, and only went mainstream in 1999, just 5,000 days ago. Clearly a lot of room for growth and ingenuity ahead of us.
Talk through the origins of Jive Apps -- From OpenSocial
Broad adoption across growing number of enterprise vendors:IBM, Sugar, Jive, eXo, LifeRay, SAP, Tibco
Talk through the origins of Jive Apps -- From OpenSocial
Talk through the origins of Jive Apps -- From OpenSocial
Talk through the origins of Jive Apps -- From OpenSocial
Talk through the origins of Jive Apps -- From OpenSocial