Surfing Modern Web With Ancient Browsers

(note this is a guest post by Tenox)

[Update: A full HTTP Proxy version has been made in this post.]

I spend a fair amount of time working with legacy operating systems. Apart from being obsolete themselves they suffer from a common problem – the web browsers are simply unusable on a present day Internet. You start by getting JavaScript error on google.com and it only gets worse once you go further. Try going to microsoft.com with IE 1.5 or qnx.com with the last version of Voyager. This just doesn’t work. With rapid progression of web standards, the situation will only be getting worse in time. Something had to be done.

Quite a while ago I’ve came across Opera rendering proxy for mobile browsers. This got me thinking. If you could render a web page on a proxy server to a simplified HTML, say 3.x., this would make a lot of web browsers happy! Also, for some unrelated purposes I have been using webkit2png which allows to create a whole web page snapshot in a single png image. What if such image had an image map of clickable regions pointing to the original links?

The idea was born, but was it possible to implement and would it work? Webkit2png was quite far from having all the required functionality. Fortunately, though after some additional research I have stumbled upon picidae network. To my utter surprise they actually made all or even more functionality that I wanted in their picidae.py script. All that had to be done to adapt picidae to my purpose was to save the image as a GIF image, generate a simple HTML page with imagemap, an input box and strip all the unwanted stuff.

Webrender.py came to life. It’s a cgi-bin application that resides on a machine in the middle. It renders a gif image and spits it out to the browser together with a simple web page, containing a URL and search input boxes plus the gif and image map.

After some initial debugging and massaging out few bugs the solution worked perfectly! I could finally get the old browsers happily navigate modern websites! Check out some examples:

Internet Explorer 1.5 on microsoft.com

Internet Explorer 1.5 on microsoft.com

Yes! You can finally browse microsoft.com with IE 1.5 🙂

Netscape 4 visiting netscape.com

Netscape 4 visiting netscape.com

Or go to netscape.com in Netscape 4.x browser. This was impossible just a few hours ago!

How about some other browsers:

QNX Voyager going to qnx.com

QNX Voyager going to qnx.com

Mozilla on UnixWare

Mozilla on UnixWare

Old Firefox on Haiku

Old Firefox on Haiku

CNN on Mosaic

CNN on Mosaic

apple-mosaic

Apple.com using Mac Mosaic

IBM WebExplorer on OS/2

IBM WebExplorer on OS/2

RiscOS !NetSurf on Wikipedia

RiscOS !NetSurf on Wikipedia

netscape3

Netscape visiting DNA Lounge

NextStep OmniWeb on Reddit.com

NextStep OmniWeb on Reddit.com

Enjoy!

Update: A full HTTP Proxy version has been made in this post.

49 thoughts on “Surfing Modern Web With Ancient Browsers

  1. I prefer to use opera 11 with older operating systems. Opera 11 came out in 2010 and was the last opera version to work with a variety of operation systems.

    Opera 11 compatible OS.
    Windows 95, 98, ME (Opera 10.10), 2000, XP, Vista, 7, 8

    Mac OS 7, 8, 9, X (Intel – Current versions) (OS X PPC 10.63 and below)

  2. TBH, IE Does not render those sites much better still to this day.

    (Yes I know that is to harsh, but I design and build websites, Its just still bad compared to the to the others so it deserves to be trashed a bit still.)

  3. As someone who writes third-party JS and has to constantly debug IE and quirks issues, I would want this to be a proxy service and the entire web could be free from dealing with crappy browser and just give them a clickable screenshot 🙂

    • Way to miss the point. Old OSs often do not have modern browsers available for them. I have an number of IRIX machines and a slow version of Firefox 3.0 is as good as it gets. Other legacy systems often do not have modern browsers available, plus modern Javascript sites need a LOT of processing power to render them. The idea of using a modern machine to do the processing/rendering and the end PC to display the simplified site means old computers can still realistically use the web. This is a very big deal!

  4. This is a fun thing. I’d note however that while it’s not true of most of the options you list, for NetSurf, RISC OS is still the primary target and primary reason we exist. As such, the very latest NetSurf does run on RISC OS still.

  5. What a great idea. Having only just read this, I assume this only does image maps, no forms interaction?

    My workplace can only use IE8 and Firefox, Chrome from several versions ago, contrary to what our customers would use. Without going into more detail, a solution like this would be great.

    Thanks for namedropping RISC OS. It’s a great OS on Raspberry Pi.

    • No it doesn’t but it may in future. The original picidae.net script actually did support form fields. I just didn’t bother implementing it. But I may add it in future. For now QT version has a priority thought.

  6. I will give you my first-born child (or, alternatively, a different first-born child of equal or lessor value) in exchange for posting the source code for this on GitHub.

    Seriously, this has the potential to change the entire web for the better.

    Do the right thing. Save the children. Save them from Internet Exploder.

  7. Hello! Thank you for developing this. I have an idea to bring Rhapsody (Mac OS X server 1.2) back to life, and I cannot do it without the use of this script. If you could please upload the source, I would be one very happy lad.

Leave a Reply to Liam Cancel reply