Enter/return on the 'Submit' button, I suppose. The rationale may have been "Start at the beginning of the form, keep hitting Enter after filling in each field, and it will submit itself when you're done."
Some terminal software would use a function key that would be labelled "Execute". You'd usually have a template to put over the function keys to tell you what does what.
I'd never really thought about it before, but Enter to advance to the next field field and Ctrl + Enter to submit the whole form (which is the typical keyboard shortcut for submitting the form while a multi-line text input control has focus) does have a certain appeal to it.
The overloading of return to either send a message or add a newline has become really annoying since chat apps (and then now AI) have become popular.
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.
Shift+Enter will usually enter a newline in a message without triggering send... At least that's the convention used most of the time. No guarantees on specific applications, just my own experience with this.
Terminal keyboards generally used to have two separate ENTER (submit the form to the mainframe) and RETURN (insert a line break) keys. I mean, even the original 101-key PC keyboard has them: the RETURN key above the right Shift, and the ENTER key of the numpad.
Possibly, OS/2 co-development started in 1985, which is the same year IBM released the a keyboard with arrow keys.
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.
It's been ages since I used an IBM green screen but I seem to recall that in our application Tab did move between fields, but I think there were also function keys reserved for this purpose.
That's exactly my memory too, using a tab was second nature and it irked me when I went to gui apps with a mouse and the tab order was wrong, mainly with visual basic apps.
A great read, although I'd still like to know what IBM's reasoning for opposing this use of the Tab key was.
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.
I assume so. Obviously there are very different concerns if you're managing an organization with countless moving parts versus you want to build something for the user quickly.
Personally I don't like the tab key for field change.
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?
The way I interpreted it was that there was no complete "IBM" reason. I read it as "one person in the IBM bureaucracy stepped in and brought things to a halt, which highlights the cultural differences" considering it is a post about said differences.
If you're designing a text editor that's intended to run within a browser you need to fully break user expectations about the functionality of the tab key - there are two completely logical and intuitive roles it can serve in such an environment that are in conflict.
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).
Interesting, I wonder if the "TAB" argument was IBM at the time wanting screen input to work just like they did on mainframes ?
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 find this story odd because IBM was consistent with their keyboard nomenclature across multiple products, and the 3270 series mainframe terminals used the Tab key, located in the same place where you would find a tab key on a modern keyboard, to move the cursor to the next field.
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...
Having worked at IBM, I would guess that using the tab key in this way was part of a patent they were pursuing and Microsoft's use would show this to be 'obvious' and thus not patentable. But that is just a guess.
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."
Microsoft is suffering from the lack of such a group today; they're definitely doing it wrong, where "it" is pretty much everything... except pissing off users.
For trademark safety, this is the correct approach. You can say "Blah for XXX" and that's fine but if you say "XXX blah" then you can get into trouble.
It's not a rule, it's just convention. Trademark law is about whether there is confusion about who made the product but not specific wording. Using "Blah For XXX" wording just makes it clearer.
"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".
In the present context, I'm reminded of IBM's "OS/2 for Windows", which, while actually a reduced-price version of OS/2 2.1 that used a customer's existing copy of Windows 3.1 to avoid the cost of licensing the Windows 3.1 components IBM shipped with OS/2 to support Windows compatibility, was also a marketing ploy to reposition OS/2 as a Windows enhancement rather than a replacement OS (which, to be fair, is not as misleading as it may sound, since OS/2 2.1, unlike Windows 3.1, is capable of memory protection and preemptive multitasking between Windows applications).
For a recursive acronym, I prefer LiNT, officially LiNT is NT, and unofficially, either Linux in NT or Linux is Not There, with the official and second unofficial definitions reflecting the WSL 1 architecture where WSL, like Win32, is a subsystem layered on top of the NT kernel, and doesn't rely on any Linux kernel code.
> I would guess that using the tab key in this way was part of a patent they were pursuing and Microsoft's use would show this to be 'obvious' and thus not patentable.
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.
> A usability feature that your users cannot use or know about doesn't increase usability.
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?
You're missing the historical context. Prior to patents, inventions would commercialized as magic tricks and the mechanisms hidden. Then the inventor died and the secrets were lost.
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.
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.
> “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”
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.
The arrow keys, and enter, are the obvious ones to use, but you have to move off of home row to hit them. That's the "non-obvious" bit of using the tab key to navigate fields. Back when that level of usability was important.
IBMs earliest block mode terminals with field entry, including the 3270, predate the microprocessor. They were fully implemented with fixed hardware control.
Err... wasn't your post a perfect example of why patents exist?
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.
I worked on a software project make years ago. We spent a lot of money over months doing users studies to figure out the best UI for a narrow demographic.
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.
> 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
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.
Do you remember what the official definition was? I admit I was working at an internship in FEIS (Field Engineering Information Services) in Colorado and people with that title would occasionally yo-yo in to a meeting make some comment that didn't apply and then yo-yo out again. None of the engineers in the organization had anything but disdain for them. If you were late 80's, I was interning in the late 70's so its entirely possible that they restructured the job responsibilities somewhat. But again I'd really love to see what was the official job description from the time.
> I would guess that using the tab key in this way was part of a patent they were pursuing and Microsoft's use would show this to be 'obvious' and thus not patentable.
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.
OS/2 1.0 and the first edition of the CUA were both released in December 1987 according to Wikipedia; Raymond's story isn't dated but could've happened before this. (If I had to make a wild guess, I could imagine this request was a side effect of some internal IBM battle about what the CUA should dictate).
It looks like it they wanted to use their existing special field management keys (field advance and field backspace) with tab being a different user experience. [0] Document does even use the word "Tab". "Field Backspace" seems to duplicate "Home" key usage under some conditions.
To be fair, Microsoft & Bill Gates are bad at quality user experience. "Ctrl+F" differs through their applications.
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".
"To be fair, Microsoft & Bill Gates are bad at quality user experience."
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.
I don't really remember many Windows 95 firsts. One I remember is the ability to switch users without logging off. MacOS famously copied that (with a 3D cube look).
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.
At my first ISP job, I eventually started using mh for mail. It was based on an awesome concept of sorting everything into directories and having procmail and various helpers to pre-process, including upon receipt and reading. I remember little of the details, but it was truly for the gung-ho neckbeard crowd, and it was well-suited for processing "large amounts" of mail (1993 style). I think MMDF was the MTA trying to do similar things in that vein. Meanwhile my boss was in love with PINE...
Of course, working at an ISP I could also telnet to our NNTP server and read Usenet on the local filesystem. Ugh.
And the contemporaneous counterexamples are what? The various UNIX windows managers and X11? System 6-8 on the '90s Macs? None of those were great UI/UX IMO.
Not sure the case that the parent refers to, but there's a good reason that CTRL-F in the Win95/Exchange Mail client and Outlook will invoke the Forward email message command.
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.
Here's a real IBM 3270 keyboard.[1] Note the "Next field" key on the left, and the matching "Previous field" key on the right.
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.
Nitpick: The terminology used by IBM on the 3270 family (including the 3277 whose keyboard you shared) was "Tab" and "Back tab", not "Next field" and "Previous field".
Yes: Page 30 of The Operator's Guide for IBM 3270 Information
Display Systems calls it a Tab key.
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.
This is correct. It's also worth pointing out that the 3270 defaults to overwrite rather than insert mode, and has an "Erase EOF" key that deletes all text from the cursor position to end-of-field.
The SAP application model is such a form-based model (no surprise given that all five co-founders of SAP were ex-IBM consultants that were fired for moonlighting - specifically, for writing a payroll software for chemical giant ICI in assembler on ICI's mainframe in an extended night action...).
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...).
It looks really strange to have 3 keys right next to each other all pointed in the same direction.
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/
I had never come across the broken bar before. I feel sorry for those that had to suffer these keys. The keyboard keys themselves look like they have about a mile of travel which was probably exhausting as well. I learned to type on clackity clackity arm typewriters, and those keys were I assumed designed by a masochist. These look even worse
The early 3270 keyboards (and the other IBM keyboards from the mid 70s up to the early 80s) are some of the most pleasant keyboards I've typed on in terms of key weighting and tactile feel. The length of travel is comparable to modern mechanical keyboards. The downside is how tall and aggressively angled the keyboards are, which are very far from modern ergonomic standards.
Those beam springs had the second-best feel ever, after the Selectric. Then the Model F cost-reduced (and thickness-reduced) it, and the Model M further.
> 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.
Note as well that a screenful of user-entered checked/constrained text, meant for some form of database query or insert, meant just one interrupt to the mainframe CPU; and all the info was there in an easy to parse format. Very low use of resources.
My favorite feature of 3270/5250-style keyboard layouts is the separate carriage return and Enter keys, allowing for multiline text entry without special handling to avoid conflicts with the command to signify that input is complete.
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.
The software I've used has been pretty consistent about Shift+Enter meaning "new line without triggering the Enter key action" and Ctrl+Enter meaning "action" (send the message, go to the next field, etc). The behavior of the Enter key varies from program to program, but I have yet to find a program where Shift+Enter triggered an action while Ctrl+Enter did not. Which software are you using where Shift+Enter triggers an action?
(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).
From what I remember, there were two "Enter/Return" keys on IBM 3270 terminals. One was the regular "Return" key we have today, which just advanced to the next field, and didn't submit the form. There was also another "Enter" key where the Right Ctrl key is today, and that submitted the form. So, I presume, instead of being against Tab key, IBM might be against "Return" to be the form submit key as people who use 3270 would expect it to advance to the next field.
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.
Your memory is correct, and it's interesting to note that on the IBM terminal keyboards, the Enter key was marked "Enter", and the return/new line key was marked "↵". On the classic IBM PC keyboards such as the Model M, the Enter key is marked "↵ Enter". I believe IBM chose this to convey that the Enter key on the PC was both an "Enter" _and_ "Return" key in one. As you say though - individual applications got to chose what that meant in practice, leading to inconsistent behavior.
Not being familiar with the term CUA, I looked it up and TIL something (https://en.wikipedia.org/wiki/IBM_Common_User_Access). Since the doc you linked is dated 1988 and CUA was a brand new thing circa OS/2 (at least in traditional IBM timescales), the apparent inconsistency might be down to the massive scale of IBM in those days and organizational propagation delay.
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.
> IBM was consistent with their keyboard nomenclature across multiple products, and the 3270 series mainframe terminals used the Tab key
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.
As someone who prefers tabs (I'm not looking to argue), I once asked Brendan Eich on Twitter why he prefers spaces. His answer was more thoughtful than I'd expected.
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
Non english speaker trying to wrap my head around what Brendan said to you.
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.
Literally try entering a "tab" character in a Hacker News reply. For me in Safari, it changes the focus to the "reply" button.
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.
It is Control-Q Control-I. Control-Q is the quoted insert function, and Control-I is the traditional teletype way of typing a tab 0x09 (just like Control-C in a terminal results in 0x03 when not in a cooked mode).
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.
No, it's that it's extremely challenging to insert a literal tab character into anything resembling a web form.
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.
No, the point was that pressing the Tab key often does something else than inserts the tab character. Moves focus to the next input field, for example.
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]
No he's saying if you're trying to write code in an edit box in a web browser (for example) and you press tab, instead of inserting a tab character it will move the focus to the next input field.
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.
Tab key is both a control character moving the cursor to the next input and also an input representing the tab character as you see in a text editor.
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.
I don't think that would work, as capslock should only affect the letter keys (not e.g. turn "1" into "!") and the keyboard doesn't know which those keys are, as it depends on the layout configured in the OS.
> 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.
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.
Brendan Eich was making a point about the tab key also being used to switch to different text fields and buttons. This makes it difficult to type in certain applications. A space doesn't have that issue.
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.
For me, it's not until that file is retrieved for local use where I have to deal with this. If it was born remotely and only used remotely with the same settings, I never notice it. But yeah, I hate it with the passion that raises my temp to that of a thousand suns.
Having a non-standard size is exactly the reason the tab character (not the key) is unusable. If you accidentally get some space indenting anywhere in the same project as tabs, then it'll be misaligned on someone's editor and they'll "fix" it, making it misaligned on someone else's. Trying to never use space indenting is impossible. Never copy and paste from anywhere else, never manually align multi-line statements, never align comments with code, etc.
Control-shift-u, 9, space/enter, works on most Linux systems.
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).
It might be reasonable to have a separate key for "tab" vs "next field", as well as separate key for "line break" vs "send". (But, tab and line break are not applicable for all contexts.)
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.
Is that how you do it? I have always used my left pinky. As I try it, unless I'm moving my hands off home row, both Ctrls feel just too far to be confident I'm hitting the right one (and not hitting the modifiers second in from the edges, and not hitting both). Maybe it's just my small hands!
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.
It was a sad day (well, presumably pair of days) when Sun & Apple gave up that fight and moved caps lock into that position.
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.
Wow I never thought about that, but it makes complete sense. I just tried shifting my hands "as if" the nubs were on D and K and wow, it should have been this way.
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.
As far as I'm concerned, it's a feature when the viewer controls the number of spaces per tab, it's a bug when someone else does (as is often the case online via css `tab-size`).
Or if you have your tabs set at 3 and I have mine set to 4 and you want to indent something 6 characters so you enter two tabs. When the code gets back to me it's indented 8 spaces and nothing lines up anymore. So I change it to one tab and 2 spaces and when it gets back to you it's indented 5 spaces instead of 6, so you change it back to two tabs and we spend our time indenting code to make it readable instead of doing our jobs
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.
It’s not “random”, it’s whatever you’ve configured it to on your machine. Your choice of (e.g.) 3 spaces per tab shouldn’t be forced onto me if I prefer (e.g.) 4 spaces per tab. As long as you’re on your machine, you’ll see exactly the amount of code indentation you prefer - not something “random”. On someone else’s machine, well, that’s up to their preference, and it’s hard to complain about how someone else has their machine setup.
So when things don't line up... That's a feature? The reason I use indentation is so there's consistency between lines. When you use spaces, the semantics of indentation are maintained. If you don't like the indentation settings, just change them in the v-linter.
When you type a table on a typewriter you use the tab to advance to the next column (how many you have depends on the typewriter - you often had margins and one or two tabs). In typewriters, tab doesn’t have a specific width and you don’t have tab stops at every 8 columns. At least on the ones I have here.
Yeah but, even ones that don't use literal tab characters use the tab key to write code, right? RIGHT? Like, does he hit space N times?
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.
> Yeah but, even ones that don't use literal tab characters use the tab key to write code, right? RIGHT? Like, does he hit space N times?
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.
> it sills maddens me there's no somewhat universal tab-entry in OSes like we have with enter
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.
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].
I've ran into an elusive bug in VSCode where sometimes pressing tag moves focus to the next focusable instead of adding a tab/spaces. It's infuriating, and the only solution is restarting VSCode.
I don't think even modern-day Microsoft is anywhere near as bureaucratic as IBM, but yeah - it seems almost inevitable that as a software company grows it'll lose an "undisciplined hacker" culture and become stuffier, for better or worse.
The thing I find funny here is that MicroSoft in the 80s and early 90s was a scrappy bunch of hackers trying to get something out the door. But over time they've sort of become IBM. Based on the way things have progressed...
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.
I have such a long history of thinking of Microsoft as the Big Bad in tech, that it's funny to think of them as the young upstart that's just coming into their own and standing up to the big guys for the first time. If it was early enough for folks to be arguing about what keys to use for functions, it must have been 1985, which means Microsoft was just coming to the end of their time needing to satisfy IBM in order to survive/thrive.
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.
I think we should connect game controllers to all machines so the arrow buttons move you between fields, the 'A' key takes you up a level (in hierarchical menus), the 'B' key takes you into a subordinate menu. So to move between fields, you type some data, then take your hands off the keyboard, pick up the game controller, hit the right or left buttons, then put your hands back on the keyboard. It should make you SO much more productive!
the Microsofties viewing their IBM colleagues as mired in pointless bureaucracy and the IBM folks viewing Microsofties as undisciplined hackers.
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.
I've had to work with oracle people this very year and had the same style of interactions, funnily enough. They required constant input from higher ups in our mostly flat org, no matter how many times an annoyed VP had to email a "I agree with whatever my people say".
I find keyboards fascinating because they have many anachronistic elements and design flaws, yet nobody outside of elitist mechanical keyboard circles seems to be willing to fix them. Everybody seems to just think "whatever, gotta live with it." Why do they still have an extra large Caps Lock key in such a prominent position? What does ScrLk key on my keyboard do? Why is there an Ins key when practically every text edit field is in insert mode anyway? How often do you actually use the Pause key and what does it do?
IBM is also the reason MS-DOS doesn't support "-" for options and why it doesn't have devices in the "\DEV" directory on all drives. Support for "/" as path separator survived though!
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 find admirable how every era was filled with fights on just about every detail. Keys included, layout, shape, meaning. And now nobody pays attention that any of this at all. Very strange and funny at the same time.
IBM was legendarily over-managed. This is second-hand but a guy I used to work with told a story of when he interned for a summer at IBM in London during the mid-90s doing what would now be called a QA engineering. At that time everyone wore suits to work but the culture was changing so the interns put in a request to be allowed casual Fridays. Bear in mind that they were locked in a back room somewhere without any customer interaction so they didn't think it was a big deal.
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.
I interned at an IBM R&D site in Winchester (UK) for a year in 1988-89 and none of us interns wore suits, or even ties. I don't recall many of the f/t IBMers doing so either. It was pretty informal really.
(Not disputing your story, just providing a different perspective.)
I work with a lot of government departments. The "policy" is not a thing that can enforce itself, and often barely exists at all. Rarely is it actually written down!
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."
> The corollary to that is a clever bureaucrat can kill a proposal simply by inviting many decision makers to a meeting.
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.
> 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.
> Hence, the trick is not to ask because the more people are involved the higher the chance that one of them will say '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.
In the late 90s I moved from one country to another. As a part of a job hunt I applied to the local IBM office, because I had some OS/2 mileage. Then promptly got three offers from other places, accepted one and completely forgot about the IBM application.
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.
When I went to a grad jobs fair in 1998 or so IBM were offering at least 25% less than any other company I spoke to, and 40% less than the best paying roles.
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.
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.
My dad was am IBM lifer, when they said they could wear suits that weren't black he wore a blue suit and his boss asked him if he rode the bus to work.
This is a very legitimate question: In the US, where is it not?
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.
I worked at IBM Research, totally unlike the rest of IBM in terms of how it was run, and being a non-US person it was quite natural for me to take the bus to work because either that or train is how you get to work. I never met any coworkers on there, although I did get to know the cafeteria staff, cleaners, and so on, who all caught the bus, quite well.
I can't do anything about Apple's culture, but it's been long enough that I doubt anyone would mind if I shared a story.
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!
bobomonkey | 17 hours ago
kstrauser | 17 hours ago
cosmotic | 17 hours ago
CamperBob2 | 17 hours ago
drivers99 | 17 hours ago
MrDOS | 17 hours ago
bsimpson | 17 hours ago
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.
tracker1 | 16 hours ago
Joker_vD | 16 hours ago
tracker1 | 15 hours ago
Joker_vD | 16 hours ago
raverbashing | 16 hours ago
(And yes I do miss those - with an external keyboard these get less painful but still don't work 100% like on a PC)
Terr_ | 17 hours ago
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.
https://en.wikipedia.org/wiki/IBM_PC_keyboard
SoftTalker | 17 hours ago
epx | 17 hours ago
kibwen | 17 hours ago
buggeryorkshire | 17 hours ago
EvanAnderson | 16 hours ago
robocat | an hour ago
drob518 | 17 hours ago
connorboyle | 17 hours ago
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.
asdfman123 | 17 hours ago
deburo | 17 hours ago
OhMeadhbh | 16 hours ago
daemin | 8 hours ago
rwmj | 17 hours ago
bruce511 | 17 hours ago
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.
dark-star | 14 hours ago
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?
bruce511 | 10 hours ago
Maybe.
hylaride | 16 hours ago
munk-a | 16 hours ago
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).
jmclnx | 17 hours ago
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.
ch_123 | 17 hours ago
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...
SirFatty | 17 hours ago
RIP /.
ChuckMcM | 17 hours ago
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."
MoonWalk | 17 hours ago
coredog64 | 16 hours ago
Henchman21 | 16 hours ago
rbanffy | 16 hours ago
Henchman21 | 15 hours ago
Nition | 15 hours ago
colejohnson66 | 14 hours ago
wvenable | 14 hours ago
Nition | 12 hours ago
I mainly ask because Microsoft has another product called Linux Integration Services: https://www.microsoft.com/en-us/download/details.aspx?id=551...
wvenable | 12 hours ago
"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".
Nition | 12 hours ago
jasomill | 11 hours ago
ux266478 | 13 hours ago
jasomill | 11 hours ago
cybercatgurrl | 11 hours ago
thaumasiotes | 16 hours ago
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.
Onavo | 16 hours ago
thaumasiotes | 16 hours ago
>> Something that's bothered me about user-facing patents
philipallstar | 16 hours ago
toast0 | 16 hours ago
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?
jjmarr | 14 hours ago
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.
xp84 | 14 hours ago
jasomill | 8 hours ago
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.
peterfirefly | 11 hours ago
We still don't know how he solved the problem of carbon dioxide build up. We know he solved it, though!
pavlov | 16 hours ago
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.
fragmede | 13 hours ago
WalterBright | 16 hours ago
kevin_thibedeau | 15 hours ago
IBMs earliest block mode terminals with field entry, including the 3270, predate the microprocessor. They were fully implemented with fixed hardware control.
somat | 15 hours ago
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.
thaumasiotes | 14 hours ago
Why? In this scenario, what would happen with a patent that wouldn't happen without a patent?
IcyWindows | 11 hours ago
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.
thaumasiotes | 10 hours ago
eastbound | 15 hours ago
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.
FartinMowler | 16 hours ago
ChuckMcM | 16 hours ago
rbanffy | 16 hours ago
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.
andrewf | 15 hours ago
rbanffy | 13 hours ago
MoonWalk | 17 hours ago
Lame.
Tempest1981 | 16 hours ago
OhMeadhbh | 16 hours ago
yndoendo | 16 hours ago
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".
MoonWalk | 14 hours ago
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?"
rbanffy | 13 hours ago
There is no universe where that is true.
badsectoracula | 13 hours ago
Win95's UI was so incredibly influential that stuff introduced by it are still around to this day.
rbanffy | an hour ago
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.
ButlerianJihad | an hour ago
Of course, working at an ISP I could also telnet to our NNTP server and read Usenet on the local filesystem. Ugh.
ThrowawayB7 | 5 hours ago
canucker2016 | 2 hours ago
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...
Animats | 16 hours ago
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...
ch_123 | 16 hours ago
robocat | 14 hours ago
https://usermanual.wiki/Document/GA2727421OperatorsGuideforI...
jasomill | 12 hours ago
jll29 | 16 hours ago
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...).
dylan604 | 16 hours ago
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?
ch_123 | 15 hours ago
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/
dylan604 | 15 hours ago
ch_123 | 14 hours ago
kps | 13 hours ago
> 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.
shrubble | 14 hours ago
jasomill | 12 hours ago
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.
rmunn | 9 hours ago
(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).
ivankelly | 5 hours ago
sedatk | 16 hours ago
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.
ch_123 | 16 hours ago
logickkk1 | 16 hours ago
so they spent seven layers of management escalating against their own standard: https://archive.org/details/ibmsj2703E/page/n13/mode/2up
mrandish | 15 hours ago
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.
mrandish | 16 hours ago
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.
donatj | 17 hours ago
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
INTPenis | 17 hours ago
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?
jimbokun | 17 hours ago
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.
kccqzy | 10 hours ago
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.
Waterluvian | 10 hours ago
kstrauser | 17 hours ago
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.
ville | 17 hours ago
sam_lowry_ | 17 hours ago
pseudalopex | 6 hours ago
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
[2] https://news.ycombinator.com/item?id=20381027
[3] https://news.ycombinator.com/item?id=20341788
sam_lowry_ | 3 hours ago
That tabs can be eliminated but spaces not. The rest is incidental to this idea.
IshKebab | 17 hours ago
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.
bnjms | 17 hours ago
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.
srdjanr | 16 hours ago
bnjms | 13 hours ago
ptx | 4 hours ago
brewmarche | 3 hours ago
Someone | 17 hours ago
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.
bigibas123 | 16 hours ago
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.
setr | 16 hours ago
dylan604 | 15 hours ago
foxglacier | 14 hours ago
foxglacier | 14 hours ago
INTPenis | 3 hours ago
But yeah I guess, that's another argument against getting accustomed to tabs for indentation.
sltkr | 17 hours ago
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).
zzo38computer | 16 hours ago
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.
dmonitor | 16 hours ago
tuetuopay | 16 hours ago
Paracompact | 15 hours ago
wavemode | 13 hours ago
justsomehnguy | 15 hours ago
xp84 | 14 hours ago
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.
justsomehnguy | 6 hours ago
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.
macintux | 14 hours ago
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.
tuetuopay | 13 hours ago
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.
OhMeadhbh | 16 hours ago
LeoPanthera | 16 hours ago
drabbiticus | 16 hours ago
OhMeadhbh | 15 hours ago
donatj | 15 hours ago
I can have my tabs look the way I like them. You can have your tabs look the way you like them.
xigoi | 5 hours ago
OhMeadhbh | 5 hours ago
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.
Silamoth | 14 hours ago
TL;DR: This is a feature, not a bug
OhMeadhbh | 7 hours ago
topham | 16 hours ago
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.
rbanffy | 16 hours ago
tuetuopay | 16 hours ago
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.
aequitas | 15 hours ago
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.
registeredcorn | 12 hours ago
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.
Rendello | 8 hours ago
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...
amelius | 11 hours ago
lopis | 2 hours ago
guelo | 17 hours ago
wk_end | 16 hours ago
justsomehnguy | 15 hours ago
But yeah, I sometimes show that Sinofsky's blog entry as an example of difference.
jmkni | 17 hours ago
Great read
ale42 | 13 hours ago
crumpled | 16 hours ago
Honestly, why should I even believe it?
OhMeadhbh | 16 hours ago
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.
vincent-manis | 14 hours ago
xerox13ster | 12 hours ago
SwellJoe | 16 hours ago
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.
OhMeadhbh | 16 hours ago
coldpie | 16 hours ago
(It's intended to allow video games that use standard OS controls to be controlled sanely with a gamepad.)
ceayo | 14 hours ago
Joker_vD | 16 hours ago
OhMeadhbh | 15 hours ago
watersb | 16 hours ago
AbbeFaria | 16 hours ago
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.
torben-friis | 16 hours ago
jonathanstrange | 16 hours ago
Dwedit | 15 hours ago
"I may have invented it, but I think Bill made it famous." - David Bradley (IBM), creator of the Ctrl+Alt+Del shortcut key.
trollbridge | 15 hours ago
emaccumber | 15 hours ago
xenadu02 | 15 hours ago
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.
spc476 | 13 hours ago
jnpnj | 14 hours ago
esafak | 8 hours ago
AndrewStephens | 14 hours ago
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.
andyjohnson0 | 14 hours ago
(Not disputing your story, just providing a different perspective.)
jiggawatts | 14 hours ago
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."
derefr | 10 hours ago
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.
jiggawatts | 7 hours ago
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.
hamandcheese | 7 hours ago
My version of this:
For my friends, everything; for my enemies, pull security in.
pseudohadamard | 5 hours ago
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.
eps | 14 hours ago
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.
bartread | 13 hours ago
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.
jjwiseman | 13 hours ago
jasomill | 12 hours ago
https://www.youtube.com/watch?v=CXDxNCzUspM
https://www.youtube.com/watch?v=KodqIPMbyUg
JKCalhoun | 9 hours ago
protocolture | 12 hours ago
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.
cybercatgurrl | 11 hours ago
atl_tom | 12 hours ago
CSSer | 9 hours ago
nomel | 8 hours ago
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.
bel8 | 7 hours ago
pseudohadamard | 5 hours ago
quietsegfault | 11 hours ago
alfiedotwtf | 13 hours ago
K7PJP | 12 hours ago
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.
sowbug | 7 hours ago
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!