Fog Creek Software
Discussion Board


I just saw an commercial, and it reminded me... Whenever you perform a search, there's a wait screen that tells you that it's searching through every known particle in the universe and a few other versions of reality as well...

If I'm not mistaken, all it's doing is performing a fairly simple query. Google probably has vastly more information and performs faster, so either their database is stuck on a 286 running Windows XP, or this is a design choice on their part.

The question is, if it's a design choice, what does it do?

Does it make the user think Expedia actually has more information than other sites - so much that their queries take longer?

Or is it so that you read & re-read that little blurb that tells you it's busy calculating the theory of everything that they want you to remember?

Or is it to prevent you from doing a lot of searches and just sticking with the top choices they give you?

Or is it just an arrogant designer who wants you to see his little blinking boxes?

Any ideas?
Saturday, July 19, 2003

Or maybe Google is querying a pretty static database, while the Expedia engine is looking at a similar database with tens of thousands of people maybe trying to get on your same flight or book your same room at the same time, meanwhile the price changes are coming in from the hotels and airlines in real-time.  Not all this stuff lives on the Expedia's servers either - I assume they are connecting in real-time to airline and hotel systems.

Google pretty static.  Expedia not.  Google info local.  Expedia not.

Just my $0.02.  Hell, remember when you used to use a travel agent? 

Stuck back in coach
Saturday, July 19, 2003

I wouldn't be surprised if it's also to discourage bots, esp. those of the airlines...


Saturday, July 19, 2003

I'm guessing there are thousands upon thousands of transactions taking place, because hotel/airfare prices and change according to how many people have reservations,  or are currently in the process of making a reservations.  So first they must contact each hotel/airline's database, see what the current prices are for airfare/hotelrooms *that exact moment*, see if there are any available, lock them, so someone can't snatch your price while you were entering your credit card number in, etc.  The slowdown probably comes in because its doing remote connections to each companie's database in realtime.  At least thats my guess.

Saturday, July 19, 2003

Stuck - I had thought of that, but I figured it's more likely that their databases update periodically...

Hmmm. Now that you mention it, the airlines and hotels do need the same info as expedia... you're probably right, it most likely is that it's actually querying American Arilines' servers and Delta's and Jet Blue's at the same time...

No wait, Expedia buys tickets in bulk ahead of time.... Hmmm. Eh, you're probably right.
Saturday, July 19, 2003

"No wait, Expedia buys tickets in bulk ahead of time"

Who told you that?  No friggin' way.  They are a reseller of travel products, and they get their cut on each sale.  End of story.

Stuck back in coach
Saturday, July 19, 2003

As others  have already mentioned, probably operates like most other reverse auction sites.

If you have the time search the site for information on how up-to-date they claim their info is.

One Programmer's Opinion
Saturday, July 19, 2003

Hmmm... Someone told me that Expedia bought tickets in bulk, I think it was someone at the airlines after I bought my ticket. But I agree that it's probably Expedia searching dozens of databases remotely that really causes the slow down. I quickly checked their website, but there was no info about this, at least not within the 60 seconds or so during which I was looking for it.
Saturday, July 19, 2003

Expedia does some level of caching because I've gone through the purchase process and many times it's found a different actual fare to quote me (higher or lower) in the end.

Oh, and Expedia does buy hotel rooms in bulk and resell them (the Expedia Special Rates) but don't do that with airline tickets.

I don't know what kind of incentives the airlines give Expedia now but no travel agency gets a straight sales commission anymore.  Hence the $5 booking fee that Expedia adds.  That's not to say there aren't volume incentives in the background somewhere but that's pretty much impossible to know without inside information.

Saturday, July 19, 2003

I don't know about Expedia, but Orbitz uses LISP to drive its search engine. I recall seeing a really interesting white paper on how ITA Software (who wrote the engine) optimised their engine, but I couldn't find it.


David Roper
Saturday, July 19, 2003

Expedia, like all online reservation sites, has to do a mainframe query on the backend. These queries usually go to a system like WorldSpan or Sabre, giant decades-old mainframe-based reservations systems which are probably processing thousands of transactions a second, and that's how long it takes WorldSpan to respond to a query. The unpredictability of response time means all the well-built reservations sites show you an animation while you're waiting so you don't keep clicking when the page doesn't come up right away and increase the load even further. The animation is on a web page which does an occasional refresh to see if the data has arrived. The occasionalness of this refresh slows the query down further.

Joel Spolsky
Saturday, July 19, 2003

A few more tidbits:

(1) I've been told that airline reservations systems do not implement any kind of record locking. There's no way they could keep up with the increased computational requirements. It turns out that they just hope that their won't be any collisions. The number of problems this causes is small and it's easier to have humans sort them out after the fact than implement what most modern database programmers would consider a reasonable locking scheme.

(2) The reservation systems are so old they don't contain a modicum of what a modern DBMS programmer would expect. They were built long before anybody had the concept of client server. They use command line interfaces with cryptic commands that minimum wage airline personel just can't quite get a handle on. They were built before the concept of a relational database was invented. I have heard that it is impossible to do a query on these systems of how many people are booked on a given flight, although you can check if person X is booked on flight Y.

(3) Expedia, like many travel agencies, does buy blocks of tickets themselves for cash at greatly discounted rates and resells them. They buy blocks of tickets from airlines that do not expect anyone to use the tickets, and they try to resell them at bargain prices. The technical term for this is consolidation. Expedia seems to be doing it more with hotel rooms. To the user they call this something like an "expedia special." It is true, though, that most of the time they are just taking ticket orders from customers and passing them off to the airlines. Expedia has enough purchasing power that I'll bet every airline gives them some commission. I remember at one point NorthWest announced they would not pay any commissions for any domestic travel. After they disappeared from Expedia's screens for a minute or three, suddenly Northwest announced a special deal with Expedia, and reappeared in their search results.

Joel Spolsky
Saturday, July 19, 2003

Regarding (2), above, you can do some simple queries, at least on the Apollo (United, British Air, etc.) system.  My father has been programming that system since it was actually owned by United (way back when), and any time we would go on a trip we would know several days ahead of time how many empty seats were remaining on the flight.

This doesn't, of course, change the fact that these systems are dinosaurs, but they do seem to be catching up with the rest of the world a little bit, lately.

Saturday, July 19, 2003

looks like joel proved me wrong.  Once again I put too much faith in big companies to have everything figured out.

Saturday, July 19, 2003,3959,1199801,00.asp

This article has some pretty good info about the Sabre system.

Off-topic, I think everyone should subscribe to Baseline - it's great! It's kind of a failed-projects magazine with post mortems and fingerpointing and all. The McDonald's article about the failure of Innovate (a system where McD's execs at HQ could even check on the temperature of the oil in french fry machines in any location) is pretty good too.

Monday, July 21, 2003

Expedia is closing down their domestic offices and sending all their business to the Phillipines.  Their American employees have until October to find new jobs.  Nice.

Monday, August 30, 2004

*  Recent Topics

*  Fog Creek Home