My focus was not so much on pixel perfect, but instead on creating something that would also work and look aesthetically pleasing on modern systems, like with higher DPI monitors and such. So one of the the things I did was to recreate all the icons and symbols in SVG.
I tried posting it as a Show HN when I added XP and Mac OS 9, but it didn't get much attention. Maybe the title of the project isn't as catchy.
Whoa. Insanely cool. Outstanding quality and theming, such a simple implementation. Only thing I'd want to see is theming for data tables, maybe even an interactive table that behaves like the lists and grids.
This is amazing, thanks for this! I made a simple app using 98.css because that was the most feature-filled retro CSS library I could find. Going to try and use your 3.1 schemes :)
I’ve always had a soft spot for the older Mac OS design, and I really love this implementation! I spent sooooo much time in windows and Linux doing various things to try and get that feel back
Thanks for your work on this! I recently used 98.css in my fairly simple web app[0] for a recreation of something from my childhood, and it worked beautifully for my purposes.
I'd suggest using checkboxes instead of radio buttons for the operator selection. It would be useful, I think, to have a mix of just addition and subtraction, or just multiplication and division, instead of having one option or all four.
I hope you're feeling better. Interesting how retro computing, like old games and operating systems, can be comforting and even healing. I've had similar experience with emulators - playing Gameboy and Nintendo games from childhood, or running Macintosh System 9.
Reminds me of Pico-8, SerenityOS, TempleOS. There's a common thread of a retro-style computing environment that can be entirely understood and controlled by the user.
I imagine there's deeper psychological dynamics to this, like a safe "sandbox" as a therapeutic tool.
It also says something about design with empathy and focus on user experience. There are so many hostile dark patterns these days in technology and society, that it's a relief to find some space (physical or mental) that's designed for your comfort.
I don't know if anyone else remembers this but in the late 90s, Microsoft had built-in CSS named colours that matched the Windows desktop theme/colours.
I have no idea if these still work (my IDE seems to say they do not, because everything is red).
So you could build web UIs that matched the user's Desktop look and feel. We did this for our browser-based Intranet applications in 1998, which made them look a bit more "native".
That's nice resource, especially the "Tests" part showing Firefox keeps them all supported and Safari dropping most of them.
I have explored system colours including deprecated ones with intention to try to tap them into some more pleasant scheme (dimming canvastext for bordrers through color-mix() for example) and was interested about the "palette" we could use without defining own colours. Made a comprehensive "sampler" to test them [1,2] and Results were quite sad, especially outside Firefox [3].
NB, that style does not play well with non-native DPI (e.g. when you have monitor set to 150% scale); to see it mapped to physical pixels, try running this in the browser's console:
tl;dr is that `with` is a long deprecated statement that is good for casual "golfing" and raising eyebrows of JS-savvy folks. Does not work in the "use strict" mode (so in modules) and generally should not be used in any "real-world" production code, since it prevents many optimisations and could possibly make the code harder to grasp. But I guess for casual one-time console doodles it could be fine. Reportedly it is supported in all major JS engines, and I don't think it will be really removed in foreseeable future.
In both of these as well as submission link, one of the things that is clearly and strikingly different from modern UI is the lack of very abundant amount of padding space. I think it's almost the mantra that we need breathing room, e.g., between different options in a radio-group box list of items... but I find lesser space (as was characteristic of older UI's) to be more honest... more respectful to me as an end-user, more information-dense.
I don't want to discard whatever innovation has been done, but man I find myself being nostalgic of old UI quite often.
There's nothing preventing information-dense layouts today, except that the "flat design" crowd has decreed that no work spaces, toolbars, or controls shall have any borders or lines to delineate visual separation. Too much "clutter." So the only thing left is to separate things with vast volumes of whitespace which doesn't actually work all that well when you have to deal with different screen sizes.
With old 640 x 480 or 800 x 600 resolutions, the screen real estate came at premium. There wasn't much room to use generous padding and still make all the buttons and UI fields fit in the low resolution displays.
It goes back to an accessibility study that found that 1.5x line-height is the most readable.
As with a lot of things in ux accessibility research, these results were never replicated but the idea was seared into all our brains permanently. We know from research on fonts that ultimately, the most accessible font is the one the user is most used to. Sans vs. Serif vs. etc all don't seem to make a consistent difference across demographics. I suspect line spacing is something that's due for a relook
Realistically, desktop interfaces will never stop trying to cater for touchscreen devices. We need a eugenics program to breed people with sharp pointy fingers.
The one that looks like Windows 7 seems to be the most complete and has a bunch of stuff not found in the others, like progress bar or menus. In fact while I never liked the window decorations that 7 used, the rest wouldn't look bad on an electron app
THANK you so much for the XP one. XP's UI is my favorite of all the Windows UIs. It had just enough modernity to feel sleek but still had contrast to be easily seen and read and understood.
Windows 7 UI was a bit too flashy and employed looks over readability and Windows 98 was too old fashioned and also suffered from a lack of contrast with all the grey.
I never enjoyed the XP one. Somebody called the Fisher-Price ui, and I think the remark is not too off. I would always switch to the "classic" UI, which I think was the same as Windows 2000, which in my opinion is the best of all (it is a similar but different from the one of Windows 98, especially in color choice and icon)
Sure, but I refuse to call this a faithful recreation of the aesthetic until the fonts look correct. :D
On a related note, I did start working on some tools to work with legacy .FONs for this exact purpose earlier this year, but the project is iceboxed for now...
Mostly figuring out the details of the old formats enough to be able to render them without having an actual Windows rasterizer... https://github.com/akx/winfont/tree/dev is half of it, the web `<canvas>` frontend is currently still private :)
They’ve also kept the pixelated nature. The XP style sheet linked in another comment [1] draws at high res for its text and shapes and so retains the feel of the UI without the constraints.
I — we? — like the 98 etc UI for its clarity and simplicity not its low resolution.
The fonts are pixelated, but those pixels don't appear to align with the physical ones, so they're blurry in some places. Meanwhile, on a real 98 you either had crisp fonts, or neatly and consistently blurred by the CRT.
I'd claim that this is way better than what we've got after years of UX/UI "research" and "improvements".
And it's not that I'm some old boomer. In '98 I was one year old. I just hate buttons which don't look like buttons, tabs which don't look like tabs, text fields that you have to click to discover they're editable etc.
Have much UX/UI research been put into operation systems UIs since Windows 95?
I suppose Apple must have done some research for MacOSX, but in the past two decades it feels like features are just be thrown in, especially on mobile, with no concept of discoverability or consistency. More than anything I think companies desire to have "consistent branding" or "unique look" is to blame for much of this.
Yes, Apple at one time had a phenomenal Human Interface Guide for native OS X applications which was based on actual UX testing and research. Things like, "make your application features discoverable," "clearly delineate functional areas and controls," and "use verb+noun on action buttons." It was Good Stuff and it heavily informed a lot of UX decisions for the prominent Linux desktops at the time.
It's still around but I flipped through it recently and it seems to be a mix of the absurdly general ("don't build an app for a specific screen size") to the very specific (MacOS and iOS APIs). Maybe there's some gold buried in there still, but I'm not sure where to find it.
This is really cool, the only thing I see is the font rendering looks choppy. An antialiasing issue I think, but it looks worse than some non-antialiazed fonts (like the EGA 8x14 pixels font) too
To be very pedantic: also the dropdown menu, when opened, looks very different than the original 98 style
Chrome on Windows 10 here. The font rendering looks very similar (if not identical) to what I remember it in Win98 -- no antialiasing, 1px thick, very easy to spot the pixels on curved strokes, very easy to spot the pixels on bold style, etc.
The style looks incredible accurate to what I remember, although there are some differences:
- The opened dropdown menu, as my parent suggested.
- I don't remember textareas being resizable.
- I remember stepped sliders had little marks indicating where each step is. Only continuous sliders (e.g., the one in the Windows volume control) had no marks.
- The tabs don't look like as I remember from Win95/98, these ones look more like Win 3.1. Too much padding, the border is too thick, and the border radius is too big.
- In tables, the headers looked like buttons because they were actually buttons (you could press them to sort the table). However, here they are not clickable.
Interesting, I tried zooming in now and when zooming in far enough the font does look alright!
It might be that it just happens to look bad on high resolution screens, and/or maybe some browser fractional scaling issue
As an example, one of the text fields on the page contains the word "Incredible". When zoomed in it looks fine, when zoomed at 100% the I and the n are stuck together to each other without any pixel in-between which is very ugly
> also the dropdown menu, when opened, looks very different than the original 98 style
Sadly this is the dropdown provided by the host operating system. The tell is that it can extend beyond the browser chrome! 98.css doesn't ship with any JS, and I thought about hacking it with checkboxes and :after but.... no thanks.
This is weirdly compelling. I have some retro info that I've wanted to put in a small website, this may be the thing that pushes it into the active list.
Admirable job. Just wondering - was the impetus for this anything to do with movie or TV prop making? It would certainly be terrific for rendering real time screens of '90s era data.
My focus was not so much on pixel perfect, but instead on creating something that would also work and look aesthetically pleasing on modern systems, like with higher DPI monitors and such. So one of the the things I did was to recreate all the icons and symbols in SVG.
I tried posting it as a Show HN when I added XP and Mac OS 9, but it didn't get much attention. Maybe the title of the project isn't as catchy.