Welcome to keyboard shortcuts hell
I just updated the beta to beta 2.2 tonight. In my humble opinion, the new version adds many positive things to the overall user experience, notably by giving the user a much better feedback when using the Create & Connect tool or when exporting images of their diagrams.
So, besides the usual bug fixes, the focus of this new version was really on trying to add/improve/tweak little things that, based on the first testers feedback, would make LC even more lovely ![]()
Amongst these things, on my todo list for a better UX, was “work on the goddamn keyboard shortcuts”… And I must admit that, even if I decided to release this version because after all I’m very happy with the UX improvements mentionned above, I also feel immensely frustrated by the keyboard shortcuts bit…
For those that don’t know, Lovely Charts is a Flex application, running as a SWF file inside a little software called the Adobe Flash Player, which is installed on top of your web browser as a plugin or activeX control. The Flash player is a fantastic piece of software, combining a super small footprint (explaining in great deal its almost-ubiquity) with some truly amazing capabilities. It’s a beautiful technology. But the combination of the player’s small footprint and the fact that it’s embedded and running inside web browsers also brings many limitations along.
And one of these limitations is keyboard handling. The Flash Player provides ways to handle keystrokes, and the new ActionScript 3 programming language even improves that, making it much easier and flexible to trap key combinations, but since we’re embedded inside a web browser, the browser will always eventually capture some specific keystrokes combinations, preventing these to be propagated to embedded apps.
This is generally not an issue, and in all honesty it’s even a good thing, as you probably don’t want the typical flash animation to interfere with things like Ctrl (or Command-)-N or prevent you from hitting Ctrl-W and closing the window.
But when you are using a rather advanced RIA, that almost feels like a “real desktop app” and no longer like a “web app”, you expect to find your typical Ctrl-Z, Ctrl-C, Ctrl-V, and rightfully so!
Now, I have no idea how Adobe plans to handle this issue in the future, because security concerns are real, and perfectly valid, but it’s also true that if the Flash Platform wants to affirm itself as THE reference for RIA deployment, I think it’s definitely an issue that needs to be adressed.
For now, as far as I am concerned, I am very aware that LC’s keyboard shortcuts handling is very very very far from perfect, and I will be working hard on this issue in the upcoming weeks, probably starting by reading carefully what others are saying about this, and how and to what extent I can apply the solutions they surface.
I find this very far from fun :), but I also believe it’s hugely important to the quality of a consumer’s app.

28 January 2008 |
I agree with you! Today I’ve found a sad limitation: In the full-screen mode you cannot type anything in the application…
But I think you may expand your limits by developing it in AIR too. So if someone needs more power, can use the AIR edition.
Hope receiving my login soon!
Thanks.
29 January 2008 |
FogBugz has a very nice implementation of keyboard shortcuts for a web application. It’s HTML, but the concept can still be applied in Flex.
http://fogcreek.com/FogBugz/docs/60/topics/basics/KeyboardShortcuts.html?isl=14546
HTH,
Sam
30 January 2008 |
Jerome,
You should talk with the Buzzword guys about it. They sit across from me and they’re more than willing to share the love on all the things they’ve done with keyboard shortcuts. I don’t know all the technical details, but basically, they’re catching all the keystrokes with JavaScript and then passing them down to the flash player, or something like that. You should talk with them.
8 February 2008 |
Hi guys,
thanks a lot for the suggestions, I’ll have a look at fogbugz and Peter, I’ll get in touch with the buzz guys as well. Will be working on this next week, hoping I’ll be able to show some progress very soon!
Best,
J.