May it inflict the endless shaving of mangy flea-bitten ill-tempered foul-smelling yaks on certain software designers, as a punishment for the misappropriation of keystrokes. For example, on my Mac, in virtually every program, control-E means “Position the cursor at the end of the line.” But in JIRA, it means “Silently and without any warning and without an undo function, discard everything I've entered into the current bug report.”


Comment feed for ongoing:Comments feed

From: walter (May 25 2009, at 22:52)

a thousand cuts with razor blades would be too good for such heathens!


From: Jilles van Gurp (May 25 2009, at 23:00)

In all fairness, just about any other platform than a mac uses the end key for the feature you associate with ctrl+e.

I know, because I spent hours of my time adapting my mac to more or less hardwired behavior on my side. I would say macs are highly inconsistent when it comes to key bindings several important applications I use (eclipse, ms word, firefox, open office) do not respect centrally defined key bindings and instead provide their own loosely based on the mac defaults. Thankfully, all of them can be adjusted (although you have to go through quite a bit of trouble to restore sane behavior of home and end keys).

From my point of view the entire point of mac key bindings is that they are different, not better. Arguably with an extra key modifier (command) and somewhat ambiguous, application dependent behavior of keys, it's arguably worse. You can't blame web applications for choosing keybindings with the largest set of users (ctrl+e would be perfectly OK binding for most windows users). Interestingly, this raises the issue of platform dependent keybindings in web applications. Most web sites that have key bindings are basically inventing their own schemes. Shouldn't browsers just expose platform key-bindings via the DOM?


From: Jed Wesley-Smith (May 25 2009, at 23:12)


This is most confusing. The only ctrl-e mapping we have is a shortcut to the Edit Issue link on the View Issue page.

What version of JIRA installed where? Maybe a plugin is contributing this key mapping?




From: Jed Wesley-Smith (May 25 2009, at 23:27)

I worked out where this happens. If you have the comment box visible on the View Issue screen and press ctrl-e then Edit Issue is immediately invoked and you lose your comment.

We actually do have a dirty-form detector feature that will prevent this but unfortunately it is not released yet. The issue is here:

The problem here is the overloading of modes. Ctrl-E meaning "Edit the currently selected noun" is a fairly common mapping. Ctrl-E meaning "move to the end of the line in the current editor" is a very common mapping in an editor context. Unfortunately we don't adequately switch the context for the comment box. Is does however, switch off when in the Edit Issue page.




From: Chris Campbell (May 25 2009, at 23:32)

My emacs-educated fingers are also programmed to use ctrl-e heavily, and I too have run into this bug just about every time I've added a comment to a JIRA issue over the last year or so. I eventually figured out that if you hit the "Back" button and click the "Comment" link again, your text will magically reappear unharmed in the edit box. Perhaps the wrath of heaven should be partially redirected to users like me who never took the time to file a bug report and instead chose to live with a lame workaround.


From: Tom Haggie (May 25 2009, at 23:35)

My worst one on that front was one of my experiences with Windbg, Microsoft got a bunch of unix engineers to give them a better debugger, unfortunately they wired up Ctrl+C to exit (without asking) rather than copy so after managing to reproduce a deadlock in the code after getting hundreds of my colleagues to use the software it promptly lost everything when I tried to copy one of the stack traces.

To me Apple E means "E"nter into the search box.


From: Nick Radcliffe (May 25 2009, at 23:50)

Even 20 years ago I had the same problem: different key bindings in different applications, but ctrl-E was universal, and in particular, common to (Gnu) Emacs, Gosling Emacs, MicroEMACS, Eve and the various shells I used. (I admit this is a limited view of universal...)

At that time, I started to work on parallel processing with transputers, and had the misfortune to have to use occam, and to edit it with the TDS---transputer development system---and its horrid folding editor whose only saving grace was that ctrl-E did the right thing. Unfortunately, to get to this, I usually had to log in through a series of machines, using something called the PAD (probably "packet assember/disassembler"). And devastatingly, the pad used ctrl-E as its "break-in" character, i.e. to return control to the PAD.

So my regular cycle became:

Spot a problem at the end of the line;

Reflexively type ctrl-E to correct;

End up in PAD, messing up screen;

Swear at volume N;

Type "RESUME" to return to TDS;

Hit FUNC-FUNC to refresh the screen;

This took just long enough that by the time I was back in the TDS my goldfish memory was wiped, I'd re-spot the problem and reflexively type ctrl-E. N increased each time through the cycle.

Plus ca change . . .


From: knowtheory (May 26 2009, at 00:52)

@Jilles van Gurp:

