I was sitting in the car and rethinking navigation on weblogs in general. On large weblogs this is somewhat comparable with navigating the Internet. There are several ways to do so and I was wondering if I couldn’t write a plugin for WordPress to centralize all navigation possibilities within 1 widget.
1. Content Independent
1.1 Based on order of posting
1.1.1. Navigate posting by posting
Weblogs have already a build in navigation system: they are ordered by date. So you would typically see the newest blog postings on top and the oldest blog postings at the end. Pretty neat feature! The way to navigate through this is:
Use the scrollbar of your browser to scroll down to older postings. This is not needed to be included in the navigation panel. However it actually could be included if we would make the navigation panel a “floating on top widget” we could then include an arrow up and arrow down button to jump to the next posting.
1.1.2 Navigate page by page
By using the forward or backward option which shows an amount of postings as defined to fit on 1 page. Obviously one of the buttons will be greyed out when either the newest posting or the oldest posting is on screen.
1.1.3 Navigate by a specific page
A variation on 1 is to actually make it possible to jump to a specific page within the collection of pages.
This is comparable with visiting all webpages on the Internet, one by one, just order them by IP address instead of URI (e.g. start with 0.0.0.0 and end with 255.255.255.255 (which is the end of the Internet), then order them on portnumber e.g. 0.0.0.0:0 to 0.0.0.0:99999 and then index the pages under it and put them all in a long list. Just click on the number you want to jump to.
On a weblog this can be compared with the paging tool, you start by reading the first page and you end with the last page. Each page contains several posts. It’s the oldest navigation we know. A book.
Content has nothing to do with it.
1.2 Navigate by dates
1.2.1 navigate date by date
Weblogpostings are written on a certain date. Sometimes you find the date to be a header and several postings under it. I did this for quite a while. It does not hurt the logical order of the page and is secretely another build in navigation component. You often find a little calender on weblogs to let you travel to specific date or month.
1.2.2 navigate month by month
Another variation on this is to group them on groupings of dates e.g. per month or per year. In most cases these are called the archives and you find a link to these on almost all weblogs. This is typically something I would regard as belonging inside a navigation element since it is another variant of 1.1 and really not dependent on content.
I have combined both the archives (in a duo pull down menu) and the calender in the to be widget:
1.3. More content independent navigation
Other content independent ways of navigation are e.g. to display all postings by one specific author (which is useless on my weblog since I am the only author) or e.g. by amount of comments. Apart from that there are countless more which I have put in a little pulldown menu (e.g. “latest 10”), in here could go the numerous (sql) queries on the database.
1.4 Random Post / Page / Month / Date
A random posting is not really tied to a “task” but for whatever reason people like to use it. Maybe to get an impression of the weblog overall or just to waste some time. Since it is tied to the concept the pulldown menu of e.g. author will contain the word “random” and the pages will contain the word “random”.
Random postings are not the same as Stumbling postings. In the case of stumbling a preselection of best postings has been made, so that is tied to the content on which more in chapter 2.
2. Content Dependent
Navigation on content is used internally but also externally of the weblog e.g. websites that aggregate my content will e.g. categorize all postings posted on a certain topic on the same page.
2.1 None Annotated Hierarchical
2.1.1 one level deep navigation (tags)
When you begin for the first time on the Internet you might keep a simple small list of bookmarks. When the Internet began this list was also small and simple. Just the location and a short description. Within the weblog, postings can be tagged. Though one posting can have multiple tags you still can reach only one set of postings under a single tag. It’s a 1 level deep navigation. While this is only about content, tagclouds can visually express how many postings are in side a certain navigation element: the tag. Obviously you can display tags on many other features e.g. on newest or oldest dates. On the Internet you can find countless variations on how to display tags. Many are extremely cool. For now, I choose the well known tag cloud for the example.
2.1.2 two level deep navigation
Older internet directories like the statcounter directory or startpagina use a 2 level deep navigation. You have the topic and within the topic several subtopics (in the case of startpagina pages with table parts). Normally you don’t have this division inside a weblog, but obviously you could use your tags or categories to create within these specific pages subcategories to 2 levels deep. E.g. on my music page I have put some bookmarks in seperate webparts, which can be regarded a 2 level deep structure. This is typical something for in the sidebar. It’s also the directory structure e.g. stumbleupon uses so you align with those topics to start with (or align with startpagina topics) (or any of the other hundreds of choices).
In a sense categories are pretty cool because you get a little extra space in Google that displays your subtopics (if you have included the categories in your sitemap).
It’s not something typically present in the weblog world. There are “categories” but these allow up to N level deep subcategories. However in the WordPress taxonomy by default “tags” and “categories” are defined as a taxonomy type. We could just as well add a new taxonomy type which is standard only 2 levels deep, maybe call it “startpage” or something more logical. Since it does not exist in WordPress I will not add it to the widget. However it might be something to add. Most logically it would fit with the “links” one can save in there.
Hmmm… Let’s assume the links in WordPress can be ordered only 2 levels deep, then it can be added like this:
(and function as your blogroll too). The links thing will contain collection of all your external links on seperate pages.
2.1.3 N level deep navigation
On the Internet you find directories of websites. These are first things people made when websites began to grow. Well known directories are dmoz, yahoo, about and startpagina. Within a weblog you can often navigate based on e.g. categories assigned (default in WordPress) or tags (default in WordPress). The first one is hierarchical, the second one is flat. In between is a long array of options e.g. startpagina is only 2 levels deep : topic of the page, header of table while dmoz is very deep.
In WordPress and basically any other Weblog system you can do this by categories.
2.2 None Annotated – Non Hierarchical
2.2.1 Search on keyword
What Google did was taking all urls of e.g. dmoz and just ranked them inside their categories based on popularity. So it combined the already categorized urls with a popularity ranking. This was useful since noone likes to click through hierarchies.
So we can either include the default WordPress searchpage or the Google search (paid for each search) inside the navigation widget:
2.2.2 Search on specific things / within categories / content based / etc…
We can specify an endless list of combinations on which people would like, within a specific task, to search. We will summarize this with “advanced search” which opens up a dialog with many extensible options maybe even complex formulas, objects and regex… we might even add extra information like “latest searches” or “based on your referrer information you are probably searching for this.
2.3 Annotated – non Hierarchical
If we allow users to rate postings on our weblog we could let them stumble through our most popular postings to give a good feeling of our weblog. There are a multitude of plugins available e.g. “stars” to retrieve information on how your users feel on your blogs.
2.3.2 Based on Comments
You could even say that comments are a way of annotating too to give an indication of the content. You could think of “latest commented on” or “most commented on” type of queries.
2.4 Annotated Hierarchical
2.4.1 Stumble within a categorie
Stumbleupon let’s you stumble within a certain category or even within a certain site like wikipedia. All the urls are annotated and judged by people and the more people like a certain page the more it will flow through the network. This can be added very simple.
2.5 Other Content
There is much much more navigational stuff to add. It would just seem like a neat idea to just place all ways of default navigation in a sort of default box so a visitor would have a 1 place control panel to navigate through your site instead of having to look for it at the top, at the side and in the footer.
Some extra ideas to finish off: add a sitemap link, surf by images and some default links.
Whenever I will find the time I will give it a go