MentalCaseShowcase
Originally published on macresearch.org, around 2007. Reproduced from the author's archive; some links may no longer resolve.
This is the first in a series of articles on MacResearch called ‘Showcase’. The idea behind Showcase is that developers get to champion their own applications. It’s a bit like an application review, except that the reviewer is the developer, and absolutely no claim of objectivity is made. It’s a chance for developers to show off what their app can do, and make the case for why they think it is cool. You can decide for yourself whether you believe their story. Developers interested in participating should email showcase@macresearch.org.
Mental Case and Existence Recall
Mental Case (link no longer available) is an application I have been developing in my spare time for around a year. Version 1.0 was released two months ago, and the first upgrade is due any day now.
[image: The Main Mental Case Window — no longer available]
I developed Mental Case because of a need I had myself: I found that I often came across useful information during my daily work, but — not needing that information right away — would forget it and have to rediscover it again later. A simple example might be a UNIX command that does something useful. I would come across the command in an article or on the web, and think ‘Gee, that will come in handy’, and promptly forget about it. Later, when I could use the command, I wouldn’t even know it existed, and I would be left pulling my hair out wondering if there was some command that could help me.
You might be thinking: Why not just write down all those little bits of information somewhere? Well, you can do that, perhaps putting them in an application like Yojimbo or DEVONthink (link no longer available), but they are useless to you unless you remember that they exist. If you don’t remember about the existence of something, you can’t search for it. For this approach to work, you would have to regularly visit the list, reminding yourself of what is in it.
That brought me to the concept behind Mental Case. What was needed was an app that reminds you of the existence of things (I have since termed this existence recall). I imagined something with the drop box simplicity of Yojimbo or DEVONthink, but with a reminder function a bit like iCal. For me, it was important that I could get information into Mental Case very efficiently, so as not to interrupt whatever it was that I was busy doing, and to be reminded of that information in future, such that I could recall it and know what to search for when it was the answer to my prayers. And that’s exactly how Mental Case works.
Getting Stuff into Mental Case
Bits of data in Mental Case are called mental notes. Mental notes can have a small amount of text, or an image, or both. They can also have an optional prompt, which would typically be a question to aid learning.
You can create a whole series of notes in the main application window, but one of the best aspects of Mental Case is how easy it is to add mental notes when you are working in another application altogether. You can configure global hot keys or use the Mac OS X menu bar to do this. Just hit the key combination, add the note, and you are immediately returned to what it was that you were doing.
When you create a new mental note, you can enter some text, or drag in an image, but there are a couple of other very handy options. Firstly, you can use the screenshot functionality built into the application to capture a part of your screen. Often the information you want to recall is already on your screen; why retype it if you can just drag over it and be done? Secondly, Mental Case has built in support for iSight. If what you want to remember is in the real world, such as some formula from a text book, just hold it up to the camera, press space, and you’re done.
Organizing Your Mental Notes
Mental Case has the usual facilities for organizing your mental notes as you find in personal database applications like Yojimbo. You can group things in folders — known as cases in the application — drag notes from folder to folder, put them in trash, and so forth.
However, cases are for more than just grouping notes — they play an important role in an advanced system of cascading defaults used to configure how often you are reminded of your mental notes, and for how long. Mental Notes get scheduled to regularly appear in a lesson for revision; you can configure how often this should happen by choosing a learning schedule. You can set a global learning schedule in the application preferences, but you can also override this for each case, and even individual notes.
For example, you might have a case full of difficult math formulas. You could configure the learning schedule for this case to be more intense, so that notes appear in the lesson more often. You could also adjust the viewing time in the case settings, so that notes in that case are displayed for longer in the lesson, giving you more time to internalize them.
Revising Mental Notes
The Lesson is a special case that holds all of the mental notes that are due for revision. In the preferences, you can configure how Mental Case notifies you that there are notes to be revised, and how often. When you are ready, you can study the lesson, which involves sitting through an automated slide show of your mental notes. The process is made more pleasurable by the inclusion of beautifully presented slide themes.
Scientific Uses
That’s Mental Case in a nutshell, but this is a web site for scientists, and I am a scientist, so how can Mental Case be used for us? Here are a few ways that I have been using it. Hopefully this will give you some ideas about how it could be of use to you.
- Reminding myself of useful technologies I come across. For example, I have a mental note that states “XUL is Mozilla’s XML UI layout approach”.
- Help remember UNIX commands. For example, I have a mental note with a command for making a file executable in subversion:
svn propset svn:executable ON file_name. - Reminding myself how I fixed a particular bug. Often I fix something, and then when it happens again, I have forgotten how. Here is an example note: ‘A common
tcsubproblem when using pvm: a cd occurs before the application launches’. - Reminders of useful web sites. For example, I have a note pointing me to koders.com for examples of source code.
- Reminders of applications that might become useful at some point.
- Recall the existence of scientific papers that might be useful, but which I don’t have the time to read. I typically just take a screenshot of the title and author list.
- Remind myself of books I have. I sometimes forget that I have certain books, and when I need them don’t think to go to the cupboard to get them. I use the iSight to get a shot of the cover, so that I recall their existence later.
- Remember keyboard shortcuts in applications like TextMate.
- Remember the existence of certain open-source code, so that when I need it, I can search for it. For example, I have a mental note with this text: ‘KFSplitView is an alternative to RBSplitView’. When I need a split view, I will remember to take a look at the KFSplitView code.
- Recall programming constructs. For example, here is a mental note that I use to remind myself of a pretty cool way to do an outer product of an array with itself in Fortran 90:
matmul(spread(array,2,1), spread(array,1,1)).
Special Price for MacResearchers
Hopefully by now your interest is piqued. If so, go to the Mental Case (link no longer available) web site and download a copy. There is a free 30-day trial. And as a special offer to MR readers, for the next 30-days, you can get $10 off by filling in the following coupon when purchasing: CPN1797014675. Who says we’re cheap?