What does a property handler accomplish?

A property handler is the piece of code that enables you to see the properties about your files as in the picture below.  Don’t worry about the ambiguity in this sentence; I will be much more specific concerning what component does what in later posts. Here I’ve created three .book files.  This is a file type…

8

Property System Layers and Extensibility Points

It’s easy to get confused about what points of extensibility exist and what layer provide what services.  This isn’t helped by the fact that we’ve lumped a bunch of things into the property system, but I’ll try to diagram this out here and in future posts. The coercion layer is topmost.  It’s job is to ensure that…

4

Understanding the Role of Property Handlers

Knowing what you are trying to accomplish is the first step to using the property system.  Property handlers provide a specific set of services which support specific behaviors in the Windows shell.  So let’s delve into the role of a property handler and how it relates to other components. As a data flow diagram, a property…

4

Properties coding expedition #1 – Binding to an item

The goal of this first expedition is to print lists of properties from items.  This will give insight into the origins and capabilities of these different properties.  Feel free to follow along and try out different things.  There’s a lot to explore. I am splitting this and future programming expeditions into segments so that I can…

3

Coding to the Windows SDK

In the near future I’ll be posting code examples that compile and run.  In case you’d like to follow along, here’s my personal setup.  My code should compile on RC1 also, so go ahead and use RC1 if that’s what you can get a hold of. Windows Vista Sept CTP (Build 5728) The matching Windows…

3

Property Handler Decisions and Preparation

Viewed as a data flow component, a property handler has a single file stream input and outputs a one or more properties.  Unfortunately, writing one requires making many decisions before you even set eyes on the code.  Let’s look at a few of these preparations. First, pick a file type.  You’ll be writing a property…

3

The fickle critic

Personally, I have trouble using the “I liked it” scale ala Netflix.  A movie that garners 5 stars one week only finds 4 another week.  In a way, this arises from ambiguity present even within the “I liked it” scale.  Did I like it because I was in the mood for a happy film?  Or…

3

The split personality critic

The 5 star rating control is misused in most applications today.  How can I say that?  What’s more natural than selecting 5 stars for a movie or song?  Actually, the intuitive nature of the rating star control is the cause of this subtle usability issue. Ratings have multiple interpretations.  Does 5 stars mean I loved…

3

Writing properties #3 – Which properties are writable?

While we don’t have a table of properties and filetypes that are writable, there is a programmatic method to determine if a given property can be written to a given property handler.  Here’s how it works: First, properties can be designated innate.  This means they are supposed to be read-only system-wide regardless of filetype.  To check…

3

Pandora and the Music Genome Project

A coworker recently turned me onto Pandora.com, a new music service backed by the Music Genome Project.  The concept is to create a radio station tailored to your exact likes and dislikes.  You tell it an artist you enjoy and it decodes what makes you enjoy that style of music.  What I like about this…

3