Welcome to shell: revealed Sign in | Join | Help
in Search

Shell Blog

Building a Windows PowerToy - Part 1

Part 1 - Introduction 

A lot of things happen when a new version of Windows is finished.  Parties are thrown, vacations are had, millions of discs are pressed, boxed, and shipped around the world.  There’s another tradition, however, that you may remember from previous releases.  We call them PowerToys… and I think Vista is shaping up to have the coolest ones yet!

If you’re not familiar with what a PowerToy is, the Windows XP Powertoy page has a pretty good description:

PowerToys add fun and functionality to the Windows experience. What are they? PowerToys are additional programs that developers work on after a product has been released.

Note: We take great care to ensure that PowerToys work as they should, but they are not part of Windows and are not supported by Microsoft. For this reason, Microsoft Technical Support is unable to answer questions about PowerToys.  

In this series of blog posts, I’m going to describe a PowerToy that I’ve been working on by telling you about how it was developed.  In addition to the short history of my particular project, I will touch on the following in this series:

  • Writing a Sidebar Gadget.
  • Accessing the Windows Search indexer APIs from script.
  • Hosting a .NET control in a Sidebar Gadget.
  • Accessing the Windows Search query APIs from .NET.
  • Leveraging the Windows Shell APIs to retrieve thumbnails, context menus, and more from search result items – also from .NET.

First, a bit of background.  Users of Windows Desktop Search on Windows XP may recall the presence of a tray icon and a status dialog like the one below:

WDS Status Dialog 

In Vista you can see the state of the indexer in the Control Panel, but many power users (including myself) would rather have this information more readily accessible, as well as gain greater control over the indexer’s behavior.  One evening shortly after WDS 3.0 wrapped up, I decided to take a look at the Sidebar Gadget SDK as I always thought it was a really cool technology.  My first attempt at a gadget was pretty simple, and looked like this:

An image of the original Gadget design    An image of the original Gadget design with the flyout.

After sending those screenshots to a couple of discussion lists inside the company, I immediately became inundated with requests for a copy of the gadget (as well as helpful suggestions for how to improve it).  Someone said, “We should add this to the list of powertoys!”  And so we did.

I went through another design, and had some suggestions that I should add a search box.  My next attempt looked like this:

Another image of an older Gadget design.

No one, including myself, liked the ugly white drop-down menu for the indexing speed.  So I decided to try something different, which turned out like this:

A more complete Gadget design

I quickly realized that ripping off Media Player buttons wasn’t the most aesthetically pleasing route to take.  But I liked the general pause/play/fast metaphor and got good feedback from my internal beta testers.  So I turned to Mike, one of our brilliant Design PMs, to help me with the look.  I’m very pleased with what he came up with, and here you can see the current gadget running on my system.

The near-final gadget.

Published Thursday, January 04, 2007 5:43 PM by BrandonLive

Comments

 

Adam Caudill’s Blog » Building a Windows PowerToy said:

January 4, 2007 9:38 PM
 

Claw said:

One thing I really miss in the Vista search bar that Windows Desktop Search had is the ability to create custom shortcuts.  Would it be possible to incorporate such a capability in this gadget?

January 6, 2007 1:15 AM
 

BrandonLive said:

Claw - That feature is back and better than ever!  Check back for the next in the series =)

January 6, 2007 4:03 AM
 

Claw said:

Excellent!  Thanks Brandon!

January 6, 2007 6:23 PM
 

frik85 said:

Request for Vista PowerToy collection:

I would like to see a query interface similar to the Longhorn alpha and maybe in combination with features from the Vista beta 1 one. Which are by far more advanced than what Vista RTM offers.

Preferable not implemented as  "Vista Sidebar Gadget" but as shell-extention for explorer.

Ben Betz already got the idea, and wrote some interesting comments  as addition to his blog entry "Query Composition: Building a search upon another search":

http://shellrevealed.com/blogs/shellblog/archive/2006/10/31/Query-Composition_3A00_-Building-a-search-upon-another-search.aspx

January 9, 2007 11:10 AM
 

jtmcnaught said:

Great Job on the Indexing Powertoy Brandon!  I think Vista is shaping up nicely and will help move the internet and its technologies forward at warp speed!  I love the compact design and the simple and intuitive interface that your worked so hard on.

January 31, 2007 3:50 PM
 

elliottwave said:

Good job Adam, it looks great are you open to more people testing it? ;)

February 6, 2007 11:22 AM
 

Mr Rogers said:

When's part 2 coming out?  I'm dieing to know how to use .Net with Gadgets.

February 8, 2007 6:36 PM
 

Xepol said:

Looks good.   Now we need a button on the toolbar in explorer windows for open command prompt here.

No, the one built into the shell is not useful as the right click icon in top left of the window is gone and the icon in the address bar isn't actually an icon any more, just  pretty picture, and finding a place to right click in a folder set to list is pretty much impossible if it's full of files.

And having to go up a folder to right click makes it more of a "open command prompt there" than here.  I don't want to change folders, I am already "here", I don't want to go "there" to make "here" "here", I'm already "here" and I want to say "here". hear me??

February 19, 2007 12:34 PM
 

kingbing said:

So, any news on part 2?

April 11, 2007 4:58 PM
 

ByteStar said:

I find the Gadget absolutely cool, which is exactly which I search.

Would you give it to me please?  can you email it to me?

- Ronald aka ByteStar

Thanks and greeting from Cologne in Germany.

June 19, 2007 4:22 AM
 

TheGeoff said:

I'm hoping for a Power Toy that will let the Title Bar of a window have the full path to a folder. The new address bar doo-dad is cool and all but sometimes I want to just see the path at the very top of the window.

July 17, 2007 6:00 PM
 

ryanbytes said:

Is this gadget available for download? I might be a complete dork and totally missing the link somewhere.

February 13, 2008 2:02 AM
 

Lawrence said:

I'd like to learn more from this series.. don't stop writing!

March 21, 2008 3:58 PM
 

switch said:

Everyone enjoys a power toy! Definitely like the look of this one.

But get somebody onto a virtual desktop powertoy! Vista notebooks really miss this feature! And the old calc powertoy - i used that all the time!

Much love to the powertoys, glad people can find the time to make them!

March 28, 2008 9:31 PM
Anonymous comments are disabled
Powered by Community Server, by Telligent Systems © 2006 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement.