11 ms·
URLs are for People, not Computers
- cargo8 14y agoWhile I do appreciate clean URLs, the reason behind all those random obfuscated query parameters in Google's url is not a mystery. They are hidden indicators that are only available at query time and/or experimentation flags and things like that to improve the results. URLs only need to be readable for the portion that the user inputted or is consciously aware of, the rest is for computers.
- robinh 14y agoCould they not set those parameters in a POST request so they don't show up in the URL?
- Madre 14y agoHow possible is it to perform a POST within a GET request?
- robinh 14y agoThat was what I was trying to ask: can you do both, or would that be absurdly impractical/impossible? Alternatively, can't they do only a POST and somehow generate URLs dynamically based on the search query?
- candybar 14y agoGratuitous use of POST breaks the back button.
- sturadnidge 14y agoI presume robinh means why not set all those additional params when the search form is posted rather than the initial get. EDIT: Ok the follow up comment doesn't indicate that... but it would be just as valid to do it that way if they are indeed search modifiers.
- mtrimpe 14y agoIt's perfectly possible to POST to a URL with GET query parameters. For Google though I'm not sure you'd want POST requests at all; unless it's to set cookies and do a redirect on POST.
- Kop 14y agoYou get that long and obscure URL while visiting google logged out, with no cookies.. So they all must be the defaults. If they are the defaults, why put them in the URL?
- mootothemax 14y agoSo they all must be the defaults... If they are the defaults, why put them in the URL? You've probably answered your own question there.
- zandorg 14y agoI found this recently with a 6-field form. The browser sends empty FORM fieldstrings. Eg: http://www.bing.com/search?q=test&qs=n&form=QBLH&filt=all&pq=test&sc=8-1&sp=-1&sk= http://www.bing.com/search?q=test&qs=n&form=QBLH&... Here, sk is "". You can strip out empty fields with a bit of PHP (creating a new URL without the empty strings), which seems to work okay, but it's probably best not to risk the wrong effect, which is the end program seeing the empty fields wrongly (as NULL and not "").
- NelsonMinar 14y agoGoogle search result URLs used to be simpler, but they made a decision not to care how they look years ago and they keep stuffing more and more data into them. I assume it helps their tracking and maybe optimization. Even more offensive are the result URLs on the result page. Here's the URL for a logged out search for "hacker news". https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDMQFjAA&url=https%3A%2F%2Fnews.ycombinator.com%2F&ei=k99eUcfzOsePiAKjgIG4DA&usg=AFQjCNGxnV8qCnv_rujodDj6o2ZhqU8Nxg&bvm=bv.44770516,d.cGE https://www.google.com/url?sa=t&rct=j&q=&esrc=s&...
- NelsonMinar 14y agoHa, the Hacker News page won't even display the URL, it's so ugly. Let's examine it in its full glory https://www.google.com/url https://www.google.com/url? sa=t& rct=j& q=& esrc=s& source=web& cd=1& cad=rja& ved=0CDMQFjAA& url=https%3A%2F%2Fnews.ycombinator.com%2F& ei=k99eUcfzOsePiAKjgIG4DA& usg=AFQjCNGxnV8qCnv_rujodDj6o2ZhqU8Nxg& bvm=bv.44770516,d.cGE Note that none of this is necessary for clickthrough tracking; it's easy to do that separately from the href.
- wcoenen 14y agoI'm especially annoyed by http://outlook.com http://outlook.com. When I go there, I get redirected to a garbage URL on http://login.live.com http://login.live.com, and then automatically to another garbage URL on http://bay156.mail.live.com http://bay156.mail.live.com where I can see my inbox. Yuck.
- felixmar 14y agoLogging out on outlook.com is even worse. You get redirected to msn.com with its sleazy celebrity "news" and other dubious items. It's like you're in a renovated theater thinking this new interior design is pretty good and then after the show is over the exit leads to a back alley full of trash.
- reeses 14y agoWelcome to Broadway!
- MatthewPhillips 14y agoI just did it and got blu172.mail.live.com. Load balancing is exposed to the user... nice.
- recursive 14y agoIs that sarcasm? I think that's very common practice. I've seen google, facebook, and others use similar schemes.
- MatthewPhillips 14y agoWell yeah, it was sarcasm (for which I apologize), it's not good to expose this to your users. When does Google do this, by the way?
- recursive 14y agoOne example is this server, from which my browser just requested from youtube: http://r5---sn-vgqelnek.c.youtube.com/ http://r5---sn-vgqelnek.c.youtube.com/
- drunkpotato 14y agoThis is a good and oft-neglected part of UI and API design to keep in mind. I especially like the discussion of the implications of hierarchical, semantic URL's in improving user trust and likelihood of clicking. Much like with database design, it's easy for programmers to take over the task of URL design and make it easy to use from the write-first, read-never programmer perspective. User considerations come later if at all. I like the reminder to pay attention to these factors. We should all be reminded to question our first impulses; are we making something good for us or good for the user?
- mikecarroll 14y agoWhile I agree that URLs should be considered intrinsic to good UI, social media is also undermining the value/importance of semantic URLs. Why put extra work into making your RESTful URL structure more semantic, in other words, if Twitter if just going to shorten them to the point that they are no longer fully readable, or Facebook is just going to hide them behind a preview view?
- aerique 14y agoTwitter does show the full URL in the tooltip.
- richardwhiuk 14y agoThese are all good ideas, but there's part of me that wonders that because they are all being broken by Microsoft, Google, Amazone (as demonstrated in the article and in the comments here) that the importance of them is overstated. URLs are fundamentally for web browsers to translate into a domain name lookup, and a HTTP request. They are for computers - the fact that we've managed to convince humans that they should care about them, that they should be decipherable by humans, is, IMHO a failing of the web as is. On a side note, I note that films are starting to use Facebook URLs by doing [FB Logo]/trancethemovie which the user is intended to translate into https://www.facebook.com/trancethemovie https://www.facebook.com/trancethemovie
- 0x0 14y agoAccording to that logic we might as well do away with DNS entirely, and just use numeric IPs in URLs.
- criley 14y agoI thought that literally the entire point of URL's was that humans can't remember and use IP's naturally so we created URL's and DNS to let humans interface with the machine IP language. If URL's are actually intended for computers, than I'd say we've failed rather badly. The whole point was to interface with people. If people don't matter and it's for machines, why use URLs? Just type IP's. Skip DNS all together...
- jules 14y agoGoogle is the new DNS. Only a small subset of people care about URLs beyond the domain name (this subset has a large overlap with HN readers). Unless you've nothing else to improve, there are usually more effective ways to improve your websites that you can spend that time on.
- steveklabnik 14y ago> I thought that literally the entire point of URL's was that humans can't remember and use IP's naturally so we created URL's and DNS to let humans interface with the machine IP language. That'd be the base URI, but not the full one. If you used IPs, it would still be http://123.456.789.123/search&q=foo http://123.456.789.123/search&q=foo
- apaprocki 14y agoURLs having any meaning at all strikes me as bias. If my parents visited a SSL site (say, a bank) and the address bar simply displayed the company name and nothing more, they would not miss URLs at all. This is also why your parents and grandparents can just type random text into an address bar to execute a search instead of having to go to google.com or type in something cryptic like google.com?q=thing%20i%20want.
- alistair77 14y agoThat's confusing two different concepts. URLs are the equivalent of a full postal address whereas searching is the equivalent of asking a stranger how to get somewhere. Why would you want to always ask and trust a search engine when you already know how to get somewhere? DNS spoofing aside, I know I can trust anything under, for example, bbc.co.uk and I know where /radio, /news etc takes me. Guess what, so do my seventy year old parents!
- shocks 14y agoMost people (non-techies) I know will search "facebook" to get to facebook.com. The same with YouTube/Twitter/etc.
- moreati 14y agoMy goto example of this is when a ReadWriteWeb article briefly become the top Google result for 'Facebook login' http://readwrite.com/2010/02/11/how_google_failed_internet_meme http://readwrite.com/2010/02/11/how_google_failed_internet_m...
- Shish2k 14y agoSome people I know will search for "google" using the browser's search box to get to google, then type in "yahoo" into google to find yahoo's website, then click the "mail" icon to get at their email /o\
- shocks 14y ago
- samwillis 14y agoThe seminal writing on this is by none other than Tim Berners-lee: "Cool URIs don't change" http://www.w3.org/Provider/Style/URI.html http://www.w3.org/Provider/Style/URI.html
- ckluis 14y agoMissing element: this is fantastic for SEO: Main-Category/Sub-Category/Specific-Item - is practically screaming look at my site heirarchy and look how much data I have about furniture -> chairs -> chair manufacture -> chair model
- D9u 14y agoIf URLs were really for people we wouldn't see people sent to prison for manipulation of URLs.
- D9u 14y agoIn essence, Andrew Auernheimer – or Weev, as much of the Internet knows him – was found guilty of incrementing a number on a url – doing basic arithmetic – and has been ceremoniously chucked behind bars for the next 41 months of his life – as a result of speaking up to point out a security problem. https://asherwolf.net/the-tragedy-of-jailing-weev-the-internet-prophet-of-discord/262/ https://asherwolf.net/the-tragedy-of-jailing-weev-the-intern... (waits for further downvotes)
- riffic 14y agoyou're absolutely right. it's frightening there is now case law precedent that makes altering an URL felonious.
- johnchristopher 14y ago>Edward Cutrell and Zhiwei Guan from Microsoft Research have conducted an eyetracking study of search engine use (warning: PDF) that found that people spend 24% of their gaze time looking at the URLs in the search results. >We found that searchers are particularly interested in the URL when they are assessing the credibility of a destination. If the URL looks like garbage, people are less likely to click on that search hit. On the other hand, if the URL looks like the page will address the user’s question, they are more likely to click. I wished someone at MS would follow up on that and fix the whole bay0X.cdn url jumping everytime I connect to outlook/hotmail.com
- TazeTSchnitzel 14y agoI'd like to see a mechanism to pass data to a page in the URL once, but have it discarded such that the URL the user sees and the URL used upon refresh lacks it. This would be nice for all sorts of things: * That pesky analytics stuff (rel= on YouTube for instance) which you don't want to re-send on refresh or when someone passes on the URL to someone else (because now your data is inaccurate) * Error messages specified by URL parameters (we only want to show them once) * URL parameters containing secrets allowing someone to access a page (we don't want to accidentally pass them on) etc.
- knome 14y agoSomething like a POST request?
- TazeTSchnitzel 14y agoYes, but it would become a GET request were you to refresh or go back.
- justincormack 14y agoYou can use pushstate to do this in modern browsers.
- TazeTSchnitzel 14y agoI don't really want to add it to the user's history, though. Breaking the back button is bad.
- duncans 14y agoIn that case you use `history.replaceState()`, or just plain old `window.location.replace('url')`
- TazeTSchnitzel 14y agoWell, the latter would cause a reload, but the former sounds good. I'll try it, thanks!
- cdoxsey 14y agoHis examples aren't helping his case. If the most successful store and the most popular search engine don't use pretty URLs why should anyone else care?
- PetitPrince 14y agoBeing big doesn't necessarily means being right, and big companies have sometime good reasons not to follow good practices. Case in point: it took a while to those same companies to switch from table layout to CSS based layout [1][2]. [1] http://webmasters.stackexchange.com/questions/20408/if-css-is-getting-better-why-do-big-brands-websites-still-use-tables-for-layout http://webmasters.stackexchange.com/questions/20408/if-css-i... [2] https://forums.digitalpoint.com/threads/why-does-google-use-table-based-layouts.1152004/ https://forums.digitalpoint.com/threads/why-does-google-use-...
- snowwrestler 14y agoJust to review: examples of sites doing it wrong include Google and Amazon, two of the most successful websites ever. Doesn't seem to have hindered their growth much. I like a clean semantic URL, but if I'm being honest with myself, I know that is just my opinion. I don't know of any real-life correlation between URLs and business outcomes.
- sophacles 14y agoMaybe there is, maybe there isn't but this argument is a fallacy. To say that "they are successful, who are we to suggest improvements" is an appeal to authority. Just because there is success, does not mean there is not room for improvement.
- dragonwriter 14y ago> To say that "they are successful, who are we to suggest improvements" is an appeal to authority. The argument is being made that clean URLs are important to success of websites. That the most successful sites on the internet are sites that don't use clean URLs is counterevidence to the claim made. That's not an appeal to authority
- brc 14y agoThere are countless examples of web sites hat have found success through better urls leading to better rankings. I can say with absolute confidence that better urls can lead to better business outcomes.
- potatolicious 14y agoThe example about Amazon is inaccurate. Here is an Amazon URL: http://www.amazon.com/Bioshock-Infinite-Premium-Edition-Xbox-360/dp/B009PJ9L3Y/ref=sr_1_2?ie=UTF8&qid=1365171686&sr=8-2&keywords=bioshock+infinite http://www.amazon.com/Bioshock-Infinite-Premium-Edition-Xbox... Is it completely clean? Nope. It contains a lot of information that feed into the backend, but the core URL is this: http://www.amazon.com/Bioshock-Infinite-Premium-Edition-Xbox-360/dp/B009PJ9L3Y/ http://www.amazon.com/Bioshock-Infinite-Premium-Edition-Xbox... This URL will take you to the correct page, every time, and it doesn't take a genius to figure this out. It also doesn't take a genius to figure out what this page is about before you even paste the link into your browser. By putting the human-relevant portion of the URL as far forward as possible it's able to accomplish both priorities: giving the machine as much information as possible, and giving the human as much information as possible. The trick here is that "Bioshock-Infinite-Premium-Edition-Xbox-360" is entirely superfluous. It is entirely there for SEO and human readability purposes. This URL works just fine and leads to the same place: http://www.amazon.com/dp/B009PJ9L3Y/ http://www.amazon.com/dp/B009PJ9L3Y/ Amazon isn't blind to these issues. So sure, you can take this very last URL and try to make a point about obfuscated URLs, but that's not what's actually in use at Amazon. It seems odd to pick them as an example when they're not even a violator. [edit] It looks like HN truncates long URLs for display, which only goes further to prove the point.
- danso 14y agoThe Amazon case is an interesting one because, despite the appeal of the OP's argument, one can hardly deny the success of Amazon's product listings in spite of their ugly URLs. However, this raises up an important consequence of clean URL design: when you're offering things that may be classified in several categories, it requires good design on the backed/framework to make sure your URL taxonomy isn't overly constricting. For example, example.com/toys/Nintendo-wii or example.com/consoles/Nintendo-wii? Either one is legit but creating and keeping consistent taxonomy is difficult enough on its own without worrying simultaneously what the URL looks like
- potatolicious 14y ago> "example.com/toys/Nintendo-wii or example.com/consoles/Nintendo-wii?" Why not both? The URL is just a URL - it does not need to reflect your underlying data model. There would probably be a canonical URL for use when the category context isn't available (say, "consoles"), but why not have multiple URLs lead to the same information? > "despite the appeal of the OP's argument, one can hardly deny the success of Amazon's product listings in spite of their ugly URLs" But they're really not ugly. In fact, given the complexity of the system they represent, they are remarkably human-friendly. In an ideal world all ideas, all businesses, and all use cases can be fulfilled by simple URLs like "example.com/shockingly-unique-identifier", but we don't live in that world. Amazon has constructed human and machine-relevant URLs. The author's argument can be applied to many sites, but I don't think Amazon is one of them.
- ianstallings 14y agoWhile I understand the need and implement this on every site I'll be the first to say I really don't care about this and I think it's stupid. Just my opinion.
- orangethirty 14y agoHave you ever worked on search?
- ianstallings 14y agoNo, I live under a rock.
- orangethirty 14y agoThat makes two of us then. (:
- bobwise 14y agoWell obviously URLs are for people because raw IP addresses are unsuitable, but that doesn't mean that textual URLs as they exist today are our best option. Even well-designed URLs are too complicated. "https://news.ycombinator.com/item?id=5498198 https://news.ycombinator.com/item?id=5498198 is mostly devoid of meaning even to me. I can tell that that URL is referencing a discussion on Hacker News, but "Hacker News" or the title of the article are not present in the URL. Hierarchical URLs betray the underlying model of the internet as a series of interrelated documents. People don't care about understanding the layout of files on a web server; they just want to open Facebook, or their email, or perform a search. Nobody types "http://www.facebook.com http://www.facebook.com into their browser. They either click a bookmark or type "facebook" into the search or URL bar. What happens next is up to the browser. The best solution would conform to the already existing mental model that people have. They don't think of a website as a bunch of documents on a web server (despite the shared vocabulary with printed media - words like "page" and "bookmark"). Their mental model is probably something like buildings on a city block. You can pick one to go into, and when you're inside you can do things and learn things that are unique to that building. Rooms are connected by hallways and doors. There are windows where you can see outside or into other buildings. You can bring things with you into the building and take things out when you leave. To get back to a room in a building that you've been in previously, you can either go back to the front door and follow the path you took originally to get to the room, or you can "bookmark the page", which is like a shortcut directly that room.
- duck 14y agoA study conducted by Microsoft found URLs play a vital role in assessing the security and credibility of a website Why then do most Microsoft sites not follow this finding? Also, a lot of their products break it as well (I'm looking at you SharePoint and CRM).
- ygra 14y agoMSR does research and prototyping. It's up to the product teams to implement important findings and they still might have other priorities first. Also »Microsoft« isn't one big monolithic entity and it's not uncommon for individual parts of it doing things in quite different ways.
- UnoriginalGuy 14y agoI blame the tools... Most tools and frameworks are designed from the ground up to be document-focused. Some even going as far as to purposely simulate a document when none exists (e.g. Tomcat). Let's take PHP, ASP.net, and Java. They make up the majority of the internet right now. With RoR and MS MVC being outliers. It is VERY hard to develop applications in them without a document focus because they use documents to direct functionality (e.g. logout.php and login.php might have different underlying functionality). Now, yes, web-servers do support request redirection, so you can redirect from /logout to /logout.php, but such "magic" is time consuming because there is a disconnect between the underlying framework which "understands" pages and the dumb web-server which just does what it is told to do. Even if you just automate it so you strip out the extension (e.g. strip ".php") you still wind up /thinking/ about things from a document perspective rather than a functionality perspective (e.g. "this functionality is on THIS page, this functionality is on THAT page"). We just need more modern frameworks where from the ground up the thing is based on a hierarchy rather than documents/files/etc. This should all be dictated by the framework, not the server's filesystem.
- greghinch 14y agoIsn't this what routing does? The problem you're describing seems to be primarily a PHP one, particularly with the lack of a dominant framework in the PHP community. (Possibly also a .Net one, I've avoided working with ASP like the plague in my career).
- zuppy 14y agoI don't think that's the case for PHP, at least not in the last 5-6 years or so... All the main frameworks (Symfony, Zend, etc) will force you to use the routing. It's not even possible without some work to call php files. Yes, I'm aware PHP allows you to create simple .php files, but that's not how the development is done these days.
- greghinch 14y agoAdmittedly, I've shied away from PHP projects over the past 4-5 years in favor of Python (Django) or server-side JS. I do still think the biggest hurdle PHP faces, at least when new devs come to it, is the lack of any one clear "best" framework. As you even mentioned, there are "main frameworks", but none of them is the clear "best" choice when you are approaching the language. In fact many people start building with PHP without a framework. Almost no one would start using Ruby to build a web app without choosing Rails. Similarly, no one would choose straight Python over using Django (waiting to get flamed by the Flask community here ;) ). With PHP, a lot of people choose it to build a "simple" web app, and end up just hacking together a few .php files. That was even more true 5+ years ago, and now there are a lot of legacy applications out there, that have grown quite large, still built on that principle.
- nicolethenerd 14y agoI disagree with the "https://news.ycombinator.com/item?id=5489039 https://news.ycombinator.com/item?id=5489039 versus https://news.ycombinator.com/5489039/if-the-earth-were-100-pixels-wide https://news.ycombinator.com/5489039/if-the-earth-were-100-p... - its in contradiction to the author's earlier point that URLs should be "hackable". With the former style, I know that if I want to see other hackernews articles, I can just change the number (granted, it's not the most efficient way of browsing HN) - with the latter, I can't modify the URL w/out knowing the title of the article I'm looking for.
- TomatoTomato 14y agoUnless the title is superfluous a la amazon.
- redact207 14y ago"If the URL looks like garbage people won’t click it" I'm not so sure of this. URLs that are over-optimised seem link-baity to me and I'm more inclined to not click it.
- vukers 14y agoCompletely agree... this includes domain names. At some point, searching for terms like "best hdtv 2013" would return a page full of sites with perfect urls like http://www.best-hdtv-2013.com/ http://www.best-hdtv-2013.com/, and all of them would be extremely spammy and lacking in actual content. Seems less prevalent these days.
- spyder 14y agoAnd the other thing is that we aren't really clicking on URLs, because it's just a string you cannot click on it. We are clicking on anchor texts and using ugly URLs as anchor text can be the problem. If the anchor text is a descriptive title then most (non-techie) users doesn't even see the URL before they click because they don't know it's displayed at the bottom of the browser if you move the mouse over them.
- dreamfactory 14y ago...cannot believe that nobody else has pointed this out
- rschmitty 14y agoI agree wholeheartedly. "http://example.org/furniture/desk-chairs/herman-millers-mirra-chair http://example.org/furniture/desk-chairs/herman-millers-mirr... makes me think crappy search landing page website that is probably malware infested I don't want to click, ever However, I believe that is mostly due to the domain. If it was amazon.com I'd click it likewise if it was http://www.example.com/gp/product/B0002K11BK/ref=sr_1_5?ie=UTF8&qid=1348439859&s=home-garden&sr=1-5 http://www.example.com/gp/product/B0002K11BK/ref=sr_1_5?ie=U... I would also think I'm going to get spammed :)
- danso 14y agoThe OP lost me at the Google example. The search URL is one URL that is completely unnecessary to be clean. Google wants you to get used to using the omnisearch box because it can provide such niceties as auto-suggest, instant results, etc...plus, the google query interface is no longer just a text bar, but voice activated...it works against Google's UI/UX intent for you to get used to hacking things in the URL address. And yes, for hacker types this intention of Google's seems overbearing...but for the other 99.9% of the population, google is likely more interested in making search uniformly accessible than making clean URLs
- DanBC 14y agoI agree that Google is aiming at most people, and not the HN crowd, and that they're doing a good job. But I remember the days when you could craft a Google search url by hand and tweak the results. It was part of an advanced user's toolkit. All of that has been taken away. Searching is now opaque.
- danso 14y agoAt the risk of inadvertently dragging us into a discussion about the "bubble" that Google and other social services lock us into...Here are two points that I think are worthwhile: 1. Search has always been opaque. We've never known the complete details of PageRank, and we know even less about the hundreds of other flags and signals used by Google search to parse a query as vague as the famous "mike siwek lawyer mi" into something useful. 2. It is largely a good thing that we don't need to hack the search parameters anymore...because, in one sense, it means that search has gotten amazingly accurate. It's so good that I hardly ever go to the second page of results...instead, if I don't find what I want in the first 10, I just slightly alter my text query and Google will eventually get what I need (or at least what I think I need, but that's a philosophical question). I think that is a better UX experience for even hackers, as you can refine using natural language rather than tinkering with vague params.
- maxerickson 14y agoThe urls Google search presents don't invite hand editing, but it still works just fine. For example: https://www.google.com/search?q=pillow&start=100 https://www.google.com/search?q=pillow&start=100 But you may have tweaks in mind that no longer work, and so forth.
- igorgue 14y agoI think I read somewhere that a good number Flickr's users just hack this url: http://www.flickr.com/photos/tags/<tag_name> http://www.flickr.com/photos/tags/<tag_name> Like somebody else said, I blame the tools, the requirements (but we gotta track the referring url of the referring url!!!), and the programmers.
- frostnovazzz 14y agoI have to say it depends. Some are for people and some are for machines.
- NameNickHN 14y agoThere are people who say that clean URLs are SEO crap. What do I say to those?
- ch 14y agoWhat this boils down to is that there is space on the Web for both human consumable, and machine consumable URLs. If a URL becomes a popular for human usage, it is a safe bet to keep it as it is, that doesn't mean you cannot have all sorts of gobbledygook URLs which also get you to that same resource. There is no need to have this be an either-or proposition.
- danibx 14y agoThe only URLs I care about are the main domain URLs. And I dont even type them. I just use Google to reach the main site. It is faster than typing a full URL. Even more on mobile devices. Or for commonly accessed sites I just type a few letters on my browser address bar. reddit.com is actually re+enter. news.ycombinator.com is actually ne+enter to me. After I reach the main site I usually click around or use the site's search bar. So, I would say that good URL names are a secondary optimisation. I would prefer to focus on this priority: 1) A good unique domain name; 2) Good SEO; 3) Good site information architecture; 4) Good internal site search.
- k3n 14y agoThe more accurate claim would be: "DNS is for computers, not people", because that is actually true. URL's are for both, and so you see hints of both concerns represented. Once your routing passes a certain level of complexity, there is no way to make both functional and human-friendly URL's. The only thing that users should really be concerned with WRT to URL's is the DNS portion; pretty URL's are just that -- pretty -- and a rose by any other name... Ultimately the user should either have trust in your FQDN or not, at which point the actual URL is inconsequential. EDIT: additionally, a URL is not a UI element, and the user should never even need to see or know about any particular URL (much less its scheme), only that interacting with an anchor tag named "profile" takes them to the profile page, for example. It's up to developers to translate URL's to human-friendly counterparts.
- fudged71 14y ago?utm_source=twitter&utm_medium=feed&utm_campaign=Feed%3A+fastcompany%2Fheadlines+%28Fast+Company%29#1 This is the worst offender, in my opinion. It makes any link really ugly to share.
- njharman 14y agoI agree. Except hierarchical is problematic. The world is not hierarchical. Or, rather it is composed of innumerable hierarchies, some disjoint, some overlapping, some redundant, some varying with time, and which one to apply and what the levels are is a huge bikeshed / distraction Chair example: furniture/chairs/desk/chair inventory/current/reorder/chair customer/me/bought/chair customer/me/wishlist/wedding/chair products/used/modern/office/chair products/wood/four legs/padded/black/chair ad nauseum.
- deleted 14y ago[deleted]
- alanh 14y agoMy own notes on URL as user interface include a number of ways you can improve your URLs and allow users to guess them: http://alanhogan.com/url-as-ui http://alanhogan.com/url-as-ui I also list a number of positive and negative examples from the wild.
- jader201 14y agoI disagree with many points of this article, and actually feel the reverse is true: URLs are for computers, not people. To me, a URL is an address to a web site, not the title (or description). If I want to find somebody's address on a map, I don't go to "Bobby's House". I go to "123 Main Street, New York City, NY". If I search for Bobby's house, I'm not given "Bobby's House" on a map, I'm given a surrogate street address. If humans are expecting the URL to look pretty and descriptive, then the issue here is that we've conditioned this expectation and we should instead condition users to expect succinct, surrogate URLs that only serve the purpose of identifying the article you're trying to reach. Additionally, I think the fact that search engines highly weight their optimization on a URL is terrible and counter-intuitive to the purpose of a URL. This is what <title></title> is for, and other <meta></meta> headers. The URL should not determine a page's rank in search results, at all. At the very most, it may make sense to factor the root domain into SEO, but that's where it should end. This isn't the 1990's when much of the web was static HTML pages that could be given whatever meaningful file names. In today's world where the web is dynamic and mostly made up of user-driven content, URLs are designed to route the user based on one or many identifiers, which are often surrogate identifiers, and not natural or meaningful identifiers. Edit: I do agree with the point about useless garbage in the URL (like the Google search examples) that are there only in the interests of the site and tracking/analytics. I think URLs should only serve to get the user where they need to go, and contain exactly enough data to get them there.
- radley 14y ago123 Main St (comma) New York (comma) New York is a human paradigm. You left out zip+4 code, GEO coordinates, user spoken language, travel-type preference setting, internal id, and unique user id tracker.
- nopal 14y agoBut people often need to parse URLs before they provide them to their computers (via click or keyboard), and I think that's the point. The issue is that URLs are often the only piece of information users receive, and it's why we've conditioned users to expect meaningful URLs. From our standpoint, it's not too hard to make URLs more meaningful, even with user-generated content. Plenty of sites incorporate the title of submitted content into the URLs, and it's even easier when creating content for oneself. Would you prefer a link to http://www.example/about http://www.example/about or a link to http://www.example.com/?id=123 http://www.example.com/?id=123. Which are you able to understand before clicking it? Which are you more likely to click?
- Oompa 14y agoI can't help but think of Kyle Neath's blog post about this in 2010: http://warpspire.com/posts/url-design/ http://warpspire.com/posts/url-design/
- sravfeyn 14y agoOn a side-note, I have made a movie web-app where you can just enter movie name into URL to get it's rating & trailer, like www.instamovi.com/#<ANY_MOVIE_NAME_HERE>. It works for keywords as long as they are spelled correct...like http://instamovi.com/#bourne http://instamovi.com/#bourne
- orangethirty 14y agoQuick question: Other alternatives to URLs? I'm not very informed in the subject.
- blauwbilgorgel 14y agoGood URLs are: - Short over long. Consider removing useless words from the url like news.ycombinator.com/tips-for-designing-good-urls - Concise. To the point, describe the page content from the url - Use lowercase. Generally the best idea, for sharing links and technical issues (Apache is case-sensitive sometimes) - Consistent. Stay consistent, make a style guide for URL's if necessary - Conscious of trailing slashes. Stick with trailing slashes or no trailing slashes. Redirect to preferred form. - Logical. Follow a logical structure, that follows the structure of the site. A good URL might read like a breadcrumb: site.com/category/product-name, this works for silo'ing your content. Other sites (such as news sites or without a category) might benefit more from the shortest url possible. - Using dashes for spaces. No underscores, + or %20 spaces. - Not using special chars. Consider replacing é with e and removing any non-alphabet non-number character like: ' " ( - Canonical. There should be only 1 unique URL in a search engines index with a page content. Use canonical or 301's or smart use of URL's to make sure this is the case. - Degradable. What happens if a user visits example.com/category/product-name/ and then removes the /product-name/ part? The URL-structure should allow for this and example.com/category/ should return content (preferably the category description) - Timeless. If you have an event and you set the date inside the URL, then after this date has passed, this URL gets less valuable. Either 301 these aged URL's to the current event URL, or make it so your URL's can be "re-used" for future events. Cool URLs don't change. - Optimized for search. Use a keyword tool, to find out what users might be searching for and use the relevant keywords inside your URL. Keyword in URL is a (minute) ranking factor. Bolded keywords in URLs help discoverability. - Not using excessive dynamic variables. These will confuse your users and search engines. - Flat over deep. Hiding content away in many subdirectories can hamper readability and search engine crawling. Avoid example.com/cat/subcat/subsubcat/widgets/green/second-hand/widget-deluxe/reviews - Extension agnostic. An URL ending in .php, .py, .xml, .htm etc. can be changed to another extension in the future, requiring an update or inconsistency in the URLs. - Not spammy. Good URL's don't repeat (slight variations of) keywords or (ab)use extensions like .font or .shoe - Not disclosing technology. There is little reason to add cgi-bin to your URLs (unless you want to confuse your competition). An extension to really avoid is the .exe extension (mapserv.exe?doc=15) - Non-traversable. When using document IDs all URL's can easily be scanned/traversed in a loop or manually. Including URL's not yet ready/or never meant for publication. - Secure. Not susceptible to injection, XSS etc. I'd say URLs are both for humans and machines.
- devindotcom 14y agoHa - I wrote about this at length years ago, even photoshopped little examples: http://uxmag.com/articles/making-the-url-bar-useful-again http://uxmag.com/articles/making-the-url-bar-useful-again I think it should be done, but I think it would have to be header data explaining the "layout" of the URL, not a standard URL scheme.
- danielnr 14y agoThanks to this post, I decided enough and enough and I started on a user script that redirects different URLs to their "pretty" version. It currently supports Google Web Search (Google Instant Search is not yet supported), although I'll be adding much more when I get home and in the next few days. I've named the script "Prettify-URL" and it is available here: GitHub: https://github.com/danielnr/prettify-url https://github.com/danielnr/prettify-url UserScripts: http://userscripts.org/scripts/show/164318 http://userscripts.org/scripts/show/164318 Note that this is absolutely not meant to be an end-all solution to the problem, but instead a ray of sun in a thunderstorm of ugly URLs. The core responsibility still lies on the developer, this just tries to make things a bit more bearable.
- benackles 14y agoThis is pretty basic, but often ignored advice for information architecture. The article linked to [1] was also pretty interesting. The line that caught my eye was "The URL will continue to be part of the Web user interface for several more years...". Keep in mind that was published in 1999, therefore Nielsen seems to be implying that he believed the URL will eventually become less relevant as a part of the UI. I don't see this happening anytime soon on the "web", but it's certainly true on "mobile". Modern Web Application frameworks such as WordPress, Ruby on Rails and many more are forcing good practices on the web moving forward. Most startups today are following all the practices detailed in this article as a result of the frameworks imposed on them. [1] http://www.nngroup.com/articles/url-as-ui/ http://www.nngroup.com/articles/url-as-ui/
- stormbrew 14y agoKind of a tangent to this, but I'm always really amused by generated clean-looking urls that cut out short words. It's very common to have the word "not" or "no" drop out and produce a headline with completely inverted meaning. localnewspaper.example.com/1934342342/mayor-dropping-race-after-scandal -> Mayor Not Dropping Out Of Race After Scandal
- kristopher 14y agoURLs are for Browsers. Go to any asian country where most, if not all of the population, searches for the websites and content they require. The goal in designing a good URL is in a scheme that allows the site to grow without "abandoning" URLs.
- liotier 14y agoURL are for computers too !