<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>MySpace Developer Team</title><link>http://developer.myspace.com/Community/blogs/devteam/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20910.1126)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/MySpaceDeveloperTeam" type="application/rss+xml" /><feedburner:emailServiceId>MySpaceDeveloperTeam</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Announcing MSFast </title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/kri55HKdmTo/MSFast.aspx</link><pubDate>Tue, 23 Jun 2009 21:36:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:41836</guid><dc:creator>Yadid</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=41836</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/23/MSFast.aspx#comments</comments><description>Announcing MSFast &lt;i&gt;By &lt;a href="http://www.myspace.com/eyadid" rel="me"&gt;Yadid Ramot&lt;/a&gt;, Performance Architect, MySpace&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Tracking User Experience&lt;/h2&gt;
&lt;h3&gt;An overview of MySpace’s new open-source performance tracking tool - MSFast&lt;/h3&gt;We wanted to share with everyone an open-source project we’ve been working on at MySpace that, while relevant for developers, has a broader application for everyone. As developers ourselves, like many of you we are constantly trying to figure out the best way to profile and track the performance of our pages. After deep market research, we realized that the market for profiling tools lack features and capabilities which we think are important for efficient page optimization. These conclusions pushed us to develop a new homebrew tool, MSFast, which will hopefully cover all of these missing pieces. &lt;br /&gt;It seems to us that the average web developer gives too much attention to tracking the time it takes for his content to download, and less-to-no attention to the order of the assets and the behavior of the page as it loads. 
&lt;h3&gt;Tracking Downloads&lt;/h3&gt;The first problem you can have when tracking download speed is that the data is not normalized and could be inaccurate for long term trending. There are too many possible points of failure when tracking your site periodically, such as; your ISP changes your test box’s connection speed unknowingly (repairs/mistakes etc.), added a new hardware that change the bandwidth, installed a new local firewall that slows the connection, etc. These are just examples of local changes that will cause your site to appear slower/faster, but in the real world outside of your test box, these changes won’t be reflected. &lt;br /&gt;Another problem you can have when tracking downloads is, while it’s important to keep in mind the simple equation of [slow connection + heavy content = slow site], there’s nothing much you can do about it to help speed up your site. So, you compressed your content and headers to the limit, removed the cookies and picked the fastest backboned CDN for your site, but on the user’s end, the site still act slow. What’s next? &lt;br /&gt;
&lt;h3&gt;User Experience&lt;/h3&gt;There are a lot of factors that need to be considered when optimizing the user experience on a page, such as ordering and prioritizing downloads, using the right type of download mechanism (blocking vs. async), utilizing the sockets correctly and that’s only for optimizing the content delivery. There are a lot of other elements that could cause bad user experience that has nothing to do with the actual download speed of the page. Elements with a really heavy JavaScript functionality, flash objects with a large amount of sprites that spike the CPU, heavy ActiveX controls that use a lot of memory, weird browser rendering quirks… these and more, can really clog the client’s machine and create a bad user experience when browsing our site. 
&lt;h3&gt;Page Performance&lt;/h3&gt;As far as we know, the current common methods for profiling and capturing page performance are by: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Running an HTTP sniffer when requesting the page and measuring each request &lt;/li&gt;
&lt;li&gt;Timing the page’s ONLOAD event&lt;/li&gt;
&lt;li&gt;Injecting a code before and after JavaScript calls and timing them&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;For the download side, using the right HTTP tracking software that generates accurate waterfall graphs can really help developers to re-prioritize requests and optimize the way content delivers by showing the order of downloads and which request blocked the pages vs. which were download in parallel. &lt;br /&gt;On the events side, the ONLOAD and other before/after benchmarks can help developers measure specific and known functionality that blocked the rendering of the page. 
&lt;h3&gt;What’s Missing?&lt;/h3&gt;Using the current available tools, we can track real-time download bottlenecks, JavaScript bottlenecks (as long as we know roughly where they are) and the ONLOAD event. Here’s what we felt was still missing: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Normalize the download speed to generate accurate results&lt;/li&gt;
&lt;li&gt;Automatically detect performance bottlenecks caused by an object that spikes the CPU or clogs the memory&lt;/li&gt;
&lt;li&gt;A good way to tell when content is displayed and how long it took to render each UI element on the page&lt;/li&gt;
&lt;li&gt;Detect blocking browser rendering quirks&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;So to sum it all up, for our purposes, the ultimate performance profiling and user experience tracking tool should have: &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Normalize download data – Throttle down the inbound connection to ensure steady speed&lt;/li&gt;
&lt;li&gt;An HTTP sniffer – Track download speed and blocking requests&lt;/li&gt;
&lt;li&gt;JavaScript profiling capabilities – Profile how long it take to execute each function and detect blocking functions&lt;/li&gt;
&lt;li&gt;CPU and Memory profiling capabilities – Detect how much memory and CPU the page consumes and how much each element costs us&lt;/li&gt;
&lt;li&gt;Screenshot capturing abilities – Capture the page as it render to see exactly what was rendered during each event&lt;/li&gt;
&lt;li&gt;A mechanism that tracks the time it takes to render each segment of the page&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;During the past ~6 months, we at MySpace have been designing and developing a tool that would do exactly that (and more ;] ) and we ended up with “MSFast” - a browser plug-in that gives developers a complete, deep look at everything we could think of, from the moment the page leaves the web-server to the moment the page is completely rendered. &lt;br /&gt;
&lt;h3&gt;MSFast&lt;/h3&gt;In short, the way MSFast works is by setting up a custom proxy server on the client’s machine and using that proxy to 1. Normalize the download speed by throttling inbound data 2. Injecting the page with a set of JavaScript functions that executes a series of tests and measurements. &lt;br /&gt;
&lt;h3&gt;MSFast main features are:&lt;/h3&gt;
&lt;h4&gt;Measure the CPU and Memory Consumption&lt;/h4&gt;MSFast captures the CPU and memory state of the browser’s process from the moment the page leaves the webserver to the moment the page is completely rendered. 
&lt;h4&gt;Screenshots of the page&lt;/h4&gt;MSFast automatically takes screenshots of the page while it renders. These screenshots could then be reviewed against the rest of the collected data to see the actual UI state of the page. 
&lt;h4&gt;Review downloaded files and show download time estimation on different bandwidths&lt;/h4&gt;MSFast captures the page’s HTTP traffic and stores the connection times. Since we throttle the connection and always ensure a constant tracking speed, we can display download estimates for each file, under different bandwidths. 
&lt;h4&gt;Measure and show estimates of the time it takes to render each section of the page in different connection speeds &lt;/h4&gt;When the page loads, MSFast breaks it apart to roughly ~60 sections with an equal amount of HTML characters in them, and measures the time it takes to render each one of these sections. A developer can then review each part of HTML and see the time it will take to render it using different connection speeds. 
&lt;h4&gt;Review the rendered HTML&lt;/h4&gt;Using MSFast, a developer can skip over the rendered code and see which section of HTML was processed by the browser during the page’s lifecycle. 
&lt;h4&gt;Validate the content of your page against a set of proven “best practice” rules of web development &lt;/h4&gt;MSFast has a custom list of “validators” that could run against the tested page and alert the developer if their code goes against a set of common “best practices”. These rules are fully customizable and MSFast exposes an API for writing additional business-specific custom rules. 
&lt;h3&gt;Open Source&lt;/h3&gt;We are dedicated to working with the developer community and see a great opportunity in giving back to the development community by open sourcing MSFast. We hope that this project will be one of the first of many future projects that we will open source ? &lt;br /&gt;&lt;br /&gt;For more details and download directions please follow this link – &lt;a href="http://www.msfast.com/"&gt;http://www.msfast.com&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;i&gt;By &lt;a href="http://www.myspace.com/eyadid" rel="me"&gt;Yadid Ramot&lt;/a&gt;, Performance Architect, MySpace&lt;/i&gt; &lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=41836" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=kri55HKdmTo:PIAaKg9Utgc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/MSFast/default.aspx">MSFast</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/Yadid+Ramot/default.aspx">Yadid Ramot</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/23/MSFast.aspx</feedburner:origLink></item><item><title>Opening Up App Activities for All Users</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/cS-QvPqYU0I/opening-up-app-activities-for-all-users.aspx</link><pubDate>Sat, 13 Jun 2009 23:16:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:41549</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>8</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=41549</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/13/opening-up-app-activities-for-all-users.aspx#comments</comments><description>&lt;p&gt;Very shortly we&amp;#39;ll be releasing a feature we are very excited about. Soon, app activities will be visible to friends of app users, regardless if they have the app installed. Though app activities have been useful in keeping existing users engaged, this has limited the viral utility of the feature. &lt;/p&gt;
&lt;p&gt;As part of this feature we&amp;#39;ve included a few convenient and contextual options to each app activity. Activities for apps that a user already have installed will include in the activity stream an option to toggle the &amp;quot;receive activities&amp;quot; permission for that app. Activities for apps a user doesn&amp;#39;t have installed will include a &amp;quot;Block app&amp;quot; option as well as an &amp;quot;Add app&amp;quot; option. Initially this UI will be released as standard links to inline modals. Shortly thereafter the UI will be updated based on a single click drop down menu system.&amp;nbsp; In addition, we&amp;#39;ll also be adding another avenue for users to add your app by adding an &amp;quot;Add app&amp;quot; option to activities that appear within the activity stream module on a user&amp;#39;s profile as well.&lt;/p&gt;
&lt;p align="center"&gt;&lt;img border="0" alt="" src="http://c1.ac-images.myspacecdn.com/images02/71/l_aa2d1a9c04a44520af29a7c93d987224.jpg" width="454" height="459" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;New&amp;nbsp;App Activities for&amp;nbsp;All Users and Links&amp;nbsp;&lt;/p&gt;
&lt;p&gt;As always, the user experience is of utmost concern to us. We&amp;#39;ll be closely monitoring the use of this feature on release. Any apps that are found to be abusing this functionality to the detriment of the user or in violation of the Terms of Usage will be dealt with immediately.&lt;/p&gt;
&lt;p&gt;The team has put in a lot of hard work into this feature and the required infrastructure to support it. We hope that you enjoy this feature and it helps in the success of your app!&lt;br /&gt;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=41549" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=cS-QvPqYU0I:mzfeN_KwPF0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/communications/default.aspx">communications</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/ACC/default.aspx">ACC</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/Activities/default.aspx">Activities</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/Friend+Updates/default.aspx">Friend Updates</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/ActivityStreams/default.aspx">ActivityStreams</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/13/opening-up-app-activities-for-all-users.aspx</feedburner:origLink></item><item><title>Increased Recipients for App Invites</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/1MgKcKvWzXc/increased-recipients-for-app-invites.aspx</link><pubDate>Sat, 13 Jun 2009 23:07:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:41548</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=41548</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/13/increased-recipients-for-app-invites.aspx#comments</comments><description>&lt;p&gt;As mentioned in a previous blog, you are currently limited to sending 10 recipients per app invite. Starting in the next few weeks we&amp;#39;ll be beginning a trial run which will double the limit to 20 recipients per invite. This trial will last for two weeks at which time we&amp;#39;ll closely be monitoring the effects for both developers and the end user experience. From the end user perspective, the recipient field will now auto scroll if more than 2 rows of invitees are passed in. &lt;/p&gt;
&lt;p&gt;Please keep in mind that during this time all existing limitations related to app invites will still remain in effect. This includes the moratorium on app invite looping. We look forward to seeing the results. &lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=41548" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=1MgKcKvWzXc:0Ti88c3scWg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/communications/default.aspx">communications</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/invites/default.aspx">invites</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/invitations/default.aspx">invitations</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/ACC/default.aspx">ACC</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/invite/default.aspx">invite</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/ACC+APP+invites+requestShareApp/default.aspx">ACC APP invites requestShareApp</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/app+invites/default.aspx">app invites</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/13/increased-recipients-for-app-invites.aspx</feedburner:origLink></item><item><title>MySpaceID WordPress Plugin Announced at WordCamp SF 2009</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/zHp3nrZeHuQ/MySpaceID-WordPress-Plugin-Announced-at-WordCamp-SF-2009.aspx</link><pubDate>Fri, 05 Jun 2009 23:18:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:41207</guid><dc:creator>Kiam</dc:creator><slash:comments>10</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=41207</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/05/MySpaceID-WordPress-Plugin-Announced-at-WordCamp-SF-2009.aspx#comments</comments><description>&lt;br /&gt;
On Saturday May 30 in San Francsico, we announced the MySpaceID &lt;a href="http://wiki.developer.myspace.com/index.php?title=MySpaceID_WordPress_Plug-in_Setup" target="_blank"&gt;WordPress Plugin&lt;/a&gt; at &lt;a href="http://2009.sf.wordcamp.org/" target="_blank"&gt;WordCamp SF 2009&lt;/a&gt;.&amp;nbsp; Interest was so overwhelming that we ran out of flyers to hand out!&lt;br /&gt;&lt;br /&gt;

&lt;b&gt;For those people who want more information, the plugin is available at&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://wordpress.org/extend/plugins/wp-myspaceid/" target="_blank"&gt;http://wordpress.org/extend/plugins/wp-myspaceid/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;Documentation on how to install it can be found at&lt;/b&gt;:&lt;br /&gt;&lt;a href="http://wiki.developer.myspace.com/index.php?title=MySpaceID_WordPress_Plug-in_Setup" target="_blank"&gt;http://wiki.developer.myspace.com/index.php?title=MySpaceID_WordPress_Plug-in_Setup&lt;/a&gt;&lt;br /&gt;


&lt;h3&gt;What is the MySpaceID WordPress plugin?&lt;/h3&gt;

If you have a self-hosted WordPress blog, the MySpaceID WordPress plugin lets your users log in with their MySpace credentials to leave comments.&amp;nbsp; This brings a few advantages:
&lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;Rather than leave comments anonymously, your users can now easily log in with their MySpace credentials in as little as 2 clicks and have their MySpace user name, picture and link automatically show up in the comment.  Many users care about letting others find out more about them, and this is a really convenient way to do that, while boosting social engagement on your site.
&lt;/li&gt;&lt;li&gt;After a user logs in, a cool-looking but unobtrusive bar appears across the bottom of the page. It lets the user share your blog with his friends simply by updating his status on MySpace.
&lt;/li&gt;&lt;li&gt;The above status update contains a link to your blog, so that it drives traffic to your site (free marketing!), plus improves your PageRank.
&lt;/li&gt;&lt;/ol&gt;


