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.