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

Archived Posts from “Deterministic”

Random thoughts on Function-level Type Heirarchies & Life

20

December

I’ve been reading Backus among other things, attempting to grasp the differences between first-order predicate logic, function-level, and variable-level combinatory logic. One area that has stood out for me in reading Backus was the notion that function-level may be more efficient to reason about than the more user-friendly variable-level.

[rant] In some circles I understand function-level is also known as pointfree (or pointless) while the most common variable-level usages appears to be lambda calculus based. Talk about my brain having a lexical meltdown. Reading Backus is bad enough… but trying to understand just what pure functional programming is ain’t easy either when there appears to be no consensus on exactly what that means. [/rant]

Backus goes on after his efficiency claim to discuss the notion of using primitive functions to compose functional forms and type hierarchies from composing those functional forms in succession. This immediately piqued my interest because in the back of my mind it had been nagging me why someone could possibly continue along the function-level line of thought when the mainstream had moved on to the more popular get-things-done lambda calculus way of doing things.

Then something struck me. Something I’ve thought about with regard to intelligence and that of the realm of referential transparency and the way in which we all operate in life. I began to draw parallels between the notion of type hierarchies, atoms, elements, molecules, proteins, enzymes, cells and organisms. The composition of primitive functions into these functional forms. The hierarchies these then build based upon the physical properties (quantum mechanics?) of those primitive functions and the unique ways in which functions may apply to others creating yet more uniquely propertied functional forms. The complexity of properties of these functions meaning some will be more inherently stable than others (potentially the types). That these unique properties could themselves be derived from evolutionary encapsulation. In other words; turtles all the way down.

Months back I set out to model my own theory of encapsulation. Initially known as my Principal of Rational Dynamic Complexity. Later I prefixed Robust. Then after finding that difficult to remember it became the Law of Encapsulation with each of those elements becimong principles. My The Law of Encapsulation states that; for any complex system to evolve in a constrained environment(eg. the earth) it must be dynamic yet rational in order to be robust.

So while others may prefer the variable world of the lambda calculus to get things done today, tomorrow is a new day, one I believe may yet see the rise of function-level. Only your likely to never know it because it will come naturally to you. :P In other words… an interface abstraction. Just as our bodies are for our brains.


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.


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...