Web


9
Jan 07

XML Hypertext: Not Dead, Merely Resting?

“The dreams of XML hypertext are dead, or at least thoroughly dormant”

Simon St Laurent’s XML.com article on XQuery is an interesting read. But I think the above statement is worth discussing. Is XML hypertext really dead? Or, if its dormant, is it going to remain so?
Firstly what is XML hypertext? I presume from the context of the quote that Simon is referring to client side use of XML on the web. To me this incorporates several use cases including both the use of XML for presentation (XHTML, SVG, etc) and for data publishing (RSS, Atom, XML based web services). There is an obvious need for linking in both of these use cases.
Where I’d agree with St. Laurent is that most of the existing work here is dormant or duplicated. For example while SVG makes use of XLink, its not used in RSS and Atom, and was deemed not flexible enough for use in XHTML due to issues with attribute naming. However the basic model, labelled links with activation indicators (onLoad, onClick, etc) seems to be shared across vocabularies. But still, XLink has been a Recommendation since 2001 and has yet to set the world on fire.
However where I’d disagree with Simon is that XLink or XML hypertext is thoroughly dormant. Much as I hate to make predictions, I think we’re only just gaining any appreciation of the power of producing good hypertext, because we’re only now seeing the large scale publishing of machine-processable, interrelated data that makes linking worthwhile.
I think growing appreciation of the REST architecture is driving a greater understanding of the benefits of highly linked resources. Sure, we all know its good practice to avoid making web pages that are “dead ends”, but not everyone is publishing data to the same guidelines. The principle of “Hypermedia as the engine of application state” is still not widely understood; it’s a piece of REST Zen that benefits from practical implementation.
Hypertext simplifies client-side development as it avoids spreading the requirement that the client must know how to construct URIs: this reduces coupling. It also simplifies client logic as “the navigation options” (i.e. state transfers) can be presented by the server as the result of previous interactions; the client can simply select from amongst the labelled options. For example if the client needs to access some specific data, e.g. a list of my recently published photos, it can select the appropriate link to retrieve (assuming its available).
That link may be to an entirely different service.
In an XTech 2005 paper I tried to argue (I suspect not very clearly) that linking offers the best route to integration of data from multiple web services. Linking as a means to easier mashing.
If the current data publishing trends continue then I suspect there’s going to be a growing understanding of the benefits of hypertext and this inevitably drive some renewed interest in XLink or a related technology.
What I personally like about RDF in this regard is the “closure” it offers: every resource has a URI, every schema has a URI, every Property and Class has a URI so the data, metadata and schemas can be linked together, and this offers some very powerful capabilities.


7
Dec 06

STM Innovations Notes

Last week I gave a talk at the annual STM innovations seminar. It was a hugely enjoyable event. Kudos to Geoff for arranging an excellent line-up. I thought I’d post some thoughts/comments based on my impressions of the day.

Continue reading →


7
Dec 06

(Java) Hosting Recommendation

Waaaay back in June I asked if anyone had any recommendations for where to host some Java applications. I also promised the publish the list of recommendations I had, so here I am.
In typical “comparison shopping crisis” mode its taken me ages to deliberate about where to move my kit. So I’ve only just completed the intended move.
The original list of recommendations I had was:

I was also pointed at a JavaLobby discussion which has some additional recommendations.
The two places that had the most votes were Kattare and RimuHosting. I also considered Bytemark. RimuHosting seemed to have the best overall word of mouth, particularly on their customer support. The folk I contacted there were friendly and willing to setup the server to any specification I wanted. They also offer a small discount for folk hosting open source software.
I signed up to one of the RimuHosting MiroVPS plans a few weeks ago, and have been very happy with the decision so far. The site has good documentation and I’ve been able to follow their guidelines and handy scripts for getting the environment set-up how I want it. So far everything has Just Worked, which is great. They get my recommendation.


22
Nov 06

Getting Fingered

So, I’ve signed up to twitter. So now there’s yet another place that I can occasionally update. At least there’s a nag feature.
Twitter seems like Finger and .plan files reinvented for the web.
Cue dubious blog post title.


13
Sep 06

Speaking Gigs

