Tag Archives: facebook

Why Play Games?

When Facebook began, it was viewed as a place for college students to keep in touch with their friends and share the highlights of their lives. It was not a company that was created to go viral but the concept was such a great idea it went viral and created a company. The concept of a social network was literally being defined at the same time it was growing. Although MySpace was the first social network on the scene, it lacked the ability to retain users, keep professionals interested, and create viable revenue streams to bring the company into the black. MySpace also received a lot of negative press that hurt the brand, although they have been able to keep some users based on their music and band profiles. How did Facebook rise so quickly and change the game?

Facebook executives strategized about ways to sustain their brand, market to all ages, and create lasting revenue streams. The Facebook founders realized the tremendous growth in users could warrant great revenue if they could figure out a way to capitalize on it. Facebook’s first strategy was to offer advertising opportunities to reach their nearly 500 million users. Facebook’s second strategy redefined the industry and created several companies in the process. What was their second strategy? They realized that the amount of time an individual was on the social network created more opportunities to market to them. Facebook launched games on the platform.

Games were not a new concept on the internet, but Facebook tied games into the interaction of their users. This marked the birth of the social network game. Many companies started to capitalize on this concept. In the process, these companies created another level of monetization by offering certain gifts and prizes in the games for a small fee (virtual goods) and offering special features in the game for a price (virtual currency). The ability for an individual to send a virtual gift and tell everyone about it became enticing.

There are several companies that have created game products to provide entertainment to the Facebook community while capitalizing on Facebook’s strategy. Zynga is known for Mafia Wars and Farmville and you have Playdom, Mindjolt , RockYou! and Pogo, etc. which provide games on the platform, but the “new kid” on the block is the one that has sparked my interest. Strategic Design Network, based in Austin, has created a game portal on Facebook that will likely provide the best example of how to use the platform to the fullest. They have produced an application called Game Toyz Arcade on Facebook that has really taken the concept of games on Facebook to the next level by integrating tournaments for cash and prizes. They have also managed to integrate their own proprietary tournament management API called Pay Out Hub.

Game Toyz is a flash game portal that offers two types of tournaments. They have coin tournaments that players can join right from within the application and cash tournaments. What is unique is the entry fee for the coin tournaments comes right from the player’s winnings in the game. They can also challenge their friends and wager a certain number of coins to increase their total coin count. All of the tournaments are based on skill and provide the best way for individuals to interact with their friends on Facebook while also enjoying game play. In addition, players can post high scores, challenges and winnings to their Facebook feed. Coins can be redeemed for actual prizes like gift cards to iTunes and Amazon. Game Toyz Arcade also offers their daily lottery game and the daily treasure map. You get a certain number of tries to win additional coins or prizes immediately. If you have run out of coins, you can purchase more simply using your paypal account.

The Pay Out Hub integration is what will solidify Game Toyz Arcade as one of the “new kids” that will have staying power. Pay Out Hub provides an API that integrates with casual and social games to host tournaments. Individuals can register on the site and join cash tournaments from the PayOutHub.com website that will take them directly to the Game Toyz Arcade interface. This is a seamless process and it provides a secure way for individuals to participate and receive their cash rewards if they win the tournament.

Several companies are creating and have created great business models based on Facebook’s strategy and I believe that Strategic Design Network is one of the companies to watch. Zynga, Mindjolt, etc. have already created have already created a presence on the platform, but in some ways have taken for granted their popularity by releasing average new products. Game Toyz Arcade has unlimited potential just like Mafia Wars and Farmville did when no one really knew who they were. The difference is this company has paid attention to detail and released something that is unique instead of more of the same. This is an application and a company to watch! As the trend to provide games on Facebook continues, everyone will be playing games!

Graph It!

Graph It!

Graph It! is a neat little application that will help you see your statuses in a totally different light.

In one click, get to see your most used words in a nice 2D cloud, so nice that some happy users have actually used it as their profile picture! It actually reveals a lot about yourself, may be even in a psychanalitic way, LOL!

