Facebook Mobile Profile - Fixed

Usual “Benjie wrote this post” disclaimers apply - e.g. this post may be tech heavy and too detailed/geeky for some readers.

Recently, one of our users reported that Blog Friends was breaking their mobile profile, and those of their friends - not allowing the profile to be viewed from his mobile. (Your mobile profile is your profile page as seen on a mobile phone/pda by visiting http://m.facebook.com/ ) In theory, this should never have happened - because you are meant to put <fb:mobile> around any content that you want to appear on the mobile pages, and we do not use that tag anywhere. However, it seems it was happening anyway.

We have now updated Blog Friends to use the updated profile.setFBML API method, which has separate entries for regular and mobile mark-up. I can access my mobile profile with no issues - Blog Friends does not show up at all. I hope this fixes this issue - let me know in the comments!

Happy Blog Friend-ing!

Safari & Internet Explorer fixes released

First off, Luke tells me that I should warn you that technical information lies ahead, so…

WARNING: Technical information lies ahead!

Now, on with the post…

The Internet Explorer bug fix we have just pushed out was the old “Operation Aborted” bug, where using JavaScript to modify the HTML structure whilst it is still being “drawn” causes Internet Explorer to throw a fit, and take you to its standard error page. Normally, this is fixed by putting a simple 55 millisecond pause on executing the code, and placing the code right before the closing tags in the HTML. However, in Facebook canvas pages, this is not so simple, as you cannot position your FBJS before the closing HTML tags. So your delay must be longer. We already had the delay at 500ms, but this still did not appear to be enough, so now it is set to a full 1 second. This seems to cure it for everyone we have talked to, but if it does not cure it for you, please let us know!

The Safari bug, and I was very surprised by this, was much worse, I think. It has to do with comparing variables - you can no longer say “if a is less than b” by writing “if (a<b)”, you must now write “if (a < b)” - note the white-space surrounding the “<”. I call this the “Safari white-space bug,” not to be confused with the “Internet Explorer white-space bug” which we have already had issues with! The FBJS used by Blog Friends has been updated so that all the comparison operators are surrounded by a space on each side; and this appears to have fixed this issue. If you find it has not fixed the issues for you, please do tell us! That is, if you choose to use Safari… Personally, I am a Firefox fan, and we have had, to my knowledge, no Firefox-specific bugs with Blog Friends so far. If you do choose to use Safari 3, perhaps this post may change your mind…

On an unrelated note, I found this post by Chris Garrett on the Firefox plug-in “Read it Later” that I would like to share with you. Like Chris, I open loads of tabs whilst browsing the web, intending to read them when I get a chance. Unfortunately this practice pushes Firefox’s already bloated memory usage through the roof. Having 6GB of RAM in your workstation helps here… but this plug-in alleviates the need to have so many tabs open in the first place! I hope you find it as useful as I have started to.

Happy Blog Friend-ing!

Blog Friends v1 Beta Update

And now, for an update from a techy’s point of view…

Yesterday, our hosting provider, XCalibre, was still working hard recovering from a major outage, caused by a power spike. It took a little longer than they anticipated, but now all our servers are running fine once more. Unfortunately the Blog Friends v1 Beta test server suffered the longest downtime, but it is now back up and running with the latest Blog Friends code!

The last 4 days have been a frenzy of CSS/FBML/FBJS and PHP coding to polish Blog Friends v1 Beta ready for release on Monday. We are almost there now, with just a few cross browser issues remaining. One of the major issues with writing a Facebook application that heavily utilises the more complicated features of Facebook’s FBML and FBJS is that you cannot, generally, use tried-and-tested solutions to standard browser bugs, such as Internet Explorer’s whitespace and peek-a-boo bugs. For another example from a different browser: don’t try and embed (FB) JS functions in an (FB) Ajax fetched page if you want it to work in Safari - it is not pretty. We do the majority of our development in Firefox due to its excellent debugging extensions, such as Firebug.

Fortunately, the issues with hosting over the last 2 days have not delayed us too much, so we are still on target for a Monday release. All of the major features work in the latest versions of the major browsers (Firefox, Internet Explorer 7/6, Opera, Safari, Konqueror, …) all that is left is to fix some cross-browser CSS styling bugs, modify the wording here and there, and give it some major re-testing. I, for one, can’t wait to get v1 Beta released so that I can start really using it in the context of the larger Blog Friends community, rather than just testing it in a closed off development environment!

Due to the major changes in v1 Beta (and massively more advanced functionality compared to the current live version, v0.7) the database has had major structural changes, meaning that we will have to disable Blog Friends on Monday whilst we convert the old database over to the new format and update the code. This process will likely take most of the day, so try and get your Blog Friends fill on Sunday night!

We at i-together apologise in advance for this unavoidable downtime, but we hope that you think the final product is well worth the wait (we certainly do!), and we very much look forward to hearing your feedback on it.

Goodbye, and Happy Blog Friend-ing!