Richard Wallis, Technology Evangelist, Talis
The Juice Project, like many such endeavours, has grown out of programmer laziness.
One facet of the Talis, Technology Evangelist, role is to demonstrate how easy it is to extend the web interface of our products with embedded functionally. With a few years experience in Ajax programming techniques and a moderate understanding of JavaScript, html, and CSS, none of this is exactly rocket science. Over recent months and years this has been made even easier with the aid of JavaScript Frameworks such as Prototype, Dojo, and JQuery. These take much of the hard work out of writing code that will work in several browsers, and easy repeatable ways of identifying components in an html page.
Despite all of that, adding ad-hoc mashup style integration of external services from sources such as Google Book Search, Amazon, and WorldCat, over several months becomes an inefficient task. Taking previously developed code, analysing it to refresh your memory on how you did what you did, re-factoring it to fit it to your new service, and finally debugging the inevitable conflicts with what you did before, is not the most enjoyable task. Adding to this the possibly of applying the result to more than one application brought me to the conclusion that I need a framework to take care of all this!
Analysing what I had been doing previously drew out the following elements that were common to the vast majority of extensions.
Encapsulation of these elements became the basis of a Juice framework. Experience of JQuery demonstrated it's usefulness and power in identifying elements of, and manipulating the shape of, a web page document. JQuery was then chosen as a Javascript framework to support the Juice extension framework.
Building on the theme of laziness, and humility, it is clear that there are far more people, with far more ideas for extending these interfaces than just myself. So why not build a framework that could be used by many. By making the framework an open source project will enable a community to form around it so that the innovation can be shared far and wide.
There are three overlapping groups of web user interface managers/designers/developers who will use Juice.
If the community grows as I hope, I expect that these groups will constitute approximately 90%, 9% & 1%, respectively, of the Juice users.
Guiding, but not set in stone, principles: