afforded agents
it's taken some time, but i now have a pretty good idea of what i will be working on for the next year or so. i even have a sufficiently odd name for this work (always important, of course[grin]):
Afforded Agents
sufficiently, odd, right?
the problem
currently, the "device trend" is going up; we're getting more and more devices connected to the internet every day. last year Ericsson CEO Hans Vestberg predicted we'll reach 50 billion devices by 2020. not bad, eh?
along with this device explosion is a parallel (related) trend to progam each device individually; treat each new model to it's own "native" coding. billions of snowflakes.
another (unrelated) trend is the explosion of "open data." the notion that data should be freely available for anyone to access and use. and this is a big deal. last August, Franz, Inc reported successfully loading and querying a trillion triples.
a lot is good, right?
not all the time.
un-afforded
currently all these devices and all this data are just 'floating about' w/o any real connections. oh, yeah, they can be connected by people writing custom (usually one-off) programs that run on these devices and push and pull the same "open data" around, but that's the smallest of accomplishments. and this kind of work doesn't scale at the WWW level.
first, the data needs to be "afforded" - we need to see not just the "what" in a message, but also the "how." i appreciate the work the Semantic Web community has done in order to get folks thinking about the idea of messages having "meaning"; that's great. unfortunately, the same community has not done well in getting folks thinking about the idea of messages having "affordance" - use-ability built right into the data itself.
the first step in a new level of the WWW is "affording" data; making sure that "use-ability" travels with the data itself. then data is truely open and available. and it's scalable across any device, at any distance, in any location.
not enough agents
while the trend has been going up for devices and data, the trend has been going down for user agents. after more twenty years, the only really viable user agent for the internet is the common Web browser.
and that's just sad.
and worse, some browser vendors see their product as the "platform of the future." that's fine for browsers, but bad for the WWW; esp. if this is seen as the "end game" of user agent development.
the next step: we don't need more powerful user agents, we need more, less powerful, user agents
small, focused, fluent, composable
a much better, more robust future of the WWW is one where there are a wide variety of small, focused user agents. agents that do just a few things (possibly only one thing) very well. agents that understand maybe just one vocabulary; that can navigate a limited space on the WWW. one that understands a small set of data affordances.
and more than just fluent in one small thing, these tiny user-agents need to be 'composable' - need to be able to work together to accomplish more complex tasks by passing things between each other. we don't need a single super-agent that knows lots of vocabularies, understands lots of data affordances, etc. we need tiny SMEs that we can count on to accomplish a single goal effectively and can then pass their results to other SMEs. think of a search agent talking to a purchase agent talking to a delivery agent, etc.
once that starts to happen; once the trend for user agents starts to rise in the same "hockey stick" pattern shown by devices and data stores, then we have some possibilities. then we can get some things done!
we can do it, we have the technology
the good news is everything i've described is do-able. we have a long history of designing and expressing vocabularies, strong understanding of affordances and use-ability that can be applied to data (not just UIs), and boat-loads of data out there waiting to be "afforded." all that is needed, IMO, is some sustained effort on building, testing, and refining this idea of focused user-agents. and that's not complicated, it's just hard work that will take some time.
and that's what i plan to be working on for the near future. who wants to join me?