BLDRUX1112-May-2011#openapprevolution1
Talking Points…	IntroductionsA bit of background on OpenSocialLesons Learned: Building a social applicationThe Open App Revolution212-May-2011#openapprevolution
12-May-2011#openapprevolution3Introductions
Mark WeitzelTwitter: weitzelmmark.weitzel @ jivesoftware.comhttps://developers.jivesoftware.com/community/people/mark.weitzelPresident of OpenSocial FoundationDeveloper Evangelist, Jive Apps, Jive SoftwareMember, North Carolina Brewers GuildPast life…12 years @ IBMIT Consultant, Architect, Developer412-May-2011#openapprevolution
12-May-2011#openapprevolution5I’ll give you the shirt off my back. (Actually… one just like it.)Free T-Shirt!!(developers.jivesoftware.com)
612-May-2011#openapprevolution
12-May-2011#openapprevolution7A bit of background on OpenSocial
BlogsFacebooktwitterAtomPubWikisFriendsterMySpaceRSS 1.0RSS 0.9RSS 2.0blogger.comFlickrdopplrWordpressJSPWikidel.icio.usLiveJournalEnterprise AdoptionWebkit & HTML 5AJAX2009 ~199519971999200020012002200320042005200620072008Rise of the Social Web
Gadgets(AJAX)912-May-2011#openapprevolution
P F A1012-May-2011#openapprevolution
1112-May-2011#openapprevolutionGadgets+P F A
1212-May-2011#openapprevolution2008
1312-May-2011#openapprevolution2010
OpenSocial Programming ModelApplications (gadgets)Typically iFramesAJAX proxySame model – on prem or cloudSocial Context (PFA)Data PipeliningProxied ContentOauthSigned FetchThree LeggedOther goodiesTemplatesClient side secure intra-app messaging  (pub/sub)Batch RequestsFeaturesExtensible 1412-May-2011#openapprevolution
Comprehensive Programming Model1512-May-2011#openapprevolution
Wicked cool proxied content and data pipeling1612-May-2011#openapprevolution<Module> <ModulePrefs title="Logistics App"              description="Determine the best routes based on weather"…    <Require feature="opensocial-1.0"/>    <Require feature="osapi"/>   <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>
1712-May-2011#openapprevolutionWicked cool proxied content and data pipeling
1812-May-2011#openapprevolutionOpenSocial 2.0
1912-May-2011#openapprevolutionActivity Streams
IRIs & Global IDsWe want activity streams to flow…Among containers  in & out of the firewallBetween non-OpenSocial systemsMapped to OpenSocial constructsIRI  OpenSocial global IDResolvable REST endpointsExtended to includedeliverTo:actionLinks:2012-May-2011#openapprevolution
Apps Everywhere!Embedded Experience
2212-May-2011#openapprevolutionStuff in the oven…(2.0 Incubating APIs)
2312-May-2011#openapprevolution
2412-May-2011#openapprevolutionApps Everywhere!
2512-May-2011#openapprevolution2010
2612-May-2011#openapprevolution“It’s the economy, stupid.”
2712-May-2011#openapprevolution2011“It’s open apps, stupid.”
2812-May-2011#openapprevolution#openapprevolution
2912-May-2011#openapprevolutionOpenSocial based App Markets
3012-May-2011#openapprevolution
3112-May-2011#openapprevolutionWelcome to the “consumerprise” eraConsumer SimplicityEnterprise PowerIT Friendly
Show the Demo3212-May-2011#openapprevolution
3312-May-2011#openapprevolutionLessons Learned: Building a social application
Some lessons learned…Realize you are in a social containerOften this is the system of record, not your appMap user data // pull profile informationHow do you manage your brand?Adopt look & feel of platform?Interaction dynamicsWho is creating relevant contentLeverage the activity stream3412-May-2011#openapprevolution
Some lessons learned…Where can the user access information?Signed fetch vs. 3 legged OauthAccess outside social containerLeverage the activity streamBe careful with extensionsIsolate when possible3512-May-2011#openapprevolution
Some lessons learned…Where can the user access information?Signed fetch vs. 3 legged OauthAccess outside social containerLeverage the activity streamBe careful with extensionsIsolate when possible3612-May-2011#openapprevolution
Make Useful ViewsSurveyGizmoExampleHome Limited real estateMake this purposefulOften competing for attentionCanvasLarger areaMore immersive experience3712-May-2011#openapprevolution
Leverage Platform CapabilityGliffy Example3812-May-2011#openapprevolution
Leverage Platform CapabilityGliffy Example3912-May-2011#openapprevolution
Leverage Platform CapabilityGliffy Example4012-May-2011#openapprevolution
4112-May-2011#openapprevolution
Use Activity Stream CreativelyRypple Example4212-May-2011#openapprevolution
4312-May-2011#openapprevolutionI want to build an app, but it must be really hard.It’s so easy a caveman can do it!!! (Thanks Geico)
Show the Demo4412-May-2011#openapprevolution
4512-May-2011#openapprevolutionOpenSocialBeyond 2.0

