OK, I have finally found a legitimate business use for using Facebook (FB). It’s writing this column. I’m partially kidding, of course, because I have so many FB friends who are in the .NET or Microsoft ecosystem, and I have used FB in a variety of ways to communicate and collaborate in FB. But it’s such a “time suck.” I find myself lost in the updates of my FB friends for significant stretches. I know I’m not alone. It’s heroin to the productive. And until now my will power was strong enough, because as a pure HTML web application FB is pretty bad—bad as compared to more modern browser-based software built in Silverlight.
Well my will power has been squashed because Microsoft recently released the Silverlight 4 Beta Client for Facebook. And it’s beautiful and very functional and highly usable. Clearly a designer was used on the project team.
You may have seen the Silverlight 4 Beta Client for Facebook first in the Scott Guthrie keynote at the PDC in November. Brian Goldfarb from Microsoft demoed it toward the end of Scott’s keynote. In the keynote rehearsal the day before, I watched the demo in awe. I immediately said to my Microsoft buddy on Brian’s team who was standing next to me, “I have to have this.” He said, “No problem. I’ll make sure you get the bits today.” (See the “Bad News” below.)
Don’t get confused by the install process. It’s not a good one for those of us who are easily distracted. You go to the site, and if not installed already you’ll have to install the Silverlight 4 dev tools first. When complete it asks you to close your browser to be able to run it. Then, if you’re like me, you have forgotten totally that you were installing and moved on to something else. Which means when I got back to the “installation complete” message, I started hunting for the Silverlight 4 Facebook application on my box. And it wasn’t there. You have to go back to the site, and when it sniffs that you have the Silverlight 4 dev tools installed, you accept the license terms and install the app. I got burned by this twice on two different machines. And I felt pretty stupid because of it. During the installation you’re asked a handful of configuration questions like “do you want your authentication persisted and profile public?” and such.
The Reason It’s Cool
The Silverlight 4 Beta Client for Facebook is truly a Rich Internet Application (RIA). And because it’s built in Silverlight 4 it has a ton of impressive features we never dreamed of doing in a web app until the Silverlight 4 announcements. First, it’s a fully trusted application. Second, it functions just fine disconnected from the Internet. In fact, I’m writing this article while on an airplane and using the Silverlight 4 Facebook app with all the status updates and information it cached while I was waiting to take off when I was connected to the Internet. I can’t do status updates disconnected, and I’m sure there are some other disconnected nuances, but its functionality disconnected is pretty decent.
Here is an impressive list of Silverlight 4 features that the Facebook application leverages:
- Out-of-browser support—fully trusted with offline capability
- Hosting HTML content interactively—with a number of Facebook like features you’d expect
- Local Device access (webcam)—Add a photo to a FB post using your web camera on your computer
- Rich-Text control—distributed throughout the application
- Embedding alternative media content—all video in FB can be played in the application
- Desktop notifications—for status updates, etc.
- COM integration (with Microsoft Outlook) on the Windows platform—Outlook integration with FB events and generating emails
- Right-click—to uninstall the application and the outlook example above.
- Drag-n-drop—pictures straight from your computer to the application
- Window control—distributed throughout the application
- Animations–and let’s face it—what good XAML based app doesn’t have gratuitous animations?
The Bad News
No source code! Argghh! Don’t kill the messenger. Clearly we need a reference application like this with source code that highlights all the amazing Silverlight 4 features so we all can learn from it. And honestly I thought this was going to be the first one. I don’t know why source code was not provided, and I don’t think it’s fair for me to speculate, but it is disappointing.
All in all it is a pretty amazing app, though; and one that I will use. If you are a FB person you will too. Feel free to add me to your FB: [email protected]. I’ll do a post like, “I hate that the new Silverlight 4 Facebook app doesn't come with source code.” You can comment in support. With enough comments, maybe we’ll get them to reconsider.