Today I listened to a good dozen
presentations from various groups on the subject of Web
Applications and Compound Documents.
Some interesting things came out. First, the only sustained
spontaneous clapping of the entire day came as someone suggested, in
response to my brief statement of how backwards
compatibility is critical, that it was about time to drop HTML and
Windows IE6 from the roadmap.
So I can assume from that that most people don't agree with the
whole backwards-compatibility thing!
Second: I was quite amused to see that, of all companies,
Microsoft, Red Hat, and Sun Microsystems actually agreed on
something. Namely that trying to standardise an API for sophisticated
applications is simply a non-starter. The argument, which I agree
with, is that such APIs are simply insanely complicated, and that making
interoperable implementations is nigh on impossible. Just look at the
trouble WINE has had trying to implement Win32 again — now
imagine if you had to write a spec to actually describe the entire
Win32 API in terms that could actually be implemented interoperably
without reverse engineering the first implementation as the WINE
people do.
What was funny was watching the other people then disagree with
them. Hint: If three of the most bitter rivals in the marketplace
— all of whom have extensive experience in the subject in
question — agree on something, then it is probably
true.
What we (Opera and Mozilla) want to do is simply extend HTML, DOM,
and CSS a bit so that the most common things are easier to do. Things
like my Web
Forms 2 proposal or my
server sent events proposal. These are simple extensions, not an
attempt to provide comprehensive platform APIs.
Another point that came out of the discussions is that, in case
there was any doubt, Internet Explorer in Longhorn will not support
XHTML or SVG. (Microsoft suggested they would need some significantly
more comprehensive test suites before they started working on
standards compliance again.)
After the meeting, a bunch of us had dinner at La Fiesta. Our table had three
Microsoft employees, two Red Hat employees, two Mozilla Foundation
employees, and an Opera Software employee. I bet you won't see
that very often.
Tomorrow we have another dozen presentations. I expect to see more
of the same; mostly people expounding on the virtues of XForms, SVG,
XHTML2, or their own radically new proprietary technologies, and explaining how Web
Applications would all be much better off if the W3C would go down
their chosen route.
We, of course, want the W3C to go down our chosen route.
Since there doesn't seem to be much consensus on doing that, though,
the question is what should we do now? Should we do our own
thing (in public of course) and then submit it to the W3C (or IETF or
ECMA) at some future point once we have initial implementations?
Should we simply do our own thing (Opera, Mozilla, and a few
interested parties) and forget standardisation altogether? Should we
just take part in whatever Web Applications working group the W3C sets
up and implement whatever comes out of that in several years' time,
despite being fully aware that few people will ever use it? (Which is a
foregone conclusion since it wouldn't work in Windows IE6.)
I'm learning towards the first of the three at the moment. I guess
the Opera and Mozilla people will have to discuss this in more detail
before we decide anything though.
I've been reading through some of the position papers putting
together some notes for the workshop
tomorrow.
Applications and documents are distinct
Why are they distinct? Microsoft Word documents can be used as
applications. Interactive encyclopedia multimedia applications can
be viewed as documents. Spreadsheets have long been both
simultaneously. Help systems now are able to interact with the user
and control other applications to help them along, but are clearly
still documentation.
In fact I would posit that users do not really understand the
difference between "applications" and "documents" at this stage, and
I would argue that they need not.
We
need a virtual machine that is defined using declarative mark-up,
rather than any particular language
How much is in the meta-language? Would you describe SVG in this
language? Would you describe CSS in this language? XPath? XML
Schema? XML itself? DOM?
Would this be able to describe XHTML2? XForms? What about XForms'
custom XPath functions?
How is this better than XBL?
It also seems that this would encourage a much wider range of
languages to be delivered over the Web, breaking the principle that
the number of Web
formats should be limited, which is important for
accessibility.
Presently,
three incompatible forms specs (Adobe eForms, Microsoft's Infopath,
W3C's XForms) are out in public view, yet none are supported by
assistive technology
It is not scripting that is inherently bad for accessibility, it
is device-specific APIs that are bad for accessibility. Any
technology that makes device-specific solutions easier than
device-independent ones will result in poor accessibility, as
authors use the simplest solutions.
With this in mind, the best solution might just be to redefine
parts of the existing scripting APIs to be device independent. For
example, redefine onclick to trigger whenever an
element is activated, not just when it is clicked.
We need profiles for mobile devices
If desktop and mobile units have different profiles, then mobile
units will not be able to view all the content aimed at desktops (as
most content is). It seems that in fact device independence would be
far better for mobile users than device-specific profiles.
SVG is the answer
SVG (or rather a drastically simplified version) is a possible
solution for the vector graphics requirements of an overall Web
Applications technology.
However, it would in my opinion be a bad solution for the core
technology. SVG is poor in terms of accessibility and semantics. For
example, how do you mark a part of an SVG application as an ordered
list? As a paragraph or header? As a dialog box or tabbing
control?
SVG is also much less suited for styling. For example, it is not
possible, with SVG, to do the radical changes in appearance as seen
in the CSS Zen Garden.
The ability to do this (without changing the markup) is an important
part of the Web.
After ditching bloo we then went back to Nadia's and Kevin's (who appears
to not have a URI) to play DDR. I sucked. Pav
and dbaron were a bit better. Nadia and Kevin have quite clearly
practiced this a lot and were quite impressively coordinated, which
was scary.
Tomorrow afternoon we're probably going to go see Soul
Plane since Pavlov is really set on seeing it.
In between all these good times I've also been doing some work on
the CSS2.1 test suite, converting the CSS1 tests to the new format
(more on that later when I've finished doing it). I'm getting there
— only 28 more tests to convert!
The weekend. David had bought himself a Linksys wireless router
when we went to Fry's on Friday, and on Saturday he installed it. It
was disappointingly easy. Where's the fun if things Just Work?
(Actually it turns out it didn't Just Work; the ethernet ports were
broken.)
In the afternoon Ben, Kerz, David and I went up to the Lick Observatory
on Mount Hamilton. It was a really nice ride with some great views of
the valley. I hadn't realised quite how much smog there was here. It's
rather scary. I don't remember seeing smog back in Norway.
We were given a nice talk by one of the amateur astronomers lucky
enough to get himself a job at the observatory, and then drove back
home. On the way, Ben was annoyed by a Toyota driver who was weaving
all over his lane.
Yesterday evening David and I went to Andale Taqueria in Palo Alto.
I had a small chicken taco. It was good. Today I'm planning to go to
San Francisco to meet Bloo and
see Shrek 2. Ought to be fun.
The agenda for the
workshop is now available. Looks like David and I are
going to give a joint presentation tuesday afternoon. We're right
before Microsoft, which could be interesting.
I'm very much at a loss as to what to expect from this workshop. On
the one hand I really can't see us convincing everyone else that the
solution is to continue down the HTML path. After all, it's not in the
interests of most of the other attendees. Many of them are wanting to
sell SVG, XForms, or XHTML products, and most of those who aren't are
probably more concerned with developing a good theoretical solution
than addressing the unfortunate pragmatic needs of today's
authors.
I managed to convince Pavlov to see The Day After
Tomorrow instead of Soul Plane. It was pretty
good. I was quite impressed with the CG — nearly every shot had
them. (After listening to lots of SG-1 audio commentaries, I
appreciate effects a lot more.)
I had a Grandma's Especial with flour tortillas for lunch, and we
just got back from another run to Burrito Real for dinner. I'm getting
my year's fill of Mexican food all at once in this trip, I think.
We spent the evening playing Monopoly. The first proper game for 3
years! You can see the results on our results page
(it's the 2004-05-28 game).
I have no idea what we're going to be doing this weekend, but I
think it'll involve some sleeping, given the length of this game.