You can also see your words in 3D too, thanks to the WordPress plugin. And finally you can get some insights on your statuses statistics, such as what time of the day do you post the most?!

And… actually the best part, is that you can do all that with your friends statuses too!

Try it Now!

HEART FACTORY

HEART FACTORY

The biggest Heart Game on Facebook!!! More than 2000 amazing hearts!

Give your friends some love, share hearts with them and get points !

GO to HEART FACTORY

How to Insert “Add Profile Tab” Buttons

As described in an official blog post from Facebook, you can now put an “Add Profile Tab” button in your application or site to prompt users to add your application tab to their profiles for easy re-engagement. All implementations using the JavaScript API can call FB.Connect.showProfileTabDialog or use the fb:add-profile-tab XFBML tag to render the button, while FBML applications can call Facebook.showProfileTabDialog or use the fb:add-profile-tab FBML tag to render it.

Using the JavaScript API for Connect

FB.Connect.showProfileTabDialog(callback);

This method renders an Add Profile Tab button on your canvas or Web page, enabling the user to add your application tab to his or her profile.

If the user already added your application tab, the button doesn’t appear.

You can determine if a user added your application tab by querying the tab_added field in the permissions FQL table.

The optional Callback function can be used to execute after this call completes. It takes one argument, which is a JavaScript object. The object has one key, tab_added, the value for which is 1 or 0.

Using an XFBML tag

<fb:add-profile-tab />

or, if you’re using Connect

<fb:add-profile-tab></fb:add-profile-tab>

Renders a button that lets a user add your application or site’s application tab to his or her profile. Make sure you specify a Tab Name and a Tab URL in your application settings (on the Profiles tab).

If the user already added your application tab, the button doesn’t appear.

You can determine if a user added your application tab by querying the tab_added field in the permissions FQL table.

Facebook Platform. Good Experiences.

Facebook Platform. Good Experiences.

In a recent blog post Facebook encouraged users to be trustworthy and to create great user experiences.

The deadline for enforcement of the new Facebook Developer Principles and Policies has passed and now all the application developers that violate those rules will be punished. The actions taken against the apps will range from simple warnings, suspension of certain functionality to the outright disablement of the app according to the “severity” of the violation, the developer’s history of compliance and the impact of the violation on the users of the application.

These new changes to the Developer Principles and Policies will slow down the growth of new applications significantly. The auto pop-up permission requests, bookmark reminders will be considered as violations. The stream stories can no longer be used as methods for users to invite friends to the applications and soon Facebook will disable all the viral channels of communication (notifications, requests) and leave developers with only the dashboard counters and the Inbox.

Added to this, as outlined in the Facebook Developer Roadmap, Developers will be able to obtain the users’ primary email addresses and the formatting of the canvas will change to better outline the brand of the application. To me this looks like Facebook is slowly “pushing away” the applications from Facebook.com to better highlight that they are the creations of third party developers, not Facebook itself.

Proposed Roadmap Canvas of a Facebook Application

Facebook’s New Privacy Settings

Facebook’s New Privacy Settings

Facebook announced about their new Privacy Settings earlier today. Facebook says that the changes are made to simplify the Facebook privacy settings and give users more control,  but according to the Electronic Frontier Foundation these changes are made to push users to publicly share even more information than before.

For app developers these changes will be very useful. Users won’t be able to hide information such as gender and friend lists (and other Publicly Available Information – PAI) from apps, they can’t opt out of the Facebook API (by the “Do not share any information about me” setting) anymore and even if a user hasn’t granted permission to any apps the PAI of the user will still be available through the friends of the user who use the application.

According to Chris Cox (VP, Product Management) “everyone” will be the new default for status updates, which will make Facebook more like Twitter and give greater access to information for developers. This means if Facebook allowed Google to pull user status updates for its new real-time search,  Facebook could have replaced and even eliminated Twitter.

Below is a video demonstrating these new changes.

Google’s Realtime Search Will Include Facebook Pages

Google’s Realtime Search Will Include Facebook Pages

