[Windows Mobile Development and Hacking General] benjaminries:
After jealously observing the Facebook app on my wife's Blackberry Pearl, I am shocked that neither ShoZu, Snap2Face/Skybook nor FriendMobilizer have come close to matching the simple elegance of Facebook for Blackberry. Each of the aforementioned Windows Mobile apps, I believe, will fail to become very popular among users because they are trying to do fundamentally different things than the official Blackberry and iPhone apps.

So I'm going to attempt to specify the basic features that would make for the best "Facebook for Windows Mobile" application. The developer who carries these out will, I predict, quickly dominate the rest.

What we already have

A couple of mobile-friendly versions of the FB user interface. Whether you use http://m.facebook.com in PIE, or http://iphone.facebook.com in Opera Mobile/IrisBrowser, or indeed desktop-level Facebook in Skyfire/Opera Mini/etc., we already have great ways to passively view most of Facebook. FB apps for WM appear to have devoted most efforts to remaking their own, sometimes uglier interfaces for viewing the same information. While this introduces the possibility of offline synchronization, this is nowhere near a key functional benefit offered on Blackberry and iPhone. The trend is toward more users having data plans and ubiquitous data connections.

A way to access Facebook Chat. 3rd-party multiprotocol chat applications offer this for Windows Mobile already.

Several ways to update your status. You can do this through Facebook Mobile, SMS, etc.

A crappy way to upload mobile photos. You can send an MMS to mobile@facebook.com - not ideal and lacks the ability to place photos in specific albums, tag, etc. But it is a start.

A crappy way to receive notifications. The FB notifications feed is actually available via RSS, and several free RSS clients exist for Windows Mobile.

A really crappy way to new FB message alerts and everything else. Suppose you registered a new Gmail account devoted solely to receiving Facebook notification emails. You could register that address with your Facebook settings, set it as the address to receive email notifications and then turn on notifications for everything that happens on Facebook. After setting up this email account on your Windows Mobile device, you could receive regular alerts from Facebook on your mobile device. (Heck, with System SEVEN beta or some other service that utilizes the IMAP IDLE feature, you could essentially have "push" FB alerts).

What we don't have (but Blackberry does)

Based on the features listed at http://na.blackberry.com/eng/devices/features/social/facebook.jsp , you can see that the man feature that WM users don't have is "push"-style homescreen notifications. On the Blackberry homescreen, the number of new Facebook notifications and messages sits beside a little FB icon. It is updated immediately as new messages and notifications are received.

Thus I would propose the following specifications for a WM Facebook app (or suite of mini-apps). The Facebook Developers API should be used, not some unreliable html-parsing library.

1. New/unread FB messages and notifications on a "push" or rapid-refresh basis. This either means (a) a Today screen plugin that lists the unread message counts and points Pocket IE to the appropriate http://m.facebook.com link when tapped, (b) WM popup notifications of the same, or (c) a MAPI interface library that allows the FB Inbox and/or FB Notifications feed to be added as regular mail accounts in Pocket Outlook - letting WM take care of popups if the user so desires.

2. A photo upload and tagging tool. The user must be able to select a photo (or take one) and then choose to either add it to any existing album or create a new one, followed by the option to tag that photo.

3. Dedicated Facebook chat. If it is easy, of course.

Everything else on Facebook - contacts search, Phonebook, etc - is just as easy to access on the existing Facebook Mobile site. My instinct is that developers inevitably waste our memory with bloated software when they make "native" interfaces that just rehash the content at http://m.facebook.com/

Or am I missing something? Maybe others have thoughts. I'm no developer and I don't mean to sound demanding - I'm just trying to give developers some ideas here.