Mike on the MATLAB Desktop

November 23rd, 2009

The Current Folder Browser’s new dimension

In R2009b, the Current Folder Browser gained the ability to show hierarchical information rather than just a flat list of items. We actually did more than just add a hierarchical view though, and merged the best features of a flat view with the best features of a hierarchical view.

A simple flat directory listing isn’t very useful when viewing classes, as you’ll probably want to see the full package hierarchy (see the screen shot above). But with a hierarchical view, you can be saddled with seeing the full hierarchy all the way back to the root — typically not a very scalable solution.

We wanted to eliminate the drawbacks of both the flat and hierarchical views. To do this, we kept the old behavior of double clicking a folder to make that the current working directory (CWD), but we also used that gesture to reset the root of the tree.

So if you were looking at a full listing of what’s on your hard drive and double clicked a folder named tmp, then tmp would become the root of what’s shown in your Current Folder Browser, as well as the CWD. You could also view the contents of folders under tmp without actually changing the current directory by clicking the little “twisty” (the arrow on Mac or plus sign on Windows) next to the folder.

In general, I’m not a fan of hierarchal views, as they add visual and interactive complexity. But in this case, I think we’ve mitigated that potential complexity by letting you choose the root of your view.

What do you think about this new way to view your content?

11 Responses to “The Current Folder Browser’s new dimension”

  1. OysterEngineer replied on :

    I’m pretty lost on with this post. I thought I knew what a hierarchical view is & how it contrasts with a flat view. But, now I’m not sure.

    Further, since I’m a novice regarding classes, I don’t see anything significant with your screen shot. All I see is that you’ve highlighted a function called, closeGroup.m that is saved in the folder CVS.

    I’ve read the bit of documentation regarding the Details panel. But, I don’t see any useful information there. And, I specifically don’t see anything related to classes there.

    By the way, it appears that the Details panel doesn’t operate the way the documentation says it will. When I highlight a function .m file with cells, I don’t see the cells show up in the Details panel.

  2. Ken replied on :

    The Current Folder Browser used to show a flat list of items only — that is, you couldn’t see the contents of a sub folder without double clicking that folder and changing the current working directory (CWD).

    The new hierarchical view lets you view the contents of a sub folder by clicking the corresponding twisty (or plus sign on Windows), which *does not* change the CWD.

    This is important for classes (like that shown in my screen shot) because the class is on the path when you’re at it’s root package directory (codetools in the screen shot above). With the old Current Folder Browser, if I were able to see “closeGroup.m”, for example, then it wouldn’t be on the path.

    -Ken

  3. OysterEngineer replied on :

    Ahhh, that helps.

    I’m guessing that the folder names with the + suffix are folders for the classes. I tried to find something in the documentation about this + suffix, but failed.

    Your original closing question was about what we thought about this new browser. I do like it & I find I can navigate faster with it. I’ve pondered your comment regarding the visual & interactive complexity. I can see how this is true. But, it appears that the extra complexity is just the right level of detail that is ends up helping the navigation process.

  4. Howard Fishman replied on :

    Ken & Mike,

    We use operate Matlab R2009b on Sun UNIX workstations. When I look at the current directory at my root, I only get a small fraction of the folders (subdirectories) and other files (.m, esp.) listed. When I go to a subdirectory, everything appears OK. However, when opening up Matlab in an earlier version (incl. R2009a), everything was displayed properly. Not all my co-workers have experienced this glitch. Any ideas?

  5. Mike replied on :

    @Howard, Is there a pattern to the missing files? Are they symbolic links?

  6. watson replied on :

    I really like the new layout of the folder system.

    However, I typically keep the folder window size so small that I can only view the current folder in the path bar (the area that shows: drive > user folder > matlab > parent folder > current folder). Whenever my current and parent folder names are short, I can usually navigate the file system quickly (because they both show up in the path bar). But whenever they are long, I end up having to use the ‘cd ..’ command to get to higher levels.

    Is there are chance of a static parent folder link being added (something along the lines of a ‘..’ folder) at the top of the directory list)?

  7. Mike replied on :

    @Watson,

    You can put the “go up one level” button in the Current Folder Browser’s toolbar. File -> Preferences -> Toolbars -> Toolbar: Current Folder

  8. Craig Warren replied on :

    I’m using R2009b and Mac OS X 10.6.2, and mounting a Samba share. The share contained some (as it happened, broken) symlinks. In this case the Current Folder browser would only display a few of the folders and files in the directory of the Samba share. However, when I removed the symlinks all the files and folders were displayed correctly. Can anyone shed any light on this behaviour?

  9. Mike replied on :

    @Craig,

    We do have patch for that in R2009b in a bug report http://www.mathworks.com/support/bugreports/585330

  10. OysterEngineer replied on :

    I recently upgraded to R2010a & noticed that the Current Folder now displays some entries with faded or ghosted font. I can’t find anything in the documentation about this. Nor can I figure it out from context.

    Can you explain this new feature?

  11. Mike replied on :

    @Oyster,

    Yes. I blogged about it a few weeks ago http://blogs.mathworks.com/desktop/2010/04/05/seeing-whats-on-the-search-path/ and the documentation can be found here: http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_env/br7ppws-1.html#br8cjwl-1

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


MathWorks
Mike works on the MATLAB Desktop team.

These postings are the author's and don't necessarily represent the opinions of The MathWorks.