SlideShare a Scribd company logo
1 of 54
Tricks of the Gaming Trade. Insider Tips and Secrets. March 2010
Who? Chris To – Senior Software Engineer @MySpace Chad Russell – Development Lead @MySpace
Agenda Anatomy of a MySpace game Understand the stream and different viral channels Learn about offsite and Real Time Stream Specific tips and tricks
In 2006… @GDC
Some Stats 28MM active monthly users of apps 1B minutes spent per month on games 2-3X  better monetization (or so we’ve heard…)
AnatoMy of an On-Site App … for those who are new to MySpace development
Canvas
Home
Profile
Featured Games on Homepage
Viral Channels DEMO the best way to explain it… is to show it
MySpace ID Seamless MySpace identity on your site
Why Offsite? Millions of MySpace users ready to login to your game Create activities offsite that link back to you OpenSocial code mostly ports to work with the JSL
REAL TIME STREAM
Example http://flooddemo.appspot.com
The “Flood”
Real Time Stream Features Status Mood updates Photo/Video uploads App Activities Friend Adds Music Geocoded And more…
TIPS AND TRICKS
API/OpenSocial Versions OpenSocial 0.8 OpenSocial 0.9 beta http://api.myspace.com/v1 http://api.myspace.com/v2 http://opensocial.myspace.com
Optimize Your Home Surface Browser cache Static content CDNs Don’t be chatty!
App Creation Workflow Dev vs. Live apps Append “appvers=dev” Testers and developers
The OpenSocial JS API Friend list is most common for games You’ll need it to go viral! Required for OSML
The OpenSocial JS API Greatly simplified by osapi jQuery, prototype, etc.
Debugging No alert()! Firebug Fiddler
On Load Handler This may not work: This will:
Popping the Install Modal Alternative to the “install arrow” gadgets.views.getParams().installState Can be “0”, “1” or “2”
Popping the Install Modal Programmatic way to do it autoInitiateInstall=true
The App’s Profile Page Main entry point for installation, often neglected
The App’s Profile Page Main entry point for installation, often neglected
Summary With these tips and secrets… Know how you get installs Understand and leverage the stream for viral growth Think about “offsite” opportunities Optimize your home surface Know JavaScript Work on your app profile page
Resources Sample Code app (public on 3/16): http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=180995 Building OpenSocial Apps (Book): http://www.amazon.com/Building-OpenSocial-Apps-Working-Platform/dp/0321619064/

More Related Content

Viewers also liked

Producing photographs project
Producing photographs projectProducing photographs project
Producing photographs projectPJG123
 
Diabetes presentation
Diabetes presentationDiabetes presentation
Diabetes presentationmssue48219
 
Exercicios resolvidos contabilidade geral aula 10 cathedra
Exercicios resolvidos contabilidade geral   aula 10 cathedraExercicios resolvidos contabilidade geral   aula 10 cathedra
Exercicios resolvidos contabilidade geral aula 10 cathedracathedracontabil
 
Outlook asia pacific_banks_2011
Outlook asia pacific_banks_2011Outlook asia pacific_banks_2011
Outlook asia pacific_banks_2011Warlito Vicente
 
Chpa0001 annex vi s6_dhc_handbook
Chpa0001 annex vi s6_dhc_handbookChpa0001 annex vi s6_dhc_handbook
Chpa0001 annex vi s6_dhc_handbooksahiloct11969
 
Cultura política de la democracia en Perú (2010) - PDF
Cultura política de la democracia en Perú (2010) - PDFCultura política de la democracia en Perú (2010) - PDF
Cultura política de la democracia en Perú (2010) - PDFgvelasquezm
 
Percubaan perak 2012 b.tamil (k1)
Percubaan perak 2012 b.tamil (k1)Percubaan perak 2012 b.tamil (k1)
Percubaan perak 2012 b.tamil (k1)SELVAM PERUMAL
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102remko caprio
 
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)jamiehalsteadkcl
 
Base de datos
Base de datosBase de datos
Base de datoscaoxman
 
Final attitude project
Final attitude projectFinal attitude project
Final attitude projectPema Namgyel
 
