It’s All About Muscle Memory

This year I will properly launch PDQMac.com. I will be selling (and giving away to some degree) training intended to make people more productive on the Mac.

I patched some posting through from HaveMacWillBlog and I’ll be rewriting every one of them both to upgrade them and to deliver them in a style that allows me to quickly turn them into practical tutorials.

If there’s a key underlying point to what this is all about, it is this:

Interface productivity is all about muscle memory.

I’d better explain what that means before I go any further. Let’s start with the fact that nearly all of us have learned how to drive a car and have a memory of that learning process. There are quite a few physical things that have to be learned in order to drive a car that you simply did not know before you started to drive; including managing the accelerator, brake, steering, winkers, and stick-shift (if you learned on a stick-shift car.) You were, no doubt, told how all of these controls worked, but you couldn’t drive properly just because you knew how to with your thinking brain. You had to keep practicing until your body learned how to use these controls. And nowadays, years after, you never think about most of the controls or how you use them because they are perfectly stored in your “muscle memory.”

Muscle memory is the automation of behavior and most of what we do, including for example, how we pronounce words, involves muscle memory. As regards computer interfaces, the simple truth is that the PC interface has not been designed with muscle memory in mind. In fact, at times it seems to be designed almost to defeat muscle memory. So let’s forget that abysmal interface for the moment and talk about interfaces that are built with muscle memory in mind.

  1. Guns and Fighter Planes. You may have noticed that an AK47 has no drop-down menus. Does that surprise you? The popularity of the AK47 (I’m no gun expert by the way) is generally that it’s dependable, easy to maintain and the interface is true point and shoot. Although fighter planes are far more complex than guns, the design of fighter planes follows the same principle. You really don’t want the pilot who is caught in a dogfight to be wandering whether the “Shoot Cannons” command is on the Format Menu or the Tools Menu.
  2. Cars. Once Ford got the driving interface buttoned down on the Model T, all cars that came after adopted very similar interfaces, to the point where now, when you change cars, your learning curve is minimal – usually a few minutes. A software writer I know, whom I’ve discussed this topic with at length, tells me that it took a few attempts to get the Model T right, with the first model T using controls that were based on farm machinery. Notice how much more of a learning curve can be involved when a major revision of Windows or MS Office occurs. Sometimes users even have to be retrained.
  3. Games Machines. Luckily we have games machines to prove indisputably that computer interfaces can be very productive. And notice how successful both the iPhone and the Wii have been, partly I suspect because they’ve added interface features that are very effective in terms of muscle memory.

This gets me to the point where I think I can define what a “muscle memory interface” is:

It is one that is built so that controlling the device or environment can be done with minimal need to engage the thinking part of the brain.

The very fact of the keyboard and mouse, and the need to switch between them makes it very difficult to establish muscle memory in some usage contexts and in other contexts, the tendency is for the user to remember really slow ways to do things. Yes, actions get committed to muscle-memory, but the outcome is not productive.

The fundamental problem is this:

Normally, we begin to discover a new application with the mouse. The simple fact is that most people find it easier to do it that way. I find it easier to do it that way, so the first thing we’re going to have to do is to learn that we need to learn an application in two steps:

  • Step 1: Learn what it can do (in any way you please).
  • Step 2: Learn how to do each activity it offers quickly.

Here’s the point. You’ve finished learning how to use an application when you’ve finished learning ho wto use it quickly.

QuickSilver Performance Issues On The Mac

If you use QuickSilver on the Mac, as an-application-launcher-and-more, you may discover that you are having performance problems. This seems to have been happening recently and occurs with the current release. Naturally, it all  depends on whether you ever look to see what resources are being used by your apps, but you will probably do that if you suffer from the QuickSilver issue I’m about to describe:

Primary Symptom: The Mac seems to be running slow. You may especially notice that some activities like downloads or moving between Spaces are slowed. Also some browser activities (FireFox or Safari) may cause the “spinning wheel” to appear.

