Hacker News new | comments | show | ask | jobs | submit login
Windows 3.1 written in JS/HTML (michaelv.org)
249 points by shawndumas on Jan 18, 2014 | hide | past | web | favorite | 125 comments

seeing "Internet Browser" there made me imagine a fictitious scenario where some time wormhole opened up and 20 years ago there was one special computer that was in all ways identical to your average Windows 3.1 machine. the difference, though, like cyberdyne technology from Terminator, it had "Internet Browser" that nobody could explain but somehow had all the worlds knowledge from 2014 sitting right there behind a single icon.

yeah, it's friday.

Well, ya know, there were browsers for win3.1. They didn't time warp to the 2014 internet, but they did work with the 1994 internet thanks to trumpet winsock.


Those were the days.

And using SLIP connections, with SLiRP on the server side, likely over a 1,200bps dial-up.

It was a patchwork of hacks, just to make Windows use IP over a serial line, so you could use Mosaic and Pegasus.

Still, it was a magical time.

Mmmm...trumpet winsock. One of the better tcp/ip stacks for win3.1. Jumping through the hoops needed to get a second phone line in the dorm room so my roommate and I could have our own dedicated dial-ups was fun too.

Yep. I felt so awesome when I got slirp working on the dialup shell I had access to. Not gonna lie, one of the first things I did was very slowly load some porn.

Don't feel bad, I think porn was the "killer app" for the early internet. Not faring so badly on today's internet either.

Not quite that slow in 1994. I had a CompuServe account with a 9600bps dialup around then...

Oh lucky you; in 93-94 I could only dream about a 9600bps connection. At the time I had a Hayes 2400, but lines were so noisy that most of the time it'd connect only at 1200.

(worth noticing: I was in South America back then, where the telephony system was less developed and a lot more expensive than the US)

Or Trumpet + Mosaic, which came out in 1993


But I get his point completely. When I think back to that time of using Win 3.1, I have fond memories of Encyclopedia's on CD-ROM, Solitaire, Paint and Minesweeper, but I don't really think about the early Internet experiences much - probably because there just wasn't much out there yet.

You could get IE5 for win3.1, which isn't a million miles behind IE6 that a lot of people are still using / developing for.

I concur. My first experiences on the internet were on a Mac with Netscape Navigator 1 & 2.0, and Netscape Navigator 2.0 and 3.0 GOLD on Windows 3.1. This was in 1995 as well.

Ah Trumpet Winsock!

Berkeley sockets for Windows

Terrible Haiku...

I actually remember running a browser, probably one of the earliest versions of Netscape, on Windows 3.1 around 1995-6. We had to use a 3rd-party TCP/IP stack since Windows 3.1 didn't have it built in. Those were the days when the web was still new and exciting.

Might wanna load up on MSFT while you're there.

Wouldn't AAPL be an even better bet?

If you're in 1994 and know what's going to happen in the next 20 years, the logical choice would be to buy MSFT, sell it around 2000, and then buy AAPL. Their peaks don't overlap, so why not take advantage of both!?

Microsoft went public in 1986. Dial back your time machine a little earlier ;-)

Win3.1 wasn't out yet.

DELL stock was another big winner. It made a lot of people rich at the time...

Round Rock was full of Dellionaires.

Yep, also SYMC from 2000-mid 2004.

Build a fortune with MSFT then double down on AAPL. Buy every LEAP option you could get your hands on. After that, start mining Bitcoins.

> After that, start mining Bitcoins.

Better yet - bring the proofs back in time and mine them before anyone else.

NCSA Mosaic and Trumpet Winsock worked well.

Minesweeper left + right together mouse button action isn't implemented. Also, this version of minesweeper lets you lose on the first click. There is also no high score. For these reasons alone, I am very upset by this entire demo.

Yep, no one who used Windows 3.1 extensively would put up with losing at Minesweeper on the first click. MS was actually pretty nice about rearranging the map so that the first click would not be a losing move.

All it needs to do is move the flag you click on to the first free square starting at the upper-left. The cheat helped me see this in action, but I've forgotten how to activate it now. I'll have to look that up again to see if it's implemented in this version.

Gotta say, it's the pixel-perfect Minesweeper that did it for me.

Cool little project. It's actually surprising to remember how intuitive Windows 3.1 was. Simple to use and got the job done.

I've believed this for years too! Yes, Win 3.1 was just so simple, made sense, everything worked the same. There were windows with blue bars you could drag. The - icon brought down window controls, you clicked icons, everything was under the File menu.

