matb33.me

Mathieu Bouchard

Deep Links in Web Applications

I've always implemented deep-links without question, because I come from a web site (vs web app) background where indexing is very important.

When I dove into writing web applications, it seemed just as prevalent a concept. It felt familiar so I just went with it.

But after actually using my web application on a regular basis (and seeing others interact with it), I wonder if I did the right thing in implementing deep-linking...

As a developer, a deep-link is very convenient. It follows the HTTP principle of being stateless, so copying & pasting the URL (or bookmarking it) restores you where you left off. Plus it's great for routing purposes.

Well, here's the thing... who are these deep-links for anyway? The developer or the user? Are deep-links really benefitting the user? When users navigate to my web app, is the most common entry point the root URL? As far as I've seen, yes it is. They usually type it in their browser bar and let the browser remember the full URL from history. So why are they being treated to the landing page? Remember, we're talking web applications here. Indexing doesn't generally apply... we're not in website land anymore. I think my users would prefer the web application remember where they left off and take them back exactly there, deep-link or not.

So what does that mean for deep-links then? Well I think my plan for the future is to "hide" deep-links, i.e. still use the underlying infrastructure with regards to routing etc, but keep the deep-link information in session or local storage.

I wonder what everyone else thinks? Am I crazy to break from the convention?