Secondary Symptom: You run the Mac’s Activity Monitor and discover that QuickSilver is running at or above 90% of cpu. Note that no application should be that much of a hog, except in short bursts, but in this case QuickSilver is running at that level all the time.

Application Hoggery – A Note

In application terms, there are only a few resource hogs. Both Aperture and Photoshop can hog resources – but that’s normally because they’re busy doing useful stuff. Back-up utilities (like Time Machine) can hog the network (if they use the network) because they’re sending data to disk. Browsers do hog resources and can chalk up high cpu usage, and so, of course can Skype, especially when you use video. Virtual machines like Parallels chew up resources, but you should expect that. Apart from that the indexing routine that serves the Mac’s Spotlight Search capability is a nasty little resource hog – so much so that I disable it. (I never use SpotLight anyway.)

The QuickSilver Problem Described

When QuickSilver starts to tie up a cpu it is almost certainly because it indexing frantically and that’s causing it to “thrash”. Under normal running QuickSilver only uses a few percent of cpu. Here are four possible remedies, depending on the cause:

  1. Cause: QuickSilver’s indexing files have got their “panties in a bunch” in some way. Quicksilver has become confused.
    Action: Quit Quicksilver. Go to ~/Library/Caches/Quicksilver/Indexes and move all the files out of there. (QuickSilver will recreate them.) Restart QuickSilver. If this doesn’t solve the problem try 2. below.
  2. Cause: QuickSilver is frantically trying to manage its ClipBoard History. If you have set the number of clipboard items to remember above 25 items, this may be the cause – although it would need to be a high number to cause thrashing. Also check to see if you have the Shelf module as this can contribute to the problem.
    Action:
    Set ClipBoard History to 25 items. Switch Shelf module off. Quit Quicksilver and then relaunch. If this doesn’t solve the problem try 3. below.
  3. Cause: QuickSilver is obsessively indexing its Catalog. This is most likely caused by Custom sources that you yourself have added.
    Action:
    Open the Catalog page in QuickSilver, and click on Custom. Go through the Sources you have added, one by one. For eacj click on i at bottom right corner of window and a draw showing source options will slide out. Click Source Options (bottom of the drawer) and it will shwo the depth of search. If you’ve set the search depth to infinity that’s almost certainly the cause of the problem. Set the value to no greater than the depth of the folder you want scanned (probably 3 at the most). Quit Quicksilver and then relaunch. If this doesn’t solve the problem try 3. below.
  4. Cause: QuickSilver is indexing its Catalog insanely, but you never provoked it. This is most likely caused by a recent plug-in you added.
    Action:
    Open the Plugins page in QuickSilver. Start removing plug-ins you’ve added recently. (Best to take a snapshot of the ones you’ve got enabled first). You have to find the culprit, so the best way is probably to remove ones you know you added recently and while you’re at it, you may take the opportunity to remove ones you don’t use (if there are any). Quit Quicksilver and then relaunch. If this doesn’t cure the problem keep removing plugins.
    If you can’t make headway this way, then it may be a combination of a plugin and cause 1. above. In which case the only way out I can think of is to kill QuickSilver completely and reinstall. It performs fine on every installation I’ve done, so it should be clean on reinstall. After that add plug-ins one by one. Sorry but that’s the only way I know that can pin the problem down.

Incidentally QuickSilver is now Open Source and no longer controlled by its initial author. Problems caused by plugins are best directed to the plug-in authors, who will be best positioned to find out if the offending bug is in QuickSilver or the plugin.

Note: This posting also appears on the PDQ Mac web site, which is not officially launched yet. When it is launched, I’ll let you know.

Productivity and Context Switching