Estado final aprendices ENGLISH DOT WORKS A1 LEVEL 2- 634514
Estado final aprendices  ENGLISH DOT WORKS A1 LEVEL 2- 634514Estado final aprendices  ENGLISH DOT WORKS A1 LEVEL 2- 634514
Estado final aprendices ENGLISH DOT WORKS A1 LEVEL 2- 634514CARGAVIRIA
 
Tema 3 el relieve terrestre
Tema 3 el relieve terrestreTema 3 el relieve terrestre
Tema 3 el relieve terrestreCarlos Arrese
 

Viewers also liked (20)

Meetings
Meetings Meetings
Meetings
 
Producing photographs project
Producing photographs projectProducing photographs project
Producing photographs project
 
Diabetes presentation
Diabetes presentationDiabetes presentation
Diabetes presentation
 
Exercicios resolvidos contabilidade geral aula 10 cathedra
Exercicios resolvidos contabilidade geral   aula 10 cathedraExercicios resolvidos contabilidade geral   aula 10 cathedra
Exercicios resolvidos contabilidade geral aula 10 cathedra
 
Outlook asia pacific_banks_2011
Outlook asia pacific_banks_2011Outlook asia pacific_banks_2011
Outlook asia pacific_banks_2011
 
Chpa0001 annex vi s6_dhc_handbook
Chpa0001 annex vi s6_dhc_handbookChpa0001 annex vi s6_dhc_handbook
Chpa0001 annex vi s6_dhc_handbook
 
Cobit
CobitCobit
Cobit
 
Child Abuse
Child AbuseChild Abuse
Child Abuse
 
Cultura política de la democracia en Perú (2010) - PDF
Cultura política de la democracia en Perú (2010) - PDFCultura política de la democracia en Perú (2010) - PDF
Cultura política de la democracia en Perú (2010) - PDF
 
Prometheus unbound
Prometheus unboundPrometheus unbound
Prometheus unbound
 
Percubaan perak 2012 b.tamil (k1)
Percubaan perak 2012 b.tamil (k1)Percubaan perak 2012 b.tamil (k1)
Percubaan perak 2012 b.tamil (k1)
 
El autoestima
El autoestimaEl autoestima
El autoestima
 
Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102Apps for Science - Elsevier Developer Network Workshop 201102
Apps for Science - Elsevier Developer Network Workshop 201102
 
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)
Literature Searching, Referencing & Citation and Plagiarism (2nd Year Physics)
 
Base de datos
Base de datosBase de datos
Base de datos
 
Final attitude project
Final attitude projectFinal attitude project
Final attitude project
 
Estado final aprendices ENGLISH DOT WORKS A1 LEVEL 2- 634514
Estado final aprendices  ENGLISH DOT WORKS A1 LEVEL 2- 634514Estado final aprendices  ENGLISH DOT WORKS A1 LEVEL 2- 634514
Estado final aprendices ENGLISH DOT WORKS A1 LEVEL 2- 634514
 
Final pink panthers_03_31
Final pink panthers_03_31Final pink panthers_03_31
Final pink panthers_03_31
 
RNM
RNMRNM
RNM
 
Tema 3 el relieve terrestre
Tema 3 el relieve terrestreTema 3 el relieve terrestre
Tema 3 el relieve terrestre
 

Similar to Tricks of the Gaming Trade: Insider Tips and Secrets

Java one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-isJava one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-issandhya kapoor
 
Building Cognitive Applications with Watson APIs
Building Cognitive Applications with Watson APIs Building Cognitive Applications with Watson APIs
Building Cognitive Applications with Watson APIs Dev_Events
 
Java one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-isJava one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-issandhya kapoor
 
Amazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersAmazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersDevGAMM Conference
 
Artificial Intelligence for the Masses
Artificial Intelligence for the MassesArtificial Intelligence for the Masses
Artificial Intelligence for the MassesVinay Rao
 
Widget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace AudienceWidget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace AudienceMaxNewbould
 
Reviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelReviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelShakacon
 
Modeling and Analyzing Social Networks of Games
Modeling and Analyzing Social Networks of GamesModeling and Analyzing Social Networks of Games
Modeling and Analyzing Social Networks of GamesLeonardo Moraes
 
Making Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaMaking Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaRyoya Kawai
 
Videogames: Raising Interactive Digital Entertainment Industry
Videogames: Raising Interactive Digital Entertainment IndustryVideogames: Raising Interactive Digital Entertainment Industry
Videogames: Raising Interactive Digital Entertainment IndustryMarlin Sugama
 
Social Gaming GameIS User Group Meeting
Social Gaming GameIS User Group MeetingSocial Gaming GameIS User Group Meeting
Social Gaming GameIS User Group MeetingAlmog Koren
 
Mobile Game Development using Adobe Flash
Mobile Game Development using Adobe FlashMobile Game Development using Adobe Flash
Mobile Game Development using Adobe Flashchall3ng3r
 
Web, Web 2.0 and Virtual Worlds
Web, Web 2.0 and Virtual WorldsWeb, Web 2.0 and Virtual Worlds
Web, Web 2.0 and Virtual WorldsRoo Reynolds
 
Gaming with Open Source Frameworks
Gaming with Open Source FrameworksGaming with Open Source Frameworks
Gaming with Open Source FrameworksAlmog Koren
 
Game Development: A Crash Course
Game Development: A Crash CourseGame Development: A Crash Course
Game Development: A Crash CourseEd Donahue
 
Developing with Windows Live Spaces
Developing with Windows Live SpacesDeveloping with Windows Live Spaces
Developing with Windows Live Spacesgoodfriday
 
Open-source, how we survive with it?
Open-source, how we survive with it?Open-source, how we survive with it?
Open-source, how we survive with it?Hermet Park
 
App evolution meets adsense
App evolution meets adsenseApp evolution meets adsense
App evolution meets adsenseedavidkennan
 

Similar to Tricks of the Gaming Trade: Insider Tips and Secrets (20)

Java one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-isJava one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-is
 
Building Cognitive Applications with Watson APIs
Building Cognitive Applications with Watson APIs Building Cognitive Applications with Watson APIs
Building Cognitive Applications with Watson APIs
 
Java one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-isJava one2016 con3054-watsonap-is
Java one2016 con3054-watsonap-is
 
Amazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersAmazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developers
 
Artificial Intelligence for the Masses
Artificial Intelligence for the MassesArtificial Intelligence for the Masses
Artificial Intelligence for the Masses
 
Widget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace AudienceWidget Summit 2008 - Building Applications for the MySpace Audience
Widget Summit 2008 - Building Applications for the MySpace Audience
 
Reviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelReviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android Kernel
 
Modeling and Analyzing Social Networks of Games
Modeling and Analyzing Social Networks of GamesModeling and Analyzing Social Networks of Games
Modeling and Analyzing Social Networks of Games
 
Making Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music ChinaMaking Music on the Web with MIDI Technology - Music China
Making Music on the Web with MIDI Technology - Music China
 
Videogames: Raising Interactive Digital Entertainment Industry
Videogames: Raising Interactive Digital Entertainment IndustryVideogames: Raising Interactive Digital Entertainment Industry
Videogames: Raising Interactive Digital Entertainment Industry
 
Tcea 2009
Tcea 2009Tcea 2009
Tcea 2009
 
Social Gaming GameIS User Group Meeting
Social Gaming GameIS User Group MeetingSocial Gaming GameIS User Group Meeting
Social Gaming GameIS User Group Meeting
 
Mobile Game Development using Adobe Flash
Mobile Game Development using Adobe FlashMobile Game Development using Adobe Flash
Mobile Game Development using Adobe Flash
 
Web, Web 2.0 and Virtual Worlds
Web, Web 2.0 and Virtual WorldsWeb, Web 2.0 and Virtual Worlds
Web, Web 2.0 and Virtual Worlds
 
Gaming with Open Source Frameworks
Gaming with Open Source FrameworksGaming with Open Source Frameworks
Gaming with Open Source Frameworks
 
Introducing flash
Introducing flashIntroducing flash
Introducing flash
 
Game Development: A Crash Course
Game Development: A Crash CourseGame Development: A Crash Course
Game Development: A Crash Course
 
