Hacker News new | comments | ask | show | jobs | submit login
ClassicKit – A collection of UI components for iOS influenced by Windows 95 (github.com)
236 points by prithvi24 9 months ago | hide | past | web | favorite | 58 comments

Reverting to the classic Win9x/2000 style is what I do still immediately when using a Windows computer.

As opposed to the horrible flat/white/modern design that govers Windows 10 and the web, it makes using the UI easier: Elements have clear boundaries; it is immediately obvious what role an UI component has (link? label? button? text field?); there is very little ambiguity; typography is simple and inobstrusive.

The Luna and Aero styles were actually not much worse than the classic Windows style but interesting and usable evolutions of it as they retained the properties listed above.

I am not entirely sure whether this perception stems from the fact that the classic style is objectively "better" suited for a GUI or from the fact that the Windows UIs were so predominant in the PC market at the time and left a lasting impression on people's understanding of what a GUI is/was. Perhaps it goes both ways.

You can't set classic themes on Win 10 with latest updates. So annoying. The few attempts out there for themes that used a cracked themer just aren't the same and are standard Win 10 with colours/menu colours changed.

I'd love a FULL faithful Win 98 theme for current Win 10. I'm 100% aware it's mostly my own personal nostalgia rather than it being "better", but it's absolutely ridiculous that you can no longer fully theme Windows and they actively block themeing from working properly now.

I'm pretty close to leaving Windows for good (having used it since the start, faithfully through thick and thin) and switching to Mint or some such, just so I can set stuff up how I want to. Windows 10 is the most dumbed down, ugly, and confusing OS Microsoft has ever put out (recently overtaking Vista for me for annoyances).

> it's mostly my own personal nostalgia rather than it being "better"

I believe from a UX standpoint the win95 UI was better. Microsoft did a lot of actual usability research in evolving the UI of Windows 3.1 into that of 95. Moving forward I believe they compromised on usability in favour of a more "sexy" minimalist aesthetic.

A particularly good example is the 3D of the old UI contrasted to modern flat UIs provides far more obvious hierarchy and hinting of what can be interacted with and in what way.

1.) If you can get it, LTSB is your friend.

2.) Classic Shell is mandatory. How you could break the start menu search as profiundly as Windows 10 does is baffling.

2.) It isn't just Windows, Mac has done it too; Try this in spotlight:

'vsc' will show Visual Studio Code

'vsco' will show a web search of 'vscode extensions' and Visual Studio Code nowhere to be seen

'xc' will show Xcode

'xco' will show Xcode Server Builder

Yeah, it gets weird. First thing I do on every new Mac is disable Spotlight for everything except applications and system preferences, though, and that helps a lot.

xco shows Xcode for me.

Regarding the second point: I really don't get what's up with the start menu search. I don't use Win 10 all that often (secondary OS) and always assumed it's somehow broken for me. I almost never find anything I'm looking for and it feels absolutely ridiculous.

what? so it's not just me?

i assumed that it stopped working after i went ballistic in the privacy and telemetry sections of the control panel.

It’s one thing to rank results differently as you type but I can’t comprehend how entire results go away when they still should match as you continue.

I don't think it's just nostalgia. I personally prefer for an interface to be as invisible as possible, which to me means flat gray or dark gray.

Anything else like color, reflections, transparency, animations, etc. draw my attention away from what I'm doing (contained within the window frames) out into the window frames and taskbar, which I want to look at as little as necessary.

Some things I like about the classic style:

  * The title bar of the active window is shaded in the accent colour, those of inactive windows are not. This makes it clear at a glance which window I'm typing into.

  * Unless a developer goes out of their way to mess with components, a button always looks like a button and things that look like buttons are always buttons. 

  * In the control panel, you can *easily* customise the fonts and colours for things (like picking your own colours for both active and inactive title bars). Yes you can make completely horrible setups this way, or set your co-worker's PC to comic sans as a joke, but someone with dyslexia, colour blindness or other disabilities can also easily set the UI to exactly what works for them. "Themes" in later versions are both less flexible and require someone with more time and technical skills to create them in the first place.
Along similar lines, I would take the old GNOME 2 "here's a set of dropdown boxes for accent colours 1-4" over GNOME 3s "here's 1000 lines of CSS, good luck with that" approach any day.

The title bar of the active window is shaded in the accent colour, those of inactive windows are not.

The lack of that was one of the most baffling things about the Win10 UI --- especially when you read about what they did:


Microsoft chose to force white title bars in an odd way. In the uDWM.dll theme file in Windows, there’s code that looks at the current theme file name and compares it to “aero.msstyles” — the default theme file. If it matches, Windows ignores the color specified in the theme file and sets the color to white.

Someone at MS thought it would be a good idea to deliberately break title bar colouring by checking for a hardcoded theme filename. It wasn't a bug, it was an active decision to do such a "hack", and presumably others who reviewed the code were completely fine with it. Besides the completely stupid decision to force titlebars to be uncoloured, it's well deserving of a WTF!?

It can be toggled with more recent updates in the personalization settings, under color.

I've heard that the Hotdog Stand theme looked pretty good on monochrome monitors, though.

After running a quick monochrome filter over it on my smartphone, you're not wrong: https://i.imgur.com/9m2hbu4.png

I think they are objectively easier to use. Since they came along during the era when people were getting accustomed to computer interfaces, everything had to have a lot of affordances. Hence buttons that look like actual buttons and so on. Since now everybody (probably) knows that you can click on stuff the visual appeal was put ahead.

Still, at least in iOS there is some backpedaling on the general whiteness and borderlessness. I suppose this is because while people are accustomed and borderless stuff looks nicer, the interface is harder and slower to use.

Funny thing is the current trends in UI is actually being pushed by people claiming it is more friendly and "intuitive"...

There is definitely a limit to how abstract and minimalist a UI can be. After months I just recently realized Outlook web' s rules creator accepts a raw email address (without selecting a contact) by clicking the _empty_ white space to the right of the ellipsis. There are no borders, no color change, nothing to indicate a free form text input.

EDIT: forgot to add context

I find it's just a bit small on modern high-resolution displays, it was built for an era of 800x600 - 1024x768 and it shows.

The whole UI has been scalable since the Windows 95 days. Hence the use of Marlett for icons.

Win 7 style seems perfect on +-fullhd displays, it might be too small on some tiny 4k display (probably anything below 30").

but as far as I remember windows since at least 95 allowed to change size of fonts of many UI elements (popups, menus etc)

Sadly MS having been hiding those tweaks in Win10 for some reason. The registry keys are still present though, so with the right third party tool i can still crank them up to make using explorer with a touch screen that much better.

A lot of that seems to just come from the fact that the new settings system is not "done" as made obvious that it can't replace the old control panel yet.

The lack of consistency in pretty much everything is the main reason I'm still on Windows 7. Every time I look at that end of support milestone I shed a tear. I WANT the Kernel other improvements that 10 offers, but dear lord does it come with significant downsides

Question is why they are ripping out fully working settings dialogs then, before the replacement ones are in.

Never mind the number of "power user" tweaks that are locked behind arbitrary "professional" licensing or plain inaccessible outside of registry diving.

As far as I can tell, flatness/basic layouts emerged right around the time the total number of possible device resolutions was becoming insane. Sadly, simple rectangles without edges are probably the easiest way to ensure a consistent look everywhere: nothing to align, accidental overlap is invisible, etc. And of course, it looks terrible.

Still, Windows has behavioral issues that are a problem regardless of appearance. For instance, why in 2018 in an OS NAMED “Windows” are all my window locations and sizes and screen choices borked simply by closing and moving my laptop?

win 10 flat is ok-ish (it has enough differentiating bits

win 7 is good

nt5 classic is my favorite :)

I agree, Microsoft can't stop breaking windows

Nice, there’s some great stuff here in something that originated as a fun/joke project:

- it might not look ‘pretty’, but heck, the Windows 95 UI sure is intuitive. Buttons are very apparent, icons make sense, and what was never meant as a touch UI translates across to one incredibly well.

- at a glance, code looks clean and pretty readable. @IBDesignable support too (if only Xcode wasn’t so sluggish compiling/rendering IBDesignables...). Well done to the author for not only making a fun/cool project, but for doing it well.

Mods please remove "Came Across", this isn't Reddit. The guideline is to use the page title or the project name and a short explanation.

I like the fact that it's drawing the edges as vectors, just like how Windows itself renders classic style:


IMHO much better than the trend of making every single UI element a huge bitmap image (in multiple resolutions), such that a simple app contains dozens of images of buttons and the like which consume more space than an entire Win95 installation...

I’m curious whether vector controls result in less or more GPU texture-memory usage, once you take into account that you need to render them as textures in order to get the compositor to work efficiently on them.

Raster images, after all, are usually loaded into VRAM by a library that converts them to some native packed texture format that are especially low-memory to hold and low-time-cost to render. Do baker vectors end up in the same format, or in the less efficient format used for expected-to-update pixel buffers (i.e. the format used for the renderings of compositable layers)?

It's pretty much the same either way, because vector images are always rasterized on CPU before being uploaded to GPU in popular OS stacks.

This may change with GPU rasterization of vectors (disclaimer: that's what I work on). I don't know of any major OS vendor that's actually publicly planning to ship this anytime soon though.

I mean, sure, they’re rasterized—but are they rasterized to the same native texture format as bitmaps are? I know that for assets in games, the “read-only” assets loaded from disk come with rasterization metadata (or are already transcoded to the native texture format, depending on architecture) such that you get more efficient VRAM consumption at the expense of loading time (this being why games can take so long to load a scene when GPUs have even more PCI-e lanes than NVMe memory does.)

Whereas I’d expect that texture-elements rendered during a scene, which might potentially stick around for only a few frames, would load to the GPU “uncompressed”, loading faster (less driver delay despite the increased size) but then taking more cycles of each texture-unit to process on each frame, thus taxing the GPU more.

I definitely know this was true back in the 90s in game consoles—data streamed from disk was optimized for the GPU; while compositing in data held as a raw pixel field in VRAM (because it was e.g. a minimap texture you were redrawing or somesuch) left much less GPU available for anything else to use.

I'm not aware of any mainstream UI toolkits that use texture compression for anything. Those compression formats are lossy, and UIs usually want to be pixel perfect.

High DPI displays require pretty enormous icons to look good. And you can of course also cache the results of rendering a vector image at exactly the size you need.

Story time... when NeXT pivoted away from hardware, they ported OpenStep to Windows NT 4. Since they needed to look like Windows NT, they included MS Windows UI images. Those images are gone now but were still present in OS X as of Snow Leopard.

(And now the show is on the other foot with Microsoft/WinObjC)


The IE copycat is really asking for an MSN/Yahoo toolbar.

And some remote system script execution.

> some remote system script execution

That's how you get pulled from the App Store.

I did something similar as an easter egg, but with classic black and white Mac UI, but I never thought to publish it as a library.

Classic Note [0][1] ran with the classic Mac aesthetic and was very well done, but is unfortunately no longer in the App Store.

[0]: http://www.digitalworlds-ent.com/classicnote/

[1]: https://appadvice.com/app/classic-note/628565312

I've recently devoted half a weekend to implementing the Windows 3.1 style as WPF styles. There's something about taking a modern UI toolkit and making it look like the old days :)

Is there an equivalent for Android? Asking for a friend...

Keep in mind that the distinctive 3D look of Windows 95 UI was inspired by NeXT. If you like how controls look in Windows 95 then what you really like is NeXT.

Oh man, this gives me fuzzy feelings. I remember developing my first applications in VB 4 back in 97 or so, I had so much fun. I remember when IE 4 came along, with its flat icons and Active Desktop and things. My 100 MHz Pentium couldn't even run it well, what with the 16 MB of RAM.

That could be a good basis for a NeXt-alike, which is after all a direct ancestor.

> The assets and design metrics were (for the most part) taken from an actual installation of Windows 95

DMCA pulldown in 3.. 2..

If you are thinking of using this, consider the fact that any assets ripped from Windows are copyright infringements.

Windows PocketPC comes to mind...

Yeah, it reminds me of Windows CE for sure

Pretty cool, is there a 90's era Mac pre-OSX version somewhere? Would be pretty rad (ha) to do a UI in both and allow the user to pick their 'platform'. Nifty stuff.

If you could get this working with the Win32 API and Wine, you'd have a true cross-platform app solution!

But does it support iPhone X notch? :)

You ar probably jesting, but the serious answer: there is no reason for it not too. The notch itself has nothing to do with UI elements, just with their positioning. As long as you respect safe area guidelines in view you are good.

Only in theory.

Even if you do respect the layout margins and safe area, there design needs to accommodate the change, so where the status bar was only 20 pixels, there's now a lot more space to deal with and the design needs to adjust.

Back when I had Windows 95 I was obsessed with text mode.


Applications are open for YC Summer 2019

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