Purple Tree 3.2

Disk space visualizer for your Mac

Key Features

Purple Tree is a visual disk space analyzer. Using a neatly designed treemap display it helps to instantly locate large files as well as to see how your data is organized at a glance! Purple Tree also has a built-in duplicate detection utility making it an integrated and super handy tool to keep your disks clean and organized.

Select any folder on your internal or external hard drive. Purple Tree scans all elements contained in that folder and performs duplicated files detection in the background. The analysis results are displayed as a treemap.

Visualize!

  • Coloring by Level: easily distinguish the hierarchical levels of nested folders.
  • Coloring by Type: files are colored by its content type (Music, Video etc.). Folders are colored with the dominant type of its contents.
  • Coloring by Date Modified: files and folders are colored accordingly to their last modification date, which, as an example, helps to locate recent files.
  • Coloring by Size: items are colored accordingly to their sizes. Along with the items area this aims to locate the largest files.
  • Highlight Duplicates: duplicated files and folders containing them are highlighted in color while other contents are drawn in grayscale. Selecting a duplicated file will highlight its duplicates as well as its duplicated siblings.

The app preferences allow the layout density tuning as well as other parameters. Since version 3.1.2 there are optional color schemes designed to help colorblind users.

Explore...

  • Explore subfolders by zooming in and out with double click and pinch gestures.
  • Get detailed information on selected items with rich tooltips or on the side bar.
  • Show selected files and folders in Finder.

Interact

  • Delete selected elements to free up disk space. Use multiple selection to delete several items at once.
  • Select and remove duplicated files using a dedicated list view.
  • Exclude some disk locations you don’t want to scan in order to speed-up the scan process.
  • Mark previously scanned folders as favorites. Easily re-scan recently scanned folders.

Find Duplicates

Purple Tree automatically analyzes the scanned files in order to find duplicates. This search is performed in a background task and may last several minutes the first time you use it. You can normally use the app during this search. If you choose the duplicate visualization when the search is not finished yet, a progress dialog will appear, showing the estimated time and a live preview of highlighted duplicates. A long search process can be cancelled at any time.

Once all duplicates are analyzed and confirmed, you can do the following:

Treemap Display

In the treemap display, the duplicated files are highlighted as well as the folders containing these duplicates. This allows you to locate the duplicates and visually estimate the amount of duplicates space. When a folder containing duplicates is selected, a rich tooltip (a popover) shows the number of duplicated files.

By clicking on the action button « Show Duplicates » in this tooltip you can open a duplicate list view to obtains more details and manage the duplicates.

Duplicate List View

The duplicate list view can be opened either using the main toolbar action or with the selection tooltip action. In the first case, all duplicates within the scanned folder will be displayed.

The purpose of the list view is to allow the selection and deletion of unwanted duplicates. The files can be selection individually by the user. Grouped selections can be performed from a single selection. Once a single duplicated file is selected, you have following options to select a group of similar duplicates:

  • Select all duplicates located in the same folder as the selected file.
  • Select all duplicates in other folders. This means that duplicated files in the selected folder will not be selected, but all their duplicates located in other folders will be selected. This can be seen as the inverted behavior of the first option.
  • Select duplicates using regular expressions (link) matching or not matching the filenames. Here again only the duplicated files contained in the selected folder and their duplicates will be considered. For security reasons there is no batch selection feature that could be applied on the whole scanned space.

Useful Tips

Speed-Up the Scan Process

The time needed to scan your disk space depends on two factors: the number of files and the speed of your hard drive. The file sizes do only matter for duplicate detection since hash codes have to be computed.

On modern SSD the scan process is fairly quick. On the classic hard drives, however, it can still take several minutes to complete. In order to limit the number of files to be scanned, you can exclude unnecessary folders from the process using Preferences or a contextual menu action “Exclude selected folder from future scans” directly from the graphic selection.

Example: I have all my photos managed by software that generates small preview images in a special folder. This makes dozens of thousands small files considerably slowing down the scan process. Since I have no particular interest in these files I can simply exclude that preview folder.

Avoid Small Files

The “Ignore files which size is less than XXX bytes” preference setting allows you to ignore small files. This will not make the scan faster since to know that a file is small it needs to be analyzed first. However avoiding small files will help to reduce the memory used by the app and allow it to run faster once the scan is complete. Of course this will distort the statistics (number of files) and the total occupied space estimation will be lower than in reality. In most cases it will not be important since Purple Tree was designed to find big fishes! Yet, keep in mind this limitation and change this setting if needed.

Package Contents

Packages are special folders which internal structure is not intended to be viewed or modified directly by user. Apps, Libraries (like Photo or iMovie library) and system bundles are packages. By default Finder presents packages as files, yet it can unveil their contents if requested. Also, Purple Tree default behavior is to display packages as single files. However it’s sometimes necessary to see what’s inside packages and this can be done simply by turning off the “Hide package contents” preference.

Note that package internal files are not included in the duplicate search when package contents are hidden. In order to see duplicated files inside packages you have to turn off the preference mentioned above and to rescan folders again.

Example: if you copy your videos into the Movies folder and then import these videos in iMovie, your files will actually be copied in the iMovie.library package. Purple Tree will not consider them as duplicates if package contents are hidden.

Symbolic and Hard Links

In Purple Tree symbolic and hard links are treated as plain files. Usually symbolic links are too small to be taken into account (see file size limitation above). On the other hand, several hard links on a large file may lead to inaccurate total size estimation. Furthermore, such files will be considered as duplicates even though they are not wasting any disk space. Future releases may change this behavior.

Access Restrictions

Like all common apps, Purple Tree does not have access to system protected folders that require root privileges. So if such folders, like ".DocumentRevisions-V100", take large amounts of disk space, the app will not be able to see it! This is a common limitation for apps coming from the AppStore: the apps can neither request admin password nor be launched using 'sudo' command. Sorry about that, but Apple do so for obvious security reasons.

Tech Corner

Treemaps

Treemap visualization of hierarchical data was introduced in 1991 by Ben Schneiderman from the University of Maryland. Purple Tree uses a modified version of the Squarified layout algorithm introduced by Jarke J. van Wijk et al. This layout avoids high aspect ratio rectangles making comparison of two areas easier. The areas of two files of equal size should appear as equal for the same tree layer. However, the nested file drawing may alter the apparent area because of the margins, so thin margins lead to more visual accuracy.

Implementation

Purple Tree is written in Objective-C language and is using the most standard features of Cocoa framework for file system access and graphics.

Feedback

You can contact me via e-mail or on the Purple Tree App Page on Facebook.

You can also use the contact form below. All fields are required. The email address will only be used to contact you if necessary, it will not be published or used in any other way. Your feedback is always appreciated!

Please answer the question below: