71 comments

  • nielssp 5 hours ago

    I made something similar as well (that includes both 3.11, 95, 2000, XP, CDE and Mac OS 9, and also all the default color schemes of those): https://nielssp.github.io/classic-stylesheets/?theme=win9x&s...

    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.

    • netbioserror 4 hours ago

      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.

    • tiffanyh 4 hours ago

      Love it; though the Windows 2000 theme seems a bit off (headings to heavy/bold).

      Windows 2000 was the pinnacle of UI design IMO.

    • zachwill 9 minutes ago

      Holy crap, that Mac OS 9 one is fantastic!!!

    • syx 3 hours ago

      This project is absolutely gorgeous, you really did a great job at mapping each UI elements, really great work!

    • sphars 4 hours ago

      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 :)

    • breakfastduck an hour ago

      Absolutely incredible work

    • replwoacause 3 hours ago

      This is incredible

    • a-french-anon 4 hours ago

      Very cool, thank you!

  • culi 12 minutes ago
  • prezjordan 5 hours ago

    Author here – happy to see this posted again!

    This was my burnout recovery project and I wrote some thoughts on it recently https://notes.jordanscales.com/98-css-reflections

    • sphars 4 hours ago

      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.

      [0]: https://www.mathsheets.net/

      • Jackim 41 minutes ago

        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.

      • prezjordan 4 hours ago

        Phenomenal work

    • wg0 an hour ago

      This is the most accurate replication I have ever seen of Windows 98. Wish there's one for Windows 2000 and Windows XP.

    • lioeters 4 hours ago

      > burnout recovery

      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.

  • metadat 31 minutes ago

    98.css is an HN Classic, for all the best reasons.

    Previous discussions:

    https://news.ycombinator.com/item?id=33310554 - October 2022 (179 comments)

    https://news.ycombinator.com/item?id=22940564 - April 2020 (211 comments)

    See also:

    HyperCard Simulator and Decker.

    https://hn.algolia.com/?q=hypercard

  • AstroJetson 33 minutes ago

    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.

    Thanks!

  • akx 10 hours ago

    By eye alone, I'm pretty sure that is not MS Sans Serif as rendered in Windows 95 and Windows 98.

    • worble 8 hours ago

      Recreating old fonts in modern browsers is a hard problem

      https://web.archive.org/web/20230603234837/https://vistaserv...

      • akx 7 hours ago

        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...

        • sbarre 4 hours ago

          Sounds like it was a hard problem!

    • vintagedave 10 hours ago

      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.

      [1] https://news.ycombinator.com/item?id=42056921

      • exitb 9 hours ago

        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.

  • sbarre 4 hours ago

    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).

        body {
          font-size : 11px ;
          color : windowtext ;
          background-color : appworkspace ;
        }
        a {
          color: menutext;
        }
        .headerBar {
          border-top    : 1px solid threedlightshadow ;
          border-left   : 1px solid threedlightshadow ;
          border-bottom : 1px solid threedshadow ;
          border-right  : 1px solid threedshadow ;
          background-color : threedface ;
        }
    
    
    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".
  • klaussilveira 2 hours ago

    It sucks that the fonts will never look amazing as they once were in CRT monitors in 800x600.

  • myfonj 8 hours ago

    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:

        with(document.documentElement.style){
          transform = `scale(${ 1 / devicePixelRatio })`;
          transformOrigin = 'top left';
        }
    
    (multiply the scale by whole number to get it "crisply zoomed").

    Still not 100% perfect, but much closer to intended rendering, I guess.

  • smusamashah 5 hours ago

    I made this Obsidian theme (now defunct) using lots of source from 98.css

    https://github.com/SMUsamaShah/Obsidian-Win98-Edition

  • agluszak 7 hours ago

    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.

    • mrweasel 4 hours ago

      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.

      • bityard 37 minutes ago

        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.

    • jandrese 4 hours ago

      That said I'm not a fan of the black text over dark gray background.

      Also, that website includes "show code" buttons disguised as ordinary text.

  • bwg2000 3 hours ago

    Very cool, will need to find a use for this. I briefly had a go at building similar trying to replicate the Club Penguin UI - need to get back to it!

    https://github.com/bwgraves/PenguinCSS

  • OuterVale 16 hours ago
    • pen2l 5 hours ago

      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.

      • bityard a minute ago

        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.

      • culi 6 minutes ago

        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

      • blenderob 5 hours ago

        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.

        • marginalia_nu 5 hours ago

          Modern smartphones aren't that far off in terms of (logical) pixel counts. The difference is in input accuracy.

      • marginalia_nu 5 hours ago

        The mouse has significantly higher precision than touch interfaces. That's a large part of why modern hybrid interfaces have such low density.

        • card_zero 5 hours ago

          Realistically, desktop interfaces will never stop trying to cater for touchscreen devices. We need a eugenics program to breed people with sharp pointy fingers.

    • mrighele 7 hours ago

      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

    • a-french-anon 7 hours ago

      Shilling mine (not as decoupled and extensive as those), since it's quite on point:

      https://git.sr.ht/~q3cpma/website/tree/master/item/src/resou...

      https://world-playground-deceit.net/

      These make me want to go all the way.

    • rauli_ 6 hours ago

      Now all we are missing is Windows 3.x -version.

    • ChrisNorstrom 11 hours ago

      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.

      • mrighele 7 hours ago

        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)

      • stavros 10 hours ago

        Was XP your first OS, by any chance? I really like the 98 UI, but that was my first and it evokes really nice memories.

        • selectnull 10 hours ago

          XP was my favorite as well, at least among the Windows. Not the first OS I used (that would be DOS 3). But it was the last MS OS I used.

          • stavros 10 hours ago

            Oh it was my favorite OS as well, it crashed way way less and did its job admirably, I just prefer the Windows 98 UI.

            • baq 10 hours ago

              So basically windows server 2003. Peak desktop productivity UX.

              • dotancohen 7 hours ago

                For me that was KDE 3. In fact, KDE 3 had such a fan base that even until today there is still an active port.

              • stavros 10 hours ago

                Yep, exactly.

                • d4rti 8 hours ago

                  XP x64 was a lovely desktop, and was essentially 2k3 desktop. Last Windows system I enjoyed using.

        • ChrisNorstrom 8 hours ago

          Windows 98 was my first, but I loved XP UI the most, especially in the later years when Microsoft launched the ZUNE XP theme.

  • ayaros an hour ago

    This is beautiful. The world needs more of this.

  • ranger_danger 6 hours ago
  • uptownfunk 2 hours ago

    I miss this era of life and childhood

  • Aardwolf 8 hours ago

    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

    • uniq7 7 hours ago

      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.

      • Aardwolf 6 hours ago

        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

    • prezjordan 4 hours ago

      > 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.

  • breakfastduck an hour ago

    I hate and love this at the same time

  • henning an hour ago

    This would be an improvement over modern UI design. It's much more clear what is clickable. That is why old Windows versions were designed like that.

  • andrewstuart 10 hours ago

    I used a little bit of this I think in crowdwave https://www.crowdwave.com

    • notracks 7 hours ago

      That's an interesting website!

    • OuterVale 9 hours ago

      What a lovely website. Thank you for sharing! :)

  • webprofusion 5 hours ago

    Cool but the fonts are all messed up.

  • croisillon 3 hours ago

    i dream of a 16 cga colors css framework with bulky arrows

  • lastdong 7 hours ago

    Where’s Clippy?

    Great job! I think adding Clippy notifications would be a fun touch