5/27/2013

Sleep as Android - умный будильник для Android со статистикой и фазами сна

Некоторое время назад был пост про наручные часы с гуманным будильником по имени Sleeptracker. Принцип их работы основан на попытке увязать показания акселерометра и фаз сна. Всё отлично, кроме высокой цены (около 100$) и необходимости надевать их каждую ночь.

Современные смартфоны напичканы всеми вообразимыми датчиками, включая акселерометры, так что кому-то должна была постучаться в голову светлая мысль реализовать умный будильник для Android на смартфоне, благо смартфоны есть у многих и на этом можно срубить пиастров. Так и поступил товарищ Petr Nálevka, который вместе с Martin Šťava написали приложение Sleep as Android.



Приложение платное и стоит безумные (по меркам пользователей Android) деньжищи - почти целых 3 доллара. Автор этих строк, придушив жабу и выложив кровные, делится впечатлениями и сравнивает Sleep as Android со Sleeptracker.

Принцип работы умных будильников

... сравнительно прост: снимаются показания акселерометра, которые пропорциональны движениям тела во время сна. Амплитуда акселерометра делит фазы на лёгкий сон и глубокий сон . Такое с виду примитивное деление на самом деле даёт весьма реалистичную картину сна:


То есть фаза глубокого сна (REM) в самом деле неплохо описывается акселерометром (изображение взято со страницы 11, Figure 2-7, Principles and practice of sleep medicine, 5th edition, Chapter 2 - Normal Human Sleep : An Overview).

