Success Window fix in Facebook ActionScript API

Facebook ActionScript APII just added a fix to an issue with the Facebook ActionScript API I ran into where after logging into Facebook on Android, the success event listener would never get called, the login window would never disappear, and you’d be left with a white StageWebView window with the word “Success” in it. It had something to do with a change in how AIR for Mobile handles StageWebView events.

I also noticed that when you would pass in a custom viewport for StageWebView in the initial window, the code would overwrite any settings and make it full screen. I didn’t think that was the expected behavior so I patched some code in FacebookMobile to make sure that if the login function has a viewPort specified, that one gets used instead of creating a new one.

I’m working on getting it added to the release SWC but I can’t tell exactly how the project has that process set up, so for now if you want the fix you’ll have to check out the source directly.

I’m spending some time with the Facebook API recently so if you have any issues, let me know.

Kevin Lynch’s Flash Catalyst Keynote at Web 2.0 Expo

At Web 2.0 Expo we had some great news about Facebook and the Flash Platform but we also got some face time for Flash Catalyst. Kevin Lynch demoed Flash Catalyst at one of the keynotes. The buzz of the demo has been really fantastic and it was fun watching the tweets go by as he was doing the demo. They’ve uploaded the demo to blip.tv so you can check it out.

For more video goodness from Web 2.0 you can check out Beet.tv’s interview with Adrian Ludwig on the partnership with Facebook.

Demo of Real Time Facebook Collaboration with the Flash Platform

Today we announced that we’re going to be working with Facebook to help Flash Platform developers continue to create great applications on the world’s best social platform. You can find a lot of good developer information on our new Facebook Developer Center. Since we’re dealing with social content, I figured it would be fun to combine Adobe Flash Collaboration Services and Facebook for a real time social collaboration experiment. Using the excellent getting started tutorial and AFCS, I created a simple app. When you load it, you’re a guest and you can see people using the whiteboard, chatting, and sharing files. If you want to collaborate with everyone else, you need to log into Facebook. The application pulls your name and geographic information from Facebook and lets you publish content. The application is here and you can grab the source files here. You’ll need to make sure pop-ups are enabled to connect to Facebook.

As I said, the application is pretty basic. I’m using default pods from AFCS and the basic Facebook authentication. The only thing remotely unique is that I’m pulling in the user data from Facebook and using the AFCS APIs to change the APIs:

public function onConnect(event:FacebookEvent):void
{
var call:FacebookCall = facebook.post(new GetInfo([facebook.uid],[GetInfoFieldValues.ALL_VALUES]));
call.addEventListener(FacebookEvent.COMPLETE,onComplete);
}
 
public function onComplete(event:FacebookEvent):void
{
fbUser = (event.data as GetInfoData).userCollection.getItemAt(0) as FacebookUser;
cSession.userManager.setUserRole(userId,UserRoles.PUBLISHER);
cSession.userManager.setUserDisplayName(userId,fbUser.first_name + " " + fbUser.last_name + " (" + fbUser.current_location.city + ", " + fbUser.current_location.state + ", " + fbUser.current_location.country + ")");
}

The first function gets called when we connect; we use the new AS3 Facebook library to get information about the user. Then after that is complete, we set the user data to a FacebookUser object and use the AFCS APIs to change the user name and the room “role” so that the user can publish content to the room.

I kind of threw this together at the last minute, so expect bugs. I apologize in advance if (when) you run into them.

Skimmer: The Most Well Designed AIR Application Yet?

skimmer_logoWhile at SXSW last week I got to chat with some of the folks from Fallon, a really great agency known for being on the leading edge of design and technology. They showed me an AIR application that proves that. The application is called Skimmer and is part Twitter client and part social manager. You can update your status for Twitter or Facebook but it also includes a media viewer which allows you to view your contact’s photos and videos from sites like Facebook, Flickr, and YouTube.

skimmer_shot

The key is that they spent a ton of time thinking about user experience and design to create the application and they said they wanted to capture a great out of browser experience for social media. To that end they’ve got very cool full screen functionality, drag and drop uploading to Flickr and YouTube as well as the option to view everything offline. It’s a perfect use-case for Adobe AIR – a bridge between the cloud and the desktop. One of my other favorite features is the widget creator. Once you sign into your accounts you can customize and generate a Flash-based widget that will show off your Flickr, Facebook, and Twitter posts. It’s something I plan to use on my root domain as a fun way to show what I’ve been doing.

On the technical side they also have a good implementation for the OAuth-type of functionality for Flickr and Facebook. This is something AIR developers are going to have to think about and I liked the way they implemented it with an extra window spawned by the application and loading the Facebook or Flickr authorization in an HTML control.

Congrats to the team at Fallon. I love this application.

Status is Useless Without Location

VentureBeat has a decent rundown of the news that Facebook is opening up their status APIs which prompted a lot of “ultimate social gesture. But so far the big players, FriendFeed, Twitter, and Facebook have failed because what’s missing is the geo aspect.

We’ve gotten to the point where people consider photos almost incomplete without some kind of geotagging. Most of the major sites support it and devices with cameras and GPSes, like the iPhone, support it by default. So why aren’t we there with status? Brightkite shows the value this can have. Take a look at a place and you can get a history of everything that’s happened there. But location associated with status is important because status is so real time. Don’t I also want to know what my friend is doing and where they’re doing it? (privacy controls enabled of course) Part of the brilliance of Twitter is that it’s so simple, but geotagging could be very easily done almost invisibly to the users who want to use it.

I think everything on Facebook should be “geoized” – I think they should buy Brightkite – because by adding the location dimension you open up new ways to advertise, new ways to visualize, and more importantly, new ways to connect. See what your friends had to say about where you are now, see what they’re doing right now and whether or not they’re close. Find out if there’s someone in your network at the same restaurant you’re in. Status providers need to embrace location for it to move to the next level.