Archive for December, 2005

Another eBay Blog

Lots of new eBay blogs popping up in the past few months. I just discovered “Tsunami Alert in the Great Salt Lake“, written by Cindy Purvance, my favorite person in eBay customer support. Go Cindy!

I killed trackbacks

I was getting bombarded with fake porno trackbacks, and I couldn’t find a way to get WordPress to shove them in my moderation queue, so I turned them off.

Let me know if you have any problems. I don’t know how to bulk edit existing posts to do this inside WordPress, so I fired up MySQL and manually disabled them via a SQL query. Hopefully, I didn’t break anything.

My eBay Motors Maps Mashup

In my copious free time, I have been writing a little mashup using eBay Motors and Google Maps. This is equal parts eBay Web services marking, a learning exercize, and an excuse to code.

Like all Web 2.0 concepts, it’s in perpetual beta. (Why does “perpetual beta” seem like the Web 2.0 phrase for Web 1.0’s “Under Construction” image?) Thanks to a helpful prod, I sat down this morning and fixed the outstanding IE bugs, so now it works in IE, Firefox, and Safari. That means I can officially blog about it.

For those of you interested in the technical details, the backend code is written in PHP 5. I’m using the ext/soap extension to talk with eBay Web services and PEAR’s HTML_QuickForm, HTML_Javascript, and Date packages. I tried to use HTML_AJAX, but it was buggy when I first tried it; I see there have been many recent updates, so I should look again.

Not surprisingly, writing the PHP part was pretty easy. It was the JavaScript code that took forever and a day to write and debug. Many thanks to the QuirksMode Web site for documenting cross-browser woes.

Please check out the site and let me know what you think.

“Don’t be bad.” vs. “Don’t be evil.”

From today’s New York Times article, Time Warner to Sell 5% AOL Stake to Google for $1 Billion:

If a user searches on Google for a topic for which AOL has content – like information about Madonna – there will be a special section on the bottom right corner of the search results page with links to

Google will also provide technical assistance so AOL can create Web pages that will appear more prominently in the search results list.

Time Warner asked Microsoft to give AOL similar preferred placement in advertising and in its Web index and… Microsoft refused, calling the request unethical.

Nietzsche distinguishes between good/bad and good/evil. The first is a question of merit; the second a question of morals.

I guess Google believes exchanging preferred placement and teaching one selected partner how to manipulate your objective ranking system in exchange for money is “bad,” but not “evil.” Therefore, it doesn’t break their promise of “don’t be evil.”

In comparison, Microsoft, by using the term “unethical,” clearly sees this as both “bad” and “evil.” It’s interesting how the DOJ can help you find God.

ApacheCon Review and Slides

I got back from jApacheCon last night. I like the show, but the ASF has certainly shifted over the years from programs written in C (httpd, mod_perl, PHP) to programs written in Java (Ant, Axis, Beehive, Cocoon, Geronimo, Jakarta, Struts, etc.).

This has caused the show to have an increasingly large amount of Java content — Day 1 and Day 2 were almost 100% pure Java. Since I can’t even figure out what an application server does (serve up applications?), most of the sessions are wasted on me.

The nice Java programmers try to explain how their sites take advantage of all these nifty Java projects, and I’m always forced to apologize that I really have no idea what they’re talking about. Seriously, what are Tomcat and Jackrabbit? I don’t know.

This has caused the PHP crowd to dub ApacheCon with new names. Chris prefers JApacheCon; Andrei likes JAvacheCon; I want either ApacheCon4J or jApacheCon.

However, Day 3 was a nice mix of PHP, Ruby, and Michael’s httpd talks. Fun stuff.

I think my talk on “Consuming Web Services Using pHP 5” went over well. I was a little rushed at the end because there was a 5 minute delay getting started due to technical difficulties reassembling the sliding wall panels used to split up the ballroom into the separate session halls. It was also the first time I gave the talk, so I didn’t quite have the timing and pacing down pat. (I was also way hopped up on the six glasses of iced tea I drank during lunch.)

I usually find that I need one slide for every two minutes of session time. However, I had 43 slides for a 60 minute talk, which was about 5 too many today. Fortunately, I intentionally put some slides I could skip quickly by at the end of the deck, so there was a few minutes for Q&A. Still, I wish I had left more time for audience participation.

For those of you who are interested, here is a PDF of my slides.

There’s a short over view of REST and SOAP; three increasingly complex REST demos: reading a RSS feed, searching flickr and creating an image gallery, and adding tags to a flicker photo; and an eBay SOAP example leading up to my eBay Motors Google Maps mashup. The final few slides are my overall takeaways from playing around with Web services for the past 18 months.

Afterward, I answered questions for a bit and then managed to stand by for an earlier flight — getting me back to San Jose at 6:30 instead of 8:30 — and letting me drop in on our holiday party at Zibibbo.

John Battelle at eBay

