Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

How Amazon Does It


How Amazon Does It

Software Development
SDWest 2004 / Show Daily / Day One /

How Amazon Does It

CTO Allan Vermeulen enumerates six habits of highly effective dot-coms, as demonstrated by his own developers.

By Alexandra Weber Morales

“One of the consequences of moving really fast is that we occasionally introduce bugs on our site. Ruben found an off-by-one error when indexing into an array in a piece of code around our catalog structure. The beautiful thing is, here’s the entry that triggered this bug: [the book listing for] ‘C Pointers and Dynamic Memory Management,’” said Allan Vermeulen, CTO of Seattle online retail giant Amazon.com in his March 16, 2004, keynote at SD West. In a unique and highly effective approach, throughout his talk on innovation Vermeulen flashed his own snapshots of his development team, describing how each individual had contributed to the company’s success.


Allan Vermeulen, Amazon.com CTO: Hire the best, raise the bar, don’t treat engineers as order takers, empower teams, remove friction, and know when to buy and when to build.
His advice was tried and true: “Hire the best, raise the bar, don’t treat engineers as order takers, empower teams, remove friction, and know when to buy and when to build”—but more interesting was his insight into the technical solutions Amazon has built itself. Clearly, the company is banking on product search technology, going so far as to spin off its proprietary search mechanism into a Palo Alto-based subsidiary, A9. Named “Botega” (the combination of two engineers’ last names), the search tool dates back to early 1998, when the search team lead “realized that when people search for things, we can look historically at what other people have bought when they searched for the same term,” Vermeulen said. Botega also includes spell checking, using correlation to refine the result: “If someone spells ‘partner’ wrong and then later buys John Grisham’s latest book, The Partner, now we know what they meant. Other people do that now, but in ’98, it was revolutionary. At the time, we were purchasing our search technology and the vendor didn’t want to build spell check.”

Because its needs are unique in the retail space, the company has built its own supply chain, forecasting and demand planning software. Another focus is on making fulfillment centers hum: “We actually sell $5 billion of stuff to people in increments of $50.” Amazon engineers ultimately reprogrammed the Crisplant sorter machine they use—designed primarily for UPS and luggage handling, not thousands of small orders—so that instead of batches or even overlapping batches, the sorter can handle a continuous flow of inventory.

“The fulfillment centers are fascinating. When I joined in 1999, at Christmas they used to get swamped, and it was all hands on deck. Management would be working in the fulfillment centers, going through this process called picking: Pulling items off shelves and using a handheld scanner,” Vermeulen said. The scanners are essentially X terminals running Unix shell—not exactly user friendly. “For the temporary workers in Kentucky, this was suboptimal. We’ve since innovated to menu systems. But the funniest command was when workers would type e, which started emacs. We had to show them that you press Control X, then Control C to close emacs.”

Returning to the online portion of the business, Vermeulen defined the website as absolutely strategic—so much so that “the only way to keep up a site this fast and rich is to build the page-rendering system ourselves. It’s now in place for about half our sites.” All servers can be invoked asynchronously. For the component layer, the team uses Mason with some customizations.

Amazon is well known as having mastered personalization technology, recommending items consumers might want to buy—but going beyond best sellers to suggest increasingly obscure items that match a user’s tastes and personal purchasing history. The approach is to combine slow-moving, or historical, data and combine it with fast-moving data, such as more recent activity.

“Personalization is full of areas where it’s useful to be innovative. Otherwise, you end up recommending Harry Potter 5 to everybody,” Vermeulen said. To arrive at such solutions, the team evaluates personalization algorithms against control and test groups.

The area that may hold the greatest promise, Vermeulen opined, was Web services. Though attempts in 1999 to serve up XML and XSLT to render device-specific formats of Amazon Web pages did not really take off in the U.S., he said, but was popular in Japan. Nevertheless, “the Web services interface to the Amazon platform could be our business in the next five years. We’re letting the outside world work on our platform.”

In a follow-up interview, Vermeulen explained that, contrary to popular belief, Amazon Web services are not all directed to the company’s affiliate vendor program.

“One of the apps I like is Grokker, by Groxis. It lets you visualize search results, using Amazon Web services to get back all results. It’s an interesting, rich graphic—you get concentric circles with different categories represented and you click to go deeper.”

Another is a joint project with Microsoft for the next edition of Office, which will offer the Office research pane. Right-clicking on a phrase will present a list of search results from Amazon. If you find a book, for example, you’ll be able to select from the actions menu and have the complete bibliographic reference inserted into the document.

Monsoon, a Portland, Ore.-based software firm, has built a system for booksellers looking to liquidate inventory, while allconsuming.net sifts through blog streams in search of product references to determine the hottest products du jour.

From a technical standpoint, Amazon’s approach is to “pay attention to the standards and use them where they make sense.”

For instance, Amazon offers both SOAP- and REST-based Web services. In other words, the simple object access protocol, most notably implemented by Visual Studio .NET’s “Web method” keyword, is one option for developers who download the SDK, but 85 percent of developers use the representational state transfer, or simple HTTP publishing, approach. What does the absence of demand for SOAP mean? Is the protocol doomed?

“It tells me that the programming tools are not mature yet. Visual Studio .NET is the most mature tool out there for dealing with Web services. Once you have a tool like that, you can do anything,” Vermeulen said.

The SDK currently comprises such methods as a seller engine, product search, access to customer reviews and wish lists, inventory and listing management, but the long-term goal, according to the chief technologist, formerly of Rogue Wave Software, is anything available on the website.

What differentiates Amazon’s Web services SDK from that of its best-known dot-com brethren? “It’s very hard to define the lines of Google, it’s very amorphous. But our search is very different, it’s an all-around product search, so there’s a different end-game in mind. Botega looks at the downstream results of what you’ve done after your search.” As for eBay, “the tool is more for sellers trying to use their marketplace.” Jokingly, he added, “Ours is better.”

The company claims 50,000 downloads of the SDK since July 2002, but isn’t sure who’s done what with it. “We’ve deliberately kept it very open,” Vermeulen said.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.