How awesome is that?&amp;nbsp; In addition, the following features are coming soon:

&lt;ol&gt;
&lt;li&gt;When a user posts a comment, he can optionally share that with his friends as an activity on MySpace.
&lt;/li&gt;&lt;li&gt;When you post a new blog entry, you can share it with your friends as an activity on MySpace.
&lt;/li&gt;&lt;/ol&gt;

This is the first release of this plugin, and as it undergoes several iterations in the coming months, we want to improve it with your input.  Please make sure to post your suggestions and comments to our MySpaceID forum at &lt;a href="http://developer.myspace.com/Community/forums/60.aspx" target="_blank"&gt;http://developer.myspace.com/Community/forums/60.aspx&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

We are really excited to be working with the WordPress community on a plugin that is a win-win for all.&amp;nbsp; Currently, our plugin works only with self-hosted WordPress installations.&amp;nbsp; If you have such an installation, make sure you install it and try it out!&lt;br /&gt;&lt;br /&gt;

Thanks to our developers who built this plugin: Chris Baker (&lt;a href="http://www.myspace.com/christopherbbaker" target="_blank"&gt;www.myspace.com/christopherbbaker&lt;/a&gt;) and Steve Ng (&lt;a href="http://www.myspace.com/stevenng" target="_blank"&gt;www.myspace.com/stevenng&lt;/a&gt;, Twitter: &lt;a href="http://www.twitter.com/stevenng" target="_blank"&gt;@stevenng&lt;/a&gt;)!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=41207" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=zHp3nrZeHuQ:eCaz2BqoLtA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/05/MySpaceID-WordPress-Plugin-Announced-at-WordCamp-SF-2009.aspx</feedburner:origLink></item><item><title>DevJam Videos are Available!</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/3k5V4tZa75I/devjam-videos-are-available.aspx</link><pubDate>Fri, 05 Jun 2009 02:29:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:41153</guid><dc:creator>rondata</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=41153</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/04/devjam-videos-are-available.aspx#comments</comments><description>&lt;p&gt;Greetings Developers,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The first batch of MySpace Open Platform DevJam videos has been uploaded!&lt;br /&gt;Please click on a link below to view the video, and also check out our&lt;a href="http://wiki.developer.myspace.com/index.php?title=MySpace_DevJam_-_San_Francisco_-_May_26%2C_2009"&gt; DevJam page for the uploaded presentations.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vids.myspace.com/index.cfm?fuseaction=vids.individual&amp;amp;VideoID=58476915"&gt;MySpace Open Platform - State of the Union&lt;br /&gt;&lt;/a&gt;Presented by: &lt;br /&gt;Jason Oberfest, SVP of Business Development for MySpace&lt;br /&gt;Gerardo Capiel, VP of Product for the MySpace Open Platform&lt;br /&gt;Max Engel, Product Manager for MySpaceID and the MySpace Open Platform &lt;/p&gt;
&lt;p&gt;&lt;a href="http://vids.myspace.com/index.cfm?fuseaction=vids.individual&amp;amp;VideoID=58475533"&gt;Building a Business on MySpace&lt;br /&gt;&lt;/a&gt;Presented by Dan Yue, Co-Founder of Playdom&lt;br /&gt;&lt;a href="http://www.playdom.com"&gt;http:/www.playdom.com&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vids.myspace.com/index.cfm?fuseaction=vids.individual&amp;amp;VideoID=58476191"&gt;How to Port Apps to MySpace&lt;/a&gt;&lt;br /&gt;Presented Sebastien de Halleux, Chief Operating Officer and Co-Founder of Playfish &lt;br /&gt;&lt;a href="http://www.playfish.com"&gt;http://www.playfish.com&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vids.myspace.com/index.cfm?fuseaction=vids.individual&amp;amp;VideoID=58476520"&gt;A Case Study on Monetization&lt;br /&gt;&lt;/a&gt;Presented by:&amp;nbsp; A.T., EVP, Sales &amp;amp; Business Development of Zynga&lt;br /&gt;&lt;a href="http://www.zynga.com"&gt;http://www.zynga.com&lt;/a&gt;&lt;br /&gt; &lt;/p&gt;
&lt;p&gt;Thanks to all who attended DevJam. It was great meeting with you.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#39;ll be uploading more videos as they become available.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Rhonda&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=41153" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=3k5V4tZa75I:1TuY69aPQ70:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/06/04/devjam-videos-are-available.aspx</feedburner:origLink></item><item><title>San Francisco DevJam: Streaming Live</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/fFSjkdGF7_k/san-francisco-devjam-streaming-live.aspx</link><pubDate>Tue, 26 May 2009 11:35:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:40640</guid><dc:creator>rondata</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=40640</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/26/san-francisco-devjam-streaming-live.aspx#comments</comments><description>&lt;p&gt;Greetings Developers, &lt;br /&gt;&amp;nbsp;&lt;br /&gt;DevJam starts today at 10:00 AM PST!&lt;br /&gt;&amp;nbsp;&lt;br /&gt;For those developers that aren’t able to attend the devJam in person, you can watch it live! Tune in to &lt;a href="http://www.myspace.com/devjam2009"&gt;http://www.myspace.com/devjam2009&lt;/a&gt; for all the details. &lt;/p&gt;
&lt;p&gt;With this, we are excited to announce UStream’s implementation of MySpaceID – props to the team for an awesome implementation!&lt;br /&gt;&amp;nbsp;&lt;br /&gt;You can interact with fellow developers in real time as you watch the devJam. Chats will also appear as status updates back on MySpace and you can check out the profiles of other developers watching the sessions.&amp;nbsp; I encourage all of you to check out the devJam and this exciting new implementation of MySpaceID – It’s a great example of what MySpaceID can do and hints at what’s to come. &lt;/p&gt;
&lt;p&gt;Also, we have another exciting announcement: Zynga will be presenting a case study on monetization. &lt;/p&gt;
&lt;p&gt;You won&amp;#39;t want to miss this!&lt;/p&gt;
&lt;p&gt;Sign in, watch the devJam, and join the conversation!&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Coming in person? We can&amp;#39;t wait to meet you. Hope to see you there or see you online. &lt;/p&gt;&lt;p&gt;Rhonda&lt;/p&gt;
&lt;p&gt;View the full agenda here: &lt;a href="http://myspacesfdevjam.eventbrite.com/"&gt;http://myspacesfdevjam.eventbrite.com/&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=40640" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=fFSjkdGF7_k:EkYe4WlzqJg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/26/san-francisco-devjam-streaming-live.aspx</feedburner:origLink></item><item><title>UPDATE - Maintenance Outage Tomorrow Night 5.20.09</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/aNa2ebyyNK0/alert-maintenance-outage-tonight-5-19-09.aspx</link><pubDate>Wed, 20 May 2009 00:37:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:40376</guid><dc:creator>rondata</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=40376</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/19/alert-maintenance-outage-tonight-5-19-09.aspx#comments</comments><description>&lt;p id="ed2b9a85-5292-4423-84d0-041825435ddd"&gt;Greetings Developers,&lt;br /&gt;&lt;br /&gt;A quick heads up, we need to take care of some routine maintenance tomorrow tonight. During this time, apps may be disabled and the developer site may be inaccessible. his planned outage starts at aprox 9:00PM tonight (PST) and will last aprox 2-3 hours. Expect downtime between 9:00PM - 12:00AM (PST).&lt;br /&gt;&lt;br /&gt;Let me know if you have any questions. &lt;/p&gt;&lt;p id="ed2b9a85-5292-4423-84d0-041825435ddd"&gt;Thanks!&lt;/p&gt;&lt;p id="ed2b9a85-5292-4423-84d0-041825435ddd"&gt;Rhonda&lt;/p&gt;&lt;p id="ed2b9a85-5292-4423-84d0-041825435ddd"&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=40376" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=aNa2ebyyNK0:3vWwIB1U7E8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/19/alert-maintenance-outage-tonight-5-19-09.aspx</feedburner:origLink></item><item><title>REST App Notifications Are Now Available</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/Vw1FpcBwVYI/REST-App-Notifications-are-Now-Available.aspx</link><pubDate>Sat, 16 May 2009 00:26:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:40242</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>9</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=40242</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/15/REST-App-Notifications-are-Now-Available.aspx#comments</comments><description>&lt;p&gt;We&amp;#39;re happy to announce that we&amp;#39;ve just released the final piece of app notifications. You can now send app notifications directly from an OAuth REST end point.&amp;nbsp;The REST end point allows you to pass in up to one thousand (1000) recipients at a time making it ideal for mass messaging communications to users of your app. This method also allows you to send notifications on a true server-to-server basis which is not initiated by a user action.&lt;/p&gt;
&lt;p&gt;The general notifications page can be found in the developer &lt;a href="http://wiki.developer.myspace.com/index.php?title=App_Notifications" class=""&gt;Wiki&lt;/a&gt;. Documentation for the REST end point can be found &lt;a href="http://wiki.developer.myspace.com/index.php?title=POST_v1_applications_applicationId_notifications" class=""&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=40242" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=Vw1FpcBwVYI:eKgEFx_Jr7E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/REST/default.aspx">REST</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/notifications/default.aspx">notifications</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/15/REST-App-Notifications-are-Now-Available.aspx</feedburner:origLink></item><item><title>Register Now! San Francisco DevJam - Tuesday, May 26th</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/Ly3Z5qkDjk8/register-now-san-francisco-devjam-tuesday-may-26th.aspx</link><pubDate>Wed, 13 May 2009 23:19:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:40135</guid><dc:creator>rondata</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=40135</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/13/register-now-san-francisco-devjam-tuesday-may-26th.aspx#comments</comments><description>&lt;p&gt;Greetings Developers!&lt;/p&gt;
&lt;p&gt;The MySpace Open Platform would like to invite you to another special DevJam Event. &lt;br /&gt;&lt;br /&gt;This DevJam covers everything you’ll need to know about how to build great apps using&amp;nbsp; MySpace Open Platform. We’ll begin with the State of the Platform, and tell you all about what’s happening now and exciting things to come. We’ll cover everything from porting apps to MySpace, leveraging our messaging channels, making existing offsite applications more social with MySpaceID,&amp;nbsp; and everything in between.&amp;nbsp; You won’t want to miss this DevJam event!&lt;/p&gt;
&lt;p&gt;If you can’t attend in person, don’t worry! We plan to livestream the event, stay tuned on that front for more details…&lt;/p&gt;
&lt;p&gt;Guest Speakers include: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;Jason Oberfest, General Manager of the MySpace Open Platform and SVP of Business Development&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Gerardo Capiel, VP of Product for the MySpace Open Platform&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Dan Yue, Co-Founder of Playdom&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Sebastien de Halleux, Chief Operating Officer and Co-Founder of Playfish&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Max Newbould, Product Lead for MySpace Open Platform’s OpenSocial container&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Max Engel, Product Lead for MySpaceID&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;And many more! &lt;/p&gt;
&lt;p&gt;Space is limited, so click below to see the full agenda and to register now!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://myspacesfdevjam.eventbrite.com/"&gt;http://myspacesfdevjam.eventbrite.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" title="MySpaceDevJam" href="http://myspacesfdevjam.eventbrite.com/" target="_blank"&gt;&lt;img src="http://i341.photobucket.com/albums/o372/MySpace_MDP/devjam.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;See you there!! :) :) &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Rhonda&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=40135" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=Ly3Z5qkDjk8:_ySP6XPh_MI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/devJAM/default.aspx">devJAM</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/13/register-now-san-francisco-devjam-tuesday-may-26th.aspx</feedburner:origLink></item><item><title>App Notifications for OpenSocial Container now LIVE</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/46R9RwQC52g/App-Notifications-for-OpenSocial-Container-Now-Live.aspx</link><pubDate>Tue, 12 May 2009 20:38:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:40075</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>28</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=40075</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/12/App-Notifications-for-OpenSocial-Container-Now-Live.aspx#comments</comments><description>&lt;font face="ArialMT"&gt;
&lt;p align="left"&gt;Just a quick heads up, sending notifications from the OpenSocial container is now live and ready for use. As I mentioned in my &lt;a href="http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/06/app-notifications-updates-and-rest-access.aspx" class=""&gt;previous blog&lt;/a&gt;, this is ideal for implementation of action prompting messages, such as turn based indicators. Per the updated &lt;a href="http://wiki.developer.myspace.com/index.php?title=Developer_Addendum_to_MySpace.com_Terms_of_Use_Agreement" class=""&gt;Terms of Usage&lt;/a&gt;, notifications sent from the OpenSocial container are limited to ten at a time, and all ten must be friends of the current app viewer. Please make sure you familiarize yourself with the full &lt;a href="http://wiki.developer.myspace.com/index.php?title=App_Notifications"&gt;updated details in the documentation&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;
&lt;p align="left"&gt;You can test out notifications in action by checking out a &lt;a href="http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=130347" class=""&gt;Simple Notifications App&lt;/a&gt; and a &lt;a href="http://profile.myspace.com/Modules/Applications/Pages/Canvas.aspx?appId=130999" class=""&gt;Advanced Notifications App&lt;/a&gt;.&lt;/p&gt;
&lt;p align="left"&gt;Here are some current known issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="left"&gt;The App Notifications home page indicator isn&amp;#39;t currently on. Expect this functionality to be turned on&amp;nbsp;shortly.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;Notifications aren&amp;#39;t currently deleted when a user uninstalls an app. Expect this shortly as well.&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div align="left"&gt;Direct REST access to notifications (for mass messaging to all users). Just around the corner... ;)&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p align="left"&gt;Please let us know if you run into any problems or if you have any feature suggestions. We hope you enjoy this feature! &lt;br /&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=40075" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=46R9RwQC52g:wA-JtokRVkk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/notifications/default.aspx">notifications</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/12/App-Notifications-for-OpenSocial-Container-Now-Live.aspx</feedburner:origLink></item><item><title>How to figure out Maximum OpenSocial Query Result Sizes</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/f_Mlmw1dvic/how-to-figure-out-maximum-page-sizes.aspx</link><pubDate>Thu, 07 May 2009 16:00:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:39792</guid><dc:creator>Scott</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=39792</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/07/how-to-figure-out-maximum-page-sizes.aspx#comments</comments><description>&lt;p&gt;Many social web sites, Hi5, Orkut, MySpace, and others, all implement the OpenSocial specification. A number of the features in the specification allow you to get sets of items in one JavaScript call. These methods allow you to retrieve sets of friends, activities, and more. The OpenSocial specification requires the containers to&amp;nbsp;support page sizes of 1 to 20 items per fetch. The spec allows for containers to support larger pages at the container&amp;#39;s discretion. When working with a container, you may want to know what the upper limit actually is. You can find this information by searching the documentation of each OpenSocial container or you can write a tool that just tells you what the value is. Let&amp;#39;s write that tool!&lt;/p&gt;
&lt;p&gt;To find these limits, you will normally need access to an account with a moderately large number of friends, activities, albums, pictures, etc.-- about 200 of the value you are testing should work. The key part here is &amp;#39;access&amp;#39; to such an account.&amp;nbsp;In all but the friends case, you should be able to create an account with those characteristics without&amp;nbsp;external assistance.&amp;nbsp;For the friends case, you&amp;#39;ll need to figure out which of your friends is well connected, then convince them to run this application and&amp;nbsp;report back any results. Let&amp;#39;s build an application that tests the friends case.&lt;/p&gt;
&lt;p&gt;To start with, we&amp;#39;ll set up a simple UI that allows us to state how far along we are in the testing. When all is done, we want to report back the maximum page size for this container. Our markup is:&lt;/p&gt;
&lt;div style="BACKGROUND-COLOR:white;FONT-FAMILY:Monospace;FONT-SIZE:10pt;"&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;style&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;type&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;.results&lt;/span&gt;&lt;span style="COLOR:black;"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;overflow&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;scroll&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;height&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;350px&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;width&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;100%&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;border-color&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;#000&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;border-style&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;solid&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:red;"&gt;border-width&lt;/span&gt;&lt;span style="COLOR:black;"&gt;:&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;thin&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;style&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;p&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;b&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;Maximum friend page size: &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;b&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;span&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;id&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;maxPageSize&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;span&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;p&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;div&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;class&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;results&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;id&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;testOutput&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;div&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;button&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;id&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;btnRunTest&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt; &lt;/span&gt;&lt;span style="COLOR:red;"&gt;onclick&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;=&amp;quot;runTests();&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;Find Person Maximum&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;button&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;Now, we need to write some OpenSocial code to discover those limits. The function we are writing will report back the largest page size that can be used for the &lt;em&gt;current &lt;/em&gt;account. If you try this with an account that has 2 friends, the largest page that makes sense is 2 people. Ideally, you will have access to an account that has more friends (or other resource)&amp;nbsp;than what fit in a single request. The idea is simple-- we start by testing a page of size 20 (the smallest &amp;#39;big&amp;#39; page according to the OpenSocial specification). If that request&amp;nbsp;succeeds and returns 20 friends, we double the number to 40&amp;nbsp;and try again. Eventually, we will either get all the friends in one request or we will request a page that is larger than what the container supports. If the requested size page is too big, the size of the resulting array will be smaller and will tell us what the maximum is. &lt;/p&gt;
&lt;p&gt;We start by keeping track of the size of the last successful test in case we overshoot the top and start getting errors. We also have a simple output function that adds strings to the testOutput &amp;lt;div&amp;gt; tag.&lt;/p&gt;
&lt;div style="BACKGROUND-COLOR:white;FONT-FAMILY:Monospace;FONT-SIZE:10pt;"&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; lastSuccessfulTestSize = -1;&lt;br /&gt;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;&lt;span style="COLOR:black;"&gt; writeInfo(info){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;testOutput&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;).innerHTML += info + &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;We then need to run the tests. This involves initializing the outputs and then calling the workhorse function, findMaxPageSize.&lt;/p&gt;
&lt;div style="BACKGROUND-COLOR:white;FONT-FAMILY:Monospace;FONT-SIZE:10pt;"&gt;&lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;&lt;span style="COLOR:black;"&gt; runTests() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;testOutput&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;).innerHTML = &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;maxPageSize&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;).innerHTML = &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;findMaxPageSize(20);&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;findMaxPageSize takes a single argument: the maximum page size. I start out at 20 since that is the lower limit for any container. findMaxPageSize will have to follow the basic steps of getting a list of people:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Construct an IdSpec indicating who to pick and then which group. We&amp;#39;ll get the viewer&amp;#39;s friends.&lt;/li&gt;
&lt;li&gt;Set the fetch params to indicate we want the first N friends by setting the &lt;font size="2"&gt;&lt;em&gt;opensocial.DataRequest.PeopleRequestFields.MAX&lt;/em&gt; param to N and &lt;font size="2"&gt;&lt;em&gt;opensocial.DataRequest.PeopleRequestFields.FIRST &lt;/em&gt;to 1.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Make the request and wait for the response.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font size="2"&gt;In the response, we then:&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;font size="2"&gt;Check if an error occurred. If so, reduce the size of the page and try again. &lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;If no error occurred, get the list back. If the list size is smaller than what we asked for, we&amp;#39;ve hit a maximum for this person. Note: this is only absolute for the container if more friends exist.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Otherwise, try again with a larger number. &lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font size="2"&gt;Here that is, reduced to code:&lt;/font&gt;&lt;/p&gt;
&lt;div style="BACKGROUND-COLOR:white;FONT-FAMILY:Monospace;FONT-SIZE:10pt;"&gt;&lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;&lt;span style="COLOR:black;"&gt; findMaxPageSize(testSize) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; dataRequest = opensocial.newDataRequest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; params = {};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[opensocial.IdSpec.Field.USER_ID] = opensocial.IdSpec.PersonId.VIEWER;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;params[opensocial.IdSpec.Field.GROUP_ID] = &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;#39;FRIENDS&amp;#39;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; idspec = opensocial.newIdSpec(params);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; fetchPeopleParams = {};&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fetchPeopleParams[opensocial.DataRequest.PeopleRequestFields.MAX] = testSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fetchPeopleParams[opensocial.DataRequest.PeopleRequestFields.FIRST] = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; fetchPeople = dataRequest.newFetchPeopleRequest(idspec, fetchPeopleParams);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataRequest.add(fetchPeople, &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;#39;fetchPeople&amp;#39;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dataRequest.send(&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;function&lt;/span&gt;&lt;span style="COLOR:black;"&gt;(response) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; nextTestSize = testSize * 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; max = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; foundMax = &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;false&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;span style="COLOR:black;"&gt; (response.hadError()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nextTestSize = parseInt((lastSuccessfulTestSize + testSize) / 2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeInfo(testSize + &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot; was too big. Trying &amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt; + nextTestSize + &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;span style="COLOR:black;"&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;var&lt;/span&gt;&lt;span style="COLOR:black;"&gt; ppl = response.&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;get&lt;/span&gt;&lt;span style="COLOR:black;"&gt;(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;#39;fetchPeople&amp;#39;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;).getData().asArray();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastSuccessfulTestSize = testSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;span style="COLOR:black;"&gt; (ppl.length &amp;lt; testSize) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max = ppl.length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foundMax = &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;true&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;/span&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;span style="COLOR:black;"&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foundMax = nextTestSize == lastSuccessfulTestSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max = nextTestSize;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;if&lt;/span&gt;&lt;span style="COLOR:black;"&gt; (foundMax) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeInfo(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;Found the maximum friend page size.&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;maxPageSize&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;).innerHTML = max;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;return&lt;/span&gt;&lt;span style="COLOR:black;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="COLOR:blue;"&gt;else&lt;/span&gt;&lt;span style="COLOR:black;"&gt; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writeInfo(&lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot; Trying &amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt; + testSize + &lt;/span&gt;&lt;span style="COLOR:#a31515;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span style="COLOR:black;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;findMaxPageSize(nextTestSize);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;br /&gt;}&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;When running this on MySpace, I found that the maximum number of friends/page is 100 (as of today). This code works on OpenSocial 0.8 and 0.9 containers and can be useful for optimizing your applications for the different platforms you use.&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=39792" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=f_Mlmw1dvic:xBHC9-Ps4G8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/07/how-to-figure-out-maximum-page-sizes.aspx</feedburner:origLink></item><item><title>App Notifications, Terms of Usage and REST Access</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/6bigWIF0A50/app-notifications-updates-and-rest-access.aspx</link><pubDate>Thu, 07 May 2009 02:36:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:39813</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=39813</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/06/app-notifications-updates-and-rest-access.aspx#comments</comments><description>&lt;p&gt;With the initial release of App Notifications just around the corner I wanted to clarify some features and best practices for implementing app to user communications. &lt;/p&gt;
&lt;p&gt;The first piece of App Notifications we’ll be releasing will allow you to send notifications directly from the OpenSocial 0.8 container.&amp;nbsp; This is the ideal method for sending “action prompting” messages to the user from the app, such as “Your Turn” indicators.&amp;nbsp; Sending notifications from the container will ultimately be limited to ten (10) recipients and they must be friends of the User.&lt;/p&gt;
&lt;p&gt;The next component (which will be released shortly after the container functionality) will allow developers to send notifications directly from a REST end point.&amp;nbsp; Using the REST end point, developers can send notifications to any of their app users, making it ideal for digest or informational type messages. You’ll be limited to passing a maximum of one thousand (1000) recipients per call to this end point and it will be throttled (for obvious infrastructure reasons).&lt;/p&gt;
&lt;p&gt;As part of our commitment to the MySpace App user experience, we’ll be making some specific updates to the Terms of Use. In addition to the standard rules of content for app communications (no advertising, no incentivizing, etc.), App Notifications obviously need to be directly and clearly related to the sending app. Any users you mention in notifications must be aware that their information is being included and you must provide a way for them to opt out. Please be sure to familiarize yourself with the new terms.&lt;/p&gt;
&lt;p&gt;The entire team has worked very hard to get this functionality out and we’re excited to see the great new apps the community creates using it!&lt;br /&gt;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=39813" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=6bigWIF0A50:_qgs_DYmWZ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/notifications/default.aspx">notifications</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/06/app-notifications-updates-and-rest-access.aspx</feedburner:origLink></item><item><title>Adding Friends as Testers and Developers!</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/YbBVJ-uTlMk/adding-friends-as-testers-amp-developers.aspx</link><pubDate>Mon, 04 May 2009 21:39:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:39697</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=39697</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/04/adding-friends-as-testers-amp-developers.aspx#comments</comments><description>&lt;p&gt;Sharing and testing apps in progress has historically been limited to just fellow app developers. This has made testing apps on any large scale prior to release difficult.&amp;nbsp; We’re happy to announce that we’ve updated the developer site to easily let you manage and add who has development and testing access to your apps. &lt;/p&gt;
&lt;p&gt;From the My Apps section of the developer site you can now click the “Developers &amp;amp; Testers” link to view a paged list of your friends along with a “Developers” and “Test Users” column. &lt;/p&gt;
&lt;p align="center"&gt;&lt;img height="401" alt="" src="http://c3.ac-images.myspacecdn.com/images02/106/l_dafecde3deb14c038fb765033aadc762.jpg" width="600" align="center" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;Simply drag and drop any of your friends into the “Test Users” column and they’ll have immediate access to view and use your app in progress. &lt;/p&gt;
&lt;p&gt;Any of your friends that are registered developers (indicated by an asterisks [“*”] next to their display name) can be dragged into the Developers column where they will have full rights to your app source code. &lt;br /&gt;&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=39697" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=YbBVJ-uTlMk:8jZw7ZDKn5o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/testers/default.aspx">testers</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/daevelopers/default.aspx">daevelopers</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/05/04/adding-friends-as-testers-amp-developers.aspx</feedburner:origLink></item><item><title>Editor's Pick Category is Live!</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/za3v-MoY0ZU/editors-pick-category-is-live.aspx</link><pubDate>Thu, 30 Apr 2009 19:27:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:39546</guid><dc:creator>rondata</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=39546</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/04/30/editors-pick-category-is-live.aspx#comments</comments><description>&lt;p&gt;Greetings Developers, &lt;/p&gt;
&lt;p&gt;Just a quick note, Editor&amp;#39;s Pick Category is LIVE!&lt;/p&gt;
&lt;p&gt;We&amp;#39;ve gotten some great apps submitted to Developer Relations and have selected a few to spotlight &lt;a class="" href="http://apps.myspace.com/Modules/AppGallery/Pages/index.aspx?fuseaction=apps&amp;amp;category=-1&amp;amp;st=recentlypopular"&gt;here&lt;/a&gt;.&amp;nbsp; This list will be periodically rotating as we find more great apps to spotlight.&lt;/p&gt;
&lt;p&gt;Thanks again for your participation and we look forward to seeing some more great apps!&lt;/p&gt;
&lt;p&gt;Rhonda&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=39546" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=za3v-MoY0ZU:MMAlByHaXgA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/04/30/editors-pick-category-is-live.aspx</feedburner:origLink></item><item><title>Multiple Recipient App Invites!!</title><link>http://feedproxy.google.com/~r/MySpaceDeveloperTeam/~3/IXkAxXNnzlc/multiple-recipient-app-invites.aspx</link><pubDate>Wed, 29 Apr 2009 20:43:00 GMT</pubDate><guid isPermaLink="false">8e485011-333f-425c-b84a-1febdb8bfab0:39474</guid><dc:creator>My CJ Chaney</dc:creator><slash:comments>13</slash:comments><wfw:commentRss>http://developer.myspace.com/Community/blogs/devteam/rsscomments.aspx?PostID=39474</wfw:commentRss><comments>http://developer.myspace.com/Community/blogs/devteam/archive/2009/04/29/multiple-recipient-app-invites.aspx#comments</comments><description>&lt;p&gt;As a developer, you’re currently limited to selecting only one recipient per app invite. For a user to send app invites to multiple friends has required developers to force the user to loop through the app invite process for each selected recipient.&amp;nbsp; Not ideal for a number of reasons for either the developer or user, especially for large recipient lists.&lt;/p&gt;
&lt;p&gt;We’re happy to announce that we’ve now&amp;nbsp;released native support for multiple app invites. As a developer you can now pass in an array of up to 10 recipients. From the end user’s perspective we’ve made a number of UI enhancements as well.&amp;nbsp; The user can now add or delete recipients directly from the invite modal using the standard multi-select component used in MySpace mail. This tool will auto recommend friends as users type. Best of all, it automatically filters out invalid recipients on the fly (eg. users who are not receiving app communications or already have the app installed).&lt;/p&gt;
&lt;p align="center"&gt;&lt;img height="324" alt="Multiple recipients" src="http://c4.ac-images.myspacecdn.com/images02/74/l_c6c45e63f23f45a78ff1b031255de4eb.png" width="600" border="0" /&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;em&gt;Multiple Recipients&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Once submitted, the user will receive a quick success confirmation that will automatically dismiss after a few seconds or list recipients whose invites could not be delivered in case of an error.&lt;/p&gt;
&lt;p&gt;Since we’re providing native multiple app invite functionality and to preserve the app user experience we’ll be phasing out support for the existing looping invite process. We’ll shortly be updating our terms of service which will require the user to navigate away from the invite process page before allowing them to send another round of invites.&amp;nbsp;We basically don’t want to encourage the same experience users have right now, but just on a larger scale. We’ll be providing a sixty (60) day grace period from the point the feature launches to fully phase out looping app invites for single recipients. In either case, you will not be allowed to loop multiple recipients.&lt;/p&gt;
&lt;p&gt;Start implementing multiple recipient invites&amp;nbsp;in your app now by checking out the &lt;strong&gt;&lt;a class="" href="http://wiki.developer.myspace.com/index.php?title=App_Invites"&gt;docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&lt;img src="http://developer.myspace.com/Community/aggbug.aspx?PostID=39474" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?a=IXkAxXNnzlc:MBQeh3kAgJ4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/MySpaceDeveloperTeam?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/CJ+Chaney/default.aspx">CJ Chaney</category><category domain="http://developer.myspace.com/Community/blogs/devteam/archive/tags/app+invites/default.aspx">app invites</category><feedburner:origLink>http://developer.myspace.com/Community/blogs/devteam/archive/2009/04/29/multiple-recipient-app-invites.aspx</feedburner:origLink></item></channel></rss>