But JUST when everyone was figuring out the UI, everything changed.

And to this day, when I'm teaching "mom/dad/grandma" to do something in Windows, she STILL asks where the "File" menu is because that's "where everything usually is".

Imagine how much LOVE MS Office would get if it went back to something like the early days of File menus and small-icon tool bars that you could enable/disable, etc? Well, I think it would be a win.

>> Imagine how much LOVE MS Office would get if it went back to something like the early days of File menus and small-icon tool bars that you could enable/disable, etc? Well, I think it would be a win.

All you're saying is people hate change. Conversely, imagine if Office has always had the ribbon and then they switched to the toolbar menu UI.

Do you honestly think people would like it better? The obvious answer is that, no, of course they wouldn't because the ribbon UI is actually a better UI as it improves discoverability of features (and Office has hundreds if not thousands of features).

I for one make better documents with the ribbon. I think even my dad at this point has learned to be as efficient with the ribbon as he was in the old world. Realistically speaking though it didn't actually take him 7 years.

The world isn't going to improve if we optimize for older generations of people who are used to a certain way of doing things and dislike change. And that statement goes beyond software.

>All you're saying is people hate change. //

I think it's "unnecessary change" that people hate, well on some level. Current MS Office probably is no more of an effective solution than a very old version of Word/Wordpress/Lotus for a large proportion of the population - can you write a letter or CV with it? Yes, well there you go.

So why not give people what they want, familiarity, simplicity. For Microsoft I think the answer would be that then they wouldn't have sold so many copies of new versions of MS Office. It's largely sales/fashion driven rather than meeting further technical needs of users.

People actually love change - the fashion industry is built on that assumption. Shiny-shiny has probably sold far more tech and software than technical needs ever have.

FWIW for me the ribbon based UI paradigm is no better or worse than erstwhile standard of menubar+toolbars [but I've not spent long using MS's ribbons].

Too true. The past 15 or so years has felt like new Office releases were dictated to by the need to sell more copies of Office to existing customers rather than any major improvements to the application. I remember one release where the biggest change was a shift from a MDI to a single window per document.

Office has probably reached a point where there's little you can do to actually make it more functional nor powerful, but it sometimes feels like a con when the revisions are essentially skin deep.

(I will accept that 2007 did cone with some major changes though, such as OOXML)

Actually Office, in my opinion, just had something added that makes it infinitely better: Skydrive integration.

Having files autosave and autoupload after each save means that I never have to worry about losing stuff ever again, I also happen to be completely bought-into the MS ecosystem, with a WP, W8.1 laptop and W8.1 tablet.

You need to remember that your usage doesn't mean others are identical. Personally I honestly find the ribbon bar is more confusing. The mixture of icon sizes, placements and behaviors (Eg drop down menus, toggles or buttons) leaves me guessing a lot of the time. Where as the old menu system might have been ugly and verbose, but I could follow it's logic easier when trying to perform uncommon tasks.

I also dislike the way how the menu bar is hidden in explorer. The only reason behind that is aesthetics so I really resent having to press alt just to display it (I know you can enable it permanently but I get given a lot if laptops to repair due to being the family's "pc fixer").

Thankfully these days theres other decent alternatives to Windows and the importance of the desktop OS is also lessoned with the rise of cross platform browsers and web apps, so it's easy for me to run another OS instead of trapping myself on a platform I dislike and growing bitter about it. But I just wanted to make the point that some people found menu bats easier to use because, for them, menu bars just were simpler to use; rather than them hating something just because it's newer

> The world isn't going to improve if we optimize for older generations of people who are used to a certain way of doing things and dislike change. And that statement goes beyond software.

On the other hand, it isn't going to get worse either...!

I'm also in the group who thinks that many of the changes occurring with software today are really only done for the sake of change, to create work, and not actually beneficial. I think the newest trend of hiding UI elements "because it looks better" or "for more screen real-estate" (when screen resolutions continue to get larger) almost borders on being offensively patronising.

Have had the ribbon since it came out and I use Office all the time. I don't hate change, I welcome it.

The ribbon is garbage and still wildly less productive than the toolbar. Not even close.

95/NT4 were fairly consistent and predictable too. It was after XP that we got competing programs for doing things the system could do, if not better, at least consistently. It beats me why every wi-fi, printer and display driver has to use custom, non-standard, windows, color-schemes, buttons and icons... It's like someone built a whole new GUI inside the driver without any regard to the OS outside. It's no surprise they are 100MB+ downloads.

The design is surprisingly modern too. A bit of palette adjusting and it would pass as Windows 9.

Except Win 9 would probably require a machine with over 100x the CPU power than what 3.1 needed, and yet still not be any better for the basic tasks of email, writing documents, etc...

flat and whitespace

I lost on my first click a few times.

If only the latest desktops were that easy to use. :/

I think this is the appeal of Chromebooks - simplicity.

The appeal of Chromebooks is their price.

Sure, that as well, but not all chromebooks are cheap and they're still selling, mainly the Pixel.

A somewhat working mirror: https://web.archive.org/web/20130328165947/http://www.michae... (shows the basic UI but doesn't let you start any applications).

This reminds me of the whole "web operating system" or "web desktop" trend [1]. It was pretty hot around the mid-noughties, or at least that's the impression I got, but peaked in 2007-2008 without having produced a killer app (tellingly, nowadays Google Docs and the like still don't offer you a "desktop"). I tried quite a lot of web operating systems at the time -- mostly to see just what they could do within the browser -- but, frankly, couldn't find much of a practical use for them except to mirror my static websites on the free webhosting with high disk quotas that many generously provided. At least one, YouOS (YC W06), got venture funding but even their product didn't work out (they pivoted -- successfully [2]).

