<?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>PlanetB &#187; twitter</title>
	<atom:link href="http://www.planetb.ca/tag/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.planetb.ca</link>
	<description></description>
	<lastBuildDate>Sat, 31 Dec 2011 23:31:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Turn Tweets Into a PDF</title>
		<link>http://www.planetb.ca/2010/12/turn-tweets-into-a-pdf/</link>
		<comments>http://www.planetb.ca/2010/12/turn-tweets-into-a-pdf/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 20:28:45 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[appspot]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[transform]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter to pdf]]></category>

		<guid isPermaLink="false">http://www.planetb.ca/?p=471</guid>
		<description><![CDATA[Last night I tried my hand with Google&#8217;s app engine.  In short, I totally   dig it.  I figured I&#8217;d try to make a very simple app that turned recent   Twitter stream posts from a user into a PDF file.  It was fun, it was   stunningly easy and the Python MVC framework that the Google Apps [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tweets2pdf.appspot.com/" target="_blank"><img class="aligncenter size-full wp-image-472" title="tweets-2-pdf" src="http://www.planetb.ca/wp-content/uploads/2010/12/tweets-2-pdf.jpg" alt="" width="350" height="228" /></a></p>
<p>Last night I tried my hand with<a href="http://appengine.google.com" target="_blank"> Google&#8217;s app engine</a>.  In short, I totally   dig it.  I figured I&#8217;d try to make a very simple app that turned recent   Twitter stream posts from a user into a PDF file.  It was fun, it was   stunningly easy and the Python MVC framework that the Google Apps Engine uses is very nice.</p>
<p>The app performs a jquery JSONp lookup on the entered user screen name to  first make sure it&#8217;s valid and verify that the Twitter API isn&#8217;t &#8220;Fail  Whale&#8221;.  Then it submits the user screen name to a POST handler.  The POST  handler uses a Google App Engine URL fetch() to retrieve the top 100  tweets from the user&#8217;s Twitter feed and uses ReportLab&#8217;s Open Source PDF  generation toolkit to generate the PDF file.</p>
<p>Given that it simply uses the Twitter public API to retrieve the Twitter  feed, private users won&#8217;t be able to use this to turn their tweets into a  PDF file.  But if your Twitter account isn&#8217;t private, rejoice and click  here to <a href="http://tweets2pdf.appspot.com/" target="_blank">turn your Twitter feed into a PDF</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planetb.ca/2010/12/turn-tweets-into-a-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter oAuth in .Net without Web Login</title>
		<link>http://www.planetb.ca/2010/07/twitter-oauth-in-net-without-web-login/</link>
		<comments>http://www.planetb.ca/2010/07/twitter-oauth-in-net-without-web-login/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 02:07:57 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.planetb.ca/?p=278</guid>
		<description><![CDATA[I was interested in getting a Twitter App together to orchestrate some follows and unfollows and user searches for a personal project. In the past, I&#8217;ve used Twitter&#8217;s Basic Authentication API to get my Twitter feed, but according to the Twitter API documentation, Basic Auth is going to be unsupported in August of this year. [...]]]></description>
			<content:encoded><![CDATA[<p>I was interested in getting a <strong>Twitter App</strong> together to orchestrate some follows and unfollows and user searches for a personal project.  In the past, I&#8217;ve used <strong>Twitter&#8217;s Basic Authentication</strong> API to get my Twitter feed, but according to the Twitter API documentation, Basic Auth is going to be unsupported in August of this year.  So I figured I might as well get my feet wet with <strong>Twitter oAuth</strong> authentication.</p>
<p>I came across <a href="http://www.voiceoftech.com/swhitley/?p=856" target="_blank">this article</a> about how to use Twitter oAuth with .Net (via Twitter API documentation) and used the extended oAuth code for my own project.</p>
<p>Unfortunately in all examples of desktop apps that I can find, they all involve opening up Twitter.com in a web browser control to get the user&#8217;s PIN for the app.  Of course, this makes sense, but I wanted to short circuit this process.  I wanted to be able to enter a userid and password and go straight into my account.</p>
<p>Here&#8217;s a quick snip of my code in case you&#8217;re interested in doing the same.  The code uses HTTPWebRequest and HTTPWebResponse to automate the PIN request procedure so a web browser control is not needed.</p>
<p>This code uses Twitter oAuth for .Net from <a href="http://www.voiceoftech.com/swhitley/?p=856">here</a>, which itself extends .Net oAuth from <a href="http://oauth.net/code/">here</a>. The code is probably not complete as I simply took the code snippets from a larger project and as such, some variables may not be declared or initialized properly.</p>
<div style="font-size:8pt;">
<pre class="brush: c#">
//Assumes these vars are populated before below code.
private string _consumerKey = &quot;&quot;;
private string _consumerSecret = &quot;&quot;;
private string _userid = &quot;&quot;;
private string _password = &quot;&quot;;

//These get populated by below code
private string _token=&quot;&quot;;
private Uri AuthUri = null;
private oAuthTwitter oAuth;
private string _pin = &quot;&quot;;

public void authenticate()
{
    oAuth = new oAuthTwitter();
    oAuth.ConsumerKey = _consumerKey;
    oAuth.ConsumerSecret = _consumerSecret;

    Uri AuthUri = new Uri(oAuth.AuthorizationLinkGet());
    _token = HttpUtility.ParseQueryString(AuthUri.Query)[&quot;oauth_token&quot;];
    CookieContainer cookies = null;
    string content = getContent(AuthUri.ToString(), null, &quot;&quot;, null, ref cookies);
    string authenticity_token = Regex.Match(content, &quot;twttr\\.form_authenticity_token = &#039;([^&#039;]+)&#039;;&quot;, RegexOptions.IgnoreCase).Groups[1].Value;

    string post = ue(&quot;authenticity_token&quot;, authenticity_token) +
                    &quot;&amp;&quot; + ue(&quot;oauth_token&quot;, _token) +
                    &quot;&amp;&quot; + ue(&quot;session[username_or_email]&quot;, _userid) +
                    &quot;&amp;&quot; + ue(&quot;session[password]&quot;, _password) + &quot;&amp;Allow=allow&quot;;

    content = getContent(oAuthTwitter.AUTHORIZE, post, &quot;https://www.twitter.com/&quot;, cookies, ref cookies);
    Match m = Regex.Match(content, &quot;oauth_pin\\\&quot;&gt;\\s*([0-9]+)&quot;, RegexOptions.IgnoreCase);
    _pin = &quot;&quot;;
    if (m != null)
    {
        _pin = m.Groups[1].Value;
    }

    oAuth.Token = _token;
    oAuth.AccessTokenGet(_token, _pin);
    if (oAuth.TokenSecret.Length &gt; 0)
    {
        string xml = oAuth.oAuthWebRequest(oAuthTwitter.Method.GET, &quot;http://twitter.com/account/verify_credentials.xml&quot;, String.Empty);
    }
}
private string ue(string parm, string val)
{
    return HttpUtility.UrlEncode(parm) + &quot;=&quot; + HttpUtility.UrlEncode(val);
}

public static string getContent(string url, string requestBody, string referrer, CookieContainer cookies, ref CookieContainer retCookies)
{
    ServicePointManager.CertificatePolicy = new trustedCertificatePolicy();
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
    request.Method = (requestBody == null) ? &quot;GET&quot; : &quot;POST&quot;;
    request.UserAgent = &quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 (.NET CLR 3.5.30729)&quot;;
    request.Accept = &quot;text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&quot;;
    request.Referer = referrer;
    request.CookieContainer = cookies;

    if (requestBody != null)
    {
        request.ContentType = &quot;application/x-www-form-urlencoded&quot;;
        request.ContentLength = System.Text.Encoding.UTF8.GetByteCount(requestBody);
        Stream requestStream = request.GetRequestStream();
        StreamWriter writer = new StreamWriter(requestStream);
        writer.Write(requestBody);
        writer.Flush();
    }
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    Stream stream = response.GetResponseStream();
    StreamReader reader = new StreamReader(stream);
    string content = reader.ReadToEnd();

    CookieContainer rc = new CookieContainer();

    UriBuilder ubuilder = new UriBuilder();
    Uri u = new Uri(&quot;https://www.twitter.com&quot;);

    rc.SetCookies(u, response.Headers[&quot;Set-Cookie&quot;]);
    rc.Add(response.Cookies);
    retCookies = rc;

    return content;
}
</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.planetb.ca/2010/07/twitter-oauth-in-net-without-web-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Traffic Generation Part 2 &#8211; Social Networking</title>
		<link>http://www.planetb.ca/2010/07/traffic-generation-part-2-social-networking/</link>
		<comments>http://www.planetb.ca/2010/07/traffic-generation-part-2-social-networking/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 01:33:32 +0000</pubDate>
		<dc:creator>Jamie</dc:creator>
				<category><![CDATA[media]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Traffic Generation]]></category>
		<category><![CDATA[automated social bookmarking]]></category>
		<category><![CDATA[backlink creation]]></category>
		<category><![CDATA[backlinks]]></category>
		<category><![CDATA[bookmarking]]></category>
		<category><![CDATA[exploit social bookmarking]]></category>
		<category><![CDATA[facebook fan page]]></category>
		<category><![CDATA[social bookmarking]]></category>
		<category><![CDATA[socialmarker]]></category>
		<category><![CDATA[socialposter]]></category>
		<category><![CDATA[traffic generation]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Twitter followers]]></category>

		<guid isPermaLink="false">http://www.planetb.ca/?p=234</guid>
		<description><![CDATA[The term &#8220;Social Networking&#8221; isn&#8217;t necessarily easy to describe. In the context of the web, technically I suppose it could be defined as building and interacting with individuals online. But by this definition, social networking isn&#8217;t something recently new. Blogging, forums, IRC could all be considered social networking. Some of these I discussed as traffic [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.planetb.ca/wp-content/uploads/2010/07/social_networking.jpg"><img class="aligncenter size-full wp-image-268" title="social_networking" src="http://www.planetb.ca/wp-content/uploads/2010/07/social_networking.jpg" alt="" width="400" height="300" /></a></p>
<p>The term &#8220;<strong>Social Networking</strong>&#8221; isn&#8217;t necessarily easy to describe. In the context of the web, technically I suppose it could be defined as building and interacting with individuals online. But by this definition, social networking isn&#8217;t something recently new. Blogging, forums, IRC could all be considered social networking. Some of these I discussed as traffic generation sources in part 1 of this series about <a title="Creating Backlinks" href="http://www.planetb.ca/2010/06/traffic-generation-part-1-backlinks/" target="_self">creating backlinks</a>.  But when we think of &#8220;Social Networking&#8221;, these days that encompases things like Facebook and Twitter.  Perhaps Youtube or Google Wave even (Google wha?). These are the &#8220;social networking&#8221; sources that I will discuss in this post &#8211; part 2 in a series about <strong>website traffic generation</strong>.</p>
<h2>Social Bookmarking</h2>
<p>In the last few years, hundreds of &#8220;<strong>Social Bookmarking</strong>&#8221; websites have sprung up. Social bookmarking sites are sites that share links to resources which are seen by the thousands of readers of the bookmarking site. Generally users can vote a link up and down. The popularity of the link affects the link&#8217;s position in lists of &#8220;most viewed&#8221;, &#8220;most popular, &#8220;highest rated&#8221; or &#8220;most commented on&#8221;.</p>
<p>Slashdot and Digg.com were arguably the first sites that did this sort of link submission and ranking.  Furl, Reddit, del.ic.io.us, Newsvine and a host of others have since followed.</p>
<p>On some of these sites, a high ranking link has driven massive amounts of traffic to websites, ultimately bringing down the host web servers. The terms, &#8220;<em>Slashdotted</em>&#8220;, the &#8220;<em>Slashdot effect</em>&#8221; and the &#8220;<em>Digg effect</em>&#8221; were all coined for server outages due to links becoming popular on the respecitve sites.</p>
<p>Using social bookmarking in an attempt to gain website traffic may seem spammy, but you could say the same for any other <strong>traffic generation technique</strong> outside the scope of basic SEO and ultimately for the vast majority of content publishers and website owners, traffic generation techniques such as <strong>exploiting social bookmarking</strong> are necessity in order to be competetive.</p>
<p>Compared to the effort involved in social bookmarking, the benefit is indeed minimal. However, there are some tools available to assist in littering the web with your social bookmarks making the process marginally less effortful.  I&#8217;ve used a couple, including <a href="http://socialposter.com/">socialposter</a> and <a href="http://www.socialmarker.com/" target="_blank">socialmarker</a>.  Both do relatively the same thing &#8211; attempting to make the social bookmarking process a tiny bit less painstaking.</p>
<h2>Facebook Fan Pages</h2>
<p>Facebook is quickly becoming the Web within the Web. Amazingly enough, Already, loads of commercials (from big companies) display their Facebook Fan Page along with their logo. Building a Facebook Fan Page isn&#8217;t enough though.  You also need to get people to &#8220;Like&#8221; it. If you already have a Facebook account, then you can at least start there by &#8220;Liking&#8221; your own Fan Page. Your friends will probably see that you&#8217;ve &#8220;Liked&#8221; it and there&#8217;s a possibility that they may as well.  On your website, include a link to the Fan Page.  People who visit your site may then &#8220;Like&#8221; the Fan Page and their friends will in turn see the &#8220;Like&#8221; notification and could possibly &#8220;Like&#8221; it themselves and the snowball effect continues.</p>
<p>You can also use your Facebook account (or create a new account) to gain fan page &#8220;followers&#8221;.  You can do this by finding Facebook people with a thousand or more Friends.  Friend them, yourself, and they will likely confirm your friendship.  Anyone with a thousand &#8220;Friends&#8221; indicates that in reality they just confirm whomever Friends them.  Once you amass a large following, you can post links to your Fan Page, or even better, hook your Twitter feed up to your Facebook profile and Fan Page and whenever you post to Twitter, you create content on your Facebook profile/Fan Page.</p>
<p>Your Fan Page is more or less a gateway to your website. Content is still King, of course, but you want your Fan Page to generate leads and hits to your website (and then hopefully generate a conversion and the sound of coins dropping into your piggy bank).</p>
<p>Facebook recently released the iLike button that can be used with blog posts.  Make sure to add this button to your blog posts.</p>
<h2>Twitter</h2>
<p>Although I&#8217;m fairly certain that 99% of Twitter users are marketers in one form or another, it doesn&#8217;t mean that Twitter isn&#8217;t a goldmine for targeted website traffic. A key Twitter technique for building up website traffic from scratch is to take advantage of Twitter&#8217;s huge visibility. It is incredibly easy to build up a group of Twitter accounts. Use one of the accounts to tweet links (with good descriptions) to your website.  Use the other accounts to &#8220;retweet&#8221; the tweet.  Use an application such as Twitterel (<a href="http://www.twitterel.com">http://www.twitterel.com</a>) to find Twitter users that have specific interests and therefore could turn into potential leads and follow those individuals.  Comment on their tweets as well.</p>
<p>To make Twitter a successful tool, two way interaction is required. Nobody on Twitter gains followers by making only one way tweets.  You need to engage your community. Make replies often to individuals who share the same interests.</p>
<p>Ultimately to take full advantage of Twitter, you need to build your follower list.  There are many ways to do this, but you&#8217;re best off if your follower list is made up of quality targeted individuals (rather than a bunch of other Twitters simply looking for reciprical followers &#8211; an odd waste of time imho).  Treat your Twitter account like you would a website. Build up traffic to your Twitter account by placing <a href="http://www.planetb.ca/2010/06/traffic-generation-part-1-backlinks/" target="_blank">backlinks</a> to your Twitter profile on various websites &#8211; again, forums, blog comments, your websites etc&#8230;  Guaranteed that if you make a good comment on a forum or blog post and use your Twitter account as your website, you will get good Twitter followers.</p>
<p>For a quick following on a new account, I recommend the <a title="Get FREE Twitter followers" href="http://hitfollow.com/" target="_blank">HitFollow</a> service.  You can get an easy 100 followers for free, or for a small fee, get thousands.  No work on your part required.  Note, however, that people who have only 1 or 2 tweets but thousands of followers (and are, themselves, following thousands of tweeps) have a low Twitter clout.  In other words, although you have a huge following, you probably have a low likelihood of getting website hits from Twitter posts.</p>
<p>Something else that Twitter has that is waiting to be taken advantage of is the vast number of Twitter supplemental websites.  TwitPic, for example, has a huge amount of visibility.  Place an interesting pic on TwitPic (or any of the Twitter photo uploading sites) and you&#8217;re bound to get followers and a high number of views.  The associated tweets are also a goldmine for targeted website hits.</p>
<h2>Youtube</h2>
<p>Youtube can be a great resource for targeted website traffic.  Create an account, upload some clips.  Customize your channel so that it looks semi-professional with a custom background.  Make sure that you have an interesting avatar or profile pic (this is huge).  Also make sure that the thumbnail for your videos is an interesting part of the video clip.</p>
<p>Ultimately, the quality of your presentation is only half the activity of Youtube.  The other half is attracting subscribers, friends and hits.  Make loads of comments on related video content.  Subscribe to other related channels and Friend the users as well.  Making video responses to related content that receives high view counts is also gold for getting channel and profile views and increasing your Youtube subscriber count. All of this is work that results in more views on your own Youtube channel or profile.  Make sure that your website link is visible on your channel and profile in order to turn those views into website hits and leads.</p>
<p>This was part 2 in my Website Traffic Generation series of articles.  Stay tuned for part 3 where I will discuss traffic generation through widget or app creation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planetb.ca/2010/07/traffic-generation-part-2-social-networking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