While I’m down in San Diego for ApacheCon, king of search author John Battelle is visiting eBay. I missed the talk, but Alan Lewis has a write up of the Q & A.

A Modest Proposal on How To Commoditize Away Google’s Advertising Revenues.

New eBay blogger Josh Scott muses about Bill Gates’s comments that Google isn’t really free because they serve up ads. To quote Josh paraphrasing Bill:

[S]earch engines like Google get their revenues from advertising because people use these search engines, but they don’t share these advertising revenues with the end users who help them get the revenue.

Later on, Josh hits on my number one long-time issue with making money from search:

[Google should] be concerned about the lack of network effects, but also by the related fact that the switching costs both as a searcher and as an advertiser are so low.

I use Google now because it’s the best. But I used to use AltaVista. And before AV, I used Lycos. If (when?) someone else comes along, I’m going to switch.

Google has no inherent structural advantage over other companies in regards to search. They are no lock-in costs or network effects. They’re just better at it. But companies such as Microsoft and Yahoo! and eBay can also hire engineers who can write search engines. They can even hire away Google engineers.

If eBay sellers will go through the hassle of selling their items through multiple channels, you better believe advertisers will go where they get the best bang for their buck, too. As long as Google continues to aggregate demand and provide the “best” clicks, they’ll continue to capture massive value.

However, when other companies catch up, either by providing a better service or by paying me to use their search engine, Google will need to cut into their AdSense margins to remain competitive. This hurts Google and all search engines on the supply side.

In related news, Tim Bray talks today about “The Future Search Market” He describes an application that has a Web search window and:

When someone types in “Britney Spears” or “Mayan Eschatology”, I send the query off three different search engines who pay me a small retainer for the privilege of getting them…. You could imagine an alternative setup in which you send the search terms to the engines and all they come back with is their per-click bid price, and then you only send the actual search to the winner.

It’s certainly true that companies such as Google and Yahoo! pay to be the search provider for popular applications, such as Firefox and Safari. They also pay to be the search provider for popular Web applications, such as AOL and the Washington Post. However, this doesn’t need to apply to big companies.

Another way Google currently pays for traffic is through their AdWords program. Tim’s idea applies just as well (if not better) to any page on the Web that runs contextual ads — which are essentially embedded search results intelligently served-up based on a fancy back-end algorithm. This algorithm guesses what a visitor would have typed into the search box (if only one had existed). is a good example of it.

Right now, Google (presumably) has a nice margin between what they charge advertisers (via AdSense) and payout (via AdWords). This makes them a tidy profit.

But Yahoo! and Microsoft have similar products. As a content provider, you’d switch from AdWords if you made more money from the Yahoo! Publisher Network. But right now, your choice of contextual advertisements is all or nothing: you’re either with Yahoo! or Google or Microsoft. You have a few choices, but you’re forced to pick one and stick with them until you switch. Use tips for using Google posting to showcase new products and services, promote events, and even use them to post daily specials from your business.

This is quite coarse and inefficient. You’re leaving money on the table because it’s not really a question of whether you make more money overall from one company or another. What you should really care about is whether you can make more money for them (and thus from them) for this specific visitor at this specific instant in time.

Tim’s idea becomes:

[A]n alternative setup in which you send the search terms page URL to the engines and all they come back with is their per-click bid price, and then you only send the actual search to serve contextal ads of the winner.

If Microsoft and Yahoo! want to make a big dent in Google’s AdWords business, they should provide a pricing Web service for contextual advertisers. By providing transparency in the market, they’d commoditize away Google’s demand side, too.

If you were a company that made money from multiple channels and you were facing a large scary competitor that made 99% of its money from advertising, wouldn’t you do your best to erode as much profit margin from advertising as you could?

ApacheCon Slides Are Finished

ApacheCon has begun and I am happy to say I have finished my ApacheCon slides. My talk on Consuming Web Services Using PHP 5 isn’t until Wednesday afternoon. Therefore, I technically have a few days left before I need to get up on stage and present, so I’m counting this as a victory for getting my act together in a timely manner.

For this talk, I decided to demonstrate Web services using a number of real Web services, so you can get a flavor for how people are actually implementing Web 2.0. Specifically:

  • (bought by Yahoo! earlier this week)
  • flickr (bought by Yahoo! earlier this year)
  • eBay (almost bought by Yahoo!, almost bought Yahoo!)

And, of course, there’s the obligatory Google Maps reference because, well, it’s a rule or something. I think. I can’t remember.

This was my first presentation done in Keynote. It’s certainly easier to make non-ugly slides in Keynote than in PowerPoint, which almost seems to lead you down the path of ugly slides. You think Microsoft could invest in a few good new templates instead of still using the ones their intern programmers designed in 1992.

If you’re going to be at ApacheCon, let me know. I am arriving Monday afternon and leaving Wednesday night, and staying at the conference hotel. I will have a rental car, so if you know a good place to eat or drink or visit that’s off the beaten path, we can help each other.