- new
- past
- show
- ask
- show
- jobs
- submit
https://www.bitsavers.org/pdf/ibm/3278/GA27-2890-4_3278_Disp... (Page 73 of the PDF)
As an aside, it's worth noting that moving between fields was important enough on IBM terminals that they had a dedicated "back tab" key located on the opposite end of the keyboard to the tab key. On the original IBM PC, they decided to combine both functions into a single key. As a result, the tab key on the classic PC keyboard features the symbols for both forwards tab and back tab on the same key, the back tab symbol being on top to indicate that you need to hold down shift to use that function.
EDIT: The 5250 series terminals used the terms "Field Advance" and "Field Backspace" instead of Tab and Back Tab, but otherwise they used the same symbol on the keys, and the keys were located in roughly the same position as the 3270 series. Reference: https://www.bitsavers.org/pdf/ibm/5291/GA21-9409-0_5291_Disp...
The IBM 3270 was a device for filling up forms. The mainframe sent the terminal a form with blanks, and the terminal let the user fill in the blanks. The terminal hardware prevented the user from overwriting the static parts of the form, and could apply some other form constraints, such as numeric fields. That was all done by the terminal. When the form was filled in, the user pressed ENTER, and the completed form was sent to the mainframe as one transaction. This approach let one mainframe service huge numbers of terminals. The user never experienced delays while typing and could type at full speed, often without looking.
PCs didn't have that usage model. The PC crowd was thinking "typewriter". One of the first terminals for home computers was called the "TV Typewriter".
Web forms do have that model, but with less consistency.
[1] https://sharktastica.co.uk/resources/images/model_bs/themk_1...
With only a single combined Enter/Return key, it's hard to remember in any given context whether Shift+Enter or Control+Enter will open up a new line instead of immediately sending a message, dismissing a dialog box, completing input into a particular spreadsheet cell, editable filename, text object in a drawing program, etc., or whether I need to copy/paste a line break from another application because no such shortcut exists at all.
(I do agree that it's hard to remember what Enter is going to do, of course. It's just Shift+Enter where my experience differs from yours).
SAP call their forms "dynpros" (dynamic programms), and the reslting interactive mode of processing "realtime/dialog programming" as opposed to "batch processing". This all looked very IBM 3270-"inspired" (and so was the SAP logo made up of IBM blue with the well-known stripes...).
Tab also has typamatic capability that allows you to move the cursor quickly from field to field.
The Back Tab key moves the cursor back to the first character position in an input field. If the cursor is already in the first character position of an input field, and if you press the Back Tab key, the cursor will then move back to the first character position of the preceding input field.
So my guess is that the cursor defaults to being at the start of a field as you navigate, so Tab and Back Tab work as expected. But if you're editing a field and have moved the cursor within the field then Back Tab acts differently.https://usermanual.wiki/Document/GA2727421OperatorsGuideforI...
As another head scratcher, what is the shift-1 symbol? The exclamation point appears to be the shift next to one of the 3 left arrow keys, but I'm also unfamiliar with the regular unshifted key. Anyone familiar with these?
On later generations of IBM terminal keyboard, you'll see | on the shift-1 position, and a separate key with the broken-bar (¦) symbol. For example, on this keyboard, the broken bar is below the backspace key along with the \ character. https://sharktastica.co.uk/image?id=qhTU8QvD
The reason for the two different types of bar/pipe characters, and why the original IBM PC keyboards only had the broken bar on the keyboard, involves a particularly arcane footnote of history relating to supporting the PL/I language on ASCII terminals: https://www.os2museum.com/wp/a-wunderbar-story/
> The downside is how tall and aggressively angled the keyboards are, which are very far from modern ergonomic standards.
Like a typewriter. And like a typewriter, you were expected to have them on suitable furniture so the keytops were at the right height.
In the 80's IBM had a whole class of high level technical people called "Systems Engineers" whose entire job description was to opine on the merits of any given system. Not write systems, not debug them, and certainly not to explain them, it was simply to opine "you're doing it wrong."
I mainly ask because Microsoft has another product called Linux Integration Services: https://www.microsoft.com/en-us/download/details.aspx?id=551...
"Tool for Windows" vs "Windows Tool"
The latter sounds much more like it could come from Microsoft. People repeat this because it avoids this confusion but it is not mandatory. A few projects on Github have had to be renamed because they've been challenged and the accepted solution from the trademark holder has has been to switch it around and become "for XXX".
Apparently some HN people think that MS is so sleazy that they will just go "GPL yoink" and start running/advertising/supporting Linux without notice or consent the benevolent dictator. That's projection.
WSL is not LinuxI don't know where that strong objection to this particular name comes from. MS does do weird things with names, like with Live, .Net or CoPilot, but this isn't one of those, but in fact named quite sensible. Would you also object to the 'Linux kernel module for Android'?
In the case of "Windows subsystem for Linux", it can be reasonably read that "for Linux" means that the functionality applies to Linux, i.e., to provide it with a subsystem that gives it Windows functionality.
Similarly, in the case of "Linux subsystem for Windows", it can be reasonably read that "for Windows" means that the functionality applies to Windows, i.e., to provide it with a subsystem that gives it Linux functionality.
Something that's bothered me about user-facing patents:
Let's assume that the idea of using a keyboard key to move between input fields in a software form is not obvious, and in fact is a brilliant stroke of genius the likes of which the world is not likely to see again. If that one guy hadn't been born, we would have gone thousands of years with no method, keyboard-based, mouse-based, or otherwise, of moving from one input field to another input field. Every piece of software would use nonconfigurable timers, and you'd just have to hope you could type fast enough.
I don't see what the hypothetical benefit of extending patent protection to this brilliant idea is supposed to be.
Say you're the company who comes up with the idea. You can benefit by including it in your product, where all your users can see it. In other words, the benefit you get from coming up with this idea is that you can publish it for the world to see, and that's the only way you can benefit from it. A usability feature that your users cannot use or know about doesn't increase usability.
Even though the idea isn't obvious, the implementation is. If you disclose your brilliant idea, everyone will copy it and your advantage in the marketplace will be transitory.
So... what is the purpose of giving you a patent? That cripples the marketplace, but it fails to realize the benefit of patents, publication. Publication necessarily had to happen anyway.
The concept probably has a real name, I call it first mover disadvantage. It is much easier to copy a mechanism than to invent it. So why even try? Every thing you have to spend real effort to invent is trivially copied the instant you try to sell it. And them copying it don't have to bear the nearly the R&D expenses you did. so it is trivial for them to sell this mechanism for less meaning you don't even get a fair slice of the pie.
So to try and limit this imbalance we invent a legal fiction, ownership, not of a physical thing, but the way it works. Not forever, but for 20 years you get ownership over those works.
Patents do have their problems, But I think the core idea is sound, create a registry of mechinisms, use this to provide economic protection to the inventor.
Why? In this scenario, what would happen with a patent that wouldn't happen without a patent?
The final UI was simple and intuitive, but it took a lot of money figuring it out.
I don't think the money would have been spent if our competition could immediately copy what we figured out.
Customers did benefit then, and now, 20 years later, anyone can do it, and humanity is little better off than if no research was done.
> If you disclose your brilliant idea, everyone will copy it and your advantage in the marketplace will be transitory.
but that is the very point that patents are supposed to prevent. So why do you say that?
The post you're replying to says:
> I don't think the money would have been spent if our competition could immediately copy what we figured out. Customers did benefit then, and now, 20 years later, anyone can do it
so clearly the patent worked for them: they were able to use their simple and intuitive UI, while the competition could not copy it till 20 years later. So what is the question?
But that’s not the criteria for granting a patent. It doesn’t have to be a stroke of genius. It can be something that many people could invent at the particular moment of the filing (as evidenced by many cases of near-simultaneous patent filings, like Daimler and Benz competing for the ICE in the 1880s). It just needs to be demonstrably novel.
I’m not saying tabbing back and forth through dialog fields qualifies, but then again it’s hard to place oneself in 1980.
Cannot is maybe doing a lot there. There's plenty of usability features that aren't really obvious or apparent unless you look very closely. Ex: pinball machines have timed shots, but there's almost always a grace period so if you contact the ball with your flipper around when the timer hits zero and it makes the shot, chances are you'll get credit for it even though the timer expired. That's a usability feature most users won't ever notice. At WhatsApp, I would never send an S40 user a verification code where the 4th digit was 8, because if you got a text message with 123-890, s40 would turn -8 into an 8th note emoji; until today, probably 3 people knew that ... but it dramatically improved usability.
> Even though the idea isn't obvious, the implementation is. If you disclose your brilliant idea, everyone will copy it and your advantage in the marketplace will be transitory.
> So... what is the purpose of giving you a patent? That cripples the marketplace, but it fails to realize the benefit of patents, publication. Publication necessarily had to happen anyway.
If I had gotten a patent on the 'avoid -8 in verification codes', then the technique would have been public for everyone to see. So publication for exclusivity / forced licensing is an exchange of value between society and the inventor. Of course, avoid -8 is pretty obvious, when someone testing the s40 client complains about getting an 8th note in their verification code message, you make a quick tweak to code selection to avoid sending those.
For an invention that must be disclosed to be used, society isn't really getting anything in return for exclusivity. Maybe promotion of progress, theoretically, I guess, in that whoever thinks of it first gets paid; leading more people to think about things?
For example, Cornelis Drebbel air conditioned Westminster Abbey in 1620. King James I (of the Bible) thought it was a cool party trick. But there was little ecosystem to commercialize and Drebbel moved on with his life, trying to sell other products with temperature controlled feedback loops + a submarine. Then he died.
The only commercialized invention of his was creating a dye that was redder than others. His son-in-law kept that a family secret and focused on selling this improved dye throughout Europe, since that didn't require revealing the secret.
The rational move was to give up on a multitrillion dollar HVAC industry to sell redder dye, since the second could be a trade secret.
We still don't know how he solved the problem of carbon dioxide build up. We know he solved it, though!
And after reading the Wikipedia article on Drebbel, how have I never heard of this guy?
I'm particularly curious how the Royal Navy failed to realize the value of the submarine.
Reading over the article on the history of the torpedo, it sounds like early attempts to weaponize, by Drebbel and others, were unsuccessful.
Even so — bearing in mind that this a undoubtably a reflection of my own bias as a child of the Cold War raised in the shadow of the largest military-industrial complex the world has ever known — I can't help but marvel at the fact that no spare-no-expenses crash development programs arose to operationalize effective submarine-based warfare by the naval powers of the time.
That’s your opinion, but it’s not the spirit of the law. I’m personally fully against Intellectual Property, including for movies and music, for reasons that are obvious (public money is being spent aimlessly trying to prevent two private individuals from copying things that are copied by their very nature of being published - or trying to prevent people from using ideas that are contagious - what next, put a copyright on political ideas? on dance moves? on beautiful colors?) but that’s not the law.
> we would have gone thousands of years with no method
There are other methods: The 4 arrows. The tab method is much more efficient and easy to implement, but we would have gone with the 4-arrows-to-navigate-fields method.
IBMs earliest block mode terminals with field entry, including the 3270, predate the microprocessor. They were fully implemented with fixed hardware control.
>> Something that's bothered me about user-facing patents
IBM insisting it not to be tab wouldn’t make sense. Microsoft was working for them and the programs should adhere to the CUA (Common User Access) standard.
While it seems odd in light of IBM's usual adherence to corporate norms across business units, having read a couple different books on the origins of the PC at IBM, it may be related to the entire PC unit in Boca being an extraordinary aberration outside the norm for IBM. Despite seeming hopelessly corporate to the Microsoft team, the Boca IBMers were considered a "Rebel Unit" inside IBM - when they were considered at all, since the vast majority of IBM wasn't even aware of it.
Due to being started virtually overnight (in IBM timescales), running incredibly fast and only existing thanks to Thomas Watson, Jr. himself overruling his lieutenants to approve such a "skunk works", Boca didn't have nearly the level of oversight, coordination or control as an effort that size normally would. In the early days Boca ran largely outside normal reporting channels and when they'd try to source tech or components from other parts of IBM, had to sometimes clarify that they were in fact part of IBM.
And that was true for many DOS programs. Pressing Return would just go to the next field, not submit the form. That was one of the things that needed some getting used to on Windows.
so they spent seven layers of management escalating against their own standard: https://archive.org/details/ibmsj2703E/page/n13/mode/2up
Another factor could be still-reverberating echoes of the likely political battles around something as broad and far-reaching as CUA. I can only imagine the quiet boardroom battles won and lost fighting over CUA between different factions across all of IBM's kingdoms, divisions and principalities.
Lame.
To be fair, Microsoft & Bill Gates are bad at quality user experience. "Ctrl+F" differs through their applications.
[0] https://archive.org/details/bitsavers_ibm525xGA2onDisplaySys...
*Edited.
The more I think of it the current TAB (SHIFT+TAB) key should of been used for entry navigation navigation only while the white space tab should of been something such as "SHIFT+SPACE".
In some ways. Gates deserves never-ending enmity for plaguing us with backslashes in paths. But in others, Microsoft advanced the state of UI and UX more than anyone else in the '90s.
"Would of?"
There is no universe where that is true.
Win95's UI was so incredibly influential that stuff introduced by it are still around to this day.
I think they made something really revolutionary at the IE3 time. Their News and Mail app was an Explorer extension that placed an e-mail reader as the presentation of a folder full of folders of mailboxes and messages. You wouldn't see the extension, as the apps launched as applications, but that's what the implementation looked like from what I investigated back then.
Unfortunately, the idea was seemingly abandoned almost immediately. I would love to have such views on top of a user-space file system keeping messages, address books, and calendars in sync.
Of course, working at an ISP I could also telnet to our NNTP server and read Usenet on the local filesystem. Ugh.
https://hardcoresoftware.learningbyshipping.com/p/009-passwo...
I wonder how hard it would be to get NeXT source from the 1990's and compile it on macOS 26.
As pointed out elsewhere, NeXT broke a lot of new ground at that time, thanks in part to its Unix underpinnings. Also Adobe brought great font management to both PCs and Mac before both embraced TrueType. Next had sub pixel anti-aliasing from the start.
It goes back to what is the common action that the user would perform in the app. Forwarding an email is more common that Finding text in an email - at least to Billg.
see https://devblogs.microsoft.com/oldnewthing/20140715-00/?p=50...
The upstart adopts all the keyboard shortcuts of the dominant player. Then the existing userbase is comfortable... compatible, with the new and different software.
Then, slowly but surely, new novel shortcuts are introduced and you gradually find the “compatible” ones vanishing or conflicting or just glitched, until one day you’re no longer capable of using Apple or Word or Netscape or Excel.
I propose that IBM saw that coming, and fought against a future where IBM-trained users easily adopted someone else’s apps.
RIP /.
The tab key itself is hijacked by modern OS/UI behavior. It makes it complicated to actually type literal tab characters in certain contexts, particularly in the browser.
I still prefer tabs (and I'm a Go developer), but he is absolutely correct about that being a pain in the butt. For instance, try getting a tab character into the text area on Hacker News
I somewhat get the argument, but if you're writing code in the HN textarea you're doing something wrong (for code where tab/space matters anyways). Like, any code editor will use the tab key properly.
Though, it sills maddens me there's no somewhat universal tab-entry in OSes like we have with enter (somewhat because there's a mix of shift+enter, alt+enter and cmd+enter). All of shift/alt/ctrl tab are usually also hijacked.
Now that I think about it, I think I haven't hit the tab key for indenting code in ages. I use cmd+] and cmd+[ to indent/unindent blocks of code in my default editor and doing so habitual for single lines now as well that I have 'unlearned' the tab key. For the few occasions I'm in a editor that does not have this keybinding I am actually hitting spacebar a few times as it is more predictable than whatever amount of spaces using the tab key would give me (or if it gives me a tab instead of spaces) and me having to dance around with the backspace key as well. Some editors I think use tab/shift-tab to indent/unindent blocks/lines of code, but not insert a tab. But then you are having 2 modes for the same key depending on the context.
That's a good point!
Were it up to me, I'd probably say something like: Ctrl+`, or maybe ` followed by escape, or something like that. Maybe one of the function keys? Eh...most if not all of those have been hijacked to mean various inane and stupid things too. :/
Hmm...oh! How about: Caps Lock+Shift ? I'm using an ergonomic keyboard, but I think the button press would still work pretty easily. I assume most styles of keyboard would have both, so it wouldn't lock people out if they are writing in a different language, either.
Like the girl in Silicon Valley! [1]
I thought it was a bit funny that she was just hitting the space key over and over, but around the same time all my hobby programming was in TempleOS and I did the same thing. The indents were only 2 spaces though, and the tabs were eight wide.
Actually TempleOS' creator Terry Davis mixed tabs and spaces for the same argument stated in the Silicon Valley video, to save bytes. They're all rendered as spaces on the website but in the actual TempleOS code it's a mix of both. It means the indentation is really wonky on the Github mirrors (above 8 "spaces" deep), compare [2] and [3].
1. https://www.youtube.com/watch?v=oRva7UxGQDw
2. https://web.archive.org/web/20180906060812/https://templeos....
3. https://github.com/cia-foundation/TempleOS/blob/archive/Demo...
However, it might also be reasonable to have a key or key combination (some programs use ^V) to enter control characters as data rather than as commands.
It might also be a consideration when designing a new computer (which does not have to be the same as existing ones); I had thought about such things and may make such a consideration.
Also, Apple definitely had the nubbins correct (D and K) and foolishly surrendered that as well: they're easier to notice when they're under the wrong fingers. With them on F and J, if your hand is offset towards the outside you're forced to notice the absence of the nubs.
Oh well, just like caps lock can be remapped, so can my keycaps be swapped (perks of blank keyboards I guess), though it'd be even harder to use a keyboard that's not mine I guess.
In terms of ergonomics, the curled-left-thumb "Command" activation (it's where Alt is on a normal keyboard) is my favorite thing about the Mac key layout.
Sometimes it's pinky on the CTRL and index on AZXCV ie the hand lower/closer to me.
Sometimes it's pushing CTRL with an edge of the hand and with the fingers on the ASDF to press AFRCVB.
Sometimes it's my hand on ESDF with run around in Zandronum and pushing CTRL with an edge of the hand to invoke 'invuseall'.
The main driver for moving SHIFT to CAPSLOCK is what SHIFT is used way more common than CTRL and with my big hands it gets quite uncomfortable for my pinky to used too much in an awkward shrimp mode.
NB on a non-laptop keyboards I flip both Windows/Super keycaps upside-down, helps a bit.
There is: Return vs. Enter. Sadly there are not many OSs and programs that honor this. I'm personally also sad about Scroll Lock. It would be useful, some programs even reinvent it, on Firefox it's basically F7.
It had a purpose, and it got hijacked and made its actual purpose more difficult to use.
It's not dissimilar to Apples initial Touch Bar and then removing the Escape key.
Average user might never use that key; average developer doesn't got long without using that key for its purpose.
To explain: control-shift-u allows entering a Unicode character by its hexadecimal code. This presumably depends on the Input Method Editor (IME) in use, which is something I've never fully understood, but this seems to work widely across different desktop environments (Xfce, KDE) and display servers (Xorg, Wayland).
I was once told that the tab key can be represented in different ways on different systems, and that's why spaces are safer because they're always represented the same.
Is that what Brendan was trying to say?
It's literally difficult to enter a "tab" character into many text entry fields and dialogs and applications, because it's used so often as a navigation key.
I only found this because I am an Emacs user and I instinctively tried Control-Q first (because many other key bindings like C-f or C-b work). The Control-I bit is a guess that worked. I cannot imagine a non-technical user knowing how to insert a tab character in Safari.
The main counter argument is that users have different preferences for the amount of indentation, so giving them control over that, just as they (nowadays) have control over the font used and window width, is a good idea.
The tongue-in-cheek counter argument is that fixed-width spaces are preferable over ‘normal’ spaces. They also give you more control over indentation, allowing, for example, mixing usage of THREE-PER-EM SPACE (https://unicode-explorer.com/c/2004) for indentation with FIGURE SPACE (https://unicode-explorer.com/c/2007) for right-aligning numbers.
Now that im thinking about it I’m convinced capslock would have been superior next field key and alt+capslock to be used for toggling capslock. But it’s not obvious to me capslock [e: must be] seen by the OS. It could be changed on the keyboards themselves.
You can configure your editor so that pressing the tab key inserts a tab character. Good luck with a web browser, or a UI where tab moves focus to the next control. The space bar basically always inserts a space character.
Except when it does page forward.
Bullshit reasoning though, because even people who use spaces for indentation don't do it by hammering the space bar - they also press the tab key. And of course in modern browsers we can give tab the expected behaviour.
The only logic I've ever heard for using spaces for indentation that actually makes sense and I vaguely agree with, is that lots of programmers do not give a shit about formatting code and even using spaces properly is often a bit too much for them.
That doesn't matter so much if you have an autoformatter though, so with the exception of Go I don't know why modern languages with widely used autoformatters don't use tabs.
About your point of tab being represented different on different systems: It will always be ascii 9, how it's draw does differ between text editors but I consider that one of it's strengths for programming. Everyone can configure what an indent looks like for them, it makes reading code easier.
But yeah I guess, that's another argument against getting accustomed to tabs for indentation.
The typewriter history was irrelevant.
He said people argued how wide should a tab be. And this caused misery. But almost all tabs advocates said tabs should be any width you want in my experience. And spaces advocates argued how many spaces should indentation be.
He said there was no value in the conflict. There is value in accessibility.[1][2]
He said tabs could be eliminated and spaces could not. Spaces could be eliminated for indentation. And indentation could replace alignment with initial spaces.[3]
[1] https://news.ycombinator.com/item?id=20341354
That tabs can be eliminated but spaces not. The rest is incidental to this idea.
I can have my tabs look the way I like them. You can have your tabs look the way you like them.
We had such vicious battles at Convex we wrote a tool that "canonicalized" code before it was checked in and then "decanonicalized" after checking out. There were issues with comments, but they were manageable.
TL;DR: This is a feature, not a bug
> So when things don't line up
Why would things ever not line up? There is 1/2 tabs indentation and it shows up as 1,3,7,8,42/2,6,14,16,84 indentation however you like it.
Is it because they didn't want Tab to be both an input and a control character? I.e. there are some cases where you can type a Tab into an input field, and there are other cases where you can't, and it's not immediately obvious which ones are which?
All the way in 2026, I would still be sympathetic to this view.
Firstly it was a breaking change from dos. Dos programs used Enter. And enter meant you could capture numeric data using 1 hand, since the numeric keypad has an enter key.
That means left hand can stay on the (paper) source. Right hand types. People got fast at this. (Really fast). And this pattern lives on in some programs kline Excel).
Lots of people (ie my customers) hated needing both hands on the keyboard. Lots of our programs allowed mapping of enter=tab.
I should be clear. It's not the "name" of the key that matters, it's the location.
The dual-use of the key is just an annoyance we live with. Sometimes the key behaves as a navigator, but in other cases it behaves as a spacer. Daft. (Enter would have the same problem. )
The best solution (by far) would gave been to add another key to the keyboard. Preferably in the numeric key pad. We got lots of new keys in that era. Hindsight says we should have added a "move on" key at that time.
I have used plenty of DOS programs back in the late 80s/early 90s, and I don't remember a single one that used "enter" to move between fields. Most of the time, "enter" closes the dialog. They all use TAB to move to the next field.
But maybe you're talking about even older software?
Maybe.
The same issue arises (with much higher frequency) with Enter and even in the modern world I'm sure we all have a pretty complex ruleset we've committed of when ctrl+crlf triggers a newline, or a message send and what the corresponding behaviors of a bare crlf and shift+crlf are.
In HN's editor shift+crlf and a bare crlf cause a newline creation and ctrl+crlf does nothing - but often times ctrl+crlf will trigger a form/message/whatever submission, shift+crlf often causes a raw newline insertion (even when in a form context) and then a bare crlf might do one - might do the other or might even do neither! Those are the common bindings but I have seen exceptions and inversions of bindings with shift+crlf causing form submission while requiring ctrl+crlf for raw newline insertion.
All this stuff is just super annoying and causes a lot of user friction (and for a long time MSFT's style guide was considered a seminal reference for best practices as ironic as they may seem to folks these days).
Many MS folks used Xenix and were fans of Unix and very early DOS had SWITCHCHAR and AVAILDEV config.sys options for these things. But AFAIK IBM threw an absolute fit about it and forced their removal.
The DEV issue is specially annoying because DOS 1 didn't have directories - thus it could not have been much of a compatibility problem. But instead DOS/Windows is stuck being unable to support creating files named "CON" or "COM1" because it assumes device files exist in all directories.
I work at MSFT, this made me chuckle hard. Microsoft must have been a very different company back then, because now I find myself and my colleagues mired in pointless bureaucracy via endless meetings, AI mandates, promotion theatre and the list goes on. I am decently paid but the bureaucracy is soul destroying.
Great read
(It's intended to allow video games that use standard OS controls to be controlled sanely with a gamepad.)
Well before DOS was a thing, the mini I programed on was using Tabs to move between the TUI fields. Once you were happy you would press RETURN to process the data. At the time, seems IBM was trying to avoid doing anything similar to any of its competition.
I'm aware of folklore.org, but I wish there were something equivalent within Apple itself. Sadly, it's not part of Apple's culture.
It was 1992. I was a summer intern on the System Software team. One of my projects was to improve a Disk Initialization Package feature to mark bad blocks found during disk init. The existing feature worked, but it was super slow, it didn't show progress, and it wasn't cancellable.
The UI was the trickiest part. I'd improved the speed a lot, but we still couldn't know how long the whole process would take, so every heuristic I used to show remaining time was awful.
I noticed this guy a few cubicles down had a "User Interface" title, so I wondered whether he'd be able to help. I asked him if he had a minute, and sat down and hashed it out with Apple employee #4, Bill Fernandez, the person who introduced the two Steves to each other.
He was truly the nicest person I met that summer, other than my manager. He completely understood the problem instantly and came up with a great solution: ditch the time estimate and replace it with an indeterminate progress bar that advanced as each disk track was tested. It worked, people liked it, and it shipped with the point release after 7.1.
Not quite as gee-whiz as any of Raymond's articles, but it's a start!
Of course, that assumes it came from a place of corporate strategy rather than individual habit, which could have been learned from other older systems.
You have to keep a mental context of whether you need to hold shift before you press return. See also: every message I've ever sent that ended with I' because I fat-fingered the ' key while typing a contraction.
(And yes I do miss those - with an external keyboard these get less painful but still don't work 100% like on a PC)
Because sometimes you still do want to insert text with all caps, for example as part of an ID. Also Caps Lock as opposed to Shift Look is quite useful when you want to insert caps and numbers quickly, again as part of IDs.
> What does ScrLk key on my keyboard do?
It switches between the cursor or scroll wheel or the mouse moving the cursor or the viewport/document. It's quite useful. Firefox e.g. implements this functionality under F7.
> Why is there an Ins key when practically every text edit field is in insert mode anyway?
To switch, because sometimes you do want replacement mode. Also it is useful for the Ctrl-/Shift-Ins, which is the original CUA key for what people now know as Ctrl-C/V. It is quite useful for when the latter means something else.
> How often do you actually use the Pause key and what does it do?
It used to still work for a while in Linux, but sadly they removed it. Also it is still useful for the CTRL-ALT SysRQ, Pause sequence to advise the OS, when nothing else works, or you don't want to shutdown properly. Also it feels quite powerful to tell the computer to be off, and it basically immediately being off.
Mostly not to destroy people's muscle memory, I think.
People have gotten used to, and expect certain behaviour from OS+apps. Futz with that, and users become annoyed, frustrated, or ditch an otherwise fine piece of software.
In other words: history / inertia.
They still depended on IBM to some degree. If IBM stopped shipping Microsoft products on their PCs, it would hurt Microsoft quite a lot. But, clones had just begun to break out. Compaq and a few dozen other clone makers were exploding in popularity. I imagine Gates must have seen their orders from clone makers growing exponentially, and much faster than sales to IBM, and realized they didn't really have to kowtow to IBM, anymore.
A real shame about OS/2, though.
[1] to linkedin: making up anecdotes in order to create engagement in a professional setting. Often in the form of 'Today I learned' or '15 things my toddler taught me about stockpile management'.
"I may have invented it, but I think Bill made it famous." - David Bradley (IBM), creator of the Ctrl+Alt+Del shortcut key.
Microsoft has become IBM. IBM has become CA. Apple has become Microsoft. Oracle has become DEC (if DEC had a few more lawyers.) Amazon has become Oracle.
MSFT maintains a research arm (MSR) which routinely produces interesting concepts. Not that they would ever try to turn them into products. So maybe MSFT also turned into Xerox.
But yeah, I sometimes show that Sinofsky's blog entry as an example of difference.
Honestly, why should I even believe it?
Months later, just before the end of the internship, they received a reply. Their manager had forwarded their request up the chain of command and the email had the full quoted history. Their request had been bumped up 4 successive layers in the London office, then across to the US headquarters where it continued its upwards trajectory, finally alighting on the desk of a VP who, after thanking them for bring the issue to his attention, rendered an carefully considered opinion.
The whole process had taken weeks, presumably as each person in the hierarchy debated whether they had the authority to tackle such a weighty issue.
The email had then been inexplicably bounced back DOWN the chain one link at a time, back across the Atlantic Ocean, and through the local office, down to the suit-bound interns, again weeks later, who by this stage only had days left at the internship.
The answer was no.
Not 8 (eight) months later I got a call from their HR saying they'd like to interview me next Thursday. And then they got completely flabergasted when I said I was no longer interested. Don't know what they were smoking, but they were exceptionally full of themselves... while not even offering a good pay.
The only company they were on par with was Arthur Andersen, who were offering around £15k for trainee accountant roles, but you know how fast those salaries go up once you’re qualified and start to progress.
Public buses aren't safe, clean, or timely. Where I am, it's 2.5 hours rather than a 26 minute commute by car. The only reason you ride one is usually if you are already in the proximity of your destination, especially if that destination is downtown. For all other cases, private or ride-share makes way more sense. We're talking buses here, not shuttles, light rails, monorails, etc.
(Not disputing your story, just providing a different perspective.)
Mostly these things boil down to a vetocracy where all managers in some hierarch must say 'yes', otherwise a single 'no' is a final 'no'.
Hence, the trick is not to ask because the more people are involved the higher the chance that one of them will say 'no'.
The manager in that office you worked in most likely made a decision themselves and didn't punt it up the hierarchy, and hence nobody told him 'no'.
The corollary to that is a clever bureaucrat can kill a proposal simply by inviting many decision makers to a meeting.
PS: It's hilarious to see this effect play out as a consultant, because often I deal with different "randomly" selected subsets of the same organisation and the difference in their day-to-day can be stark. It just boils down to which managers take individual responsibility, and which regularly beg for permission to do their job. "No."
So in my case at IBM the trick to being able to keep a hand-and-a-half sword in your office is to just have it appear there one day. My boss did a bit of a double-take the first time he saw it but that was the only reaction I got.
They did have a "no firearms in the building" policy but that didn't extend to medieval edged weapons, although there may have been a change made after I left.
(I work at a particle accelerator and we need to protect ourselves for interdimensional breaches)
Come to think of it, does an Elder Sign still work if you spray it onto a wall using a template? I think you need to investigate that the next time there's a breach... you've got plenty of interns right?
My version of this:
For my friends, everything; for my enemies, pull security in.
Not particularly clever. My experience is that low-level team/line managers typically already have the authority to say "no" to their own people; but they don't want to take the blame for saying "no" (they want their team to like them!), so by punting the decision up the chain, they're effectively punting the blame for saying no up the chain (under the expectation that anything so punted will get a "no" response.)
Some this backfires, though: everyone above them says yes, and so they have to be the one to say no. (They may end up lying if asked, vaguely saying "someone important" said no.)
Sometimes this backfires badly: not only does everyone above them say yes, but someone somewhere up the chain loves the idea, and turns it into an "initiative" — i.e. something the line-level manager is now locked into doing.
I've seen a variant of this (repeatedly!) where a sales person will suggest the bronze/silver/gold/platinum edition of some product to a manager, the decision goes up the chain (unnecessarily), and then someone near the top says: "Platinum sounds the best!". Nobody dares take responsibility for suggesting "anything less than the best", so it gets locked in.
Meanwhile, the platinum edition exists only to make the silver and gold pricing look reasonable, so now... now... the consultant has to implement a solution based on the "bells & whistles edition" which takes 10x as long and has a bunch of issues. E.g.: "clustered" versus simply "active-passive" or weird nonstandard high bandwidth ports instead of ordinary Ethernet, etc.
https://www.youtube.com/watch?v=CXDxNCzUspM
https://www.youtube.com/watch?v=KodqIPMbyUg
I asked to be excepted from a contract condition giving IBM first pick on any IP I develop in my own time.
Keep in mind, I was working in one of their technical support call centres. I had no access to IBM proprietary information, I had no role in developing it, I was a complete non risk on this front. I had more access to customer systems, no access to RED or BLUE networks, just an IBM lotus notes account I could use to slowly download information from HR.
Everyone I could physically speak to looked at my request and went, hey that's a really reasonable request.
It took 6 weeks for the first no to come back, my direct manager, whose stats I was apparently holding in place, apparently tried to intercede, adding 2 further weeks for a review. The answer was still no. This had apparently gone up through one line of reporting across to the US, branched out into legal and came back down that path. It was crazy.
So I left, so I could work on a small software project with a friend without risking IBM having an interest in it.
Another one. The HR forms were all written in the early 80s and digitised sometime in the 00s. Our team, not being customer facing, was super diverse. I know there was an attempt to try and get the HR forms updated to recognise other gender/pronoun combinations. This took like 12 weeks to be reviewed, and I think the eventual no was based entirely on the fact that no one wanted to try and figure out whose job it was to update the forms. Our team was full of LGBT people, and retention of them appeared to be critical. Hard no.
Also, our sexual harrassment training came on tape (in the year of our lord two thousand and ten) and implied that it was the updated version, previously it might have been vinyl or something.
I'm fine here :)
He showed up to work at an IBM hardware factory in the US and as soon as everyone walked in the door they was called into a meeting that day. IBM announced they were all laid off immediately. IBM having almost no experience with layoffs to that point and still styling itself as a company you go to work at for life seemed to be legitimately unsure what to do.
So they gave everyone minimum 1 years pay, benefits, IBM actually assigned HR people who were VERY involved in trying to place people other places and paid many to relocate them, and what amounted to a 4 year scholarship too if they wanted to use it.
Dude had been there less than an hour and decided to just go back to school for 4 years ...