377

IBM didn't want Microsoft to use the Tab key to move between dialog fields

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.

The answer was no.

a day agoAndrewStephens

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.

a day agoeps

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.

a day agobartread

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.

a day agoatl_tom

Wait, I'm confused. Was that supposed to be an insult?!

a day agoCSSer

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.

a day agonomel

In other countries most people use public transportation and small percentage uses car

8 hours agokelvinjps10

US is different, deal with it.

an hour agothrow1234567891

London buses are a pleasure in contrast.

21 hours agobel8

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.

19 hours agopseudohadamard

Interesting, IBM sales and consulting were infamous for sending in an army of blue suits in

14 hours agobbatha

That would have been in the 1980s.

11 hours agorelaxing

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.)

a day agoandyjohnson0

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."

a day agojiggawatts

> The corollary to that is a clever bureaucrat can kill a proposal simply by inviting many decision makers to a meeting.

My version of this:

For my friends, everything; for my enemies, pull security in.

21 hours agohamandcheese

> 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.

a day agoderefr

> 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.

a day agojiggawatts

> 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.

19 hours agopseudohadamard

And I thought I was crazy for keeping a crowbar in the office...

(I work at a particle accelerator and we need to protect ourselves for interdimensional breaches)

4 hours agopezezin

Do you truky, in your heart of hearts, believe that?

3 hours agoObscurity4340

I have a few of these.

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.

a day agoprotocolture

This sent me down a rabbit hole. In the US, the PIIA effectively is the law - your employer gets to decide whether your side project "relates to their business." In the EU (where I am) it's basically: not on a work laptop, not on work hours? Yours.

I'm fine here :)

7 hours agolaacz

i never want to work at IBM. it sounds like hell

a day agocybercatgurrl

A coworker of mine got his first job at IBM after graduating from what was effectively an early version of a tech trade school when tech trade schools were not common.

He showed up to work at an IBM hardware factory in the US and as soon as everyone walked in the door they was called into a meeting that day. IBM announced they were all laid off immediately. IBM having almost no experience with layoffs to that point and still styling itself as a company you go to work at for life seemed to be legitimately unsure what to do.

So they gave everyone minimum 1 years pay, benefits, IBM actually assigned HR people who were VERY involved in trying to place people other places and paid many to relocate them, and what amounted to a 4 year scholarship too if they wanted to use it.

Dude had been there less than an hour and decided to just go back to school for 4 years ...

12 hours agoduxup

Good story but in fairness the "no" decision was usable for the next set of interns.

12 hours agothunky

Was? Is.

a day agoquietsegfault

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.

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...

a day agoch_123

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.

[1] https://sharktastica.co.uk/resources/images/model_bs/themk_1...

a day agoAnimats

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.

a day agojasomill

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).

a day agormunn

Yeah, the separate Enter and Return keys on Macs has always been nice.

11 hours agoaddaon

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...).

a day agojll29

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".

a day agoch_123

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.

https://usermanual.wiki/Document/GA2727421OperatorsGuideforI...

a day agorobocat

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.

a day agojasomill

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.

a day agoshrubble

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?

a day agodylan604

It's the | symbol.

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/

a day agoch_123

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

a day agodylan604

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.

a day agoch_123

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.

a day agokps

Arrow keys are giving swastika vibes, which I guess fits given IBM’s history

20 hours agoivankelly

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."

a day agoChuckMcM

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.

a day agoMoonWalk

Microsoft could implement the "Am I doing it wrong?" check via the shell script `/bin/true`

a day agocoredog64

They’d need to install WSL2 first though!

a day agoHenchman21

It's a Linux subsystem for Windows so we'll call it Windows Subsystem For Linux.

a day agoNition

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.

a day agowvenable

Is this really true, or is it just something people have repeated enough times like 'nuclear Ghandi'?

I mainly ask because Microsoft has another product called Linux Integration Services: https://www.microsoft.com/en-us/download/details.aspx?id=551...

a day agoNition

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".

a day agowvenable

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).

a day agojasomill

That makes sense, although in that case personally I would have named it Windows Linux Subsystem.

a day agoNition

As a lawyer trained in trademark law, I've never heard this. Do you have any references?

9 hours agootterley

What if you just apply for a free sublicense and you get approved and your massive cadre of attorneys aren't fighting each other over 5 letters?

Apparently some HN people think that MS is so sleazy that they will just go "GPL yoink" and start running/advertising/supporting Linux without notice or consent the benevolent dictator. That's projection.

9 hours agoButlerianJihad

It's not a part of Linux, so it can't be a Linux subsystem. It is a part of Windows, so it is indeed a Windows subsystem. Also it started/replaced a part of the NT kernel called a Subsystem, so it is called a Windows Subsystem.

I don't know where that strong objection to this particular name comes from. MS does do weird things with names, like with Live, .Net or CoPilot, but this isn't one of those, but in fact named quite sensible. Would you also object to the 'Linux kernel module for Android'?

11 hours ago1718627440

Use of the English language can often lead to ambiguity.

In the case of "Windows subsystem for Linux", it can be reasonably read that "for Linux" means that the functionality applies to Linux, i.e., to provide it with a subsystem that gives it Windows functionality.

Similarly, in the case of "Linux subsystem for Windows", it can be reasonably read that "for Windows" means that the functionality applies to Windows, i.e., to provide it with a subsystem that gives it Linux functionality.

9 hours agootterley

To solve this matter, I propose renaming it to WNL:

  WSL is not Linux
a day agoux266478

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.

a day agojasomill

it’s a windows product therefore windows comes first in the name. at least that’s my recollection of the reason why i’ve seen before

a day agocybercatgurrl

Wasn't that due to trademarks?

a day agocolejohnson66

A TRUE: device?

a day agorbanffy

As long as I can plug in a serial console and it endlessly spits out 1s!

a day agoHenchman21

> 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.

a day agorbanffy

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).

a day agoandrewf

I imagine this is mostly about form-based applications, GUI or not, before the Microsoft pulled the rug from under IBM.

a day agorbanffy

> 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 day agothaumasiotes

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.

a day agosomat

> Err... wasn't your post a perfect example of why patents exist?

Why? In this scenario, what would happen with a patent that wouldn't happen without a patent?

a day agothaumasiotes

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.

a day agoIcyWindows

So... in this scenario, what would happen with a patent that wouldn't happen without a patent?

a day agothaumasiotes

I don't know whether I'm missing something obvious, but with a patent, only the patenting company would use their patented idea. In your post you say:

> If you disclose your brilliant idea, everyone will copy it and your advantage in the marketplace will be transitory.

but that is the very point that patents are supposed to prevent. So why do you say that?

The post you're replying to says:

> I don't think the money would have been spent if our competition could immediately copy what we figured out. Customers did benefit then, and now, 20 years later, anyone can do it

so clearly the patent worked for them: they were able to use their simple and intuitive UI, while the competition could not copy it till 20 years later. So what is the question?

6 hours agosvat

> “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.

a day agopavlov

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.

a day agofragmede

> 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?

a day agotoast0

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.

a day agojjmarr

> + a submarine

We still don't know how he solved the problem of carbon dioxide build up. We know he solved it, though!

a day agopeterfirefly

Comments like this are the absolute best part of HN. Thank you for sharing this.

a day agoxp84

Likewise.

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 day agojasomill

> move between input fields in a software form

IBMs earliest block mode terminals with field entry, including the 3270, predate the microprocessor. They were fully implemented with fixed hardware control.

a day agokevin_thibedeau

IBM also infamously patented the XOR cursor.

a day agoWalterBright

Presumably it's to give you an advantage for putting in the work to develop it for a period of time.

a day agophilipallstar

> 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.

a day agoeastbound

You can say the same about swipe to unlock and that had been litigated to death.

a day agoOnavo

I did say the same about swipe-to-unlock:

>> Something that's bothered me about user-facing patents

a day agothaumasiotes

What?!?! I was an IBM Systems Engineer in the late 1980s / early 1990s and that was nothing like my job description.

a day agoFartinMowler

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.

a day agoChuckMcM

> 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.

a day agomrandish

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.

a day agosedatk

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.

a day agoch_123

Funnily enough, IBM had already published this. CUA explicitly says tab and backtab move between fields.

so they spent seven layers of management escalating against their own standard: https://archive.org/details/ibmsj2703E/page/n13/mode/2up

a day agologickkk1

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.

