People Are Computers Too – How Improving Applications Can Improve Your Life
This week I’ve been talking about code profiling and how if you want to analyze the performance of your application you need to work with large sets of data. Application efficiency isn’t free, it requires measurement, analysis and change. Unsurprisingly, performance analysis for a software application and performance analysis for aspects of your life have a lot in common.
When people ask me how to make their computers faster, my answer is always “more RAM”. The biggest reason why software applications run slowly is because they don’t have enough memory to operate efficiently. People work the same way. You can improve your memory by getting enough sleep at night and by mind-dumping.
Mind-dumping means write things down instead of trying to keep it in your head. Human memory works like computer RAM where it needs constant refreshes of remembering something to keep it from becoming forgotten. By writing down lists of what you have to do in the future you free up your mind and your attention to focus on the present.
Another reason why computer programs run slowly is because there are too many other things going on at the same time. When I’m trying to figure out why a Windows is so slow the first thing I do is look at the task manager or system tray to see what is running at the same time. Context switching between multiple programs adds additional overhead of saving and restoring state information, and if too many things are happening at the same time then nothing gets done.
Like how a computer program will run faster if it’s the only program running, you’ll be able to complete tasks faster if you are focused on only one at a time. Maintaining a list of what you want to accomplish means that when you’re done one task you’ll easily be able to check your list to find something else to work on. Having a list of everything you want to do also makes it easier to prioritize and focus on what’s most important to you.
Profiling and Measurement
It’s easy to read advice on what to improve, but unless you look at your own life and where your time goes you don’t have a clear idea of how your time is wasted. There are several ways to track how your time is used. David Seah’s Printable CEO has print templates that let you easily measure where you are spending your time. I like to use GTDWannabe’s version.
There are a few tools out there that will automatically monitor your computer usage and generate reports about how you spend your time on the computer: TimeSnapper and RescueTime. I’ve been a RescueTime beta tester for a month now and I have to say that I really like the service.
You can see from my chart that I wasted about 2.5 hrs on personal tasks at work that week. There may be a correlation between working too much overtime and goofing off. Because I know where I’ve spent my time, I know what I can stop doing to free up more time.
“If you want something done, give it to a busy person.” Nothing makes you more aware of how you are spending your time like when you have no free time at all. Testing your application in a worst case scenario where it has to deal with large sets of data will help you find performance problems. It works the same way with other aspects of your life.
Coming back from a vacation where you haven’t checked mail, email or RSS feeds for two weeks will help you identify the chaff. It’s a great opportunity to unsubscribe from newsletters and set up filters for the major time offenders. You can turn off email notifications when you get messages from Facebook. That relative who always emails you jokes can get their own special folder that you’ll never check. When you have to deal with handling a lot of data it forces you to get rid of the unimportant information.
As you measure how your software application performs, you’ll find features that seemed like a good idea but drastically consume resources. Quite often it is easier to cut those features out rather than spend time improving them. As you measure where you spend time in your life, you’ll find that at their are time consuming activities that seemed like a good idea at the time, but don’t contribute to any of your goals. Don’t spend time on activities with no benefit.
Efficiency for efficiencies’ sake is one of the worst trends of the 20th century. But efficiency in the tasks you have to do frees up time for the tasks you want to do. Every thing you spend time on has an opportunity cost for other things you could be doing with that time. Having idle time in your life frees up room for the unplanned and unexpected.
Subscribe to comments with RSS.
Comments are closed.