
Journal tomhudson's Journal: The Toyota Way, keyboard shortcuts, and Bill Gates 15
I know - weird combination
Last week, I was asked to add a couple of users to one of the projects in svn. No problem - logged into the server, fired up vi, and added them.
This week, I watched as one of the more experienced users did an update
One of them wanted to update the repository on a dabian box, and was looking for the clicky tools to do it. I showed them that we just type "svn update". A lot less work.
Which brings us to keyboard shortcuts. I've noticed that almost nobody uses them. I'm talking about basic stuff, like cut-n-paste, or alt-tabbing to another window. Even ctrl-t to open another browser tab is "harder" than going to the start menu, selecting the browser icon, starting up another instance of Internet Explorer, selecting the previous browser from the task bar, highlighting their current url, selecting Edit|Copy from the main menu, then selecting the new browser from the task bar, selecting the url box, then selecting Edit|Paste from the main menu.
I've seen machines with dozens of copies of Internet Explorer sitting on the task bar. Or, when they use firefox, dozens of copies of Firefox sitting on the task bar.
Which brings us to Bill Gates.
His original plan was that EVERY mouse command have a keyboard equivalent, and it was a pretty good idea for the major commands. This wasn't some new insight from Gates, btw - it was common practice for all programs in what we now call the "Text User Interface" world. How many of us still remember clt-k-b, ctl-k-e, ctl-k-y? Those Wordstar shortcuts made it into everything from quickedit to borlands' IDEs.
But back to Gates and Windows. To encourage people to learn to use the keyboard shortcuts (or accelerators), each menu item would list its' equivalent keyboard shortcut, so people would learn them. This also wasn't a novel concept, but a good, obvious idea that he adopted as part of the design.
An amazing thing happened. Studies show that 98% of users become selectively blind when given a mouse. Like the banner ads on web sites, they don't even notice the keyboard shortcuts exist, even though they see them at least ten thousand times a year. (If you've ever worked on source code from such a user, you'll find tabs interspersed with lots and lots of spaces to "get things to line up" from code that was drag-n-dropped - and your tab settings better match theirs. Worse, you edit window and font size better be the same as well, because to help things "line up better" they keep on inserting spaces so that the next line wraps around. You can end up with dozens of lines of code that are 300 characters long, mostly spaces
Now for the connection with The Toyota Way. People confuse The Toyota Way with ways to increase productivity, missing one of the key points. The Toyota Way makes work easier for people. It's a mindset that says "not only is it okay to invest the time to figure out how to do things better, it's expected - and you'll find your work easier, your quality higher, your life better, and as a consequence those you interact with (from your co-workers all the way to the consumers of your product) will be happier.
But this requires people adopt a mindset where they're open to continuous improvement. Where they're not PERSONALLY satisfied if they haven't learned something new, or tried something different, every day. This isn't about business - it's about how you want to live your life, and most people seem to be stuck in the "I've learned one way to do things, and I'm not going to change unless I'm forced to, because that's how I've learned how to do things." Curiosity and initiative are dead, as is the ability to take on responsibility for change.
Life is about change. That which doesn't change, dies.
Sure, it impinges on work. For software developers, it means, among other things, not being satisfied with code that looks like someone asked "does it blend?" Of taking time to ask "are there better ways of doing this?" It might mean, for repetitive code, writing programs that write programs ("'cuz programs that write programs are the happiest programs in the world").
It also means working on your people skills. I've been in the habit of, when I need a break, making a pot of coffee and making the rounds of the office with it. I have a couple of bags of cookies tucked way in my desk (this week it's Oreos and Chunky Chocolate Chip - last week it was raisin pecan and oatmeal), and I offer them up first thing most mornings. I take the time to make small talk, ask about how their weekend went, or what they're doing next weekend. I think it helps make the work environment a bit better, which has the side benefit of making my own life better.
Because I really never was one of those people who is content to spend their whole life slowly mousing around the same old problems, the same old ways, blind to the possibilities
One of your betters. (Score:1)
I like when you have observations and insights.
Re: (Score:2)
Thanks. It's just that I keep noticing that, in this business, we keep focusing on the code, or the hardware, when the REAL problems, and the real solutions, are mostly elsewhere.
This last couple of weeks there have been so many problems with code that I think I'm going to make a sign that says something along these lines:
Just in the last few days ... today it was code that compiles clean under linux and BSD 7.1
Fun post (Score:2)
Thanks, I enjoyed this one.
Not that it's what you focused on, but I have a tale regarding keyboard shortcuts. An acquaintance (father of a friend) had developed some industry specific accounting software that was apparently run by "every" small business owner in his country. He wasn't really a professional developer, he was just a smart businessman who wrote it to fulfill a need. When he learned I was a professional developer, he sent me a copy and asked my opinion of it. The first thing I did was to
Re: (Score:2)
Scary, isn't it?
I concur with my fellow posters (Score:2)
I too really enjoyed it, and have been arguing for people to not be so afraid of their computers for quite some time. Had to spend 30 minutes on the phone with my mother last night convincing her that it was safe to rename her files. And she's the one that wanted them renamed.
Anyways, gratuitous post to plug my new sig, let's make it viral. I'm starting to read it myself.
Re: (Score:2)
Thanks :-) Of course, if her OS doesn't support the idea of a magic file (so that it can tell what type a file is by reading the first few bytes, instead of looking at its' extension), hopefully she won't give them weird extensions.
I remember, long ago in an alternate universe, one guy who claimed that he got his batch files to run faster by renaming them to .com files. He *swore* they ran faster ...
Re: (Score:2)
No, her OS is not that spiffy, however I did walk my dad through taking that off through "Tools" "Folder Options" and then some check boxen.
Now she doesn't have to see the extensions to deal with that anymore...
As for renaming .bat to .com for a speed boost, idk about that there, sounds a little fishy. But I probably know two or three guys like that, as it were.
Well said. (Score:2)
I do have a question about the CLI. Take your "svn update" example. How would someone new to the system know that?
Re: (Score:2)
I agree. Every reference should have some example usage, or a typical set of "use cases".
Otherwise, it's frequently more confusing than clarifying.
This applies especially to man 1, man 2 and man 3 (to see what I mean, type man man - "Ask da man" :-)
Re: (Score:2)
Various options:
I'm blind to the mouse. (Score:2)
Hell, I had a job once where I had to type so fast I didn't have time to move my hand over to the numeric keypad. I learned to use all of the numbers on the upper number row.
That just blows some people away that I don't do i
Re: (Score:2)
With the way that laptops are outselling desktops, and how most people don't buy the 17" or larger models, I can see a whole generation getting used to typing numbers the "hard way".
Of course, back in the "bad old days" of typewrites, everyone typed a lower-case "ell" instead of a numeric "one". I spent years typing on one of these [mrmartinweb.com].
At the risk of missing the point of your entry (Score:2)
Re: (Score:2)
My pleasure. Most key combos have a simple memory mnemonic - this one is "T for Tab", hence Ctl+T. Some of them, you have to be a bit creative, like "V" is like an insert point, so Ctl+V to paste (insert) at the cursor(though Shift+Insert still works almost everywhere, even in an xterm).