В современных смартфонах присутствует такая примочка, как акселерометр(измеряющий ускорение тела в пространстве - не путать с гироскопом!) Когда мы держим мобильное устройство с включенным приложением в руке или в кармане, наш акселерометр фиксирует любое движение. При ходьбе амплитуда этих движений становится ярко выраженной, и приложение с легкостью может запротоколировать шаг. Однако, акселерометр может и посчитать за шаг любое резкое движение, в чём и заключается основной недостаток приложений а-ля "Шагомер" на смартфонах.