Sunday, 24 April 2005

How does a New submenu Command know where to create the new item?

On the command line, that’s how.

You must specify %1 in the command line somewhere, otherwise Explorer simply doesn’t do anything (it reports “Not enough storage to complete this operation”, an erroneous error message). The %1 is replaced by the full path to the file that would have been created.

Looking at Briefcase’s .bfc registry key shows that there’s also a second option passed to FormatMessage to create the command line, and it’s a number – the command line includes %2!d! which is indicative of the use of FormatMessage. It’s not clear what this second option means, however.

So that’s a step towards building our Burn Folders. Since our shell extension will be a DLL, we’ll probably include the New command as an entry point and use rundll32 to launch that. That keeps everything together.

Musings: How to produce a Burn Folder in Windows?

One of the new features in Apple’s Mac OS X ‘Tiger’ is ‘Burn Folders’ – a folder which you can easily write to a CD by selecting the ‘Burn’ option. It contains links to the files or folders to burn, not copies of the files. In other ways it’s just like any other folder. This allows the user to stage multiple CDs at once, and keep frequently-written CD data in an easy-to-write folder. How hard would it be to create one of these folders in Windows?

The Windows (Explorer) shell is extensible. One of the things you can extend is the shell namespace. The Recycle Bin is a shell extension. So is My Documents. A Burn Folder might therefore be something like Recycle Bin. It’s even more like a Briefcase, a feature much touted back in Windows 95 – it’s still there in XP, but its functionality is largely replaced by Offline Files for the situation where you’re taking your computer away from the office.

Let’s assume that when you create a Burn Folder, we actually create a real folder with that name with some special properties, and in it, when you drop an item, we store a Shell shortcut to the item you dropped. We should also support copy and paste, pasting links. By using shortcuts we should be able to leverage the Distributed Link Tracking service to keep track of where items are if you move the original file. I’m not sure what we do if the original file was removed – presumably we have to try to resolve all the links before starting to burn, and if some are missing we need to report that.

So, we have a namespace extension, and it sounds like we’re probably going to use a folder as the junction point. We’ll have to extend the New submenu to allow such a folder to be created (I guess we’ll have to use the Command option). We’ll have to modify the Explorer toolbar to show the Burn button. To address a complaint Paul Thurrott made about ‘Tiger’s Burn Folders, we should probably also modify the status bar to show the size of the linked files (i.e. how much space is required).

That covers the UI, then we have to be able to write to the disc. Here we’re pretty much stuck with just being able to handle CDs and writing them using the Image Mastering API.

This might be a fun thing to do. Something to add to my stack.

Saturday, 23 April 2005

Full-screen is a new feature??

Paul Thurrott: Tiger math 2: When a feature isn't a feature

Apparently Apple are touting full-screen video playback as a new feature in QuickTime 7 in Mac OS X ‘Tiger’. Except that you actually don’t get it in ‘Tiger’, you have to pay for an upgrade to QuickTime Pro – the upgrade to the Pro edition of 6.5 cost $29.99.

In contrast, Windows Media Player has full-screen support out-of-the-box. I seem to recall that it has done ever since Media Player 6.4 on Windows 2000. Certainly the version of Media Player 6.4 that ships with Windows XP (run mplayer2 from Program Files\Windows Media Player), version on my computer, has this feature.


On top, Emperor Palpatine from the Star Wars trilogy. On the bottom, Pope Benedict XVI.

Or is it the other way around?

Friday, 15 April 2005

Tory posters defaced in Reading

Seen on Microsoft Typography news: Anger after Tory ads vandalised.

It wasn’t me, but I can understand why they were vandalised. The Tories’ whole campaign is based heavily on ignorance – xyz can’t be that hard, can it?

Yes, usually it can. I’m surprised – well, actually I’m not – that Labour and the LibDems have not actually rebutted how hard it is to do xyz.

Thursday, 7 April 2005

Bring Back Chris Brumme!

Chris Brumme’s blog was one of the first I started to read, after Scoble, Chris Sells and Don Box. He’s managed a tricky task of explaining very complex subject matter (how the .NET CLR works) well.

Sadly he’s not posted in nearly a year, and the last entry was just announcing updates to existing articles.

So I’m joining Chris Anderson and Brad Abrams in saying: