Google APIS at SPA 2007
March 6th, 2007 · No Comments
On Monday, March 26th, I will present a 75 minutes tutorial about Google APIs: Search, Advertising and Commerce at SPA 2007 in Cambridge, UK. I will talk about many APIs: AJAX Search, Maps, Google Data, AdWords, Checkout and Google Web Toolkit, and show some cool demos of what you can do with them. More details on the Google Code blog.
My favorite programming books
March 6th, 2007 · 4 Comments
Here’s a list of my favorite programming books.
I’m always been an avid reader of books about programming. The Computer Science curriculum I followed in engineering school gave me some good bases, but I’ve really learnt my craft in books. In the past 14 years I must have read more than one programming book per month in average.
Since many years I recommend books to fellow programmers and bring a growing library with me from company to company, where my colleagues are free to borrow anything. I finally took some time to gather these recommendations in an organized way in a single document, in order to share them more easily. I also registered in the Amazon Associates program, so if you follow these links to buy the books I’ll be able to buy and read more:-)
I tried to list only the most important books here, the ones that taught me something deep and durable. A few of them I haven’t read: I keep Knuth for a time when I have more free time. Each of these books if you haven’t read them already, has the potential of making you a better programmer. Thanks to all these authors who stimulated my intellect, taught me my craft, and made my job as a professional programmer so much more enjoyable.
Enjoy the reading. If you have good books to recommend me, send me email at firstname at lastname dot com.
You can find other things that I find interesting to read in my shared bookmarks and blog.
Add Google Checkout Buttons next to your Paypal Buy Now Buttons in one click
February 16th, 2007 · 4 Comments
In the cool and easy tool department, here’s a nice quick hack I just finished: a tool that helps you add Google Checkout buy buttons to your PayPal Buy Now Buttons. This tool gives you an easy way to add Google Checkout as another puchase option, give your users more choice about their checkout process, and save on free transaction processing. Ecommerce is all about choice:-) Here’s how it works:
- First signup to create a Google Checkout merchant account, it takes 5 minutes. When you create your account, in the Settings/Integration tab check the box: “Allow shopping carts with name/value pairs to be sent to Google.”
- Then use the Google Checkout Buttons Appender page: it lets you add Google Checkout Buttons to any of your existing static html pages using Paypal Buy Now Buttons: you just need to specify your Google Merchant Id and the url of your site and click submit. The Google Checkout Buttons will contain the same product name, price and quantity as the existing Paypal Buttons.
- Test the new buttons to check they do what you expect: click the Checkout Buttons one the new page and determine wether the informations have been copied correctly.
- Copy the generated HTML and replace your page with it.
If you plan to use this tool often, specify your Google Merchant Id and use the link at the bottom to generate a bookmarklet. Bookmark the generated link. Then everytime you browse one of your page that contains at least one Paypal Buy Now Button, you can add Google Checkout Buttons simply by clicking on the bookmark.
This script currently only migrates simple unencrypted Paypal Buy Now Buttons that specify at values for these at least item_number, item_name and amount. It does not handle taxes and shipping. If you have pages that have more needs than that, please send me their url so that I can have some test pages to improve the tool.
Use it at your own risks: this is very much a personal work in progress. If you are interested in the source code this script is part of the open source project Google Checkout HTML API utilities. Use the project’s issue tracker to log bugs, and the Google Checkout Developer Forum for feedback.
Google Web Toolkit is open sourced under the Apache 2.0 license
December 12th, 2006 · No Comments
The GWT team broke the news today: GWT 1.3 Release Candidate is 100% Open Source. This is a great news: the most common complaint I’ve heard about it was that the compiler was closed source. This is not the case anymore.
I started playing with it last month when they released a Mac version, to create a Google Checkout Button generator, and loved it. It is a simple HTML page with javascript, no server side, and all the logic is written in java. It feels like using Swing. I created an open source project for various Google Checkout HTML API related utilities I work on. You can check the code for the button generator at CheckoutButtonGenerator.java to get an idea of how easy it is to program using GWT.
Congratulations to the GWT team for open sourcing it.
XML 2006 was a lot of fun
December 10th, 2006 · No Comments
A few pictures from a memorable dinner with Ralf Lämmel (LINQ) and Stan from Microsoft Corporation, Daniela Florescu (XQuery) from Oracle, Igor Peshansky from IBM (XJ), Tim Kraska from ETH (XQuery), and myself from Google: too bad the Yahoo guys were not around!
During their session Ralph and Dana were arguing a lot about Linq vs XQuery so it was a pleasure to get them to agree on something: let’s go for dinner!
From XML 2006 |
Another angle of controversy was database choice: with representatives from Microsoft, Oracle and IBM there were many jokes flying. I love these pictures of Ralph and Igor wearing an Oracle cap:
From XML 2006 |
Last controversial angle: recruitment! Tim is doing his Phd at ETH and everyone at the table was trying to recruit him!
From XML 2006 |
Conclusion: that was a fun dinner. Amazing how angle brackets and a few bottles of wine work their magic.
Google Checkout at XML 2006 presentation
December 6th, 2006 · No Comments
Here is the Google Checkout at XML 2006 presentation.
Google Checkout at XML 2006
December 4th, 2006 · No Comments
Tomorrow I will present Fun and Profit with the Google Checkout API at XML 2006. Checkout is a REST XML + HTTP API relying on Basic Auth over SSL and HMAC_SHA1 signatures for security. It is one of the most simple Google APIs: for level 1 integration all you need is a generated snippet of HTML to include in your page. But for level 2 integration, when you want to integrate your order management system with Google, I consider it the most complex of the Google APIs, because it involves synchronous and asynchronous calls, and is bidirectional.
XML had an interesting history in the past 10 years as a glue between systems. I’m curious to get the audience feedback about wether we should offer a RELAXNG schema for our API in addition to the XSD we provide now.
The conference program is excellent, I look foward to attending the sessions.
Google Checkout Button Generator
November 22nd, 2006 · 1 Comment
Last friday we released an HTML API for Google Checkout.
This is a middle ground between the pregenerated static ‘Buy Now’ Buttons and the XML API that most people would implement on the server side. You just build a form with a list of hidden fields and an image to represent the button. No more XML, HMAC_SHA1 signature or Base64 encoding needed.
I started working on a Google Checkout Generator. It’s a simple HTML/Javascript (look Ma, no server side!) application created using the delicious Google Web Toolkit, which 1.2 release last week added Mac support (I can now enjoy it).
Use it at your own risk: it’s very much a work in progress.
What is does is let you dump your catalog in CSV format in a textarea, specify your merchantId, then generate one Google Checkout Button per product. Each button has a textarea next to it with the html code for the button, for easy copying and pasting to a web page.
Next steps:
- set default values for some fields that you will then be able to omit from the csv
- be able to customize each button individually
- Open source the code
This little page could come in handy for small merchants using static html pages for their catalog: get a cvs dump of your catalog, maybe tweaking it to have the required columns, press the generate button, copy and paste in your web page.
I’m interested in feedback: what other functionalities would you need from this app?
Slides for the “Google APIs: Search, Advertising and Commerce” Keynote at SOA Kongress
November 22nd, 2006 · 1 Comment
Today I presented 5 Google APIs in a keynote at SOA Kongress in Mainz, Germany.
Google APIs: Search, Advertising and Commerce slides (PDF, HTML)
• API technologies: SOAP, REST and Ajax
• What: Google Ajax Search API
• Where: Google Maps API (Ajax)
• When: Google Calendar Data API (REST)
• Advertising: Google AdWords API (SOAP)
• Commerce: Google Checkout API (REST)
My presentation was a bit too long (103 slides, I have a tendency to cram too much content in my presos) but I was able to make justice to the 5 APIs and show many examples and demos. It was quite packed, I guess 100-150 people, and I’ve had very interesting conversations afterwards, with Frank Leymann from Stuttgart University, who was chairing the session, Reinhold Beckmann from Cordys, Ingo Meltzer from DaimlerChrysler, Eamonn Gabriel from Cape Clear and Thomas Leidinger from the Google office in Munich (I learnt that we have an office in Munich).
It was great to meet David Linthicum, who gave a great keynote about SOA, Web 2.0 and enterprise mashups later in the evening. I’m glad he liked my talk. He’s big on enterprise mashups, and when listening to his keynote I realized I had forgotten to speak about Kieden.
Kieden was a startup who created an integration between Salesforce.com and Google Adwords. On the Salesforce side they developped an AppExchange application, using Salesforce APIs and hosted platform, and on the Google side they used the AdWords API. Their product lets you manage your AdWords campaigns from Salesforce.com, and integrated the ads conversion into Salesforce reporting, letting you track a lead from the moment they clicked on a Google Ad to the close of a sale, potentially a few months later. I considered them as a posterchild for the AdWords API, and in september Salesforce.com acquired them. These guys really understood the opportunities offered by all these online services exposing APIs. When enterprises will start to realize the opportunities offered to them, I’m sure we’ll see enterprise mashups florish.
My talk’s main point is that Google exposes many services using different technologies, SOAP, REST, Ajax, so I see the Google APIs in their current state more as a set of Bridges between users and data and processes than a Platform.
I also echoed the discussion about SOAP vs REST that bloomed in geek blogs last week, after Pete Lacey’s hilarious socratic post the S stands for Simple and is well summarized in Tim Bray’s post S for Simple (Frank later informed me that W3C had ended up dropping the acronym because it was misleading). Nelson Minar’s post Why SOAP Sucks is a must read: based on hard learnt experience rather than ideology. Nelson is the guy who started APIs at Google, designing the SOAP Search API, and the AdWords API. I also highly recommend his ETech 2005 slides about that. He left Google in april. I miss him.
After a year animating the AdWords API developer community, I’d say SOAP/WSDL is OK if you’re in Java or .NET, but if your WS consumers are using anything else: Perl, Python, PHP(4, 5 is OK) or Ruby, you’re in trouble. Amusingly enough the developers who had less trouble were the Merjis guys with their OCAML client lib, but I suspect it’s because they’re really good, and rolled their own toolkit:-) Because of that in enterprise context where most environments are standardized around Java or .NET, they have less concern with WS-* interop issues.
I'm talking about Google APIs in Germany next wednesday
November 20th, 2006 · No Comments
The SOA Kongress 2006 organizers were kind enough to invite me to give a keynote about Google APIs: Search, Advertising and Commerce.
• API technologies: SOAP, REST and Ajax
• What: Google Ajax Search API
• Where: Google Maps API (Ajax)
• When: Google Calendar Data API (REST)
• Advertising: Google AdWords API (SOAP)
• Commerce: Google Checkout API (REST)
It is in Mainz (near Frankfurt) wednesday 22nd november.