Page:Aaron Swartz s A Programmable Web An Unfinished Work.pdf/29

2. BUILDING FOR USERS: DESIGNING URLS 17

That was easy, so we’re left with just verbs. There are two ways you might imagine verbs working:

pass the noun to the verb: /share?v=1234

pass the verb to the noun: /v/1234?m=share

After spending a lot of time experimenting with this, I’m convinced the latter is the right way. It takes up less of the “URL-space,” it sorts nicer in people’s address bars, and it makes it visually clear that you’re doing something to an object.

It’s tempting to just use subpages, like:

/v/1234/share

but I prefer the “?m=share” formulation for two reasons: ﬁrst, it works even when your nouns already have subpages, and second, it makes it clear that the page is meant to do something, not just convey more information. But the converse is true as well. Don’t do:

/p/nancy_pelosi?m=finances

making it look like the page is supposed to do something when it really just conveys more information.

Alright, that’s enough about picking URLs. Let’s move on to actually doing something with them!