[+]Twitter Add to Google! Add to My Yahoo! Subscribe with Bloglines

Archived Posts from “Databases”

On Personalization and Application

18

December

A quote by Sep Kamvar repeated by Greg Linden sparked some thoughts on personalization that I’ve managed to boil down to a simple old age adage:

It’s what people do, not what they say that matters when it comes to personalization.

This is why I believe contextual and personalized attention data is the most important personal information one can aggregate. I see this happening with services like Google’s Search History and Twitter/Facebook’s activity feeds at the very edges of this personalization movement.

It’s an area I believe the semantic web needs to work on in order to fill out the middle and become successfully adopted. Standardizing actions on the side of the developer and openly(with privacy in mind) recording these actions with dynamic ontologies. Associating the data with these actions. I say dynamic because meaning often changes over time and as Sep highlighted; checking every box and labeling someone as having a general interest doesn’t necessarily return useful results. It’s the history that matters (why dynamic ontologies) and personal information has to be personal to be effective.

Twine and other sites like it are interesting to me in capturing the data they do for a number reasons, however they all seem to be one shop shows, only capturing some attention from their own narrow usage patterns. This is where I see the real power to the people; aggregating attention cross-application and intelligently customizing usage for user experience. VRM is one area that comes to mind to manage all of this.

The way I see it, right now the only actions we have on users visiting sites are; entry, internal actions and exit. I think this is why only search history and location are returning results. I’m more likely to visit local business and services more if the ads are relevant to my location and search contexts. The closer something is, the more personal it often feels and closer to instant gratification you become.

Contexts include the who what where when how and why of a persons action. Who they are and their history of performing actions, what they’re looking for in relation to, where they are while seeking that. When they are seeking the what aka the time/day, how they’re attempting to obtain their goal and why being their motivation for doing so.

Who is the history - The records of a persons actions.
What is they seek - The goal aka resource aka search term
Where they are - Their location (IP address / wifi mesh / GPS location)
When they’re seeking - Is it after work? Middle of the day? Just after school?
How they’re seeking - What service or applications are they utilizing? Voice, Phone or Web?
Why they’re motivated - Is it research or are they in the mood to purchase something? History is telling.

If I’ve missed any, please leave a comment.

I believe this is why results always come back to context as Sep highlights with his statement that “recent searches are much more important.” It’s where they are and what people are doing right now.

Having said that, another area I see yet to be fully exploited is using time-varying attention information to predict what users may be motivated to do next or soon and return results(not necessarily all of them) that reflect that before the user even knows they want them. I call this the consumer cycle as most people are just patterns stuck in a cycle that evolves over time. I hear Microsoft Research are doing this with Visual Studio by tracking actions and customizing the interface. I know Werner Vogel’s of Amazon in a recent InfoQ video displayed a diagram Jeff Bezos drew that highlights their business growth cycle and the feedback loop. People are growth cycles too and if you can figure out those patterns then and you can pander to their every whim even before they know they have them. Targeted suggestion can really be a powerful form of persuasion. Friends do it to other friends all the time. This is why it’s important to also know a person’s friends and in what contexts they pay attention to them. A friend might buy a new phone and the person ask them about that purchase. Great time to personalize an experience and display the information from other sources(friends/known sites) the user can use.

What I find interesting is that all of this is related to a more fine-grain approach to handling users personal data in applications. The decision is then one of how dynamic to make an application such that collaboration and convenience are enhanced and not sacrificed in the overall user experience. One person might require a completely different experience to the next. So how best then to share those disparate world views? Links with history and session data that form historical views on data comes to mind. I’ve not seen much work on this regard but I haven’t really look that hard. Still, I believe this will be vital for the platforms of the future. Avi’s Seaside has been one of the few attempts I do know about, if you know any others I’d like to hear about them.

Now all of this dynamic data collection requires architecture to support it. I’m of the belief that a deterministic approach with history and session data stored for context recall may be the best approach to personalization across future contexts. Most of my research is focused in this area, so it better be. :)

With that, I’m off to revise my Combinatory Logic skills.


On Metadata & Podcasting Metrics - Files vs Databases

22

February

This post by Jon on persistent metadata prompted some thoughts I've had a while now. Only after reading his post did I finally take the time to sit down and flesh out what's been floating in my head.

To answer Jon, I believe the truth lies in the 'file system'. :)

Here are my thoughts: 

What about a "universal file format metawrapper". Such that the wrapped files can only be opened by applications that support the format and treat metadata nicely. The format as having a header with metadata about the file type it contains for OS file typing, a unique identifier(to solve your photo tagging dump in a directory issues) and with other metadata that users add to the file. Applications not in the know wouldn't be able to read the files and corrupt the metadata because of the wrapper.

While it's not a solution for existing application file types, as that would likely have to be done at file system level with an API, I believe it would cater for future usage.

Operating systems of the future(and upgrades to existing ones) could natively support this metawrapper such that legacy applications could read and write the files. Redundancy could be achieved for legacy apps on native metawrapper OSs by storing the metadata in the existing file formats and in the metawrapper. The OS backing up known filetype metadata. Metawrapper plugins could exist to extend that. When there's a change the user could be alerted by the OS to take action. New formats that people create would use the metawrapper. The metawrapper having redundancy in the form of a metadata update history.

And maybe if we plugged this into web services, we could annote URIs with metadata using a standardised ReSTful metawrapper API and build a data web.

Also important for me is the ability to share additional metadata back with the source I get that data from. Podcasting metrics come to mind. Human computation tasks as well. I'd like to be able to download a photo, tag it in whatever program I choose and have that additional information sent to the origin host if I so choose to opt-in. All done through discoverable ReST webservices. A simple WADL, PEP(HTTP Extension Framework) or derivative of description language being pointed to in the metadata contained in the photo or say podcast.

Podcast metrics would be possible this way if a standard could be agreed upon. A player plays the audio, finds the metadata namespace saying it supports X standard and tracks what you listen to, stores that in it's database for later syncing or if it's always-connected, syncs to the host using the service discovery language and connects to a port(cometd/jabber). One could additionally have it sync to a personal server. Say your OpenID or I-names provider so that anywhere you go anyone could know what your currently listening to, have rated it, etc. And you could get the latest album art, current band news, other music like it, and anything else people can think up.


Recent Links

Recent Links

-->
Recent Comments
  • Craig Overend: Fixed, thanks Josh. English and explaining myself clearly has never been a strength of mine. Glad you...
  • Josh: Hey, just wanted to point out it should be "you're", as in "you are". Otherwise, wow - very in depth post....
  • Joe Andrieu: Craig, As I've mentioned elsewhere, user-driven is a solid improvement over user-centric, both...
  • Niall Kennedy: Asking the site visitor to opt-in would defeat the purpose in my particular case. I am trying to...
  • Craig Overend: Without qualifying yourself I find that comment facetious. If your playing on my use of the term...