building a facebook application

24
CHALLENGES DEVELOPING A BASIC SHOPPING APPLICATION Dennis Doubovski www.faboshop.nl 27 October 2011

Upload: ddofborg

Post on 12-Jul-2015

322 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Building a Facebook application

CHALLENGES DEVELOPINGA BASIC SHOPPING APPLICATION

Dennis Doubovskiwww.faboshop.nl27 October 2011

Page 2: Building a Facebook application

FBDG Amsterdam 2011

Me: Dennis Doubovski

My company:

Technical Internet Marketing agency

Main focus: algorithms for user behaviour

analysis used in Google marketing

We are developers, but not web developers

SOCIAL                MINING

WHO

2

Page 3: Building a Facebook application

FBDG Amsterdam 2011 3

PROJECT: FACEBOOK SHOP

Page 4: Building a Facebook application

FBDG Amsterdam 2011

THIS TALK

Basic application: trials & errors

Interactive prototype: missing APIs

Things we learnt

Things we’d like Facebook to work on ;)

4

Page 5: Building a Facebook application

FBDG Amsterdam 2011

REALLY BASIC

SHOPPING

APPLICATION. LIST

OF PRODUCTS FROM

A WEB SHOP.

PEOPLE CAN

BROWSE AROUND, SEARCH AND SHARE.

5FBDG Amsterdam 2011

Page 6: Building a Facebook application

FBDG Amsterdam 2011 6

CHALLENGE

Forum post are outdated.

Old links (developers WIKI for example) do

not work.

Page 7: Building a Facebook application

FBDG Amsterdam 2011

GOOGLE SHOWS

OUTDATED TOPICS

ON FACEBOOK APP

DEVELOPMENT.

7FBDG Amsterdam 2011

Page 8: Building a Facebook application

FBDG Amsterdam 2011 8

CHALLENGE

Forum post are outdated.

Old links (developers WIKI for example) do

not work.

WHAT WE FOUND TO WORK

Facebook Dev Forum:http://facebook.stackoverflow.com/

Facebook docs:https://developers.facebook.com/docs/

Facebook ‘BugZilla’:https://developers.facebook.com/bugs/

Page 9: Building a Facebook application

FBDG Amsterdam 2011 9

CHALLENGE

APIs for Canvas arenot the same as for

PageTab.

Example: dialog boxes

WHAT WE FOUND TO WORK

jQuery Boxy:http://onehackoranother.com/projects/jquery/

boxy/

Limitations in PageTab:Not wider than 525 px Limited to the IFRAME

Scrolls with the IFRAMENot modal

Looks almost like Facebook

Page 10: Building a Facebook application

FBDG Amsterdam 2011

WORKAROUND WITH

BOXY FOR CUSTOM

DIALOGS.

10FBDG Amsterdam 2011

Page 11: Building a Facebook application

FBDG Amsterdam 2011 11

CHALLENGE

Page reloads (changing the URL in the IFRAME) are a bit slow for some

reason.

WHAT WE FOUND TO WORK

Use AJAX where possible.

Initialise Facebook API (Object) only when

needed.

Pages with likes must have a real URL.

Page 12: Building a Facebook application

FBDG Amsterdam 2011 12

CHALLENGE

Liking the page inside your application and

redirecting user to the web shop or PageTab.

WHAT WE FOUND TO WORK

Redirect script:

1) Facebook crawler gets the page.

2) User gets aredirect.

Page 13: Building a Facebook application

FBDG Amsterdam 2011 13

Page 14: Building a Facebook application

FBDG Amsterdam 2011 14

Long loading timesfor the ‘first’ page

of the app.

50+ [like]buttons cause

browser to freeze.

Broken backbutton.

UNSOLVED PROBLEMS

Page 15: Building a Facebook application

3 FRIENDS BUYING A PRESENT “TOGETHER”

Page 16: Building a Facebook application

FBDG Amsterdam 2011 16

FOR “TOGETHER” WE NEED...

1 Inviting friends to participate in a the same session.

2 Chatting with each other about the products.

3 Sharing seen products with the group.

Page 17: Building a Facebook application

FBDG Amsterdam 2011 17

CHALLENGE

Inviting friends to joina group session

in the app.

There seems to be an API call in Canvas, but

it didn’t work in PageTab.

WHAT WE FOUND TO WORK

We send a messageto participants witha URL containing

&app_data-parameter.https://developers.facebook.com/docs/

authentication/signed_request/

Page 18: Building a Facebook application

FBDG Amsterdam 2011

THIS WOULD BE NICE

18

Page 19: Building a Facebook application

FBDG Amsterdam 2011 19

CHALLENGE

Starting a group chat from the application.

Sharing a session:shared product

inventory.

WHAT WE FOUND TO WORK

COMET patternworked well.

http://cometd.org/

http://www.screenr.com/SNH

Page 20: Building a Facebook application

FBDG Amsterdam 2011

Client opens an AJAXrequest to the server.

The server sends Javascript back as a never ending chunk encoded stream.

Every chunk is evaluated with eval()-function.

Last chunk never comes.

20

Page 21: Building a Facebook application

FBDG Amsterdam 2011 21

Facebook Dev Forum:http://facebook.stackoverflow.com/

Facebook docs:https://developers.facebook.com/docs/

Use AJAX where possible.

There are workarounds for a lot of things.

Keep looking.

THINGS WE’VE LEARNT

Page 22: Building a Facebook application

FBDG Amsterdam 2011 22

Support for backbone.js-like wayfor the back button.

http://documentcloud.github.com/backbone/

Progress bar whileapp is loading.

Custom dialogs which can be larger than the

PageTab IFRAME.

THINGS WE’D LIKE TO SEE #1

Page 23: Building a Facebook application

FBDG Amsterdam 2011 23

Shared “memory” for the users to share data

between them.

Friends invite to participate in an app

session.

Group chat initiatedby the app.

THINGS WE’D LIKE TO SEE #2

Page 24: Building a Facebook application

THANK YOU FOR LISTENING