’sGarageJanuary23rd2008•Ademoapplication•Whatcanandcan’tbedone•MobilebrowsingandSMSmessaging•Afewtechnicaldetails–SecretStatusTheSecretStatusapplication•Allowstheusertoentertwostatusmessages•Allowsomefriendstoviewyoursecretstatus•Receiveupdatesfromthesecretstatuschangesofothers–SecretStatusSecretStatusMobileCutdownfunctionality:•Updateyourstatusmessages•Viewstatusmessagesofyourfriends•Abasicprofilevie•Mobilehomepage•Mobile-specificprofile•Mobile-specificapplicationcanvaspages•ReceiveSMSmessagesfromusers(onO2)•SendSMSmessagestoauser–statusupdates–events–cutdownnewsfeed–linkstoFacebooktasks–linkstoyourprofileLittleanappcanaddhere–XHTMLcontent–asubsetofFBML–Cancontainlinkstotheapplicationcanvaspage–Automaticallyservedaspartofthem.facebook.comdomain–SetprofilemarkupwiththeupdatedparameterofthesetFBMLAPIcall–XHTMLcontent–asubsetofFBML–Canbeinteractivee.g.formposts–Servedinsidethefb:mobiletag–Renderingwilldependonthemobiledevice’scapabilities•CanvaspageshaveidenticalURLse.g.•Canvaspagestrytodetectmobiledevice–receivefb_sig_mobile=1inPOST•Butmobiledevicespretendtobenormalbrowsers•Asaresultusersmaybeservedthe“regular”site(=x00kbdownload)•ToforceFacebookMobiledisplay–adde.g.is_mobile=1toalllinks,especiallyfromtheprofile–switchoutputatthetopofthepage–outputcodewithinanfb:mobiletag=1throughPOSTNois_mobile=1?ApplicationrendersmobilecontentMobiledeviceslieatthispointFacebookdecidestorendermobileframeSendsurroundingfb:mobiletagYesThisforcesmobileframerenderingApplicationrendersstandardcontentNoFacebookdefaultstostandardframe•Tick“Myapplicationusesthemobileplatform”intheappsettings•OnO2,sendatextto32665•Sendmessageas:app_canvas_namequery•Themessageispostedtotheapp’sindexpage•fb_sig_smsissetto1inthePOST•UserneedstohaveactivatedFacebookmobile–Enterphonenumber(andpretendtobeonO2)–ReceiveanSMSconfirmationcode–EnterthecodeonFacebook•NeedstohavegivenyourapplicationpermissiontosendSMSbyvisiting:–=YOUR_API_KEY&v=1.0&ext_perm=sms•PossibletoqueryforwhetherpermissionhasbeengivenviatheAPI•(Signupisapooruserjourney)($facebook-api_client-call_method('facebook.sms.canSend',array('uid'=$userID))){try{$facebook-api_client-call_method('facebook.sms.send',array('uid'=$userID,'message'=TestSMS“));}catch(FacebookRestClientException$ex){$error[]=$ex-getMessage();}}•Mobileprofileandcanvaspagesareeasytoimplement,iftheapplicationwarrantsit•TheSMSAPIislimitedbybeingtiedtoO2•UsershavetoworkhardtoenableSMS•Mobilebrowserversionsofapplicationsareviablenow,butSMSenabledappsmaybebetteroffwith3rdpartygateways’sGarageJanuary23rd2008