I’ve got several speaking gigs lined up over the next few months which I thought I’d jot down here.
The one that’s probably of most general interest to readers of this blog, and the one I’m currently most excited about, is a talk I’m giving at XTech WebDev. Titled “REST for the Wicked” I’m going to be preaching the REST religion straight from scripture and the bible of HTTP and hope to lead a mass repentance for sins against web architecture.
Well, actually it’ll be nothing of the sort, what I’m aiming for is a straight-forward pragmatic overview of REST, reviewing what it is (and isn’t), how one designs RESTful applications and the benefits of that acrue as a result. I also want to generally spread the love for HTTP. Registration is open now, so get your name down. I’m privileged to be talking alongside some great speakers, so its going to be a great day.
In November along with my co-speakers I’ll be involved in a reprise of a recent event I took part in for ALPSP. The original event was extremely well received, so we were invited to give the talks again for those who couldn’t make it the first time around.
And then in December I’ve agreed to speak at an STM Innovations seminar (information, Word document). The line-up isn’t completely official yet, but I’m giving a talk under the draft title “The Connection Machine” where I’ll be looking at how the open data web — Web 2.0, Semantic Web, call it what you will — is evolving the web as a hypertext system, and how that is relevant to scientific, technical and medical publishers. Hopefully this isn’t complete hubris considering the identity of the key note speaker.
Beyond that I don’t currently have other speaking gigs planned until next year., although there’s plenty of writing to be done. In April I’ll have the honour of chairing the International Scholarly Communications conference. More on that closer to the time.


26
Jul 06

Embracing the Wiki Way

I was recently invited to write an article for the FreePint newsletter. The article “Embracing the Wiki Way: Deploying a Corporate Wiki” is now available. It serves as an update to my blog entry on bootstrapping a corporate wiki with more of an emphasis on tips for users.
If you’re thinking about deploying a corporate wiki then hopefully the article may help you plan your strategy. There are also plenty more case studies available for you to compare with.


21
Jul 06

Benefits of Refactoring to REST

Edd sent me a pointer to a nice article from Scott Raymond called “Refactoring to REST” in which he outlines how his application code was improved and simplified by adopting a more RESTful design. The application here was built on Rails and used the Simply Restful plugin to nudge Rails into a more RESTful aspect.
I’ve noticed a similar reduction in complexity when moving to RESTful application design. I’ve tended to describe this as reducing the “surface area” of the application: the smaller the surface area, the less code is required. It also follows that the smaller the surface area, the less URL types are required. You end up with fewer fairly standard URL patterns which identify resources, rather than RPC-style “method” oriented URLs.
This has some nice properties. For the client a given server application becomes more easily substitutable, as there’s less coupling. And on the server side it clarifies the “points of contact” of the application with the web (of data). It also makes it easier to maintain permanent links because as the URLs are simpler and more identifiable they’re easier to rewrite/redirect as an application evolves or changes architecture.


25
Nov 05

Open Mapping System?

I’ve been playing with Google Maps a bit for a talk I’m giving on Monday. It’s addictive stuff.
But I’d like to be able to use alternate kinds of maps. E.g. plotting Samuel Pepys’s diaries on a historical map of London, or points on a sonar map of the sea, or views of MMPORG maps.
It’s lead to me to wonder: has anyone written a general purpose front-end similar to Google Maps? Basically all of the Ajax/DHTML magic, but without the actual Google supplied tiles? It’d be interesting to have that and then be able to plugin in different server-supplied tiles, perhaps on the fly (e.g. radar vs satellite images).
The whole client-side framework would be portable I think. It would be an interesting way to explore any data set that can be visualised in two dimensions.
Anyone already done or doing this? Drop me a mail if you are.


4
Nov 05

It’s Like the Ultimate Lazy Web

So you’re sitting in a coffee shopping talking over an idea with a friend: how to get people to contribute quality metadata on all manner of topics. Kind of a semantic wikipedia but where the goal is data entry rather than essay writing.
The basic concept is straight-forward: start from a basic fact such as “Isaac Newton is a Person”. Then, using appropriate ontologies generate additional questions: a Person has a birthdate therefore, “what is Isaac Newton’s birthdate?”(*). And so on. Generate RSS feeds containing the questions with embedded forms allowing people to answer each question. Update your database based on the answers, using a voting (or similar) model to take the most common answer from all contributors. Provide stats on who answers the most questions, answers them first, answers most questions in a particular domain, etc. You’ll then end up with a positive feedback effect that (hopefully) encourages more people to contribute.
Move forward two days and Amazon have done all the hard work: Amazon Mechanical Turk. With the spin thats its all about micropayments rather than karma, and unlike the original it doesn’t play chess.
(*) January 4, 1643 by the Gregorian Calendar.


3
Nov 05

QOTD: Fielding on Form(s)

Roy Fielding on why HTML4 forms only support GET and POST:

The only reason the HTML4 spec has only two options available
in that field is *because* of the browser bugs. W3C specs have
no spine.

In an earlier message in the thread he urged folk to help fix the browsers.
Never occured to me to check until now, but XForms supports GET/PUT/POST. But not DELETE oddly.