<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Justin Vincent</title>
	<atom:link href="http://pluggio.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://pluggio.com/blog</link>
	<description>Justin Vincent</description>
	<lastBuildDate>Fri, 27 Aug 2010 18:25:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pluggio To Become Paid Only Service (no more freemium)</title>
		<link>http://pluggio.com/blog/?p=325</link>
		<comments>http://pluggio.com/blog/?p=325#comments</comments>
		<pubDate>Fri, 27 Aug 2010 18:21:10 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Pluggio]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=325</guid>
		<description><![CDATA[As a small company we have discovered it is not economically viable for us to offer freemium plans any longer. As a result Pluggio will become a paid only service. This will enables us to offer 100% of our value and support to paying customers. We do not make this decision lightly. It comes after [...]]]></description>
			<content:encoded><![CDATA[<p>As a small company we have discovered it is not economically viable for us to offer freemium plans any longer. As a result Pluggio will become a paid only service. This will enables us to offer 100% of our value and support to paying customers.</p>
<p>We do not make this decision lightly. It comes after spending 1 year tryign to make the freemium model work.</p>
<p>The simple fact is that not enough people upgrade from free to paid. Then, the small amount of money that we do make, ends up paying for infrasturcture that is required to support all our free users (since there are many more free users than paid).</p>
<p>As an unfunded self supporting project we have decided it is best for us to focus all our time and effort on our paid customers from this point forward.</p>
<p>We hope you understand our decision.</p>
<p>All existing free users will be grandfathered into Pluggio&#8217;s new 30 day free trial system. After the 30 day free trial expires users will be required to pay a subscription if they wish to continue using Pluggio.</p>
<p>For more discussion on this subject we encourage you to read the article &#8220;<a href="http://www.softwarebyrob.com/2010/08/18/why-free-plans-dont-work/">Why Free Plans Don’t Work</a>&#8221; by Ruben Gamez</p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=325</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Pluggio&#8217;s Friend Finder Is back On-Line</title>
		<link>http://pluggio.com/blog/?p=323</link>
		<comments>http://pluggio.com/blog/?p=323#comments</comments>
		<pubDate>Sun, 15 Aug 2010 04:49:59 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Pluggio]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=323</guid>
		<description><![CDATA[Good news is that &#8220;Friend Finder&#8221; is back on-line. Some important notes about this are&#8230; You will need to fully refresh Pluggio to see the new functionality (preferably clear your cache) For Friend Finder to work you will need to log-in to Pluggio a few times a day, and leave the browser window open for [...]]]></description>
			<content:encoded><![CDATA[<p>Good news is that &#8220;Friend Finder&#8221; is back on-line. Some important notes about this are&#8230;</p>
<ul>
<li>You will need to fully refresh Pluggio to see the new functionality (preferably clear your cache)</li>
<li>For Friend Finder to work you will need to <strong>log-in to Pluggio a few times a day</strong>, and leave the browser window open for <strong>at least 10 minutes</strong> each time.</li>
<li>If you are not getting any suggestions make sure that &#8220;<strong>Other Settings &gt; My current follower-to-friend ratio</strong>&#8221; is set correctly</li>
</ul>
<p>As always, give me a shout if you have any issues!</p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=323</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Has Pulled Search API Access (again)</title>
		<link>http://pluggio.com/blog/?p=312</link>
		<comments>http://pluggio.com/blog/?p=312#comments</comments>
		<pubDate>Wed, 11 Aug 2010 00:20:34 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Pluggio]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=312</guid>
		<description><![CDATA[Update Pluggio&#8217;s &#8220;Search&#8221; &#38; &#8220;Friend Finder&#8221; are now back online &#8212;&#8212;&#8212;&#8212; You may remember that Twitter pulled search API access for Pluggio before. Well, after they did that, I converted all searches to use oauth so that they were credited against a users account rather than the IP address. That changed fixed things for a [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update</strong></p>
<p>Pluggio&#8217;s &#8220;Search&#8221; &amp; &#8220;Friend Finder&#8221; are now back online</p>
<p>&#8212;&#8212;&#8212;&#8212;</p>
<p>You may remember that Twitter <a href="http://pluggio.com/blog/?p=267">pulled search API access for Pluggio before</a>.</p>
<p>Well, after they did that, I converted all searches to use oauth so that they were credited against a users account rather than the IP address.</p>
<p>That changed fixed things for a few months but it looks like they want to throttle things down even more.</p>
<p>So they have revoked search API access again.</p>
<p>This affects <span style="text-decoration: line-through;">&#8220;Search&#8221; and</span> &#8220;Friend Finder&#8221; <span style="text-decoration: line-through;">both of</span> which <span style="text-decoration: line-through;">are</span> is temporarily down</p>
<p>I&#8217;m not sure what I&#8217;m going to do but I&#8217;m going to try damn hard to get it resolved by the weekend.</p>
<p>Cheers,<br />
Justin</p>
<p><em><strong>Update</strong></em><br />
Search streams and general search is now working again (although links etc are not yet working in those streams)</p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=312</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why It&#8217;s a Bad Idea to Warranty Custom Code (Bugs vs Mistakes)</title>
		<link>http://pluggio.com/blog/?p=302</link>
		<comments>http://pluggio.com/blog/?p=302#comments</comments>
		<pubDate>Mon, 02 Aug 2010 04:11:30 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Musings]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=302</guid>
		<description><![CDATA[A few months ago I had an interesting discussion with a client about &#8220;Bugs vs Mistakes&#8221;. During the discussion my client  said  that he didn&#8217;t like the idea that he was first paying a developer to &#8216;make a mistake&#8217; and then second paying the developer to &#8216;fix the mistake&#8217;. He didn&#8217;t mind so much about [...]]]></description>
			<content:encoded><![CDATA[<p>A few months ago I had an interesting discussion with a client about &#8220;Bugs vs Mistakes&#8221;. During the discussion my client  said  that he didn&#8217;t like the idea that he was first paying a developer to &#8216;make a mistake&#8217; and then second paying the developer to &#8216;fix the mistake&#8217;.</p>
<p>He didn&#8217;t mind so much about &#8216;Bugs&#8217;. &#8216;Mistakes&#8217; were the issue.</p>
<p><em><strong>My Client&#8217;s Classification of a Bug: </strong></em></p>
<p><em>On one page we had a search box, but rather than use std HTML we wanted to make it look nice by adding a background graphic with CSS. If you typed more than 30 characters the text overshot the end of the background image that would be considered a bug (an oversight).</em></p>
<p><em><strong>My Client&#8217;s Classification of a Mistake: </strong></em></p>
<p><em>The site had a section where you could store credit card information and a section where you could store bank information. A mistake would be if the drop down in the bank account section had the text &#8220;Credit Card&#8221; when it should  read &#8220;Bank Account&#8221; (a copy paste error).</em></p>
<p>During the discussion he made the interesting assertion that software developers &#8216;mistakes&#8217; should be warranted and fixed free of charge. That&#8217;s an interesting concept and worthy of discussion. In this article I hope to show that neither the customer, nor developer can benefit from a &#8220;Warranted Code&#8221; code agreement when developing 100% hand coded custom software.</p>
<p><strong>ALL Bugs Are Mistakes</strong></p>
<p>It&#8217;s difficult for a non programmer to appreciate just how many mistakes it&#8217;s possible to make when coding. It&#8217;s even difficult for a new programmer to appreciate it. It&#8217;s only after you&#8217;ve been coding for a few years that you can truly grasp the magnitude of what can go wrong.</p>
<p>It&#8217;s not the same as, say, the number of mistakes you might make when writing an essay. After all once you have finished the essay it stays the same and the words don&#8217;t change&#8230;</p>
<p>But dynmic code is a different story. Each line consists of variables that rely on other variables that rely on functions that are chained together. One logic chain may have a depth of hundreds of library functions that rely on other library functions and so on. An infinite number of mistakes and bugs just waiting to happen.</p>
<p>If a developer were to try to think of ALL the possible things that could go wrong during their daily coding sessions &#8211; their output would probably slow down by a huge order of magnitude.</p>
<p>It&#8217;s not unusual for custom projects to have more than 10,000 lines of custom code, all interacting with each other. There&#8217;s an old saying &#8220;Only one company in the world makes bug free code. It&#8217;s NASA. It costs them a $1000 a line&#8221;. I bet that most startup&#8217;s would not be willing to pay $10m for creating 10,000 lines of custom code ;)</p>
<p>So, as a result, coders have no choice but to choose a comparatively small amount of tests to check any new code is &#8220;good enough&#8221; before handing it off.</p>
<p>The typical tests a web developer performs after building web functionality might be:</p>
<ul>
<li>Does a record get inserted in the database when I click the &#8220;Save&#8221; button?</li>
<li>Does the error popup if I don&#8217;t enter a value? Correct error message?</li>
<li>Is the inserted record correctly associated with the logged in user?</li>
<li>etc.</li>
</ul>
<p>In other words the developer is testing the &#8216;meat and potatoes&#8217; of the application logic. As you can imagine when the developer has their head stuck in this level of &#8216;logic complexity&#8217; it&#8217;s vey easy for them to miss something aesthetic such as&#8230; does the drop-down say &#8216;Credit Card&#8217; or &#8216;Bank Account&#8217;.</p>
<p>Yet, from the clients perspective it seems astounding that the developer could pay so little attention to the front end and miss the obvious mistake staring them in the face &#8211; however from the developers perspective the front end is only the very tip of the iceberg.</p>
<p>For example, a web page on the front end might consist of two drop-downs and a button &#8211; but the backend interactions can involve thousands of lines of code with infinite error possibilities &#8211; and it is these that a good developer must focus on. After all, the wrong text on the front end is a 2 second fix, but badly tested code on the backend can bring the entire site down.</p>
<p><strong>Don&#8217;t Eat Your Own Dogfood</strong></p>
<p>In the world of software development it is widely acknowledged that coders should NEVER test their own output. This is for good reason. A dog can&#8217;t smell its own breath. It&#8217;s impossible for a developer to guess how other people might interact with the product they&#8217;ve made. There are other good reasons discussed here. If a developer was to FULLY test their own work it would decrease their output dramatically.</p>
<p>I know this because after the discussion with my client I tested the theory. I painstakingly tested all my new code to the Nth degree before releasing it. I was slowed down by about 80% due to the massive amount of permutations I needed to test for (rather than the core tests). My output became very low and my cost to ship each functional unit went up by a factor of 5. I also became bored and un-inspired with the work.</p>
<p>In my opinion, the very idea of warranted code is bad for the customer. It would force ANY sensible developer to test way more permutations than actually required &#8211; &#8216;on the clock&#8217; &#8211; during billed time.</p>
<p>Yes the customer may end up with &#8220;better code&#8221; but at a huge price increase in cost and productivity.</p>
<p>A better idea is for the programmer to output work at their usual rate with a sensible amount of tests (i.e. database tests etc.) &#8211; but not test every possible outcome. Then as the project gets closer to launch, and bugs are picked up, they are can be cycled back to the developer who polishes them at that point.</p>
<p>With this method you only pay for &#8220;bugs that really matter&#8221; &#8211; vs &#8211; paying for &#8220;all possible code permutations&#8221; that a developer might think of.</p>
<p>You could go a step further and say that the appropriate time to get picky about how the software works and what it looks like is in the Q&amp;A cycle (just before launch). Large software companies have an entire Q&amp;A team that does nothing other than test software and report bugs to developers. Smaller software houses may not have dedicated teams, instead they usually have a dedicated Q&amp;A cycle, in which everyone on the team focuses on testing the software and then cycles back bugs for developers to fix (once again, just before launch).</p>
<p><strong>Development Cycle</strong></p>
<p>A good testing/development cycle might look like:</p>
<ol>
<li>Brainstorm features</li>
<li>Wireframe front-end</li>
<li>Developers code new custom features</li>
<li>Business owners check new custom features (loop back to step 3 as needed)</li>
<li>Final Q&amp;A</li>
<li>Developers fix issues (loop back to 5 as needed)</li>
<li>Launch</li>
<li>Fix bugs that customers find</li>
</ol>
<p>It&#8217;s important to note that at stage 4 we are not looking for 100% perfection. We should be looking for minimum viable product acceptable to the business owners. Then Q&amp;A stage 5 will throw up plenty of finer detail bugs missed at stage 4 (and rightly so).</p>
<p>You will also note that at step 8 even more bugs are found by customers. This is why entrepreneurs should take a chill pill when it comes to perfectionist tendencies. In 20 years of software development I&#8217;ve never seen software that was bug free.</p>
<p><strong>Conclusion</strong></p>
<p>By using Q&amp;A teams and Q&amp;A cycles correctly entrepreneurs empower their developers to output code as quickly as possible without having to get bogged down in the minutiae of testing all the possible permutations as they go along. Even though it may be painful to see an imperfect product emerge, this is most likely a cheaper and faster way to develop software.</p>
<p>The likely alternative is to slow down developers by 80% and grind productivity to a near stand-still. It also risks stifling developers creative output, which can kill the spark and make a developers job less satisfying. Which in turn might give the developer itchy feet.</p>
<p><em><a href="http://twitter.com/justinvincent"></a></em><strong>Update</strong></p>
<p>There are some exceptions to this rule. For example if your software house has created a framework that you use as a cookie cutter system for all of your clients and you only create iphone apps  &#8211; then I can imagine you could warranty your work without too much of an issue (because presumably you would have tested your cookie cutter framework to the Nth degree).<strong> </strong></p>
<p>The above article is targeted at developers creating <em><strong>one off custom code</strong></em> for a new start-up or business.</p>
<p><em>If you found this article interesting check out the weekly tech podcast I co-host (<a href="http://techzinglive.com/">TechZing</a>) which you can subscribe to on itunes by clicking <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=318567721">this link</a> or <a href="http://techzinglive.com/">listen to here</a>. You can also follow me on twitter <a href="http://twitter.com/justinvincent">@justinvincent</a></em></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=302</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pluggio Performance Boost</title>
		<link>http://pluggio.com/blog/?p=299</link>
		<comments>http://pluggio.com/blog/?p=299#comments</comments>
		<pubDate>Tue, 18 May 2010 23:21:51 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=299</guid>
		<description><![CDATA[I uncovered an issue with Rackspace PHP session management that was causing slow performance on Pluggio &#8211; and the dreaded &#8220;No Nodes Available&#8221; Error. The good news is I am now completely bypassing Rackspace PHP session management (long story) &#8211; and as a result Pluggio&#8217;s performance has become super charged. =&#62; http://pluggio.com]]></description>
			<content:encoded><![CDATA[<p>I uncovered an issue with Rackspace PHP session management that was causing slow performance on Pluggio &#8211; and the dreaded &#8220;No Nodes Available&#8221; Error.</p>
<p>The good news is I am now completely bypassing Rackspace PHP session management (long story) &#8211; and as a result Pluggio&#8217;s performance has become super charged.</p>
<p>=&gt; <a href="http://pluggio.com">http://pluggio.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=299</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash &amp; Flex Latency &#8211; The Unspoken Elephant in the Room</title>
		<link>http://pluggio.com/blog/?p=285</link>
		<comments>http://pluggio.com/blog/?p=285#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:09:50 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=285</guid>
		<description><![CDATA[At the risk of starting a huge flame war I&#8217;ve been wanting to mention something that&#8217;s been bugging me for years about Flash and now Flex. User Interaction Latency. When I use a native HTML or desktop app things happen instantly. When I click a drop down it instantly snaps down, when I scroll the [...]]]></description>
			<content:encoded><![CDATA[<p>At the risk of starting a huge flame war I&#8217;ve been wanting to mention something that&#8217;s been bugging me for years about Flash and now Flex.</p>
<p>User Interaction Latency.</p>
<p>When I use a native HTML or desktop app things happen instantly. When I click a drop down it instantly snaps down, when I scroll the page instantly moves.</p>
<p>When I do these things in Flash (website or air) there is a user interaction lag. Very noticeable on older machines but still noticeable even on the most modern machine. Just a fraction of a second, but noticeable none the less.</p>
<p>I&#8217;ve spoken to other Flash Dev&#8217;s (yes, I am a Flash developer of many years) who swear there is no Latency and that Flash is just as responsive as native apps HTML or desktop apps.. I don&#8217;t get why they don&#8217;t see it.</p>
<p>Anyway, user interaction latency is the only reason why I don&#8217;t use flash for my personal projects such as <a href="http://pluggio.com">Pluggio</a></p>
<p>Anyone else notice it? Is it just me? Or am I correct in thinking it&#8217;s the unspoken elephant in the room&#8230;?</p>
<p>&#8212;</p>
<p><strong>You can follow me on twitter <a href="http://twitter.com/justinvincent">@justinvincent</a> or check out <a href="http://pluggio.com">Pluggio</a> the twitter client I&#8217;m building in jQuery.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=285</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>List Of Businesses Twitter Has Taken Offline</title>
		<link>http://pluggio.com/blog/?p=278</link>
		<comments>http://pluggio.com/blog/?p=278#comments</comments>
		<pubDate>Mon, 26 Apr 2010 18:35:02 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=278</guid>
		<description><![CDATA[I put together this list of businesses that Twitter has taken offline &#8211; not to vilify Twitter &#8211; but to help other business understand why Twitter will pull the plug. If you are thinking about creating a business on top of the Twitter platform it would be well worth your reading through the list of [...]]]></description>
			<content:encoded><![CDATA[<p>I put together this list of businesses that Twitter has taken offline &#8211; not to vilify Twitter &#8211; but to help other business understand why Twitter will pull the plug.</p>
<p>If you are thinking about creating a business on top of the Twitter platform it would be <em>well</em> worth your reading through the list of blog posts below &#8211; in order to see what the common thread is &#8211; and what you need to do to stop your business from hitting the &#8220;naughty site&#8221; radar.</p>
<ul>
<li><a href="http://pluggio.com/blog/?p=155" target="_blank">TweetMiner suspended from Twitter API</a></li>
<li><a href="http://www.buzzom.com/blog/?p=527" target="_blank">Buzzom suspended from Twitter API</a></li>
<li><a href="http://techcrunch.com/2010/04/24/twitter-managetwitter/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29" target="_blank">ManageTwitter suspended from Twitter API</a></li>
<li><a href="http://pluggio.com/blog/?p=267" target="_blank">Pluggio denied access to the Twitter search API</a></li>
</ul>
<p>If you know of any other blog posts with info about a site being suspended from Twitter please let me know so I can add it to the list.</p>
<p>And if it&#8217;s not too cheeky, while your here, you might like to check out the Twitter client I&#8217;m building :) <a href="http://pluggio.com">http://pluggio.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=278</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Strikes Again</title>
		<link>http://pluggio.com/blog/?p=267</link>
		<comments>http://pluggio.com/blog/?p=267#comments</comments>
		<pubDate>Thu, 22 Apr 2010 17:06:49 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=267</guid>
		<description><![CDATA[Twitter have decided to drastically reduce the number of search API calls that Pluggio is allowed to make per hour. Before this reduction Pluggio had the capacity to make 10,000 calls per hour which was perfectly fine for Pluggio&#8217;s 3,700 users. This breaks &#8220;Search&#8221; and &#8220;Friend Finder&#8221;. When I asked Twitter why? Here was the [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter have decided to drastically reduce the number of search API calls that Pluggio is allowed to make per hour. Before this reduction Pluggio had the capacity to make 10,000 calls per hour which was perfectly fine for Pluggio&#8217;s 3,700 users.</p>
<p>This breaks &#8220;Search&#8221; and &#8220;Friend Finder&#8221;.</p>
<p>When I asked Twitter why? Here was the response&#8230;</p>
<p><span style="color: #0000ff;"><em>Hi Justin,</em></span></p>
<p><span style="color: #0000ff;"><em>Thank you for your continued interest in our API. Instead of using  the Search API to accomplish your application&#8217;s needs, we encourage you  to look into the Streaming API instead: <a href="http://dev.twitter.com/pages/streaming_api" target="_blank">http://dev.twitter.com/pages/streaming_api</a> . Specifically, you can establish one connection to the Streaming API  that pipes in all the tweets containing at least one of your users&#8217;  keywords, instead of repeatedly sending search queries, using the  statuses/filter method with the track parameter. Additionally, you can  apply for elevated Streaming API access roles (such as track restricted,  which allows you to track up to 10,000 keywords) by filling out the  form at <a href="http://twitter.com/help/request_streaming" target="_blank">http://twitter.com/help/request_streaming</a> . I  hope that you are able to implement your app with the Streaming API, and  I&#8217;m sorry for any inconvenience that this may cause you and your team.</em></span></p>
<p><span style="color: #0000ff;"><span style="color: #000000;">In order to make Pluggio work with this new system it will take me 2-3 days hard core programming.</span></span></p>
<p>So hopefully this should be resolved my the end of the weekend.</p>
<p>I apologize for this service interruption and am doing everything I can to get things back on line.</p>
<p>Justin</p>
<h2>Update Thu April 22nd 9:38PM PST</h2>
<p>After thinking about this I have to say I&#8217;m quite disappointed that yet again Twitter have shut down large functionality on Pluggio without ANY kind of warning. Given that Pluggio now has almost 3700 registered users it would have been very easy for them to have sent a warning email offering me a few weeks grace to implement this new API. Which, incidentally is no walk in the park to integrate and has all sorts of ramifications about what type of server I can use for Pluggio.</p>
<h2>Update Fri April 22nd 1:22AM PST</h2>
<p>I have some news about this issue. It is not very good news. And makes me even more frustrated that Twitter shut down Pluggio&#8217;s search capability without warning.</p>
<p>Rather than use their search API they want Pluggio to use the stream API which in essence is a completely different concept to the search API. It&#8217;s very complex but I will try to explain.</p>
<p>With the existing &#8220;Friend Finder&#8221; pluggio will cycle through your keywords once every three hours and look for people who tweet about that topic.</p>
<p>So, let&#8217;s say you have #php, #apple, #ipad</p>
<p>Then pluggio will search for #php and then three hours later will search for #apple and three hours later will search for #ipad and then cycle back to the beginning again.</p>
<p>So pluggio just searches once for each term and twitter sends back the latest 20 tweets. Pluggio recommends the tweeters as friends. Simple.</p>
<p>As explained this no longer works because twitter turned it off.</p>
<p>With the stream API it works differently. Pluggio only gets access to one &#8220;real time&#8221; stream. The tweets that get sent to the stream are specified by &#8220;registering&#8221; keywords. So in the above example if you had the following friend finder words of #php, #apple, #ipad. Pluggio would need to register them and then they would come in, in real time in &#8220;one single stream&#8221; that pluggio has to store and deal with. The problem is that since Pluggio is only allowed &#8220;one stream&#8221; ALL users keywords on Pluggio need to be registered with the one stream.</p>
<p>At the moment Pluggio users have setup just under 1000 keywords. I ran a test with the stream with only 100 keywords plugged in, and the stream received about 5000 tweets in two minutes. By those calculations the stream will be pulling in 25,000 tweets per minute with 1000 keywords. That&#8217;s 36 million tweets per day.</p>
<p>I hope you can see that making Friend Finder work with the stream API is VERY different to the search API. With the search API as it is, all Pluggio needs to do is ONE search to get back 20 results every three hours. With the new stream API Pluggio has to deal with 36 million tweets a day (and that&#8217;s just with the current user base of 3700 users).</p>
<p>So, long story short. In this instance I don&#8217;t actually know what to do. There&#8217;s no way I will be able to build a system that deals with 36 million daily tweets by the end of the weekend (let alone the fact that twitter have not even given me access to that many search terms with the stream &#8211; Pluggio can only access about 100 searches right now).</p>
<p>One possibility is to make Friend Finder for premium accounts only and that way it would limit the stream, but even then it will be pulling in over 5000 tweets a minute with the current paid user-base.</p>
<p>Also, just to add insult to injury, the stream API does not allow keyword/location searches in a way that would be possible to tie back to any user who was using friend finder. So no matter what happens that is one nice function that will not work in the future.</p>
<p>Needless to say I&#8217;m upset about all of this and will be looking for some kind of solution over the next week or so.</p>
<p>All I can do is ask you to bear with me while I think about how to tackle this huge issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=267</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Bill Gates Bans iTunes From Windows</title>
		<link>http://pluggio.com/blog/?p=244</link>
		<comments>http://pluggio.com/blog/?p=244#comments</comments>
		<pubDate>Thu, 15 Apr 2010 16:43:12 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=244</guid>
		<description><![CDATA[This just in from our news desk. Today Bill Gates made the unprecedented announcement that Apple&#8217;s iTunes is banned from the Windows OS. Our roving reporter was lucky enough to catch up with Bill and ask him why Microsoft had made this astonishing announcement. Bill had the following to say on this subject&#8230; &#8220;In the [...]]]></description>
			<content:encoded><![CDATA[<p>This just in from our news desk.</p>
<p>Today Bill Gates made the unprecedented announcement that Apple&#8217;s iTunes is banned from the Windows OS.</p>
<p>Our roving reporter was lucky enough to catch up with Bill and ask him why Microsoft had made this astonishing announcement. Bill had the following to say on this subject&#8230;</p>
<p><em>&#8220;In the first place we were happy that they (Apple) deployed iTunes to Windows; we got a lot of new customers just because of that one app, but, then we heard from an inside source that they (Apple) used the EXACT SAME code-base for iTunes Mac as for Windows.</em></p>
<p><em>On closer inspection we noticed that iTunes didn&#8217;t even use the real windows API! They make their own scroll system and their own chrome COMPLETELY bypassing our fantastic Windows OS. So, we&#8217;ve decided enough is enough. We&#8217;ll allow iTunes back into Windows when they (Apple) make the following changes.</em></p>
<ul>
<li><em>Apple MUST write a specialised version of  iTunes on Windows and use Windows compilers and Windows languages ONLY<br />
</em></li>
<li><em>Apple MUST use native windows controllers such as our in built Windowing system and scroll objects.</em></li>
<li><em>Apple MUST lose this RIDICULOUS attitude of writing code once and deploying to multiple operating systems. Just don&#8217;t go there.<br />
</em></li>
</ul>
<p><em>If they (Apple) can follow those few simple rules, then we (Microsoft) will be happy to allow them back on Windows.&#8221;</em></p>
<p><strong>Update</strong>:<br />
<em>Just to be clear this is a Thought Experiment article parodying the double standards that came from Apple&#8217;s 3.3.1 T&amp;C clause. Also, the author (Me) is a huge fan of Apple and ironically purchased a Mac Book Pro the very day this article was written!</em></p>
<p><em><strong>Update 2:</strong></em><em> </em></p>
<p><em>If you liked this, you can follow me on Twitter <strong><a href="http://twitter.com/justinvincent">@justinvincent</a></strong> and/or check out the Twitter client I&#8217;m building in jQuery @ <strong><a href="http://pluggio.com">pluggio.com</a> :)<br />
</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=244</wfw:commentRss>
		<slash:comments>146</slash:comments>
		</item>
		<item>
		<title>Why Pluggio Doesn&#8217;t have &#8220;Reoccurring&#8221; Tweets</title>
		<link>http://pluggio.com/blog/?p=235</link>
		<comments>http://pluggio.com/blog/?p=235#comments</comments>
		<pubDate>Tue, 13 Apr 2010 23:24:28 +0000</pubDate>
		<dc:creator>Justin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pluggio.com/blog/?p=235</guid>
		<description><![CDATA[This is a quick blog post about why Pluggio doesn&#8217;t have Reoccurring&#8221; Tweets. If you check out Twitters  Policy: Rules, Terms, Violations &#62; Spam and Abuse you can see the following: You may not use the Twitter service for the purpose of spamming anyone. What constitutes “spamming” will evolve as we respond to new tricks [...]]]></description>
			<content:encoded><![CDATA[<p>This is a quick blog post about why Pluggio doesn&#8217;t have Reoccurring&#8221; Tweets.</p>
<p>If you check out Twitters  <a href="http://help.twitter.com/forums/26257/entries/18311"><strong>Policy:  Rules, Terms, Violations &gt; Spam and Abuse</strong></a> you can see the following:</p>
<p><span style="color: #ff0000;"><em>You may not use the Twitter service for the purpose of spamming anyone.  What constitutes “spamming” will evolve as we respond to new tricks and  tactics by spammers. Some of the factors that we take into account when  determining what conduct is considered to be spamming are:</em></span></p>
<ul>
<li>&#8230;</li>
<li><span style="color: #ff0000;"><em>If you post duplicate content over multiple accounts or multiple  duplicate updates on one account;</em></span></li>
<li><span style="color: #ff0000;"><em>&#8230;<br />
</em></span></li>
</ul>
<p><span style="color: #ff0000;"><em>Your account may be suspended for Terms of Service violations if any of  the above is true.</em></span></p>
<p>Long story short is it&#8217;s against Twitter&#8217;s rules and Terms Of Service.</p>
<p>Pluggio apologises for not to offering this functionality, but given that <a href="http://pluggio.com/blog/?p=192">we know what it&#8217;s like to be shut down by Twitter</a>, we make sure to follow their terms of service carefully :)</p>
<p>This is in an effort to offer our customers as much uptime and reliability as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://pluggio.com/blog/?feed=rss2&amp;p=235</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