Google announced today, at their Search event,  that its new real-time search will also include status updates from Public Profile Pages, aka Facebook Pages.

No word yet if it will include Application Profiles or not, but for now it certainly won’t include user Profile updates.

This can really increase the significance of Facebook Pages and events like the streaming of Alicia Keys’ new album on her Facebook fan page can be accessible (and searchable) for a broader audience.

Google Realtime Search

Google Realtime Search

Facebook Announces Safety Advisory Board

Facebook Announces Safety Advisory Board

Facebook has just announced the formation of a Facebook Safety Advisory Board.

According to Facebook the Safety Advisory Board is “the latest step in its commitment to improve safety on Facebook and across the Web”. The Facebook Safety Advisory Board consists of a group of five leading Internet safety organizations from North America and Europe that will serve in a consultative capacity to the company on issues related to online safety. The five organizations on the board are Common Sense Media, ConnectSafely, WiredSafety, Childnet International and The Family Online Safety Institute (FOSI).

The board will come up with ways to better educate teachers, parents and teens about online safety and will address more issues regarding safety on Facebook.

Migrate to streamPublish before December 20

Migrate to streamPublish before December 20

Yes. Facebook will deprecate all previous feed publishing functions after December 20, 2009 and your applications need to move to the OpenStream API by then. The new API implements the Streams feature, which is based on the Activity Streams standard. That’s not news. And nothing after this point is news anymore, but a short tutorial on how to get ready before Facebook deprecates a few functions which your application might be using, eventually destabilisng it. One short tip at the end of it all for your application.
So as per the new Streams functionality rolled out a few days ago across all Facebook profiles, as an application, you will need a special permission, publish_stream, to automatically publish stories to a user’s wall which is visible to the user’s friends. You need to ask for that permission by prompting the user. Until you don’t have that permission, you can use the FBJS call Facebook.streamPublish to render a feed form and have the user approve or cancel the publishing of the story right there.

As I reckon, employing the FBJS call might be a better thing to do as users may not readily give your application permission to print stories to their walls whenever you want. In fact, let me present the case of why you should ONLY use the FBJS call for all the feed story publishing needs in your application.

What Facebook.streamPublish does is show a feed form to the user which has two choices, either to publish the story contained in the form to the user’s profile or skip it. And before I proceed on feed forms, a legal advice here. You cannot show feed forms to the user whenever your application feel likes, but you have to present the user a choice as he/she takes any action on your application, if they would like to have a feed story printed on their profile page and then only. The clause that mandates this behavior is DPP.VI.1 which says “You must not display a Feed form unless a user has explicitly indicated an intention to share that content, by clicking a button or checking a box that clearly explains their content will be shared.”. Moving on, a typical feed form looks like this:

How a feed form looks like

You can supply the title(Fappside.com – Facebook News), the link of the title, the description text, thumbnail paths which will be resized to 90×90 pixels, other custom properties(Founded and Category), and action links(Become a Fan). The arguments have to be passed in a JSON array alongwith some other parameters. The function is of the form:

Facebook.streamPublish: FBJS call method and parameters
Facebook.streamPublish(user_message, attachment, action_links, target_id, user_message_prompt, callback, auto_publish, target_id);

I will detail two parameters only, the rest you can find explained here.
auto_publish: If this is set to true, and the currently logged in user has already given your application stream_publish permission, the user won’t see the feed form and instead the story will get published automatically. If you set AUTO_PUBLISH false, the feed form will show up no matter what.
target_id: This argument tells on whose behalf to submit the story. If this is set to null, it defaults to on behalf of the user currently logged in. If it is the ID of a Facebook Page and the currently logged in user is the admin of that page, the story is published to the wall of the Page, on behalf of the page.

Here is some example code to print a story using Facebook.streamPublish in PHP, FBML & FBJS. I am assuming you have a application already set up and you have a FBML canvas page.

