Concerns about Spotlight and non-extensible types of data
I'm watching Apple's 2004 WWDC broadcast, and I was watching the part on Spotlight (48 minutes into it) and I got somewhat worried. Jobs was pitching this as being a feature from longhorn that they were bringing to market ahead of WinFS. I was watching and was impressed by the demonstrations I was seeing. He showed searching in Mail being incredibly fast and powerful. But I wasn't that enthusiastic. That just seemed like a catching up to features that have been in Office since Office v.X (which came out years ago on the mac). Ok, so then he showed something interesting. He went into Address Book and created a new search group with the following criteria "Show me all people with a birthday in the next seven days". A useful group to always remind you of upcoming birthdays that you should pay attention to. What worried me was something he said like "which you are not able to do since we've added the 'Birthday' field to the address book". Ugh. If this means what I think it means, then I'm suddenly far less satisfied with Spotlight vs. what WinFS gives me. In the spotlight system the metadata associated with a type doesn't seem to be extensible. I.e. if Apple had not provided this "birthday field" then I would be unable to add it myself to the existing "address type". While still powerful (and probably good enough for most people's needs), I want something a lot more. I want to be able to add a "cuteness" scale to my address book. I could then create a query that asked "show me all the people with a cuteness factor of within 10 miles of my current GPS coordinates". Without extensible metadata there is no way to do that. And that makes me an unhappy camper :-(
Does anyone know more about this? I know you can create plug-ins to extra metadata from existing types that the system doesn't know about. But can you add new metadata to existing types in the system? Could I, for example, add a "version" tag to every source file that I work on. Could i implement my revision control system on that metadata? (imagine being able to search through all versions of a file automatically!).
I don't just want fast searching and thing like search folders/groups. I want to be able to extend the system to pay attention to the metadata _i_ care about.
Also, it's not clear to me that they're providing anything more than an indexing service to search for things with. The other part of WinFS that intrigues me is that it provides a store for me that I can use as an application developer to place data in. I.e. if I want to write my own email app, i no longer have to create my own database to store emails and contacts in. Instead I can just place them straight in the WinFS store. I then get all of this additional functionality (searching, transactions, etc.) for free. Is this provided through spotlight?
I'm hoping that by the time this ships that that's the kind of functionality we'll be seeing. If not, then i think it's rather innapropriate for apple to claim longhorn functionality with what they're offering.
Another thing I'm interested in is the new RSS support in Safari. I'm so happy that they're adding this. However, it's unclear to me if I'm going to be able to use my .Mac account to write a blog with? It seems like an ideal match and a really useful thing for .Mac to have.