Here's my very opinionated view on the alternatives.
Daisy Disk - Very pretty, but requires too much interaction to find info. Sunburst charts aren't very readable to me and I feel they throw out a lot of valuable screen real estate.
Grand Perspective and Disk Inventory X - Visually confusing, whats the story with the harsh gradients in both? Both are focused on files and not the parent child hierarchy.
I'm using a technique called Squarified Treemaps outlined here: http://www.win.tue.nl/~vanwijk/stm.pdf
The algorithm is tuned for speed right now but I really want to get it parallelised in a future update. I spent a lot of time getting the visualization as readable as possible.
Submitting to the app store is still a worrying process. You've got everything ready to go and you're excited to be done developing and then you sit for 15 days wondering if you'll be rejected or not. But overall I'm really happy not to have to build my own payment system.
The speed really depends on the size of the view and the depth of the objects. The pixel dimensions of a folder determine whether to render it's children. I'm normally able to live resize the window without too much chugging, but as you hit higher resolutions the speed drops.
At some point I hope to get it into Grand Central Dispatch and see what effect that has, the nature of the visualization makes it perfect for being parallelized.
I like it (I used treemap viewers on Windows and have been looking for a Mac replacement) but what about some colour-coding? It would add another dimension to the data and allow the user to easily see which areas are photos, movies, documents, applications, or misc files. It's much much easier to see colours than it is to read the folder names.
Please, please, please tell me you've got this planned!
Color coding is in the roadmap, right now I have a 1.1 update that improves scan speed, memory usage, and a handful of bugs, but I've got to wait 15 days for apple to approve it.
Coloring is something I want to approach very carefully. I had colors in the beginning and the app turned in to a visual mess. I want to make sure the colors can convey meaningful information without subtracting from the readability.
I bought this morning, when do you anticipate 1.1? When did you submit the update? I thought that updates were generally processed a bit faster than brand new app submissions...
The are and they aren't. General updates still take 15 days to review. The only fastracking is if they reject it for an easily fixable problem. I'm submitting 1.1 at the end of today depending on any extra bug reports that come in that I'm not aware of.
Wow, very cool and I just bought it. One comment....I associate Gremlins as brown not green! Congrats. If you want to chat about OS X file system stuff, hit me up. I have a few disk utility apps I have written over the last few years.
1. When you are scanning a disk and you minimize of hide the app, put a progress indicator running in the dock and maybe bounce the icon when the scan is done. Think XCode when you are doing a long compile and you hide it.
2. Maybe color code sparse bundles a different color than blue? When I scanned the app showed me that 216gb was being used by my Time Machine .sparsebundle....maybe other users would have been very quick to remove it before they realized what was going on. Example /users/.jtsm/.jtsm.sparsebundle would be the path.
3. Bug: When I launched Space Gremlins the FIRST time no Volumes showed up for me, but quitting out of the app and going back in a second time Volumes showed up for me.
4. Bug: In Popular Places as I scroll right I have Music, Then a blank space, the Pictures. If I click the blank space is shows the silhouette of a folder icon with a label and nothing else. When I click on the blank space it brings up an empty scan window that says Location:Label Scan Rate: Label, Total Scanned: Label
contact me and I can sent you screen shots if you want.
Thanks for the info.
1 is a great idea and I'll definitely incorporate it.
2. I need to learn more about sparsebundles, the default mac file enumerator trips up on certain files.
3. Weird, no idea about that.
4. The empty space between should be ~/Movies/ but I just realized I don't actually verify if the user has that folder, I just assume they do. I'll add that to the 1.1 before it gets uploaded to Apple.
Free, YES but not quite in the same league as Space Gremlin. I think that Space Gremlin will have a lot going for it where people will pay for the app.
Here is what I noticed, feel free to take any of this however serious you want to:
The app feels like a proper Mac application. I like its look, similar apps tend to look much worse. (Except for, I’m sorry, the icon.)
I don’t like the keyboard shortcut for zooming out, backspace just feels wrong and always seems to be so far away from my fingers. Other shortcuts are missing altogether.
Since your users won’t be typing anything you could use keyboard shortcuts without modifiers across the board. I would use + and - for zooming in and out, command+arrow for moving through the history and the arrow keys for moving the selection. (At the moment the arrow keys just do nothing.) You should also throw in shortcuts for showing files or folders in the Finder and for moving files or folders to the Trash. (Are there any good reasons why it is currently not possible to directly move files or folders to the Trash from your app?) Whatever you do, add plenty of logical and easy to remember keyboard shortcuts.
Besides a better keyboard shortcut for zooming out, you maybe also need some sort of mouse-centric way of quickly zooming out. Moving all the way up to a toolbar button to zoom out feels clunky in the age of Google Maps. I don’t know what would be a good solution in your case, others use gestures or scrolling. You might want to look into that.
Zooming out needs to animate. Currently there is no indication which folder the user just zoomed out of which confused me many times. Animating zooming out would provide users at least with a hint of their place. You could also automatically select the folder the user just zoomed out of.
I don’t know how hard that would be, but QuickLook and file previews would be nice additional features.
Great feedback,
I know what you're saying about the icon, I've cobbled all of the design elements together myself, but I'm no designer.
The tree view could use from better zoom logic, and I agree that a seamless neverending zoom in zoom out would be perfect, but right now rendering is very expensive. I keep thinking this app might be a good excuse to dive into OpenGL.
Well done! I just deleted the "third down" thing on my "to code" list.
Have you tried scanning with parallel threads? I suspect having 4 or so threads would allow the disk to internally schedule the seeks better for a speedup. (For bonus points, track your lookup rate and dynamically tune the thread count.)
Honestly I hadn't thought about that. I assumed a single enumerator was the best but I really don't know much about how reads are scheduled. I do know that as of the 1.1 update I have planned, the scan rate is 10% faster the Grand Perspective and only a couple seconds faster then Daisy Disk.
There's a free (though probably less featureful) app for Windows I've used for years called Windirstat that does a similar job, albeit while looking much uglier.
33 comments
[ 0.28 ms ] story [ 82.6 ms ] threadBut like I said, it could be better now.
Daisy Disk - Very pretty, but requires too much interaction to find info. Sunburst charts aren't very readable to me and I feel they throw out a lot of valuable screen real estate.
Grand Perspective and Disk Inventory X - Visually confusing, whats the story with the harsh gradients in both? Both are focused on files and not the parent child hierarchy.
I'm using a technique called Squarified Treemaps outlined here: http://www.win.tue.nl/~vanwijk/stm.pdf The algorithm is tuned for speed right now but I really want to get it parallelised in a future update. I spent a lot of time getting the visualization as readable as possible.
Submitting to the app store is still a worrying process. You've got everything ready to go and you're excited to be done developing and then you sit for 15 days wondering if you'll be rejected or not. But overall I'm really happy not to have to build my own payment system.
I have been using a similar program for Windows for ages : SequoiaView http://w3.win.tue.nl/nl/onderzoek/onderzoek_informatica/visu...
It seems that it has been written by the folks who wrote the paper that you referred to.
The first analysis can take some time, though. How fast is your implementation for Mac ?
At some point I hope to get it into Grand Central Dispatch and see what effect that has, the nature of the visualization makes it perfect for being parallelized.
Please, please, please tell me you've got this planned!
Coloring is something I want to approach very carefully. I had colors in the beginning and the app turned in to a visual mess. I want to make sure the colors can convey meaningful information without subtracting from the readability.
1. When you are scanning a disk and you minimize of hide the app, put a progress indicator running in the dock and maybe bounce the icon when the scan is done. Think XCode when you are doing a long compile and you hide it.
2. Maybe color code sparse bundles a different color than blue? When I scanned the app showed me that 216gb was being used by my Time Machine .sparsebundle....maybe other users would have been very quick to remove it before they realized what was going on. Example /users/.jtsm/.jtsm.sparsebundle would be the path.
3. Bug: When I launched Space Gremlins the FIRST time no Volumes showed up for me, but quitting out of the app and going back in a second time Volumes showed up for me.
4. Bug: In Popular Places as I scroll right I have Music, Then a blank space, the Pictures. If I click the blank space is shows the silhouette of a folder icon with a label and nothing else. When I click on the blank space it brings up an empty scan window that says Location:Label Scan Rate: Label, Total Scanned: Label
contact me and I can sent you screen shots if you want.
Thank you very much for the feedback.
http://www.omnigroup.com/products/omnidisksweeper/
The app feels like a proper Mac application. I like its look, similar apps tend to look much worse. (Except for, I’m sorry, the icon.)
I don’t like the keyboard shortcut for zooming out, backspace just feels wrong and always seems to be so far away from my fingers. Other shortcuts are missing altogether.
Since your users won’t be typing anything you could use keyboard shortcuts without modifiers across the board. I would use + and - for zooming in and out, command+arrow for moving through the history and the arrow keys for moving the selection. (At the moment the arrow keys just do nothing.) You should also throw in shortcuts for showing files or folders in the Finder and for moving files or folders to the Trash. (Are there any good reasons why it is currently not possible to directly move files or folders to the Trash from your app?) Whatever you do, add plenty of logical and easy to remember keyboard shortcuts.
Besides a better keyboard shortcut for zooming out, you maybe also need some sort of mouse-centric way of quickly zooming out. Moving all the way up to a toolbar button to zoom out feels clunky in the age of Google Maps. I don’t know what would be a good solution in your case, others use gestures or scrolling. You might want to look into that.
Zooming out needs to animate. Currently there is no indication which folder the user just zoomed out of which confused me many times. Animating zooming out would provide users at least with a hint of their place. You could also automatically select the folder the user just zoomed out of.
I don’t know how hard that would be, but QuickLook and file previews would be nice additional features.
The tree view could use from better zoom logic, and I agree that a seamless neverending zoom in zoom out would be perfect, but right now rendering is very expensive. I keep thinking this app might be a good excuse to dive into OpenGL.
Have you tried scanning with parallel threads? I suspect having 4 or so threads would allow the disk to internally schedule the seeks better for a speedup. (For bonus points, track your lookup rate and dynamically tune the thread count.)