Analysis: Google prefetch
Lots of
news
going round on this, and even more hot air! Technically, this doesn't use
XMLHttp or anything like that--it's only a link
element. Is this a good
move?
For Google, yes. The way to look at markup is as an expression of the author's
(in this case Google's) intent. And rel="prefetch" does express a specific
intent, especially since the markup is only included in cases where Google
really thinks the searcher will be 'feeling lucky'.
For Firefox, yes. A markup-rendering application should express the intent of
the markup in whatever way makes the most sense to the user. Firefox includes
a preference to turn off this behavior, which is also good. Ignoring certain
aspects of an author's intent is a reasonable thing to do.
In some postings, people are saying things like "I prefer to only download
pages I actually want to visit not those somebody else thinks I want to
visit." Ultimately, that position is untenable for someone who feels the need
to utilize Google in the first place!
For non-Mozilla browsers, it's a push. If this development helps them do
useful things with intent-expressing markup, they will benefit, as will their
users. This is a hint, newly-rebanded IE team. :)
For security, it's possibly a slight minus. The prefetched page will of course
appear in your cache, and any cookies (including 3rd party) will get set. This
downside is mitigated by two things. 1) Firefox puts a special header on
prefetch requests, so if it came down to proving what you "clicked" on,
there's an evidence trail. But realistically, this is very unlikely to happen
due to Google's responsible implementation. The prefetch code only appears in
pages where the Google genie is nearly 100% likely that the page is a direct
match for what you have already searched for. In other words, you're not going
to get naughty or malware hits this way, unless you are specifically searching
for it (and then you already have problems!)
If someone has a counterexample to this, I'd love to see it.
Tags: google, prefetch, firefox, IE -m
Tolkien on writing instruments
"I hope you can read this! I cannot write decently without a proper table or
with a ball-point." -- Letters of J.R.R. Tolkien, #249. I quite agree!
Tags: tolkien, pens -m
nForms code posted
As promised, I
posted Ben Nolan's nForms code. The main holdup was getting my infrastructure
in place, in this case a wiki. Link.
In a world with DENG/UGO, xslt2xforms, and now
FormFaces, the need for this sort of thing is
diminished. Still, Ben's code was one of the earliest efforts of implementing
XForms in a browser, and it helped show people just how much is possible in
contemporary browsers. Directly or indirectly, this code has had a major
influence on the web.
That said, I'm posting it in exactly the condition I got it, which is
slightly, uh, broken. Apparently when Ben's circumstances changed enough for
him to stop work on this project, he was in the middle of a new round of
changes. I know this violates all kinds of rules about launching open source
projects and community building, but it is what it is.
Go have a look. If you figure anything out, or want to post questions, use the
discussion page on the wiki.
Tags: xforms, nforms, browser -m
XForms on OS X
The XForms situation on OS X has been a little disappointing. No OpenOffice
2.0 yet. No FormsPlayer (or any of the other IE-specific plugins). Flakey
X-Smiles. The bright spot is the upcoming FireFox 1.1, and now there's nightly
builds available.
Builds include SVG, XForms, and optimization. Keep an eye on this spot.
It is a nightly build, so don't be shocked if you encounter problems on a
given day.
Tags: osx, xforms, svg, firefox -m
HTML export from Pages
Exporting a Pages document to HTML: good news and bad news. What you actually
get is fairly clean, semantic XHTML 1.0 Transitional. Unfortunately, it's
riddled with style
attributes.
It does write an external CSS file, but in my simple test, it contained only
.Body
, .Heading
, (so far, so good) and .Gray
(oops).
It might be good enough to send to someone who only has to read it, but it's
nothing I'd want to post on the web. I'd love to see more of this stuff moved
into the external CSS file.
Tags: apple, pages, xhtml -m
Microformats on XML-Deviant
New column out, go read, my
children. This one includes a new microformat I named Examl. I wonder if the
Technorati guys would let me have a spot on their wiki to flesh it out...
Tags: microformats, xml, technorati -m
Updated Relax NG schemas for XForms
There's some good stuff going on in the
wiki revolving around updated Relax NG
schemas for XForms, go have a look. This work will soon percolate down to the
XForms validtor, so act now to get any comments in early.
While you're there, take a peek at the whitepapers
section if you haven't already seen.
The performance is a bit slow for the moment, due to issues at my provider.
I'm investigating.
Tags: xforms, schema, relaxng, xfv -m
Dojo browser toolkit
Something else I need to check out when I get a chance:
dojo.
Tags: browser, dojo -m
Adobe hiring forms guy
Apparently Adobe is
hiring
a senior forms guy. Hmmm. -m
Eliotte Rusty Harold's XForms slides
From
SDWest.
Good stuff.
Nice introductory quote: "XForms, a combination of two of the most successful
experiments ever performed with the Web: XML and forms." I wonder who said
that? ;)
Tags: xforms, training -m
JavaScript Python Deathmatch
Some will think me crazy for saying this, but JavaScript and Python are deeply
similar. (If only JS would get rid of the curly braces!) It's the little
things that trip me up though, and which ever language I've been working in
latest tends to dominate my thinking.
As a simple example, in JavaScript, objects and dictionaries are pretty much
identical, so you can do something like this: var a={}; a.b ="foo";
JavaScript
object literal syntax works as-is in Python (which I use to my advantage in my
precomputed lightning search
demo), but Python makes a distinction between an object and a dictionary.
In Python, it would be either a={}; a["b"]="foo"
or else class o: pass
followed by a=o(); a.b="foo"
. That first one would work in JavaScript too,
but I often prefer bare dot syntax.
It seems I am doomed to be conflicted for the forseeable future.
Tags: javascript, python -m
Must...finish...presentation
Finishing up my slides and presentation for BFMA Spring Forms
Institute. I'm thinking about GFDL-ing
these.
Tags: training, xml, forms -m
wiki.brainattic.info
A new central point for all the stuff I'm
working on. Be gentle.
Tags: wiki, brainattic -m
Link request getting results
Earlier this week, I asked for some
linkage. And I got
results
Thanks Ugo!
Tags: linktome -m
Another fan for _XForms Essentials_
Jake Burkey writes on Amazon: "This book is a
poor introduction to XForms. In a text that is only slightly larger than a
pamphlet, the author attempts to do much more than simply introduce XForms,
and the result is that nothing ends up being explained well." And still 3 of 5
stars!
Jake continues: "The relatively few pages of the author's own creation are
written in a prose so terse that in some places it reads like gibberish, and
the rest of the text is a reference that repeats what is available in the W3C
XForms and XPath specifications and the XForms for HTML Authors document."
I could comment on this, but I won't.
Tags: xforms, amazon, essentials -m
Google + Python + Functional programming
Still more good stuff today: an open-source Google
[library|https://sourceforge.net/projects/goog-goopy/] for functional
programming. I need more hours in the day...
Tags: google, python, programming -m
Opera introduces desktop SVG support
Kudos to Opera, for
releasing a version of
their browser with native SVG Tiny support. This is a sign of things to come.
Tags: opera, svg, desktop -m
Server-less Laszlo
Congrats go out to the Laszlo gang, who have now
delivered a server-free
edition. For many kinds of applications, the resulting Flash files can just be
deployed with no special server support. Just the kind of thing I needed to
get hacking on it.
Tags: laszlo, webapps, flash -m
EVDB announced
Congrats go out to Brian Dear, and his new company, EVDB
which will be announced just
down the road from here, in Scottsdale, AZ.
Tags: evdb, startups -m
New XML-Deviant: Deconstructing Certification
Last week I took the IBM XML certification, apparently one of the last of the
2000 free vouchers. In this week's issue of xml.com I
write about the experience and figure out what certification is really worth.
Have a look.
Tags: xml, certification, ibm -m
On a lighter note, sweeperscript
Minesweeper implemented in
XSLT (Doesn't work on
Safari)
Tags: games, xslt -m
Microsoft's Patently shameful behavior
After counting to ten, my thoughts on a particular Microsoft patent.
Only months after the W3C collectively stepped
up
to help defeat a ridiculous patent claim against Microsoft, the software giant
was granted one (though filed years earlier) for an even more ridiculous
patent on "Word-processing document stored in a single XML file that may be
manipulated by applications that understand XML". Excuse me?
Groklaw has
details. Microsoft is full of wonderful people. This isn't about people.
Now, anyone who knows the first thing about XML knows that the whole point
of it is to store data and documents, normally in a "single file", in an
agreed-upon way. By avoiding re-writing a parser and instead using a common
syntax, your files can easily be manipulated with other XML-compatible
software. That's why Microsoft's name is on the XML specification,
specifically to enable this class of use case.
Technical Measures: (Disclaimer, I'm not a lawyer, don't play one on TV.)
Microsoft threatened all kinds of invasive changes to IE in the face of the
Eolas patent on plugins. In that same spirit, I offer this:
Depending on the wording of the patent, splitting a wordprocessing document
into multiple files may or may not get around it.
Any "single-document" wordprocessing document should include this just before
the root element--
<?xmlwf mu?>
In XML terms, this is called a "processing instruction", or PI, which is
allowed pretty much anywhere, no matter what DTD or Schema is in force.
This particular PI intentionally violates the specification, specifically that
targets starting with 'xml' in any combination of upper or lower case are
forbidden. It may be that
something a bit stronger is needed for a true well-formedness violation as
opposed to stepping on a reserved portion of the spec, but the principle
remains the same.
Non-well-formed documents are, by definition, not XML, and so theoretically
not covered by the above patent.
For an XML application to process this, it would have to either pre-process to
remove the bogus PI, or somehow otherwise bend the rules of conformance. It's
ugly, and hopefully we won't be forced into it, but it's still better than the
alternative.
I think the W3C did the right thing to speak out against a bogus patent that
threatened the web. Let's hope Microsoft does the same.
Tags: microsoft, patent, xml, groklaw -m
MediaWiki pro wanted
If anyone knows how to help configure and tune MediaWiki, drop me a line. I
have a neat project lining up.
Tags: mediawiki, helpwanted -m
Shameless link request
If you find this blog useful, have read something useful or interesting here,
or are merely entertained by my ramblings, drop in a
link from your own weblog/web site/blogroll.
Thanks!
This has been a message from the Department of Shameless Self-Promotion.
Tags: linktome (use this tag for your own link-mendication) -m
Work on UBL input specifications proceeding
A quick progress update on the project that is "Everything a form author needs
to know to become productive with UBL." I've developed a meta-input
specification (catchy name, huh) that processes existing UBL reference
materials, along with some new info, into what eventually will be a complete
set of specifications for all the document types in UBL 1.1. This is roughly
symmetrical with G. Ken Holman's work on output specifciations. Read on for
some technical details.
I'm using Python, though at the moment the processing isn't anything that XSLT
couldn't handle. The Python payoff will come later, when the kinds of
processing get more sophisticated.
Right now, a working assumption is that every leaf name (of an attribute or
element without further element children) provides a unique enough context
within UBL for input-specification-specific things, like datatype and data
collection intent (input, select one, etc.).
In some dimensions, UBL is quite comprehensive--no UBL instance would normally
have all the elements and attributes defined in the spec. So which parts
does a "UBL form" need to implement? To help narrow things down, the input
specs are driven off SBS, the Small Business Subset of UBL. Once again thanks
to G. Ken Holman, there a number of ways to get at this data. The one I'm
using is a plain text file with lists of XPath expressions and cardinalities.
At this stage, the processing is little more than a merge operation.
Once input specifications are ready, they will be implementable in any
non-trivial forms language, including HTML, PDF, InfoPath, and yes, XForms. At
that point, there'll be a great need for implementers, which will no doubt
have additional comments directed toward the input specifications themselves.
Iteration will ensue, repeatedly. :)
Tags: ubl, forms, python -m
IBM XML Certification
As of yesterday, I am an IBM Certified Developer for XML and Related
Technologies. An upcoming XML-Deviant will explore the issue of XML
Certification. What is it? Is it valuable? Is it accurate? What is it really
testing? Sorry, but no answers will be provided. :)
Tags: xml, certification, ibm -m
Tongues in Trees
New XML-Deviant is out. Go
forth and read. :) "Tongues in Trees" nicely sums up this week's topic:
Unicode in XML.
I love picking these quotes. In fact, I spend hours poring over The Oxford
Dictionary of Quotations when I should be doing something productive. But I
especially love plopping a quote into a new (and ideally humorous) context.
Kind of like 'and the earth was without form...' in chapter 1 of XForms
Essentials.
Tags: writing, i18n, xml -m
XForms in Japan
Apparently, XForms is getting huge amounts of attention in Japan. Here's a
Japanese-language mailing
list.
Tags: xforms, japan -m
Shameless Self-Promotion
Being in business for yourself is kind of a Catch-22. When you're busy, boy,
are you ever busy. But just when it's least convenient to do any kind of
marketing slash networking, that's when it's most important. So even though I
don't have time for it, I nominate this week Shameless Self-Promotion week.
Did I mention I'm available for consulting?
I ran into two people in the last two days who weren't even aware that for the
last six months, my life has been dominated by self-employment. They should
have known better--no, not really. That actually relates to the first law of
marketing. I should really write down these laws, when I get time...
Meanwhile, brace yourselves to see more of me on different wavelengths.
Tags: marketing, Comment on this entry with brainattic -m
Linking in XHTML 2.0
On IBM developerWorks, an
article
describing the linking situation in XHTML 2.0. Did we finally get it right?
Can we go home now?
I agonized for a long time over the two sidebars on XLink and HLink,
respectively. I think you'll agree that they provide a concise description of
the historical background in a neutral-enough POV so that participants on
"both sides" could still agree.
I plan to update this article at least once, after the (first?) Last Call of
XHTML 2.0 comes out. Without spilling the beans, there are some changes in the
pipeline. I'll have more to say when the next public draft is out.
Tags: xhtml, xlink, w3c -m
Google Wake Up Call -- Continued
My XML-Deviant column got bumped this week, look for it next week. Previously,
I wrote that Google prefers a model where people go to create their own web
sites, rather than adding comments to existing sites. John Battelle
comments on another facet of
this strategy.
Tags: google, xml-deviant -m
XML Guild
A little reminder slash shameless plug here. Check out the XML
Guild if you're looking for some high-caliber XML
experts for your projects.
Tags: xml, xmlguild -m
Gödel, Escher, Bach, Tolkien
As is typical for me I'm reading (more than) two books in parallel, notably
GEB
and The Letters of J.R.R.
Tolkien.
Both are simply amazing works in their own right. Tolkien writes about his
experiences in two world wars, negotiates with and shops around for
publishers, meets often with C.S. Lewis and the 'inklings', and writes 20-page
responses to curious fans containing tons of details about Hobbits, Middle
Earth, Sauron, etc. Such a remarkable person, and still with a familiar
insecurity.
GEB, of course, is amazing too. My first time through, my brain got full and I
didn't absorb half of it. This time it makes more sense, and even fits in
better with some of my professional pursits (like functional programming).
Both amazing compilations. Both books that I'm immensely enjoying. Both
testaments to the heights of what people can accomplish. Check 'em out.
Tags: GEB, Tolkien, reading -m
Open Source at Adobe
Now this is interesting. I need to look a little
closer before offering any opinions. (but frames? Why??)
Tags: adobe, open source -m
Terms of use
For external use only. I doubt
the enforcability of click-through licenses anyway. Copyright 2005 Brain Attic, L.L.C. All rights reserved.