<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Hi5 Developer Center</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/" />
    <link rel="self" type="application/atom+xml" href="http://www.hi5networks.com/developer/atom.xml" />
    <id>tag:www.hi5networks.com,2007-08-03:/developer//2</id>
    <updated>2008-07-18T13:17:19Z</updated>
    <subtitle>All the latest news on developing applications that interface with Hi5.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Historical Application Statistics Available via APIs</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/07/historical-application-statist.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.132</id>

    <published>2008-07-18T13:07:27Z</published>
    <updated>2008-07-18T13:17:19Z</updated>

    <summary>The hi5 Platform Team is continuing to make changes that help developers better understand the growth trends of their products. To this end, we are making application statistics accessible via the API server. Before making this public, we would like...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<p>The hi5 Platform Team is continuing to make changes that help developers better understand the growth trends of their products. To this end, we are making application statistics accessible via the API
server. Before making this public, <b>we would like your feedback on the design of the API. Please read through these specs and let us know what you think of them!</b></p><p>Developers will have to authenticate themselves by <a href="http://api.hi5.com/rest_auth.plain.html">creating an
authToken</a> — any of the developer accounts associated with an
application can be used to access the stats for an application.
Statistics can be generated for all or some of the applications owned
by the developer account requesting the data.</p>

<p>The API has three endpoints:</p>
<ol><li><em>metrics/daily</em>: These are daily stats, not uniq'ed
per user. You can query the data for a range of dates, not exceeding 30
days. Requests for more than 30 days will be truncated to 30 days,
starting at the start date.</li><li><em>metrics/dailyuniques</em>: These are the same type of stats as returned by <em>metrics/daily</em>,
but accounting for uniques. This means that if a single user views a
canvas page on your application more than once, it will count as just 1
unique canvas page view in these metrics.</li><li><em>metrics/total</em>: These are total stats calculated for the applications, aggregated since your application launched.</li></ol>


<p>The input parameters are supplied in the URL and the parameters and the acceptable values are all case sensitive. Only the <b>Hi5AuthToken</b> parameter is required</p><p><b>Parameters</b><br /> </p><ol><li><b>metric:</b> If this parameter is not specified, then all
available metrics are displayed. You can request the following metrics
with this parameter: <ol><li><em>install:</em> Total number of installs</li><li><em>remove:</em>
Total number of removes. You will have to subtract this from the total
number of installs to get the net installs of your application for the
applicable time period.</li><li><em>view_profile:</em> Calls to the profile module</li><li><em>preview:</em> Calls to the preview module</li><li><em>canvas:</em> Calls to the canvas module</li><li><em>block:</em>
Block requests generated in response to emails and notifications
generated by your application_,_ and on the My Applications page.</li><li><em>api_request:</em> API requests sent to our API servers by your application</li><li><em>report_abuse:</em> Notifications generated by your application marked as spam</li><li><em>activity_requested:</em> Requests to generate a Friend Update</li><li><em>activity_sent:</em> Friend Update requests fulfilled</li><li><em>invite_requested:</em> Friend Invite requests generated. Note that this counts a request containing multiple friends as one request</li><li><em>invite_sent:</em> Friend Invite requests fulfilled</li><li><em>notification_requested:</em> Notification API requests made to the API servers</li><li><em>notification_sent:</em>
Notification API requests fulfilled. Note that when an API request is
fulfilled, not all the recipients in the API request might receive the
request, as some might already have received the limit of per-recipient
notifications allowed.</li><li><em>all:</em> All of the above</li></ol>
	</li><li><b>context:</b> The context breaks up each statistic in the <em>metric</em>
parameter based on the origin of the corresponding action. Note that
not all contexts are valid for all actions — for example, blocks can
only occur in the <em>invite</em>, <em>myapps</em> and <em>notification</em> contexts, by definition. If context is not specified then breakdown by context will not be displayed. The possible values of <em>context</em> are:
	<ol><li><em>activity_stream</em>: From all links in a Friend Update, <em>if</em> that link is on a user's home page, or from a Friend Update's "More" link <em>if</em> the Friend Update is being viewed on the logged-in user's or someone else's profile.</li><li><em>apphome_friend</em>:
From the My Applications page of the currently logged-in user, when the
user clicks on a recommended application (currently, applications
installed by a user's friends)</li><li><em>apphome_owner</em>: From
the My Applications page of the currently logged-in user, when the user
clicks on one of their own applications (currently, user's recent
applications)</li><li><em>gallery</em>: From the hi5 Application Gallery</li><li><em>homepage</em>: From the homepage applications box at the top right of the page</li><li><em>invite</em>: From a friend invite</li><li><em>myapps</em>: From the Manage Applications page</li><li><em>notification</em>: From a notification</li><li><em>other_profile</em>: From the profile of someone other than the currently logged-in user</li><li><em>own_profile</em>: From the profile of the currently logged-in user</li><li><em>profilenav</em>: From the View More link on the Profile module, <em>and</em> from the Applications drop down in the navigation bar at the top of the Profile page</li><li><em>unknown</em>:
From an unknown context, usually generated when the user comes from a
link placed in a Profile module or Friend Update by the application
(Note that this number is inflated because invites are not being
tracked correctly; this will be fixed soon.)</li><li><em>all</em>: All the contexts applicable to a given action</li></ol>
	</li><li><b>start</b> and <b>end:</b>
The start and end dates, respectively, in YYYY-MM-DD format. The dates
must be "consistent," that is, the end date cannot precede the start
date, and they must both be valid calendar dates. A range greater than 30 days
generates an error. If no dates are specified then data for the latest
available timestamp (typically, for "yesterday") is displayed.</li><li><b>Hi5AuthToken:</b> The auth token generated via the REST API for your API key and login information.</li><li><b>api_key:</b>
The acceptable values are the API keys of the applications owned by the
developer making the request; API keys for other applications will
generate an error and return no statistics. To return statistics for
more than one application (but not all applications) owned by you,
specify the <b>api_key</b> parameter multiple times. If no api_key is specified then the one that was used to generate the auth token will be used.</li></ol>


<p>To begin, we will not rate limit this API and expect
that the volume will be no higher than once a day per application.
Improper use of this API will lead to the offending API keys being
blocked from access to this functionality.</p><p>We look forward to your feedback. Thanks!</p><p><br /></p> ]]>
        
    </content>
</entry>

