This document discusses gadgets and social applications using OpenSocial. It provides an overview of OpenSocial and how it allows developers to build rich internet applications that can be integrated across different social networks. It covers topics like the OpenSocial JavaScript API, building gadgets, RESTful and RPC protocols, tools for development, and challenges in cross-container development.
UI Interactions Testing with FlexMonkeyArul Kumaran
UI Interaction Testing with Flex Monkey, presented in the community track of RIAction.sg an Rich Internet Action conference conducted in Singapore in 2009
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webPatrick Chanezon
The latest developments in social networking platforms and their importance in connecting people, places and ideas will be presented. Interoperability of these various platforms is crucial to allow for the message of sustainability and the future of connectivity for citizens of the future.
UI Interactions Testing with FlexMonkeyArul Kumaran
UI Interaction Testing with Flex Monkey, presented in the community track of RIAction.sg an Rich Internet Action conference conducted in Singapore in 2009
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webPatrick Chanezon
The latest developments in social networking platforms and their importance in connecting people, places and ideas will be presented. Interoperability of these various platforms is crucial to allow for the message of sustainability and the future of connectivity for citizens of the future.
Goodle Developer Days Madrid 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days Madrid including presentations from Netlog and Viadeo.
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days Munich, including presentations from Xing, Lokalisten, netlog and Viadeo..
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
Goodle Developer Days London 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days London including presentations from Netlog and Viadeo.
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
The Next Generation of Social is in a HangoutJonathan Beri
Make your apps come alive with live audio/video conversations using the Hangouts Platform API. Using the Google+ Hangouts API, you can develop collaborative apps that run inside of a Google+ Hangout.
Cognitive biases and mental heuristics lead us to behave irrationally. This talk focuses on how you can become a better data analyst by navigating around yours and your stakeholders' cognitive biases. Inspired by the book "You Are Not So Smart" by David McRaney.
Goodle Developer Days Madrid 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days Madrid including presentations from Netlog and Viadeo.
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days Munich, including presentations from Xing, Lokalisten, netlog and Viadeo..
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
Goodle Developer Days London 2008 - Open Social UpdatePatrick Chanezon
Updates about the OpenSocial ecosystem at Google developer days London including presentations from Netlog and Viadeo.
OpenSocial is an open specification defining a common API that works on many different social websites, including MySpace, Plaxo, Hi5, Ning, orkut, Friendster Salesforce.com and LinkedIn, among others. This allows developers to learn one API, then write a social application for any of those sites: Learn once, write anywhere.
In addition, in order to make it easier for developers of social sites to implement the API and make their site an OpenSocial container, the Apache project Shindig provides reference implementations for OpenSocial containers in two languages (Java, PHP). Shindig will define a language specific Service Provider Interface (SPI) that a social site can implement to connect Shindig to People, Persistence and Activities backend services for the social site. Shindig will then expose these services as OpenSocial JavaScript and REST APIs.
In this session we will explain what OpenSocial is, show examples of OpenSocial containers and applications, demonstrate how to create an OpenSocial application, and explain how to leverage Apache Shindig in order to implement an OpenSocial container.
The Next Generation of Social is in a HangoutJonathan Beri
Make your apps come alive with live audio/video conversations using the Hangouts Platform API. Using the Google+ Hangouts API, you can develop collaborative apps that run inside of a Google+ Hangout.
Similar to RIAction Social Applications in the Cloud 20090226 (20)
Cognitive biases and mental heuristics lead us to behave irrationally. This talk focuses on how you can become a better data analyst by navigating around yours and your stakeholders' cognitive biases. Inspired by the book "You Are Not So Smart" by David McRaney.
2014 09-10-12 Building Customer Profiles - Move from clicks to facesVinoaj Vijeyakumaar
Web analytics tools are great for investigating user behaviour - however traditionally it doesn't give us the full face of the user. We look at how we can start to put a face to our users by using Google Analytics' demographic reports.
This presentation was given at the Google Analytics User Conferences held in Sydney & Melbourne in September 2014.
Multi touch attribution & attribution modeling - GAUC Sydney Melbourne - 2013...Vinoaj Vijeyakumaar
This presentation was given at the Google Analytics User Conferences held in Sydney & Melbourne in June 2013. This presentation walks through moving beyond last-click attribution and harnessing Google Analytics' Attribution Modeling Tool to establish your ideal digital media mix. In it we cover the basics of multi-touch attribution, getting started with the Google Analytics Attribution Modeling Tool, and Custom Models. We also walk through a case study where Amari Hotels were able to increase sales by 45% simply by reallocating their digital marketing budgets based on insights gained from the Attribution Modeling Tool.
Overcoming the Seduction of Data - AlphaTerra Digital Marketing Conference - ...Vinoaj Vijeyakumaar
This talk was given at the AlphaTerra Digital Marketing Conference held on 20 Nov 2012 at Jakarta, Indonesia. The audience consisted of large advertisers who are new to digital marketing. In this talk I outline a 5-step process for setting up an actionable framework for measuring KPIs and goals. The aim is to have an outcome-driven strategy that is backed by a strong foundation of measurement. The role of the analyst is not to simply measure but to also take action based on the insights gleaned on the data. The actions taken should be aligned with meeting and exceeding the organization's strategic (not just marketing) objectives.
This presentation was given at gThailand on 25 Oct 2012 in Bangkok, Thailand. gThailand was a Google-run event evangelising digital marketing solutions to SMBs in the market.
This presentation outlines 5 steps to measurement success (with Google Analytics):
1. Correctly identifying and defining goals
2. Segmenting data to unearth hidden trends
3. Understanding multi-visit behaviour with Google Analytics Multi-Channel Funnels
4. Monitoring daily changes with Intelligence Events
5. Take action on your insights. Growth can only be achieved with action.
Measuring your way towards a successful application - 2012-10-04 - Google Dev...Vinoaj Vijeyakumaar
This was a presentation given to 650+ developers at GDG DevFest Kuala Lumpur (Malaysia) 2012. The event was organised by the Google Developer Group (GDG) Kuala Lumpur chapter and supported by Google Southeast Asia.
This talk covers the ways developers and product managers can leverage measurement practices to grow their user base. We look at identifying and tracking the right KPIs and goals. Then we explore implementing advanced Google Analytics features to track meaningful goals. We conclude with best practices for analyzing Google Analytics reports for actionable insights.
Navigating Uncertainty through Data. Navigate a Black Swan or Coconut Uncertainty environment using digital data resources. The keys to navigating a rapidly evolving digital landscape is to successfully measure, gain insights from the wisdom of the crowd, hypothesize, test, rinse, and repeat.
TEDx Johnson & Johnson - Building Great User Experience with Data - 2012-03-27Vinoaj Vijeyakumaar
A talk I gave at Johnson & Johnson's internal TEDx conference held in Singapore on 27 March 2012. In this presentation I cover how digital data sources can be used to gain powerful insights to aid with product design and user experience.
WAN-IFRA Digital Media Asia 2011 - Owning Great Content: A Data-Driven Approa...Vinoaj Vijeyakumaar
This presentation was given at the WAN-IFRA Digital Media Asia 2011 conference held in Hong Kong on 23 Nov 2011. It covers how content publishers can take a data-driven approach towards owning great content. We introduce tools such as Google Analytics, Google Website Optimizer, Google Insights for Search, and Doubleclick Ad Planner, and show how they can be used to identify the right approaches for capturing loyal readers and visitors.
Owning a Great Blog: A Data-Driven Approach - Kopdar 1000 Blogger Nusantara (...Vinoaj Vijeyakumaar
How can you create a great blog by taking a data-driven approach? This presentation looks at how you can use Google's freely available data-oriented tools to help create great content, attract the right visitors, and improve the user experience. This presentation was given to an audience of 1300 bloggers at the Kopdar 1000 Blogger Nusantara conference held in Sidoarjo, Indonesia.
This presentation was given to Nanyang Technological University's MBA class in Singapore on Fri 14 Oct 2011. This covers how one can make use of Google's data-driven solutions to understand their customers and attempt to predict trends. We cover Google Analytics for understanding on-site behaviour, Google Insights for Search for understanding search behaviour, and DoubleClick Ad Planner for understanding demographic and interest information.
GTUG Philippines - Implementing Google Analytics - 2011-10-11Vinoaj Vijeyakumaar
This presentation was given to the Google Technology Users Group (GTUG) Philippines chapter on 11 Oct 2011 in Manila. It covers how GA works, and how to implement GA's advanced tracking features.
DevFest Kuala Lumpur - Implementing Google Analytics - 2011-09-29.pptVinoaj Vijeyakumaar
This presentation was given at Google DevFest Kuala Lumpur on 29 Sep 2011. This presentation covers how to implement Google Analytics' advanced tracking features, including: event tracking, social plugin tracking, custom variables, page load time tracking, mobile site tracking, iOS and Android application tracking, and campaign variables.
DevFest Chiang Mai - Implementing Google Analytics - 2011-09-24.pptVinoaj Vijeyakumaar
This presentation was given at Google DevFest Chiang Mai on 24 Sep 2011. This presentation covers how to implement Google Analytics' advanced tracking features, including: event tracking, social plugin tracking, custom variables, page load time tracking, mobile site tracking, iOS and Android application tracking, and campaign variables.
13 GoMeasure (sg) - google analytics certified partner program - timo joste...Vinoaj Vijeyakumaar
Timo Josten, Google Analytics Partner Program Manager, walks through the value of the Google Analytics Certified Partner program. These slides were presented at the "GoMeasure with Google Analytics" events held in Singapore (Sep 6 2011) and Kuala Lumpur (Sep 8 2011).
12 GoMeasure (sg and kl) - page speed light speed path to conversions - joh...Vinoaj Vijeyakumaar
John Jersin, Google Analytics Product Manager, covers Google Analytics' new page speed tracker and the importance of optimising for load times. These slides were presented at the "GoMeasure with Google Analytics" events held in Singapore (Sep 6 2011) and Kuala Lumpur (Sep 8 2011).
11 GoMeasure (sg and kl) - mobile landing page and site usability tips - ma...Vinoaj Vijeyakumaar
Marc Woo, Senior Account Strategist at Google Malaysia, shares best practices for mobile sites. Focus on the user. These slides were presented at the "GoMeasure with Google Analytics" events held in Singapore (Sep 6 2011) and Kuala Lumpur (Sep 8 2011).
10 GoMeasure (sg and kl) - designing for conversions - jereme wong - clicktrueVinoaj Vijeyakumaar
Jereme Wong, COO of clickTRUE (a Google Analytics Certified Partner), walks through 2 case studies of how content testing led to increased conversions for websites. These slides were presented at the "GoMeasure with Google Analytics" events held in Singapore (Sep 6 2011) and Kuala Lumpur (Sep 8 2011).
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
RIAction Social Applications in the Cloud 20090226
1. Gadgets and Social Applications
With OpenSocial
Vinoaj Vijeyakumaar
Customer Solutions Engineer
Google Southeast Asia
http://friendfeed.com/vinoaj
1
Google Confidential and Proprietary
21. First Stop
OpenSocial.org
Also a social network (surprise surprise!)
21
22. A day in the life of a social app developer
22
23. A day in the life of a social app developer
23
24. A day in the life of a social app developer
24
25. A day in the life of a social app developer
25
26. A day in the life of a social app developer
26
27. Gadgets
A gadget spec:
• Is an XML file.
• Defines metadata about an OpenSocial app.
• Is highly cacheable and does not need a high performance server.
Gadgets use existing web standards
• XML to define metadata.
• HTML for markup.
• JavaScript for interactivity.
• CSS for presentation.
27
28. Gadgets
Example gadget XML spec:
• Uses HTML to print “Hello World”.
• Colors the text red with CSS.
• Dynamically adjusts the height of the gadget with JavaScript.
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
<Module>
<ModulePrefs title=quot;Hello World!quot;>
<Require feature=quot;dynamic-heightquot; />
</ModulePrefs>
<Content type=quot;htmlquot;>
<![CDATA[
<h1>Hello World</h1>
<style type=quot;text/cssquot;>
h1 { color: #dd0000; }
</style>
<script type=quot;text/javascriptquot;>
gadgets.window.adjustHeight();
</script> ]]> </Content></Module>
28
29. Gadgets
JavaScript utility functions for gadgets:
•gadgets.io.makeRequest()
Make cross-domain AJAX calls to remote servers.
•gadgets.json.parse() and gadgets.json.stringify()
Native JSON support.
•gadgets.util.escapeString()
Make text safe for display via innerHTML.
•gadgets.util.registerOnLoadHandler()
Execute code when the page is finished loading.
29
30. Gadgets
Add extra features to your gadget:
• dynamic-height - Change the size of your gadget in the container.
• views - Navigate between different surfaces of the container.
• skins - Make your gadget change its styles to match the container.
• Containers may offer custom features...
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
<Module>
<ModulePrefs title=quot;Hello World!quot;>
<Require feature=quot;dynamic-heightquot; />
</ModulePrefs>
<Content type=quot;htmlquot;>
<![CDATA[ ... ]]>
</Content>
</Module>
30
31. Gadgets
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
<Module>
<ModulePrefs title=quot;Hello Social!quot;>
<Require feature=quot;opensocial-0.8quot; />
</ModulePrefs>
<Content type=quot;htmlquot;>
<![CDATA[ ... ]]>
</Content>
</Module>
The OpenSocial JavaScript API is a gadget feature, too!
31
37. The OpenSocial JavaScript API
Working with people:
• A Collection represents many opensocial.Person objects.
37
38. The OpenSocial JavaScript API
Working with data:
• Persistent data gives apps key, value storage directly on the container.
• String only, but conversion to JSON allows for storage of complex
objects.
• Storage per app per user - scales well with growth.
• Ideal for settings, customizations.
38
39. The OpenSocial JavaScript API
Working with activities:
• API to post information about what users are doing with your app.
• Many containers have support for images and some HTML.
• Channel to grow your application.
orkut MySpace hi5
39
40. The OpenSocial JavaScript API
Post an activity:
function postActivity(text) {
var params = {};
params[opensocial.Activity.Field.TITLE] = text;
var activity = opensocial.newActivity(params);
opensocial.requestCreateActivity(activity,
opensocial.CreateActivityPriority.HIGH, callback);
};
• Assign the activity text to the TITLE field.
• Call opensocial.newActivity() to create a new Activity instance.
• Call opensocial.requestCreateActivity() to post the activity to the
container.
40
42. RESTful and RPC protocols
Opens new development models
•Background processing.
•Easier Flash integration.
•Mobile applications.
42
43. RESTful and RPC protocols
Communication methods:
• RESTful (Representational State Transfer)
• RPC (Remote Procedure Call)
Formats:
• XML
• JSON
• AtomPub
43
44. RESTful and RPC protocols
REST:
• Resources are URLs.
Example - People:
• All people connected to the given user:
/people/{guid}/@all
• All friends of the given user:
/people/{guid}/@friends
• Profile of the given user:
/people/{guid}/@self
• Profile of the authenticated user:
/people/@me/@self
• Supported Person fields:
/people/@supportedFields
44
47. RESTful and RPC protocols
Authentication:
• Both protocols use OAuth to identify users and apps.
• Depending on what the application needs to do, it can use two-legged
or three-legged OAuth.
47
49. Shindig
Writing a gadget server is difficult:
• Fast changing API - hard to keep up.
• Standardization is hard to get right.
• Costs $ / ¥ / 元 !
49
56. 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://tinyurl.com/4nuzll
56
57. Challenges
No central directory
• Hard for apps to spread to many containers.
• Apps need to work with different install processes.
• Directory approval requirements vary from container to container.
57