2

In a single page web application that uses hashes/pushstate to create urls is it considered a good idea to use urls to record page state?

An example would be adding a url to record the selection of a tab. On the plus side this would (be one way to) enable scenarios such as linking to a page with a tab preselected but on the downside browser button behavior might be a bit unexpected (selecting tabs 10 times and then hitting the back button 9 times would leave you on the same page but with a different tab open).

Any pointers to even tangentially relevant guidelines/research would be greatly appreciated.

  • 1
    Can you post visual examples of the problem statement as that would help understand your question better – Mervin Johnsingh Oct 13 '14 at 19:59
  • 1
    Are you referring to using breadcrumb navigation or a history tree type of record keeping? – SheTeeples Oct 15 '14 at 12:44
  • Do you anticipate that you will have a lot of these # states/jumps throughout the page? If there is only a handful, maybe just go ahead with it, if the user is going complete a lot of functions on the page, maybe there is a better way. – Devin Nov 26 '14 at 22:23
3

Yes

URLs are a valid communication tool for both users and machines.

While I can't provide evidence for this exact situation, there is some evidence from Google Adwords:

The display URL captured a significant portion of the time people spent looking at each PPC ad, as shown in the tables and heat map below. For PPC ads served above the organic listings on the left side of search engine results pages, the display URL garnered over three times more gaze time (0.53 seconds) than the text description (0.15 s). Further, the display URL in PPC ads in the top position on the page above the organic results received the same amount of gaze time as the headline, 0.65 s.

Therefore better URLs = better information for users.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.