Bringing back the Web of 1990
February 20, 2019 11:27 PM   Subscribe

To celebrate the Web's 30th birthday, a reimplementation of WorldWideWeb, the first web browser.

Not content with 2013's efforts to recreate the first cross-platform browser (previously) or to put the first web page back online, CERN recruited a bunch of geeks and put them to work reimagining the original web browser so that you can use it inside your browser. The result is moderately faithful, right down to the jaggedy fonts.

First time using a 30-year-old web browser? Here's some tips: launch the browser. There's no address bar: select "Document" > "Open from full document reference" to type in a URL. Double-click links to follow them; everything opens in a new window. Oh, and you can edit every page just by typing onto it: Sir Tim's original ideas for the web included a "write-and-save-back-to-the-server" interface as standard which wouldn't be widely realised until the first wikis, five years later.

Previouslier on MF: the web's 25th birthday the web's 22nd birthday, the web's 15th birthday...
posted by avapoet (30 comments total) 29 users marked this as a favorite
 
gopher.metafilter.com doesn’t work with it, so who cares
posted by Going To Maine at 11:33 PM on February 20 [2 favorites]


honestly, the disheartening thing is that many metafilter pages don’t seem to work. Oh, the modern web.
posted by Going To Maine at 11:37 PM on February 20


I was personally pretty surprised Metafilter doesn't work with it. I believe they're planning to open source it so I might have to download it and work out why.
posted by avapoet at 11:48 PM on February 20


Like visiting a pioneer village, the candy shop and fake blacksmith are good for a 5 minute visit but actually living there would suuuuuuck.
posted by GuyZero at 12:16 AM on February 21 [10 favorites]


I was personally pretty surprised Metafilter doesn't work with it

CSS and JS. They do things. Important things.
posted by GuyZero at 12:17 AM on February 21 [2 favorites]


CSS and JS. They do things. Important things.

Well: to a point. CSS adds style. JS adds behaviour. In the absence of both you should still have the HTML (providing the semantic markup) and the content. A website built to the principle of progressive enhancement can still be perfectly functional without either CSS or JS.

