Monday, February 2, 2009

Closer to 2.5

Hey, this time I am actually getting closer to releasing a new version. Sorry it's taken so long.

This update is a few minor fixes and updates. The real killer feature that everyone is waiting for is Vista support, of course. I found this thread of someone else trying to get help from Microsoft implementing another custom column. Read it here:
http://groups.google.com/group/microsoft.public.platformsdk.shell/browse_thread/thread/e79555b9910c5f68/68c74675b24c8da9

So as you can see, Vista support isn't happening for me or anyone else.

I was doing some experimenting with a new Size On Disk column, that would be similar to the Size On Disk display in Explorer's folder properties. But, if I understand how NTFS works correctly, I believe the Size On Disk in Explorer's folder properties is broken! Let me explain:

The common understanding of file storage on most file systems is that file contents are written into storage units called clusters, typically 4K each, which allows the drive to manage its allocated space more easily. Since the drive must allocate each file a number of clusters, it is likely that more space is given to a file than is needed for its contents. This results in some wasted space (0 to 4095 bytes) per file. This is confirmed by Windows Explorer, which shows each file's size on disk rounded up to the next multiple of 4K in file and folder properties. This is all true for FAT file systems.

However, NTFS has another optimization called Master File Table Resident files, where small files (less than around 700 bytes) are stored in the table that stores other metadata about the file. The file does not use up any clusters! Therefore it makes no sense to round its "Size on Disk" up to the size of the full cluster, as Windows Explorer does. That's why I believe its Size on Disk display is misleading. Here is Wikipedia on resident files in NTFS:

http://en.wikipedia.org/wiki/NTFS#Resident_vs._non-resident_files

Could Folder Size show the true size and thus improve on Windows Explorer further? I haven't yet found an API to report whether the file is resident or not. Let me know if anyone knows how to do this.

So here's a list of the improvements that will be in this update:


New display mode: unformatted bytes. This may help some people who are confused by the other units, and helps for accuracy testing.

New icon for the control panel, submitted by Christian Helmrich.

New translation: Russian, submitted by one Игорь Петрович.

New Credits dialog. This was suggested by the Russian translator, and is a good idea. Now everyone who has submitted something that's made it into the final program has some recognition.

Optimization: The service process (FolderSizeSvc.exe) should use less memory! Informal measurements show a 20% reduction.

Also, I'm currently trying to simplify the installation MSI a bit. I've always hated how it asks if you want a Typical, Custom, or Complete install, when they're really all the same thing. Custom lets you change the directory, so instead of asking which install type, the installer should just ask what directory to install to. This should be a simple change, but I'm editing the MSI manually with Orca, which is painful.

So, if you don't install this update, you won't be missing out on much. But it's nice to have some updates... hopefully I'll have it ready soon!

33 comments:

Gaurav said...

Been using this tool for more than a year now, started with 2.3... a real gem, something windows should consider integrating...

Has been a true time saver everytime I need to clear up some space..

Its amongst the first few tools I install on a new machine that i work on.. looking forward to the vista/windows 7 support..

Thanks for all the hard work!

foldersize said...

What I meant to say was that Vista support is NOT in this release. I just added a line to make this clearer. Sorry if you had your hopes up that it would be.

Santa Cruz, California said...

=[

pls let us non-programmers know how to support eventual vista functionality.

Gaurav said...

Yes, what I meant was, I am looking forward to the release which will probably have vista / windows 7 support (foldersize 3 maybe) :).

yonilevy said...

Regarding the resident/non-resident issue, have you looked through the FSCTL_XXX ioctls?

someone said...

I'm so delighted by the very possibility of it running on Vista and Windows 7. It is one of the BIG reasons why I chose to stay on Windows XP Professional.

Brownspank said...

I'm just glad to see it's still in active development! Can't wait for 2.5!

david and mary grace said...

why not use an installer like NSIS?

http://nsis.sourceforge.net/Main_Page

You can use it in conjunction with something like the SFX Tool:

http://mulder.dummwiedeutsch.de/home/?page=projects#sfxtool

anonymous said...

Have you taken a look here: http://www.codeproject.com/KB/shell/shellextguide8.aspx?fid=1248&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=1981610#xx1981610xx (The third reply under "How to do it in vista")? Or is it impossible?

M. G. Eliot said...

I love you, and I love this program. I love detail view, and have -always- hate that folder size isn't shown, I mean, what were they thinking? Thank you, thank you, thank you. Love it. Maybe I can pay you back with some entertainment-- I run a blog of my own short-fiction: http://anenomefiction.blogspot.com/

david and mary grace said...

Out of curiosity, would System.Size or System.FileAllocationSize via the IShellItem2::GetProperty Method or IShellItem2::GetPropertyDescriptionList Method do the job in Vista?

Also, here is the info "anonymous" was trying to link to:

As best as I can tell, there are no more column providers in Vista-- the Vista shell will not use the interface IColumnProvider for anything, and there is no substitute (the new IColumnManager is *not* IColumnProvider version 2). I think everything is done in terms of custom properties now. If you provide a new property with the right attributes, and you do all the right registry stuff, it will automatically show up in the list of possibilities for columns in the vista explorer. In order to create a custom property, I think you need to:

