Tap Swipe Pinch |
A blog about iPhone dev |
Game: “Would you like to share your high score on Facebook/Twitter?”
User: “OK”
Game: “Great. Just login here.”
User: “Oh…No Thanks. See, I’m really lazy. I don’t feel like typing in my username and password on this tiny little keyboard. The iPhone’s auto-correct always messes up my username and I have chubby fingers so I never really know if I’m hitting the right keys for my password. Additionally, I’m going to have to wait for you to log me in and then wait for the tweet to be sent afterwards. On top of that, I’ve read all sorts of articles about 3rd party applications and information privacy, and I really don’t know if I trust you with my info. Where’s the cancel button?”
I wish sharing iPhone app snippets on social networks was easier for users. I suspect that the login wall stops many users from tweeting/posting what they would if things only took one tap. Users shouldn’t have to enter their password into every single app just to tweet/post. There should be an easier way, and right now there is… sort of:
You can currently tweet from your app using the Twitter for iPhone app via their custom URL scheme. You simply detect if the user has the Twitter for iPhone app by seeing if it’s possible to open the URL “twitter://”:![]()
And if you detect that the user does indeed have the Twitter app, you can tweet by executing a URL request to the tune of twitter://post?message=I%20Love%20This%20Game
This will open the Twitter iPhone app to the New Tweet screen with the text “I Love This Game” already filled in. At first, that sounds great. The user doesn’t have to login to Twitter and they can tweet their message with just two taps: one in your app, and one in Twitter to post the tweet. But there’s one problem. I just kicked the user out of my app and into the Twitter app with no way to get back! Here they were having a great time. They just achieved something noteworthy that they wanted to tell their friends about, and now I’m making it harder for them to go back to the game. Using this custom URL scheme, I’ve made it easier for the user to tweet, but kicking them out of the game probably isn’t worth it. There should be a better way. And there can be. To make sharing easier for users and still viable for developers, I suggest an improvement to the URL schemes social networking apps use:
If social networking apps accepted callback URLs in their custom URL parameters, the social networking apps could then include a way to return to the original apps. For example, Twitter would be launched by the following URL:
twitter://post?message=I%20Love%20This%20Game&callback=myapp%3a%2f%2flastscreen&appname=MyCoolApp
This would allow the Twitter app to display a button directing users back to “MyCoolApp” because “MyCoolApp” can be launched with the custom URL myapp://lastscreen. There was a genius who did this long ago with an app called Duo which accepted callback URLs and an app name in the custom URL scheme allowing users to return to the original app by pressing a button which called the original app’s URL:
I’d wager to guess that the users of the official Twitter and Facebook iPhone apps far eclipse the users of Duo. So it would be nice if the major players would implement something similar. The method could even be greatly improved upon by automatically sending users back to the original app once the tweet has been sent. Or even automatically sending the tweet upon launch and then automatically sending the user back, effectively only requiring one tap in order for the user to tweet/share from any app. Furthermore, it doesn’t have to stop at tweeting. It could extend to following a Twitter user and Liking a Facebook fan page.
This is much simpler for users. As a developer it’s also a lot simpler for me to use these custom URL schemes than having to implement OAuth or a third party SDK. And as a social network, you get more engagement. Wouldn’t that be nice for everyone?