Any system i have used bash on have used ctrl+e for move cursor to end of line, and ctrl+a for move cursor to beginning of line.

I will additionally note that all of my macs have an "end" key, just some of them hide it under fn + right arrow. This is also a condition that non-mac laptops possess as well.


From: JulesLt (May 26 2009, at 01:04)

Jilles - CTRL-E as Cocoa-based apps that use the standard text class inherit (some) emacs style key-bindings. It's not something particularly Mac specific, but I guess it is something more common in Unix-world generally.

The Command (no longer Apple) key modifier has a sensible history to me - when they defined the original Apple OS they had the luxury of also defining the hardware, so were able to avoid over-loading a key (CTRL) which already had a lot of meaning.

Equally, they created the modifier key so that it was physically close to Z,X,C,V - the most common short-cut key. My thumb rests easy on it, while CTRL is always a stretch. Largely because Command and Alt are there.

MS, on the other hand, had to choose a solution that worked with systems already out there, and equally DOS programs already had their own keyboard short-cut conventions, which had to be respected by applications.

The irony, for me, is that many PC keyboards then adapted the Mac layout. It's another great case of copying a design without understanding the meaning - for Windows it makes far more sense to have the CTRL key where the Command/Windows key is located.

But of course, now no one would change to a keyboard laid out that way, just like the fact we are all used to the QWERTY layout.


From: Sander (May 26 2009, at 02:24)

If you use Firefox (or most other gecko based browsers), you can change which modifier key triggers accesskeys using the ui.key.contentAccess preference in about:config and thus make sure that this is no longer "ctrl" - See for example for documentation on the values this preference can take.


From: drew (May 26 2009, at 06:09)

Firefox uses ctrl to implement web shortcut keys on the Mac. Safari 4 uses ctrl-opt so as to not conflict with Unix style text cediting ommands. On Win it's alt-shift.


From: Spencer Rose (May 26 2009, at 09:50)

AAAAAAAAAAAHHHHHHHHH! From windows to mac, from mac to linux, and we aren't even discussing the pains of browsers and development across platforms. When the world ends, and all are judged (by which ever God you think will judge), I pray that he or she will completely obliterate all those who could not learn to enhance the user experience, but instead competed on a destructive and painful level. May they feel the anguish of of battery acid being slowly poured into their open and seething wounds while the rest of us ask, would a different version of acid suit you better? Seems you like to give us different versions of pain!


From: Paul W. Homer (May 26 2009, at 10:35)

Isn't the freedom for programmers to randomly, yet creatively experiment around with alternative interface mechanisms, great :-)

Were would the world be with too much boring old consistency ...


From: Nilesh Kapadia (May 27 2009, at 06:08)

I've ran into these types of issues in other web apps, and its annoying (especially when it causes you to lose your work).

I've found that Butler's ability to map keystrokes to other key sequences (specific to the application you are running) to be extremely useful.

For this specific example, using Butler you can map CTRL-E to Command-Right Arrow for your browser to avoid this issue.

Maybe as a general solution to web apps reacting to your key strokes, you could map all the CTRL actions to equivalent actions that aren't typically used by web apps (CTRL-A to Command-Left Arrow, CTRL-D to delete, etc).

I personally use Butler to bring Emacs-style keyboard shortcuts to various apps. And there are some apps which have Emacs key-bindings that only work part of the time (like Eclipse) that I just bind the Emacs shortcuts to key strokes that work everywhere.


From: stand (May 27 2009, at 09:47)

These sorts of things frustrate me from time to time also, but I'm not sure what the practical solution is. We have to require that independent developers know all the keystroke combinations for all the other "major" applications/operating systems out there? Seems like a tall order and there's bound to be problems.

OSX makes it a bit easier with their published standards but in Windows and Linux land, all bets are pretty much off in this department.

The best we can do, it seems, is point out the egregious cases publically, which I suppose is what Tim has done here.


From: sandra (May 27 2009, at 19:42)

I hate when that happens!!


From: Jed Wesley-Smith (May 28 2009, at 18:25)

Yup, we'll take a mea-culpa here. At the minimum, we _should_ (and do in the next version) detect that the form is dirty and warn the user if navigating away from the page.


From: Matt Doar (Jun 05 2009, at 11:48)

Typing anything more than a few lines in a web box is asking for trouble. We treat our browsers like editors and they're really not! I use the It's All Text plugin for Firefox to open an external editor for anything involving thought, such as a bug comment.


author · Dad · software · colophon · rights
picture of the day
May 25, 2009
· The World (126 fragments)
· · Wrath of Heaven (9 more)

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.