How does a smartphone know up from down?