WikiCalc and REST architecture

Dan Bricklin the co-inventor of the spreadsheet has started to build a web-based spreadsheet – WikiCalc

As office software moves onto the web, it can become more open and collaborative. Consider a web-based spreadsheet, where every cell is addressable through a URL.

If the spreadsheet is at

http://www.example.com/calc/myStuff

then the first cell of the spreadsheet should be adressable as

http://www.example.com/calc/myStuff/R1C1

Ok -  now consider a spreadsheet somewhere else – the second spreadsheet could reference the results of a calculation in my sheet by reference to the URL of the cell in the spreadsheet. The second spreadsheet could contain a formula like this:

= 2 * http://www.example.com/calc/myStuff/R1C1
This is just a straightforward application of the REST architecture.

This could be a great way for government to expose standard values. Income tax rates, VAT rates and so on – easily referenced and automatically updated.

http//www.example.gov/taxrates/2006/vat/goods returns the VAT on goods in 2006 (25% in Norway).
http//www.example.gov/taxrates/current/vat/goods returns the VAT on goods at the moment.

When the rate is changed next year, the current value is updated – and all applications that reference it get the new, fresh value without a software-update.
Now imagine what happens if we extend this to all XML documents through XPath – i.e pretend that the web server is smart enough to dig into an XML document and pull out a fragment, rather than just sending back the entire document. i.e. URLs that reference bits of a document using XPath, not just entire documents:

http://www.xfront.com/REST-Web-Services.html  – this gives us the entire document.
http://www.xfront.com/REST-Web-Services.html/html/body/H2[0] – would in an ideal world give us the contents of the first second level heading: “What is REST?”

Imagine how easily you could glue together web-applications with this kind addressing…

The text fragment extraction wouldn’t have to be done by the web-server, it could just as well be done by the application. The point is that the URL would make integration with existing, well-formed content much much easier. And while much content out there isn’t well-formed (and so can’t be addressed in this way), the next generation of Office tools will output suitable content by default.

When everything is addressable, then everything becomes intertwingled. A point of potential intergration. Lots of places for leverage.

Of course, all the hard problems of versioning and formatting don’t go away, but they apply to all kinds of solutions, not just this one.

One thought on “WikiCalc and REST architecture

Leave a Reply