What, exactly set of features divide a "text editor" from an IDE is a bit of a blurry line. Developers are not the sort to use static, unchangeable tools. They want configuration, they want plugins, they want quick access to a terminal, they want debugging support, and they'll bolt those features into just about anything.

There's a fine line between an IDE that provides nice utility to the developer, and an IDE which is opinionated. I had the misfortune long ago to use the WebSphere IDE, which was essentially a repackaged version of early Eclipse bundled with highly opinionated plugins about how you were supposed to build a Java application. As Matt puts it: "An IDE is, to some, a high-functionality tool for developing applications, and to others a classic example of an Inner Platform."

Matt is saddled with a vendor-specific IDE which falls solidly on the Inner Platform side of things. Like many developers, Matt has a laptop which he can lug to meetings, and a docking station with a large external monitor he can use for actual work.

There's just one problem. Any time this vendor-specific IDE wants to pop up a dialog box, the dialog box always appears on the primary monitor. Now, Matt leaves his laptop screen set as the primary monitor, but he's doing his actual work on the large monitor, so this is a nuisance, to be certain. Ideally, dialogs should appear on whatever monitor the active window which triggered the event is on.

This is a minor bug. Almost trivial. But it is a bug, and enough of a nuisance to Matt that he entered a bug ticket. He fired it off, and largely forgot about it over the next two weeks, until he got a reply.

Closed: Cannot Reproduce

That raised Matt's eyebrow. He took a quick survey around the office, and sure enough, he could reproduce this bug 100% of the time on any docked laptop. He re-opened the bug and started fighting with the escalation pathway.

After a few more rounds of:

Closed: Cannot Reproduce

complete with Matt sending screenshots, screen recordings, and every log and configuration file stored by the IDE on his machine, the vendor finally scheduled a screen sharing session with a QA tester.

The QA tester shared their screen, and asked Matt to walk through the steps to reproduce.

"Okay, so, you'll need to move the IDE window over to your secondary screen," Matt said.

"I don't understand what you mean," the tester replied. "What is a 'secondary screen'?"

"It's a second monitor? Are you on a laptop or desktop? It'd be a second screen plugged into the device."

"I am on a laptop."

"With, like, a docking station?"

"I have no idea what a 'docking station' is. My laptop has a monitor. There is no second monitor," the tester said. Their voice had started to drift away from "neutral tech support voice" and into "I think I'm talking to a madman" territory.

"Right, but you can plug a second monitor into the laptop," Matt said.

"I have never heard of such a thing."

"So you never test the IDE in a multimonitor setup?"

"What is a 'multimonitor setup'?"

"It's when you plug in a second- or sometimes even a THIRD monitor into your computer?"

"We know nothing about these setups. Everyone here has a laptop which also already has a monitor. I am sorry, but your issue cannot be reproduced, so I am going to close it as 'Cannot Reproduce: won't fix.' Is there anything else I can help you with today?"

[Advertisement] ProGet can centralize your organization's software applications and components to provide uniform access to developers and servers. Check it out!