#MARCHintosh: MacWeb

29 Mar 2024

#MARCHinstosh

We went away for a week mid-March, which put my MARCHintosh project on hold. However, we’re now back and caught up, and the Easter weekend presents a chance to pick it up with a few days left. After eliminating iCab (incompatible) and MacLynx (seems to work, but the default window is bigger than the 512x342 screen, making it unusable), I managed to have some success with MacWeb:

Screenshot of MacWeb viewing this site

This is plain old HTTP, of course — anything like modern TLS seems infeasible. Even then, I hit some problems initially. Some websites would work, but http://rob.rho.org.uk received a few hundred bytes but didn’t actually show a web page.

I suspected that this was a redirect, and confirmed this from the Apache logs, but couldn’t see why. The base domain, http://rho.org.uk, redirects to that one, but the request should be going to it directly. Then I remembered virtual hosts, which rely on the client sending a Host: header. This is required for HTTP 1.0, but it looks like MacWeb wasn’t being 100% compliant. In any case, once I’d figured this out, it was a simple matter to make the blog the default host, and we were off to the races.

As is apparent from the above screenshot, it’s not very racy. There’s no CSS, no images1, and some modern constructs (notably inline style and script tags) result in source being dumped into the document. However, the basics are there: headings, links, and so on. For a site like this one, with reasonable sensible and semantic HTML at its core, the backwards compatibility story is pretty good. It may be minimal, but I certainly count it as a win: browsing a website from 2024 on hardware that’s older than the web itself.

Side note: I made some progress on the screenshot issue; after a lot of failed attempts to get the screenshots working on modern macOS, and discovering that the obvious ways to convert them to GIFs in classic Mac OS are beyond an SE with 4MB and System 7.0, I’ve come up with a slightly better workflow:

  • Transfer the file to the SD card using the BlueSCSI Toolbox. As the SD card is formatted in FAT32, this loses the resource fork and type/creator codes.
  • Upload the file to a System 7.0 machine on Infinite Mac
  • Use ResEdit to set the type to PICT
  • Convert it into a GIF using Graphics Converter there
  • Download the result

This is far from ideal, but the result is a pixel-accurate image. I may revisit this rabbit hole at some point in the future, but for now I’m happy to move on to more interesting things.

  1. PNGs were obviously not going to happen, but I was hoping GIFs would work. For some reason, the ones I’m serving seem to be broken, but I’m not sure why. [back]

This site is maintained by me, Rob Hague. The opinions here are my own, and not those of my employer or anyone else. You can mail me at rob@rho.org.uk, and I'm @robhague@mas.to on Mastodon and robhague on Twitter. The site has a full-text RSS feed if you're so inclined.

Body text is set in Georgia or the nearest equivalent. Headings and other non-body text is set in Cooper Hewitt Light (© 2014 Cooper Hewitt Smithsonian Design Museum, and used under the SIL Open Font License). BBC BASIC code is set in FontStruction “Acorn Mode 1” by “p1.mark” (licensed under a Creative Commons Attribution Share Alike license).

All content © Rob Hague 2002-2024, except where otherwise noted.