Tuesday, December 14, 2004

I must agree 100% with Frans: While giants are busy fighting on the Desktop Search front, WinFS gets delayed, which should have been the real front. People here at Xceed know what I think about WinFS. While others here were all excited about Avalon and Indigo, I was the first to tell them the real innovation and revolution was WinFS. I'm sorry MS, but WinFS should have been the main Pillar of Longhorn! Instead, WinFS topics on MSDN all start with this remark:

UPDATE: In spite of what may be stated in this content, WinFS is not a feature that will come with the Longhorn Operating System. However, WinFS will be available on the Windows platform at some future date, which is why this content continues to be provided for your information.

Sure, desktop search tools help make my life easier. But it's a temporary solution... And temporary solutions tend to become permanent too easily...

On my TODO list: Post about the WinFS model and its implications on archives like zip files, which are not ready to store data, relationships, and metadata.



12/14/2004 9:43:39 AM (Eastern Standard Time, UTC-05:00)  #   
 Monday, December 13, 2004

I admit, I'm working in zip file compression, and I'm not even using something home made for unzipping zip files I run into. I'm using WinZip's context menu.

Well, I should talk to the past. I've made a man of myself and implemented my own "Unzip Here" context menu, which is using Xceed Zip ActiveX 5.x. Why reinvent the wheel when it works fine? Because it didn't work that fine for me.

How many times have I right-clicked on a zip file, went to the WinZip menu, stared at Extract to here and Extract to d:\someplace\somewhere\zipfilename just to find asking myself: "Does that zip file already contain paths?". If it does, I don't need to create a "zipfilename" subfolder, thus I should select the first menu item. But if it doesn't, I sure don't want all unzipped files to end up in the current folder, thus I want to select the second menu item. I end up opening the zip file just to view file paths.

That's what I just implemented. You right-click on a zip file, you click on Unzip Here, and it will automatically detect if it needs to create a subfolder (using the zip filename) or not, then unzip everything.

I won't go into the full details of how to create a Windows Shell Extension component, the sample is pretty self-explanatory, and the web is filled with tutorials. In short, you:

  • Create a new ATL COM AppWizard project (VC++ 6).
  • Add a new Simple Object with default names and attributes (make sure not to select "Free Threaded").
  • Remove references to the newly created interface, you don't need it. (I left the IDL in there instead of copying the CLSID somewhere else... I'm lazy).
  • Remove the type library from the resources and RGS file, you don't need it.
  • Implement IShellExtInit and IContextMenu interfaces (see UnzipHereExtension.cpp).
  • Add the required registry keys (see "DllRegisterServer" in UnzipHere.cpp).

The heart of the extension resides in IContextMenu::InvokeCommand. Don't forget more than one file can be selected when your context menu gets called.

While debugging, you'll often need to restart the explorer.exe in order to release usage of your DLL. Use the Task Manager's run menu to reload it. If you don't like ending a task via the Task Manager, try this: Start Menu -> Shutdown, press Ctrl-Alt-Shift and click Cancel. The explorer.exe process will end.

On my TODO list:

  • Support zip files not ending with the ZIP extension (like self-extracting zip files).
  • Implement a "Zip This" menu.
  • Add a "File already exists. Do you want to overwrite?" prompt.
  • Hide the "aborted" error on non-zip files.

Comments welcomed! Have fun!

UnzipHere.zip (21 KB)

Zip | Samples

12/13/2004 3:57:24 PM (Eastern Standard Time, UTC-05:00)  #   
 Wednesday, December 08, 2004

When applications like KeyHole will become defacto cartographic applications, someone, somewhere will have the bright idea of putting huge ads on their building' roof.

How about ads on highways? They will have a T form, displaying their contents in front and above!

I can't wait to see the first guy to ask his girlfriend in marriage via KeyHole, spelling "Martha, will you marry me?" on some park's ground...


Fun

12/8/2004 2:36:59 PM (Eastern Standard Time, UTC-05:00)  #   
 Friday, December 03, 2004

I've been playing with KeyHole for a few days, and though such tools or web sites have been out there for years, I must admit KeyHole is simply amasing. Its smooth transitions, road map display abilities, sharp and precise images and placeholder sharing possibilities are incredible.

For example, once you have KeyHole installed, I can give you a link to my home, like this one:

Home.kml (.72 KB)

As you can see, both my neighbours have a pool (grin). And then, you could travel up to Xceed's headquarters by clicking on this:

Xceed.kml (.75 KB)

A very neet residential area, surrounded by two golf courses and a huge park, right in the middle of Longueuil. I often compare Longueuil to a mini-Redmond. And finally, how about a higher view of the greater Montreal's south shore:

HighView.kml (2.26 KB)

The next step is building KML files for your clients or invitees that smoothly shows them step by step instructions on how to get from the airport or their house, to your business headquarters or your open house party!


Fun

12/3/2004 9:46:48 AM (Eastern Standard Time, UTC-05:00)  #