The way that computer scheduling works is that you have several tasks running at a time, in a queue for the processor. In multicore and multiple processor situations, you can think of it as being the same but with  multiple queues each with several tasks. So what happens is that the first task gets the attention of a cpu and its data is loaded into cpu cache and the cpu starts executing the instructions at lightning speed until one of three possible things happen:

  1. The cpu gets interrupted to do something urgent.
  2. The task interrupts itself by sending a call to a peripheral e.g. a request to read data from a disk.
  3. The task runs out of its allotted time.

The first of these situation is a regular event, because the cpu is responsible for the operating system and if something needs doing to manage the computer then that takes priority over any application. The second situation is also a regular event. Most programs do not spend much time on the processor before they need to call for something. There are programs that do. For example, you can calculate pi to 50,000 decimal places and that’s a cpu-only task. The third situation is how a task like calculating pi to 50,000 decimal places gets evicted from the cpu. It uses up its time.

When a task gets evicted from the cpu it’s called a “context switch”. The data held in cpu cache is unloaded and the program is saved in its current state so that when it gets back into action the cpu can continue from where it left off. New data is then loaded for another process and the program code for that process is loaded and the cpu begins to run it.

Now if you’re a chip expert, you’re probably thinking that the whole context change process in a modern chip is more complicated than that, and indeed it is, but that’s not what I’m interested in here. I’m interested in the fact that context switching is expensive in terms of computer time. When a context switch occurs the cpu doesn’t just point itself at another string of instructions and start to plough through them, it unloads one instruction stream and its associated data and loads up another one before it gets on with the work it is supposed to be doing. For that reason, operating system scheduling algorithms are based on trying to minimize context switching while still balancing the work done between various competing programs.

The Human Context Switch

As far as context switching is concerned there’s a direct parallel between the human being and the computer. People also becomes less productive if there is too much context switching. Context switches occur for three reasons:

  1. You get interrupted to do something urgent – like answer the telephone.
  2. The task you are engaged in has to be set aside while you wait on someone else to do something – or possibly you are forced to change roles. For example, you need to “stop for gas.”
  3. You run out of the allotted time – you have to “go to a meeting” or whatever.

If you focus in on how you use a computer, you seem the same thing going on you flit from one application to another often leaving things incomplete because of interruptions.

The Antidote to Your Context Switching

There are two things that can be done to improve the situation, whether we are thinking in terms of how you do your job or how you use a computer:

  • Minimize interruptions
  • Organize and schedule your activities

I’ll have more to say about both these things in follow-on postings.

Chopsticks & The Mouse

Under the right circumstances, usually involving very effective marketing, a genuinely poor technology can reign supreme, vanquishing superior technologies or preventing them from developing.

The fact that over a billion people eat their food with chopsticks proves this principle beyond any argument. In China the Johnny-come-lately technology of knife and fork just never stood a chance. And once a technology gets as dominant as chopsticks, nobody even questions whether it’s a good idea.

Chinese cuisine is what it is, because of those goofy chopsticks. It offers a wide variety of dishes, usually eaten with rice or noodles, with the meat or vegetables in every dish cut up into small chopstick-manageable pieces. Each dish will likely have a sauce which handily sticks grains of rice together, so that they too are chopstick-manageable. And, imho, Chinese cuisine is amongst the tastiest cuisines in the world.

You see, the dominance of a lousy technology may appear to have positive consequences. Chinese cuisine would not be what it is, were it not for chopsticks. It would be something else.

Despite this positive outcome, we cannot logically conclude: “therefore chopsticks are a good thing”. They are not, they’re ridiculous.

What has this got to do with Productivity?

Just one point, things are not what they seem. What looks like a clever idea can have many drawbacks.  I’m not about to have a long rant against the mouse, but it is worth noting that nobody ever gets taught to use a mouse. Let me explain:

There are three modes of working with a desktop computer:

  1. Two hands at the keyboard – highly productive for most applications.
  2. One hand on the keyboard and one on the mouse – less productive for most applications but most productive for graphical applications. (Note that if you’re left handed this is a different and probably more inconvenient experience – keyboards are build for the right-handed.)
  3. One hand on the mouse – usually least productive.

When should you be using which approach? The answer to this depends on the context, but to some extent also on the mouse you have.

The original Apple mouse hand but one button. Steve Jobs kept to this for years and it was, no doubt about it, dumb. Steve Jobs is a genius in many ways, but he got snakes in his head when it came to the mouse.

Here’s one of the main things that is wrong with the mouse:

It’s easier to explore a new piece of software using the mouse than it is using the keyboard.

We actually tend to do that in mode 3 (as described above.) We lean back and mouse around. The consequence is that the first way we learn to do most things in a new application is via the least productive mode of using the computer.

That wouldn’t be so bad if we got into the habit of learning the mode 1 way of using the application later on, but most of us don’t.

Sound and Fury

If your familiar with my writings from HaveMaveWilBlog, then you’ll know that currently that site isn’t so much a blog as a series of essays on various topics. Blogs are supposed to be, according to popular understanding, regular comments on a topic. Well that’s what I intend this to be – regular comments on Mac productivity.

I will also be posting new detailed essays on various aspects of productivity as time passes. So they will turn up in the RSS Feed, for those who subscribe to feeds. (I don’t because I find they create a signal/noise problem). Right now I’m still in construction mode, so I guess I’ll keep on doing things that need doing. It took me months to get HaveMacWillBlog.com on the road, and so far ir’s only taken one week to get this site operational. That’s because I now know what to do and what not to do on WordPress.

And to that point, I’ve decided to include information about WordPress and software development in general on this site, mostly because I have nowhere else to put it. As any software development I do will be on a Mac, I don’t think it’s a defocus.

My current task is to get a few pages of productivity tips posted. I’ll let you know when I’ve got that and an RSS Feed working. Also I don’t have a home page yet. I should have one and I will have one, hopefully that won’t take too long to achieve.

[SinglePic not found]

Now That You’re A Mac User

[SinglePic not found]If you scan the web you’ll find quite a few web pages that give you a list of Mac software that is just plain useful. Some lists show free stuff only – there are many good free software products for the Mac. Some give you a mix of paid and free. All such pages are incredibly useful to the Mac newcomer, because they help you get started..

Here’s mine. It’s different from the others in one respect, at least. It lists all the software products that I actually use.

This makes the list a little skewed because, for example, it doesn’t include much software for manipulating sound and video, because I don’t do that. However it has the virtue I’ve used every product listed for at least 6 months and I find each product mentioned to be worth owning, whether it cost something or nothing:

Generally Useful Software

This is where I put everything that doesn’t classify easily.

[SinglePic not found] FireFox: I tried using Safari for a while and not using FireFox. In the end I just gave in. FireFox is better, for me at least. If you do web development you need Firefox for its developer plug-ins anyway. I tried IE but it was hopeless. Of course I use them all and Opera for testing the web pages.

[SinglePic not found] Quicksilver: This is a launcher but it does a great deal more if you really want to plumb the depths of the program. If you do nothing more than install it to launch programs then it’ll be worth the effort of downloading it. It makes you more productive and it’s free (it would be worth paying for).

[SinglePic not found] 1Password: This is damned useful. It allows you to have different persona and it maintains and remembers passwords for each. It also keeps your financial info for filling in orders on web sites. It encrypts everything. You end up not having to remember passwords any more.

[SinglePic not found] KeyCue: Either you use keyboard shortcuts or you do not. I use them a lot so KeyCue is for me. This utility throws up a menu of all shortcuts in the current application when you hold down the command key for a second. If you don’t use shortcuts, forget it.

Click to continue reading “Now That You’re A Mac User”

The Persistence of Memory

This is a continuation of the previous posting, dealing with the issue of memory – where I introduced the QCEP map of memory association (an idea, by the way, that owes something to meditation techniques). There are two reasons I introduced QCEP. I’m going to use this idea in a method for storing data and I need the reader to understand how to reliably create and retain memory.

