Bldrux11 final

902 views

Published on

OpenSocial presentation for #BLDRUX11
Provides an overview of OpenSocial, an introduction to the programming model, and shows some sample applications.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
902
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Send me a notification and I’ll give you the shirt off my back. (Actually… one just like it.)
  • Who has heard of OpenSocial?Who has built an OpenSocial Application?Who is a member of the OpenSocial Founation?Who is a committer at Apache Shindig?Who has heard of Jive? I’m going to start today with a bit of background on OpenSocial because it will set the context for the real message of this presentation:Building SOCIAL applications is different than anything you’ve done beforeOpenSocial is the engine that is driving an open revolution of social applicationsTrue SaaS delivery
  • GadgetsProxy -- Requests go through a server
  • People. Friends. ActivitiesPortable Contacts
  • Some of the original motivation was to provide an open alternative to FacebookWould welcome Facebook’s participation in OpenSocialFacebook is responsible for a great deal of innovation.Portable contacts(Friends)Relationships Acitivities
  • There was explosive growth in 2008 & 2009In the CONSUMER spaceWhat are some of the things that made OpenSocial so successful?In short, complete, open programming model for Web Application development
  • 2010 – The rise of Social Business Fundamental shift in the industry:CLOUD Back end elasticity – Amazon, Engine Yard, Heroku Google App Engine Front end browserSaaSForces of change in the enterprisePortal vs. GadgetsLightweight programming technologies --- HTML/CSS/JavaScript vs. J2EE/.NetportletsSocial Business Platforms
  • Revisit the proxy:Since requests go through the serer, you now have the ability to add a social context to the request.<Module> <ModulePrefs title="Logistics App" description="Determine the best routes based on weather" thumbnail="http://examplelogistics.com/app/images/logisticsapp.jpg" icon="http://exampleLogistics.com/app/images/icon.png"> <Require feature="opensocial-1.0"/> <Require feature="osapi"/> <Require feature="settitle"/> <Require feature="dynamic-height"/> <Require reature="opensocial-data"/> </ModulePrefs> <Content view="home" href="home.html" /><Content type="html" view="home" href="http://examplelogistics.com/app/logisticsapp.jsp"> <os:DataRequest key="viewerData" method="people.get" userId="@viewer" fields="name,id,status,location"/> <os:HttpRequest key="weatherData" href="http://example.weather.com/api/severeweatheralrets.jsp"/></Content>....</Module>
  • SOCIAL APIs
  • We are not done yet. We still have a long way to go to improve interoperability, align with other enterprise standards, and increase the number of business based applications and market places.
  • The stream made zynga
  • Show stream exampleResolve person iri
  • We are not done yet. We still have a long way to go to improve interoperability, align with other enterprise standards, and increase the number of business based applications and market places.
  • IBM has committed, at the opensocial state of the union, to contribute it’s mobile framework to opensource.
  • 2007 ~ 2008  Getting started2009 ~ 2010  Massive Consumer Adoption2009 ~ 2010  Enterprise Adoption2010 ~ 2011  #openapprevolutionAnother fundamental shift in the industry
  • Snowclone
  • Balance of power between platform provider and developersOpenSocial is a tool to empower developers to influence and drive platform providers
  • What Facebook did for zynga, social platforms and app markets are doing for the enterprise
  • Note: This will have a strong enterprise bias.The apps that you are seeing here are examples from Jive only because that was the platform I had the easiest access to. iGoogle?
  • Note: This will have a strong enterprise bias.The apps that you are seeing here are examples from Jive only because that was the platform I had the easiest access to. iGoogle?
  • In facebook, you may have 20 or so people that you really care about. In your organization, it could be hundreds or thousandsFollowers / Following / Group activity / Executive blog posts / comments / Information from apps
  • In facebook, you may have 20 or so people that you really care about. In your organization, it could be hundreds or thousandsFollowers / Following / Group activity / Executive blog posts / comments / Information from apps
  • In facebook, you may have 20 or so people that you really care about. In your organization, it could be hundreds or thousandsFollowers / Following / Group activity / Executive blog posts / comments / Information from apps
  • Revisit the proxy:Since requests go through the serer, you now have the ability to add a social context to the request.
  • We are not done yet. We still have a long way to go to improve interoperability, align with other enterprise standards, and increase the number of business based applications and market places.Get Involved: BE A REVOLUTIONARY
  • Bldrux11 final

    1. 1. BLDRUX11<br />12-May-2011<br />#openapprevolution<br />1<br />
    2. 2. Talking Points… <br />Introductions<br />A bit of background on OpenSocial<br />Lesons Learned: Building a social application<br />The Open App Revolution<br />2<br />12-May-2011<br />#openapprevolution<br />
    3. 3. 12-May-2011<br />#openapprevolution<br />3<br />Introductions<br />
    4. 4. Mark Weitzel<br />Twitter: weitzelm<br />mark.weitzel @ jivesoftware.com<br />https://developers.jivesoftware.com/community/people/mark.weitzel<br />President of OpenSocial Foundation<br />Developer Evangelist, Jive Apps, Jive Software<br />Member, North Carolina Brewers Guild<br />Past life…<br />12 years @ IBM<br />IT Consultant, Architect, Developer<br />4<br />12-May-2011<br />#openapprevolution<br />
    5. 5. 12-May-2011<br />#openapprevolution<br />5<br />I’ll give you the shirt off my back. (Actually… one just like it.)<br />Free T-Shirt!!<br />(developers.jivesoftware.com)<br />
    6. 6. 6<br />12-May-2011<br />#openapprevolution<br />
    7. 7. 12-May-2011<br />#openapprevolution<br />7<br />A bit of background on OpenSocial<br />
    8. 8. Blogs<br />Facebook<br />twitter<br />AtomPub<br />Wikis<br />Friendster<br />MySpace<br />RSS 1.0<br />RSS 0.9<br />RSS 2.0<br />blogger.com<br />Flickr<br />dopplr<br />Wordpress<br />JSPWiki<br />del.icio.us<br />LiveJournal<br />Enterprise Adoption<br />Webkit & HTML 5<br />AJAX<br />2009 ~<br />1995<br />1997<br />1999<br />2000<br />2001<br />2002<br />2003<br />2004<br />2005<br />2006<br />2007<br />2008<br />Rise of the Social Web<br />
    9. 9. Gadgets(AJAX)<br />9<br />12-May-2011<br />#openapprevolution<br />
    10. 10. P F A<br />10<br />12-May-2011<br />#openapprevolution<br />
    11. 11. 11<br />12-May-2011<br />#openapprevolution<br />Gadgets<br />+<br />P F A<br />
    12. 12. 12<br />12-May-2011<br />#openapprevolution<br />2008<br />
    13. 13. 13<br />12-May-2011<br />#openapprevolution<br />2010<br />
    14. 14. OpenSocial Programming Model<br />Applications (gadgets)<br />Typically iFrames<br />AJAX proxy<br />Same model – on prem or cloud<br />Social Context (PFA)<br />Data Pipelining<br />Proxied Content<br />Oauth<br />Signed Fetch<br />Three Legged<br />Other goodies<br />Templates<br />Client side secure intra-app messaging (pub/sub)<br />Batch Requests<br />Features<br />Extensible <br />14<br />12-May-2011<br />#openapprevolution<br />
    15. 15. Comprehensive Programming Model<br />15<br />12-May-2011<br />#openapprevolution<br />
    16. 16. Wicked cool proxied content and data pipeling<br />16<br />12-May-2011<br />#openapprevolution<br /><Module><br /> <ModulePrefs title="Logistics App"<br /> description="Determine the best routes based on weather"<br />…<br /> <Require feature="opensocial-1.0"/><br /> <Require feature="osapi"/><br /> <Require reature="opensocial-data"/><br /> </ModulePrefs><br /> <Content view="home" href="home.html" /><br /><Content type="html" view="home" href="http://examplelogistics.com/app/logisticsapp.jsp"><br /> <os:DataRequest key="viewerData" method="people.get" userId="@viewer" fields="name,id,status,location"/><br /> <os:HttpRequest key="weatherData" href="http://example.weather.com/api/severeweatheralrets.jsp"/><br /></Content><br />....<br /></Module><br />
    17. 17. 17<br />12-May-2011<br />#openapprevolution<br />Wicked cool proxied content and data pipeling<br />
    18. 18. 18<br />12-May-2011<br />#openapprevolution<br />OpenSocial 2.0<br />
    19. 19. 19<br />12-May-2011<br />#openapprevolution<br />Activity Streams<br />
    20. 20. IRIs & Global IDs<br />We want activity streams to flow…<br />Among containers in & out of the firewall<br />Between non-OpenSocial systems<br />Mapped to OpenSocial constructs<br />IRI  OpenSocial global ID<br />Resolvable REST endpoints<br />Extended to include<br />deliverTo:<br />actionLinks:<br />20<br />12-May-2011<br />#openapprevolution<br />
    21. 21. Apps Everywhere!<br />Embedded Experience<br />
    22. 22. 22<br />12-May-2011<br />#openapprevolution<br />Stuff in the oven…<br />(2.0 Incubating APIs)<br />
    23. 23. 23<br />12-May-2011<br />#openapprevolution<br />
    24. 24. 24<br />12-May-2011<br />#openapprevolution<br />Apps Everywhere!<br />
    25. 25. 25<br />12-May-2011<br />#openapprevolution<br />2010<br />
    26. 26. 26<br />12-May-2011<br />#openapprevolution<br />“It’s the economy, stupid.”<br />
    27. 27. 27<br />12-May-2011<br />#openapprevolution<br />2011<br />“It’s open apps, stupid.”<br />
    28. 28. 28<br />12-May-2011<br />#openapprevolution<br />#openapprevolution<br />
    29. 29. 29<br />12-May-2011<br />#openapprevolution<br />OpenSocial based App Markets<br />
    30. 30. 30<br />12-May-2011<br />#openapprevolution<br />
    31. 31. 31<br />12-May-2011<br />#openapprevolution<br />Welcome to the “consumerprise” era<br />Consumer Simplicity<br />Enterprise Power<br />IT Friendly<br />
    32. 32. Show the Demo<br />32<br />12-May-2011<br />#openapprevolution<br />
    33. 33. 33<br />12-May-2011<br />#openapprevolution<br />Lessons Learned: <br />Building a social application<br />
    34. 34. Some lessons learned…<br />Realize you are in a social container<br />Often this is the system of record, not your app<br />Map user data // pull profile information<br />How do you manage your brand?<br />Adopt look & feel of platform?<br />Interaction dynamics<br />Who is creating relevant content<br />Leverage the activity stream<br />34<br />12-May-2011<br />#openapprevolution<br />
    35. 35. Some lessons learned…<br />Where can the user access information?<br />Signed fetch vs. 3 legged Oauth<br />Access outside social container<br />Leverage the activity stream<br />Be careful with extensions<br />Isolate when possible<br />35<br />12-May-2011<br />#openapprevolution<br />
    36. 36. Some lessons learned…<br />Where can the user access information?<br />Signed fetch vs. 3 legged Oauth<br />Access outside social container<br />Leverage the activity stream<br />Be careful with extensions<br />Isolate when possible<br />36<br />12-May-2011<br />#openapprevolution<br />
    37. 37. Make Useful ViewsSurveyGizmoExample<br />Home <br />Limited real estate<br />Make this purposeful<br />Often competing for attention<br />Canvas<br />Larger area<br />More immersive experience<br />37<br />12-May-2011<br />#openapprevolution<br />
    38. 38. Leverage Platform CapabilityGliffy Example<br />38<br />12-May-2011<br />#openapprevolution<br />
    39. 39. Leverage Platform CapabilityGliffy Example<br />39<br />12-May-2011<br />#openapprevolution<br />
    40. 40. Leverage Platform CapabilityGliffy Example<br />40<br />12-May-2011<br />#openapprevolution<br />
    41. 41. 41<br />12-May-2011<br />#openapprevolution<br />
    42. 42. Use Activity Stream CreativelyRypple Example<br />42<br />12-May-2011<br />#openapprevolution<br />
    43. 43. 43<br />12-May-2011<br />#openapprevolution<br />I want to build an app, but it must be really hard.<br />It’s so easy a caveman can do it!!! <br />(Thanks Geico)<br />
    44. 44. Show the Demo<br />44<br />12-May-2011<br />#openapprevolution<br />
    45. 45. 45<br />12-May-2011<br />#openapprevolution<br />OpenSocial<br />Beyond 2.0<br />
    46. 46. OpenSocial Programming Model<br />CMIS<br />Enterprise Extensions<br />Better group support<br />Persistence Model<br />Spaces (real group support)<br />Mobile<br />46<br />12-May-2011<br />#openapprevolution<br />
    47. 47. OS Spec process<br />Not your typical stds org<br />Lead with code<br />Push to OS<br />Small tight iterations<br />47<br />12-May-2011<br />#openapprevolution<br />
    48. 48. 12-May-2011<br />#openapprevolution<br />48<br />BE A REVOLUTIONARY!<br />

    ×