Metafilter ought to work, albeit read only, in WorldWideWeb (with no form support or cookies you couldn't post, comment, or log in).
posted by avapoet at 12:47 AM on February 21 [4 favorites]


It's really interesting to look at the websites I visit most frequently in WorldWideWeb. Some of them are mildly preferable, if it weren't for the difficult-to-read font, though it's much better when I zoom in a bit. But once I figured out the basics I found it quite a pleasant experience.
posted by Kattullus at 2:51 AM on February 21 [1 favorite]


My website and blog both work -no images obviously but all the text is readable and formatted decently.
posted by COD at 5:03 AM on February 21


> gopher.metafilter.com doesn’t work with it, so who cares

Gopher is not HTTP. And it didn't arrive until two years after Berners-Lee's browser.
posted by ardgedee at 6:13 AM on February 21 [4 favorites]


The only thing that matters: Does it do blink tags?
posted by ZenMasterThis at 6:19 AM on February 21


Obviously not, since that was invented by jwz for Netscape.
posted by ardgedee at 6:22 AM on February 21 [3 favorites]


Bummer.
posted by ZenMasterThis at 6:27 AM on February 21


I don't miss early web browsers. The early web was a hellscape of black text on a grey background and little to no interaction. This is akin to marveling over the handling of a Model T.
posted by grumpybear69 at 6:33 AM on February 21


so one way we could "bring back the web of 1990" is by emulating the earliest web browser in our modern browsers. But my preferred method of bringing back the web of 1990 is eliminating all commercial/for-profit activity from the modern internet.
posted by Reclusive Novelist Thomas Pynchon at 7:27 AM on February 21 [11 favorites]


I do pine for that clean NeXT GUI something fierce, albeit with non-extra-jaggy fonts.
posted by Celsius1414 at 7:44 AM on February 21 [3 favorites]


I was just going to say that. I suddenly had a pang of missing my old NeXT machine. Pizza box, not cube. I can't claim to have been a true NeXT OG.
posted by The Bellman at 8:13 AM on February 21 [1 favorite]


Looking at how my blogs render I feel smug in my reliance on simple HTML. Although the lack of HTML entities for things like "smart" quotes sure does a number on Markdown output.

Does the emulated NextSTEP not fully implement the window manager? Or have I forgotten how to resize windows?
posted by Nelson at 8:27 AM on February 21 [2 favorites]


Does the emulated NextSTEP not fully implement the window manager?
It's not even slightly implemented. It's just the browser (and that not completely; it's leaning heavily on your browser for most of your work). It's a simulation rather than an emulation. But still fun!
posted by avapoet at 9:14 AM on February 21 [1 favorite]


Is there a list of HTML codes you can use on MeFi? Every once in a while I see people using some weird ones that I’ve never seen before.
posted by gucci mane at 10:23 AM on February 21


Looks like when you run this your traffic is actually running through CERN (if you browse to myip.com etc you'll get a CERN controlled IP address). So don't send passwords (in case you can even get an application with a login to open to enter them.......)

Predictions by the end of the week:
1. Some smartarse will have found a way to breach CERN or otherwise access internal CERN resources through this. Bonus points if there is a CVE issued to the browser.

2. Someone will get worked up about the privacy implications of allowing CERN to potentially collect your PII through this proxy (hand waving and shouting GDPR).

3. Some web analytics person will be scratching their head wondering why so many people are trying to view porn on this fancy new browser which doesn't send any recognized HTTP headers, and be asking around how to optimize for this new Hypermedia Browser/Editor alpha version 1 that the cool kids are using.
posted by inflatablekiwi at 10:33 AM on February 21 [1 favorite]


Is anyone else getting '500: Internal Server Fangle The requested URL /179514/Bringing-back-the-Web-of-1990 was made this server go "no".' when trying to access Mefi through this?
posted by at by at 11:16 AM on February 21


> Someone will get worked up about the privacy implications of allowing CERN to potentially collect your PII through this proxy (hand waving and shouting GDPR).

I'm not sure how. Among the unsupported elements are INPUT and SELECT. TEXTAREA is (inappropriately) displayed but without Javascript or BUTTON or INPUT, good luck sending anything upstream with it.

Amusingly enough, the proxy does not properly strip AUDIO, METER, and PROGRESS, so this test page shows some anachronistic stuff in Chrome.
posted by at by at 11:20 AM on February 21 [2 favorites]


I'm not sure how.

Yeah you are right...seems unlikely given limited tag support. But I guess never underestimate people cutting and pasting a URL in with PII or a session cookie in the URL parameters....plus people being concerned about correlating source IP address to browsed website.
posted by inflatablekiwi at 12:28 PM on February 21 [1 favorite]


Alas, the MetaFilter Reader via the WorldWideWeb only displays:
↑
↓
←
→
Being this is CERN, I really hope I didn't just create a micro black hole in the LHC.
posted by Celsius1414 at 3:35 PM on February 21 [1 favorite]


Now I remember why I didn't get a computer until 1994.
posted by Doohickie at 9:12 PM on February 21


The team behind this reimplementation just released the source code, so I downloaded it to try to work out why, as some of you observed, you couldn't look at MetaFilter pages using it. As I said earlier, I was surprised that MetFilter didn't seem to work: it felt like it ought to!

Turns out that the issue is actually caused by MetaFilter itself! The WorldWideWeb reimplementation uses a proxy server to request pages, to work around the CORS restrictions. That proxy uses a raw implemenation of request, which means that the User-Agent header is set to the default, which is 'request'. MetaFilter seems to be configured to return a 403 (forbidden) if the User-Agent is set to 'request' (not sure why...?), and the WorldWideWeb reimplementation doesn't have proper error handling for 403s so it just shows that "Internal Server Fangle" error.

I updated my copy of the source code to set the User-Agent header to 'WorldWideWeb', which is somewhat more-accurate from an emulation perspective and, amazingly, resolves the problem. Here's a screenshot I snapped of this thread. It seems to have some problems with the <br> tags, and that surprises me a little, but otherwise it looks pretty usable as I'd predicted.

Not that anybody will read this thread again, but I wanted to come back and set the record straight. ;-) For the future historians, I guess!
posted by avapoet at 12:59 PM on February 24 [5 favorites]


> It seems to have some problems with the <br> tags, and that surprises me a little

That's because BR was added to the HTML spec in 1994! That surprised me too.
posted by ardgedee at 1:59 PM on February 24 [1 favorite]


That's because BR was added to the HTML spec in 1994! That surprised me too.
Wow! I assumed it was original: I wrote my first Web pages in 1994 and I've paid a lot of attention to the specs since then so I can only assume that it became standard just before I started watching the evolution of the language. Fascinating!

(It's possible, of course, that its use was widespread before its standardisation, but that it didn't feature in WorldWideWeb: the appearance of new tags in browsers long before they appeared in standards [if they ever did at all] was pretty much par for the course in the Web of the 1990s!)

Thanks for sharing.
posted by avapoet at 2:50 PM on February 24 [1 favorite]


Hi @avapoet, I'm the author of the JavaScript for the WorldWideWeb project, and I did read your thread on the user-agent missing and I thought I'd land the fix ;-)

The original WorldWideWeb browser that we based our work on was 0.12 with screenshots from 0.16. Both browsers supported HTTP 0.9 which didn't send headers. Obviously unintentional that I send the `request` user-agent, so I spent some painful hours trying to get my emulator running NeXT with a networked connection _and_ the WorldWideWeb version 1.0 - which _did_ use HTTP 1.0 and would send a User-Agent, so I could copy it accurately into the emulator code base.

So now metafilter.com renders in the emulator, and the User Agent sent is: CERN-NextStep-WorldWideWeb.app/1.1 libwww/2.07

Thanks again :)

– Remy
posted by remysharp at 3:49 AM on March 1 [7 favorites]


This is fabulous. Thank you, Remy!

It's very soothing to read MetaFilter in WorldWideWeb.
posted by Kattullus at 11:58 AM on March 3


« Older ActivisionBlizzard $ATVI Dividend increasing 9%...   |   MetaClean: “How often should you...” Newer »


This thread has been archived and is closed to new comments