Oldest GUI application that still runs on Windows 11
j / k
|
Down or up a comment |
h / l
|
Previous or next link |
?
|
This help |
Mom passed earlier this year, so the FreeCell score record won't ever increment again, but I still made a point to back it up one last time when going through her desktop this summer.
I wanted old school MS solitaire in windows 11 since the modern version has ads and extra useless features. I found that the Windows XP version works without hassle. Earlier versions aren't really different but I forget if I tried to run earlier versions. One quirk: however the winning animation is programmed, it takes almost 20 minutes to complete on a very wide monitor[1].
[1] https://www.youtube.com/watch?v=78z2zlwV-XQ
Don't visit the link, unless you like feeling let down.
https://cards.jlogical.com/
Its way nicer and open source:
https://github.com/JLogical-Apps/cards
[1]: https://en.wikipedia.org/wiki/FreeCell
> All LG televisions are maintaining a dossier on you and transcribing everything you watch and everything spoken within earshot
These things seem like something we should be responding to with such an extreme disgust response that it's denominated in drone strikes.
Like having a shower liner installed that comes with A Guy With A Peephole who permanently lives in your bathroom now, and that's just something people tolerate. "Switch to tile if you don't like it", they say. No. Sometimes the appropriate response to audacity is to choose violence. It is an implied deterrent against sufficiently offensive antifeatures that nobody has bothered banning them. I shouldn't have to specify that I don't want it, the operating system is just not supposed to be in the business of pushing ads on me, the television is not supposed to be in the business of wiretapping me. These would have been banned long ago if they were known and if we had a functional government.
That guy living in the shower liner is getting disassembled with a Sawzall with extreme prejudice, and frankly that is not sufficient.
The score is a value stored in the Windows registry, the poster probably re-created (or imported from a previous export) the registry entry upon each Windows installation.
[0] https://win7games.com/#calc
He liked to play minesweeper and I found that the high scores were just stored in minesweeper.ini or something. I didn't know very much about computers at the time but I could manage that [1].
So, whenever I was on his machine I would edit the file and add my own name with a score that was one second quicker than his.
He got some really good times so I feel it was definitely an encouragement to excellence!
[1] When I was in my 20s I was immortal and knew everything. Now I'm in my 50s, with decades of experience, I am very much mortal and know practically nothing. Strange how life turns out.
90% of the time, even in Android that was pre-Honeycomb, the menu ended up just showing what would have been in the overflow anyways.
Android really did end up doing a lot better on the UX side that iOS with the contextual action bar and long-press to select. The idea of selection mode on iOS is still a weird process, and it's been mostly worked around since with higher PPI screens and touch sensors, instead doing a small area to "select" items on iOS
I disagree - long-press isn't intuitive or discoverable, and it's slow. You could make a case that they're a good fit for mobile, but they're truly horrible on desktop.
Hard buttons beat soft buttons for UX any time. You can use them with a glove, you can feel where the are located and you don't accidentally click because your finger was close enough for the capacitive touch sensor to trigger.
Still the best navigable phone I had when coupled with the Nova Launcher gestures.
Some of those were taken into other OSes but nowhere were they implemented so smoothly.
This precisely coincides with the web developers being allowed to wrap stuff into "apps" in Electron and the like.
Wow, you unlocked a memory. In case somebody doesn't remember, or doesn't know, the style of Borland buttons, here's a screenshot: https://sourceforge.net/p/owlnext/wiki/Replacing_usage_of_BW...
Some more screenshots on this page: https://www.drbob42.com/delphi/findmapc.htm
(Look at all those misaligned icons/labels in the Tool Options screenshot!)
- Office (custom widget toolkit, menus, toolbars, etc)
- Internet Explorer (frequently introduced new toolbar designs not available to apps via API until later)
- Encarta (custom dark mode-ish theme)
- Netscape Communicator (custom toolbars)
- RealPlayer
- QuickTime
- MSN Messenger (custom theme)
- Every video game ever
... UI inconsistency didn't arrive with the web. Even macOS has always been a patchwork. Apple couldn't stop introducing new themes over time and there were always apps that didn't quite follow. Brushed metal!
https://mprove.de/script/99/kai/index.html
Now, if I take a couple of current applications, the differences are much bigger: from the top of my head, Explorer, Settings, Edge, Office, Steam, Spotify all have much more unique UIs.
Then XP kind of broke that as so many started not bothering and then it all went sideways.
Something fundamentally switched around 1998-2002 in how interface design was viewed and approached. I started my career in software as a design summer intern at a company that made a Windows “groupware” application in 1997. They took pride in following the platform’s guidelines and actually testing their designs with real users being videotaped trying to use it. The company’s UI design department was tiny, but employed both an industrial designer and a cognitive scientist.
Five years later, everybody I met in UI design was a graphic designer who was drawing glossy website mockups in Photoshop. The elder lore of science-based UI design was completely lost when Web 2.0 happened and app designs became vibes-based. Even Apple couldn’t resist the tide. (Indeed Steve Jobs’s return to Apple in 1997 was a major contributor because he had developed a taste for user-hostile skeuomorphism like the brushed metal QuickTime Player.)
I was at Microsoft when they user-tested Windows 7 to death. Including installing eye tracking software during sessions so you could monitor where the user was looking at on the screen.
That data was in part used to justify the changes made in 8: "Users only click on the start menu 0.1% of the time and when they do they focus on a narrow portion of the screen."
Def the sort of stories you hear at at a bar after work.
> the users don't focus on this menu much
to
> therefore we need to make this menu as large as possible
shouldn't the conclusion have been "the start menu is so great the user doesn't even need to focus on using it". it feels like desperately trying to make the data fit the predefined conclusion, despite the data screaming and kicking.
I've seen similar before - people not understanding that certain things are at their most successful if they're unobtrusive.
I think a fair take is that going full skeuomorphic may take some options off the table for you because they would conflict too much with the metaphor you’re leaning hard into.
I’m still 100% Team Forstall though, considering the massive violence that ios7 and its copycats have wrought on usability.
The poster boy for that is the old QuickTime Player, which had a volume wheel and a drawer for shortcuts. https://www.johnforde.com/teaching/shame/qtime.htm
Always-on-screen scrollbars are only useless if you think that indication is useless. Many people find it quite valuable.
It’s also applicaction specific: I care a lot more about relative viewport size and position when reading a long document than I do when I’m entering commands at the bottom of a terminal’s scrollback buffer.
No matter, this is exactly the sort of thing that can and should be implemented as a systemwide user option, possibly with app- or even app-profile level overrides for cases like terminal emulators where users are less likely to prefer full-time scrollbars.
It's a tragedy decades of UI research/design can't get any of the fundamental design elements right
Good times.
Very frustrating when one is scanning documents and photos, and verifying them through Finder shows phantom cropping.
I personally like the scroll bars to always be visible as they serve as both an indicator and a control.
We could even have unified desktop.mobile codebases, with different GUI layouts. 280 North's objective-J/Cappuccino proved this.
IDK what we're even doing anymore.
I would say people are just disagreeing with you that the situation is actually so black and white.
Win10 LTSC with the right options and limiting search to local only is pretty good also though. Insanely snappy on even crap systems (with really any SSD)
Of course people who got used to traversing 3-level menus got annoyed but they still have all the same keyboard shortcuts. However, spending enough time, you also get used to Ribbon and it usually requires fewer clicks not more.
I still find a tastefully done Ribbon is better than a menu and a toolbar combination. The problem is, not everybody has put the same effort that Microsoft did which created monstrosities like Solidworks Ribbon.
I actually find it difficult to scan for a specific function since the most of the text in the ribbon is centered and may have multiple lines. With the current design, I am expected to look up top to check what tab I am on, then look down bottom to find the container that might have my desired functionality, and then finally scan the middle text (which may be one or two lines) for the button.
They never bothered to implement this Preview functionality on the Web version of office, and I bet only a few ever noticed this inconsistency.
https://www.softpedia.com/get/Desktop-Enhancements/Themes/Mi...
https://images.sftcdn.net/images/t_optimized,f_auto/p/5c889a...
UX being copied by OSes from each other is a good thing.
If you're a tachyon I guess linux is ripping off osx :)
What does this mean? I use lots of apps that still have a menu bar.
Some apps eschew it, like browsers, but not because they are “mobile first”, but because they are trying to maximize screen space.
I don't think this is true. If anything, we see more oversized buttons and empty space nowadays. It's as if developers forgot that PC users have keyboards and mice. Remember, display resolutions and monitors were a lot smaller back then, and making space count was arguably more important 20 years ago than it is today.
The space also really has nothing to do with “mobile first”. It’s for touch screens (and also modern aesthetic that avoids crowded controls).
To be clear, I am not saying that all apps are optimizing for saving screen space. I was specifically talking about browsers, which are broadly optimized to give as much area as possible to the content.
It was a mildly useful point of view when they were designing things meant to be the first computer program someone might ever use. Like Microsoft Bob or Apple “At Ease.” But it’s idiotic to have things following that dogma as the only interface to tools that people need to use daily and will become expert users of.
To think some of us nerds complained about the Luna theme of XP as too “Fisher Price.” Fisher Price products look like industrial control panels compared to today’s contemporary operating systems and apps.
If that was the case they wouldn't put giant margins around every UI element and dead space everywhere.
The Wells Fargo website screams this for me - it used to be dense and packed with info, now it's got large elements and wasted space.
Ironic to say on hackernews which shows massive whitespace in the margins-- and if I try to widen my tab sidebar it actually indents the margin rather than eating into it.
One can look across the computing space as a whole and see that, it is surely not the case that we're "maximizing screen space".
Perhaps, if you're not using a sidebar for bookmarks or vertical tabs or whatever, it suggests something ought to have changed in UI design back when widescreen monitors became the norm?
The key element missing from this thread is that the Internet going from a text based to a multi-media (and increasingly video-centric) experience.
A lot of Internet users, at this point, do as much reading on their phone or laptop as I do reading on my TV (almost none).
Oh really? I, sadly, use nearly none. Open on my desktop right now: Slack, Outlook, Zoom, Windows Terminal, Edge, Claude, Obsidian, whatever the Windows image viewer is called, Cursor, and VS Code.
Only the last 2 have menu bars. And I can’t be certain that I didn’t dig through the preferences of one or both of them when I first installed them to tell them to knock off the bullshit and give me back the menus. Once in a while, there is an option buried somewhere like that.
I see some have gone the “browser” direction with tabs folded into the title bar and the menu bar dropped. Windows Terminal, File Explorer, and Notepad are all that style now.
Edit: Actually Notepad has the tabs in the titlebar thing but retained the menu bar and folded it into the command bar.
Apple meanwhile has made some notable mistakes, but when they do, it's usually a thorough bad bet that's just missed the mark, but if they do, it's all throughout their OS in every corner. Even with their recent Liquid glass blunder, they're not really putting a veneer that looks like wood over a rotting corpse of a house, they're just picking bad materials to update an otherwise decent layout. Microsoft's whole track consumer UI/product record imo is trying and failing to bet small but intrusively on ideas that don't work, aren't cool, and have no longevity. You see it as soon as you open the control panel that still looks like the 90s; it's this uncomfortable amalgam of failed tepid temporary marketing pitches by some department that make no sense
I have some hope that thanks to hardware shortages and AI helping people write software they will rewrite some things back to faster languages. But this is all gut feeling, gut feeling that a lot of modern-day developers are afraid of optimized code.
(I fully acknowledge the hypocrisy, given my bread and butter is JS/TS front-end and I don't like C. But in my defense, there's no market demand for native developers either, barely any Go even, even though a few years ago it looked like a lot of Java backends were getting rewritten)
But! Something hardly anyone realizes is that you can get native old-school performance with modern frameworks if you do things right. The best example of this I've seen is what happens if you AOT compile JavaFX apps with GraalVM. They start instantly, every bit as fast as a classic Windows 95 era app running on a modern Win11 machine would.
JavaFX is the replacement for Swing in Java world. As GUI frameworks go I actually really like the API - it's not a ReactJS based paradigm that never really gelled for me, the closest JS equivalent might be something like Vue where reactivity is done at the property level instead of via vdom diffing. It is vaguely HTML inspired, so there's an XML based way to define UIs and you can style them with a dialect of CSS, but the whole thing is designed for GUIs from the ground up. Rendering uses the 3D pipeline on each OS (Direct3D, Metal, Vulkan or OpenGL), it's multi-threaded, there are sophisticated widgets for things like rich text editing and table views, properly parallel composited animation APIs etc. When it first came out it was quite futuristic, nowadays I'd say it's just standard.
Anyway, you can make apps with it that feel completely modern to end users, and yet, they start fast and use relatively little memory when AOT compiled. The JVM startup time disappears entirely.
Part of why it's fast is that GraalVM lets you initialize parts of the app statically at build time, so data structures like GUI widgets derived from XML or CSS can be frozen into a heap snapshot and just mmapped in. No startup time computation needed.
So it's possible and we don't have to go back to using legacy APIs to get this kind of performance. A sufficiently smart compiler can work wonders.
You don't need to implement dark mode when all the controls already follow the users system color scheme. Dark mode is a signficiant regression compared to user-adjustable color schemes and another example of designers wanting to enforce their vision over the desires of the user.
https://learn.microsoft.com/en-us/windows/apps/desktop/moder...
There’s no need to be hyperbolic or blinded by nostalgia. Yes, user interfaces have suffered several setbacks in the years since, but even if we concede every change was for the worse (they weren’t) it was by no means “perfected” and there was still plenty of area for improvement.
The Windows SDK samples like Hilo make use of C++ with COM.
If you see this UI transition through the same lense as CLI-GUI one, a lot of things become more clear, in my opinion.
I think we've actually completely stagnate on the human interaction side of OSes and only emacs has made any progress and then only for those willing to put the work in, not as a vanilla user ui.
Insanely great performance.
Well that can't be entirely true, the desktop experience on Windows 10 improved on Windows 8 by leaps and bounds.
In large part, windows 10's ui is more like that of windows 95 because it undid the changes away from the windows 95 paradigm that windows 8 did. Furthermore, those changes away from windows 95 in windows 8 were the exact kind of thing that might be called "mobile first".
In other words, change for the sake of change does not an improvement make.
What a terrible attitude to have as a comment reply. I've been using Windows since Windows 95, meaning I have plenty of experience and some emotional attachment to it and I'm as millenial with knee pain as they get, so not Gen-Z, and I can't imagine going back to using W95 today productively in a non-ironic way.
Windows 95 was perfect ... for what people did on computers back in 1995, not for what I do now in 2026 on the HW of today. May W95 rest in peace, but I'll take my modern OS for my moderns entertainment and productivity tasks on modern HW. There's no way in hell I'd want to go back to W95 even if that's what popped my cherry. People calming otherwise have rose tinted glasses and only remember the good parts of that era without the downsides.
In modern WIndows, from 7 onward, I can hit the meta key and type the first letters of the app I want to open, hit enter and boom, it's opened. I can mouse snap the two app windows side by side on my large monitor. I have 125% scaling so things don't look tiny on my 4k monitor.
Win 95 had none of that, the only way to launch an app was via shortcuts on the desktop or navigating a long and tedious star menu tree, which was perfectly fine for 1995 since you had ~10 app on your PC and you used it sparingly, but is really shit UX if your PC has 50+ apps like in 2026 and you use it for half a day. "Classic windows" only makes sense if you also use your PC in a classic way like it's the 90's, with like 1-2 concurrent apps opened at once, instead of 10+ leaving them on for days/weeks.
>Good that there is Cygwin, so I could move most stuff there.
Cygwin is CLI, not UI, which is what we were talking about. Are your complaints about the Windows CLI or about UI, because those are different topics you seem to mix up?
>Classic Windows just works, and if you care, you can even customize it.
I can also customize modern Windows, at least in the ways I need it to be productive. Sure, you can't customize it anymore in the W95 way, such as having a Matrix screensaver or Rollercoaster Tycoon theme on it, but I don't need that anymore since I'm old now and don't have time for that anymore. If I want a short hit of nostalgia I boot up my vintage Windows XP machine, but that's not my daily driver.
>Im really curious, because I was using corporate Win10 and hell, it was really driving me crazy.
If Win10 was driving you crazy, then "classic windows" would also drive you crazy even harder because it doesn't have any QoL over Win10. Please explain yourself here what you mean since you seem to be contradicting yourself. Or are you only talking about your limited corporate windows experience and and not what you can do as an admin on "home" windows?
I mean in theory I can also do that on my Win 11 machine... In practice if I actually performed those exact steps I will probably have edge open up with a web search of the letters I typed.
The amount of times I actually have to use the now even less user friendly way of finding an app in the start menu regardless is infuriating, give me both, a star menu that is deterministic and a search that works...
Just because I want the older stuff does not mean I have to give up some of the newer stuff.
Not for me since I disabled web search feature of the start menu, but I get what you mean. I still prefer this option than being limited by the Win95 way. I always have 10+ apps opened at once. Having to manually launch them via the menu tree every time I boot up my OS would be a nightmare. This wasn't an issue in Win95 because I only had 16mb of RAM so I only launched one or two apps simultaneously, like for example MS Word for a school project and Winamp for listening to music while working and that's it. The kind of multitasking people do today without even thinking (50+ Chrome tabs, IDEs, Discord, Signal, Spotify, Steam, WSL, Plex, etc) was unheard of in Win95.
>Just because I want the older stuff
Yes, but you failed to explain exactly what "old stuff" UI did Win95 had that you don't have today and really need? You can still launch apps via the desktop shortcuts or the tedious start-menu tree view in Modern Windows as well like it's 1995, if that's what you miss from Win95, nobody forces you to use the broken search feature you dislike of modern windows.
I could use like 3-4 keyboard navigation items and have my app open in win95. In win11 I must use my mouse and it is slow as balls and I have a ryzen 7 + GTX2080ti this isn't entry level hardware.
If the start menu was still as usable as it was then I agree I an many others would have no reason to complain but it isn't and the "better" alternative is only better about 50% of the time so in general what I end up doing is pinning everything to the task bar or putting it on the desktop and try my best to just do the rest in the terminal.
How come I can use a keybaord?
Yeah, scaling is improvement (but I would be cautionus here, it can bring artifacts). I preffer just good native resolution.
For running stuff quickly, I have an app that handles that:
http://borg.uu3.net/~borg/?quickrun
No, it's also objective stuff I gave you arguments and examples on how some things are better now.
> I hate it with passion
yeah and you haven't given any objective arguments and examples about it.
I like talking about concrete examples not about personal feelings since that wastes everyone's time.
You say scaling? My reply is: go ahead and buy 8k monitor to make things even smaller and play with scaling.. I run 1280x960 resulution so pixel size is sane and everything looks great and readable.
You run 50 apps that you never closes? It seems its personal again, I try to close not used app as soon as its not needed. Running it again is no big deal. If I need to run a lot, I have 4 virtual desktops to group tasks correctly. No issues. But again, you cannot be objective on those things, because its personal. We can align at best if we work in similar way, thats all.
---
Aero is a thorough evolution of the Windows UX, I think many people never realised just how much it improved when praising XP and prior.
How are you running the classic GUI?
Ribbon is absolutely an improvement for users but is more work for the XML layout and learning how to organize it.
I'm rather convinced that Ribbon is still the best way to organize quick actions, show their shortcuts (Alt to see keyboard shortcuts), and also have enough text to describe all the buttons. But it'd be nice if it were easier to make good Ribbons.
Menu was braindead easy, albeit through ancient process of .rc files and whatnot
Old Photoshop, any CAD software, Excel. Smaller buttons and more of them is a steeper learning curve but results in far superior day-to-day usability. You can still hold down [Alt] and see hotkeys, that wasn't unique to the Ribbon UI.
it's all very much an example of the "Look at what they need to mimic a fraction of our power" meme.
It's well acknowledged that modern designers and users benefit from large vs small, and other varying styles of organization.
Menus only had top menus vs submenu vs sub-sub-menu (and so forth). Yes a good menu is useful but...
A ribbon offers many more tradeoffs. It's harder to design a good ribbon, but the best ribbons are always better than even the best menu. The important features will be physically larger with more text and space. The less important or niche features might just be an icon with tooltip, possibly hidden behind a subcategory of the ribbon.
In theory, you can use the modern Ribbon to make old school menus. But why bother? If you made the switch to that XML design language, you might as well take all the benefits of the Ribbon
Or hell, if you like old school menus, you can still make them today. Those .RC editors still work in modern Windows 11. But give it a shot and you'll see how restrictive and bulky old school menus are in practice.
The finished patch DLL ended up being a tour of the stuff that broke.
The game did launch on Windows 11 but the main issue was that the 8-bit pre-DirectDraw behaviour was broken - for 256 colour screens, Windows 11 resolvesld palette indices only once, but the game relies on being able to change the palette for fades etc. Most of the screeen ended up black, but you could see the animated parts just fine.
So most of fix ended up being to hook every draw call and implement a virtual GDI that acted like a graphics card of the day.
There was a 32-bit disc space check that overflowed, a couple of use-after-free crashes and some racey threading calls that can't have been tested on a machine with 2 CPUs.
Backwards compatibility from Microsoft was almost all there, and probably would have kept Orly running for a couple of subsequent Windows releases. But it relies on a developer meeting them half-way, it's not an emulation layer.
So this game still needed its bugs fixing to run in a modernised Windows, or it would have been stuck in a hardware emulator running Windows 95.
But after it was working on Windows, I tried it on Crossover and found that MacOS doesn't allow you to pin to one CPU. So it needed a racey scheduler rewriting.
There was also a difference in the way wine provides printer drivers that caused a buggy code path to run in the game, which caused a crash on the Steam Deck too.
So those bugs would have been critical even if the display implementation had worked.
The patch also adds an OpenGL window & scaling filter as the game's primary output, so it doesn't rely on GDI for pixel output any more.
It kind of depends on the document format. PDF tends to display well over time (but there can be issues with complex documents and/or missing fonts), spreadsheets and word processor files are likely to be openable, but they may not display as they originally did. HTML is likely to look rather different than it did when written, but it'll probably be legible.
The main causes of incompatibility were the transition from ball-and-powder to rimfire cartridges, then the transition from rimfire to centerfire. It's surprising how little firearms have changed in the past century. 9mm Parabellum is 125 years old. The Browning short recoil action (used by most handguns today) is over a century old.
1. https://en.wikipedia.org/wiki/.22_short
Isn't that a function of constraints in the deployment model, which are fundamentally unchanged? A soldier needs <something> with him to hit enemies and <something else> to reload it - and the simpler the better, to facilitate difficult deployments and keep costs down. I mean, the venerable Kalashnikov is still around, despite its well-known shortcomings...
I guess we would see major developments only if we discovered/engineered materials that can perform the function in a significantly better way.
Most improvements have been in things like modularity, sighting systems, and standardization for mounting accessories such as lights and laser aiming modules. Better metallurgy does mean that modern firearms tend to last longer than older ones, but even a firearm from WWI can fire thousands of rounds before the bore erodes enough to hurt accuracy. I doubt we'll see any significant change in small arms unless something revolutionary comes along, such as portable energy weapons or mass drivers.
1. https://en.wikipedia.org/wiki/.277_Fury
2. https://en.wikipedia.org/wiki/.30_Super_Carry
you can do that, in fact I know that Austria still has a mid 19th century train in regular operation (https://de.wikipedia.org/wiki/SB_alt_23)
if you're looking for commuter trains a lot of early 20th century ones still operate around the world.
This quite literally happens all the time in the UK. There are heritage railways, and steam rolling stock regularly shows up on various routes as part of heritage rides.
On the other hand, I ride almost daily on a track bed that was laid almost 180 years ago, and through tunnels and on viaducts that are equally as old. The rails, sleepers, signals, and rolling stock have all changed, no doubt, but the base infrastructure is old hat.
The oldest bits of the London Underground are from 1863. The tunnels are exactly the same, the stations and stairways, and even some of the sign boards completely unchanged from then.
Railways are the epitome of forever infrastructure.
https://m.youtube.com/watch?v=pQHX-SjgQvQ
It is amazing, though. Wintel is basically a Matryoshka doll (Russian nesting dolls), where each version contains all the previous versions. (Just look at how a PC boots up!)
The dedication to compatibility is commendable, and you don't really see it on the other OS's. On that note, this is one of my favorite articles:
Win32 is the only stable ABI on Linux
https://blog.hiler.eu/win32-the-only-stable-abi/
I think that's very funny. Speaking of which, EasyToon also runs in WINE, of course :)
https://news.ycombinator.com/item?id=50250809
Pointing this out without a trigger warning is just rude ;-)
Some of us are older than we think, yo.
If it ain't broke I guess. Long live ELMO!
The oldest web app code of my own that I still maintain/evolve turned 20 this year, so yours is older than mine. I think it's largely a Ship of Theseus at this point, though I did just remove some code the other day that was absolutely untouched since 2008.
It inspired a weekend project. I always liked that you could swap the card backs in OG FreeCell and play with different "themed" decks, so I vibecoded something a little more modern. I got carried away and added a roguelite mode too (yeah I know how "Roguelite FreeCell" sounds). Anyway, it's free to play on the web, no ads: [https://freecellworlds.com/]
Basically a 1992 rogue-lite where each room is a different solitaire game. eg: front parlor == clock solitaire, first bedroom == regular solitaire, upstairs is blocked by freecell, etc...
Screenshots: https://www.mobygames.com/game/1986/solitaires-journey/scree...
It's a fairly rich concept, you have a ton of different gameplay bound together by a very loose plot/quest mechanisms (eg: blue key == blue door ; boss == win 2 games of solitaire).
Definitely worth sharing if you've got some solitaire fans in your life!
"In 1996, Computer Gaming World declared Solitaire's Journey the 72nd-best computer game ever released."
The bar has moved up a tad I think :D
Some .NET versions <= 4 installed a lot of their DLLs globally in Windows and if you were exact version tolerant enough (and GAC binding magic lucky enough) you could distribute a single EXE without an installer and expect some number of Windows users it would "just work" with only the EXE (and other users you would get complex dances of Windows Updates and .NET Installers to debug). Modern .NET decided on the classic DOS style "folder of DLLs" model over "global DLL cache and DLL Hell". You can no longer assume that the output EXE can "just work" on some supported Windows machines, but can better assume that the output folder of DLLs and EXE will work as intended generally on every supported Windows machine.
In web we refer to the latter but i feel you mean the former.
I built a toy project in .NET 2005[0] with WinForms and the experience was actually excellent, binding data to controls was dead simple, it felt surprisingly modern. But i can't imagine how I'd make the UI resizable lol
[0]https://github.com/queenkjuul/spotify97
It is something I appreciate about WPF and other successors is that responsive layouts became the default and low level building blocks with "pixel perfect" harder to do and less of an "after thought" on top of pixel perfect WYSIWYG that's easy to get responsive wrong, but even with WinForms people were building responsive apps back in the day.
[0] https://learn.microsoft.com/en-us/dotnet/desktop/winforms/co...
Windows apps always had to be able to respond to dynamically changing screen dimensions since the user could change from one screen resolution to another while an app was still running. Apps would get a WM_DISPLAYCHANGE message in their top-level windows message processing loop. Docs say WM_DISPLAYCHANGE was introduced in Win95.
If Microsoft ever makes something that actually meets all the needs that Win32 addresses, they'll probably build a compat layer and a) your win32 code will still work in compat mode, b) that new thing may be worth targeting.
A lowest common denominator idea of "everywhere" is just not that useful.
I hear you on the native UI is better all things considered. I'm trying to figure out how that works in practice. I.e., to accompany a "cross-platform UIs are inferior to native ones", you would be effective to also include the workflows you use. In a realm where you choose options, eliminating one should come with illuminating another, as one must choose a path, and others could be eliminated for their drawbacks as well, leaving none available. What is your path here?
- proprietary,
- command line tooling,
- single-platform.
A good example of what I consider to be a great approach (not mine) is Ghostty, which has fully native UI per platform and a shared core between platforms. JetBrains tools also go out of their way to integrate with platform conventions everywhere.
An example that cross-platform toolkits usually get wrong: cursor navigation in text fields. Home and End do different things on different platforms, and on macOS, basic emacs/readline bindings are supposed to work in all text entry fields.
It’s worth noting that this extends beyond GUIs - command line tools written in Go tend to use “package flag” which is native nowhere. The standards between Windows (which has two, in cmd and powershell), GNU-style and “legacy” Unix style are just not reconcilable without implementing platform-specific behaviour.
LLMs are quite good at tedious tasks such as keeping multiple GUIs in different languages in sync with each other.
You also generally don't want them to actually be in sync because there are actual UX differences between platforms that you need to align with to really be native. If you don't follow that then what's the point?
edit: Link software you wrote's installation instructions.
- You have made the choice to make software only run on MacOS, excluding the (majority) of users who are not using that. This is balanced against the upside of native look and feel.
- I agree that web and mobile have many differences when comparing them to each other, or to PC software. The differences and conventions which relate to application development between Windows, MacOs, and Linux are much smaller than those. (The only concrete example mentioned in this broader discussion was Home and End keys can have different behavior). I see this as a matter of degree, not kind.
I keep coming back to "So, we are deliberately limiting our software to a single OS because... (Vaguely articulated reasons about native look and feel? About cross-platform applications having "bad UIs" and "subpar results"? I can't do anything with that because it's too vague, and doesn't match my experience. Home and End keys or other keyboard shortcuts which are easy to feature-gate if the GUI kit doesn't handle it which it probably does?) When weighing pros and cons, I need to see the cons.
It's a thing for making little black and white animations. (With GIF export.)
It was popular in the early 2000s and there was a subculture around it on animation forums.
English version (hey, still online!):
https://www.superfundungeonrun.com/easytoon/
Original version (Japanese, w/ screenshots):
https://web.archive.org/web/20020111185602/http://www.radium...
There's also a forked version on a French website (also available in English) with some extra features. But I like to keep it simple :)
https://www.flat2d.com/easytoon.html
Now show me your oldest working Linux Desktop apps.....
For me it was a bit sad to see the mad and creative UX world of the homecomputer era being bulldozed over with the minimalist uniform results of the scientific usability research.
Little did I know that a mere quarter century later we are back were we once started and everyone as clueless as we were in the 90s goes overboard everywhere as if there was no tomorrow.
Yeah, and it sadly makes me miss the nicely ordered and easily usable world - I'm gettin' old I guess.
https://guidebookgallery.org/screenshots/cdplayer/
I always liked the look of the more complicated ones like this:
https://ctrl-alt-rees.com/2021-09-29-media-rack-download-win...
386 mode in Windows 2 (sold as Windows/386) and 3 was really a 32-bit operating system for 16-bit applications.
Win32s allowed some 32-bit apps to run on windows 3.1 and up. Including many versions of Internet Explorer (Microsoft also released ie as a 16-bit application, though).
I remember a recent-ish post on here that really, I mean really, dived deep into this whole thing. It turns out that it was mostly a lack of willpower or maybe political that stopped Windows 64bit running 16 bit apps.
Somewhere in the kernel, with some obscure mechanism there is support for some kind of emulation that if implemented would allow it to run NTVDM and therefore these 16 bit apps.
The author of the post even had some kind of proof of concept of running a 16 bit DOS app directly under Windows 64 bit with this.
The details are blurry, but I believe that that had the Windows team really wanted to this emulation could have been built in and totally seamless.
I got the impression that this was actually a fairly new finding which is why I suppose no one has tried it.
but tl;dr is that ntvdm relied on the CPU running 16-bit code, so was naturally EOL on a 64-bit Windows, where that mode doesn't work.
winvdm adds it back via CPU emulation.
Freecell was the demo app in Win32s for Windows 3. It is thus several years older than NT as a retail OS.
I have downloaded Win32s and extracted Freecell from it, just to play the game on Win10 LTSC and Win11. Probably more than once in fact.
The default Freecell in 21st century Windows is an ugly blinged-out mess, and in minimal installations, there are no games at all. This is the quick easy way around it.
https://winworldpc.com/product/win32s/beta
Win32s beta: October 1992.
NT 3.1: July 1993.
That's long enough to gestate a human being. And back then, a year was a long time. :-)
https://winworldpc.com/product/windows-nt-3x/nt-os-2
I was not really active in computing back then, so I don't know how widely distributed these releases were, but NT was clearly gestating longer than Win32s.
I was working in IT and I deployed NT 3.1 in production in 1993. I never saw the betas.
Win32s was a small floppy sized thing, and some installed it just for the game, I think.
https://www.youtube.com/watch?v=vPnehDhGa14
This makes me curious to know if CDPLAYER.EXE would still work (unmodified, without extra DLLs) with a real CD-ROM drive if you ran it on a Windows 11 machine with one installed.
It acts generally weird (buy a £10 dvd drive from ebay and try it yourself if you want any more detail, useful thing to have anyway) and obviously I can't get it to play anything.
The RTM version gets a bit further, doesn't show that weird Explorer error, but I still can't get it to play anything and opening the playlist crashes it vs on the Beta version where it actually listed the tracks.
I suspect the cd player is trying to take control of the drive and fighting with Windows trying to be helpful, don't know if there's a way to turn it off.
Edit: i meant ImgDrive as a suggestion for those without optical drives. I have several, I'll test em out
Can you imagine the maze of a diagram that enables these old APIs to draw to the screen and render controls properly still?
The other way around works fine, though, and you can avoid it by statically linking the binary when you build it.
One of the recent efforts completed was removal of support for Ubuntu 24.04. That part I remember exactly :\
The downside of dynamically linked binaries: every tool of medium complexity needs a close-enough version of a common library, and once those get upgraded, the tool dies.
Most statically compiled version should work with a compatible enough libc, but I haven't seen many old programs like that.
Wine, on the other hand, runs tools from the 90s just fine, as long as they're 32 bit.
That means everything above libc. There are no "base system libraries" in the Linux world for GUI. Not even libX11, that has been deprecated in favour of libxcb, which has been deprecated in favour of not having X11 and running Wayland. Some days I am amazed that the ELF binary format hasn't been deprecated yet...
And of course Wayland has XWayland to continue compatibility. This doesn't give you access to new toys but neither does restricting yourself to a 30-year old Win32 API.
And beyond libc/libX11/libxcb, libasound has also provided good backwards compatibility with newer systems implementing shims to make it work. You can also use libpulse directly if you don't care about old/opinionated systems though.
More broadly, there are things like manylinux and MUSL which allow cross-distro applications.
As long as the container bundles the right libc, the program should work.
Current NetBSD still has good support for running SunOS binaries, though, including graphical ones. I'm certain you could get a SunOS 4.x binary from pre-1992 to run on NetBSD/SPARC. I've no idea how far back you could potentially go on NetBSD/m68k -- probably quite a ways, especially if the binaries are statically linked. SunOS pre-1988 was all static linking!
(Running "real" 4.3BSD binaries might be hard -- I think NetBSD/VAX defaults to ULTRIX compat, which is an either/or thing versus strict Berkeley Unix compatibility. Same binary format, similar but incompatible syscalls/data structures.)
And if you want to run them on Wayland, Worg will do that for you. https://github.com/jmalcolm137/Worg
Either the repo doesn't exist or it's private
Honestly, if NTVDM was part of Windows then it seems fair to use it, even 3rd party clones.
I was aiming for something you could double click on vanilla Windows and would just work out of the box
At one tine, Slackware Linux would not recompile binaries unless the program was patched. So there was a time you could find rather old binaries on Slackware, and maybe still on other distros.
I wonder what the oldest unchanged source/program running on Linux or BSD ? My vote goes to cat(1) :)
Otoh, /usr/bin/true has only minor changes since initial import (1994) https://github.com/freebsd/freebsd-src/commits/main/usr.bin/...
/usr/bin/false is similar
I have some old Linux CDROM games from ~2000 that are nigh impossible to run, and even a lot of really old software fails to run on old (2.x) kernels without recompilation. But Slackware 4.x wasn't particularly good at this in my testing (i started on a slackware-based retro computing distro[0] but my HDD died with no backup before i finished it)
I mean, other than installing an old distro in old hardware, which i do enjoy. I got a CD copy of Mandrake Gaming Edition on eBay with a bundled port of SimCity 3000 that's very good at running old commercial Linux games.
I think there's people shipping ancient glibc with flatpaks to accomplish this today
[0] https://github.com/queenkjuul/basiclinux-lcars
It's archived again now, but: https://github.com/microsoft/winfile