birthday+
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 PresentationTRANSCRIPT
BIRTHDAY+
Tel Aviv University
Blavatanik School of Computer Science
Google Workshop for Web Technologies, 2009-2010
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. 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.
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.
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
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
Existing FeaturesView your friends eventsManage your eventsManage your wish listReserve and buy a gift for a
friend
ArchitectureiGoogle gadget container for the
applicationGWTOpenSocial for retrieving friends AppEngine + BigTable (database
+ site repository)GQL (work with BigTable)RPC Calls
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)
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.
Problems(2)DAL objects couldn't serialize for GWT◦So we had to separate business
object to DB objects and data transfer objects.
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“
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.
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
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
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.