在结账前核对地址与所填邮政编码是否一致
订单表单上邮政编码与城市不一致,看起来只是个小笔误,直到包裹被送到国内完全不同的地方。
一款远程团队协作工具的个人资料中有一个时区字段,几乎没人正确填写,因为它要求用户在入职时从一个很长的下拉列表中手动选择自己的时区,这一步很容易跳过或选错,对于刚刚搬家或在设置账户时正在出差的人尤其如此。结果,团队通讯录里满是过时或缺失的时区数据,没有人信任到真的会在决定是否给同事发消息时去参考它。
公司用自动字段取代了手动字段。应用不再要求用户选择时区,而是直接根据发起请求的连接来确定时区。/v1/ip 在用户登录时获取其 IP 地址,返回国家和坐标,这些坐标再传入 /v1/timezone,后者返回该位置的 IANA 时区名称;时区会定期重新解析以保持最新,而不是锁定在用户某一次填写表单时恰好所在的位置。
产品中可见的结果是每位团队成员个人资料中的一个小补充:在团队通讯录和任何私信对话中,他们的名字旁边会显示一个国家标识和一个自动更新的实时本地时间。正在决定是现在发消息还是等到早上的同事,一眼就能看出对方那里现在是否是合适的时间,而无需记住对方身在哪个国家,也不用自己计算时区。
公司让这一设置保持可调整,而不是完全自动且无法更改,因为用户偶尔确实需要覆盖检测到的位置,例如临时在与平时不同的国家工作、希望个人资料显示自己平常的时区,而不是当前恰好连接所在地的人。自动检测为常见情况设定了合理的默认值并会自行更新,而手动覆盖则留给例外情况。
从工程工作量来看,这确实是一个很小的功能,基本上只是在登录时串联两次查询,再加上团队通讯录中的一个小小的显示改动,但它消除了一个多年来一直悄悄给团队带来少量协调开销的阻力点,也就是不先询问或只能猜测、无法知道现在联系某人是否合适所带来的那种隐性成本。
请求量与登录会话挂钩,而不是每条消息或每次页面浏览,因为位置和时区数据是定期刷新,而不是每次请求都刷新,因此即使是一款拥有相当庞大用户群、全天都有人登录的团队协作工具,工作量也远在每日免费配额之内。
像这样细小而低调的默认设置,累积起来往往比任何一个炫目的功能更重要,因为它们消除的是频繁发生之事中的一点点阻力,而不是解决偶尔才出现的问题。两个端点的文档分别位于 /docs/ipv4-lookup/ 和 /docs/timezone-lookup/。