a week ago I was introduced to "bump" (thanks verso). it makes use of one of those spectacularly simple and brilliant ideas. it determines location down to the centimeter (in a sense) without any location related hardware. now i havent read anything official or seen source code so this is my own speculation but it fits the facts.
exchanging business cards digitally is a gaping hole in the featureset of today's smartphones. the iphone and the like are incredibly powerful computers with an array of communication and location hardware. yet they cannot exchange information on a phone-to-phone basis. i could ask your email and enter it by hand and sent you my contact card, but that's tedious and slow. something as simple and fast as handing a paper card should be possible.
the accelerometer in the g1 phone is very sensitive and i assume the iphone's is too. how "bump" works is both interested parties run bump, take the phone in their hands, and bump hands or fists or whatever. using very accurate timing and the feedback from the accelerometer, a report is given to a central server. the server can match two bumps happening at the same time and tell the other phone who it was that bumped at that exact moment. youtube video
there is no communication between the two bumping phones and no special location hardware, yet each one is signaled to the presence of the other. it cannot be mistaken for any other phone in the room, as a radio based system might be. no aligning of the LED as the old palmpilots exchanged cards. the hardware requirement is low for a smartphone - the cell radio and the accelerometer.