Changeset 01d186f for perl/modules/Facebook/README
- Timestamp:
- Sep 20, 2011, 11:15:32 PM (13 years ago)
- Branches:
- master, release-1.10, release-1.9
- Children:
- a4ae221
- Parents:
- 65c2b3c
- git-author:
- Edward Z. Yang <ezyang@mit.edu> (06/22/11 21:53:17)
- git-committer:
- Edward Z. Yang <ezyang@mit.edu> (09/20/11 23:15:32)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
perl/modules/Facebook/README
r8b62088 r01d186f 22 22 23 23 (4) Start receiving wall updates in Barnowl! 24 You can post updates with the ":facebook" command. 24 You can post updates with the ":facebook" command. 25 26 INFELICITIES 27 * Polling Facebook is pretty slow (on order of a second or more), 28 and blocks the entire BarnOwl interface. We have a plan for 29 fixing this, which involves creating an async version of 30 Facebook::Graph. I have been in contact with the original 31 author JT Smith about this. 32 33 * BarnOwl will not receive all comments for news feed items, only 34 comments for items that were recently published. There is not 35 currently a way to see starks for conversations that you did not 36 participate in, and the only way to see starks for conversations 37 you did participate in are Facebook's email notifications. (This 38 is a deficiency of the Facebook API, see http://bugs.developers.facebook.net/show_bug.cgi?id=18594.) 39 40 * By default, BarnOwl will not display posts from organizations (such 41 as bands you have liked) or application invites. This is a 42 judgment of taste from the original author. This is not currently 43 configurable. 44 45 * Users and applications that you have hidden via the Facebook 46 web interface will show up in the BarnOwl stream. (This appears to 47 be a deficiency of the Facebook API, see 48 http://stackoverflow.com/questions/6405364/facebook-api-access-hide-posts-from-settings). 49 Users are encouraged to work around this by using traditional Zephyr 50 filters. 51 52 * We are missing support for some notable features, including 53 messaging (Facebook has not publically released the API for this, 54 though we could sign up for the whitelist), events (seeing 55 unresponded to events requires a custom FQL query 56 http://stackoverflow.com/questions/4752967/facebook-api-only-returns-25-events-max), 57 notifications (not supported in Graph API yet). 58 59 WISHLIST 60 * Smarter name de-duplication (see Facebook/Handle.pm for details.) 61 * URL minification. 62 * Multiple accounts. (Does anyone do this? I don't think so...) 63 * Zephyr class mirroring. 25 64 26 65 POLLING 27 66 Facebook.par polls for normal messages once a minute. To disable 28 67 polling, you can unset the 'facebook:poll' variable in BarnOwl. 29 30 TODO31 * Polling Facebook is pretty slow (on order of a second or more),32 and blocks the entire BarnOwl interface. We need to confront33 Perl's threading demon.34 * No messaging support. (We'll add it when Facebook makes the new endpoint.)35 * Smarter name de-duplication (see code comments for details.)36 * Grep for XXX and TODO for more work items.37 38 TECHNICAL NOTES39 This module uses 100% undeprecated Facebook Graph API, and should be40 an interesting case study of how to implement a desktop application in41 the new Facebook world order. In particular, we do not use the old42 infinite session keys trick described in43 <http://www.emcro.com/blog/2009/01/facebook-infinite-session-keys-no-more/>,44 instead, we use offline_access to get non-expiring tokens.45 46 If we decide to extend our permissions to include read_friendlists47 (for filtering) and rsvp_event (RSVP from BarnOwl), we will need48 to make sure the UI for upgrading is correct.49 50 We'll be rolling our own version of Facebook::Graph, as the original51 uses the synchronous LWP::UserAgent, and we'd like our web requests52 not to block the user interface. Furthermore, Facebook::Graph doesn't53 actually use any of the features of LWP::UserAgent, so we may be able54 to use a simpler module AnyEvent::HTTP.
Note: See TracChangeset
for help on using the changeset viewer.