Designing Windows 95's User Interface (2018)
socket3.wordpress.com
socket3.wordpress.com
I was still a heavy Amiga fan back then, even though I was painfully aware that my favorite computer of all times was slowly falling behind. But it was still able to do preemptive multitasking, something that was still widely unavailable across all OS at the time (except for Windows NT). AmigaOS was still definitely better than Windows 3, of that I was still very convinced (and quite distraught that despite this technical superiority, Windows 3 reigned supreme).
All of my convictions got shattered that fatal day I booted Windows 95. The UI was beautiful, preemptive multitasking was working fine despite the memory and CPU conditions at the time. I just couldn't get enough of launching various apps on Windows 95 just to see how they looked.
On that very day, I thought "This is it, Amiga is truly dead".
I sold my Amiga and bought a Windows box in the weeks that followed, with a heart that was both heavy and excited.
It's a shame it never caught on beyond the Video Toaster being used in TV/movie studios.
The Win 95 box, bought at insane cost as I spcced top end everything including SCSI and 10k drives became my first FreeBSD server - v2.1 IIRC - within months of (finally) buying into Windows. Kept the subscription to BSD CD releases until they shuttered it to support them...
Granted I was on 040 A3000 and A4000 with 24 bit retargetable graphics by the time of Windows 95, and was no longer earning the living off Amiga by then.
The Start Menu is now assumed knowledge that the furthest left icon on the taskbar is "special" and does something different to all the other shortcuts. I guess the modern equivalent of "Start" is "Type here to search" in the Cortana bar but that's not a great experience for new users. We all know the propensity for it to decide to search Bing at the slightest provocation but if you try some natural "never used a computer before" things like searching for "power off" or "shut down" you get some quite unhelpful results. (The former wants me to set up a power plan, the latter directs me to Add or Remove Programs)
It feels like computer use is assumed knowledge in 2019 - that everyone who buys a computer already knows what the Windows logo represents, how minimising and overlapping works, what the difference between an app icon and a notification tray icon is, and so on. Microsoft no longer feel the need to design so much for people buying their first ever family computer, having never even used one before. Probably true in the first world, but I wonder if this holds out globally?
This isn't just a problem for beginners: I'm old hat and I sometimes can't tell what Windows 10 has given focus to at times when I have several things on the go, especially over two or more screens where windows overlapping isn't the obvious go-to clue. The distinction between focused and not is sometimes so close to non-existent it might as well be completely non-existent (like the titlebar text+icons being a slightly different shade of grey), and it varies from app to app (even amongst Microsoft's output) so there is not one set visual cue to follow.
It definitely used to be better than this, including in Windows land.
When I get around to it (so probably never!) I intend to write a little tool that scans for the top-most window and draws a bright border around/over it somehow. I know this is possible (and probably not difficult) as I did some similar hacky window decorating back in the Win2K days[‡], but I've been almost entirely a database+infrastructure fellow for more than a decade and my desktop dev knowledge has rotted terribly.
[†] an always-on-top window positioned so it is a line across the top of the focused window would do, four such objects, one for each side, would be the easy hacky way to achieve a border, a single drawing surface with transparency and mouse click-through would be cleaner but with my current skillset more faf working out the relevant API jiggery-pokery or finding a library that wraps that nicely already
[‡] Using Delphi. Anyone else remember that? Does it still exist in a similar form?
It does cover a fair few things, but not enough to calm my irritation!
To be fair, back in 1995 the number of people who had never used a computer before was huge, so it made sense for companies like Microsoft to cater to their needs.
Today though, the fraction of people who truly have no computer experience must be utterly minuscule, so I can see that MS does not see the beginner experience as a priority any more.
And they shouldn't. That's the idea Windows 10 tries to convey. Windows Store apps already stay in the background even after you close them. You shouldn't care which app is running or not. Clicking its icon would bring it up and that's the only thing the user needs to know.
iOS and Android already work that way.
I know that there is a strong culture that believes this, but this sort of thing drives me nuts. There are very good reasons why you you would both want to actually close programs and know what programs are running and what are not.
> Windows Store apps already stay in the background even after you close them.
This is one of the many reasons why I don't use Windows Store apps.
Other way around: modern OSes don't want to make it look like programs aren't running when they really are (which has been possible ever since installable background services were created); modern OSes want to be able to close programs behind your back, while they seem to still be running, and then restore them to their previous state when you come back to them.
So trying to bring this same concept to the desktop is insanely idiotic. Microsoft failed miserably by making Windows 8 a phone OS and then bringing it to the desktop with minimal changes. Windows 10 improved so much by actually focusing on the desktop again. Including such no-brainers as allowing store apps to run windowed. I'm not a Windows user anymore myself, but none of my friends who still have it as their daily driver like or use apps.
I thought they were suspending them, not closing them. Those are very, very different things.
In any case, pretending that applications aren't closed when they are is no better.
On the other hand, if by “suspending” you mean “the OS asks the program to persist its running state to disk, which it can easily do because it’s using GUI-control and scene-graph frameworks that know how to serialize out their current state”—and then, when it has done this, the OS considers the process “clean” (like a clean page of disk cache) and therefore discardable—then yes, the OS is suspending processes.
Keep in mind that you need to add a flag to your application’s OS-readable metadata (the application manifest in Windows; the Info.plist in macOS/iOS) opting into this behaviour, signalling that your process is okay with being shut down at any time when it’s in the OS-visible “clean” state, and isn’t, say, a host for an RPC server that other applications are expecting to have a stable connection to.
And honestly, it's annoying as hell sometimes. You never know when the system's going to kill an app or not. Sometimes you think something might stay in the background for a bit then it doesn't, other times you think you've killed something and it's still running, or it's started itself again. Manual memory management options keep getting stripped back in subsequent android versions. I get the idea behind why android works like this, but the lack of control bothers me.
On a desktop, this is different. You have to explicitly close programs. Because of this, it becomes important to know what's running and what isn't.
Only because iOS and Android are wasting RAM (the former to a lesser extent, but iOS devices also have less RAM to begin with!) and running with zero swap space. (And the latter point in turn is due to the abysmal, bottom-of-the-barrel quality of phone eMMC storage.) This is not progress, it's just the OOM reaper being overactive for lack of a better option.
And all this grief could be avoided by Linux actually allocating memory when its supposed to as opposed to just saying "Sure!" and then sometime later killing completely random programs when someone actually attempts to use memory they requested.
I'd like to be able to somehow pin the run-tracker as top priority. Sucks to realize after a run or bike ride that it stopped recording 20min into it.
I use the classic non-contracted-to-an-icon task-bar, in the small variant. That's just to say that my task-bar looks and feels the same as it would on Windows 95.
The big improvement for me is the start screen. I use the fullscreen start-menu (I call it screen since it's fullscreen), where I put the shortcuts I want easy access to. It was introduced in Windows 8, but later the defaults were reverted to a 95-style mini-menu.
I have desktop disabled (desktop icons, more specifically), because I find that a desktop has a negative effect on organization, so all my icons are in the fullscreen start.
When I need a shortcut that's not pinned to my start, Win-S pops up the search dialog.
Apart from bloat, I'm pretty content with this UI.
But I also like Windows 10. In fact, I switched "back" from Mac OSX to Windows 10 several years ago when there was no decent "Pro" desktop option from Apple anymore and am completely happy. I then switched laptops over to Windows 10, too, from Macbooks because there are some great Windows laptops out now.
The UI is very good. Sure, every now and then you delve deep into control panel and see an old wonky UI that's a holdover from a prior OS, but 99.5% of the time, everything is consistent, stable, and rational.
I'd just use Linux, but at my organization everything is Outlook-centric.
https://www.reddit.com/r/desktops/comments/52402v/windows_10...
It's just less common.
The concensus, whether correct or not, is that Windows WM is tightly coupled with the rest of the system.
go to the shell key and replace it with whatever you want.
This has been supported since at least Windows 2000!
that's on Windows 10 though, not sure if it's possible on older versions
The Windows 10 one where it's trying to do a Bing search, look through the Microsoft Store for apps to buy and who knows what else is... I can see what they're trying to do, but if you have 24 years of ingrained habit of only using Start to launch programs it's annoying having the feature made so CPU and disk intensive to add options you don't use. At least Microsoft have put a lot of work into improving it. Using some of the early iterations on a slow spinning-rust laptop would frequently result in the process searching your installed programs timing out, leaving only the web search option.
My routine is always the same: log in, open Chrome if it didn't open already (happens 50% of the time), and then open the start menu, type fi, and click the first icon that appears.
Likewise, the new icons are brilliant. The reminders app has basically a list. Music is a musical note, etc. The only one that really sucks is "photos". It looks more like a colour wheel.
Modern equivalent of the Start Menu is still the start menu. When you click on it, it shows a list of applications available on the system. Shut down is also the nearest available option there.
So, I disagree with your sentiment that Windows 10 has rolled back good ideas. Windows 10 is simply the best Windows to date ever in all aspects.
For example, on my Pixel 3, Spotify is terminated if I open the camera app around 80% of the time. Is it a resource issue? Who knows! The system gives me no insight.
Is this what users really want? I'm very doubtful.
Wow.
My opinion is very, very different. The best Windows to date, in my opinion, in Win 7. I even consider Win 95 to be better than Win 10.
* If you "cut" a bit of text, it disappears from your document, and unless you later paste that text, it's gone forever.
* If you "cut" a file, but never paste it, the file stays in its original location, contrary to the users expectations.
This kind of thing is really the implementation details showing through into the UI (the clipboard is not a place on disk, and cannot have files and directories moved into it)
Also, cut never really made metaphorical sense for files… you don’t break out the scissors to transfer documents from one folder to another.
Incidentally I've been using a Mac for decades, but I never remember to check what modifiers do. I'd always just copy and then go back and delete.
I think the right way to deal with this is to have a fancy clipboard manager / shelf, frankly. Cut things, they're put on the shelf, paste pastes in the top thing in the shelf. I suppose lots of people might just end up with cluttered shelves and lose track of stuff. But the shelf concept is a good GUI power user thing.
That can happen with text too, of course, but because text takes up more screen real-estate, selecting lots of text "feels" dangerous, so you're less likely to accidentally screw yourself.
--
When you "cut" a file in early Windows, did it disappear from the original location, or did the icon fade out as on modern platforms? IMO, the fade makes it clear what is happening, and is a great example of how minor visual tweaks can be imbued with lots of meaning.
Prior versions of Windows did not have an equivalent to the "cut" operation; for example, Windows 3.1's File Manager moved files via a "File > Move..." menu option, which opened a dialog with two text fields to specify the source and destination. (Copying behaved similarly; the document-editing-inspired Ctrl-C, Ctrl-V, and Ctrl-X bindings used today were all introduced for file management in the Windows world in Windows 95.)
Cutting a file sets its hidden attribute. If you have turned on display of hidden files then they do indeed appear faded, but you have to be a fairly advanced user for that – for most people they will just seem to disappear.
If you cut or copy another file the the first file will be unhidden, and I suppose also on a clean shutdown. Overall it's still confusing for a normal user who doesn't see hidden files, especially if they intentionally used cut without paste to delete a sensitive file.
I've always thought it'd make a lot of sense, for any modern OS, if every time you cut something, you'd be creating a .scrap on the desktop; and then, if you later pasted it, the .scrap would go away. Desktop-as-spool-directory. Same as the way macOS tried to use the desktop as a spool for screenshots until recently (where now the screenshot spool has become a mysterious locationless storage displayed in an ephemeral modal window.)
If instead you want a .scrap directory on every volume, you have a new inconsistency - if something is cut, and the device removed before the paste happens, the paste will fail.
If you select and copied the shell object on the shell Desktop, you’d just be making the “selected” clipboard handle the one referenced by the shell object.
If you moved the shell object, you’d be instantiating a physical filesystem .scrap object at the destination.
And, of course, since all this is simulating something persistent, you’d expect the clipboard manager to make each clipboard object refcounted, and not get rid of objects as long as something (e.g. a shell object) holds a reference to them; even meaning that the clipboard objects with nonzero reference-counts would need to be persisted to an OS “clipboard database” on shutdown, such that the shell objects referencing them would still be valid on next startup.
(Not that this isn't a concern otherwise, but there's a difference between a pasteboard that holds one piece of information at a time and immediately purges old information, and one that logs history for an extended period.)
Really though autotype is the safer option.
You could argue the security trade-off is worthwhile, and I might even agree if the clipboard manager isn't enabled by default. A clipboard manager requires you to treat your clipboard in a certain way that I don't think users do in practice.
Start -> Clipboard Settings -> Clipboard History
Once on, Win+V shows clipboard history. Super cool.
https://www.youtube.com/watch?v=Cn4vC80Pv6Q
Xerox -> Apple -> Microsoft interface transfer preserved nothing of those core concepts. UI became a crutch developers grudgingly added to the system for "those stupid users". Thus, most software engineers today are still convinced that a teletype emulation is the best possible interface to the underlying OS that can possibly exist. Also, normal users are treated as second-class citizens in their own systems.
I would argue that’s an artifact of corporate software development culture and not GUI design.
Make sure "Clipboard history" is turned on. It will also tell you how to access the manager: "Press the Windows logo key + V".
Windows had this since at least Win 7, so it's not really a recent advance. I dislike that the the Win 10 start menu is essentially unusable enough that it requires actually doing a search, though, which is why I use a replacement start menu.
Which ironically doesn't work well anymore with Windows 10 because the start menu is often too laggy to open, or because it performs any other kind of unwanted search like web search.
With non-composited window systems (which nowadays is pretty much only Win7 with DWM disabled and pure X11/Xorg) all that overhead goes away since applications draw directly to the video memory that is to be presented to the monitor (the GPU might do some minor composition itself but that is irrelevant as there aren't any delays involved).
Compositing would work if all composition was done on the GPU using dedicated hardware (similar to how the GPU already performs composition for the mouse cursor and an overlay that is often used for HUD-like controls like volume control, but those are not general purpose features that can be used for desktop composition) and applications could draw directly to the video surfaces that would be composited pretty much the same way a non-composited desktop can draw directly to the video memory (this would introduce artifacts like tearing but this is something that could be handled separately and to some - like me - tearing is perfectly acceptable for pretty much all interactive actions).
I am not aware of any GPU or window system that does compositing like this though.
Windows 10 is really a frankenstein.
It's pretty well hidden from users at this point and basically just a collection of links to compatibility components. I've never understood the concern.
rundll32 sysdm.cpl,EditEnvironmentVariables
is the most natural choice /sThis you can do right from the volume control widget on the taskbar. One of the few things that's arguably easier and more obvious in Win 10 than in OS X (where you either have to hit the control panel or know to option-click the menubar doodad).
Last I looked I couldn't find that option anywhere in the new Settings app.
And since most home users had no experience with 2000, they saw the theme and thought I was still running 98 or ME in 2010.
you could still get the same look (with the "classic" theme) up until windows 7.
This is one thing that the original Lisa and MacOS got right (and NeXTstep, and GEM and I think AmigaOS) but W95 and its successors did not. The close button was on the far left, and the other actions on the right.
(EDIT: my recollection was wrong about the Lisa, I think. Its window controls were not as clear as Mac OS)
Unfortunately OS X inexplicably adopted the W95 conventions. And in the first Aqua releases made it even worse by hiding the functionality icons until mouse-over.
(Up until Aero Snap in Vista and it's keyboard shortcuts of Win+Arrow Key I used to use Alt+Space,M a bunch because it was always the easiest way to move any window by keyboard in the event it got stuck somewhere out of mouse range or you just didn't feel like switching to mouse.)
Also, most applications will actually honor Ctrl+C/V as well as the Ctrl+Insert/Shift+Insert shortcuts, from the 1987 IBM CUA guidelines[0].
Somehow everyone thought it was a great idea to copy them.
I change this in most of my window managers on Linux, but Chrome stubbornly insists on doing its own window controls.
Was it all a good choice? For some it was annoying. There was a shortcut that did the same thing. If you double clicked the upper left it would close the window too. Which is how they taught people to use win3x. Most certainly it was an interesting compromise to the constraints they had.
Copying the style was all on everyone else though. They wanted it to be familiar to windows users. All to 'gain market-share' I guess.
My keyboard has volume up (Fn-F11) right beside shut down (Fn-F12). I've accidentally turned my computer off a few times.
Especially in the web context, I think it's as you say: the real product has little to do with the task you came to the site for, so everything is trying to distract you away from that task. The end experience is as if the people who used to run warez pages with 9 giant buttons to download dodgy IE toolbars and one 20px link to get the actual file grew up and got jobs running mainstream news sites.
Seems pretty nice to me: I have control over my browser. I can simply elect to use any "Reader Mode" extension (or feature of the browser). Or use an anti-annoyances list on uBlock to avoid all sorts of cosmetic warts.
I can even configure my adblocker to remove entire parts of the layout like sidebars and navbars. It's amazing.
I don't have much choice when I'm using a poorly designed native app. And I'm thankful I am able to rely less and less on native apps. The computing experience is only getting better and better in my eyes.
For the inventor of floating video ads, let's just say I hope that hell exists.
The regulation is sane, you should blame the lack of enforcement that allows assholes to get away with being non-compliant.
This is really the biggest thing I had against the reddit redesign (and why I love the simple UI of Hacker News). It cleared away space for ads on either side, made the platform as a whole better suited to image- or video-content (dissuading users from using text posts on the site for discussion), and ultimately felt - exactly as you described - "distracting". It made it blatantly clear that the site was for upvoting pictures, getting inundated with political propaganda from whichever side is currently paying more, and ultimately wasting the user's time.
Facebook is feeling the same way.
I've literally gotten to the point where I separate "good content" from "time-wasting content" by browser - anything that I can consider educational, time-sensitive, or otherwise important (... I have a list of pinned tabs; Schwab, ThinkOrSwim, Financial Times, Bloomberg, The Economist, the Wall Street Journal) goes in Opera.
Anything that I save solely for my spare time goes in Firefox. All of my social media accounts go in firefox (google is the only thing I knowingly allow to track me between sites in Opera). Reddit and Hacker News go in Firefox (although sometimes I browse HN without logging in in Opera, so that I don't have to switch browsers to log into news sites with paywalls).
It makes it really easy to keep myself focused when I need to do something important, and it also makes it easier to live with some of the more annoying (but security-bolstering) browser settings I currently use.
Unfortunately it only took a few years for Apple to start sliding away from their own guidelines, and Windows was always less rigorous to begin with. And then the Web came along and blew the state of UX back to the Stone Age. Sigh.
I don't know if it's just me, but my feeling is that a Win 95 PC is far more "personal" than any modern smartphone. With a smartphone, you are limited by whatever the mass-produced OS and apps allow (and it's getting worse - more recent OS releases allow much less access to the filesystem, for instance), while a Win 95 PC was wide open and could be customized the way you wanted - in the extreme, the whole operating system could be easily replaced.
That is: when I use my smartphone, I feel like I'm a guest at a Google-owned hotel. When I use my PC, I feel like I'm at my own home.
I can see the reason W95 changed the iconify button; the NeXT iconify button looks like a NeXTSTEP iconified window, so on NeXTSTEP the button is self-explanatory. But Windows 95 does not make windows into icons, W95 minimizes windows to the bottom of the screen into a little line of text. W95 therefore, intuitively enough, made the “minimize” button similar to a minimized window line; the “_” button. The NeXT iconify button, on the other hand, more resembles a W95 window. (W95 was made to run on PCs with low graphical resolutions and memory, both of which made it reasonable to only run and show one program at a time. This made “maximizing” a window a reaonable operation, unlike on a NeXT, where high resolution and multi-tasking was the norm.) Therefore, the change is understandable.
It’s just odd that I don’t think I’ve ever seen anybody mention this.
I always found the hierarchical start menu a pain to use. Every company insisted on creating a submenu for their company, then another submenu for their program. And it's quite unfortunate that Microsoft didn't take charge until Windows 10. They didn't set a much better example with their software, and they let everyone do whatever they wanted in the Start menu, resulting in a poor user experience.
What I have been doing since Windows 2000 was to move the shortcuts to the actual programs into the top level start menu folder, and all these useless folders into a top-level folder named Crap. So conceptually the home screen of today's phones. That's what the Start menu should have been about, exclusively: Start programs. Not a help.chm. Not the uninstall.exe. Not a link to the company home page that nobody ever uses. Just the program. And Microsoft should have enforced that from the beginning.
Hierarchies are not needed most of the time. To locate an item, a hierarchy of folders where the items are mostly hidden is probably the worst solution. It's easier for me to locate something in a list sorted alphabetically where every item is visible. And the best solution is spatial consistency: Put the items in a fixed place on the screen (or keyboard). That's how it works in the real world, and that's what the brain is optimized for.
I feel like the UI designers of today need to memorize this principle. Good, versatile software allows users of all skill levels to accomplish their goals through multiple pathways supporting a variety of interaction paradigms. Much of the software I'm forced to use today seems to adhere to the theres-only-one-way-to-do-it school of thought, which is the biggest source of why software sucks so much now.
Springboard is very much like Program Manager.. every icon is an app, no documents, plus you can build up single depth 'groups' of other apps. iOS 'Files' is basically the same as 3.1's File Manager, without the desktop/explorer approach to file organization offered by 95 onward.
Of course, I am happy to use the word "inspired" in a loose way, like how many modern musicians were inspired by The Beatles or Kraftwerk even if they are not deliberately indulging in pastiche.
Your method only works if the program you want is on the PATH, and if you type the full name of the executable.
Especially the really simple relational database presented at the end : simple yet super powerful.
Each steps seemed relatively simple yet had a tremendous impact on the product development, user experience and on everyone that discovered computers through Win 95 and following versions.
It gives me a lot of hope that I could one day work on an impactful and fulfilling project !
Thanks for sharing !
Every upgrade is a step taken on the same ladder. Maybe sometimes, designing a elevator (read:innovating a new UI) might be the real solution.