a day agomrandish

Also conspicuously missing from the story is what key IBM DID want to use. I mean... that's the first question you'd ask!

Lame.

a day agoMoonWalk

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.

[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".

a day agoyndoendo

"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.

"Would of?"

a day agoMoonWalk

> Microsoft advanced the state of UI and UX more than anyone else in the '90s.

There is no universe where that is true.

a day agorbanffy

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.

20 hours agoThrowawayB7

There is: this one.

Win95's UI was so incredibly influential that stuff introduced by it are still around to this day.

a day agobadsectoracula

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.

15 hours agorbanffy

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.

15 hours agoButlerianJihad

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.

see https://devblogs.microsoft.com/oldnewthing/20140715-00/?p=50...

17 hours agocanucker2016

Ctrl-F6 ?

a day agoTempest1981

Shift Ctrl F6

a day agoOhMeadhbh

And this is a great example of why I read the comments on HN stories... thanks for the info!

RIP /.

a day agoSirFatty

I am trying to think of other older examples, but I know I have seen it before Workspaces/Chromebook:

The upstart adopts all the keyboard shortcuts of the dominant player. Then the existing userbase is comfortable... compatible, with the new and different software.

Then, slowly but surely, new novel shortcuts are introduced and you gradually find the “compatible” ones vanishing or conflicting or just glitched, until one day you’re no longer capable of using Apple or Word or Netscape or Excel.

I propose that IBM saw that coming, and fought against a future where IBM-trained users easily adopted someone else’s apps.

12 hours agoButlerianJihad

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

a day agodonatj

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.

a day agotuetuopay

> 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.

a day agoaequitas

> Like, does he hit space N times?

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...

a day agoRendello

> 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.

a day agoregisteredcorn

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.

a day agozzo38computer

> as well as separate key for "line break" vs "send"

There is: Return vs. Enter. Sadly there are not many OSs and programs that honor this. I'm personally also sad about Scroll Lock. It would be useful, some programs even reinvent it, on Firefox it's basically F7.

11 hours ago1718627440

Put it where the capslock key currently goes. Not sure what purpose it serves these days.

a day agodmonitor

Its whole purpose is to be remapped as CTRL, as god intended.

a day agotuetuopay

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.

a day agomacintux

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.

a day agotuetuopay

Why the need for a third CTRL key, when the only backspace key is currently in Siberia?

a day agoParacompact

If backspace is in Siberia, delete is in the Arctic. Wouldn't mind having easier access to that function.

a day agowavemode

Speak for yourself. I prefer SHIFT, I have too much muscle memory with CTRL+ZXCV and just pushing down CTRL down with an edge of my palm.

a day agojustsomehnguy

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.

a day agoxp84

Depends.

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.

20 hours agojustsomehnguy

The fact that most people think the Tab key is the correct choice is a perfect example of why it was not.

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.

a day agotopham

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.

a day agorbanffy

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.

Is that what Brendan was trying to say?

a day agoINTPenis

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.

a day agojimbokun

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.

a day agokccqzy
[deleted]
a day ago

I can’t find the tab key on my phone. Please advise.

a day agoWaterluvian

> 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.

a day agoSomeone

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.

a day agoville

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.

a day agobnjms

It definitely is visible, OS login screens usually warn you if caps lock is on when typing password

a day agosrdjanr

Thanks for the correction. I understand it is seen but wonder if it was in keyboard only in the past.

a day agobnjms

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.

18 hours agoptx

Also, some layouts use shift lock (so actually turning 1 into !) instead of caps lock

17 hours agobrewmarche

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.

a day agokstrauser

> The space bar basically always inserts a space character.

Except when it does page forward.

11 hours ago1718627440

BTW, Douglas Crockford had an interesting argument in favour of spaces, see https://www.youtube.com/watch?v=En8Ubs2k1O8

a day agosam_lowry_

What of Crockford's argument interested you?

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

21 hours agopseudalopex

> What of Crockford's argument interested you?

That tabs can be eliminated but spaces not. The rest is incidental to this idea.

17 hours agosam_lowry_

An action could be made is not an argument it should be made. You could eliminate ' with " and escape sequences in some languages.

14 hours agopseudalopex

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.

a day agoIshKebab

[dead]

a day agosmohare

[flagged]

a day agodarkwater

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.

a day agobigibas123

I didn't even consider that, I just assumed we're talking about text editors.

But yeah I guess, that's another argument against getting accustomed to tabs for indentation.

17 hours agoINTPenis

Little irritates me more than logging into a new system, opening up code in vim, and witnessing the insanity of tabs-as-8-spaces

a day agosetr

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.

a day agodylan604

The solution is to exterminate tabs, not hope everybody's settings are the same. I only code in editors that auto-convert tabs to spaces.

a day agofoxglacier

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.

a day agofoxglacier

There's also the fact that no one seems to have tab stops set the same way.

a day agoOhMeadhbh

That's a feature, not a bug.

a day agoLeoPanthera

You want source code indentation to be random on different machines? I guess. That would make me crazy.

a day agoOhMeadhbh

Yes. That is the point.

I can have my tabs look the way I like them. You can have your tabs look the way you like them.

a day agodonatj

Until you open your code somewhere where you can’t configure the tab size, such as on SourceHut or other forges.

20 hours agoxigoi

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.

19 hours agoOhMeadhbh

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.

TL;DR: This is a feature, not a bug

a day agoSilamoth

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.

21 hours agoOhMeadhbh

Tabs represent a logical indent, not a physical one, you choose how the mapping to physical indent is.

> So when things don't line up

Why would things ever not line up? There is 1/2 tabs indentation and it shows up as 1,3,7,8,42/2,6,14,16,84 indentation however you like it.

11 hours ago1718627440

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`).

a day agodrabbiticus

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.

17 hours agolopis

CTRL+I?

a day agoamelius

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).

a day agosltkr

[dead]

a day agothomas_viaelo

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.

a day agoconnorboyle

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.

a day agobruce511

> Dos programs used Enter.

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?

a day agodark-star

>> But maybe you're talking about even older software?

Maybe.

a day agobruce511

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).

a day agomunk-a

I now imagine a world where CAPSLOCK is used as "select the next input" and TAB as the character.

a day agodeburo
[deleted]
a day ago

Arguably the capslock key is more useful than something like the insert or break keys.

a day agodaemin

You mean the Control key to the left of the 'A' key? That's already the control key.

a day agoOhMeadhbh

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.

a day agoasdfman123

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.

a day agohylaride

Maybe because it would compete with IBM mainframes / 3270 terminal emulators?

a day agorwmj

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.

a day agoxenadu02

Microsoft never removed it for MS-DOS. It just undocumented the calls required for this for years.

a day agospc476

Weird because on the mainframe 3270 the tab key was used to move between fields, at least that is my recollection.

a day agoSoftTalker

+1, always thought it was an IBM standard, move with TAB and commit the form with ENTER.

a day agoepx

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 day agobuggeryorkshire

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.

a day agokibwen

I wonder about the midrange systems. I never used AS/400's, but I know they have the concept of a a "Field Exit" key separate from <ENTER>.

a day agoEvanAnderson

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.

a day agoAbbeFaria

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!

a day agoOhMeadhbh

What a terrific idea! You totally should file a patent. Meanwhile, we'll have to use the next best thing: the mouse.

a day agoJoker_vD

I'm patenting the idea of adding game controller buttons to a mouse and I'm listing you as a co-inventor.

a day agoOhMeadhbh

I've been a Mac user for 30+ years, but I love Raymond Chen's historical posts.

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.

a day agoK7PJP

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!

21 hours agosowbug

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.

a day agojnpnj

Did you not catch the debate about Tahoe's glassmorphism?

a day agoesafak

Not really, I knew it was radically strange in its philosophy.

8 hours agojnpnj

The latest in a long line of articles where "Raymond Chen" is my first thought before even opening it, just based on the title

Great read

a day agojmkni

Same here... actually I think most HN submissions with an interesting title and coming from "microsoft.com" are his.

a day agoale42

What did IBM want? Arrow keys?

a day agobobomonkey

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.

https://en.wikipedia.org/wiki/IBM_PC_keyboard

a day agoTerr_

Enter/return commonly used elsewhere.

a day agokstrauser

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.

a day agoMrDOS

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.

a day agobsimpson

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.

a day agoJoker_vD

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.

a day agotracker1

Some applications annoyingly use the opposite convention: Shift+Enter is what commits the entered text, while plain Enter inserts a newline.

a day agoJoker_vD

Yeah, it's not always consistent... hell, google voice's sms in the web app will take shift+enter but fail and just submit half the time anyway.

a day agotracker1

What would be 'submit' then?

a day agocosmotic

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."

a day agoCamperBob2

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.

a day agodrivers99

To me that sounds like the way MacOS avoids Home/End with alternative solutions that kinda work but are not great

(And yes I do miss those - with an external keyboard these get less painful but still don't work 100% like on a PC)

a day agoraverbashing

CUA 87 (released in 1987) used the tab key to advance between fields unless there was a dedicated Next Field key. CUA 89 was likewise.

a day agotrollbridge

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.

A real shame about OS/2, though.

a day agoSwellJoe

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".

a day agotorben-friis

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.

a day agoOhMeadhbh

So who became Xerox? (i.e., brilliant ideas, thrown away at the corporate level)

a day agovincent-manis

They died of Fatal Neglect because no one gives a shit about brilliant ideas anymore.

a day agoxerox13ster
[deleted]
a day ago

So, what did IBM want to use instead?!?!

a day agodrob518

Also somewhat related to Microsoft and IBM:

"I may have invented it, but I think Bill made it famous." - David Bradley (IBM), creator of the Ctrl+Alt+Del shortcut key.

a day agoDwedit

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.

a day agojmclnx

This reads so much like a story in Gates' 'The Road Ahead' about IBM refusing graphical printing because some of their printers just couldn't, while at the same time this iteration makes no sense at all and is a bit weak on the details (e.g. not giving a rationale), that I wonder if someone linkedin^1 this. With respect to Raymond Chen.

[1] to linkedin: making up anecdotes in order to create engagement in a professional setting. Often in the form of 'Today I learned' or '15 things my toddler taught me about stockpile management'.

11 hours agoDocTomoe

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?

a day agojonathanstrange

> Why do they still have an extra large Caps Lock key in such a prominent position?

Because sometimes you still do want to insert text with all caps, for example as part of an ID. Also Caps Lock as opposed to Shift Look is quite useful when you want to insert caps and numbers quickly, again as part of IDs.

> What does ScrLk key on my keyboard do?

It switches between the cursor or scroll wheel or the mouse moving the cursor or the viewport/document. It's quite useful. Firefox e.g. implements this functionality under F7.

> Why is there an Ins key when practically every text edit field is in insert mode anyway?

To switch, because sometimes you do want replacement mode. Also it is useful for the Ctrl-/Shift-Ins, which is the original CUA key for what people now know as Ctrl-C/V. It is quite useful for when the latter means something else.

> How often do you actually use the Pause key and what does it do?

It used to still work for a while in Linux, but sadly they removed it. Also it is still useful for the CTRL-ALT SysRQ, Pause sequence to advise the OS, when nothing else works, or you don't want to shutdown properly. Also it feels quite powerful to tell the computer to be off, and it basically immediately being off.

10 hours ago1718627440

> yet nobody outside of elitist mechanical keyboard circles seems to be willing to fix them.

Mostly not to destroy people's muscle memory, I think.

People have gotten used to, and expect certain behaviour from OS+apps. Futz with that, and users become annoyed, frustrated, or ditch an otherwise fine piece of software.

In other words: history / inertia.

7 hours agoRetroTechie

Interesting to think how Microsoft is today's Ibm having adopted that beurocratic culture and deep hierarchical org.

a day agoguelo

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.

a day agowk_end

It's the size. You can't avoid it and you need a very clera vision, time, will and most important - trusted people to keep the org lean.

But yeah, I sometimes show that Sinofsky's blog entry as an example of difference.

a day agojustsomehnguy

If you have ever used Xero.com to fill out timesheets you’ll personally know that they adhere to IBM’s strict tab standards

a day agoalfiedotwtf

`

a day agoemaccumber

IBM CUA FTW LOL

a day agowatersb

[dead]

5 hours agokarthikeyjoshi

[flagged]

a day agotryauuum

This article seems to just be a dig at IBM without bringing any receipts or adding any substance. "A colleague told me that they said..."

Honestly, why should I even believe it?