Under the hood: how your friends might have updated their status via “mobile devices”

Recently I noticed a friend keeps on updating his status which appears to be coming from the most trendy mobile devices on the market right now.

Shiny stuff

He could have borrowed his friend’s devices though, but since he is watching the World Cup alone I guessed there was something abnormal about it, so I decided to look for some sort of application that allow you to change your status with those neat little “via Facebook for iPhone”, “via Facebook for Blackberry” etc.

I found this

Status update service

It worked and I was able to get those appealing statuses, but what bothered me is, this seems all too simple, it seems to utilize some sort of Facebook API but previously, when I referenced the Facebook wiki for Stream writing and link posting, I found no parameters that would allow you to edit the “via…”. And the site above didn’t show how it did that, so I decided to dig in. Time for Ctrl+U (view source).

A bunch of Iframes (notice the capitalization, it's not iFrame :p)

That seemed simple, it’s just a bunch of iframes referencing to some sort of Facebook’s live-chat like service. It does say “event” so I tried to create an event but found no options to create such a widget. I tried to search for Facebook connect instead and found this post.

Step 1 – Create the App in Facebook

First things first. Go here to create the App in Facebook: http://www.facebook.com/developers/createapp.php. Give it a name:

Then, add all the necessary info that you can, including logos, icons, user-facing URLs, etc on the “Basic” tab:

You technically don’t have to fill out really anything except this next part.

Go to the “Connect” Tab on the left and fill out this important information there:

Make sure you get this right!

And that’s it! Make sure you write down (or copy) your Application ID, as you’ll need that next:

Step 2 – Create the iFrame, Style, and Finish!

Honestly, most of the hard work is done already!

All you have to do is copy some iFrame code into your template or website with the Application ID, adjust some of the width/height to fit correctly, and you’re done!

As you can see, I’m adding the code to the bottom of the page, just above the Footer. I’ve added a “fbc” <div> class to styling to make sure it’s centered correctly, etc.

You don’t have to do any of this, of course, and most people won’t have to do anything with CSS styling.

And here’s what the code looks like in my footer.php file (I’m using WordPress to power this site).

As you can see, I’ve adjusted the width to be 983 pixels wide (matching my div class) and the height is 500 pixels.

You can, of course, change all of this to whatever you’d like! The only important part for you to change is the “app_id” value, which is currently set to 94203137849, which is my application ID.

You don’t need the <div> like that post instructed, it’s just for styling, what you really need is the url inside the <iframe>.

It involves creating a Facebook application, which has evolved since the last time I touched it (to create a voting application). It doesn’t even require you to write a single line of FBML like before, but just point-and-click. The trick leverages the fact that the Facebook applications for devices utilize the same framework, and hence by making your own application, you con edit its name to modify the “via…” part to anything you’d like. Here, I made an application with the name “iPhone 4”. Click here to try it.

Now you know what to do when iPhone 5 prototypes leak out ;))

Buying an iPad is not the only way to impress your folks ;))

Apple versus The world

Three days ago Apple published a post by Steve Jobs defending their decision to not allow Flash on their shiny mobile devices (namely the iPhone, iPod and iPad). To sum up, here are the reasons:

  1. Apple’s solution is being more “open” than Adobe.
  2. Missing flash doesn’t hinder the user’s ability to browse and enjoy the web as the world is submitting to Apple’s “innovative” interface.
  3. Flash is a security menace.
  4. Using flash for video would drain battery because there were no hardware decoders.
  5. Flash doesn’t fit in Apple’s touch agenda.
  6. Apple thinks there should not be anything between its operating system (OS) and application so developers could exploit the full potential of the OS.

There has been various long and detailed arguments counter and support Jobs’ view. Mine is below.

No doubt Jobs is very convincing. It’s his job! The article gives you the feeling Apple is the good guy here and they have been benevolent to Adobe so far. Adobe just can’t live without Apple and Apple has been the source of innovations all along.

Really?

While it’s true that Apple had helped Adobe to exit their “proverbial garage”. Apple didn’t get out of it on their own. Say, where did the interface for MacOS came originated? And while Apple is busy praising their “novel” concept of a touch interface, I have been scrolling web pages under the touch of one finger on my p990i for years. To give Apple credit for the touch interface is like giving a wheel rim manufacturer credit for inventing the wheel  while in fact all they did were making golden rims. Should we stop using iron-cast rims when there’s the golden rim? That is a change but not such a big one. Marketing hype did the most part of the job! (Introduction and point 5)

Criticizing Adobe for not publishing Flash as a standard and emphasizing Apple’s role in the creation of HTML5 doesn’t make Jobs look better :/. Who are using the web? The users or some technical manager at Apple? Don’t they deserve a choice on what to view and what not to? Would excluding Flash make their device crash-free? It’s the device we spent our money on, and we don’t have a damn right to crash it? :/ If Flash had crashed that much and is such a big security exploit, why doesn’t Opera, Firefox, Chrome or Safari block it? 😐 (Point 3)

And who forced us to pay to use the proprietary H.264 format by rejecting a free and open alternative? While I would agree that HTML5 is the future, Apple’s conservative stance is making it worse! (Point 1 and 4)

As a developer, I just hate the time when you need to do something a bit advanced on Windows, you have to go online and asks for some hidden API buried in some stupid-named dll. What kind of name is MCEWMDRMNDBootstrap? And how come when I wanted something to run on Linux I have to fork a new code path and recompile it? I’m just glad there were Java! To prohibit flash in favor of MacOS’ API is like prohibiting Java to run on Windows. Imagine that! What is the big idea in this step back? 😐 (Point 1 and 6)

And to say Flash is complex and all content developer should abandon it to produce faster, richer application is like telling all Word (or iWork) users to write documents with notepad and automate with C++! The designer’s job is to design, not to learn objective-C! There are thousands application on the App Store but how about millions of games already there on the internet? Are you absolutely sure that everything the world will ever need is in the App store? (Point 2)

By the way, speaking of the App store has just reminded me of how paranoid Apple is to Google (and to changes). First they rejected Google voice to “ensure a streamlined experience to our users”. Meh, why don’t they just say that their own voice application is trash and they are afraid of competition? 😐 And then they threatened a third party developer for a one-line mention of Google’s Android! Plain drama! (Point 1 again)

In conclusion, from my point of view Apple is not the only mobile manufacturer in the world. We still have a lot of alternative choices, make yours wise. Would you trust your data in the hand of a dictator who won’t even allow you to to have an extra battery for your phone? 😐