[This project is available on GitHub.]
Do you think you need a Window’s app for your next project? Here’s a thought: No you don’t.
Let me give you one less reason choose the rocky-road of desktop apps today. You’ll hear people tell you that if you build applications for business users (so-called LOB apps) that are input heavy or have complex navigation, your only choice is to build a Windows application.
Why? Because your power users will want hot-keys. They don’t want to use the mouse and navigation and all that stuff that makes the web less usable. They’ll just want to hit a few keystrokes and jump from place to place and do that quick look-up or data entry.
If you haven’t looked carefully around the web lately, here’s a revelation:
Real web apps have hot-keys too.
Just look at Twitter, GMail, GitHub, Hotmail, and many more. They all have rich hot-key support (although with GMail you’ll have to turn it on). Scott Hanselman has a great article on this: Are you using the Web’s Keyboard Shortcuts and Hotkeys?
So if Scott’s is so good, why write this one? His post is meant to open your eyes to how web apps can be. I want to show you, Mr. / Ms. Software Person, how easy it is to get there. You might be thinking to yourself, “Sure Google & Twitter can do this because they have millions of dollars and a bunch of developers. My project has 2 people and a 1 month deadline.”
It turns out, adding hot-keys to a web app is crazy easy. Especially with the jQuery plugin jQuery.hotKeyMap.js which I recently wrote. Here’s the blog post I did on it. You should check out the sample application I built to see it in action.
So give hot-keys in your web apps a try. Feel free to use my jQuery plugin and sample application as a starting point. Once you get over the hurtle of teaching your users to use them, you’ll hear a whole lot less clamoring for desktop apps. All the pain from weird errors on certain versions of Windows, installers, patches, admin rights, .NET Framework versions and other unpleasantries that you’ve gotten used to, because you had to, will be distant memories.