|Proposed by Mark Pruneri (profile, biography) Don't forget to submit this proposal to official Google Melange site too!
Nowadays, more and more applications rely on external web services to provide functionality that would be hard to implement from scratch. A major actor in this area is Google.
Many companies can benefit from those services: they bring a lot of value for a low cost.
Google provides many services that can be manipulated from any programming language (http://code.google.com/intl/en/more/).
The main goal of this project is to bring them, as many as possible, into the Smalltalk world and provide example demo applications/documentation that show how to use them.
How will I do the project
I will start by studying the the Google Data API and how to shape a consistent API using the Smalltalk idioms.
For the Google Calendar Data API I will learn in detail the Google Calendar API and the Google Maps data.
For them I'll implement client libraries in Smalltalk and sample code that will exploit their use.
I'll follow the same process for wrapping other Google APIs.
My initial objectives are to wrap the following Google APIs:
* Google Data Protocol (http://code.google.com/intl/fr/apis/gdata/)
* Geocoding (http://code.google.com/intl/fr/apis/maps/documentation/geocoding/)
* Blogger (http://code.google.com/intl/fr/apis/blogger/)
* Calendar (http://code.google.com/intl/fr/apis/calendar/)
* Static Maps (http://code.google.com/intl/fr/apis/maps/documentation/staticmaps/)
* YouTube (http://code.google.com/intl/fr/apis/youtube/)
* Translator toolkit (http://code.google.com/intl/fr/apis/gtt/)
* Other (depending on the smalltalk community needs)
Suggested timeline and milestones
I will use the "bonding period" to discuss with the mentors and the Smalltalk community about which APIs they consider important and appropriate as Smalltalk wrappers.
Based on their considerations I'll plan my objectives and provide as many "wraps" to the Google service APIs and example demo application/documentation along with them throughout the summer of code program.
Where I see the risks
As I will wrap more than one API, the project can be subdivided in relatively small tasks which could lower the risk of failure.
Providing a provider agnostic public smalltalk API that will enable to integrate different backend (e.g. Bing for maps) for a given functionality is a big challenge by itself that can be considered out of scope for this project. I'll try but it will not be my primary focus.
How the results will look like
It will enable easy integration of Google web services in smalltalk applications.
Moreover the example demo applications/documentation will help the interested developer to get started.