<?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>Capture the Conversation &#187; Mobile</title>
	<atom:link href="http://www.capturetheconversation.com/tag/mobile/feed" rel="self" type="application/rss+xml" />
	<link>http://www.capturetheconversation.com</link>
	<description>Social Media Conversation</description>
	<lastBuildDate>Fri, 03 Feb 2012 18:40:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Why Mobile Payments Are Important for Your Brand</title>
		<link>http://www.capturetheconversation.com/mobile/why-mobile-payments-are-important-for-your-brand</link>
		<comments>http://www.capturetheconversation.com/mobile/why-mobile-payments-are-important-for-your-brand#comments</comments>
		<pubDate>Thu, 24 Mar 2011 15:00:18 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[loyalty]]></category>
		<category><![CDATA[mobile commerce]]></category>
		<category><![CDATA[mobile wallet]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=2424</guid>
		<description><![CDATA[Just yesterday Starbucks announced that over 3 million people have paid for their caffeine fix through Starbucks Card Mobile, the new app that allows for mobile pay at counter. Starbucks cards already account for 22% of all transactions, so it would make sense that customers are happy to continue to pay through a pre-paid card, but one that lives virtually on a smartphone.
Starbucks Card Mobile is the first example of mass-adoption of a mobile wallet, and you should expect to see this happening much more, and soon, due to use of near-field communication (NFC). You likely already know NFC; if you&#8217;ve ever paid by holding a credit card a few inches from a swipe machine, then you&#8217;ve seen this technology at work. Visa is currently testing this technology in smartphones. How easy is it to pay by phone? Very. Watch and see.
 

Breaking Down a Barrier
This technology, a blending of...]]></description>
			<content:encoded><![CDATA[<p>Just yesterday Starbucks announced that <a href="http://mashable.com/2011/03/23/starbucks-card-mobile-payments/" target="_blank">over 3 million</a> people have paid for their caffeine fix through Starbucks Card Mobile, the new app that allows for mobile pay at counter. Starbucks cards already account for 22% of all transactions, so it would make sense that customers are happy to continue to pay through a pre-paid card, but one that lives virtually on a smartphone.</p>
<p>Starbucks Card Mobile is the first example of mass-adoption of a mobile wallet, and you should expect to see this happening much more, and soon, due to use of <a href="http://gizmodo.com/#!5707321/what-is-near+field-communication" target="_blank">near-field communication (NFC)</a>. You likely <em>already know NFC</em>; if you&#8217;ve ever paid by holding a credit card a few inches from a swipe machine, then you&#8217;ve seen this technology at work. Visa is currently testing this technology in smartphones. How easy is it to pay by phone? Very. Watch and see.<br />
<strong> </strong><br />
<iframe title="YouTube video player" width="449" height="283" src="http://www.youtube.com/embed/mpb60uhYlzM" frameborder="0" allowfullscreen></iframe><br />
<strong>Breaking Down a Barrier</strong></p>
<p>This technology, a blending of new tech and old behavior, seems like it might be for the early adopter only. But let&#8217;s look at some stats:</p>
<ul>
<li>Smartphone penetration in US mobile users is already at 33% and growing rapidly</li>
<li>Ebay is reporting 1 mobile transaction every second. This isn&#8217;t just for small purchases; this includes Ferraris</li>
<li>Apps like Foursquare and Groupon have already gotten consumers comfortable with incorporating a phone into a point-of-purchase experience</li>
<li>In a survey by NACHA and PayPal, 27% of people said P2P payment through mobile (via banking services or PayPal) was important to them</li>
</ul>
<p>Increasingly, consumer are used to their phones as a part of their shopping and transactional experience. More importantly, we want shopping and payment to be as easy as possible; a mobile wallet solves a clear consumer problem.</p>
<p><strong>Why This is Good For Brands</strong></p>
<ul>
<li><strong>Loyalty</strong>: For a brand like Starbucks that has frequent repeat purchase, creating a payment app is an easy way to track consumer behavior and spending. I look forward to seeing how this translates into retail locations with lower-frequency purchases, like clothing stores</li>
<li><strong>Ease of Purchase</strong>: Gilt and Groupon have capitalized on the beauty of one-click purchase on mobile, using stored credit card information. Mobile reduces barrier-to-purchase and, for better or worse, removes a consumer from the experience of handing off actual money</li>
<li><strong>Go Socia</strong>l: You can integrate all sorts of things into a mobile purchase, including a geo check-in or a push-to-social update</li>
</ul>
<p>How do you use mobile payments? What do you wish you could pay for with your phone? What concerns you about these developments? Let us know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/mobile/why-mobile-payments-are-important-for-your-brand/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is your business thinking about mobile yet?</title>
		<link>http://www.capturetheconversation.com/mobile/is-your-business-thinking-about-mobile-yet</link>
		<comments>http://www.capturetheconversation.com/mobile/is-your-business-thinking-about-mobile-yet#comments</comments>
		<pubDate>Tue, 15 Feb 2011 18:47:14 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[mobile applications]]></category>
		<category><![CDATA[mobile site]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=2101</guid>
		<description><![CDATA[Ok. So, you aren’t in the game, you have no mobile offering, it’s not on your road-map, nor do you have any idea where to start. Don’t despair, keep reading &#038; K.I.S.S. (Keep It Simple, Stupid).]]></description>
			<content:encoded><![CDATA[<p>Leaving the 2.5 year old debate about native versus web aside, has your business implemented a <a href="http://www.capturetheconversation.com/best-practices/mobile-marketing-close-the-loop" target="_self">mobile presence</a>?  If not, it’s time to get in the game.</p>
<p>The below advice is equally applicable to mobile web or a native (iPhone, Droid, etc.) app&#8230;</p>
<p><strong>If you don’t jump on the wave, you aren’t in the game.</strong></p>
<p>Ok. So, you aren’t in the game, you have no mobile offering, it’s not on your road-map, nor do you have any idea where to start.  Don’t despair, keep reading &amp; K.I.S.S. (<strong>K</strong>eep <strong>I</strong>t <strong>S</strong>imple, <strong>S</strong>tupid).</p>
<p><strong>1)  Plan your mobile offering.</strong></p>
<p>When planning what to include in your initial mobile effort, keep it simple.</p>
<p>Start by choosing the most important, mobile <span style="text-decoration: underline;">relevant content</span>.  A mobile experience is not intended to repackage all of the information a standard web site contains.  When in doubt ask yourself:  “Would I NEED this function while out on the street?”.  If not, hold back.  You’ll get plenty of opportunities to reflect and add more functionality later (see #5).</p>
<p><strong>2)  Think about your customer’s experience.</strong></p>
<p>A mobile experience should be optimized for reduced screens size and limited bandwidth.</p>
<p>A great implementation of this is American Airlines (aa.com).  Their mobile site is visually simple and has very few graphics, which means a fast load time (6 seconds via 3G).  The functionality they present is targeted to what their customers need when en-route to and at the airport.  Above the fold are all the links I, as a traveler, am going to be most interested in.</p>
<p><img class="size-medium wp-image-2107 alignnone" title="American Airlines Mobile Web Site" src="http://www.capturetheconversation.com/wp-content/uploads/2011/02/IMG_09361-200x300.png" alt="American Airlines Mobile Web Site" width="200" height="300" /></p>
<p>Compare this to Frontier Airlines, which doesn’t offer a mobile optimized site.  Navigation requires pinches and zooms in order to interact with the page, and essential functions are not in BIG letters on the home page.</p>
<p>Another big strike &#8211; repackaging their standard website with lots of graphics, and not considering limited mobile bandwidth, means it takes over 60 seconds for the page load (via 3G).</p>
<p><img class="size-medium wp-image-2109 alignnone" title="Frontier Airlines Mobile Web Site" src="http://www.capturetheconversation.com/wp-content/uploads/2011/02/IMG_09371-200x300.png" alt="Frontier Airlines Mobile Web Site" width="200" height="300" /></p>
<p>When designing and building your mobile offering keep screen size and data connection speeds in mind. Additionally, ask yourself this:  When your customers are engaging with your mobile offering ‘on the street’ what will they want or need?  Maps (where are you located?), yes.  Hours of operation (are you open?), yes.  The latest 1080p video of your CEO presenting at a conference, save that for the your traditional website.</p>
<p><strong>3)  Observe customer behavior.</strong></p>
<p><a href="http://www.capturetheconversation.com/social-community/the-new-business-intelligence-of-social-media" target="_self">Web analytics</a> are a part of any solid web strategy.  You can leverage web analytics to evaluate where your users are coming from, how they move about within your site, conversion/checkout rates and perhaps most importantly at what points/pages they decide to leave.</p>
<p>Mobile is no different.  There are plenty of robust (and free) analytics platforms out there regardless of whether you decide to do mobile web or native apps.  Solid metrics will help you understand how your customers are engaging with your offering, thus letting you know where to concentrate your efforts moving forward.</p>
<p>See this post:  “<a href="http://mobile.tutsplus.com/articles/marketing/7-solutions-for-tracking-mobile-analytics/">7 Solutions for Tracking Mobile Analytics</a>” for additional info on mobile analytics offerings.</p>
<p><strong>4)  Solicit customer feedback.</strong></p>
<p>Ask your customers what additional functionality they’d like to see in your offering, they’re bound to give you lots of good suggestions.</p>
<p>We already know how they’re using your offering (via #3 above), now you want to know what WOULD they use.  Your customers want you to succeed and appreciate being heard.  Listen to them, not just what they say, but what the *mean*.  They’ll help guide you to what they will use.</p>
<p><strong>5)  Iterate, Iterate, Iterate.</strong></p>
<p>Yes, ‘iterate’ is a buzzword.  Yes, ‘iterate’ is over used and abused.  However, when it comes to building an engaging mobile experience, it’s 100% essential.</p>
<p>In step #1 above I advocated launching with only what you need (<a href="http://en.wikipedia.org/wiki/Minimum_viable_product">Minimal Viable Product</a>, another hot buzzword).  Now, after you’ve launched, after you’ve dissected the analytics, after you’ve reviewed your customer feedback&#8230;.then, add features that make sense for your mobile audience.</p>
<p>One key point when it comes to iteration:  You don’t need to add all of your new great ideas all at once.  Prioritize them, add one or two, re-release, iterate again.</p>
<p><strong>In Closing&#8230;&#8230;</strong><br />
It’s not too late to get in the game. In fact, the game is just starting to get HOT.</p>
<p>I’ll leave you with one of my personal development mantras that fits this situation perfectly:<br />
A) Get it done.<br />
B) Make it better.</p>
<p>Happy Coding&#8230;&#8230;.<br />
Dominic</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/mobile/is-your-business-thinking-about-mobile-yet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Places and Check-In Etiquette</title>
		<link>http://www.capturetheconversation.com/social-community/facebook-places-adoption-and-check-in-etiquette</link>
		<comments>http://www.capturetheconversation.com/social-community/facebook-places-adoption-and-check-in-etiquette#comments</comments>
		<pubDate>Fri, 17 Sep 2010 20:31:00 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Industry]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[Facebook Places]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[user behavior]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=1481</guid>
		<description><![CDATA[I have had many a conversation on Foursquare etiquette. I think Foursquare in a Facebook or Twitter stream can be a real nuisance, much like Facebook linked to Twitter, etc.. The three mediums are often used for different types of information, and I&#8217;m not interested in seeing a lot of overlap.

When Facebook Places launched, I was very cautious about using it. I feared backlash for a constant stream of useless check-ins. With Foursquare, there is incentive for me to check in at each new location, because I can get tips and deals. That kind of a check in is why Foursquare exists. Facebook exists for a wide variety of socialization, from content sharing to rants to extended comment strings. If you add into the mix that I am, say, at 7-11, lunch, dinner, or the gym, I&#8217;m just flooding my newsfeed with content that doesn&#8217;t produce much of a conversation,...]]></description>
			<content:encoded><![CDATA[<p>I have had many a conversation on Foursquare etiquette. I think Foursquare in a Facebook or Twitter stream can be a real nuisance, much like Facebook linked to Twitter, etc.. The three mediums are often used for different types of information, and I&#8217;m not interested in seeing a lot of overlap.</p>
<p><a rel="attachment wp-att-1483" href="http://www.capturetheconversation.com/social-community/facebook-places-adoption-and-check-in-etiquette/attachment/photo-1"><img class="size-medium wp-image-1483  alignleft" title="FacebookPlaces" src="http://www.capturetheconversation.com/wp-content/uploads/2010/09/photo-1-200x300.png" alt="" width="200" height="300" /></a></p>
<p>When Facebook Places launched, I was very cautious about using it. I feared backlash for a constant stream of useless check-ins. With Foursquare, there is incentive for me to check in at each new location, because I can get tips and deals. That kind of a check in is why Foursquare exists. Facebook exists for a wide variety of socialization, from content sharing to rants to extended comment strings. If you add into the mix that I am, say, at 7-11, lunch, dinner, or the gym, I&#8217;m just flooding my newsfeed with content that doesn&#8217;t produce much of a conversation, even if it might let someone know I&#8217;m near.</p>
<p><strong>Curation: Share a Story</strong></p>
<p>This then means I need to curate my Facebook Places. Here exists the problem: When I start to curate my check-ins on Places, I am choosing to tell a very specific story. I&#8217;m a fan of visual storytelling. I like to show pictures of concerts, delicious meals, afternoon bike rides, etc.. So the question is, what kind of non-visual story do I want to tell that is still worthwhile to my friends?</p>
<p><a rel="attachment wp-att-1515" href="http://www.capturetheconversation.com/social-community/facebook-places-adoption-and-check-in-etiquette/attachment/picture-8-3"><img class="alignnone size-full wp-image-1515" title="On A Boat" src="http://www.capturetheconversation.com/wp-content/uploads/2010/09/Picture-81.png" alt="" width="330" height="191" /></a></p>
<p>I asked everyone at Room 214 to send me a screenshot of their Places check-ins so I could get a sense for other people&#8217;s stories. It&#8217;s worth noting that the only people who currently have access to Places are iPhone users or smartphone users who choose to go to Facebook mobile (a less-than-ideal situation). Perhaps due to this restriction, on average 1-2 friends checked in each day. That&#8217;s certainly not a lot. So where do people check-in?</p>
<ul>
<li>Restaurants. Far and away the winner here.</li>
<li>Sporting events</li>
<li>A few schools, dentists offices, a gym, and airport and an animal shelter</li>
</ul>
<p>So far, not enough people seem to be using it to give me any information that&#8217;s useful, either on an individual or aggregate level. It&#8217;s not, in my opinion, any more interesting than seeing a regular check-in in my newsfeed letting me know that someone is close to where I am. Facebook, however, never fails to launch services that annoy and then delight. Say this service hits full mobile rollout, how does this have potential to actually be beneficial to users?</p>
<ul>
<li>Like Foursquare, it helps to identify hotspots based on your location</li>
<li>As it&#8217;s already tied to (what is likely) your largest online community, and one with a high daily usage, you can get timely location information on all your friends</li>
<li>Should they roll out the ability to see trending, you could actually identify user movement and hot spots, internationally</li>
</ul>
<p>Facebook&#8217;s success has taught us that we all like to share, often for the sake of sharing. So will people use Places, if given access? High potential. For me, the question is about etiquette. Will people start to check in everywhere? Will these be like the &#8220;I ate a sandwich for lunch&#8221; or &#8220;My Farmville pig has gout&#8221; posts? I hope not, but with a high rate of mobile use, Facebook well-poised to make Places the new status update. I await a widespread rollout, and wonder who I will have to block from my news feed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/social-community/facebook-places-adoption-and-check-in-etiquette/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhone, Facebook, oAuth 2.0 and the Graph API. A Tutorial, Part 2.</title>
		<link>http://www.capturetheconversation.com/technology/iphone-facebook-oauth-2-0-and-the-graph-api-a-tutorial-part-2</link>
		<comments>http://www.capturetheconversation.com/technology/iphone-facebook-oauth-2-0-and-the-graph-api-a-tutorial-part-2#comments</comments>
		<pubDate>Tue, 29 Jun 2010 19:50:27 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook Graph API]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[oAuth 2.0]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=1273</guid>
		<description><![CDATA[NOTE: I&#8217;ve moved the source code for this project to Git Hub, please get it here:  http://github.com/reallylongaddress/iPhone-Facebook-Graph-API
Preface
In part 1 of this tutorial we walked through obtaining an oAuth 2.0 access token from Facebook via an iPhone (or any iTouch device).  If you wish to go back and review the oAuth 2.0 process in some detail HERE.
In the second part of this tutorial I’ll show you how to leverage my pseudo-API to:

Login to Facebook using oAuth 2.0
Request extended permissions for your mobile application (photos, videos, publish stream and offline access)
Get your profile data
Get your friend list
Get your feed
Post to your feed
Post a photo (via a local image (UIImage) not a url)
Get metadata
Delete a feed post (via a Post)
Get search results
Get (and display) the author’s avatar

 
Convention
There are 2 APIs being talked about in this tutorial. To avoid confusion, I’m going to refer to them consistently as Facebook’s  ‘Graph API’ and my...]]></description>
			<content:encoded><![CDATA[<p><strong>NOTE:</strong> I&#8217;ve moved the source code for this project to Git Hub, please get it here:  <a title="FbGraphAPI" href="http://github.com/reallylongaddress/iPhone-Facebook-Graph-API" target="_blank">http://github.com/reallylongaddress/iPhone-Facebook-Graph-API</a></p>
<p><strong>Preface</strong></p>
<p>In part 1 of this tutorial we walked through obtaining an <strong>oAuth 2.0 access token from Facebook via an iPhone</strong> (or any iTouch device).  If you wish to go back and review the oAuth 2.0 process in some detail <a title="iPhone, Facebook, oAuth 2.0 and the Graph API. A Tutorial." href="http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api" target="_blank">HERE</a>.</p>
<div id="attachment_1286" class="wp-caption aligncenter" style="width: 468px"><img class="size-large wp-image-1286" title="combined" src="http://www.capturetheconversation.com/wp-content/uploads/2010/06/combined1-458x431.png" alt="iPhone oAuth Facebook login and extended permissions images" width="458" height="431" /><p class="wp-caption-text">Facebook Login and Extended Permission Dialogs</p></div>
<p>In the second part of this tutorial I’ll show you how to leverage my pseudo-API to:</p>
<ul>
<li>Login to Facebook using oAuth 2.0</li>
<li>Request <strong>extended permissions for your mobile application</strong> (photos, videos, publish stream and offline access)</li>
<li>Get your profile data</li>
<li>Get your friend list</li>
<li>Get your feed</li>
<li>Post to your feed</li>
<li>Post a photo (via a local image (UIImage) not a url)</li>
<li>Get metadata</li>
<li>Delete a feed post (via a Post)</li>
<li>Get search results</li>
<li>Get (and display) the author’s avatar</li>
</ul>
<p><strong> </strong></p>
<p><strong>Convention</strong></p>
<p>There are 2 APIs being talked about in this tutorial. To avoid confusion, I’m going to refer to them consistently as Facebook’s  ‘Graph API’ and my ‘pseudo-API’*.  <a title="Facebook Graph API" href="http://graph.facebook.com" target="_blank">Facebook’s Graph API</a> is the stuff we’re interacting with via HTTP Get and Post calls.  The pseudo-API is the Objective-C/iPhone code that’s facilitating the interaction.</p>
<p><strong> </strong></p>
<p><em>*-I call it a pseudo-API if for no other reason I haven’t proven to myself it supports 100% of the Facebook Graph API functions.</em></p>
<blockquote><p>An aside about my API design philosophy:  I could have written the pseudo-API to be much more robust and feature rich, with exceptions, logging, auto-magical json parsing, full featured functions like ‘getMyWallFeed’, etc.  However with robustness and features comes complexity and dependencies.  I kept everything aside from the absolute core functionality required to read/write data from/to the Facebook Graph API out of this implementation.  In short, I’ve left it primitive enough that anybody should be able to extend/wrap it easily, if they see fit.</p></blockquote>
<p>The pseudo-API has only 3 classes.  The core functionality lies in the FbGraph.m file.  The other two classes support this core class.  FbGraphFile is used when uploading a file to Facebook.  FbGraphResponse is, I would hope, self-explanatory.</p>
<p>We’re going to skip over the steps required to create a Facebook application.  I covered that in Part 1<a href="../technology/iphone-facebook-oauth2-graph-api"></a>:  <a title="iPhone, Facebook, oAuth 2.0 and the Graph API. A Tutorial." href="http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api" target="_blank">iPhone, Facebook, oAuth 2.0 and the Graph API.  A Tutorial</a>.  If you completed part 1 of the tutorial, you can use the same Facebook application without modification here.</p>
<p><strong>Sample Code:</strong></p>
<p><a title="FbGraphAPI" href="http://github.com/reallylongaddress/iPhone-Facebook-Graph-API" target="_blank">http://github.com/reallylongaddress/iPhone-Facebook-Graph-API</a></p>
<p><strong>Creating the FbGraph Object</strong></p>
<p>Before we can interact with the Graph API, we need to make a connection to it. And before we make a connection to it, we need a FbGraph object instance.  We do so like:</p>
<pre>self.fbGraph = [[FbGraph alloc]initWithFbClientID:client_id];</pre>
<p>Where:</p>
<pre>FbGraph *fbGraph;</pre>
<p>And</p>
<pre>NSString *client_id = @"123145257717248";</pre>
<p>The client_id should be YOUR Facebook application id.  I’ve left my application ID in here for no other reason than the tutorial code will work ‘out of the box’.</p>
<p><strong>The login process</strong></p>
<p>Now we have our fbGraph object instance, we’ll want to ask Facebook for a login screen.  Additionally we’ll need to let Facebook know the extended permissions we’re requesting for our app.  Here’s the code to do that:</p>
<pre>[fbGraph authenticateUserWithCallbackObject:self andSelector:@selector(fbGraphCallback:) andExtendedPermissions:@"user_photos,user_videos,publish_stream,offline_access"];</pre>
<p>There are 3 major things to note in this line (found in oAuth2TestViewController).</p>
<p>1)  We’re asking the fbGraph object to initialize the authentication process by calling the function: authenticateUserWithCallbackObject</p>
<p>2)  We’re setting a callback object (self) and a callback function (fbGraphCallback).   This object and function will be called upon completion of the oAuth authentication process.</p>
<p>3)  We’re requesting extended permissions:@&#8221;user_photos,user_videos,publish_stream,offline_access”</p>
<p>When this function is called, the pseudo-API will find the root application window**, stick in a UIWebView, and ask Facebook for a login screen (passing along your client_id and requested extended permissions):</p>
<pre>NSString *url_string = [NSString stringWithFormat:@"https://graph.facebook.com/oauth/authorize?client_id=%@&amp;redirect_uri=%@&amp;scope=%@&amp;type=user_agent&amp;display=touch", facebookClientID, redirectUri, extended_permissions];</pre>
<p><em>**-There’s a second </em><em>authenticateUserWithCallbackObject function that allows you to specify a specific view you wish the login screen to be anchored/rendered in, if you don’t want it to render within the root view of your application.  Look at the FbGraph class for further details.</em><em> </em></p>
<p>Note the ‘<strong>display=touch</strong>’ parameter.  It tells Facebook we’d like a login screen optimized for an iPhone/iPod touch screen.</p>
<p>Now that the process is started the UIWebView will render the login window that Facebook has returned to us.</p>
<p>After you’ve successfully authenticated to Facebook, you will be presented with a second screen with an extended permissions request dialog.  2 things to note here:  First, all permissions are unified into a single step.  Second, after you’ve approved the permissions, you won’t have to complete this step or see this screen again (so long as you don’t revoke the permissions).</p>
<p><strong>Under the Hood of the Authentication Process</strong></p>
<p>There’s some http redirects involved with the oAuth 2.0 (User-Agent flow) login process.  The FbGraph object is a UIWebViewDelegate, one of the functions associated with this delegate class is: webViewDidFinishLoad.  This function is called several times during the authentication process.  When the URL contains “<a href="http://www.facebook.com/connect/login_success.html#access_token=..........">access_token=</a>” we’re golden.  We’ve successfully logged into Facebook.  When the pseudo-API sees this string, it parses out our oAuth access token, stores it to a class level variable, removes the UIWebView we inserted and finally calls the callback function we defined, returning control to your application.</p>
<p><strong>The Rest of the Pseudo-API</strong></p>
<p>The core of the pseudo-API is about 250 lines of code (including whitespace and comments), which is very little indeed.  This is possible because the Facebook Graph API does everything via simple HTTP Gets and Posts.  In fact, once you’ve figured out how to do Get and Post with the Graph API, you’ve pretty much figured out everything.</p>
<p>If you’re familiar with the current Facebook Connect implementation, you’ll immediately notice Graph API is immeasurably less complex and more consistent.</p>
<p>So, I could go through and explain how everything works in painful (and highly repetitive) detail…but I’m going to peace out, let you read over the code, dissect it, add some breakpoints and get your hands dirty.</p>
<p>FYI:  There is very intentionally very little UI in the app. Rather than having you, the reader, have to figure out my UI conventions as well as Interface Builder, I’ve kept it simple and dumped most all output to the debugger console.  The code is simple, the pseudo-API is simple, the Graph API is simple……</p>
<p>I hope you take a look at my pseudo-API and agree, it’ simple…that’s the idea.</p>
<p>If you find this post useful, if you include this code or the concepts you learned here in an app, if you extend this into a more full featured API….I’d love to know!</p>
<p>Happy hacking.</p>
<p><a href="http://www.twitter.com/dominicdimarco">Dominic</a></p>
<p><a href="mailto:ddimarco@room214.com">ddimarco@room214.com</a></p>
<p><a href="http://twitter.com/dominicdimarco">@dominicdimarco</a></p>
<p><strong>Sample Code:</strong></p>
<p><a title="FbGraphAPI" href="http://github.com/reallylongaddress/iPhone-Facebook-Graph-API" target="_blank">http://github.com/reallylongaddress/iPhone-Facebook-Graph-API</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/technology/iphone-facebook-oauth-2-0-and-the-graph-api-a-tutorial-part-2/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>World Cup 2010</title>
		<link>http://www.capturetheconversation.com/fun/world-cup-2010</link>
		<comments>http://www.capturetheconversation.com/fun/world-cup-2010#comments</comments>
		<pubDate>Fri, 18 Jun 2010 21:17:55 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Listening]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[World Cup]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=1208</guid>
		<description><![CDATA[
By any measure, the World Cup is a pretty big deal.  2010&#8217;s games will land among the most watched sporting events in history.  This time it&#8217;s not just about eyes on televisions, though.  The last time the world cup came around, Facebook had about 7.5 Million users.  Twitter was less than three months old with 500 users.  This time?  Twitter is peaking at ~3,000 tweets per second when goals are scored.
The experience for the non-attending fan is far richer than before.  Aggregators like tweetbeat add context and commentary while watching matches (especialy with the sound off). Location-based networks are helping to bring fans together in the real world. I set off on a rainy Satruday morning to catch the first U.S. match vs England.  Foursquare let me know which bars and restaurants the largest groups of people were gathered at and which...]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1212" title="wctweetbeat" src="http://www.capturetheconversation.com/wp-content/uploads/2010/06/wctweetbeat1.png" alt="World Cup" width="320" height="109" /></p>
<p>By any measure, the <a href="http://www.fifa.com/">World Cup</a> is a pretty big deal.  2010&#8217;s games will land among the most watched sporting events in history.  This time it&#8217;s not just about eyes on televisions, though.  The last time the world cup came around, Facebook had about 7.5 Million users.  Twitter was less than three months old with 500 users.  This time?  Twitter is peaking at <a href="http://blog.twitter.com/2010/06/big-goals-big-game-big-records.html">~3,000 tweets per second</a> when goals are scored.</p>
<p>The experience for the non-attending fan is far richer than before.  Aggregators like <a href="http://worldcup.tweetbeat.com/">tweetbeat</a> add context and commentary while watching matches (especialy with the sound off). Location-based networks are helping to bring fans together in the real world. I set off on a rainy Satruday morning to catch the first U.S. match vs England.  <a href="http://foursquare.com/">Foursquare</a> let me know which bars and restaurants the largest groups of people were gathered at and which teams they supported.  I ended up at the Drafthouse, which happened to have the biggest U.S. crowd.</p>
<p>For matches during which I&#8217;ve been away from televisions and computer, I&#8217;ve  been using the <a href="http://blog.hotpotato.com/post/704589427/state-of-the-potato-vol-2">new version</a> of <a href="http://hotpotato.com/">Hot Potato</a>. This service offers threaded discussions with people who are having the same experience as I am.  I was happy when notifications (SMS or Push) became available for sports scores; I&#8217;m even happier now with my fully interactive experience.  Although the games are taking place 9,000 miles and 8 time zones away, I&#8217;m having a better time than I&#8217;ve had attending other sporting events in person.  [Go USA!]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/fun/world-cup-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Marketing? Close the loop</title>
		<link>http://www.capturetheconversation.com/best-practices/mobile-marketing-close-the-loop</link>
		<comments>http://www.capturetheconversation.com/best-practices/mobile-marketing-close-the-loop#comments</comments>
		<pubDate>Tue, 08 Jun 2010 17:09:31 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=1129</guid>
		<description><![CDATA[
Twice in two weeks I&#8217;ve been lured into shops by mobile offers.  Both times the employees had no idea what I was talking about when I asked to redeem these offers.  &#8220;I think that&#8217;s the owner&#8217;s thing, but he&#8217;s not here&#8230;&#8221;  One owner was working with a mobile company to send out SMS offers, the other paid to set up a special offer on Yelp, going as far as to add &#8216;Please review us on Yelp&#8217; to all receipts.  The owners never told their employees to expect to see a customer, holding up a picture of a crown on his iPhone (ie a Foursquare mayorship), requesting a free beer.  Mobile offers are becoming more and more popular with Foursquare, Yelp, Duck Duck Deal and others joining SMS, and store owners realize these offers are a great way to reach customers. When committing to mobile marketing, it&#8217;s...]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1130" href="http://www.capturetheconversation.com/best-practices/mobile-marketing-close-the-loop/attachment/yelp"><img class="aligncenter size-full wp-image-1130" title="yelp" src="http://www.capturetheconversation.com/wp-content/uploads/2010/06/yelp.jpg" alt="Yelp offer" width="320" height="90" /></a><br />
Twice in two weeks I&#8217;ve been lured into shops by <a href="http://www.capturetheconversation.com/read/should-your-business-prioritize-mobile" target="_self">mobile offers</a>.  Both times the employees had no idea what I was talking about when I asked to redeem these offers.  &#8220;I think that&#8217;s the owner&#8217;s thing, but he&#8217;s not here&#8230;&#8221;  One owner was working with a mobile company to send out SMS offers, the other paid to set up a special offer on Yelp, going as far as to add &#8216;Please review us on Yelp&#8217; to all receipts.  The owners never told their employees to expect to see a customer, holding up a picture of a crown on his iPhone (ie a Foursquare mayorship), requesting a free beer.  Mobile offers are becoming more and more popular with <a href="http://foursquare.com/">Foursquare</a>, <a href="http://www.yelp.com/">Yelp</a>, <a href="http://www.duckduckdeal.com/">Duck Duck Deal</a> and others joining SMS, and store owners realize these offers are a great way to reach customers. When committing to <a href="http://www.capturetheconversation.com/mobile/mobile-marketing-simplified-for-local-business" target="_self">mobile marketing</a>, it&#8217;s not enough to make sure the offer is seen; that&#8217;s just the beginning of the customer&#8217;s experience with your brand.   Make sure any employees who will be interacting with customers are aware of the promotion and ready to provide the best service.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/best-practices/mobile-marketing-close-the-loop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone, Facebook, oAuth 2.0 and the Graph API.  A Tutorial.</title>
		<link>http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api</link>
		<comments>http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api#comments</comments>
		<pubDate>Tue, 25 May 2010 18:55:06 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=1019</guid>
		<description><![CDATA[
NOTE: The source code for this tutorial is still linked below, however the FULL Facebook/iPhone Graph API can be found here:  http://github.com/reallylongaddress/iPhone-Facebook-Graph-API

The new Facebook Graph API looks to be the cat&#8217;s meow, the bee’s knees, the coolest thing since sliced bread. Ok, that&#8217;s a bit much&#8230; but it is a whole lot more powerful, easier and cross-platform consistent than the previous plethora of Facebook APIs.  The Graph API was announced at Facebook&#8217;s F8 conference just over a month ago.  At the time of release, I was surprised no iPhone SDK was made available. I fully expected that at least an unofficial SDK as well as full blown tutorials would be out en-mass by now, but to no avail.
Not nearly patient enough to wait for an official SDK or iPhone API from Facebook, I asked Google how to “Facebook oAuth 2.0 iPhone” and was disappointed with the results. It turns out,...]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1103" href="http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api/attachment/1"><img class="alignnone size-medium wp-image-1103" title="1" src="http://www.capturetheconversation.com/wp-content/uploads/2010/05/1-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p><strong>NOTE:</strong> The source code for this tutorial is still linked below, however the FULL Facebook/iPhone Graph API can be found here:  <a title="FbGraphAPI" href="http://github.com/reallylongaddress/iPhone-Facebook-Graph-API" target="_blank">http://github.com/reallylongaddress/iPhone-Facebook-Graph-API</a></p>
<hr width='100%'/>
<p>The new <a href="http://graph.facebook.com" target="_blank">Facebook Graph API</a> looks to be the cat&#8217;s meow, the bee’s knees, the coolest thing since sliced bread. Ok, that&#8217;s a bit much&#8230; but it is a whole lot more powerful, easier and cross-platform consistent than the previous plethora of Facebook APIs.  The <a href="http://graph.facebook.com" target="_blank">Graph API </a>was announced at Facebook&#8217;s F8 conference just over a month ago.  At the time of release, I was surprised no <strong>iPhone SDK</strong> was made available. I fully expected that at least an unofficial SDK as well as full blown tutorials would be out en-mass by now, but to no avail.</p>
<p>Not nearly patient enough to wait for an official SDK or iPhone API from Facebook, I asked Google how to <em>“Facebook oAuth 2.0 iPhone”</em> and was disappointed with the results. It turns out, there are very few, woefully incomplete examples of <strong>how to authenticate to Facebook via oAuth 2.0</strong>, from an <strong>Objective-C / native iPhone application</strong>.  The best implementation I found was a <a href="http://github.com/ryanscott/bamboo/">pseudo API</a>, however I don&#8217;t care for it since it uses the old Facebook Connect authentication scheme, then implements the graph API on top of that layer.</p>
<p>Adding insult to injury, there was lots of news last week about the <strong>Android Graph API</strong> but no love for the iPhone:</p>
<blockquote><p>“Facebook’s mobile development team soft launched a Facebook SDK for Android, bringing functionality that was previously only available on the iPhone to the Android platform. It gets better: Facebook gave the Android platform a de facto exclusive on two of its newest initiatives: Open Graph APIs and OAuth 2.0.”</p>
<p>– <a href="http://www.allfacebook.com/2010/05/android-gets-facebook-graph-api-before-the-iphone/"><em>Will M, Allfacebook.com</em></a></p></blockquote>
<p><em><strong>Aside</strong>:  My theory on why there&#8217;s not iPhone/Objective-C API is:  That functionality is going to be directly (and deeply) integrated in the forthcoming iPhone OS 4.0</em> <em>(June?)</em>.</p>
<p>All of that being said, I slashed, burned and figured it out.  Here&#8217;s the result, a very simple end-to-end example of how to connect to Facebook via oAuth 2.0 on the iPhone.</p>
<h3>Part 1: Connecting to Facebook with oAuth 2.0 on the iPhone</h3>
<p>Part 2 of this series will cover how to interact with the Graph  API.</p>
<p><strong>NOTE:</strong> You can go to <a href="http://graph.facebook.com" target="_blank">http://graph.facebook.com</a> to play with the Graph API, directly<strong> in your browser.</strong></p>
<p><strong>Assumptions and requirements:</strong></p>
<ul>
<li><strong><em>Facebook:</em></strong> You&#8217;ve installed the <a href="http://www.facebook.com/developers/" target="_blank">Facebook Developer Application</a>.</li>
<li><strong><em>iPhone:</em></strong> You&#8217;ve installed the iPhone Xcode SDK installed (I believe most any version will work) and have a some level of knowledge about objective-C, Interface Builder, etc.</li>
</ul>
<h4>Facebook Setup</h4>
<ul>
<li>Go to the <a href="http://www.facebook.com/developers">Facebook developer App</a> and install if you haven&#8217;t already</li>
<li>Once you&#8217;ve installed <a href="http://www.facebook.com/developers/createapp.php">Setup a New Application</a></li>
<li>Next you need to configure a few app settings:
<ul>
<li>BASIC tab:  enter an <em>Application Name</em></li>
<li>AUTHENTICATION tab: un-check and leave everything blank</li>
</ul>
</li>
<li>Save changes.  Save yourself some frustration and make note of the <strong>Application ID</strong> now.</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Sample Code:</strong></span></p>
<a href="http://www.capturetheconversation.com/wp-content/plugins/download-monitor/download.php?id=3"><img src="http://www.capturetheconversation.com/wp-content/plugins/download-monitor/img/download.png" alt="Facebook/iPhone/oAuth" /></a>
<h4>iPhone Setup</h4>
<p>Open up the Xcode project.  There’s only 2 functions at play here:</p>
<h5>viewDidLoad</h5>
<p>This function is called as soon as the view has completely loaded.  It then asks the UIWebView to begin the oAuth 2.0 authorization process by sending a request to:</p>
<p>https://graph.facebook.com/oauth/authorize?client_id=<strong>your_facebook_app_id</strong>&amp;redirect_uri=http://www.facebook.com/connect/login_success.html&amp;type=user_agent&amp;display=touch</p>
<p>(NOTE:  <em>display=touch</em>, we&#8217;ll get back to this in a bit)</p>
<h5>webViewDidFinishLoad</h5>
<p>This function is called several times throughout the login process execution. These multiple web view finished calls have to do with server redirects within the oAuth 2.0 process flow.  We’re only interested when the requested URL contains:</p>
<pre>access_token=
</pre>
<p>And the associated obj-c code to identify when this occurs is:</p>
<pre>NSRange access_token_range = [url_string rangeOfString:@"access_token="];
if (access_token_range.length &gt; 0) {</pre>
<p>Then, this code extracts the oAuth token out of the URL we received back the Facebook oAuth servers:</p>
<pre>int from_index = access_token_range.location + access_token_range.length;
NSString *access_token = [url_string substringFromIndex:from_index];
</pre>
<h4>iPhone Configuration</h4>
<p>In <strong>oAuth2TestViewController.m</strong> update the client_id variable with your Facebook Application ID:</p>
<pre>/*Facebook Application ID*/
NSString *client_id = @"YOUR_FB_APPLICATION_ID";
</pre>
<h4>Running the App</h4>
<p>Once you’ve pasted your Facebook Application ID into the right place, you should be able to run the application straight away.</p>
<p>When you first launch the simulator <em>oAuth2TestViewController</em> it will automagically initialize the oAuth login procedure via the webView object.  Barring any errors or configuration issues, you should get a Facebook login screen optimized for an iTouch device (NOTE:  thus the <em>display=touch </em>we made note of above).  Finally after you’ve logged in you’ll see your oAuth access token in the Xcode debug console.</p>
<p><span style="text-decoration: underline;"><strong>Sample Code:</strong></span></p>
<a href="http://www.capturetheconversation.com/wp-content/plugins/download-monitor/download.php?id=3"><img src="http://www.capturetheconversation.com/wp-content/plugins/download-monitor/img/download.png" alt="Facebook/iPhone/oAuth" /></a>
<p class="pull_1 grid_8 alpha omega"><em>That’s it.  No bells &amp; whistles, no buttons, no Interface Builder, no UITableViewControllers; just the bare minimum required to get an oAuth 2.0 token via an itouch device from Facebook. </em></p>
<p class="pull_1 grid_8 alpha omega">
<p class="pull_1 grid_8 alpha omega"><em>In <strong>part 2</strong>, we’ll interact with the Graph </em><em>GETing from and POSTing data to</em><em> it, using a </em><em>pseudo-API.</em></p>
<p class="pull_1 grid_8 alpha omega"><em>Find me here: </em><em><a href="http://twitter.com/dominicdimarco" target="_blank">@dominicdimarco</a></em></p>
<p class="pull_1 grid_8 alpha omega"><em><strong>NOTE: </strong></em>(5/27/2010 11:09 AM MST) The original post has been updated incorporating feedback from comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/technology/iphone-facebook-oauth2-graph-api/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Google Adwords on Your Mobile</title>
		<link>http://www.capturetheconversation.com/read/google-adwords-on-your-mobile</link>
		<comments>http://www.capturetheconversation.com/read/google-adwords-on-your-mobile#comments</comments>
		<pubDate>Wed, 09 Aug 2006 22:42:26 +0000</pubDate>
		<dc:creator>Room214</dc:creator>
				<category><![CDATA[Read]]></category>
		<category><![CDATA[Adwords]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[PPC]]></category>

		<guid isPermaLink="false">http://www.capturetheconversation.com/?p=78</guid>
		<description><![CDATA[Google has recently introduced Adwords advertising on mobile devices in the US and UK. Adwords clients can now place their clickable ads on mobile phones through Google&#8217;s mobile search service.
Direct from the Google Help Center, here&#8217;s what the ads look like: Mobile ads contain two lines of text, with a limit of 12 or 18 characters per line, depending on the language in which you write your ad. Your destination URL appears on a third line if you choose to enter one. If you select the option that allows customers to directly connect to your business phone, a Call link will appear next to your destination URL. You can also set daily budgets and establish scheduled marketing messages.
The big advantage could be for advertisers looking to draw in local customers. For example, people who are on the road traveling and looking for a restaurant, hotel or service. David Utter from WebProNews.com commented...]]></description>
			<content:encoded><![CDATA[<p>Google has recently introduced Adwords advertising on mobile devices in the US and UK. Adwords clients can now place their clickable ads on mobile phones through Google&#8217;s mobile search service.</p>
<p>Direct from the <a href="https://adwords.google.com/support/bin/topic.py?topic=8501">Google Help Center</a>, here&#8217;s what the ads look like: Mobile ads contain two lines of text, with a limit of 12 or 18 characters per line, depending on the language in which you write your ad. Your destination URL appears on a third line if you choose to enter one. If you select the option that allows customers to directly connect to your business phone, a Call link will appear next to your destination URL. You can also set daily budgets and establish scheduled marketing messages.</p>
<p>The big advantage could be for advertisers looking to draw in local customers. For example, people who are on the road traveling and looking for a restaurant, hotel or service. David Utter from <a href="http://www.webpronews.com/insiderreports/searchinsider/wpn-49-20060906GoogleDialsAdWordsOntoMobiles.html">WebProNews.com</a> commented on Google&#8217;s strategy: &#8220;We know that Google and its competitors have been actively engaged in a battle for dominance in the local search arena. It makes sense to corner the mobile search market for advertising if possible.&#8221;</p>
<p>Businesses purchase the ads through the Adwords interface, and must have either a mobile web site for pay-per-click ads, or a toll-free phone number for pay-per-call ads.</p>
<p>Now that mobile phones are fully integrated into mainstream America with over 200 million subscribers, mobile phones <em>are</em> and will continue to be an important place to deliver <a href="http://www.capturetheconversation.com/mobile/mobile-marketing-simplified-for-local-business" target="_self">advertising</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.capturetheconversation.com/read/google-adwords-on-your-mobile/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