Developing with Windows Live Spaces
Developing with Windows Live SpacesDeveloping with Windows Live Spaces
Developing with Windows Live Spaces
 
Open-source, how we survive with it?
Open-source, how we survive with it?Open-source, how we survive with it?
Open-source, how we survive with it?
 
App evolution meets adsense
App evolution meets adsenseApp evolution meets adsense
App evolution meets adsense
 

Recently uploaded

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseWSO2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Tricks of the Gaming Trade: Insider Tips and Secrets

Editor's Notes

  1. In 2006 here at GDC... ShuffleBrain gave a talk about how MySpace built on basic game mechanics... Thatbegan the whole social media craze... For example:On MySpace you collect friends and comments. In a game you collect items and points- On Myspace customize your profile. In a game you customize Avatars.- On MySpace you do stuff to stimulate yourself and get feedback. In a game, you play to get stimulated and get feedback. Anyone remember this presentation at all?Anyways in retrospect, that presentation in 2006 was very foretelling. Since social network platforms have opened up, it's no wonder games are the killer app.So I'm no expert on building great games... If I did I'd be out there making some real money with you guys. Instead I'm up to breakdown the mechanics of MySpace as a platform so you can maximize it.
  2. First some stats
  3. Now Is anyone here completely new to the MySpaceplatform?Great I'm starting with a summary of a MySpace onsite app.
  4. First and foremost is the Canvas surface. It's your dedicated page and the core of your game where the majority of the action happens. Here you get access to all our APIs and have free reign
  5. Next is the Home surface. IMportant because home is our most trafficked page. In fact Chad's going to bring up some specific tips about it later.
  6. Finally profiles public and private are a corner stone of myspace. This is where you can build stuff for your users to flaunt your game… or help them flaunt themselves.None of the other platforms give you that same kind of surface area for reaching users. We believe opening all these surfaces maximizes the chance for cool innovative games that are a win-win for us and developers.
  7. We announced the new app galery earlier in the morning but couple of key pointers:there are two ways the new app gallery empowers developers to attract more users1st friends notifications and activity right on the Apps Gallery so users see what they're friends are doing. those are channels you control and I'll talk more about specifics later- 2nd is ratings
  8. Along with that we're focusing on games. We've launched new modules right on our most engaging page... the user home... specifically to bring more users to games.
  9. Here's full size features games page
  10. Now I'm going to demo the various viral channels.This pseudo-app is openly available and full of step-by-step sample code so you can all check it out... copy/paste from it.
  11. In honor of our new mascot Queue, I've made this game QueueTopia just for GDC. I'll start by installing it.
  12. So here's Queue, my new QueueTopia pet. I just joined the game and click to get started.
  13. I've got my pet ready to go... Queue's ready to play with a toy in hand.
  14. Queue looks like he's lonely. MySpace is more fun with friends and so are games. Time spent on an app increases by X if you have Y friends playing as well.  So it looks like the game wants me to invite friends to play with Queue. .
  15. I click the invite buttonEnter App invites for friends.I'm not going to talk about the code specifics now, but it's for your reference right here so you can check this out later yourself and reuse all the samples.
  16. Now up to 20 friends can be invited at once. User's can also add friends with the To: bar - filter who to invite (e.g. top friends and online friends, exclude certain profiles like bands and advertisers for better conversion)
  17. before i continue with QueueTopia Here's what your friends see with an app invite. They can install the apps right from there notifications.So I say I install the app,
  18. here's important secret about app invites… you can parameterize the the App Invite. It's a simple and powerful way to pass incentives between users joining your game... and can personalize the process for a bette experience.[Poker example] A practical end-to-end example where that's interesting is if you had a poker game... and you wanted to invite a online friend to join your table. You would first filter invites to users who are online, invite those users... and pass along the table number so they could joing your table.So invites are important because the most direct way to get new users.
  19. So back to the app. App invites are cool but, the richest stream feature at your disposal is app activities, these let you create custom templates that you put in the stream... I click next.
  20. So apparently Queue has won his first trophy.The game's giving me a call to action to share it, and a feel inclined to click to share..
  21. User's need to opt in for posting an activity the first time, but keep in mind that all your players friends will see it. So designing meaningful activities is a huge draw and free advertising.Here's what the preview looks like like. [read template]
  22. Now let me show as a developer you how I make the templatetheres a 160 character template the editor offers help in previewing templates it pulls out variables and lets u test inputs, as well as MediaItemsThat’s the dev experience. I’m going to hop in to the user experience.
  23. Once the user clicks “publish” it goes in to your stream and fans out to all your friends Here's what that looks like in your friends stream.template syntax is pretty straight forward, but some interesting tipsliteral get filtered out for most html but you can include anchor tags that go back to the canvas which can further be parameterized- also managing media items is an interesting topic mediaitem trick- possessiveform and objectiveform trick
  24. Next enter another slight different channel, notifications. These are the brothers of App Invites because they go to the same place.The key thing about a notification is you can create one without the users consent
  25. Here's what a notification looks like. Notice the main feature is a call to action button that brings users to the app. You can specify a number of buttons that go back to your canvas page.What's the big deal of no opt in?For example, if you have a dating game you can post any new date matches behind the scenes.
  26. So those are the 3 key viral channels Invites, Activities and notifications. Hopefully you can now draw the subtle distinctions.Invites get you installsActivities let you spread cool templates in the user's streamNotifications let you stick actionable messages in a user's "inbox”And they all ultimately make your game more visible, fun and played.
  27. That's onsite, but you can access all of MySpace's' users to your own site with MySpace ID.It let's you seamlessly use MySpace identity on your site.
  28. The workflow goes like this:   You ask if the user wants to login with MySpace. It's a couple of lines of javascript to make the login process work.
  29. If yes they get a popup on MySpace.com to login
  30. They can accept a few permissions and you have a new user. At which point…
  31. So Firstly millions of users are immediately reachableSecond you can access activities just like you can onsite... so you can publicize your app off of MySpace.- remember I mentioned you can put anchor tags in to the activity stream, this let's you put anchors back to specifically your domain.Finally the code that you wrote to post activities or get friends all pretty much is compatible with the MySpace ID Javascript library.
  32. Our latest and greatest is the real time stream
  33. Here's an example of what's possible.
  34. One of our earliest demos was a live map updating map that tracked status and mood updates around the world.
  35. To give you an idea of how much data check out this graph on
  36. We’re really just at the tip of the iceberg on whats possible.A third party examples is We Are Hunted… they’ve created a radio based on what songs are being played. For eg. RTS let’s you subscribe to what Profile songs are being added
  37. Thedata you can subscribe to includes
  38. -Wanted to run through a list of tips and tricks that should be useful for most developers
  39. The first tip is to explain all of the different versions and what they mean.On MySpace we support OpenSocial 0.8 and have beta support for OpenSocial 0.9. So what does that mean? It’s mostly relevant to apps running onsite in what is called the container, which is a runtime environment hosted by MySpace. The container provides a JavaScript API defined by the OpenSocial spec that is used to access data.All clients, including the container, offsite apps, etc, access the same REST endpoints. The first two URLs were created to service our first iterations of the OpenSocial spec. The last entry, with the opensocialsubdomain, is a new set of APIs built from the ground up, designed to be compliant with OpenSocial 0.9.
  40. The home surface is fairly unique to MySpace as most other social networks don’t provide this surface. One thing to watch out for is that this surface, if used, will get exponentially more traffic than the canvas surface. This is because people return to their home page 3 or 4 times per session, making it the most viewed page on all of MySpace.If you do make use of this surface, make sure to optimize it!Use browser cache when sending requests back to your serversUse as much static content as possibleStick that static content on CDNs, smaller shops may even be able to upload their photos to MySpace and link them that wayDon’t be chatty, try to do everything in as few requests as possible
  41. I also want to briefly explain the app lifecycle. When you create an app, it is in dev mode. Once you’re happy with it you hit the “publish” button and it goes out for review. If the review is successful the app is live.At this point there are actually two versions of your app, the dev version and the live version. You can continue to make changes to your dev app, and that won’t affect your live app. When you click the “republish” button, the live version of the app is replaced by the latest dev version. The dev app is never visible to anyone but the developer.To see the dev version of your app append appvers=dev to the end of the URL. Some developers find it handy to create two apps, one just used for development, and the other used as the production app.The developer site also gives you the ability to add developers and testers to an app. Adding one of your friends as a developer gives that user the ability to modify the app’s source. Adding a tester allows that user to run the app in dev mode.
  42. The OpenSocial JavaScript API is used when your app is onsite and is uploaded to MySpace to be run on our servers. This is opposed to an onsite app that is run on your servers, where you would just specify a URL and we’d load that URL into an iframe on the page.It is some new syntax to learn but it’s not that bad. For example, a lot of games just need to fetch a friend list and there is a lot of sample code out there on how to do that. Also, you’ll need to access the OpenSocial API anyway if you want to use most of the virality features, like sending app invites, so you’ll need to learn it anyway.One added benefit of running an app on our servers is that you’ll soon be able to make use of OSML. OSML is a tag based language similar to FBML. In the example here this script block would be replaced by the current user’s data along with their friend list before the app got rendered to the client.
  43. In the 0.9 container the osapi library will be available, which should make the syntax a little less verbose. The top example is the new osapi syntax while the bottom example is the legacy syntax. Both of these actually do the exact same thing, which is to fetch a friend list.Finally, if you’re using so much JavaScript it can really make your life easier to use one or more of the many 3rd party libraries that are out there, like jQuery and prototype. These can greatly speed up development and take most of the cross browser quirks out of the picture.
  44. When it comes to debugging your apps there are a few tips I can pass on. The first is that the OpenSocial container swallows the alert function, so you can’t use that to debug. We did this for user experience reasons, apps on home and profile surfaces were popping alerts all the time with random messages, which is a pretty bad user experience.Some alternatives to alert are to write messages to a div, or to use Firefox with the Firebug plugin. I highly suggest Firebug and I personally don’t do any web development anymore without it. To make your life easier when using Firebug, open up the app’s iframe into a new window, that way you’re only dealing with one DOM instead of two. Subsequent page refreshes will also be faster.Another useful tool is Fiddler. Fiddler monitors all your outgoing traffic and lets you see exactly what requests you are sending out, what response you are getting, and even modify and re-execute requests.
  45. One other interesting issue is how all the JavaScript loads inside the OpenSocial container. In the top example some kind of initialization code needs to be run, so the init function is defined at the top of the script, and it is called at the bottom. Init calls gadgets.window.adjustHeight, which is a utility function that reach outside the iframe to resize itself to fit the contents. In this case you can’t be sure all of the JavaScript has been fully loaded both inside and outside the iframe, so it may not always work.The second example uses the preferred method, which is to use gadgets.util.registerOnLoadHandler. You can pass in one or more functions you would like executed when everything is done loading. In this case, adjustHeight should always work.
  46. One thing common to many apps is the install arrow. Apps detect when a user who is visiting a canvas page doesn’t have the app installed. If they don’t, they grey out the iframe and show a big animated arrow pointing up to the “Add App” link. This flow obviously isn’t ideal, so I wanted to show you a couple ways to avoid the install arrow and just pop the install dialog.The first step is to determine if the user has the app installed. This can be accomplished in the OpenSocial container via gadgets.views.getParams().installState, or by checking the installState query parameter in an external iframe app. The valid values are 0, 1 and 2. 0 means it’s not installed, 1 means it is installed, and 2 means it was just installed and this is the first time the user is running your app.
  47. Once you’ve detected the user hasn’t installed the app you can run the code in the top example.Another way to show the popup is to add the query parameter autoInitiateInstall=true to the canvas surface URL. This is useful when you’re linking to your app externally, or from a link inside the stream.
  48. The app’s profile page is one of the main entry points for installing apps but it often gets neglected. Compare the default app profile page here to one that’s been modified.
  49. Adding a slick profile page gives the user a much better impression of your app.Essentially an app gets a profile page just like every MySpace user gets a profile page. And we all know you can trick out a profile page on MySpace. To do this just log in as the app itself, not the app developer and go to: Edit Profile, Customize Profile then fill out the CSS field.