PHP: Setting up the Feed Story parameters
$feedStory = array(
‘name’ => ‘Fappside.com – Facebook News’,
‘href’ => ‘http://fappside.com’,
‘description’ => “Fappside is all about what’s in and out of Facebook, real time”,
‘properties’ => array(‘Category’ => ‘Facebook News & Reviews’, ‘Founded’ => ‘November 2009′)
);$feedStory['media'] = array(
array(
‘type’ => ‘image’,
‘src’ => ‘http://profile.ak.fbcdn.net/object2/1487/68/n187160399906_2453.jpg’,
‘href’ => ‘http://fappside.com’
),
array(
‘type’ => ‘image’,
‘src’ => ‘http://fappside.com/wp-content/themes/headlines/thumb.php?src=http://fappside.com/wp-content/uploads/2009/12/pen.jpg&h=90&w=90&zc=9&q=95′,
‘href’ => ‘http://fappside.com’
)
);
FBML + FBJS: Setting up the Javascript variables and a link to invoke the feed form
<script>
var js_feedStory = <?php echo json_encode($feedStory); ?>;
var js_actionLinks = <?php echo json_encode(array( array(‘text’ => ‘Become A Fan’, ‘href’ => ‘http://www.facebook.com/fappside’))); ?>;
var js_targetId = null; //Keep this null if you want the feed story to appear on the user’s profile
var js_userMsg = ”; //The string which appears in the text input field. Note that the user can change this before publishing
var js_headlineMsg = “What’s on your mind?”; //A text label above the text input field prompting the user to write something in the text input field
var js_callback = null; //A Javascript callback function to handle any desired flow after the story has been published or cancelled(skipped)
var AUTO_PUBLISH = false;
var js_actorId = null;
</script>

<a href=’#’ onclick=”Facebook.streamPublish(js_userMsg, js_feedStory, js_actionLinks, js_targetId, js_headlineMsg, js_callback, AUTO_PUBLISH, js_actorId);”>Publish</a>

The above setup will print a feed story that looks like this by default:
Feed story default view

and like this when the See More link in the feed story is clicked:
Feed story after clicking on See More

That’s it with the Facebook.streamPublish method. Do let me know in the comments section if you find anything while doing this yourself, interesting or annoying. Now onto the tip I promised.

This is actually handy and we have been looking for it since sometime. The Add Bookmark feature on the application canvas pages, instead of relying on the humility of the sole link in Facebook’s bottom navigation bar with the application icons to work its magic. All you have to do now is embed the FBML <fb:bookmark /> on your canvas pages and a pretty button will be rendered. It even works on profile tabs. If the user has already bookmarked your application, Facebook will know that beforehand and won’t show the button. There may also be situations where you want to know in your code if a specified user has bookmarked your application or not, and for that use the following FQL query, where $uid is the ID of the user you want to learn about.

PHP: FQL Query to retrieve information from bookmarked column of Permissions table
$facebook->api_client->fql_query(“select bookmarked from permissions where uid=’$uid’;”); //will return Array ( [0] => Array ( [bookmarked] => 0/1 ) )

I think I have talked enough uptil now. I am looking for topics to write on that may interest you, so if you already know what you like to see, holler here and I will take note, and might do something. Looking forward to a conversation now with you in the comments section.

Developer Roadmap Delays

Developer Roadmap Delays

Facebook introduced the  Facebook Developer Roadmap on October 28, 2009. This is what the description of the roadmap reads:

For the first time in this level of detail, we will provide a roadmap to help you anticipate future changes and opportunities. Like all roadmaps, it may shift slightly, but we will share insight into what is happening as these details are available. We’ll keep you posted about the progress of these changes and what they mean for you over the next two quarters.

For the month of November Facebook had 4 new features to be launched, and while most of them are now live, one of the most anticipated ones is nowhere to be seen. I’m talking about the new email sharing feature, which allows developers to gain access to the application’s users’ primary email address. This means that app developers can store real email addresses and contact their users directly. Currently applications can request permission to email users, but the emails get sent via the Facebook API and are not visible and cannot be stored.

Facebook Redesign

Facebook Redesign

Also, once this feature is live, the new notification methods will become active (after 30 days) and most likely this is when the new redesign will be activated.