| View source | |
| # 2024-02-19 - Gopher Formatting | |
| I've been reading posts in the gopherverse with opinions about how to | |
| format gopher content. I figure part of the appeal of gopher is that | |
| its design pre-dates the commercialization of the Internet. Likewise | |
| in that era the Internet was flying under the radar. It had room for | |
| ideals like anarchy, decentralization, and dissenting opinions. | |
| A year or two ago, i read strong opinions about how to format content | |
| for gopher. The two main positions are A) RFC1436 and also reference | |
| client only display 70 characters of text, so hard wrapping is polite | |
| and preferrable, and B) mobile devices are the new normal and content | |
| should be designed for mobile users. | |
| I sat and thought for a while, and it occurred to me that web browser | |
| tech doesn't care whether you hard-wrap text. It re-flows / re-wraps | |
| the text to fit the display. Long lines, short lines: irrelevant. I | |
| wrote a proof-of-concept script to hard wrap and unwrap text and then | |
| ran it to convert my site from gemtext to gophermaps and back. After | |
| seeing this successful round-trip, i hard wrapped my content and have | |
| not looked back. I also wrote algorithms to split long URLs in a way | |
| that is human readable and join them back together into working links | |
| in gophermaps. | |
| So far as i am concerned, it is a contrived dichotomy, a rare & happy | |
| circumstance where there IS a technical solution. It's way easier to | |
| change software than to change minds. | |
| There are drawbacks to using a protocol designed in an earlier era of | |
| the Internet, too. For example, internationalization was clearly not | |
| a design goal. Here too, this is a happy circumstance where there is | |
| a technical solution and most client software has already implemented | |
| it. Just take the spec and replace the word "Latin" with "UTF-8". | |
| Recently i wrote a script to validate gopher maps. When reporting on | |
| potentially problematic gopher text, it gives references. One of the | |
| things it reports is using gopher maps for content, versus navigation | |
| as some clients cannot be used in this way. I totally understand why | |
| people would want to use gopher maps for content. This preserves the | |
| familiar metaphor of hypertext that blends links inline with content, | |
| as is done on the web. | |
| Here i do not see a happy technical solution. Either i use gopher as | |
| it was originally designed, and i separate content from navigation OR | |
| i can approximate the web experience and exclude users of old classic | |
| computers and software of that era. As a workaround, i put a link at | |
| the top of my content to "View source," which in my case is plaintext | |
| markup that my script converts to a gophermap. My gopher maps do not | |
| pass my own validation script, but they ARE viewable in UMN gopher by | |
| using the "View source" menu option. | |
| Below is a link to my validation script in case anyone is interested. | |
| I welcome feedback! | |
| gopher-validate.awk | |
| tags: bencollver,retrocomputing,technical | |
| # Tags | |
| bencollver | |
| retrocomputing | |
| technical |