a) define a property description via an xml file (which will take the place of GetColumnInfo, in a way) see this link for a formal description: .propdesc formatb) implement IInitializeWithStream, or IInitializeWithFile (these guys get your hands on a file- just store the reference for later) see: IInitializeWithFilec) implement IPropertyStore, which has a method that will return the property data, which you can get from the file reference you saved when your IInitializeWithStream method was called. (This will take the place of IColumnProvider::GetItemData, among other things.) Here is a link: IPropertyStoreOne more reference: windows search articleThis article was specific to windows search, but I think it will have a lot of good links.

Also, if you have the new Vista SDK samples installed, look up the RecipePropertyHandler sample.

Disclaimer: I haven't gotten any of this crap to work yet, aside from building the SDK sample. I'll be working on putting together a simple implementation, but let me know if anyone gets to it first...

-WES

The Human Resource said...

Damn, I really miss this program in Windows 7.

Any chance at all of it coming along, or is 7 too close to Vista under the hood?

Carcharoth said...

Thank you for creating a program as extremely useful and simple.

Sean said...

i've been using FolderSize for a long time. It has worked its way to being in the top5 of my toolbox. not always needed, but i'm always grateful it's there.

till now...i just moved to Win7 (skipped over Vista). and it is a sad day in mudsvilee. MS does a lot of stooid stuff, but why they didn't incorporate this functionality is beyond me.

Looking forward to a Win7 version.

Thank you for such a handy utility.

nikos said...

just a wild guess, since now vista/7 only allow properties/columns for each file type, couldn't you assign a property handler for Folder or Directory "file type"?

TJ said...

I'm also really missing FolderSize in Win7 and hoping you'll be able to solve this problem.

Rich said...

Folder size is one of those perfect little bits of software that make all our lives that little bit sweeter!
It does exactly what it says on the tin and does it well!

I'm also hoping you'll get this on Windows 7 (64bit) soon.

Good luck, but well done so far!

Kristian said...

I'll keep my fingers crossed. Win7 is a blast but with foldersize it would be beyond any imagination. I needed to switch to totalkommander to see folder sizes. this is possible there via alt+F9. Prog. available in a portable version. But still this is not the same!

...so all we can do is sit and wait..

olen said...

not to disrespect this apparently wonderful program, but is there another one out there for vista?

Robbo said...

I've been using your program for several years now. It's one of the first things I install on every machine I sit down at, whether it's mine or not. I just got a new laptop with Windows 7 installed and discovered that Foldersize doesn't work on Windows 7. What a bummer. If you get it running I will buy you a pizza and have it delivered to your house!

al91 said...

I quite agree with all which has been said.
It is a very very useful add-on.
I seem to have escaped Vista and I real hope It will be operational on W7 very soon

tim said...

It's really disappointing that this doesn't work with Vista. For those looking for alternatives, I'm not aware of anything similar, but I've found SequoiaView to be an excellent tool for visually understanding how much space folders and files are using on your hard-disk. It does need to scan for a while though.

Roberto said...

This is a great tool and I use it a lot in WinXP.

The one problem it has is that column settings get flushed away each time I run CCleaner and I have to start over defining columns. Semi-pissed off by that.

I am looking forward to Foldersize 2.5 or 3.0 and I hope it will be more resistant.

Merci beaucoup beaucoup!
Roberto

SonicClang said...

I just wanted to let you know that I found a way to use Folder Size in Windows 7. If you have Windows XP Mode installed, you can go into the virtual XP machine and use it there. It's not QUITE as convenient as using it directly in Win 7, but at least I can use it.

Once you're in the XP virtual machine, use it exactly as you normally would.

Chris said...
This comment has been removed by the author.
geoff said...

Just wanted to say thanks for this super useful program and that I too would love win 7 support.

geoff said...

WELL guys, as much as I love foldersize, I have just discovered a utility for vista/7 that adds folder size functionality, along with tabbed browsing and a ton of other really important features (like being able to open more than 15 files at once, etc)

explorer++:
http://www.explorerplusplus.com/home

it has singlehandedly just solved all my complaints about windows 7

The Human Resource said...

Geoff, you are a hero.
Explorer + + is awesome.

I recommend all Folder Size lovers try this ASAP.

AkQ said...

Where is support for Windows 7 ??

XP is nearly 10 years old system, please move on ..

Iyad said...

when is the vista supported version going to be realeased??

david (1Ba 5) said...

I LOOOOOOOOVE FOLDER SIZE !!
man you are truly great !
it saves a lot of time on checking where i have large files on my harddisk, and it is way much easier then all the other programs around.
Only if you could just make it work in windows 7... plzzz

jstoddard said...

The thing is... there is a product out there with Vista folder size support - I had it installed on my last Vista machine, so it can definitely be done - and IS being done - and the product as I remember was total FreeWare.

Iyad said...

@jstoddard
-what is the name of the program you used in vista??