<entry>
    <title>IRC Office Hours Starting Thursday Jun 26</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/06/irc-office-hours-starting-thur.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.130</id>

    <published>2008-06-25T19:20:58Z</published>
    <updated>2008-06-25T19:35:19Z</updated>

    <summary>The hi5 Platform Team will be holding Office Hours on the hi5dev IRC channel, twice a week, starting this Thursday. The hours are as follows (all times in PST, which is GMT-7 or GMT-8, depending on the time of the...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[The hi5 Platform Team will be holding Office Hours on the hi5dev IRC channel, twice a week, starting this Thursday. The hours are as follows (all times in PST, which is GMT-7 or GMT-8, depending on the time of the year):<br /><br /><ul><li>Tuesdays, 9am - 11am</li><li>Thursdays, 1pm - 3pm</li></ul>We are very grateful to developers for the lightning-fast feedback we got via this channel during the early days of the platform, and hope to maintain that spirit of interactiveness as we continue to grow. Please let us know if you have other time
preferences and we can consider refining this as we go along.<br />
<br />Instructions for access to the hi5dev channel are available at <a href="http://www.hi5networks.com/developer/">the hi5 Developer Center</a>. During these hours, at least one member from the team will be logged into the chat room. The Tuesday morning hours are to allow developers from Asia to be able to correspond with us at a time that's reasonable on both sides of the globe. <br /><br />We were inspired to do this by a similar idea that the Google OpenSocial team had announced quite a while ago --- we would like to <a href="http://igoogledeveloper.blogspot.com/2008/04/irc-office-hours-for-opensocial.html">give credit where its due</a>.<br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>New Automated Notification Management System - Includes Quotas</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/06/new-automated-notification-man.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.129</id>

    <published>2008-06-17T19:48:59Z</published>
    <updated>2008-06-17T19:49:29Z</updated>

    <summary>One of the attractive features of the hi5 platform is the many viral channels we&apos;ve made available to allow developers to advertise their applications to our members. The unprecedented success of our platform has demanded that we keep an eye...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<p>One of the attractive features of the hi5 platform is the many viral
channels we've made available to allow developers to advertise their
applications to our members. The unprecedented success of our platform
has demanded that we keep an eye on the flow of notifications and
invites to make sure that this opportunity is not exploited by a
minority of abusers, thus degrading the experience for our members and
making the service unusable for the developer community as a whole. In
other words, we are opposed to having spam on hi5; moreover, a flood of
irrelevant or misleading notifications drowns out those&nbsp; that come from
useful and legitimate applications.</p>

<p>To manage this ecosystem in as efficient a manner as possible, we
are introducing a new automated system that will implement notification
quotas. To date, we have been moving these switches manually but the
communication overhead has been too high. The automated quotas will
respond daily to abuse report rates and usage. Specifically, the fewer
times our members mark a notification as spam and the more they click
through to engage with the application, the more notifications your
applications will be able to send.</p>

<p>We think our automated system will help the platform respond in the
most timely manner to positive user perceptions of applications and
notifications. Very soon, developers will be informed via the response
to (rejected) API requests for sending notifications if they are in
violation of quotas. We also expect soon to expose the actual quotas on
a daily basis via the Developer Console.</p>

<p>If you have any questions about the quota system or suggestions on
how else we can support your apps on hi5 while also best serving our
membership, please get in touch with us via email, our discussion
forums or the wiki --- all contact addresses are available on <a href="http://developer.hi5.com/" rel="nofollow">http://developer.hi5.com</a>.</p> ]]>
        
    </content>
</entry>

<entry>
    <title>Heads up for Flash developers: Change in Invite Friends flow </title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/06/heads-up-for-flash-developers.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.128</id>

    <published>2008-06-12T23:24:27Z</published>
    <updated>2008-06-13T00:02:27Z</updated>

    <summary>In a update that will go out tonight, we&apos;re going to add contact imports in the invite process. This will help developers promote their applications more, as users can invite friends not on hi5 to register and use applications. The...</summary>
    <author>
        <name>David McQueen</name>
        
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<div>In a update that will go out tonight, we're going to add contact imports in the invite process. This will help developers promote their applications more, as users can invite friends not on hi5 to register and use applications. The new flow will create an AJAX-based pop up on the canvas page (see screenshot below.) Your requests via requestShareApp will also pop up this new UI. </div><div><br class="webkit-block-placeholder" /></div><div>This means that if you use Flash in your application, you need to make sure your application will not render on top of the AJAX box, making it impossible for your users to send invites. To let the invite box show up at the top, you can either:</div><div><br class="webkit-block-placeholder" /></div><div>   1. Set the wmode="transparent" on your &lt;embed&gt; tag, or</div><div>   2. Include a &lt;param name="wmode" value="transparent" &gt; if your using an &lt;object&gt; tag.</div><div><br class="webkit-block-placeholder" /></div><div>Please make the necessary changes to your existing applications. We're also making the inclusion of these attributes a mandatory requirement for any new applications submitted to the gallery.</div><div><div><span class="mt-enclosure mt-enclosure-image"><br /><div style="text-align: center;"><form mt:asset-id="270" class="mt-enclosure mt-enclosure-image"><img alt="App-Invite-Good.gif" src="http://www.hi5networks.com/developer/App-Invite-Good.gif" width="633" height="471" class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" /></span></div></form><span class="mt-enclosure mt-enclosure-image" style="text-align: center;"><br /></span> </div></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>OpenSocial Survey Posted on Google API Blog</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/06/opensocial-survey-posted-on-go.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.127</id>

    <published>2008-06-12T17:49:05Z</published>
    <updated>2008-06-12T17:55:03Z</updated>

    <summary>Google has posted a survey asking developers to give feedback on the OpenSocial ecosystem. We would appreciate it if you could take some time to let us and Google know what has been working (or not) for you as a...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<a href="https://spreadsheets.google.com/viewform?key=pnPpgOuf1IJEpeuRA2W70aQ">Google has posted a survey</a> asking developers to give feedback on the OpenSocial ecosystem. We would appreciate it if you could take some time to let us and Google know what has been working (or not) for you as a developer on OpenSocial and how we can improve the experience. Specifically, please select your favored locations for holding new hackathons, and any comments you have on features and functionality.<br /><br />Thanks for participating. As always, feel free to <a href="mailto:platform-help@hi5.com">email the hi5 Platform Team</a> as well with any questions and suggestions you have!<br /><br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>Back to the Sandbox</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/05/back-to-the-sandbox.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.126</id>

    <published>2008-05-28T17:50:26Z</published>
    <updated>2008-06-01T00:16:21Z</updated>

    <summary><![CDATA[It's now been almost two months since our initial launch of the hi5 OpenSocial-based platform.&nbsp; We think it's great, but there's so much more that we want to accomplish. I'm happy to announce that we're starting our next beta cycle...]]></summary>
    <author>
        <name>Paul Lindner</name>
        <uri>http://lindner.hi5.com</uri>
    </author>
    
    <category term="opensocial" label="OpenSocial" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<span class="mt-enclosure mt-enclosure-image"><img alt="sandbox.jpg" src="http://www.hi5networks.com/developer/sandbox.jpg" class="mt-image-right" style="margin: 0pt 0pt 20px 20px; float: right;" height="180" width="240" /></span>It's now been almost two months since our initial launch of the hi5 OpenSocial-based platform.&nbsp; We think it's great, but there's so much more that we want to accomplish. I'm happy to announce that we're starting our next beta cycle which will bring some great new features for App Developers and Users.<br /><br />Today we're launching our new OpenSocial API server.&nbsp; This release is our first step to <a href="http://code.google.com/apis/opensocial/docs/releasenotes.html">OpenSocial 0.8</a> compatibility, and includes exciting new features from 0.8 and more:<br /><br /><ul><li>A standard REST API based on OpenSocial 0.8</li><li>Better OpenSocial JavaScript features including pubsub.</li><li>OAuth support.</li><li>OpenID Provider support.</li><li>More supported profile fields.<br /></li></ul>In the next weeks we'll be enabling these and other great features that will make your Hi5 Applications better, faster and more featureful.<br /><br />Today you can do two things:<br /><br /><ul><li>Use the new OpenSocial REST service at http://sandbox.hi5.com/social/rest/</li><li>Use a test application with our new OpenSocial Gadget Server</li></ul><br />Send us an email with your application ID at <a href="mailto:platform-help@hi5.com">platform-help@hi5.com</a> if you want to try out these beta features and we'll get you started.<br /><br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Wiki Your Way to hi5 Collaboration</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/05/wiki-your-way-to-hi5-collabora.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.125</id>

    <published>2008-05-19T22:52:07Z</published>
    <updated>2008-05-19T23:05:18Z</updated>

    <summary>As promised in our previous blog post, the hi5 Platform developer wiki, which includes bug tracker and forums platforms as well, is now available for everyone to edit. We hope in this way to bring members of our developer community...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    <category term="wikiaccess" label="wiki access" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<p>As promised in our previous blog post, <a href="http://www.hi5networks.com/platform/wiki" rel="nofollow">the hi5 Platform developer wiki</a>,
which includes bug tracker and forums platforms as well, is now
available for everyone to edit. We hope in this way to bring
members of our developer community together to collaborate
and share their collective knowledge about how to create winning and
innovative social applications on the hi5 Platform.</p>

<p>You will need an <a href="http://openid.net/get/" rel="nofollow">OpenID login</a>
to authenticate yourself. Click on OpenID Login at the top right. On
the login page, you have to choose an "OpenID provider" from the drop
down --- you will see a list of familiar sites that provide login
services. The provider you select will typically lead you through a
series of simple steps to log in to our wiki. Please contact us at
platform-help@hi5.com if you are having trouble using OpenID.</p>

<p>Please submit your bug requests to the tracker (View Tickets in the left navigation bar) -- this will help our
team take application developer needs into account when prioritizing
changes to the platform. The discussion forum allows you to add
topics in different categories. We would love to hear from you if you
would like to add new categories to the forum.</p>

<p>The main page and some of the tutorial material on the wiki will be
protected to ensure that spammers don't get in the way of new
developers who are trying to get their applications off the ground
quickly. A rudimentary set of navigation links has been added to the bottom of the main page for you to start editing. <br /></p>

<p>May a million beneficial conversations begin!</p> ]]>
        
    </content>
</entry>

<entry>
    <title>Many Channels for hi5 Platform Info -- Twitter, IRC, Wiki &amp; More!</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/05/many-channels-for-hi5-platform.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.124</id>

    <published>2008-05-07T20:26:54Z</published>
    <updated>2008-05-07T20:28:09Z</updated>

    <summary>Our team had plenty of work last week helping the platform respond to the tremendous growth we&apos;ve seen in the recent past. We really appreciate the patience and support of all the developers who are working hard to create applications...</summary>
    <author>
        <name>Sameer Siruguri</name>
        <uri>http://sameersiruguri.hi5.com</uri>
    </author>
    
    <category term="developercommunications" label="Developer Communications" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="hi5platform" label="hi5 Platform" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[<p>Our team had plenty of work last week helping the platform respond to the tremendous growth we've seen in the recent past. <b>We
really appreciate the patience and support of all the developers who
are working hard to create applications for our 80 million members
globally.</b> If you are one of these developers -- thank you!</p>

<p>We believe we are now in better shape to handle the high load
conditions we saw previously (and expect will continue with the ongoing
success of our platform). An important learning for us was to maintain
multiple communication channels with developers to provide
up-to-the-minute updates and other valuable hi5 information, whether
through our <a href="irc://irc.freenode.net#hi5dev" rel="nofollow">IRC channel</a>, <a href="http://hi5.com/friend/group/2364084--Hi5%2BPlatform%2BDevelopment--topics-html" rel="nofollow">discussion forum</a> or this blog. More recently, we've also <b>added a</b> <b><a href="http://www.twitter.com/hi5status" rel="nofollow"><b>Twitter account</b></a></b>
to our portfolio of communication tools, and a couple rounds of
temporary down times have already been twittered (tweeted?) over the
last couple of days.</p>

<p>Next week, we'll add yet another way of communicating with us and with each other. Specifically, <b>we will be opening up the wiki on our Developer Center website</b>
to enable collaboration. If you have any suggestions for the structure
of and navigation between the developer-accessible pages (such as
posting sample code, creating feature request pages, interacting with
our users to know what apps to build, etc.), please do let us know.</p>

<p>Beyond communication with the developer community, another focus for
us has been on setting fair standards for application notifications.
Our users expect applications on hi5 to behave according to the high
standards we've set for other features of our service, which among
other things means that installing applications will not overwhelm
their in boxes with irrelevant or misleading information. We've applied
over four years of learning into the guidelines we set for creating
effective and useful viral channels for our service, and are
continually evolving our developer guidelines to inculcate these
learnings, while also reacting to the fluid nature of the application
landscape. Please <b>check out</b> <b><a href="http://www.hi5networks.com/platform/wiki/AppGuidelines" rel="nofollow"><b>the latest updates to our guidelines</b></a></b><b>,</b> if you haven't already. We welcome your feedback.</p> ]]>
        
    </content>
</entry>

<entry>
    <title>hi5 Co-Sponsoring OpenSocial Week in Buenos Aires – Tech Talks, Hackathon &amp; More</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/hi5-cosponsoring-opensocial-we.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.122</id>

    <published>2008-05-01T01:41:46Z</published>
    <updated>2008-05-01T01:43:51Z</updated>

    <summary>hi5 is teaming up with Google, Globant and others to present OpenSocial Week in Buenos Aires, Argentina, from Monday, April 28 – Saturday, May 3. During the festivities, we’ll share information about using OpenSocial on the hi5 Platform to build...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
        <category term="OpenSocial" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[hi5 is teaming up with Google, Globant and others to present OpenSocial Week in Buenos Aires, Argentina, from Monday, April 28 – Saturday, May 3. During the <a href="http://opensocialapis.blogspot.com/2008/04/opensocial-south-america-tour.html">festivities</a>, we’ll share information about using OpenSocial on the hi5 Platform to build applications for our 80 million registered members around the globe, including our large user base in South and Central America.  I'll be there personally May 2-3 to talk at a couple universities and present at a hackathon. <br />&nbsp;<br />The complete schedule of each day’s event is located on the OpenSocial API blog <a href="http://opensocialapis.blogspot.com/2008/04/opensocial-south-america-tour.html">here</a>. We look forward to meeting hi5 developers in Argentina face-to-face. Let us know if you’d like to set up some one-to-one meetings to discuss the success of your apps on hi5! <br />]]>
        
    </content>
</entry>

<entry>
    <title>Platform Status -- Performance, Performance, Performance</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/performance.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.121</id>

    <published>2008-04-27T08:03:08Z</published>
    <updated>2008-04-28T04:19:47Z</updated>

    <summary>Hi folks,As many of you know we&apos;ve been working around the clock to target and fix performance and stability issues on the platform.  A big thanks for everyone&apos;s patience and understanding.I&apos;m happy to say that we&apos;ve identified the root source...</summary>
    <author>
        <name>Paul Lindner</name>
        <uri>http://lindner.hi5.com</uri>
    </author>
    
        <category term="API Server" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[Hi folks,<br /><br />As many of you know we've been working around the clock to target and fix performance and stability issues on the platform.  A big thanks for everyone's patience and understanding.<br /><br />I'm happy to say that we've identified the root source of our stability problems.  It's related to notifications in the platform.  With notifications off in the past 36 hours we have not seen any of the erratic behavior of previous nights.  We have code fixes we will deploy on Sunday that will  re-enable notifications for most Applications.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">So what happened?<br /></span><br />The following histogram of http responses tells the tale:<div><br /></div><span class="mt-enclosure mt-enclosure-image"><img alt="response_hits_perc.dyn.png" src="http://www.hi5networks.com/developer/response_hits_perc.dyn.png" width="576" height="176" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><div><div style="text-align: center;">Red is 500 errors, light blue timeouts, dark blue is good responses.</div><div style="text-align: center;"><br /></div>Starting April 15th we started noticing poor performance overnight.  You've seen it, timeouts, 500 errors, gateway timeouts, etc.  We started our normal site stability processes to target the problem.  Stack traces were generated, memory dumps analyzed, etc.  This technique had served us well in diagnosing performance problems generating FOAF data for users with thousands of users.  At the same time we added 50% more servers to the pool.<br /><br />In our analysis we quickly focused our attention to concurrency problems in some portions of our code.  We found that Java itself has some serious contention for global Character Set data and Crypto providers.  So we spent a lot of time working around these problems.  However we'd fix one concurrency problem, and quickly hit another one.  This went on for days, we'd think we had the problem solved, then it would come back with a vengeance.  <br /><br />This past friday, the 25th we were dealing with the same issues.   We noticed that the poor performance coincided with notification database alerts. At 11:00 we turned off notifications and the entire system was suddenly stable.<br /><br />With this breathing room we've now had time to finish a project to improve notifications scalability.  This code will go out on Sunday, with most applications having notifications functionality by Sunday.<br /><br /><br /><span class="Apple-style-span" style="font-weight: bold;">Why Did This Happen?<br /></span><br />We underestimated the amount of notifications sent, and the popularity of their use on the site.  At first glance this just meant that posting and browsing notifications were slow.  We didn't expect that other requests would suffer collateral damage.<br /><br /><span class="Apple-style-span" style="font-weight: bold;">Changes Going Forward...<br /></span><br />Today we made the following Notifications changes.  Our goal is to get Notifications on for all applications while maintaining overall site stability:<br /><br /><ul><li>Accepting Notifications Asynchronously</li><li>Applying Notification Retention policy to remove the oldest Notifications from the system (14 day retention)</li><li>Adding Extra Notification Capacity</li><li>Only allowing Notification REST calls with a token generated in the preceding 4 hours.</li><li>Additional privacy controls to insure that the notification is legitimate.</li><li>Conversations with our partners that are using the Notifications Feature the most.</li></ul><br />Both Operations and Engineering have been happy to get a few good nights sleep since friday.  We look forward to working on new features instead of fighting fires.<br /><br />One final note on platform status -- we know that stats were unavailable in the dev console this weekend and expect to have them back online tomorrow.<br /></div><div><br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>Lifespan of auth_tokens</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/lifespan-of-auth-tokens.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.120</id>

    <published>2008-04-25T20:23:14Z</published>
    <updated>2008-04-25T20:25:59Z</updated>

    <summary>Currently our auth_tokens have a lifespan of 2 weeks, which is unecessarily long and opens the door for potential abusive usage of features like notifications. To address this, we are going to start reducing the lifespan by a day each...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[Currently our auth_tokens have a lifespan of 2 weeks, which is unecessarily long and opens the door for potential abusive usage of features like notifications. To address this, we are going to start reducing the lifespan by a day each day for the next 2 weeks until it is 1 day.<br /><br />We do expect to add support for authentication via API Key + a secret key per application, to allow for things like periodic email newsletters. No ETA on that support yet, but we do know it's a valuable feature that you'll be looking out for in the future.<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Implementing an OpenSocial Container</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/implementing-an-opensocial-con.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.119</id>

    <published>2008-04-24T20:18:43Z</published>
    <updated>2008-04-24T20:19:47Z</updated>

    <summary>There were some requests that I put up the slides from my talk at web 2.0 expo yesterday. Ask and you shall receive:http://docs.google.com/Presentation?id=dxpbvz6_141gnxn58d8...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
        <category term="OpenSocial" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[There were some requests that I put up the slides from my talk at web 2.0 expo yesterday. Ask and you shall receive:<br /><br /><a id="publishedDocumentUrl" class="tabcontent" target="_blank" href="http://docs.google.com/Presentation?id=dxpbvz6_141gnxn58d8">http://docs.google.com/Presentation?id=dxpbvz6_141gnxn58d8</a><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Our canvas pages are wicked smart</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/our-canvas-pages-are-wicked-sm.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.118</id>

    <published>2008-04-11T03:00:11Z</published>
    <updated>2008-04-11T03:07:59Z</updated>

    <summary>I&apos;ve noticed some developers putting &apos;view=preview&apos; or &apos;view=canvas&apos; on canvas page links in activity and notifications. This is generally not a good idea as it&apos;s not a good experience for a user who has already installed the application to be...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[I've noticed some developers putting 'view=preview' or 'view=canvas' on canvas page links in activity and notifications. This is generally not a good idea as it's not a good experience for a user who has already installed the application to be sent to the preview view. We only support it so developers can troubleshoot all views of their application from the dev console. <br /><br />The canvas page (www.hi5.com/friend/apps/displayAppCanvas.do?appId=xxxx) is smart enough to display the preview view if the user has not installed the application yet, so I would highly recommend not specifying a view in your activity and notification urls, and letting the canvas page logic display the appropriate view for you.<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Addition to hi5-lifecycle: invitePingUrl</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/addition-to-hi5lifecycle-invit.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.117</id>

    <published>2008-04-11T02:39:01Z</published>
    <updated>2008-04-11T02:39:49Z</updated>

    <summary>One common request we&apos;ve gotten was to return more information about invites to developers. To do this, we&apos;ve implemented a new lifecycle event for the hi5-lifecycle feature called invitePingUrl. Here&apos;s sample usage along with the two previous events, install and...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[One common request we've gotten was to return more information about invites to developers. To do this, we've implemented a new lifecycle event for the hi5-lifecycle feature called invitePingUrl. Here's sample usage along with the two previous events, install and remove. This should be added into ModulePrefs:<br /><br />&lt;Optional feature="hi5-lifecycle"&gt; <br />&nbsp;&nbsp;&nbsp; &lt;Param name="installPingUrl" value="http://yourserver/handleInstall"/&gt; <br />&nbsp;&nbsp;&nbsp; &lt;Param name="removePingUrl" value="http://yourserver/handleRemove"/&gt; <br />&nbsp;&nbsp;&nbsp; &lt;Param name="invitePingUrl" value="http://yourserver/handleInvite"/&gt; <br />
&lt;/Optional&gt;<br /><br />This is a good time for a refresher on the existing events, so here's what to expect from each event:<br /><br /><b>NAME&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp; &nbsp;&nbsp;&nbsp; FIRES&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; METHOD&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; PARAMS</b><br />installPingUrl&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; After install&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  POST&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  uid = userid of installing user<br />removePingUrl&nbsp;&nbsp;&nbsp; &nbsp; After uninstall&nbsp;  &nbsp;&nbsp;  POST&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp;  uid = userid of uninstalling user<br />
invitePingUrl &nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; After invite &nbsp;  &nbsp;&nbsp;  &nbsp; &nbsp; POST&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp; uid = userid of inviter, sent_ids = userids successfully sent to<br /><br />One other note -- these pings are not currently signed. This has been requested by several developers and we do have a feature request open for this, although we don't have an ETA on that being completed at the moment.<br /><br />Hope you find this useful.<br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>hi5 Platform Launch 100% Complete!</title>
    <link rel="alternate" type="text/html" href="http://www.hi5networks.com/developer/2008/04/hi5-platform-launch-completed.html" />
    <id>tag:www.hi5networks.com,2008:/developer//2.114</id>

    <published>2008-04-05T01:52:14Z</published>
    <updated>2008-04-05T01:26:48Z</updated>

    <summary>As of last night, the hi5 Platform release has been rolled out to 100% of our 80+ million registered members across the globe. We&apos;re very excited to have been able to complete the rollout process in such a short period...</summary>
    <author>
        <name>Lou Moore</name>
        <uri>http://lou.hi5.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en-us" xml:base="http://www.hi5networks.com/developer/">
        <![CDATA[As of last night, the hi5 Platform release has been rolled out to 100% of our 80+ million registered members across the globe. We're very excited to have been able to complete the rollout process in such a short period of time. We've also been busy reviewing and approving new applications as they are submitted, and are happy to report our gallery now boasts 149 applications (for comparison, we started with 65 at launch on Monday)!<br /><br />To help spread your apps, we'll be adding a homepage and profile promotion for the Application Gallery starting Monday, and enabling email notifications Monday as well. Let us know if you have any questions about how to leverage our numerous viral channels for promoting your apps – we love all the new ways our users can enjoy hi5 with your apps!<br /><br />Thanks again to all the developers that have helped make this launch a success. We're looking forward to a huge week next week for applications on hi5, as well as rolling out full access to our wiki and bug tracker, and getting started on hi5 Platform v2!<br /><br />]]>
        
    </content>
</entry>

</feed>
