先写邮政编码
Put the zip code first

原始链接: https://zipcodefirst.com

这篇充满挫败感的抱怨强调了在线地址表单中一个持续存在的缺陷:以一种不必要地复杂的方式要求信息。作者认为,首先要求邮政编码可以解锁大量预填数据——城市、州和国家——从而大大简化用户流程。 目前,大多数表单要求街道地址、城市、州(来自下拉菜单!)、邮政编码,*然后*是国家(通常隐藏在字母顺序中)。这种方式效率低下,浪费用户时间,并导致数据质量较差。 存在免费的API,只需几行代码即可轻松自动化此过程。 作者根据表单设计缺陷的严重程度,将违规网站归类为“耻辱榜”,从简单地将邮政编码放在最后,到完全忽略其自动填充的潜力,或使用无法使用的国家下拉菜单。 核心信息很简单:有一个现成的解决方案可以改善用户体验,但由于惯性和过时做法,它却始终被忽视。

## 邮政编码优先:一项有争议的 UX 提案 Hacker News 上一篇帖子提出在地址表单中优先输入邮政编码,认为这可以自动填充城市、州和国家/地区,从而简化流程。然而,这个想法面临着很大的批评。 许多评论指出,这个前提很大程度上以美国为中心,并且在全球范围内存在缺陷。邮政编码并非各国独有,可以跨越多个城市/州,而且并非普遍使用。输入外国邮政编码通常会导致不正确的美国位置。 普遍的意见倾向于**先选择国家/地区**,然后再输入邮政编码,以便提供定制化的建议。人们对处理国际邮政编码变化和潜在不准确性的复杂性表示担忧。一些用户提倡利用浏览器自动填充功能,认为一个良好实现的系统可以完全消除手动输入。 最终,这场讨论强调了在设计网络表单时,考虑全球用户的重要性,以及避免基于单个国家/地区的系统进行假设。
相关文章

原文
ZIP Code First

A US ZIP code is 5 characters. From those 5 characters you can determine the city, the state, and the country. That's 3 fields. Autofilled. From one input.

But you don't do that, do you? No. You make me type my street address, then my city, then scroll through a dropdown of 50 states to find Illinois wedged between Idaho and Indiana, then type my ZIP, then — the pièce de résistance — scroll through 200+ countries to find United States, which half the time is filed under "T" because some dipshit thought "The United States of America" was the correct sort key.

It's 2026. What the fuck are we doing.

It's 5 keystrokes.

I type 90210. You now know I'm in Beverly Hills, California, United States. You didn't need me to tell you that. You didn't need a dropdown. You didn't need me to scroll past Turkmenistan. You had the answer the entire time, in 5 digits, and you just... didn't use it.

And here's the bonus: once you know the ZIP, your street address autocomplete is searching a few thousand addresses instead of 160 million. It's faster. It's more accurate. I type less. You get cleaner data. Everyone wins.

This is not new technology. Free APIs exist. It's like 4 lines of code. Look:

const res = await fetch(`https://api.zippopotam.us/us/${zip}`)
const data = await res.json()
city.value = data.places[0]["place name"]
state.value = data.places[0]["state"]
country.value = "United States"

That's it. That's the whole thing. You could have shipped this instead of reading this website.

Don't believe me? Try it.

See how that works? See how you typed 5 numbers and 3 fields filled themselves in? See how you're now typing your street address and it already knows what city you're in? That's not magic. That's a lookup table. We've had those since the 1960s.

The hall of shame.

Tier 1: ZIP at the bottom. Street, city, state, ZIP, country. You had the data to autofill 3 fields and you just... put it last. Amazon does this. Target does this. Walmart does this. Basically everyone does this. Billions of collective hours of human life, spent scrolling for "Illinois."

Tier 2: No autofill at all. You collect the ZIP. You have the ZIP. You do nothing with it. The ZIP just sits there in your database, inert, like a fire extinguisher in a glass case that says "do not break." What are you saving it for.

Tier 3: The scrollable country dropdown. 240 countries. No search. No type-ahead. Just pure, unfiltered, alphabetical scrolling. Bonus points if the US is under "T." Extra bonus points if it's not even alphabetical. You absolute psychopaths.

Tier 4: The form that resets when you hit back. I filled out 14 fields. Your payment processor failed. I hit back. Everything is gone. My street. My city. My state. My will to live. All of it. Returned to the void. The developer responsible for this sleeps eight hours a night. That's the part that haunts me.

Submit to the wall of shame.

Found a site that puts the ZIP code last? A country dropdown sorted by vibes? A form that makes you cry?

Send it to us →

🚧 Public wall of shame coming soon. 🚧

So fix your forms.

Put the ZIP code first. Autofill the city. Autofill the state. Autofill the country. Let the user type their street address last, with autocomplete scoped to their ZIP.

It is a solved problem. The API is free. The code is 5 lines. There is genuinely no reason not to do this other than the mass institutional inertia of a million product managers copy-pasting the same address form template from 2009 and never once asking "wait, why is the ZIP code at the bottom?"

Why is the ZIP code at the bottom?

Put it first, you animals.

Tweet this · Post to HN · Copy link
Share this before you have to fill out another address form.

联系我们 contact @ memedata.com