11

I recently tried Facebook Home on my HTC One X. It sucked! So I uninstalled it after few hours.

But the thing is that it does not require any special permission. Actually no permissions were required and its size was less than 300 KB. Why? If Facebook can manage a launcher in less than 300 KB then why do other launchers are so heavy and require so many permissions?

2
  • 3
    I thought the Home app requires the Facebook app and the Messenger app to function, have you checked their combined permissions? Apr 29, 2013 at 9:36
  • 1
    @onik: Just checked the permission of my Facebook app and Messenger app and you are right it has permissions like directly call phone numbers. YIKES! Now this has got me worried. So does this mean the Home app is already present in Facebook app?
    – Naveen
    Apr 29, 2013 at 10:01

2 Answers 2

20

The Facebook Home app doesn't really do much itself. It gets all its data from the main Facebook app, so it doesn't need to access the Internet. Doing any action from the launcher uses an intent to launch the main Facebook app, so it doesn't need to (say) access your location or take photos to make posts: only the main Facebook app does.

To take another example, say you use Facebook Home to "like" something. Facebook Home doesn't go to Facebook's servers: it tells the main Facebook app (on your phone, so not using the Internet) to "like" the thing. Then the main Facebook app (which does have the Internet permission) uses the Internet to tell Facebook's servers about the "like".

The same goes for the size. All the Facebook functionality, sync code, custom button graphics, libraries, and so on are in the main Facebook app, so why would they duplicate them in Facebook Home? Facebook Home probably just has a little code for laying out the home screen, a few icons, and the information Android needs to understand that the app is a launcher.

The apps can use each other this way because they're both by the same developer. (Actually there's a little more to it than that, but that's the first requirement.) Android verifies this by looking at the signatures on each app to check they were both signed with the same private key: in this case, a key that Facebook (the company) has. Without this private key, another developer can't create another app (or modify this app) that can use the Facebook app like this.

It's also possible for an app to create a new type of permission. So, as an example, the main Facebook app could create a "read my Facebook timeline" permission, and then I could write an app Dan's Bookface, which would be able to request that permission in order to read the timeline directly from the Facebook app, without needing the "internet" permission. When you install Dan's Bookface, you'd see "read my Facebook timeline" in the list of permissions just like you do with the permissions built into the system.

7
  • So basically 90% of Home already exists in Facebook app?
    – Naveen
    Apr 30, 2013 at 14:54
  • 1
    Yes; I'd probably go to 95%. I think it is also worth adding that they do this to quash any paranoia about Facebook Home having loads of access to your device (which Facebook has anyway).
    – Kezz
    May 19, 2013 at 20:13
  • @Kezz101 Do you have a source for your claim that it's meant to make users feel better? From an engineering point of view, it's the obvious way to write the app.
    – Dan Hulme
    May 20, 2013 at 12:49
  • 1
    While we can all agree that fewer permissions looks better, there's no suggestion in that article that writing Facebook Home this way was a deliberate choice to make users feel better. That's a very strong claim to make with no evidence, especially on a site like this, which focuses on substantiable, objective facts, not opinions.
    – Dan Hulme
    May 20, 2013 at 16:11
  • 2
    If it doesn't use Internet then how like and comment work?
    – RobinHood
    May 25, 2013 at 5:50
7

From the What's New page on the Play Store for the current version of the Facebook app (v3.1, April 18, 2013):

  • Faster photo uploads
  • Get chat heads to keep chatting while you're using other apps if you install Facebook Messenger
  • New permissions to set up Facebook Messenger and Facebook Home, which you can install separately: http://www.facebookhome.com
  • Bug fixes

(my emphasis)

So the Facebook Home app definitely pulls it's data from the main Facebook app, and "piggy-backs" on the main app's permissinos.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .