See also: IRC log
<scribe> Chair pro-tem: Ed
Approve minutes
-> http://www.w3.org/2006/10/31-tagmem-minutes.html
Approved
Next meeting: 14 Nov 2006
Any regrets? None heard.
<noah> I will be here on the 14th, but probably not the 21st
Accept this agenda?
-> http://www.w3.org/2001/tag/2006/11/07-agenda.html
Accepted.
Henry: Hypertext CG have issued a
note and called a meeting.
... I'm going with my TAG hat on because it's nearby.
Henry's submission: http://www.w3.org/2006/08/backplane/
Henry: User Agent becomes the platform and the backplane becomes "the operating system" so we better design one.
TV: That's an interesting
summary, but in the hope of not killing the work before it
starts, let's not call it an OS.
... The analogy is correct, but a real OS does a lot of stuff
with hardware and managing APIs and things that aren't
applicable here.
... If you throw in the OS word, it'll just raise
controversy.
Henry: Fair enough.
TV: I'm also saying this because
at the web app. workshop of a couple of years ago there was
already disagreement about the OS-nature of the work.
... What this is talking about and what OSes of 2006 actually
do is quite different.
... I haven't been involved in this work for about 6 months,
but what we observed was that a lot of web applications are
relying on a core set of services and they're reinventing them
over and over.
... In some sense, if you look at SMIL, Voice, the visual web,
SVG, etc., essentially everyone is doing the same thing: having
some data, accessing it some how, and rendering it somehow for
the user.
... The backplane thought was that some of this could be
factored out so that it could be common.
... So the backplane is talking about what services are
available, but don't call it an OS.
Henry: Point taken; I'll remove the word, but leave the question it provokes.
<ht> http://www.w3.org/2006/08/backplane/
Henry: Let's consider the document.
<ht> http://lists.w3.org/Archives/Member/tag/2006Nov/att-0002/backplane_thoughts.html
Ed: It's a shame Tim and Dan aren't here because this seems to be a different view of the web.
Noah: I had understood a lot of Tim's concerns (about web services) to have been about use of URIs and HTTP; the backplane is more about HTML.
Henry: Compositionality is not highly emphasized here. You could start from the notion of compositionality: XML as nested domains. The other is to start from ACTION: from events.
<noah> Actually, I don't know the backplane well enough to say it's "more" about HTML, but I heard Ed say a lot about HTML, and I certainly think HTML is more pertinent to the backplane discussion than it has been to our Web Services discussion.
Henry: The backplane is focusing
on events. You [Ed] might well be right that an alternative
that Tim and I might like better is to focus on the
hierarchical structure of documents and their islands of
semantic import in namespaces.
... The CDF feeds into this, of course.
Noah: I had assumed that the two
were viewed as two sides of the same coin.
... I would have thought that if you believe in this at all,
success is having the two (eventing and compositionality) come
out together.
... In passing, I note, that composability may also be relevant
to the tagSoup discussion.
<ht> Ah, I was forgetting Tim's preferred hook for this, namely self-describing
Noah: The self-describing web tends to be viewed recursively.
Henry: At the moment, you
basically have to read whole documents. Although you can do it
asynchronously, all you can do is build a tree with them.
... That's just not what you want to do all the time. I'd like
to see a place to say that.
TV: These are two ends of a
spectrum.
... You start at the root, you recurse through, following your
nose and all the right things happen.
... That's one end.
... The middle of the continuum is where you have not only the
hierarchy, but you also have interaction. There are changes in
the read/event/print loop.
... And at the other end of the spectrum, you have today's HTML
pages with AJAX. Because there's no abstraction, every
programmer basically redevelops the read/event/print
loop.
... The part of the app that you keep rewriting that you should
only have to write once is that aspect where you listen to
events and bind your event handlers. Responding to events, you
do your post and copy the returned bits into the DOM.
... There's no architecture behind what we're doing now, so
everyone reinvents the interaction paradigm.
... In the world were you do everything with your bare hands,
you can do all of it.
Henry: That connects up with something else that occurred to me: one of the odd things about the AJAX/Web2.0 world we're in today is the print part of the loop; you have to set properties on outerHTML to get something to the reader.
TV: It's odd here, but it's also
odd in every other architecture we've had. In most UIs, you put
some value somewhere and it just shows up in all the right
places.
... Today, if you do an AJAX request to get a number back, and
you want to put it on the page in two places, you have to do it
all with your bare hands.
... If you take something reasonably complex, like Google
Calendar, you find that the user agent side is a mess of frames
and iframes and things. The server side is actually a well
behaved, reasonable model.
... What flows back and forth is actually an Atom stream that's
fully coherent.
... Those are the two extremes and you actually see everything
in between as well.
... So there's interest in making some of the user-facing code
simpler and more reusable.
Henry: Bullet points:
... Push vs. pull
... Pipelines (a la XProc)
TV: The goal isn't to eliminate
the need for writing JavaScript, that'll just start a religious
argument
...Rather: I think you should say that the things that are
simple, that everyone knows how to do, you shouldn't have to
write a lot of custom script for
Noah: I think what JS gives
people is the ability to change the platform without
reinstalling the client.
... When something becomes stable enough, it's useful to talk
about having it turn up in the platform.
... But there are different ways to build function libraries.
You can do it with JavaScript that's imperative, or you can do
it with JavaScript that quietly interprets other declarative
code.
<ht> ... and then you can have a declarative platform, at a higher level
<ht> ... But I also agree that you have to be able to do the e.g. Google-maps innovation by writing large amounts of imperative code
<ht> ER: AJAX is getting pervasive already
Noah: Suppose someone has a drag-and-drop library. They need a fairly sophisticated platform to even explore that space.
<ht> NM: But it's not baked into the browser yet
Noah: The interesting question is,
does the code that goes with that library have an imperative
programming model, or is it interpreting something more
declarative.
... Then when the library moves into the platform, you lose all
the imperative stuff and you get all the "least power"
benefits.
Henry: That's precisely why I
made the pipeline observation, because if what you want to do
is a sequence of operations (XSLT, validation, XInclude, etc.)
then you should be able to describe that and get the benefits
that you just mentioned because all of those functionalities
are already in the platform.
... Not that that applies to drag-and-drop; that's an
interesting alternative example.
... We were just making the same point, I think.
Noah: Ah, now I see. I think you
should turn the slide around, as you just did.
... Then pipelines as an example in the domain where it applies
make sense, though I'm not sure that's in the 80/20.
Henry: The third point: Making events the common currency does seem to beg the same questions as blackboard architectures in AI and they always fail.
TV: They fail because of a
scaling issue.
... The question to ask is, to what level of scalability does
scalabilyt matter in an architecture that you put together for
web applications.
<ht> The kind of scalability I'm talking about is the n(n-1) problem that arises as we combine n components
TV: I think if you try to get an architecture that scales too far, it will fail for the simple cases that are the current focus
<ht> not data-scalability
Henry: That's not the direction I
was worried about, I was worried about the fact that such
architectures assume that there will be some universal language
that all systems will be able to interpret.
... The common language problem seems like it *is likely to
arise* in the blackplane architecture being described.
TV: I agree the problem might arise, but if you keep it for pure data and data interchange and some level of eventing where the events are just for changing and rendering data...
Henry: That's not what's going to happen and you know it; people are going to start designing events to have one part of the application communicate with another.
TV: I agree, if events are the exclusive means of communication, there will be a problem
Henry: next point: What about
extensibility and versioning?
... There isn't any mention of this.
TV: You could essentially be seen
as saying, "don't do this because of all these problems"
... I think it behooves us as the TAG to say if you can't do
this because of all these problems, what can you do?
Henry: I think you're right. This reads as criticism and it needs to be changed in tone so that it makes clear some issues that do need to be squarely in view.
Ed: But we don't want them to do these things in isolation right?
Henry: Yes, but I don't think
we've solved any of these.
... They seem to be perilously close to getting into "DLL
hell"
... Modularity is good in principle, but it has the problem of
managing your modules.
TV: The APIs that web apps build
on are so shallow that they seem to be managing to avoid the
DLL hell problem.
... As long as you use shallow, type-sensitive data APIs, you
don't end up with a very deep versioning problem.
... Because you're binding to a very shallow API, the changes
you have to make are relatively managable.
Noah: The reason you get really
bad DLL hell on an OS is because a broad range of things you do
tend to use the same shared libraries. On the web, for a
variety of reasons, you don't get so much common code.
... Typically, if I go to one particular Google map mashup
today and then another five minutes later, they don't
communicate with each other so the problems are less
severe.
... As things like the live clipboard arise, I think there may
be a data format hell.
TV: I think the data format hell
is a real possibility.
... If you compare Windows and Unix, the Unix answer to DLLs
was to have a common API and communicate by shipping data
around.
... The way mashups work today is much closer in spirit to the
socket-based data linkage of Unix.
Henry: And the final thing was:
What can I bookmark? What constitutes a resource in this
world?
... What you see on your screen is a long way from the URI that
you typed.
TV: I think it may be a mistake for the TAG to assume that it can say the same things with this modern technology that it could say with older mechanisms like URIs for HTTP
Noah: If you look at what Google Maps does, it's a short step from what is provided now to something that provides URIs for each of the steps.
TV: More importantly, is the URI mechanism that we have today rich enough to express everything we need to express. I don't think so.
Noah: But then the question is about
what the contract is between the client and the server.
... The client is typically responsible for interpreting any fragment ids
supplied to
... it, but that doesn't say much about constructing new ones.
... I don't think there's in all cases a prohibition against the client
"constructing"
... URIs by altering things after the ? or even in the path segments
before.
... These manipulations are legal insofar as the authority for the URI has
documented
... the URI assignment policy. Given that, in many cases, the Javascript
doing
... that manipulation is sourced from that authority, I think it's often
acceptable.
... So, it's not clear to me that client side construction of URIs is
limited
... to minting new fragids.
Scribe realizes those two sentences are in conflict; attributes that to scribal error.
Henry: I'm not going to send this in as representing the TAGs opinion, but I will take all of it and factor it into what I send to the workshop tomorrow morning.
<scribe> Chair: Vincent
<noah> email announcing new version: http://lists.w3.org/Archives/Public/www-tag/2006Nov/0042.html
Vincent: Can you summarize?
Noah: Certainly.
<noah> Latest draft: http://www.w3.org/2001/tag/doc/metaDataInURI-31-20061107.html
<noah> Main change in section 2.8: http://www.w3.org/2001/tag/doc/metaDataInURI-31-20061107.html#confusingmalicious
Noah: We discussed the finding at
the f2f
... I think it's fair to say that with the exception of major
concerns about Section 2.8, the other changes were
straightforward.
... I have completely rewritten 2.8.
... I started with a URI that ended ".jpeg" and served an
executable media type. Reactions were mostly negative.
... What I took away was that the concerns were: 1. generally
users are confused, in a broad sense, about expectations on the
web and extensions in URIs;
... 2. when you actually try to save a file, what happens and
when is it appropriate to look at the extension in the
URI
... and 3. something about when people attempt to use this
maliciously.
Vincent: Probably next week; I
just wanted an update.
... Any questions?
Ed: Basically, I think this addresses the concerns that I had. I still have some discomfort, but I'm fine with it as it stands.
Noah: Did I cover what the TAG wanted at the f2f?
Ed: I think so.
Noah: Good, because as I went
over the minutes, I had some confusion.
... To clarify: I realized after I left Vancouver that part of
the story was a link around an image and not about a "naked"
image tag.
Ed: You say maliciousness is not acceptable, but there's nothing here that's going to prevent that.
Noah: If you look at my examples, I used to have a jpeg-that-wasn't-a-jpeg, but now all the names and media-types basically line up.
Ed: The examples I've seen in the real world are: a thumbnail that you click on to open the image but the link is really to an executable. It opens an image (to render the image), but also may do something malicious.
Noah: I thought people wanted the "click to save" example, but if the "click and execute" example was what was intended, you should let me know.
<DaveO_TAG> On the issue of MetadataInURI, the topic has come up on REST-discuss.
Vincent: I'll make sure Dan looks; hopefully next week we can approve it.
<DaveO_TAG> Roy expressed some reservations about the doc
Noah: There's been a stream of public comments that have included some criticism, but I hope this draft addresses those concerns.
Vincent: Noah's action is completed.
<DaveO_TAG> He said "Er, not since it was completely rewritten -- I haven't even reviewed it."
<noah> Actually, I'd say we have a mix of positive and negative comments, and I am optimistic that the draft addresses at least some of the concerns. I need to doublecheck which other concerns I may have missed.
<DaveO_TAG> "The first sentence, for example, is problematic."
Vincent: I think we're done, but Ian had some minor comments.
TV: My view is that they're
editorial and we shouldn't open the issue again.
... Anyone on the team can fix them, but as editor, I'm not
willing to go through the cycle again.
<noah> I have logs of comments on metadata in URI from Roy on March 28. DaveO: do you have something newer from him?
Vincent: I'll take a look and see if I can get them addressed
<noah> If it's on REST-discuss, we need to get him to send to www-tag (and it's getting late)
Vincent: What's next?
Norm: Does it make sense to see how the backplane workshop falls out? That seems related to me, but maybe it's not.
Vincent: Should we consider attempting to draft a finding on this issue?
Noah: I think we should agree not to do a finding until there's more discussion.
Vincent: You're right, it's
certainly too early to draft something, but having someone
committed to edit a putative finding might be a good
thing.
... But maybe it's too early for that too.
TV: I don't think the backplane meeting will shed much light on this issue.
Henry: I think the backplane folks are likely to say "Yeah, if you solve those problems it'll make what we're doing more valuable". But they aren't going to address those problems.
Vincent: Ok, let's see what happens in the next few days or weeks.
<DaveO_TAG> Roy said something on REST-Discuss
<DaveO_TAG> at http://tech.groups.yahoo.com/group/rest-discuss/message/6708
Vincent: Ok. Teleconference next week.
Adjourned.