FMBL: A Big Change on the Horizon

FMBL: A Big Change on the Horizon – FMBL is an acronym for Facebook Markup Language. The FMBL platform has enabled developers to create custom code and features for Facebook since 2007. The FMBL language is a variation on standard HTML code. FMBL is used to customize Facebook pages, and to develop custom applications for Facebook applications. Custom Facebook applications, known as “widgets,” are embedded into and integrated with the Facebook system. Widgets are built upon the Facebook schema and implements Facebook user and security settings.

FMBL is a combination of HTML tags and proprietary scripts, or “extensions.” FMBL utilizes the authentication and security configurations in place for each user. In other words, only those users who are authorized through Facebook authentication will be able to see and interact with the widget. With the Facebook Query Language (FQL), the developer is able to write code that queries FMBL tags and return data based on authentication.

To develop with FMBL, the Facebook Developer’s Application is required. This software development kit (SDK) is available free from Facebook’s developer site. However, FMBL is not well documented, even with regards to the SDK. The SDK provides the platform for development, and also allows the developer to track the applications they develop.

When a developer begins to create an application, one of the first tasks for them is to apply for a new Application key. This key identifies the application, as well as the developer, to the Facebook platform. The key also enables the FMBL application to be integrated into the Facebook plaform.

In addition to FMBL, Facebook provides Java and PHP libraries that extend functionality of applications. Though Facebook does not support pure AJAX, the platform implements a “mock AJAX” procedure to imitate AJAX behaviors. Facebook also supports Flash and iFrames in developed applications.

Once an application is developed, the widget must be approved before it becomes available to general users. Though not well documented, known criteria for approval include: a.) The application must function properly, b.) the application must have at least five users, c.) the widget must include an icon, and d.) the widget must follow the Facebook Terms of Service. Beyond these known criteria, applications may be rejected based on the discretion of Facebook staff.

A form of JavaScript is also supported in FBML. Facebook JavaScript (FBJS) is implemented by utilizing tags prefaced with “fb” in JavaScript code. For example, “fb:friend-selector” generates a friend selector input component based on predictive logic. In other words, the Facebook user is presented with a list of potential friends. The user is able to click on a potential friend to create a Friend invitation. FBJS also supports conditional logic. The “fb:if” statement evaluates the condition, and only if the condition is true, the contents inside the tag are rendered.

While this article was originally intended to look at how FBML may be optimized for SEO on August 19, 2010, Facebook announced that the FBML platform will no longer be supported by Facebook as of January 12, 2012. Some features will be removed before the deadline. For example, customized landing tabs will no longer be supported as of October 31, 2011. On June 1, 2012, all FMBL endpoints will be removed from the system. All FMBL applications must be rewritten using iFrames prior to this deadline, thus making the research nessarcsary to make this a robust post somewhat futile.