Хотя Sleep as Android не может (да и не преследует такой цели) тягаться с клиническими исследованиями, разработчики Sleep as Android выкатили страницу с пояснениями того, как приложение работает. Чем больше пользователь дрыгается ночью, тем больше амплитуда, выдаваемая акселерометром смартфона. Авторы утверждают, что акселерометры смартфонов не сильно хуже таковых на медицинских приборах:
Moreover, during development of Sleep as Android the accuracy of the mobile phone sensors has been tested and compared with satisfactory results to special accelerometers used in medical applications (especially in psychiatry).
Вообще, в процессе написания поста автор набрёл на весьма занятную книгу:
Principles and Practice of Sleep Medicine: Expert Consult - Online and Print, 5e (PRINCIPLES & PRACTICE OF SLEEP MEDICINE. [Amazon]
Главы этой книги можно скачать бесплатно, что довольно удивительно для научного справочника. Можно полистать и найти немало интересного в Chapter 2 – Normal Human Sleep : An Overview и в главе Chapter 141 – Monitoring and Staging Human Sleep, откуда автор этих строк надёргал немного текста и картинок.

Засовываем и напяливаем

Так как мы не собираемся проводить научных исследований на себе, то достаточно включить режим отслеживания сна в приложении и положить смартфон рядом с собой, а ещё лучше - под подушку. На подушках обычно есть наволочки, и чтобы не скинуть на пол во сне свой драгоценный смартфон, засовываем его под подушку, напяливаем сверху наволочку и жмём "Ключ на старт" Sleep Tracking.


Умный будильник Sleep as Android в действии

Спят усталые игрушки,
Книжки спят,
Одеяла и подушки
Ждут ребят,
Даже сказка спать ложится,
Чтобы ночью нам присниться,
Глазки закрывай,
Баю - бай... (C) 

Интерфейс Sleep as Android написан гуманоидами, поэтому сравнительно прост в освоении. Для работы нужно выставить время для будильника и не  забываем его активировать:



Это всё - далее нажимаем на кнопку Sleep tracking, кладём смартфон под подушку и ложимся спать.
Здесь стоит отметить несколько важных моментов:
  1. работа акселерометра при выключенном экране поддерживается не всеми смартфонами, но стоит один раз попробовать - скорее всего, работать будет. Все три смартфона, которыми я когда-либо пользовался (HTC Desire HD, HTC Wildfire S, и THL W5) работают с выключенным экраном и Sleep as Android без проблем.
  2. Sleep as Android предложит включить Airplane Mode (выключение всех средств связи) - это очень и очень правильно, и это стоит поставить по умолчанию. Во-первых, вас никто не разбудит среди ночи телефоном, а во-вторых, это экономит батарею.
Последние версии Sleep as Android очень экономно расходуют батарейку: за всю ночь может потратить не более 10-15% от 2000 мАч. Так что даже если батарейка заряжена только наполовину - её должно хватить.

Утром вас разбудит рёв корабельной сирены в ухо нежная мелодия с плавно возрастающей громкостью и вибрацией - шанс того, что Анонимус проснётся бодрым и свежим оттого ощутимо возрастает. Вот как выглядит записи за неделю и подробный график за ночь:



Что нам дают эти графики? Эти графики нам дают статистику сна, и вот она-то как раз очень важна.


Статистика сна в Sleep as Android

Statistics are like miniskirts - they give you good 
ideas but hide the important things.
— Ebbe Skovdahl



Что бы там не говорили, а статистика, выполненная с умом и без желания наврать, рассказывает много интересного тому, кто понимает, что делает. Так и в в "умном будильнике": вкладка Stats покажет выжимку данных о сне за последнее время. Самым важным параметром, конечно, является время (и процент) глубокого сна.

Все данные хранятся в каталоге /sdcard/sleep-data во внутренней памяти смартфона (файл sleep-export.csv). При желании можно выдрать статистические данные оттуда самостоятельно.


Внизу вкладки Stats находится Detailed statistics, которая поведает нам немало интересного (изображение слева, кликабельно). Можно увидеть процент глубокого сна (данные и среднее значение), рейтинг сна (который выставляете вы сами) и время, когда будильник прозвенел ещё до выставленного времени.

Можно изменить временной интервал - за неделю, две недели, месяц, полгода или год.

Но куда больше полезного можно выжать с помощью плагина SleepStats (платный, стоит 1.5 долларов).


Помимо Trend  и Sleep rating, можно посмотреть на статистику сна и Pattern (то есть на модель сна). Pattern (скриншот в центре) особенно интересен, так как содержит много полезных данных на одном рисунке. Время отхода ко сну и просыпания можно видеть одновременно с диаграммами глубокого и лёгкого сна (показа синим и зелёным цветом соответственно).



Так же плагин SleepStats содержит весьма навороченный статистический анализ данных, на основе которых предлагается оптимальная длительность сна и время отхода ко сну:

На скриншоте слева можно видеть рекомендации по хорошему сну, сделанные по данным за четыре месяца.

Вообще, плагин SleepStats определённо стоит своих денег, выдавая много ценной информации для улучшения сна. Что, кстати, видно на динамике увеличения продуктивности по данным Pomodoro.

Предсказания, как и многое другое  в статистике, тем точнее, чем больше данных (то есть чем чаще вы пользуетесь программой).


Sleep Cloud Backup

Sometimes your cloud rains and there is 
nothing you can do about it (c) Anonymous

Конечно, cloud это не бекап, и тем не менее очень удобно (на время, по крайней мере) хранить свои не очень важные данные в Dropbox. И плагин SleepCloudBackup (платный - стоит 1.3 доллара) как раз сохраняет данные о вашей статистике сна в Dropbox. Всё, что для этого нужно - привязать свой Dropbox аккаунт к плагину SleepCloudBackup.

После этого на вкладке Graphs появится слева от настроек иконка типа "Recycle" - это и есть вызов плагина SleepCloudBackup для бекапов в Dropbox. Он же может загружать и восстанавливать данные о сне, если вдруг что-то случилось с памятью смартфона.


Конкуренты Sleep as Android

Такое место пусто не бывает: умный будильник Sleep as Android имеет множество конкурентов, хотя они менее навороченные. Перечислю наиболее выдающиеся из них:
  • SleepBot - Sleep Cycle Alarm [бесплатный] - пожалуй, самая близка по возможностям замена Sleep as Android для тех, что не хочет выкладывать свои кровные за свистульки, бубенчики и навороченную статистику. Выдаёт почти те же данные, что и Sleep as Android (по крайней мере на смартфоне автора этих строк), намекая на схожесть алгоритмов. 
  •  Sleepmeter [платный, 3.99] - приложение из серии "батарейки включены", то есть статистика сна входит в программу, а не является плагином. Интерфейс Sleepmeter несколько странен и не всегда логичен.
  • Sleep Time - Alarm Clock [бесплатный] - сравнительно богатая возможностями программа для отслеживания фаз сна, с гуманоидным интерфейсом и всеми необходимыми статистическими мигалками.
Есть и другие приложения для отслеживания фаз сна на смартфонах с Android, но они либо появились недавно, либо работают менее надёжно.


Sleep as Android vs Sleeptracker

Они используют один и тот же принцип, так выдают ожидаемо похожие данные. Временное окно для умного будильника Sleep as Android (30 минут) я взял из данных Sleeptracker. Сравнение длительности сна и Fall Asleep time похожи на обоих устройствах, так что теперь использую смартфон вместо Sleeptracker. Кроме того, ранним утром выползать из-под одеяла всё равно не хочется, а на смартфоне можно ещё проверить почту.

Заключение

При всей своей простоте, смартфоны с акселерометром и программами для отслеживания сна помогают лучше спать и просыпаться бодрее и свежее. Но самое главное - это возможность узнать намного больше о своём сне, не прибегая к медицинскому обследованию. Так что теперь ваш смартфон может заменить ещё и будильник!

17 комментариев:

  1. Это всё хорошо, но я же не один сплю, а с женой. Не будет ли он считывать еще и её показания и тем самым давать неправильный результат?

    ОтветитьУдалить
  2. даже читать противно по все эти плагины всего за три доллара.


    ОтветитьУдалить
  3. Афтор так озабочен продуктивностью, и наверное это даже хорошо. Но может дело в другом? Например
    http://blog.ninlabs.com/2013/01/programmer-interrupted
    и исследования на тему семейный HomeOffice показывают возрастание продуктивности на 15-20% у "нормальных" (способных работать самостоятельно) людей

    ОтветитьУдалить
  4. @Олег Леонов комментирует...
    Это всё хорошо, но я же не один сплю, а с женой.
    Можно (и авторы умных будильников склоняются к тому же) использовать armband (повязку на руку), типа такой.

    Не будет ли он считывать еще и её показания и тем самым давать неправильный результат?
    Если класть под подушку - скорее всего, будет. Можно на руку одеть, но это требует привычки.

    @Анонимный комментирует...
    даже читать противно по все эти плагины всего за три доллара.
    Да ладно, Анонимус, мужик хорошее дело делает - можно и поддержать. Бесплатный Sleepbot почти не уступает (нет синхронизации с дропбоксом, хуже статистика).

    @Анонимный комментирует...
    Афтор так озабочен продуктивностью
    Поркуа бы, собственно, и не па?

    Но может дело в другом?
    Пост не о продуктивности - просто собрался материал для умных будельников. Вот оно и зазвенело :-)

    исследования на тему семейный HomeOffice
    Там по ссылке монументальный пост, автор заценил. Только там больше про distraction и чем это плохо для программиста.

    За ссылку спасибо, познавательно.

    возрастание продуктивности на 15-20% у "нормальных" (способных работать самостоятельно) людей
    Проблема в том, что даже в университетах есть склонность менеджмента сажать исследователей в большие комнаты. Иногда хочется проломить голову тому, кто это придумал: нельзя думать о чём-то сложном, когда индусы вокруг поют, танцуют и жарят карри :-)

    ОтветитьУдалить
  5. > Проблема в том, что даже в университетах есть склонность менеджмента сажать исследователей в большие комнаты. Иногда хочется проломить голову тому, кто это придумал: нельзя думать о чём-то сложном, когда индусы вокруг поют, танцуют и жарят карри :-)

    +100050000
    пост кстати не только о программистах, просто их видимо развелось вот и пользуются как подопытными кроликами. все же здоровый сон имеет непосредственное отношение к продуктивности, поскольку с похмелья чего только не натворишь ;)

    ОтветитьУдалить
  6. ЗЫ. Кстати попробуйте танцевать с индусами. Это обычно хорошо действует на менеджмент, особенно если до этого работа шла нормально и более менее без сбоев :D

    ОтветитьУдалить
  7. Спасибо за информацию. Пробовал я года два назад какой-то умный будильник - не впечатлился. Пожалуй пришло время сделать второй подход.

    Проблема в том, что даже в университетах есть склонность менеджмента сажать исследователей в большие комнаты. Иногда хочется проломить голову тому, кто это придумал: нельзя думать о чём-то сложном, когда индусы вокруг поют, танцуют и жарят карри
    Точно. Я последнее время предпочитаю на полигон ездить вместо офиса, даже если не нужно тестировать технику, а надо просто посидеть и подумать.

    ОтветитьУдалить
  8. @Анонимный комментирует...
    пост кстати не только о программистах, просто их видимо развелось вот и пользуются как подопытными кроликами.

    Программистов никогда не было много - жавакодеров и прочих кодирующих обезьян развелось много (особенно тех, кто любит жарить карри :-)). Мне тут один из них присоветовал писать код симулятора адаптивной оптики на джаве...

    все же здоровый сон имеет непосредственное отношение к продуктивности
    Ну как бы это и подразумевалось постом.

    @Анонимный комментирует...
    ЗЫ. Кстати попробуйте танцевать с индусами.
    Нет уж, увольте. Тут вообще-то факультет инженерии, а не драмкружок, что бы по этому поводу не думали остальные участники :-)


    @Yamamaya комментирует...
    Пробовал я года два назад какой-то умный будильник - не впечатлился.
    Замечаешь не сразу: требуется время, чтобы выяснить свои потребности во сне. Андроидные софтины хороши тем, что они выдают статистику в удобоваримом виде, а не как в Sleeptracker, где надо подключать часы через проприетарный кабель под виндой.

    Пожалуй пришло время сделать второй подход.
    Оно намного проще: есть бесплатные SleepBot и Sleep Time Alarm Clock. Первая более навороченная, там даже есть запись звуков, издаваемых Анонимусом ночью :-)

    Я последнее время предпочитаю на полигон ездить вместо офиса, даже если не нужно тестировать технику, а надо просто посидеть и подумать.
    У меня полигона, к сожалению, нет, а дома работать получается неважно. Хоть в тибетский монастырь запирайся...

    ОтветитьУдалить
  9. Приятно будет утром обнаружить разряженный смарт под подушкой, особенно если надо лететь и заряжать некогда

    ОтветитьУдалить
  10. @Анонимный комментирует...
    Приятно будет утром обнаружить разряженный смарт под подушкой, особенно если надо лететь и заряжать некогда
    Ну, Анонимус, ты перегибаешь. Не каждый же день у тебя авиаперелёт. Кстати, только что посмотрел: с 70% заряда за ночь ушло до 58%. Не катастрофа.

    ОтветитьУдалить
  11. ну если предстоит критический день, то можно телефон под подушку на USB-шнурке положить чтобы не разрядился. У меня за пару недель один раз сел совсем. Пару раз я его на шнурке держал. Остальные разы как-то обходилось...
    А еще есть дешевое решение - двухбатареечный блок с выходом на USB. Я использовал 2 аккумулятора AA по 2500 mAh и зарядил телефон за полчаса до более чем половины. Дальше уже не помню, потому что дальше зарядка идет хуже. Телефон LG Nitro HD.

    ОтветитьУдалить
  12. Читал про такие часики, типа смарт вотч от Сони. Чтобы мобилу под подушку не ложить.

    ОтветитьУдалить
  13. Спасибо за сей чудесный пост. Попробовал Sleep as Android, очень полезная штука, куча настроек и вообще гибкая программулина. Конечно чудес не бывает, нужно слушаться будильник и все будет гуд =)

    ОтветитьУдалить
  14. С тех пор как купила Андроид пользуюсь этим приложением как будильником. Графики графиками, а вот функция умного будильника действительно полезная, суть в том, что он включает Sleep Tracking за некоторое время до звонка будильника и будильник может зазвенеть раньше, но в ту стадию сна, которая лучше подходит для пробуждения. Я не измеряю как я сплю всю ночь, но просыпаюсь по будильник и знаете - чувствую себя отлично. С тех пор как я поставила себе такую штуку голова стала болеть реже, например. Так что совет мужчинам - ставьте Sleep as Android своим женам.

    ОтветитьУдалить
  15. @Анонимный комментирует...

    ну если предстоит критический день, то можно телефон под подушку на USB-шнурке положить чтобы не разрядился.
    А оно и не разряжает батарею так сильно. Без шуток: несмотря на грозное предупреждение о том, что гасить экран кнопкой Power не стоит, даже на моей китайской балалайке THL всё продолжает работать (в смысле Sleep as Android продолжает отслеживать сон). За ночь уходит 5-10% заряда - оно не так часто снимает данные с акселерометра.

    А еще есть дешевое решение - двухбатареечный блок с выходом на USB.
    Анонимус, оно здорово, конечно, но я бы решительно попробовал погасить экран. Оно должно работать, и танковые аккумуляторы под подушкой держать не придётся.

    @Serega M комментирует...
    Читал про такие часики, типа смарт вотч от Сони.
    Мало функций, стоят некислых денег, профит сомнителен. А тут всё уже есть - смартфон под подушку и вперёд.

    @expert комментирует...
    очень полезная штука, куча настроек и вообще гибкая программулина. Конечно чудес не бывает, нужно слушаться будильник
    Замечательный момент в том, что будильник прозвенит тогда, когда легче всего просыпаться. Ну и статистический анализ данных там очень солидный.

    @Анонимный комментирует...
    Графики графиками, а вот функция умного будильника действительно полезная, суть в том, что он включает Sleep Tracking за некоторое время до звонка будильника и будильник может зазвенеть раньше, но в ту стадию сна, которая лучше подходит для пробуждения.

    Отслеживание сна (Sleep Tracking) там идёт постоянно, а не только перед пробуждением - где-то раз в пять секунд программа снимает данные с акселерометра. Вообще, возможностей у программы очень много: может даже записывать храп спящего. Хотя это действительно давит на батарею.

    Я не измеряю как я сплю всю ночь, но просыпаюсь по будильник и знаете - чувствую себя отлично.
    Выше в посте есть ссылка англоязычный справочник с кучей данных. Удивительнее всего то, что акселерометры настолько чувствительны в современных смартфонах.

    Так что совет мужчинам - ставьте Sleep as Android своим женам.
    Есть момент: не ясно, что будет регистрироваться, если два смартфона положить на одну кровать - движения одного спящего могут влиять на данные другого.

    ОтветитьУдалить
  16. Включил на sleepbot тракинг и положил на зарядке под подушку на всю ночь. По температуре телефона утром понял, что чудом не доспал до взрыва аккума.

    ОтветитьУдалить
  17. А вот ещё интересное мнение: http://support.lark.com/entries/21791477-update-from-project-management-optimal-wakeup
    Вкратце: господа из Стендфордского Университета считают, что научное знание на сегодняшний день не способно с достаточной точностью определить фазу сна с использованием актиграфии, поэтому такие "умные будильники" впустую отнимают 15-20 минут сна ежедневно. Бодрость при пробуждении с использованием браслетов достигается путём снижения стресса за счёт "мягкого" вибро-будильника (который на ларке, вдобавок, вытанцовывает какие-то хитрые ритмы). То есть, подобные приложения для телефона скорее вредны, чем просто бесполезны. А с учётом всяких побочных эффектов вроде повышенного расхода батареи (а значит -- её излишнего нагрева, если телефон стоит на зарядке) ещё и опасны.
    Лично я, как человек, привыкший просыпаться от чужих будильников, всем бы рекомендовал браслеты. Подруге и брату уже присматриваю. :+)

    ОтветитьУдалить