Specifically I’m interested in teaching people how to memorize shortcuts. Productivity depends on shortcuts – fast ways of doing things and if you cannot remember these they are no use to you. Actually they are are worse than useless – because you’ll decide to do something and you’ll remember that there’s a short cut and if you can’t remember what it is it’ll stop you in your tracks as you decide between finding out what it is and doing it the slow way. This is what I want us to avoid.

There are two important things you need to know if you want to fix a memory in place:

  1. The facts about the persistence of memory.
  2. A simple method for understanding how to construct associations.

The Persistence of Memory

There’s no point in me rewriting in great depth information that has been articulated very well elsewhere, so let me point you at supermemo.com. There is an extensive amount of useful information about memory on that site – although I’m not recommending the software it sells (I’ve never used it). What is important for you to know in respect of learning to be productive is:

  1. It is better to understand something before you try to memorize it. (In QCEP, the Class and Part and Quality associations are ways of becoming familiar with and understanding something – the Event associations can then become about our personal context).
  2. Memories don’t persist unless you reinforce them, but there is a rhythm to this. Supermemo maintains that the best time to reinforce an initial attempt to memorize something is between 3 and 7 days after the first attempt. After 7 days the memory starts to degrade. But the point I want to emphasize here is that if you learn a shortcut and then don’t use it for two weeks, you can easily lose what you learned. So initially, there is no point at all in learning shortcuts for anything but your most common activities.

Click to continue reading “The Persistence of Memory”

The Art of Memory

In the last posting I pointed out that the brain is a muscle. Well memory is part of the equation. I know this is going to sound a bit stupid, but it’s really important:

If you want to be productive, you are going to have to remember how to be productive.

Remembering things is something that most people are not good at. That’s why 3M made a fortune out of Post-it Notes. That, if nothing else, proves the point: most people don’t actually know how to remember things. Most of us never got taught how to remember things, so we’re pretty much useless at it. At school, I remember having having to learn a Latin prayer when I was 10 years old.

Here it is:    Quid retribuam Domino pro omnibus quae retribuit mihi, calicem salutarus accipiam et nomen Domini invocabo.

We had to repeat this once every week in the morning school service. I believe it comes from the Lyons Rite and I have no idea why it was thrust upon me and others. I know what it means (What shall I render unto the Lord for all his benefits towards me, I shall take the cup of salvation and call upon the name of the Lord) because we also had to chant that. Why did we have to chant it in both English and Latin? I have no idea. In the first weeks of going to that school we were tasked with learning this by rote. Everyone had to do it and no-one had any problems with it.

It is possible to learn anything by rote, if you repeat it often enough. Rote is the sledgehammer memory technique. It’s the memory technique of last resort. I advise you to have as little to do with it as possible, otherwise you might, for example, end up knowing a Latin prayer and also knowing it’s English translation, without knowing for sure which Latin words correspond to the English ones.

Some Jews make it their goal to memorize the whole of the Torah, and some Muslims take on the task of memorizing the whole of the Koran. Such efforts take several years. You may think of such effort as  meaningless activities, but I can tell you for nothing you wont be able to do that using rote memory.

It’s true, as I wrote in the last posting, that the brain is a muscle and if you start learning by rote and do some rote learning every day, you’ll get better at it. But like a I said, rote is a poor technique. You need better techniques. You need to learn and use other ways to memorize things.

So let me give you the first thing you need to know about memory:

Memory is completely associative.

Click to continue reading “The Art of Memory”

The Mac Desktop

This is one posting in a series of blog postings, under the common heading of Apple Mac Productivity, that are aimed at helping people be more productive and effective in their use of the Mac. Anyone who can add useful feedback to any of these postings is invited to do so.

