Если вы слушали 17-й выпуск моего подкаста, то знаете, что мне не нравится, как работает бесключевой доступ в машинах. А как он мог бы работать? Идеальный результат такой: машина открывается для кого надо и не открывается для кого не надо, и ничего специального делать не приходится.
Сейчас это решается тем, что в кармане у водителя лежит ключ, и машина реагирует на него. Есть разные реализации. В одной машина проверяет наличие ключа поблизости в момент попытки открытия. Если ключ рядом, машина открывается. Уходя от машины, надо не забыть её закрыть, прикоснувшись к специальной области на ручки двери. В другой машина открывается, когда водитель достаточно близко и закрывается, когда водитель отходит достаточно далеко. Открытие и закрытие машины сопровождается звуковым сигналом, чтобы водителю было спокойнее.
Проблемы, которые я вижу: можно забыть закрыть машину; можно открыть машину, когда не собирался; звуковые сигналы бесят.
Мне хочется придумать схему, где у машины вообще нет состояний «открыта» или «закрыта». Машина всегда закрыта, а авторизация происходит при каждой попытке открытия двери. Так машину нельзя забыть закрыть, и это снимает необходимость звуковой сигнализации, потому что сигнализировать не о чем.
Всё просто, если считать, что к машине подходит только водитель: дверь откроется, если у него есть ключ и не отроется, если нет.
Но в жизни возникают сценарии с несколькими людьми. Допустим, у нас семья, ребёнок подбежал к машине раньше родителя и дёргает ручку — надо, чтобы дверь открылась, если взрослый с ключом неподалёку. Но что, если водитель садится в машину в мрачном переулке, а рядом стоят какие-то хмыри? Здесь уже наоборот хочется, чтобы открывалась только водительская дверь, рядом с которой ключ.
Можно сделать тумблерчик на ключе. Машина не умеет оценивать намерения людей, так что у водителя будет способ явно выбрать режим: «безопасный», когда авторизация работает только на водительской двери, а остальные открываются только изнутри, и «доверительный», когда все двери открываются при наличие водителя поблизости. Увидел хмырей — переключил в безопасный режим прямо в кармане. Проблема тумблерчика в том, что за ним придётся активно следить — в каждом мрачном переулке тянуться в карман, чтобы убедиться, что всё хорошо.
Можно сделать безопасный режим основным. По умолчанию всегда открывается только водительская дверь (если ключ рядом), а чтобы дать открыть другую, надо нажать кнопку, которая временно включает доверительный режим. И тут проблема! Временно — это насколько? Как сформулировать, что именно делает эта кнопка? И чем это отличается от того, что мы снова вернулись в мир, где у нас есть «открытая» и «закрытая» машина, просто теперь это как-то неявно происходит?
Отличие именно в устранении проблемы, что машину забыли закрыть, и необходимости звуковой сигнализации. «Временно» — это, конечно, компромисс, но лучше у меня пока придумать не получается. Думаю, секунд на десять можно включать — достаточно, чтобы хоть кто-то один успел открыть дверь. Тут ещё важно, что временно машина открывается не «вообще», как в существующих реализация, а всё ещё при условии, что водитель с ключом рядом. То есть если водитель вышел из подъезда, нажал на «доверие», и тут же зашёл обратно, потому что забыл что-то дома, машина не откроется кому попало — ключа-то рядом нет.
Это мы рассмотрели ситуацию снаружи. Теперь посмотрим изнутри, а точнее — на сценарии, когда водитель с ключом внутри. Ха, а как мы отличим, водитель там с ключом или только ключ? Если машина «всегда закрыта», как я предложил выше, то как только ты забудешь в ней ключ, ты больше в неё не попадёшь. Получается, внутри машины мы не можем убрать кнопки открытия-закрытия? Машина должна быть по умолчанию открыта, если ключ внутри, и закрываться только при нажатии на кнопку с замочком. Фактически смысл этой кнопки — сообщить машине, что внутри есть человек! Впрочем, для спасения забытого ключа достаточно, чтобы открывалась только одна дверь, а не все.
Подведём итог. Когда ключ снаружи, по умолчанию каждая дверь открывается только если непосредственно рядом с ней есть ключ. Водитель может нажать на ключе кнопку, которая на десять секунд включает режим «доверия» — в нём любая дверь открывается, если вблизи автомобиля есть ключ. Когда ключ внутри, по умолчанию снаружи открывается водительская дверь, но остальные нет. Если нажать на кнопку с открытым замочком, все двери снаружи станут открываться; если с закрытым — все перестанут. Вернуться в исходное промежуточное состояние «снаружи открывается только водительская дверь» нельзя, потому что оно больше низачем не нужно: нажав на любую кнопку внутри, мы уже сообщили машине, что ключ не забыт в машине, а спасать его не нужно.
Наверное семейные жители суперблагополучных районов должны мочь настроить режим постоянного доверия.
Кстати, по идее ключ вообще не нужен — он должен легко добавляться в телефон и часы. Механический ключ, конечно, должен быть на всякий случай, но пусть он дома лежит.
Что думаете? Про какой сценарий я забыл?