MySpace Developer Platform Dive Into OpenSocial Maxwell Newbould Development Manager OpenSocial Container Team, MySpace Seattle.

Slides:



Advertisements
Similar presentations
Opensocial Flash/Flex Client Library Project:
Advertisements

Implementing an OpenSocial Container Lou Moore, hi5.com.
Performance Challenges for the Open Web Stanford CS193H 29 September 2008.
A Beginner's Guide to OpenSocial All my own work by Tom Natt.
HTML Forms. collect information for passing to server- side processes built up from standard widgets –text-input, radio buttons, check boxes, option lists,
Building and using REST information services Rion Dooley.
LiNC Developer Meetup Welcome!. Our job is to make your life easier APIs Tools and workflow Documentation Stay in touch: developers.lithium.com Join the.
Reinventing using REST. Anything addressable by a URI is called a resource GET, PUT, POST, DELETE WebDAV (MOVE, LOCK)
Single Page Apps with Breeze and Ruby.
By Loukik Purohit & Rohit Ghatol
Eric J. Oszakiewski MCTS: SharePoint Application Development SharePoint Configuration.
Samsung Smart TV is a web-based application running on an application engine installed on digital TVs connected to the Internet.
Functionality and API. Talk Goals How do I set this up? What can I do with it? Where is this going?
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Fawaz Ghali AJAX: Web Programming's Toy.
JavaScript and AJAX Jonathan Foss University of Warwick
OAuth 2.0 By “PJ” (JP on meetup.com) iOS and PHP developer, and occasional lawyer Contact me via:
© Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Pronq IDE – Collaboration.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
OpenSocial CS : Survey of Contemporary Technologies.
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
WeChat Shared Count Plugin 2014-Jan-29. Background Previous Experiences: Mid Autumn Festival (Experimental, Only data logging) Yahoo TW Campaign (Capture.
© 2012 Cisco and/or its affiliates. All rights reserved. Presentation_ID Cisco Public Quad APIs and SDK Preview Sachin Smotra Product Manger, Enterprise.
Open Social A Quick Introduction and Tutorial. What is Open-Social in a Nutshell? Open-Social provides a API specification for social networking sites.
Toward an OpenSocial Life Science Gateway Wenjun Wu, Michael E. Papka, Rick Stevens.
Fraser Technical Solutions, LLC
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
Presented by…. Group 2 1. Programming language 2Introduction.
Ajax (Asynchronous JavaScript and XML). AJAX  Enable asynchronous communication between a web client and a server.  A client is not blocked when an.
JavaScript & jQuery the missing manual Chapter 11
OpenSocial ANATOMY AND LIFE CYCLE Paul Lindner, Architect, Hi5 Networks November 27th, 2007.
CS378 - Mobile Computing Web - WebView and Web Services.
Configuration Management and Server Administration Mohan Bang Endeca Server.
AJAX Without the “J” George Lawniczak. What is Ajax?
FTP (File Transfer Protocol) & Telnet
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Web application architecture
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
ASP.NET Web API. ASP.NET Members MS Open Source ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source ASP.NET MVC 4, ASP.NET.
FIspace SPT Seyhun Futaci. Technology behind FIspace Authentication and Authorization IDM service of Fispace provides SSO solution for web apps, mobile.
OpenSocial Kevin Marks Chris Chabot Agenda Introduction - What is OpenSocial Building an OpenSocial Application Best Practices Kinds of container Becoming.
Introduction to the SharePoint 2013 REST API. 2 About Me SharePoint Solutions Architect at Sparkhound in Baton Rouge
Getting Started with OPC.NET OPC.NET Software Client Interface Client Base Server Base OPC Wrapper OPC COM Server Server Interface WCF Alternate.
The OpenSocial API CS : Survey of Contemporary Technologies.
Facebook API Kelly Orser. Client Libraries Client libraries will simplify the calls to the platform by reducing the amount of code you have to write.
School of Computing and Information Systems CS 371 Web Application Programming AJAX.
1 © Donald F. Ferguson, All rights reserved.Modern Internet Service Oriented Application Development – Lecture 2: REST Details and Patterns Some.
WORKING WITH THE “CALL HTTP WEB SERVICE” WORKFLOW ACTIVITY Derek Nishino Nishino Consulting
FriendFinder Location-aware social networking on mobile phones.
FriendFinder Location-aware social networking on mobile phones.
ICM – API Server & Forms Gary Ratcliffe.
ICM – API Server Gary Ratcliffe. 2 Agenda Webinar Programme API Server Overview JSON-RPC iCM API Service API Server and Forms New services under.
Web Technologies Lecture 11 Implementing RESTful services.
John Maver (978)
CHAPTER 8 AJAX & JSON WHAT IS AJAX? Ajax lets you…
Secure Mobile Development with NetIQ Access Manager
Simple Web Services. Internet Basics The Internet is based on a communication protocol named TCP (Transmission Control Protocol) TCP allows programs running.
JavaScript, Sixth Edition Chapter 11 Updating Web Pages with Ajax.
© 2014 IBM Corporation Activity Streams Integration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 45 minutes.
API (Application Program Interface)
Node.js Express Web Applications
Beyond the BDC\BCS Model
Testing REST IPA using POSTMAN
WEB API.
CSE 154 Lecture 22: AJAX.
Western Mass Microsoft Technology Users Group
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Presentation transcript:

MySpace Developer Platform Dive Into OpenSocial Maxwell Newbould Development Manager OpenSocial Container Team, MySpace Seattle

Overview

First Steps… Apply for developer account on Demo Code and Editor OpenSocial on MySpace Developer Platform(MDP) – Container – Owner – Viewer – Profile View – Home View – Canvas View

MySpace Developer Platform OpenSocial – MySpace applications written in JavaScript and/or Flash REST API provides functionality for desktop, mobile, offline, and server to server. Secured using oAuth (

How does OpenSocial fit into MDP? OpenSocial is implemented using a container, entirely client-side. The container is a JavaScript wrapper, which allows applications to communicate with the MDP REST API and MySpace.Com. Applications run inside a jail domain so they are isolated from MySpace.Com.

OpenSocial 0.7/0.8 Basics Javascript container adheres to OpenSocial standard and wraps our RESTful API All extensions live in MyOpenSpace All reference types, property names and defined values are Enums gadgets namespace provides generic support for apps Obtain reference to current container via singleton - opensocial.Container.get()

MyOpenSpace – our Container Exposes extension types and methods Balances XmlHttpRequest connections for you Wraps extended entities and their fields Full docs on developer.myspace.com

DataRequests – Basics Obtain a reference to the Container Create a new DataRequest object Add multiple types of requests to your DataRequest, with optional unique keys Call send() Receive data in your callback

DataResponse – Basics DataResponse.get(keyname).getData() getField(FIELD enum) for individual fields

DataRequests – FetchPerson newFetchPersonRequest(idSpec, param) param[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.ID, MyOpenSpace.Person.Field.ABOUT, MyOpenSpace.Person.Field.BOOKS];

DataRequests – FetchPeople newFetchPeopleRequest(idSpec, param) opensocial.DataRequest.Group.VIEWER_FRIENDS opensocial.DataRequest.Group.OWNER_FRIENDS param[MyOpenSpace.DetailType.GET_ONLINE] = true; param[MyOpenSpace.DetailType.GET_STATUS] = true; param[MyOpenSpace.DetailType.GET_MOOD] = true; param[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.TOP_FRIENDS;

DataRequests – FetchPersonAppData newFetchPersonAppDataRequest(idSpec, keys) VIEWER / OWNER / VIEWER_FRIENDS / OWNER_FRIENDS Keys can be *, or a key name. Values should be JSON strings

DataRequests – UpdatePersonAppData newUpdatePersonAppDataRequest(idSpec, key, value) ONLY VIEWER is supported Key is single key name Value is JSON-encoded data

DataRequests – DeletePersonAppData newFetchDeleteAppDataRequest(idSpec, keys) Only VIEWER is supported Keys can be a single or array of key names. No data in callback

MySpace Extensions newFetchPhoto(s)Request newFetchAlbum(s)Request newFetchVideo(s)Request newFetchPersonStatusRequest newFetchPersonMoodRequest newFetchPersonIndicatorsRequest newFetchPersonFriendshipRequest newFetchPeopleFriendshipRequest What do you want to see come next?

MySpace Extensions PostTo – Profiles – Bulletins – Comments – SendMessage – Blog See PostTo Sample – OpenSocial Extensions app on apps.myspace.com

3 rd Party Content – makeRequest() gadgets.io.makeRequest(url, callback, opt_params) – gadgets.io.RequestParameters – gadgets.io.MethodType GET / POST / PUT / DELETE / HEAD – gadgets.io.ContentType TEXT / DOM / JSON / FEED – gadgets.io.AuthorizationType NONE / SIGNED / AUTHENTICATED

Viral Methods NO INCENTIVIZATION ALLOWED! requestSendMesage – Only message friends – Requires user action – Only send one message per user action requestShareApp – Coming soon – Sends invite to install application to specified recipient

View Navigation – requestNavigateTo Views are found in opensocial.getEnvironment().getSupportedSur faces() Home, Profile, and Canvas views gadgets.view.requestNavigateTo(supported_vi ew, params); params is an object to pass around views – retrieve using gadgets.view.getParams()

Prefs – Localization Support gadgets.Prefs() getLang() – en for English getCountry() - US for USA Full Localization support – resources using en-US

Window – adjustHeight/getViewportDimensions gadget.window.adjustHeight(height) – If no height passed, app will resize to fit content – If height is between 0.0(0%) and 1.0(100%), app will resize based on browser height – If height is greater than 1, resize to that height (pixels) – Upper limits are defined per view gadgets.window.getViewportDimensions – Returns { width: 0, height : 0}

Environment – getDomain/supportsField opensocial.Environment.getDomain() – Returns myspace.com opensocial.Environment.supportsField(objectT ype, fieldName) – objectType is opensocial.Environment.ObjectType – fieldName is string for field name

For more help Irc.freenode.net #myspacedev – Provides JS auto-completion for OpenSocial

Q & A Design Questions? Policy Questions? Architectural / Scaling Questions?