Back to News for Developers

Platform Updates: Operation Developer Love

April 4, 2012ByZhen Fang

Since last Wednesday's update, we published an Open Graph spotlight on Cities I've Visited, and Early Success Stories: Video and Open Graph.

New App Insights

We added more granular app insights under Installs > Growth. The Growth Accounting chart breaks down the change in active users over time by: installs, uninstalls, active users who went stale, stale users who were revived, and retained users. This helps you determine exactly what is driving user growth and which areas might be negatively affecting growth.

For apps with more than 25,000 monthly active users, the Triangle Heatmap shows how different cohorts of new users remain engaged over time, and you're able to find patterns that indicate what has affected engagement. For example, you can use this chart to determine that user engagement drops after 15 days, users who signed up in a specific time frame are highly engaged, or a product change positively affected engagement for all cohorts. This chart will only appear in the Growth tab of Insights for large apps with enough data to render it useful - and information for days with less than 30 new installs will not be available.

Here is a video that explains the new charts in detail and exactly how to use them.

July 2012 Breaking Changes Migration Now Available

We recently updated our Breaking Change Policy so that breaking changes only go out on the first Wednesday of each month to ensure all breaking changes are pushed during the work week. We are now making breaking changes easier for you to test via our Migrations framework. You can access migrations for your app by going to the Dev App, clicking on Settings, then the Advanced tab, and you'll see the Migrations section.

We have several existing individual migrations and we realize that it can be difficult to keep track of them. Going forwards we plan to group most breaking changes into monthly migrations (e.g. "July 2012 Breaking Changes"). We'll aim to make migrations available 90 days before the changes will go into effect. New migrations will default to the disabled state for all apps created before the day the migration is made available. Apps created after that date will automatically have the migration enabled.

Breaking Changes Effective Today

As announced on the Roadmap and Developer Blog, today the following changes are going into effect:

Making deprecated SDK repositories private
We will make the Python and C# SDK repositories on GitHub private. These repositories are deprecated and may not work as expected due to changes in our auth system.

Removing canvas_name field from application object - Originally scheduled for February 1st
We will be removing the canvas_name field in favor of namespace field on the application object.

July 2012 Breaking Changes (90-day notice)

The following changes will be in effect on July 5, 2012:

Removing FB.Canvas.setAutoResize - Originally scheduled for January 1, 2011
We have renamed FB.Canvas.setAutoResize to FB.Canvas.setAutoGrow so that the method more accurately represents its function. FB.Canvas.setAutoResize will stop working on July 5th. We will completely delete the function on August 1st.

Event GETs from Graph API/FQL Will Require an Access Token
All calls to get events from the Graph API or FQL will now require an access token to be used.

The following changes can all be enabled/disabled using individual migration settings until July 5th when they will go into effect permanently for everyone:

Updating Page Hours Property
The hours property of Pages will return times in the format HH:MM (e.g. "14:23") rather than the old format (a Unix time). This change can be enabled/disabled using the "Page Hours Format" migration until July 5th when it will go into effect permanently for everyone.

Batch API Exception Format
Errors from the Batch API will return errors in a new format. Previously, errors would take the format:

{"error_code": "", "error_description": ""}

With this change, they will now be formatted in-line like the rest of the Graph API:

{"error": {"message": "", "type": ""}}

This change can be enabled/disabled using the "Graph Batch API Exceptions Format" migration until July 5th when it will go into effect permanently for everyone.

Removing Timezone From Event Times
We have had a migration titled "Timezone-less Events" out for a while now which removes timezones from event start and end times. This migration was originally created because in the past, events have been intended to be created with start and end times that are specific to the location of the event so including a timezone in the API simply led to confusion. Until now, this migration never had a date set for when it would go into full effect. That date is now July 5th. This change can be enabled/disabled using the "Timezone-less Events" migration.

Since this migration was originally created, we have added a timezone field to events which indicates the name of the timezone (as defined here) where the event is expected to happen. FYI, developers reading time in ISO 8601 should be supporting the full standard when reading event times. Most events return local times (no GMT offset), but in the future events likely will return other formats (namely date-only and precise).

The following changes can all be enabled/disabled using the July 2012 Breaking Changesmigration until July 5th when they will go into effect permanently for everyone:

Removing display=wap Dialogs
The wapdialog display mode will be removed.

Removing Some Event FQL Object Fields
We will be removing the following legacy fields from the event FQL object.

  • show_in_search
  • show_wall
  • show_photos
  • show_videos
  • show_posts
  • nid
  • tagline
  • event_type
  • event_subtype

Coordinate-less Tags
Tags previously could only exist on photos and always included x,y coordinates. On Facebook it is now possible to tag people in photos and statuses with no coordinates (example). These people show up as being "with" the actor. The potential breaking change is that it will be possible for the tags parameter of any photo object to return objects with no x or y parameters.

Removing Bookmark.Add and Profile.AddTab Dialogs
We will be removing the bookmark.add and profile.addtab dialogs from the Javascript SDK. These dialogs already don't do anything as the concepts of manually adding bookmarks and profile tabs have already been removed.

Moving Type Property Into Metadata Array
When querying the Graph API with a metadata=1 parameter, we append a metadata array and a type property to the response. We will be moving the type property into the metadata array.

Please check out the Developer Roadmap for more upcoming changes.

Bugs activity between Tuesday, March 27 and Tuesday, April 3

  • 188 bugs were reported
  • 33 bugs were reproducible and accepted (after duplicates removed)
  • 10 bugs were by design
  • 20 bugs were fixed
  • 161 bugs were duplicate, invalid, or need more information

Changes pushed between Tuesday, March 27 and Tuesday, April 3

Activity on between Tuesday, March 27 and Tuesday, April 3

  • 452 questions asked
  • 398 questions with a score of 0 or greater
  • 135 answered, 34% answered rate
  • 218 replied, 55% reply rate