Come to think of it, the way those systems got around the limitations of the browsers at the time made some aspects of them pretty strange. One I remember in particular integrated a real office suite with their Ajax apps thus: it had a Java VNC client with which you accessed OpenOffice.org running on their servers.

If you're interested in the history of the subject try exploring http://www.crunchbase.com/tag/web-os.

[1] See https://en.wikipedia.org/wiki/Web_operating_system and https://en.wikipedia.org/wiki/Webtop.

[2] http://www.youos.com/

Something that would be cool: implementing X-Windows in JS, using HTML for rendering. So you could run your desktop applications remotely in the browser.

You'd have to tunnel the X protocol somehow to Ajax or Websockets, of course, but that should be quite easy.

Edit: I ran into this: http://blogs.gnome.org/alexl/2011/03/15/gtk-html-backend-upd...

Gotta love exceeding your system resources in availability. Java + Cookie Enhanced Mode System Resources:314% Free

That's over 214% more system resources! :p

Alternatively you could just run the real thing :)


Caveats: it's actually 3.0 and the mouse doesn't work... yet

I opened Command Prompt and did DEL . in C:\WINDOWS and C:\WINDOWS\SYSTEM. The system is now corrupted from here.

mouse? who cares, there's wolfenstein!

Where? All I can find are Solitaire and Reversi... which surprisingly enough can be played with the keyboard.

Not really surprising at all, people actually used windows without a mouse back then. Not a lot of people, but it was done and windows was actually very usable. In fact, I'd say pretty much everything that mattered still worked with just a keyboard until at least win2k, if not XP.

I don't exactly use it a lot, but I haven't spotted any notable regressions in the keyboard-access stuff between XP and Windows 7.

Yeah, I only stopped my claim at XP because that's the last version of Windows I really used.

Microsoft is pretty good on keyboard access. It's important to disabled users.

That's really neat. Is it yours?

Michaelv.org is the personal website of Michael Vincent who, if you click around, is a huge TI calculator hacker (I dabbled back in the day).

In fact, my very first web server was going to be hosted by him. I recall sending him like $30 in the mail to host it way back when I was young enough to not even have a bank account yet.

No Ski Free, no deal.


Actually, this is pretty cool. Far more so, imho, than the "Web OS" or "Web Desktop" craze a few years back.

If we work together, we can all recreate the authentic Windows 3.1 experience on the web.

Is the operating system is about just simulating UI, file explorer, console with CD, and/or a pixel perfect game?

The real deal will be remote desktop inside the web browser. I shall be able to connect my PC (remote login) from anywhere in the world and use it's GUI.

Well, for a fun project a GUI is quite enough and I bet it took him more than just a single day to do it. The title of this submission surly is a bit too enthusiastic...

But don't complain - it's still a funny thing to look at, right? :)

agreed, he took more than a day!

HN front page has seen many such implementations on JS to simulate OS in browser. For last one year people are pushing the capabilities of Web-browsers by demonstrating such examples. But now this is the time I expect remote-desktops should come (without any plugin/java support).

VLC has a Java interface and teamviewer has a portable version, not to mention 'ssh -X'.

This supports HiDPI better than Windows 8.

I only managed to achieve 2 levels of recursion (that is, opening the site inside explorer inside the site).

