<?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:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Gnip Blog</title>
	
	<link>http://blog.gnip.com</link>
	<description>Delivering the Web's Data</description>
	<lastBuildDate>Wed, 14 Oct 2009 17:17:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/gnip" type="application/rss+xml" /><feedburner:browserFriendly></feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>What’s Up.</title>
		<link>http://blog.gnip.com/2009/10/14/whats-up/</link>
		<comments>http://blog.gnip.com/2009/10/14/whats-up/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 17:17:41 +0000</pubDate>
		<dc:creator>Jud Valeski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=649</guid>
		<description><![CDATA[A few weeks have past since making some major product direction/staffing/technology-stack changes at Gnip. Most of the dust has settled and here&#8217;s an update.
What Changed Externally
api.gnip.com is alive, well, and fully supported. From a product standpoint we&#8217;re now also pursuing a decentralized data access model to broaden our offering. The original centralized product continues to [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks have past since making some major product direction/staffing/technology-stack changes at Gnip. Most of the dust has settled and here&#8217;s an update.</p>
<h1>What Changed Externally</h1>
<p><a href="http://api.gnip.com">api.gnip.com</a> is alive, well, and fully supported. From a product standpoint we&#8217;re now also pursuing a decentralized data access model to broaden our offering. The original centralized product continues to serve its customers well, but it doesn&#8217;t fit all the use cases we want to nail. It turns out that while many folks want to be completely hands-off WRT how their data is collected (&#8221;just get me the data&#8221;), they still want full transparency into, and control of, the process. That transparency and control is on its way via Gnip <strong>Data Collectors</strong> that customers configure through an easy to use GUI.</p>
<p>To summarize, externally, you will soon see additional product offerings/approaches around data movement.</p>
<h1>What Changed Internally</h1>
<p>A lot. <a href="http://api.gnip.com">api.gnip.com</a> is a phenomenal message bus that can reliably filter &amp; move data from A to B at insane volumes. In order to achieve this however, we left a few things by the wayside that we realized we couldn&#8217;t leave there any longer. Customer demand, and internal Product direction needs (obviously coupled with customer needs) were such that we needed to approach the product offering from a different technical angle.</p>
<h2>GUI &amp; Data</h2>
<p>We neglected a non-trivial tier of our customer base by almost exclusively focusing on the REST API to the system. Without the constraint of a GUI, technical/architectural/implementation decisions that come with building software were blinded by &#8220;the backend.&#8221; As a result, we literally cut our data off from the GUI tier. Getting data into the GUI was like raising the Titanic; doable, but hard and time consuming. Too hard for what we needed to do as a business. We&#8217;d bolted the UI framework onto the side, and customized how everything moved in/out of the core platform to the GUI layer. We weren&#8217;t able to keep up with Product needs on the GUI side.</p>
<h2>Statistics</h2>
<p>Similar to GUI, getting statistics out of the system in a consumer friendly manner was too hard. Business has become accustomed to running SQL queries to collect information/statistics. While one can bolt SQL interfaces onto customized systems, you have to ask yourself whether or not you really want to? What if you started with something that natively spoke SQL?</p>
<h2>So&#8230;</h2>
<p>We introduced a stack that supports a decentralized data collection approach, as well as off-the-shelf GUI, statistics collection/display, and SQL interface; &#8220;Cloud&#8221; instances, running Linux (obviously), MySQL, and Rails. We have prototypes up and running internally, and things are going great.</p>
<h1>Product Details</h1>
<p>I&#8217;ve been vague here on purpose. We&#8217;re still honing all the features, capabilities, and market opportunities in front of us, and I don&#8217;t want to commit to them right now.</p>
<h1>The People</h1>
<p>I want to end on a personal note. My mind was blown by the people we decided to &#8220;let go&#8221; in this process; all of them incredibly high quality.</p>
<p>All I can say here is that it&#8217;s all in the people. You build teams that meet the needs of the business. For the sand that shifted, Eric and I are to blame. We undoubtedly burned bridges with amazing people during this process, and that is excruciating. Those no longer with us are great, and all of them have either already jumped into new projects/companies, or are weighing their options. The best of luck to you, and I hope to work with you again someday.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/10/14/whats-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Only Constant is Change</title>
		<link>http://blog.gnip.com/2009/09/28/the-only-constant-is-change/</link>
		<comments>http://blog.gnip.com/2009/09/28/the-only-constant-is-change/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 04:02:02 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=641</guid>
		<description><![CDATA[As a few people have mentioned online today, Gnip laid off seven team members today. It was a shitty thing to have to do and my very best wishes go out to each team member who was let go.  If you&#8217;re in Boulder and need a Java or PHP developer, an HR/office manager or an [...]]]></description>
			<content:encoded><![CDATA[<p>As a few people have mentioned online today, Gnip laid off seven team members today. It was a shitty thing to have to do and my very best wishes go out to each team member who was let go.  If you&#8217;re in Boulder and need a Java or PHP developer, an HR/office manager or an inside salesperson, send an email to <a href="mailto:eric@gnip.com">eric@gnip.com</a> and I&#8217;ll connect you with some truly awesome people.</p>
<p>I would like to address a few specific points for our partners, customers and friends:</p>
<ol>
<li>We believe as strongly as ever in providing data aggregation solutions for our customers.  If we didn&#8217;t, we would have returned to our investors the year of funding we have in the bank (now two years).</li>
<li>We are still delivering the same data as yesterday. The existing platform is highly stable and will continue to churn out data as long as we want it to.</li>
<li>The changes in personnel revolve around rebuilding the technology stack to allow for faster, more iterative releases. We&#8217;ve been hamstrung by a technology platform that was built under a very different set of assumptions more than a year ago. While exceptionally fast and stable, it is also a beast to extend.  The next rev will be far more flexible and able to accommodate the many smart feature requests we receive.</li>
</ol>
<p>To Alex, Shane, Ingrid, JL, Jenna, Chris and Jen, it has been a honor working with you and I hope to have the privilege to do so again some day.</p>
<p>To our partners and customers, Gnip&#8217;s future is brighter than ever and we look forward to serving your social data needs for many years to come.</p>
<p>Sincerely,</p>
<p>Eric Marcoullier, CEO</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/09/28/the-only-constant-is-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real-Time Event Notification via Gnip</title>
		<link>http://blog.gnip.com/2009/09/08/real-time-event-notification-via-gnip/</link>
		<comments>http://blog.gnip.com/2009/09/08/real-time-event-notification-via-gnip/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 23:57:31 +0000</pubDate>
		<dc:creator>Jud Valeski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=638</guid>
		<description><![CDATA[pubsubhubbub and rssCloud are helping shed light on the technical solution to real-time event propagation; HTTP POST (aka webhooks). As a friendly reminder, if you&#8217;re building pubsubhubbub and/or rssCloud into your app as a publisher/author, you should also consider pushing to Gnip as well. While Gnip, pubsububbub and rssCloud are providing sound technical solutions to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/pubsubhubbub/">pubsubhubbub</a> and <a href="http://rsscloud.org/walkthrough.html">rssCloud</a> are helping shed light on the technical solution to real-time event propagation; HTTP POST (aka <a href="http://blog.webhooks.org/">webhooks</a>). As a friendly reminder, if you&#8217;re building pubsubhubbub and/or rssCloud into your app as a publisher/author, you should also consider pushing to Gnip as well. While Gnip, pubsububbub and rssCloud are providing sound technical solutions to a huge problem, Gnip&#8217;s widespread adoption (thousands of existing subscribers) can get your events in front of a consumer-base that Gnip has spent over a year cultivating. With very little integration work on your part (heck, we have a half-dozen convenience libs already built for you to use; pick your language), you can get your data out to a wide-audience of existing Gnip subscribers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/09/08/real-time-event-notification-via-gnip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnip Platform Update – Now For Authenticated Data Services</title>
		<link>http://blog.gnip.com/2009/09/03/gnip-authenticated-data-services/</link>
		<comments>http://blog.gnip.com/2009/09/03/gnip-authenticated-data-services/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 21:51:39 +0000</pubDate>
		<dc:creator>Shane Pearson</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Customers]]></category>
		<category><![CDATA[Release]]></category>
		<category><![CDATA[data streams]]></category>
		<category><![CDATA[Gnip]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=626</guid>
		<description><![CDATA[The Gnip Platform originally was built to support accessing public services and data.  In response to customer requests we soft launched support for authenticated data services over the summer and now we have fully rolled out the new service.   The difference between public and authenticated data services seems trivial, but in practice the differences are [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="Gnip" href="http://www.gnip.com" target="_blank">Gnip</a> Platform originally was built to support accessing public services and data.  In response to customer requests we soft launched support for authenticated data services over the summer and now we have fully rolled out the new service.   The difference between public and authenticated data services seems trivial, but in practice the differences are very important since authenticated services represent either business level arrangements between companies or private data access.   The new Gnip capabilities supports both of these scenarios.</p>
<p>As part of the new service Gnip also provides dedicated integration capacity for companies as we now are able to segment individually managed nodes on our platform for specific company accounts.   This means that a company with a developer key on <a title="Flickr" href="http://www.flickr.com/" target="_blank">Flickr</a>, a whitelist account on <a title="Twitter" href="http://twitter.com" target="_blank">Twitter</a>, an application key on <a title="Facebook" href="http://www.facebook.com" target="_blank">Facebook</a> and a developer key on <a title="YouTube" href="http://www.youtube.com" target="_blank">YouTube</a> receives dedicated capacity on the Gnip platform to support all their data integration requirements.</p>
<p>Gnip will also continue to maintain the existing public data integration services which do not require authentication for access and distribution, and we expect most companies with use a blend of our data integration services.</p>
<p>Using the new support for authenticated data service requires contacting us at <a title="mailto:sales@gnip.com" href="mailto:sales@gnip.com" target="_blank">sales@gnip.com</a> so we can enable your account. Please contact us today to leverage your existing <a title="http://en.wikipedia.org/wiki/Whitelist" href="http://en.wikipedia.org/wiki/Whitelist" target="_blank">whitelisting</a> or authenticated account on Flickr, YouTube, Twitter or other <a title="http://en.wikipedia.org/wiki/Api" href="http://en.wikipedia.org/wiki/Api" target="_blank">APIs</a> and feeds.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/09/03/gnip-authenticated-data-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnip Schema Update Adds More User Meta-data Support</title>
		<link>http://blog.gnip.com/2009/09/01/gnip-schema-update-adds-more-user-meta-data-support/</link>
		<comments>http://blog.gnip.com/2009/09/01/gnip-schema-update-adds-more-user-meta-data-support/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 23:11:32 +0000</pubDate>
		<dc:creator>Shane Pearson</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Customers]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[Publishers]]></category>
		<category><![CDATA[data producers]]></category>
		<category><![CDATA[Gnip]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=616</guid>
		<description><![CDATA[We continue to work on enriching the Gnip schema to provide second level meta-data on user generated activities .  Given we push 10s to 100s of of millions of activities around daily supporting more meta-data means a bit of work beyond just updating our schema.
Today we rolled out meta-data updates to the &#60;actor&#62; and &#60;to&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>We continue to work on enriching the Gnip schema to provide second level meta-data on user generated activities .  Given we push 10s to 100s of of millions of activities around daily supporting more meta-data means a bit of work beyond just updating our schema.</p>
<p>Today we rolled out meta-data updates to the &lt;actor&gt; and &lt;to&gt; elements of the <a title="Gnip Schema" href="http://docs.google.com/Doc?id=dpw6zj9_0fdcnttgd#GNIP_Activity_Schema" target="_blank">Gnip schema</a>.   The updates today are new optional attributes that provide a place to map additional user information that is available on some social media services like <a title="Twitter" href="http://twitter.com" target="_blank">Twitter</a> and others.    Initially we will just add the new meta-data to activities where the information is available inline with activities and then in the near future we are adding more platform features to support the scenario where a second API call is required to add this meta-data to the activity.</p>
<p>Starting today the &lt;actor&gt; element has support for the numeric userID, friends, followers, and posts.   In addition, we are now mapping the fullname and username to individual attributes in order to better support services that allow end users to create custom screen names and change those names.   The &lt;to&gt; element was updated to provide a new attribute for numeric userID.</p>
<p><strong>Overview of updates to &lt;actor&gt; and &lt;to&gt; elements of Gnip schema:</strong></p>
<ul>
<li>&lt;actor&gt; is the person who performed the activity on the service
<ul>
<li>&lt;posts&gt; is the number of updates made by the user</li>
<li>&lt;followers&gt; is the number of people following the user</li>
<li>&lt;friends&gt; is the number of people the user has friended</li>
<li>&lt;fullname&gt; is the descriptive name or screen name of the user</li>
<li>&lt;username&gt; is the username of the user on the service</li>
<li>&lt;uid&gt; the unique numeric ID for the user on the service</li>
<li>&lt;metaURL&gt; is the user profile link on the service</li>
</ul>
</li>
</ul>
<ul>
<li>&lt;to&gt; is the person who the activity is in response
<ul>
<li>&lt;uid&gt; the unique numeric ID for the user on the service</li>
<li>&lt;metaURL&gt; is the user profile link on the servic</li>
</ul>
</li>
</ul>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/09/01/gnip-schema-update-adds-more-user-meta-data-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnip License Changes this Friday, Aug 28th</title>
		<link>http://blog.gnip.com/2009/08/26/gnip-license-changes-this-friday-aug-28th/</link>
		<comments>http://blog.gnip.com/2009/08/26/gnip-license-changes-this-friday-aug-28th/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 22:53:02 +0000</pubDate>
		<dc:creator>Shane Pearson</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Customers]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[Gnip]]></category>
		<category><![CDATA[License]]></category>
		<category><![CDATA[web site]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=601</guid>
		<description><![CDATA[As we posted last month there are some changes coming to the way we license use of the Gnip platform.  See: Gnip Licensing Changes Coming in August.
These updates will be put in place this Friday, August 28th.    The impact of the new licensing will be the following for our existing users.

The Gnip Community Edition license [...]]]></description>
			<content:encoded><![CDATA[<p>As we posted last month there are some changes coming to the way we license use of the Gnip platform.  See: <a title="Gnip Licensing Changes Coming in August" href="http://blog.gnip.com/2009/07/22/gnip-licensing-updates-coming-in-august/" target="_blank">Gnip Licensing Changes Coming in August</a>.</p>
<p>These updates will be put in place this Friday, August 28th.    The impact of the new licensing will be the following for our existing users.</p>
<ol>
<li>The Gnip Community Edition license will be disabled as it is no longer being offered.   <em>Accounts that were created before August 1st will be set to inactive and no longer will be able to access the Gnip API or Developer Website</em>.   If your company is in the process of evaluating Gnip for a commercial project and needs a longer amount of time to complete your project please contact us at <a title="info@gnip.com" href="mailto:info@gnip.com" target="_blank">info@gnip.com</a> and we can extend your account on a longer trial.</li>
<li>Gnip Standard Edition user accounts using the Commercial, Non-profit and Startup partner license options will continue to be available as they are not impacted by the change on Friday.   If you are a standard edition user and we accidentally your disable your account on Friday please contact us at <a title="info@gnip.com" href="mailto:info@gnip.com" target="_blank">info@gnip.com</a> and we will reactivate the account.</li>
<li>New users who created an account starting after August 1st will receive an email notification on the day their 30-day trial expires informing them they need to contact Gnip to obtain the appropriate license for their commercial, non-profit or partner use case.</li>
</ol>
<p>We appreciate all the companies and developers who have built solutions using Gnip and look forward to continuing to deliver real-time data to power these solutions.   By making these adjustments in our licensing we will be able to focus on innovating the Gnip Platform and supporting the many companies and partners we are fortunate to work with every day.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/08/26/gnip-license-changes-this-friday-aug-28th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today’s API Guessing Game</title>
		<link>http://blog.gnip.com/2009/08/21/todays-api-guessing-game/</link>
		<comments>http://blog.gnip.com/2009/08/21/todays-api-guessing-game/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 22:44:30 +0000</pubDate>
		<dc:creator>Jud Valeski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=597</guid>
		<description><![CDATA[Intro with Joshua&#8217;s digitized voice (from 1983&#8217;s WarGames) asking &#8220;shall we play a game?&#8221;
I&#8217;ve spent the better part of the past couple of days playing a game. I was chasing down some odd polling behavior observed in one of our internal prototype applications. It ultimately turned out to be some bad assumptions I made around [...]]]></description>
			<content:encoded><![CDATA[<p>Intro with Joshua&#8217;s digitized voice (from <a href="http://www.imdb.com/title/tt0086567/">1983&#8217;s WarGames</a>) asking &#8220;<a href="http://www.youtube.com/watch?v=ecPeSmF_ikc">shall we play a game?</a>&#8221;</p>
<p>I&#8217;ve spent the better part of the past couple of days playing a game. I was chasing down some odd polling behavior observed in one of our internal prototype applications. It ultimately turned out to be some bad assumptions I made around how some code I wrote should behave. The rate limiting policy around one of the open APIs I was using was obfuscated.</p>
<p>The scenario reminded me of a challenge I faced earlier in my career at Netscape. We were trying to figure out how Netscape/Mozilla open source should function (<span style="text-decoration: underline;">early</span> on in Mozilla&#8217;s life&#8230; pre-independence from AOL; e.g. 1998). We struggled managing corporate needs, sometimes around confidentiality, in the context of open source. Mozilla wouldn&#8217;t work if things that impacted the open source software on the Netscape-side of the engineering house weren&#8217;t openly discussed. As predicted, innovation suffered when significant code contributions being made by Netscape weren&#8217;t transparent. Netscape was faced with staying quiet about its intentions, or being open with them. Open sourcing the code (e.g. having an &#8220;open&#8221; API) wasn&#8217;t enough. The process by which the code/API was to evolve and function had to be open.</p>
<p>Netscape/AOL weren&#8217;t able to let go of key, though seemingly small, aspects of the project and innovation waned. Mozilla/Firefox didn&#8217;t explode until there was a formal transition from AOL to Mozilla Foundation many years later. While Firefox has pushed the industry forward in bounds since then, there were years of browser industry confusion and impedance due to a non-committal controlling interest.</p>
<p>The parallel I&#8217;m drawing between Netscape/Mozilla&#8217;s history and today&#8217;s &#8220;open&#8221; web APIs is that there are key players chokeholding the rest of the industry with inadequately supported, poorly communicated, API access policies. Access policies, while sometimes documented, are highly irregular and poorly communicated. The result is a developing ecosystem around these APIs that has to decide whether or not to play the API access guessing game. When a developer using some of today&#8217;s open APIs wakes up and rolls out of bed each morning they wonder &#8220;will my application work today?&#8221; That&#8217;s untenable in the long term.</p>
<p>Just as it was Netscape&#8217;s right to control the bits it wanted to, Kings of today&#8217;s API hill have a right to do whatever they want. To those who&#8217;ve been successful at creating unyielding demand; hats off! Use that power wisely however, and learn from history&#8217;s mistakes.</p>
<p>To APIs crying uncle due to the operational overload of their popularity I recommend moving to an event driven API access model (ala Gnip). When that&#8217;s simply not possible (though I&#8217;d argue it always is) use something like <a href="http://code.google.com/p/simpleupdateprotocol/">SUP</a> to minimize constipation in the rest of the digestive system.</p>
<p>If you&#8217;re throttling access to your API because you don&#8217;t know what your business model is, hurry up, get it sorted, and communicate intentions. If you don&#8217;t, industry will find a way to pass you by.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/08/21/todays-api-guessing-game/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnip to power 301works.org</title>
		<link>http://blog.gnip.com/2009/08/14/gnip-to-power-301works-org/</link>
		<comments>http://blog.gnip.com/2009/08/14/gnip-to-power-301works-org/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 15:13:44 +0000</pubDate>
		<dc:creator>Shane Pearson</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Industry]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[Press]]></category>
		<category><![CDATA[301works]]></category>
		<category><![CDATA[Gnip]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=592</guid>
		<description><![CDATA[Every once in awhile there are opportunities to make a real difference in the industry.   301works.org is just such an opportunity for Gnip and the companies we are teaming up with to launch a very needed independent URL mapping directory service.
First, many thanks to Adjix, awe.sm, betaworks, bit.ly, Cligs,  URLizer, and urlShort who have joined [...]]]></description>
			<content:encoded><![CDATA[<p>Every once in awhile there are opportunities to make a real difference in the industry.   301works.org is just such an opportunity for Gnip and the companies we are teaming up with to launch a very needed independent URL mapping directory service.</p>
<p>First, many thanks to Adjix, awe.sm, betaworks, bit.ly, Cligs,  URLizer, and urlShort who have joined with us to launch this new organization.  And. you can read the actual <a title="301works.org Announcement" href="http://www.gnip.com/announcements/gnip-joins-leading-companies-to-launch-independent-url-mapping-directory-service" target="_blank">301works announcement that is posted on Gnip.com</a></p>
<p>Why is Gnip involved?  We are part of the Internet software community and most of us are also active social media users.   While there is debate on the pros and cons of short URLs in some parts of the industry it is obvious that over the last few years there has been a huge growth in the adoption of short URL formats across the web and increasingly custom short URLs are being used by businesses and individuals.</p>
<p>People generate short URLs everyday and they need to know that these mappings will continue to function as they were intended when generated, that their mappings will be available for them to use in the future, and that their privacy preferences will be respected. With short URL formats having reached general acceptance by millions of users in their daily activities there was a need for the industry to ensure the connections provided by these mappings exist over time.</p>
<p>In providing the technology to power the 301works solution Gnip is ensuring that the social connections and data represented by the millions of URL mappings done everyday continue to be available across the web.</p>
<p>We are thrilled to be able to participate and to do our part in helping sustain and grow an open web.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/08/14/gnip-to-power-301works-org/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnip; An Update</title>
		<link>http://blog.gnip.com/2009/08/04/gnip-an-update/</link>
		<comments>http://blog.gnip.com/2009/08/04/gnip-an-update/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 17:51:21 +0000</pubDate>
		<dc:creator>Jud Valeski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=589</guid>
		<description><![CDATA[Gnip moved into our new office yesterday (other end of the block from our old office). The transition provided an opportunity for me to think about where we&#8217;ve been, and where we&#8217;re going.
Team
We continue to grow, primarily on the engineering side. Checkout our jobs page if you&#8217;re interested in working on a hard problem, with [...]]]></description>
			<content:encoded><![CDATA[<p>Gnip moved into our new office yesterday (other end of the block from our old office). The transition provided an opportunity for me to think about where we&#8217;ve been, and where we&#8217;re going.</p>
<h2>Team</h2>
<p>We continue to grow, primarily on the engineering side. Checkout <a href="http://www.gnip.com/company/jobs">our jobs page</a> if you&#8217;re interested in working on a hard problem, with smart people, in a beautiful place (Boulder, CO).</p>
<h2>Technology</h2>
<p>We&#8217;ve built a serious chunk of back-end infrastructure that I&#8217;d break into two general pieces: &#8220;the bus&#8221;, and &#8220;the pollers.&#8221;</p>
<h3>&#8220;The Bus&#8221;</h3>
<p>Our back-end moves large volumes of relatively small (usually &lt;~3k bytes) chunks of data from A to B in a hurry. Data is &#8220;published&#8221; into Gnip, we do some backflips with it, then spit it out the other side to consumers.</p>
<h3>&#8220;The Pollers&#8221;</h3>
<p>Our efforts to get Publishers to push directly into Gnip didn&#8217;t pan out the way we initially planned. As a result we had to change course and acquire data ourselves. The bummer here was that we set out on an altruistic mission to relieve the polling pain that the industry has been suffering from, but were met with such inertia that we didn&#8217;t get the coverage we wanted. The upside is that building polling infrastructure has allowed us to control more of our business destiny. We&#8217;ve gone through a few iterations on approach to polling. From complex job scheduling and systems that &#8220;learn&#8221; &amp; &#8220;adapt&#8221; to their surroundings, to dirt simple, mindless grinders that ignorantly eat APIs/endpoints all day long. We&#8217;re currently slanting heavily toward simplicity in the model. The idea is to take learning&#8217;s from the simple model over time, and feed them into abstractions/re-factorings that make the system smarter.</p>
<h3>Deployment</h3>
<p>We&#8217;re still in the cloud. Amazon&#8217;s Ec2/S3 products have been a solid (albeit not necessarily the most cost effective when your CPU utilization isn&#8217;t in the 90%+ range per box), highly flexible, framework for us; hats off to those guys.</p>
<h2>Industry</h2>
<h3>&#8220;The Polling Problem&#8221;</h3>
<p>It&#8217;s been great to see the industry wake up and acknowledge &#8220;the polling problem&#8221; over the past year. <a href="http://code.google.com/p/simpleupdateprotocol/">SUP</a><a href="http://code.google.com/p/simpleupdateprotocol/"> (Simple Update Protocol)</a> popped up to provide more efficient polling for systems that couldn&#8217;t, or wouldn&#8217;t, move to an event-driven model. Providing a compact change-log for pollers, you can poll the change-log, and then go do heavier polls for only stuff that has changed. <a href="http://code.google.com/p/pubsubhubbub/">PubSubHubbub</a> popped up to provide the framework for a distributed Gnip (though lacking inherent normalization). A combination of polling and events spread across nodes allows for a more decentralized approach.</p>
<h3>&#8220;Normalization&#8221;</h3>
<p>The Activity Streams initiative grew legs and is walking. As with any &#8220;standards&#8221; (or &#8220;standards-like&#8221;) initiative things are only as good as adoption. Building ideas in a silo without users makes for a fun exercise, but not much else. Uptake matters, and MySpace and Facebook (among many other smaller initiatives) have bitten off chunks of Activity Streams, and that&#8217;s a very big, good, sign for the industry. Structural, and semantic, consistency matters for applications digesting a lot of information. Gnip provides highly structured and consistent data to its consumers via <a href="https://api-v21.gnip.com/schema/gnip.xsd">gnip.xsd</a>.</p>
<p>In order to meet its business needs, and to adapt to the constantly moving industry around it, Gnip has adjusted it&#8217;s approach on several fronts. We moved to incorporate polling. We understand that there is more than one way of doing and will incorporate SUP and PubSubHubbub into our framework. Doing so will make our own polling efforts more effective, and also provide data to our consumers with flexibility. While normalized data is nice for a large category of consumers, there is a large tier of customers that doesn&#8217;t need, or want, heavy normalization. Opaque message flow has significant value as well.</p>
<p>We set out to move mind-boggling amounts of information from A to B, and we&#8217;re doing that. Some of the nodes in the graph are shifting, but the model is sound. We&#8217;ve found there are primarily two types of data consumers: high-coverage of a small number of sources (&#8221;I need 100% of Joe, Jane, and Mike&#8217;s activity&#8221;), and &#8220;as high as you can get it&#8221;-coverage of a large number of sources (&#8221;I don&#8217;t need 100%, but I want very broad coverage&#8221;). Gnip&#8217;s adjusted to accommodate both.</p>
<h2>Business</h2>
<p>We&#8217;ve had to shift our resources to better focus on the paying segments of our audience. We initially thought &#8220;life-stream aggregators&#8221; would be our biggest paying customer segment, however data/media analytics firms have proven significant. Catering to the customers who tell you &#8220;we have budget for that!&#8221; makes good business sense, and we&#8217;re attacking those opportunities.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/08/04/gnip-an-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Digg-2000 Publisher, Hot Stuff</title>
		<link>http://blog.gnip.com/2009/07/27/new-digg-2000-publisher-hot-stuff/</link>
		<comments>http://blog.gnip.com/2009/07/27/new-digg-2000-publisher-hot-stuff/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 23:06:23 +0000</pubDate>
		<dc:creator>Shane Pearson</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[Partners]]></category>
		<category><![CDATA[Publishers]]></category>
		<category><![CDATA[Digg]]></category>
		<category><![CDATA[Digg-2000]]></category>
		<category><![CDATA[Gnip]]></category>

		<guid isPermaLink="false">http://blog.gnip.com/?p=585</guid>
		<description><![CDATA[We always get some interesting requests for doing additional processing on data sources.   Some of these are addressed using Gnip filters, but others do not really fit the filter model.   In able to support richer or more complex data processsing we have built some additional features into the Gnip platform.   The first new publisher using [...]]]></description>
			<content:encoded><![CDATA[<p>We always get some interesting requests for doing additional processing on data sources.   Some of these are addressed using Gnip filters, but others do not really fit the filter model.   In able to support richer or more complex data processsing we have built some additional features into the <a title="Gnip Platform" href="http://www.gnip.com/products/push-api" target="_blank">Gnip platform</a>.   The first new publisher using some of these new features is &#8220;<a title="Digg-2000" href="https://api-v21.gnip.com/gnip/publishers/digg-2000" target="_blank">Digg-2000</a>&#8220;.</p>
<p><strong>Digg-2000 Publisher &#8212; What is it?<br />
</strong></p>
<p>Lots of people submit stories to <a title="Digg.com" href="http://digg.com/" target="_blank">Digg</a> and lots of other people <a title="Digg -- How it works" href="http://digg.com/how" target="_blank">Digg the stories</a> which allows more popular information to rise to the top in being discoverable.    Several Gnip customers asked if we could make it possible for them to only receive stories that had a specific number of Diggs.   We asked Digg about the idea and they said it sounded great since they have a Twitter account that provides a similar type of feature, so the Digg-2000 Gnip publisher was born.</p>
<p><strong>Digg-2000 Publisher &#8212; How it works?</strong></p>
<p>On the Gnip platform we have set up a publisher that is listening to activities on Digg.</p>
<ul>
<li>When new stories are submitted to Digg we pick those new activites up along with the Digg count on the story and they are posted to the standard Gnip Digg publisher.</li>
<li>With every new Digg on a story we increment our tracking of the story and when we hit 2000 diggs we re-post the original story to the Digg-2000 publisher.</li>
<li>The configuration of the Digg-2000 publisher allows for us to turn two different dials.
<ul>
<li>The default configuration only will re-post stories that were first posted on Digg in the last two days.   This means we are looking for current active stories and not stories that were posted months ago and through a slow and steady interest finally hit 2000 Diggs.</li>
<li>The default configuration re-posts at 2000 Diggs.   This can be set to any number of Diggs &#8212; 100, 1000, 2000, etc.</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.gnip.com/2009/07/27/new-digg-2000-publisher-hot-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
