2018-03-27
___G_o_p_h_e_r_m_a_p_s__a_n_d__i_t_e_m__t_y_p_e_s____________________

While reading through my phlogroll[0] I noticed that some authors
misuse the menu item for whole posts. The text is written with
informational ('i') items, while the links are regular selectors. At
first I thought: "Well this is nice, people can just follow the
referenced links." But after some more thoughs I think that it is a
bad idea in general.

This is probably the equivalent of using tables for layouting the
page in HTML.  It will deteriorate the usefulness and semantics of a
directory item. That is a directory item is just a summary or certain
view on a choosen set of selectors. Selectors in gopher are really
flat and without hierarchy although a lot of servers use slashes '/'
as hierarchy markers. It's the directory item that imposes a
hierarchy which should be adapted to the task. Information should be
easy to find and navigation should be simple.

In its most exaggerated form a gophermap makes the reader jump
through dozens of basically empty hierarchy directory listings before
reading content.  The phlog that has years -> months -> posts
organisations clearly trys its reader's patience.  A better phlog
example would be one that has a directory showing the last 5 posts,
then a directory showing all posts or sorted by month.  The user gets
to the interesting content fast.

A side effect of the selectors having no hierarchy: You can easily
modify your directory entries, the selectors to the actual content
stays the same!  To recycle the phlog example once more: Moving posts
to archive pages is just a modification in the directory entries, no
selector has to change! References from other gopher servers will
still work as expected!

Now as I said in another post[1] crawlers should traverse and index
directory entries. What happens if such an indexer sees such a
disguised menu/post?

Therefore I have decided to keep simple files as my post items. I can
write them up in any markup I choose and clients such as VF-1 can
simply grep for URIs (or your script can).

Keep it with the spirit of RFC-1436. Keep it simple!

___References________________________________________________________

[0]: gopher://vernunftzentrum.de:70/1/ckeen/sites.gph
[1]: gopher://vernunftzentrum.de:70/0/ckeen/phlog/2018-03-25-Gopher-crawlers-and-robots.txt.md