Awesome, I agree, except that all of those examples are shit.
It's not "more simple" to just walk up to your car and have it magically unlock based on proximity. Simple is using your damn key to unlock the car, not layering stacks of abstractions in order to compute ones location juxtaposed to a vehicle. In fact, that order of events should have gone something like this (as a generic, modern day implementation of this functionality):
- owner approaches car
- owner's keyfob transmits signal to car
- owner's car polls for incoming signal
- owner's car decrypts keyfob signal
- owner's car verifies that the keyfob has a legitimate encrypted key for that vehicle
- owner's vehicle signals the locking routine in the ECU
- owner's ecu flips solenoid for only the drivers side door
- door unlocks
- owner enters vehicle
How the hell is this more simple than:
- owner approaches car
- owner unlocks door with key
- owner enters vehicle.
Likewise, having your payments automagically charged based on location is NOT more simple. Simple is ordering your food and handing over money at the register.
The best interface is a simple interface, not a whole bunch of programming voodoo to achieve a simple task.