The unambiguous ⇩ ⇧ arrows for minimize/maximize. Instantly recognizable pallete icons. Straightforward titlebar without pixel-wasting clutter. With a contemporary color scheme there'd be nothing wrong with it today - sure is more intuitive.
trigonated 16 days ago [-]
Personally I find them a bit ambiguous.
I get that they probably (I'm assuming) represent moving the titlebar to the top (maximizing) or to the bottom (minimizing) of the screen, but I can see someone who doesn't already know what they do assuming they're for changing between windows.
To be fair, the modern maximize/minimize icons that Windows uses are not that much better. The minimize button doesn't even represent what a taskbar entry looks like (by default) anymore.
3np 17 days ago [-]
Windows 2 can be run on modern hardware using DosBox[0]. If like me your old install media is deep in an attic somewhere, you can still get them from lovely archive.org[1].
Early GUIs look garish because the designers could not apply color theory even if they wanted to, given the hardware of the time.
The only reasonable alternative would have been to go monochromatic like early Mac, X-Windows (all those stippled patterns!) I guess Microsoft felt that people wanted color more than they wanted aesthetics, and the market backed them up in spades.
anthk 16 days ago [-]
The monochrome GEM TOS and the Mac did it fine.
orra 17 days ago [-]
A surprisingly detailed writeup, nice.
But what's the misleading anecdote from Raymond Chen? The claim piqued my interest but I didn't catch that part.
nkali 17 days ago [-]
The answer to that is in the "sources" section. Raymond Chen first claims that Windows 2.x supported protected mode (which is half-true; it could run DOS applications in protected mode, but neither kernel nor applications supported it), and then finishes with saying "standard mode (Windows/286 style)" which is just wrong, as explained in the section about protected mode Windows kernel.
bananaflag 17 days ago [-]
> You need 3.0 for Solitaire, 3.1 for Minesweeper, and WfW for Hearts.
IIRC the first product that shipped with Win32s was Windows NT 3.1 (the first version, so numbered to be in sync with Windows 3.1).
Freecell was NT-only and relatively niche until it was also released with Win95.
bitwize 17 days ago [-]
Windows NT shipped with full-fat Win32.
Win32s was designed to bring some of the benefits of 32-bit computing to Windows 3.x. The 's' is for 'subset', and only the Win32 APIs that corresponded to Win16 APIs available in Windows 3.1 were available. But this was enough to support Freecell on Windows 3.1.
nkali 17 days ago [-]
And not just Freecell. Here is a list of compatible programs; it includes Photoshop 4, Nero Burning ROM 4.0, Space Cadet Pinball, ICQ: http://stephan.win31.de/w32slist.htm#list
There are only few things that stop compilers producing Win32s-compatible code. Linking with CRTDLL.LIB will make even Visual Studio 2010 (and perhaps newer versions) produce a valid Win32s program.
lproven 16 days ago [-]
> Win32s was Windows NT 3.1
No, that's badly wrong. You are confusing Win32s with Win32.
But the mix-up seems to go deeper.
Win32 is an API. Nothing exactly "ships with it". Various products implement some of Win32, including Windows NT, Windows 95/98/ME, and WINE.
Win32s is a package, so it's something that an OS could "ship with" -- but nothing ever did.
Win32s is a sort of shim for 16-bit Windows that implements a subset (thus the "S") of Win32 allowing some binaries that targeted Win32 to launch and execute on 16-bit Windows.
In other words, in 1992 Win32s was a thing you could install on Windows 3.1 that implemented enough of the API of the as-yet-unreleased Windows NT so that some simple apps could launch and run.
It came with the Freecell game as a demo. Original Windows Freecell was only ever a 32-bit app.
It enabled developers working on apps for the forthcoming 32-bit Windows to test code on a released OS without the hassle of running on a beta OS that was, AFAICR, fairly tightly controlled, hard to get, wouldn't run on many computers in 1992-1993, and for which the supported hardware cost a lot: £5000 or so.
Whereas Win 3.1 could run on any old clunker.
It wasn't really for distribution, because not much worked and it wasn't very stable. I don't think anyone sane would try to ship a 32-bit app to Windows 3.1 users.
Fun fact #1: Win32s is still out there for download.
You can unzip it, extract FREECELL.EXE and a couple of other files, and enjoy the original tiny fast Freecell on Windows 11, even on Arm. Works great.
(The modern Freecell is a bloated thing that wants an internet connection and some online accounts.)
Fun fact #2: Win32s caused IBM real pain with OS/2 >=2. It sort of ran under WinOS2 inside OS/2 and that enabled IBM to claim in marketing materials that OS/2 could run 32-bit Windows apps without really blatantly lying.
(Aside for those too young to have used IBM OS/2... WinOS2 was a real licensed copy of Windows 3.0 and later Windows 3.1 which ran in a VM inside OS/2 >= 2, and it let OS/2 run 16-bit Windows apps on the OS/2 desktop. The IBM and Microsoft co-development agreement gave IBM a license to use Microsoft's code. So IBM modified Win3.x to run seamlessly on the OS/2 DOS VM. Later, IBM shipped a cheaper version of OS/2 Warp which didn't include WinOS2 but could integrate an existing installation of Windows 3.1 from your hard disk. This wasn't just cost-saving: it meant that OS/2 picked up and could run all your existing installed Windows applications. That could be a big time saving. Snag: Windows _drivers_ didn't work under OS/2 so it didn't always work. Bigger snag: you couldn't uninstall it again; it was a one-way migration. Even bigger snag: IBM gave away time-bombed demo versions. A time-bombed OS is not a great idea. Even if users liked it, and bought the full thing, they had to reinstall.)
So, MS kept "updating" Win32s so that it did naughty things with memory allocation that broke WinOS2.
IBM kept updating WinOS2 to run it.
Eventually MS succeeded and WinOS2 could not run Win32s 1.30.
At that exact point, Microsoft mysteriously stopped finding any more bugs and stopped updating Win32. What a baffling puzzle!
signal11 14 days ago [-]
Thanks for this, this was very helpful!
Sorry I completely misremembered what Win32s was, but unfortunately I can’t edit/delete it now. But the context you provided is amazing, especially the OS/2 bits.
lproven 11 days ago [-]
:-)
mouse_ 17 days ago [-]
Those screenshots are just so beautiful.
hyperhello 17 days ago [-]
They look hideous to me. The composition of colors and irritating fonts is just so over the top and distracting.
smackeyacky 17 days ago [-]
This was long before proper scaling fonts and pretty much all the windowing systems across Unices, OS/2 and other niche windowing systems for the PC all looked like this.
Back then it looked like the future compared to a green screen or a DOS application
ilgazc 17 days ago [-]
I agree to Steve Jobs non technical comment on this. They have no taste. Look to Macintosh interface where they just had 2 colours and comically lower resolution.
OS/2 IBM ones look like a mainframe having a concept desktop. They don't have too much taste either.
The low specs of the time isn't an excuse to ship ugly icons and fonts.
rep_lodsb 17 days ago [-]
The resolution was actually higher on Mac. CGA (in its "high-resolution" monochrome mode) was only 640x200!
canucker2016 16 days ago [-]
Hey, at least Win 2.x allowed overlapping windows. Recall that Win 1.0x only permitted tiled windows.
The PC graphics ecosystem was crap at the time (VGA was introduced around the time of Win 2.x shipping).
the Color Graphics Adapter, better known by the abbreviation CGA...
...320×200 color mode ...or 1:2.4 in 640×200 monochrome mode. Windows used the monochrome mode because the colors available in color mode were pretty useless. You could have black, white, hot pink, and aqua; or you could have black, brown, orange-red and green (no white!).
...next major advancement in display adapter technology was the Enhanced Graphics Adapter (EGA), which brought you a stunning 16 colors in a 640×350 grid with an aspect ratio of 1.83:1. But for the step forward in terms of color, you also took a step backwards into the insanity of planar video modes. EGA memory was arranged in planes, and what’s worse, each plane had the same memory address! You had to use other registers to program the video card to tell it which plane you wanted to talk to when you accessed a specific memory address.
For many of the Mac developers, like Bill Atkinson, Mac OS was their second version of GUI OS, after working on the Lisa.
And the Intel 8088's segmented memory architecture is more mental work than the flat address space of the Motorola 68K (all those data and address registers on the 68K are nice too).
The pre-Win 3.0 fonts were ugly. That's why I ignored Windows and developed for the Mac.
nkali 16 days ago [-]
I suspect that Windows used monochrome mode to squeeze 78 characters per line, not because the colours were "useless".
Another thing to keep in mind is that they’d be displayed on a CRT monitor, which makes the image much more forgivable in person.
bogantech 17 days ago [-]
As long as you'd never seen a Macintosh or Amiga
pjmlp 17 days ago [-]
Macintosh were still black and white at the time, and really expensive, more so than PCs, a tradition that never changed.
Amiga yes, but it got the fame of only being good for people doing games, thus it had a hard time getting adoption on business offices.
kalleboo 17 days ago [-]
Windows 2 came out in December 1987. The Macintosh II (which introduced "full" palettized 8-bit color) had already come out in March 1987.
bigfatkitten 13 days ago [-]
And you could buy a decent car for the price of the Mac II. Base model was twice the cost of a well specced PC/AT at the time.
In terms of price it was in the same league as Sun and Silicon Graphics workstations, not the PC.
pjmlp 17 days ago [-]
While I stand corrected on the year being the same, there is the question of the price, which offered a 16 bit VGA, not 8 bit colour palette as you mentioned, at more affordable price point.
rep_lodsb 17 days ago [-]
16-color VGA, not 16 bits (which would be 65536 colors).
nkali 17 days ago [-]
Amiga Workbench had a comically bad interface, though?
LocalH 17 days ago [-]
I don't see why it would be called "comically bad" compared to its contemporaries. The 1.x series was a bit spartan, sure. But the UI itself afforded several unique features that weren't found anywhere else. The ability to have multiple "screens" or viewports with independent resolutions and color depths and drag them down to navigate between them seamlessly was quite useful, as was the ability to move windows on top/bottom of the stack without focusing the window (which is largely a forgotten paradigm, outside of forced "always on top" windows which is just a bandage over the lack of decoupled focus and window depth). AmigaOS certainly got better for the most part with the 2.x and 3.x series. Commodore's mismanagement is largely what did the Amiga in, not any technical aspects.
nkali 16 days ago [-]
I was talking about the looks of the version 1. Technical side of things seems quite solid, and things have clearly improved by 2.x.
lproven 16 days ago [-]
I only became an Amiga owner in the 21st century, when it was all over bar the shouting, but friends owned them at the time and loved them. (I had an Acorn Archimedes with RISC OS 2.)
As I understand it, the weird colours of AmigaDOS 1.x (blue, white, black and orange) were chosen to deliver usable contrast on an analogue TV set. This not only means a blurry CRT, but also that, given where the Amiga was designed and made, it was an NTSC TV.
I've never watched NTSC TV in my life but I remember the 1980s joke definition: "Never Twice the Same Colour".
ilgazc 16 days ago [-]
They have a good excuse for it. They designed everything to look readable/usable on average home TV. Add the loss of quality in RF modulator and you figure the crazy colour scheme with ultra simple icons.
hulitu 17 days ago [-]
> They look hideous to me. The composition of colors and irritating fonts is just so over the top and distracting.
They look better than Windows 10 or 11. At least the GUI elements are visible, titlebars are titlebars and scrollbars have the right width and arrows.
nkali 17 days ago [-]
Windows 2 was an ugly duckling, yes. The interface was ham-fisted by coders, and it was supposed to support non-square monochrome pixels of CGA monitors, to make it worse.
That being said, I am really curious about your perception of other old systems, as I am trying to design an interface that can run on the 80s hardware. What is the earliest OS that you can tolerate? Macintosh from 1984, Windows 3, Windows 95, something even later?
If you have a moment, I would also appreciate your feedback on my UI, too. It is called "Orihime", and you can find the links to images in the "Pixel?art" section of ninakalinina.com/links.htm
hyperhello 17 days ago [-]
Orihime looks very CRT Nostalgic. I don’t care much for anime and it looks like you are pretty committed to it. I thought black and white MacOS was brilliant, but the amount of clicking and holding you had to do for everything is better left in the past.
nkali 17 days ago [-]
Thank you! I'll take a note :)
nunobrito 17 days ago [-]
Nina, thank you for the article. Was really well written and a true pleasure to read. I've learned quite a number of new details, thanks to you.
n144q 17 days ago [-]
Well, you didn't really have many choices for colors and fonts back in the day.
M95D 17 days ago [-]
Graphic cards at the time only had 16 colors. Not 16-bit color. 16 colors in total.
magic_smoke_ee 17 days ago [-]
Not true. 16 colors at a time. EGA had a color palette of 64 colors. Depending on the card, precise palette cycling can be used to appear to have all 64 colors available so long as too many different pixels aren't used too close together.
rep_lodsb 17 days ago [-]
That wasn't really a possibility for anything but static fullscreen images, or extremely optimized demos. Even then it would be difficult, since there is no way to generate an interrupt at a specific raster position (unlike CGA, where the pixel clock was synchronized with the system timer chip).
magic_smoke_ee 16 days ago [-]
I didn't say it was for full-motion video or arbitrary images. Interactive calibration is possible.
rasz 17 days ago [-]
VGA was already on the market for 9 months by the time Windows 2 released.
nkali 17 days ago [-]
Imagine the backlash: "new Windows version requires a $300 video card and a $400 monitor to run". When Windows 95 finally dropped the support for EGA, many people were upset (including me).
n144q 17 days ago [-]
9 months? LOL
Thunderbolt 5 was released about 1 year ago. You can count the number of all laptops that support Thunderbolt 5 with two hands (probably one hand, but to err on the safe side).
herbst 17 days ago [-]
Is there any reason they took the most ugly colours? They could have just used 16 nice colours or?
guestbest 17 days ago [-]
They used the colors which had the best contrast against each other and if there was a driver issue, colors which looked the more appropriate in greyscale. Driver issues, forgotten today, drove most architectural decisions at Microsoft. The core word they used was ‘working with partners’. People used to bring it up all the time in interviews in the 80s regarding PC’s but not all in one computers like Apple and to a degree amiga. I remember people used to watch football on television on portable tv’s which was only made possible because the jerseys had a light and dark version which visiting teams would get to choose which one they get.
nkali 17 days ago [-]
There is a reason why they're the most ugly colours. Windows 2 only can display 8 colours: CMY+RGB+Black+White. Cheap colour monitors had only four input pins - RGBI - and could at best display those eight colours, plus a darker version of them.
snypher 16 days ago [-]
Whenever I scroll past the reversi screenshot it jiggles and shakes, very strange effect!
nkali 16 days ago [-]
I think this is a bug with smooth scrolling of pixel perfect scaled images. I'm not quite sure though.
anthk 16 days ago [-]
Xword it's also a software to do crosswords for Unix.
And these taipei icons looks pretty close to the ones from Xmahjongg and such.
I have checked both, and while there are similarities, I think they both share a common ancestor - some physical Mahjongg tiles. This Windows Taipei 1 is written by " Bogus Software Inc", and Windows 3.0 Taipei, which uses a very similar interface and tiles, is made by "David Norris" from Redmond WA.
I get that they probably (I'm assuming) represent moving the titlebar to the top (maximizing) or to the bottom (minimizing) of the screen, but I can see someone who doesn't already know what they do assuming they're for changing between windows.
To be fair, the modern maximize/minimize icons that Windows uses are not that much better. The minimize button doesn't even represent what a taskbar entry looks like (by default) anymore.
[0]: https://www.dosbox.com/wiki/Software:Windows2x
[1]: https://archive.org/details/windows2x
The only reasonable alternative would have been to go monochromatic like early Mac, X-Windows (all those stippled patterns!) I guess Microsoft felt that people wanted color more than they wanted aesthetics, and the market backed them up in spades.
But what's the misleading anecdote from Raymond Chen? The claim piqued my interest but I didn't catch that part.
To complete the set: and Win32s for FreeCell.
Then I also remember win32s on WfW which would then run win95 pinball!
https://www.uvlist.net/groups/info/wingapi
Freecell was NT-only and relatively niche until it was also released with Win95.
Win32s was designed to bring some of the benefits of 32-bit computing to Windows 3.x. The 's' is for 'subset', and only the Win32 APIs that corresponded to Win16 APIs available in Windows 3.1 were available. But this was enough to support Freecell on Windows 3.1.
There are only few things that stop compilers producing Win32s-compatible code. Linking with CRTDLL.LIB will make even Visual Studio 2010 (and perhaps newer versions) produce a valid Win32s program.
No, that's badly wrong. You are confusing Win32s with Win32.
But the mix-up seems to go deeper.
Win32 is an API. Nothing exactly "ships with it". Various products implement some of Win32, including Windows NT, Windows 95/98/ME, and WINE.
Win32s is a package, so it's something that an OS could "ship with" -- but nothing ever did.
https://en.wikipedia.org/wiki/Win32s
Win32s is a sort of shim for 16-bit Windows that implements a subset (thus the "S") of Win32 allowing some binaries that targeted Win32 to launch and execute on 16-bit Windows.
In other words, in 1992 Win32s was a thing you could install on Windows 3.1 that implemented enough of the API of the as-yet-unreleased Windows NT so that some simple apps could launch and run.
It came with the Freecell game as a demo. Original Windows Freecell was only ever a 32-bit app.
It enabled developers working on apps for the forthcoming 32-bit Windows to test code on a released OS without the hassle of running on a beta OS that was, AFAICR, fairly tightly controlled, hard to get, wouldn't run on many computers in 1992-1993, and for which the supported hardware cost a lot: £5000 or so.
Whereas Win 3.1 could run on any old clunker.
It wasn't really for distribution, because not much worked and it wasn't very stable. I don't think anyone sane would try to ship a 32-bit app to Windows 3.1 users.
Fun fact #1: Win32s is still out there for download.
https://winworldpc.com/product/win32s/130
You can unzip it, extract FREECELL.EXE and a couple of other files, and enjoy the original tiny fast Freecell on Windows 11, even on Arm. Works great.
(The modern Freecell is a bloated thing that wants an internet connection and some online accounts.)
Fun fact #2: Win32s caused IBM real pain with OS/2 >=2. It sort of ran under WinOS2 inside OS/2 and that enabled IBM to claim in marketing materials that OS/2 could run 32-bit Windows apps without really blatantly lying.
(Aside for those too young to have used IBM OS/2... WinOS2 was a real licensed copy of Windows 3.0 and later Windows 3.1 which ran in a VM inside OS/2 >= 2, and it let OS/2 run 16-bit Windows apps on the OS/2 desktop. The IBM and Microsoft co-development agreement gave IBM a license to use Microsoft's code. So IBM modified Win3.x to run seamlessly on the OS/2 DOS VM. Later, IBM shipped a cheaper version of OS/2 Warp which didn't include WinOS2 but could integrate an existing installation of Windows 3.1 from your hard disk. This wasn't just cost-saving: it meant that OS/2 picked up and could run all your existing installed Windows applications. That could be a big time saving. Snag: Windows _drivers_ didn't work under OS/2 so it didn't always work. Bigger snag: you couldn't uninstall it again; it was a one-way migration. Even bigger snag: IBM gave away time-bombed demo versions. A time-bombed OS is not a great idea. Even if users liked it, and bought the full thing, they had to reinstall.)
So, MS kept "updating" Win32s so that it did naughty things with memory allocation that broke WinOS2.
IBM kept updating WinOS2 to run it.
Eventually MS succeeded and WinOS2 could not run Win32s 1.30.
https://www.os2world.com/wiki/index.php/Installing_Win32s_in...
At that exact point, Microsoft mysteriously stopped finding any more bugs and stopped updating Win32. What a baffling puzzle!
Sorry I completely misremembered what Win32s was, but unfortunately I can’t edit/delete it now. But the context you provided is amazing, especially the OS/2 bits.
Back then it looked like the future compared to a green screen or a DOS application
The PC graphics ecosystem was crap at the time (VGA was introduced around the time of Win 2.x shipping).
from the OldNewThing blog, https://devblogs.microsoft.com/oldnewthing/20100625-00/?p=13... :
For many of the Mac developers, like Bill Atkinson, Mac OS was their second version of GUI OS, after working on the Lisa.And the Intel 8088's segmented memory architecture is more mental work than the flat address space of the Motorola 68K (all those data and address registers on the 68K are nice too).
The pre-Win 3.0 fonts were ugly. That's why I ignored Windows and developed for the Mac.
CGA graphics is tricky, but it can look at least as pretty as contemporary ZX Spectrum: https://media.tech.lgbt/media_attachments/files/112/481/028/...
Not very many people cared for CGA, though.
Amiga yes, but it got the fame of only being good for people doing games, thus it had a hard time getting adoption on business offices.
In terms of price it was in the same league as Sun and Silicon Graphics workstations, not the PC.
As I understand it, the weird colours of AmigaDOS 1.x (blue, white, black and orange) were chosen to deliver usable contrast on an analogue TV set. This not only means a blurry CRT, but also that, given where the Amiga was designed and made, it was an NTSC TV.
http://toastytech.com/guis/amiga1.html
I've never watched NTSC TV in my life but I remember the 1980s joke definition: "Never Twice the Same Colour".
They look better than Windows 10 or 11. At least the GUI elements are visible, titlebars are titlebars and scrollbars have the right width and arrows.
That being said, I am really curious about your perception of other old systems, as I am trying to design an interface that can run on the 80s hardware. What is the earliest OS that you can tolerate? Macintosh from 1984, Windows 3, Windows 95, something even later?
If you have a moment, I would also appreciate your feedback on my UI, too. It is called "Orihime", and you can find the links to images in the "Pixel?art" section of ninakalinina.com/links.htm
Thunderbolt 5 was released about 1 year ago. You can count the number of all laptops that support Thunderbolt 5 with two hands (probably one hand, but to err on the safe side).
And these taipei icons looks pretty close to the ones from Xmahjongg and such.
https://www.lcdf.org/xmahjongg/
Here are more details about Bogus Software: https://minesweepergame.com/history/bogus-software.php