Bldrux11 final

Editor's Notes

  • #6 Send me a notification and I’ll give you the shirt off my back. (Actually… one just like it.)
  • #8 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
  • #10 GadgetsProxy -- Requests go through a server
  • #11 People. Friends. ActivitiesPortable Contacts
  • #12 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
  • #13 There was explosive growth in 2008 &amp; 2009In the CONSUMER spaceWhat are some of the things that made OpenSocial so successful?In short, complete, open programming model for Web Application development
  • #14 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
  • #15 Revisit the proxy:Since requests go through the serer, you now have the ability to add a social context to the request.&lt;Module&gt; &lt;ModulePrefs title=&quot;Logistics App&quot; description=&quot;Determine the best routes based on weather&quot; thumbnail=&quot;http://examplelogistics.com/app/images/logisticsapp.jpg&quot; icon=&quot;http://exampleLogistics.com/app/images/icon.png&quot;&gt; &lt;Require feature=&quot;opensocial-1.0&quot;/&gt; &lt;Require feature=&quot;osapi&quot;/&gt; &lt;Require feature=&quot;settitle&quot;/&gt; &lt;Require feature=&quot;dynamic-height&quot;/&gt; &lt;Require reature=&quot;opensocial-data&quot;/&gt; &lt;/ModulePrefs&gt; &lt;Content view=&quot;home&quot; href=&quot;home.html&quot; /&gt;&lt;Content type=&quot;html&quot; view=&quot;home&quot; href=&quot;http://examplelogistics.com/app/logisticsapp.jsp&quot;&gt; &lt;os:DataRequest key=&quot;viewerData&quot; method=&quot;people.get&quot; userId=&quot;@viewer&quot; fields=&quot;name,id,status,location&quot;/&gt; &lt;os:HttpRequest key=&quot;weatherData&quot; href=&quot;http://example.weather.com/api/severeweatheralrets.jsp&quot;/&gt;&lt;/Content&gt;....&lt;/Module&gt;
  • #16 SOCIAL APIs
  • #19 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.
  • #20 The stream made zynga
  • #21 Show stream exampleResolve person iri
  • #23 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.
  • #25 IBM has committed, at the opensocial state of the union, to contribute it’s mobile framework to opensource.
  • #26 2007 ~ 2008  Getting started2009 ~ 2010  Massive Consumer Adoption2009 ~ 2010  Enterprise Adoption2010 ~ 2011  #openapprevolutionAnother fundamental shift in the industry
  • #28 Snowclone
  • #29 Balance of power between platform provider and developersOpenSocial is a tool to empower developers to influence and drive platform providers
  • #31 What Facebook did for zynga, social platforms and app markets are doing for the enterprise
  • #32 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?
  • #34 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?
  • #35 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
  • #36 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
  • #37 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
  • #47 Revisit the proxy:Since requests go through the serer, you now have the ability to add a social context to the request.
  • #49 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