Got to about 5. The address bar stops working at 2, but you can get to the main site from the start page.

One part of the early authentic Windows 3.1 experience for some people (that is missing here) is having a DOS-based menu show up when you boot up your computer and then clicking on the Windows item or typing 'win' from the DOS prompt if you want to run some Windows-based program.

...what? I had win.com in autoexec.bat

Some problems with booting directly into Windows (it was eventually included within my autoexec.bat, but not for awhile.)

* Some DOS-based menu programs were really nice. I grew up using X-Tree Gold which had a menu but was also really fast for doing file system operations.

* Some DOS programs wouldn't work well in Windows (programs using serial ports, games), even if you set up PIFs.

* While in Windows, you couldn't use your TSRs (so you'd have to run the programs in non-TSR mode and set up different hotkeys for them and get used to the changes.)

Sure, but if you needed DOS you could always just exit Windows.

I appreciate the sentiment, but this feels almost nothing like windows 3.1. It has the skin but that's about it.

This is a lie. The internet browser is way too good.

I opened up Media Player looking for CANYON.MID and was disappointed.

I was pleasantly surprised by Youtube popping in.

Bandwidth Limit Exceeded The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later.

OK, Now I'm curious.

Super cool!

One bug: Minesweeper is supposed to activate all non flagged tiles next to the mouse if you click with left and right mouse button at the same time. (see http://www.minesweeper.info/archive/MinesweeperStrategy/mine...)

(The problem is that this is so handy that once this reflex is wired in it's impossible to play Minesweeper without that feature)

I think that using flags consume more time that you can save with such trick.

For perspective, Zuckerberg was 7 y/o when Windows 3.1 came out:


> "Bandwidth Limit Exceeded"

Not sure if actual error or faithful representation of Windows software.

This is just as baffling and upsetting as the original Windows 3.0 was in 1990. Well done.

My favorite is MS-DOS Prompt, its almost working :)

"dir <dirname>" didn't work. :/

dir is working though, buggy MS as always :P

It's as awful as I remember it, which means they got it right.

Wow Notepad is still the same today!

Bandwidth Limit Exceeded The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later.

[insert obligatory comment about Atwood's law here]

I am waiting for NortonDesktop.js to be implemented.

Cool! Just won my first Minesweeper game, awesome!

Well done. Although, the embedded Youtube frame of Ron Paul on Stossel in Media Player felt like jumping forward twenty years. :)

What, no WfW 3.11 support?

It's almost too perfect... Windows 3.1 only had window resizing via a thick stipple outline of the window border, and the included web browser reflows too quickly, although that's a function of the hardware performance. It would be interesting to run Win3.1 on a modern multi-GHz machine.

Thanks to VMWare and some DOS network card drivers for the emulated hardware, I do! (only for curiosity's sake - I have virtual machines of every OS I owned.)

He took out all the fun parts. Can't "format C:", "del command.com", etc. :(

No QBasic either...

or "edlin" ;-)

Fun fact: DOSBox runs Windows 3.1, and (on my MacBook Pro) it starts as fast as this website.

But where did you buy a license to run 3.1 ...

ComputerLand in Wichita, KS. 1992. :-)

I just went over your bandwith limit... first request worked, refresh, exceeded :(

Faster and more stable Windows and Windows NT 3.1 on period hardware. Awesome.

It was fun to beat Minesweeper 3.1-style! (Though, I missed the ability to double-click on the number to clear the surrounding non-flagged squares.)

This is great, but does it have the Blue Screen of Death? Wouldn't be much of a port without such an instrumental feature!

Someone should make a resource that allows you to see if your website is ready for the front page of HN :/

How would you establish the bandwidth limitations of the site?

This has less bugs then original ^_^

Why I do keep getting an "Application Execution Error" whenever I click on any app?

"Bandwidth Limit Exceeded" That happens when you hit HN front page :)

There are too many colors!

509 Bandwidth Limit Exceeded

Awww come on!

The Web is just a buggy set of device drivers. ;)

Good minesweeper implementation as well.

The pun on DPRK was hilarious.

This dude went all out.

Ski Free anyone?????

dithered icons, beveled widgets ... hypernostalgia.

Wow, this is real!

can someone find a mirror or something? :(

inception is not innovation

amazingly stable


My god...a flash of nostalgia.

okay so where is the github of this? I'd like to find some excuse to use this library.

i immediately went to prompt and typed format c:\

What? c:\ Why, doesn't even work, it's not about path, but a drive letter. c: is right format.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact