mikepk.com about current projects contact

GrazrScript Beta

November 3, 2006

bigmarble.pngI'm proud to announce the beta for GrazrScript, a programming language for feeds! When we've talked about what Grazr is in the past, we've often enigmatically used the phrase "an application development system for feeds" without truly describing what that means. GrazrScript represents one of the significant elements we've been working on towards making that vision a reality. Hopefully as we describe GrazrScript, and more importantly when you see examples of what you can do with it, you'll begin to see what we mean by that phrase and why we're excited by the possibilities!

What is GrazrScript? GrazrScript is a namespace extension to Dave Winer's OPML specification and additionally his OPML 2.0 draft specification that allows you to easily create dynamic "grazr applications". These first Grazr applications are packaged "containers" for using many of the dynamic data sources that return their information as feeds. The combination of GrazrScript and the Grazr viewer/client lets you build interactive data services that you can then publish on your own websites!

Structurally, GrazrScript should be valid OPML and by extension XML. Our goal was to make it a superset of OPML so that it could be used in existing tools as well as enable extended behaviors. We've published a 1.0 Draft version of the specification and we would love feedback on it. We've also setup a Grazr forums page to allow people to request support, comment on the language, discuss the specification, and post about anything else Grazr related.

At its core GrazrScript runs against a web service that parses the special GrazrScript directives embedded in the files to do interesting things and returns valid OPML or Feed files. GrazrScript 1.0 allows the embedding of XHTML forms, and a "search and replace" template that, while relatively simple, enables all sorts of interesting applications. Our goal was to make it easy to tie together dynamic feed-based information services. We hope GrazrScript 1.0 will be a simple foundation that, with your feedback and use, will evolve to enable ever richer, more interesting and more powerful feed applications.

What does one of these first generation Grazr applications look like? Here's a simple Grazr application for doing a video search across several video services.

When Grazr applications, created with GrazrScript, are rendered in our client they look somewhat similar to standard form based web applications with a few notable exceptions. There's no user created "server back end", the data services returned are really feeds or OPML files, and in the case of our client, the data is returned dynamically in place. GrazrScript files should behave similarly to "regular" feeds and OPML files in the way the client displays them. If you want to see more examples of these applications and learn how to easily create them yourself, check out our GrazrScript 1.0 tutorial. Our goal was to keep it as simple as possible but enable something really useful.

What are the rules for using GrazrScript (legalese wise)? We've decided to use Dave's license from OPML as our model. We're using OPML as our foundation and we think this license allows for a lot of flexibility in use being free for both commercial and personal applications as well as allowing a great deal of extensibility.

GrazrScript is an important piece of our strategy of application development, but we've got other things in store too. I strongly believe that if you enable simple, powerful yet flexible tools, people will always amaze you with what they can do with them. We hope you like what you can do with this and look forward to your interesting uses and feedback!