2020-03-16 GOPHER SERVICES
I've been thinking about some common web services that I'd like to
see on Gopher. Generally I wouldn't object to using them on the
web, except that all of the implementations currently available
there use scripts and lots of other bloat. These actually cover a
large extent of what I use the web for.
They are ordered according to the expected difficulty of their
implemetation. I have some intention of setting up the first two.
after that it's not likely that I'll get to the rest any time soon,
but still they're quite practical.
1. Weather:
^^^^^^^^^^^
Here I'm selfishly thinking of Australian weather forecasts.
Floodgap actually has this covered already, in theory, via Floodgap
Groundhog:
gopher://gopher.floodgap.com:70/1/groundhog
Surprisingly they offer the Australian Bureau of Meteorology's
seven day forecasts over port 70. However there are mysterious
omissions of certain cities that the BOM _does_ provide forecasts
for on their website. Naturally these include the two cities
closest to me.
Presuming that they were parsing the XML data feeds available from
the BOM website:
http://www.bom.gov.au/catalogue/data-feeds.shtml
I figured it was just an omission in their script, and was thinking
of sending them an email to request that the missing cities be
added. First though I checked a bit deeper in the directory of the
anonymous FTP site that serves those XML files:
ftp://ftp.bom.gov.au/anon/gen/fwo/
It turns out that there are actually also separate XML and PDF
files containing forecasts for each city, and for _most_ there's
also a plain text file. Sure enough the cities where the text file
is missing on the BOM server, are those missing on Floodgap. So
rather than actually doing any XML parsing, Floodgap just have to
copy the Text files across, for cities where the text files are
available.
Given that they don't advertise the existance of the Text files at
all (and given my prior experience in dealing with Australian
government agencies), it probably wouldn't help to request that the
BOM fixes whatever stops these certain cities from getting plain
text forecasts.
Running pdftotext on the PDFs produces results quite similar to the
text files, so that's one solution. Still though, the format isn't
all that great as it is. It would be much easier to read with the
date headings emphasised somehow, or if there were visible borders
between the days. A table at the top showing the key numbers
(temp., wind, rain) for each day of the week would be good too.
Really I'm working my way back to parsing the XML data.
Alternatively,
http://wttr.in provides a source of data and there
is already a Gopher "proxy" for it here:
gopher://gopher.gluon.me:70/7/cgi-bin/weather.cgi
The thing is that it only shows forecasts for three days, not the
whole week that the BOM gives you (and that I'm used to, unreliable
as the forecasts for the last days usually are).
It apparantly uses wego:
https://github.com/schachmat/wego
But that's written in Go, and I don't want to get mixed up in that
witchcraft. You also have to mess about with accounts and API keys
for the services that provide the weather data, and there's no
backend to support the BOM site which doesn't need all of that fuss.
So I think a BOM XML parser is the way to go for me, and in fact
there's already something to base it on here:
https://forum.logicmachine.net/showthread.php?tid=1836
2. Currency Converter
^^^^^^^^^^^^^^^^^^^^^
So now we're into the ones that nobody has tried so far on Gopher,
as far as I've seen. Google used to have a nice plain, no-nonsense,
currency converter page that was just a plain web form (if you knew
where to look on finance.google.com to find it). But a few years
ago disappeared without warning. Alternatives are scripty and
bloated. What better place for a dead simple, plain text, currency
converter than Gopher?
Well to be honest the lack of an equivalent to HTML forms will be a
bit of a pain. I suggest that the gophermap would show a selection
of currencies to convert to:
Australian Dollar (AUD)
British Pound (GBP)
Canadian Dollar (CAD)
Euro (EUR)
US Dollar (USD)
etc.
Each being a search input item. So you select the currency you want
to convert to, then enter the amount you want to convert followed
by its currency code. So to convert from USD to AUD (what I usually
want to do), you'd select "Australian Dollar (AUD)", then type
"10.55USD".
For the back end, the GNU Units program:
http://www.gnu.org/s/units/
Is able to convert a wide range of currencies and automatically
update rates daily from free online currency data sources.
3. TV Guide
^^^^^^^^^^^
Granted there isn't much on Australian TV these days, but I still
find it worth keeping an eye out for the odd gem. XMLTV is a
standard format for TV guide data, and there are a number of tools
for scraping it from the web:
http://www.linuxtv.org/wiki/index.php/XMLTV
Also there are some tools for receiving the TV guide info from PC
digital TV tuners. This ought to be much more reliable because
you're reading the data in another standardised format that
shouldn't change unexpectedly. However it needs physical receivers
all across Australia and the globe in order to offer general
coverage. Still, it shouldn't be hard to set up a basic system for
others to upload this data, and use it in combination with the web
scrapers.
The format would probably have to be one page for each channel,
consisting of a gophermap linking to description pages for each
programme. This would work OK for me as I've given up on all but a
few channels, but it might be inconvenient for people who would
prefer the conventional table view of all channels at once. There's
probably not much to do about that (at least while embedding
description links).
4. Classifieds
^^^^^^^^^^^^^^
I love browsing (and on rare occasions buying things) from Ebay,
but the site is a script-filled, bloated, pain in the neck
(although many other online shopping websites are even worse). Here
I'm just thinking of a Craigslist or (in Australia) Gumtree sort of
thing (GophTree? Hmm...). You can search or view categories for
things, and sort by price, listing time, etc. Images could be
uploaded, though of course navigation would have to be via text and
so the importance of images might be reduced somewhat.
Of course Gopher doesn't have any equivalent input system to HTML
forms that could be used for listing items on a similar website. I
suggest an Email-based system. People Email their title and
description text in a certain simple format, and attach any images
they want to include. If someone wants to enquire about the
listing, they do so via Email (some system to protect email
addresses from spam might need to be implemented). Some form of
"cancel" email can be sent from the seller's address to delete the
listing if the item is no longer available.
Really it's just a bare-bones classifieds system. It would be free
of course. It's unlikely that it would become popular enough that
moderation would be a significant chore, though I suppose you never
know. Being a little out of sight I guess it might attract some
dodgy operators, but I think that's worth the risk.
Some people might see this as the pointy end of commercialising
Gopher. But personally I don't think it would be much of an issue
so long as it keeps to the simple, plain-text, "philosophy" of
Gopher.
Conclusion
^^^^^^^^^^
Well that's it. Whether anyone would use those except me, I don't
know. But on the other hand if you're thinking at least one or more
of those is a good idea, and you've got the time and skill to
implement it somewhere, then you'd have at least one user.
Like I say, I hope to have a go at the first two. But frankly there
are a _lot_ of more important things that I should work on when I'm
in the mood for doing that sort of stuff.
- The Free Thinker.