My recent "blue sky" article on my perceptions of the importance I place in the user script field has received skepticism and optimism alike from peers, through varying channels.
As much of what I write, it wasn't a very focused post, and I got right into the deep specifics, rather than giving an overview perspective from 10,000 feet. I thought I'd try for that tech top-down overview in this post, instead.
The web is one of the precious online environments which in itself is still DRM free, and I can't place enough importance in that fact. A lock-in free environment, as open standards and data formats go, allowing HTML, CSS and javascript introspection. You can read the source, you can rewire it, and nobody will hit you on the head for doing either. You are actually encouraged to pick up on the tricks of the trade, and there are flourishing online communities available to help you learn, and get going on your own. The web wants you to participate, and opens its doors to user innovation.
User scripting, and end user innovation in general, is reshaping the web, if still only ever so slowly, a trickle here and there by a small clique of us, the übergeek web populace. (I might even reach large parts of that clique with this blog, at just a few hundred subscribers.) We pioneer a field of choice, comfort and preference, as search engines once pioneered a field of findability. Finding a page by typing its URL is about as user friendly as how well adapted the behaviour of a typical web page is to what you want to do with it, and as we could opt out of the former, we can also opt out of the latter.
To me, user scripting is one of the many things that make the web better than, say, PDF or Flash media. One of the many degrees of freedom that are opening up to end users. A gradual shift of control back towards users. Blurring formerly very strict areas of influence, much like how the past ten years has seen web pages with comments by others (besides the site owner) become commonplace, where previously a web page was strictly uni-directional medium of publication. Where previously we had a one author per page environment, we now have a multi-author environment. Where layout and functionality was previously at the sole discretion of that one author, now the tools and choices are at your disposal, too.
Uncoupling such decisions from authors and focusing on getting the the signal through for you to consume in any fashion you well please is where the web was aiming from its very earliest days, but we are only starting to get there very recently.
We could compare user scripting with the configurability of text editors. Some people take editors for what they are at face value with default settings, at most changing to theme, color or font settings they are more comfortable with. They learn a small feature set that allows them to do what they need, not wasting any time to climb the learning curve any further. Others practically meld with their editor of choice, even making it a well integrated part of their lives; socially and otherwise.
I find myself in this category of people, in a web context. At present, it's mostly new levels of freedom for us hard core geeks, though the tools or shortcuts we invent can be applied with ease by anyone who comes across them in our wake. Sharing this has become a lot easier the past year.
I see the web edging closer to this thriving environment of choice, as browsers have recently started to skew in the same direction. Lowering barriers to get your hands dirty, and actually participate in the look, feel, shape and workings of the web we tread. I love this trend. It is a key trait worth guarding closely and inviting more people to. Some browsers, like Flock, are about remixing the web at their very core, responding directly to use case scenarios like "I want to share my pictures with my friends, and subscribe to theirs", remixing in chrome what user scripts remix in the HTML layer itself.
At present, it's just a few devs and savvy gourmets of the technorati that play with this, but that is natural. While the tech itself is already mature in many respects, the community following around it is still picking up momentum. It's not yet trivial to harness user scripting as a typical J. Random User, but will get easier.
The key thing about user scripting is that we never have to stand in line in any feature request queues just to flex our ideas on how to reshape environments we did not make ourselves. Given some knowledge of the workings of the document object model, javascript and the user script environment, we can adapt any web page, without any help, affiliation or other relation to the page publisher. The power of openness, freedom of choice, and the lack of DRM.
I believe in a strong future for any medium that embraces end-user changes. The web has this trait, and this makes it so much more important and full of possibilities and life than any other media I can think of, save perhaps the physical world around us. That is the kind of heritage I think we should be proud of leaving for those who come after us. A puppy we can keep teaching new tricks, and revel in both doing so and in harvesting the benefits we gain with every new step we take along the way.