As regards PC users, the ideas recorded here may be useful too. Sometimes PC users will react with a “so what” when you explain how you can do stuff on the Mac. They are probably right to do so, in the sense that many things that make the Mac a productive environment can be done on the PC too. In those instances what usually makes the Mac different is that it’s a lot less trouble to do and it is likely there’s nothing going to stop it working. Most of the stuff I do for productivity on the Mac I tried to do on the PC but eventually gave up because it was never practical.

The Desktop

We’ve been used to calling the “naked PC screen” a desktop for well over a decade, which is strange because we never use it as a desktop. Imho, we should and on the Mac we can. By this, I mean using the desktop as a place where we carry out work and put the work-in-progress files.[SinglePic not found]

Take a look at the screenshot on the right here. It’s the top right hand corner of my desktop in a clean state – which is what it usually looks like at the start of day or end of day. There are just three items on the desktop; a link to a Journler folder, an Images folder and a Projects folder. They are all folders and these folders have their own icons so that there’s no likelihood of me confusing them with any other folders that might appear on the desktop.

Let me explain how I work with these folders. The first thing to understand is the problem I’m trying to solve, because that determines exactly how you’ll structure the desktop if you imitate what I’m doing. The problem I’m trying to solve is:

I want all my files stored in an organized way.

Because I don’t work on sound or music files at all, I don’t ever have any work-in-progress sound files on the desktop, so I don’t need a sound files folder. The same is true for me of video, at the moment. I do work on image files in many contexts, but mostly for the web. So what I have on the desktop is; two folders for work-in-progress files, one for images and one (called projects) for text files and documents and also, a link to Journler which is my “archive store”

Click to continue reading “The Mac Desktop”

Full List of Productivity Apps

This is the full list of all the productivity apps that I’ve mentioned in various postings over the last three weeks. It is given in alphabetical order with product ratings:

1Password – Passwords and Form Filling [SinglePic not found]

[SinglePic not found] I have 1Password primarily for one reason. At some time in the future the Mac will also be threatened with malware. So I’ve bought 1Password so that even if a keylogger were running on the Mac no-one would be able to get at the passwords that I really do want to protect. As it happens 1Password is also useful for form filling and it allows me to manage more than one identity. The form filling is not so impressive given that FireFox can do a lot of that anyway, but multiple identities is good for when I prefer to be anonymous (which is not often). 1Password is a security app that costs real money.

FireFox – Browsing [SinglePic not found]

[SinglePic not found] I’d like to proclaim that FireFox is wonderful, but I can’t bring myself to. It’s just a great deal better than the alternatives, for two reasons. First, the base functionality and configurability beats the competition and secondly, the plug-ins extend its functionality wonderfully.

The tabbed browsing extensions are particularly good. For me, the second best browser is Opera. Safari is OK and IE is a dead duck on the Mac (I’m not going to invoke Parallels just to surf the web). However, the sad reality is that the browser is more of a constraint to productivity than an aid. Browsers in general are mouse oriented, when they don’t have to be.

iStat Pro – Monitoring Software [SinglePic not found]

[SinglePic not found]iStat Pro is a neat piece of freeware which summarizes the information you get from the Activity Monitor and displays it in the menu bar, with drop-down menus providing extra information. It also has the virtue that it gives you a drop-down calendar, allowing you to set clocks for different time zones. If you think the Mac’s behaving strangely then a quick glance at the Menu Bar gives you an idea of what’s happening. It shows memory usage, cpu, hard disk used and network traffic.

iKey: The Hotkey Productivity Aid [SinglePic not found]

[SinglePic not found] There are other Mac programs similar to iKey, but iKey was the one that I tried out in depth. iKey is a kind of wizard-based programming environment where you never have to write a line of code. You just select various options and type in the keystrokes. You use it to script keyboard entries and to script mouse movements. You can specify whether the script applies to all applications or just to a specific application. You can then attach whatever script you have created to a Hotkey combination. For more information on iKey read this post: The Fulcrum of Mac Productivity: Hotkeys

Click to continue reading “Full List of Productivity Apps”

WordPress Loves AJAX