The story of Pagehop
Hi,
This is the story of the Pagehop app — a Launcher for the Web.
Pagehop, isn’t released, yet, but it will be in a matter of days. Stay tuned!
I am a software engineer. I don’t like to “re-invent the wheel”. So, I use a lot of 3rd party tools and libraries, in my projects.
But whenever you use a dependency, whether it’s external, or homegrown, you end up reading its documentation on a regular basis.
Usually, this documentation is in the form of a website, to which, at some point, you get so acquainted, that you can go to the correct page with a blindfold over your eyes. Simply, because you use it that much.
Very often, when I have to use a method in some lib, I go to the online docs and read. But since I know exactly where this reference is, I used to always do this:
- open up my browser;
- open a new tab;
- write the documentation site’s root url (or navigate with a bookmark to the root);
- navigate through several links in the site, until I am at the right page.
The frustration
This task became very irritating for me, but it wasn’t until I realised, I use this same algorithm for many other scenarios, that I started thinking how can this be solved.
I caught myself doing this:
- whenever I knew exactly where I want to go and exactly how to get there, I didn’t like using a search.
I didn’t trusted it that much. I didn’t want that unpredictability on my path. That’s why I betted on manually navigating to the places I wanted to go.
What’s particularly tedious about this, is that I, usually, know 3–4 actions ahead (links to click on) during my trip to the destination page and I can’t preset these actions to just be executed for me — I have to wait on every step of the way. Not only that, but I am waiting for scripts, images and styles to be loaded, that I don’t need…
The idea
So, as a developer, I naturally thought — What if I can write my way to the destination?
This is how I got the idea — a Launcher app for the Web.
You open up a small text field, from anywhere you currently are, you write your path to the known place and if it shows up as a result of your query, you press the Return key to open it up in the browser.
Here is my first visual mockup of the app (this is somewhere around the end of 2012, the project was first called WebJumper ☺):
The Failure
My initial idea, was to load a sitemap for any site you want to navigate into. But, as it turned out, it wasn’t clear who is going to build and maintain these sitemaps. It was a chicken-and-an-egg type of problem, so I dismissed it pretty fast. And since I couldn’t think of anything better, at the time, the project didn’t start.
…until late 2013, when I realised, that the sitemap was already there —
it was the site itself.
Why not use the network of hyperlinks as a sitemap? This is how Pagehop was born.
But I knew not every site would be easy or even possible to navigate-through, in this manner.
So I came up with Recipes
Extensions, which can scrape pages or consume web services, thus allowing navigation in any website and using any service.
Recipes provide the initial set of addresses to chose from.
To get all of the links on one of the urls provided by a recipe, you use the Links tool.
So now
This is how the query, I wrote back in 2012, is looking like in Pagehop, right now:
- “wiki” selects the Wikipedia recipe;
- “math” is the query to search with, in Wikipedia;
- “:l” (the Links tool) tells Pagehop to return all the hyperlinks from the first result’s url of the Wikipedia search;
- “lin algebra” will make a fuzzy matching on the titles of the links that the Links tool returned.
Although it’s completely different implementation from what I had in mind initially, it’s fascinating how close the result still is.
Pagehop 1.0 will soon be released and it has whole lot more to offer than it was originally intended to. Stay tuned.