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.

The Cursor as the Ultimate Game Changer

It’s rare when I can apply my love of the Sports Guy to my day job but today I can. Bill Simmons had his boss on his podcast to talk about new media. Kind of random for a sports podcast, but hey. One of the things they touch on is the death of the newspapers and what makes the web so great. He had a pretty simple answer – the cursor:

You look at where the internet is today and I don’t think we’ve realized anywhere near the potential of this medium. The uniqueness and the eccentricities and the unique qualities of the cursor and what the cursor can do. It’s not just interactivity. They can create things that the cursor can make really interesting. The NBA trade machine on our website is fantastic. And it’s a unique thing that can’t be in other mediums.

I think he did a great job of nailing why I’m so excited about RIAs. Especially when you abstract “cursor” to anything – touch gestures, mouse clicks, whatever. The medium we have is 1) still at the very early stages and 2) a more interactive medium than we’ve ever had before.

This is why it’s so important to be able to create great looking content. You’ve got a wider audience than you’ve ever had before and tools that help create that unique experience. The key should be to get the most inspirational and creative people in the world thinking about the cursor. They’ve got the canvas but we need to help them with the tools to make their creativity become an interactive reality.

That’s why I’m so glad to be at Adobe. We do design tools. And if we can bring our design community to bear on the development world then we’re going to completely change how people think about this unique medium. It’s why a company like Microsoft, that knows developers, is so desperate to get designers. Both sides matter, but the interactivity of the internet requires design skills to take it to the next level. I’m excited to see what you guys come up with.

BugQuash – One of the Coolest Flex Events Ever

On Saturday I hung out a while at the BugQuash (be sure to check out the intro video) event in Seattle. For those that hadn’t heard, the bug quash was meant to get people up to speed on how to submit patches to the Flex SDK and then get some bugs fixed. It was one of the coolest Flex events I’ve been involved in. And I’ll also add, as someone who has officially contributed code to the Flex Framework, submitting patches is an intoxicating experience. It’s also incredibly easy. I’m hoping to do a screencast to tell people how to get up and running so they can submit patches.

I sat down with Marty and Nate to talk about the event and get their thoughts. I think everyone had a great time so thanks to those two as well as Leif and Stacy for helping put it on. And I’m glad Seattle got to be first. Here are a rundown of the stats:


Marty and Nate Talk About BugQuash from Ryan Stewart on Vimeo.

Obama’s Online Town Hall in Flash

President Obama is holding an interactive online town hall where he’s taking questions from anyone and then streaming the event live. To do that, Flash Media Server 3.5, which includes dynamic streaming so you get the best picture quality your connection can handle.

In other Flash Platform and FMS news, MLB is rolling out their next generation live player in HD and built with Flash. As Serge said, Flash on!

Enterprise Flex with Cynergy

I was lucky enough to go hang out with the Cynergy crew in DC a month ago and got some video of Dave Wolf talking about one of their enterprise Flex applications for Quickcomm. In the video Dave gives a tour of the application and provides some background. I think it’s one of the better looking Flex applications out there and I like the subtle UI tweaks they included. You can check out some of their other work on CynergyTV.


Quickcomm Enterprise with Cynergy from Ryan Stewart on Vimeo.

Scotch on the Road: Free Tickets in the Name of Technology Amnesty

A big part of the evangelism team’s job is to get new developers to the Flash Platform. A lot of times it’s a very easy sell. But we can always use the help. That’s why I’m really excited to see the Scotch on the Rocks guys help us out. They’re offering free tickets for non-CFML developers out there to the Scotch on the Rocks events. That means any JSP/PHP/.NET/Rails/whatever developers can get some free tickets to check out one of the Scotch events.

I really wish I could come to these but Andrew and Serge will be there and they’ll be giving some great sessions. So go and enjoy the fun (even if you are a CF developer)!

Hiking with the Las Vegas Adobe User Groups

I had a monster swing last week jumping from place to place and because of the way the conferences were set up, I only had one day in two weekends as a break. Luckily the Adobe community is awesome and after I was in Vegas for MIX and presented to the Las Vegas Adobe User group, a bunch of them took me up to Zion National Park for some hiking. There’s nothing better than the Adobe community. Thanks to Renaun and John for setting everything up.

Flash Gaming Summit Slides and Presentation

The Flash Gaming Summit on Sunday was one of the absolute coolest Flash events I’ve been to in a long time. Josh Tynjala put it best when he said “it’s weird being at a Flash conference where I don’t know anyone”. I felt the exact same way, especially since some of the stuff these guys are doing is really, really cool. So hopefully that will change. There are a few things at Adobe going on that are specifically targeted at the Flash gaming market. It’s got a great third party-ecosystem and we want to help that. With our mobile story coming together I think that the Flash gaming world is going to have a huge, huge impact on our direction. And that’s exciting.

You can grab the slides from my presentation over on Acrobat.com and my session was recorded (in various bits and parts) over on the MochiLand blog. Huge thanks to Ada Chen from Mochi Media for making it happen. See you guys next year!

Is the Pretense of the Open Web Gone?

This is interesting. Mozilla is looking at a way to bring accelerated 3D to the web. Christopher Blizzard has more information on his blog and a couple of good quotes:

We’ve started to see more and more libraries being built to support use cases with Canvas in a 2D context but we really want to take things to the next level and start to allow people to use 3D capabilities as well. Accelerated 3D graphics with the super-fast next-generation JavaScript engines from nearly every web browser vendor means that we’re going to be able to start to see more and more advanced applications written using open web technologies. 3D is a huge part of that story and we’re happy to bring our proposal to the table.

As an Adobe employee, though a big supporter of Flash, I also wish we did more to encourage and foster the open web. The problem is that the standards process is completely broken. You simply can’t innovate that way and it looks like the browser vendors themselves are at the point where they’re pushing their own various priorities and standards so they don’t get left behind. The unfortunate thing is that the standards are what really make the open web open. Sure, you can open source something and claim it’s open, but it’s the standards that give everyone a reference implementation. It’s the standards that aim to level the playing field and make developers lives easier. It’s the standards that keep the open web open.

Probably a hilarious thought coming from a guy who makes his living off of Flash, but I’ve always been of the opinion that we as a company should roll our innovations back into the HTML world. The problem is that even if we did that, we’d have to work within the constraints of the committees, so the open web would always lag behind Flash and in some cases possibly never adopt the better parts of the platform. To me, that’s fine, Flash will always have a place on the web, and Adobe makes some great tools for open web designers and developers. I always thought it was win-win.

So it’s unfortunate to see that even the browser vendors have given up on moving the open web forward through standards. Whether it’s the WHATWG versus the W3C or the trials and tribulations of actually implementing HTML5, things are very broken and everyone is moving on regardless. I don’t blame any of them, but it doesn’t seem like it’s good for web developers.

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.