Birthday+

15
BIRTHDAY+ Tel Aviv University Blavatanik School of Computer Science Google Workshop for Web Technologies, 2009-2010 Eugene Rozenberg Olga Vingurt Irena Letuchaya Jenia Zilber

description

Tel Aviv University Blavatanik School of Computer Science Google Workshop for Web Technologies, 2009-2010. Birthday+. Eugene Rozenberg Olga Vingurt Irena Letuchaya Jenia Zilber. What’s Birthday+ all about(1). Share your events with your friends. Share your wish list with your friends. - PowerPoint PPT Presentation

Transcript of Birthday+

Page 1: Birthday+

BIRTHDAY+

Tel Aviv University

Blavatanik School of Computer Science

Google Workshop for Web Technologies, 2009-2010

Eugene Rozenberg

Olga Vingurt

Irena Letuchaya

Jenia Zilber

Page 2: Birthday+

What’s Birthday+ all about(1)Share your events with your

friends.Share your wish list with your

friends. Event reminder.If you are looking for a present

for your friend and don’t know what to buy, just look in the friend’s wish list.

Page 3: Birthday+

What’s Birthday+ all about(2)Group Gift - participation

management ◦If the present is cheap, you can buy

it alone.◦If the present is valued, you want to

participate partly in selected present with other friends.

Page 4: Birthday+

Look & Feel (1)Events tab

◦Display future events in a list◦Manage your own events ◦If you click on a friend’s event, you

will see his wish list Wish list tab

◦Manage your wish list

Page 5: Birthday+

Look & Feel (2)I buy tab

◦Presents I chose to give (alone and as a group member)

◦You can cancel if you don’t want to give

◦You can see updates for the item you’re buying as a group

◦Chat with your group

Page 6: Birthday+

Existing FeaturesView your friends eventsManage your eventsManage your wish listReserve and buy a gift for a

friend

Page 7: Birthday+

ArchitectureiGoogle gadget container for the

applicationGWTOpenSocial for retrieving friends AppEngine + BigTable (database

+ site repository)GQL (work with BigTable)RPC Calls

Page 8: Birthday+

Team workEach member have separate

area of expertise◦Server side: server logic, GQL, RPC

(1 members)◦Client side: GWT, Open Social, RPC

(3 members)◦Build class client/server architecture

(2 members)

Page 9: Birthday+

Problems(1)GWT Gadget has huge bug with

RPC Calls structure◦RemoteServiceProxy does a POST to

send data and iGoogle container seems not to support POST anymore.

Solution ◦Make POST request with OpenSocial

makeRequest.

Page 10: Birthday+

Problems(2)DAL objects couldn't serialize for GWT◦So we had to separate business

object to DB objects and data transfer objects.

Page 11: Birthday+

Problems(3)Big Table problem

◦ We have a base class and a child class.◦ Persist child items only. ◦ Members of base class wasn't saved in the

database. ◦ We need two classes, one of them

aggregated the other. ◦ The primary key that was suitable for the

main class was string. But it didn't allow the aggregated classes to be connected to father.

Solution◦ removing inheritance and partially code

duplication◦ Change primary key to be of type "Key“

Page 12: Birthday+

Problems(3)Google's JDOQL

◦Implementation (datanucleous) isn't complaint to a standard. We had issues with parameters passing that work different than in standard.

Page 13: Birthday+

Problems(4)Running in Hosted mode during

development - debug as Gadgeto Can’t debug in OpenSocial container

iGoogle.Solutiono Haven't found a solution yet

Page 14: Birthday+

Next FeaturesImprove GUI (work with CSS)Manage a group of friends that want

to buy a present together for specific event

Calendar reminders for events (AppEngine Google Calendar API)

Close group email reminder Work with CRON (remove unclosed

groups from database after the event expired)

Talkbacks

Page 15: Birthday+

Nice to have featuresMake virtual money transfer to

person that will buy a group present, using Google Checkout.

Import friends’ events from other social networks.