All Posts Tagged With: "ebay"

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.

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 del.icio.us 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.

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:

  • del.icio.us (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.

Re: Web 4.0.1

My cow-orker Jason Steinhorn has lept ahead to Web 4.0.1. Here are my initial thoughts on his ideas.

I think a key take-away is that big web companies with large data stores shouldn’t focus on creating one giant web site application.

Instead, they should make a number of applications that layer on top of their platform powered using the unique information and processing capabilities they have. Each application takes from and contributes back to a different, but complimentary, set of data.

[Insert cool picture here with overlapping circles]

I think Yahoo! does the best job of this on the Web right now. Some of their new services blend together more pieces than just their shared authentication system. (I really like the Travel Trip Planner site.)

This allows you to build up a larger and more robust data store that hits many segments of the population. If you just build the “it’s right for the middle 80%” application, you can get large, but you miss the long-tail of data. (Drink.)

The best way for this to happen is for that company to think of itself as another developer on the platform. Maybe not a co-equal developer, but a developer with benefits, so to speak. This helps ensure your platform is designed in a flexible and scalable manner — because you’ll be eating your own dog food — and you’ll be annoyed when your platform is a limiting factor.

Yet, at the same time, you’ll also be enabling others to build first class applications on the system — the key part of a vibrant platform — all of which contribute back to the data store. And, as Tim O’Reilly says, “Data is the Intel Inside of Web 2.0”.

eBay Developer Challenge 2006

I’m tracking some nice mentions of our coding contest:

I am hiring: Help drive eBay Web Services

I am hiring a person to figure out how we should be exposing eBay using Web services and then creating the product proposals to implement the strategy. You also get to monitor everything else that’s going on at eBay and make sure it’s API-enabled in an platform savvy way.

If you’re interesting in participating in this thing popularly known as “Web 2.0,” then this is a killer opportunity. We serve up 2 billion (with a b) API calls a month, and we just made all calls free, so we’re talking serious scale and opportunity.

The ideal candidate has some strategy, programming, and product experience in her background. A little financial analysis wouldn’t hurt, either.

Here’s the official job description. That’s Requisition No. 7471BR at ebaycareers.com, in case the link doesn’t work. (Mac and Linux friends, please don’t flame me for the Win/IE bigoted job recruiting web site. I had to boot up my girlfriend’s Windows box to use the site when I applied, too.)

If you’re interested, e-mail me or apply directly and let the recruiter know you found out about the job through my blog. My work e-mail address is the first initial of my first name (a), followed by my entire last name (trachtenberg), at the ebay.com domain.

Opening up eBay one free API call at a time

I am extremely happy that today eBay made all of our API calls completely free of charge. You can get 10,000 API calls a month just by signing up, and when you pass a relatively painless evaluation, we’ll increase that limit to 1.5 million calls a day. Now that’s a call limit you can be proud of.

For a long time, eBay’s offered up our API for both commercial and non-commercial usage, but we’ve always hampered ourselves by charging for access. The fees were low enough for commercial companies to write applications, but in a world where information wants to be free, we’ve been pricing out all the people who want to play with our data to see what interesting things they can build, remix, and give away.

Breaking down those barriers has been one of my primary goals since I joined eBay last summer. We got partly there in June, and we’ve completed the journey today. Now all I need is to do my job and convince you to start writing eBay applications because I can’t use the pricing excuse with my boss anymore.

Fortunately, we are also launching a pretty sweet coding contest — eBay Developer Challenge 2006 — today. First place gets $5,000 plus a free trip to the O’Reilly Emerging Technology Conference. We will pay for plane and hotel, and O’Reilly has kicked in a ticket to the show. Runners up can get money, iPods, xBoxen, trips to eTech, etc.

There’s lots of really interesting applications waiting to be built that hook up to eBay. Since the eBay database is always changing: new items being added, existing items being bid on, old items being sold, the data is quite dynamic.

From my point of view, dynamic data -> dynamic applications -> useful applications -> happy users. And I like happy users.

See also: