5

I have a web app that contains a stream of entries with a "more..." button at the bottom that loads in older entries. If one of the entries is selected then the right panel displays details on that entry.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

This works well for the data being shown, as 90% of users only ever need to see the initially loaded data, it's not common to need to look back in time. However, I need to provide a way to link directly to an entry. When that entry is on the initial page of data this is easy, I just select it and scroll to the selected item.

My problem comes when the required entry is further down the stream and not part of the initial load, it would be possible to have a link that takes me to a build that is many pages down in the stream. I can only think of two options...

  1. Chop off the top of the stream and make the linked entry be the top of the lists, doing this breaks a core convention of always having the most recent entry on top. I would need additional UI to load prior entries.

  2. Just keep loading pages until the linked entry is in the stream, this could involve loading dozens of pages of data and would be slow.

Are there any good ways to handle this kind of linking directly into a stream of data?

2 Answers 2

2

You don't have to invent anything new. There's one existing web application that works similarly to what you need - Twitter. Each message there can be shown in a stream of many but it also has a unique URL and can be rendered individually. When a user gets the unique URL from the stream view, the URL leads not back to the stream but to the individual message page.

I suppose your list view already feeds from a database. You just need to create one additional view (likely, the sidebar display will be the template) and generate the link for each individual item to replace your current link. (I guess your current system works off anchor links.)

5

Permalinks
I would recommend creating a "static" version of each entry (i.e., a separate page with an absolute URL that someone can type in an address bar, thereby also enabling that URL to be shared as needed). It could just be as simple as loading exactly the same content (in the same layout and style) as what you're already loading in the preview thing you're using. Then, click an entry to "preview", but have a small button or link that points to the "static" version of the same content (a permalink, or shareable link, whatever you want to call it). The point being that it's available but clearly not a primary action.

SEO
This has the added benefit of being more visible to search bots which will make your content easier to index and be found by people searching for terms relevant to your site. I'm not sure how you're loading the previews right now, but nothing beats a plain-Jane link to a static HTML page if you want to play nice with search engines (as opposed to dynamic AJAXy goodness ;)

All Content Should be Navigable
I think it's a good idea to be able to navigate the older content, but as you said this isn't the most important content, I like your option of a "more" link instead of an automatic "endless scroll" type of thing (more content doesn't need to be loaded if you're only interested in the newest stuff). But all that juicy content should be available to Google (I mean why not grab that extra SEO bump?) and some of that content might just be useful to somebody someday, and if it is, that person will think your website is great because it kept all that good stuff online.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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