Posts tagged "project"

Facebook Desktop! Open-Sourced!

Last year, I wrote about a side project of mine that I was working on at the time called “Facebook Desktop“.  In short, it is a real-time notification engine built for Facebook! I built it because I felt it filled a need that Facebook didn’t fill…

It kept me connected to Facebook (and my friends) without having to
keep a browser window opened to Facebook.com the entire time.

It ended up becoming quite a popular project, amassing over 500,000 downloads, over 2 million API calls PER DAY, written about by numerous blogs and publications around the world, used in over 30 countries, and localized into 20 different languages, all in the short 14 months since it was released!  Low-and-behold, Facebook had issue with my app (I think because I called it “Facebook Desktop”) and so they “asked” me to shut it down.  Rather than argue with the well-known startup company, I decided to comply. It was a wild ride, and I learned a LOT (perhaps I’ll write another blog post about this), but as the saying goes, “All good things must come to an end”.

However, there is always a silver lining!  To build Facebook Desktop, I had to write a lot of custom code (obviously).  I’ve already open-sourced a lot of the individual components that I wrote, including…

But, now that I’m moving on to other things, I’ve decided to go ahead and open-source the entire project!  Just as I’ve done with all of my other open-source projects, I’ve made Facebook Desktop available on GitHub.  You can download it and run it out-of-the-box!

Features

Facebook Desktop is a notification engine that provides real-time updates of your Facebook friends straight to your desktop, without requiring a browser!  Here is a short list of some of the features that I’ve built in…

  • Real-time notification of Facebook activity
  • Language support for 20 different languages!
  • User-presence logic that detects when to display notifications
  • Operating-system detection that adapts interface to match native applications
  • Smart notification engine, including adaptive repositioning, individual notification settings, variable display length, and support for custom styling
  • Persistent user-settings, including preferred language, display length, appearance, and icon-click action
  • Ability to fully filter notifications by source and action
  • Support for updating status

Dependencies

Facebook Desktop is written with Adobe Flash Builder 4.5 using the Adobe Flex 4.5 SDK and the Adobe AIR 3.0 SDK.  It makes use of the following open-source libraries…

Code, please!

I’ve released the code under the Apache License, Version 2.0 and made it all available on GitHub! Please, fork and extend!

Facebook Desktop on GitHub

This marks the end of a fun-filled side-project for me, but perhaps the start for someone else :D  As always, I love hearing from you so let me know what you think! Until next time, happy coding =)

 

Charles

Introducing “Facebook Desktop” – A Lightweight, Unobtrusive Notification Engine for Facebook Built on Adobe AIR

Disclaimer: Facebook Desktop is a personal project. It is not sponsored by or affiliated with either Adobe® or Facebook®.

Once upon a time, I was involved in a project here at Adobe called “Project San Dimas“. That project eventually grew into a full-fledged product called “eBay Desktop” which enjoyed some impressive success. I was lucky enough to be part of the protyping, designing, and launching of the very first version, and it was very exciting. More recently, I’ve thought about doing something similar. Introducing, “Facebook Desktop“!

So, what is Facebook Desktop?
Facebook Desktop is a notification engine that gives you updates about your Facebook friends in real-time! Whenever someone posts a story, comments on your photo, tags you in a status-update, whatever…Facebook Desktop will let you know. It gives unobtrusive messenger-style toast messages whenever you have a notification.

Why build Facebook Desktop?
I moved away from my home in Vancouver for work and so Facebook has been a great tool to help keep me in touch with everyone. I found, though, that the browser metaphor for the Facebook “stream” just wasn’t working for me. I didn’t like refreshing my home page constantly to see what people were up to. I also didn’t like keeping a browser open whenever I wanted to read some of my friends posts. So, I made a simple AIR app that hits the Facebook APIs, grabs the latest posts, and delivers them to me in an unobtrusive way. I ended up finding it so useful, I started adding more and more features, like the ability to pause/resume, replay missed notifications, update my status, etc. Eventually, I was encouraged by a friend to polish it up and release it for others to use, and so here we are!

Anyways, if you’re interested in trying it out, install it here:

http://www.facebookdesktop.com/

You can also keep up with the project and reach out to me on any of our community pages:

And definitely, let me know what you think! Your feedback helps me make Facebook Desktop better and better. Until next time, happy Facebook’ing ;)

 
Charles