In part 5
, I discussed a vision for a catalog of storyboards that represent user interface screens, business processes and the metadata that describes these storyboard definitions. For example, storyboards are descriptions of a user interface i.e. they contain no technology implementation details, but rather metadata descriptions of the user interface elements. This metadata can be used by code generators to generate a technology specific implementation. As discussed in this series, a business user interacts with the user interface 100% of the time and does not care about the technology implementation or the technical details, the business user just wants their application ASAP and for a minimal cost.
in the film industry is used to minimize requirements risk and maximize production efficiency. Storyboarding in the film industry models the complete film in a very short period of time and cost. The design of the film is complete up front and then the actual construction of the film is an implementation of the storyboards i.e. film rolling, sound rolling, lights, actors, action!. The software industry could learn from the film industry.
Lets put the concept of a catalog of business user storyboards aside for the moment and focus on the tools and languages that are available to design and construct business user storyboards.
As a quick reference check, lets look at a storyboard tool that already exists to see if it meets my requirements. A company called Caretta
has produced this fine storyboarding application. While I think this is an excellent storyboarding tool, it has no code generation facilities or even the ability to output a definition of the storyboards in any standard format. This is unfortunate, as this storyboarding application would have met most of my requirements.
After more research, I could not find any storyboarding tools that meet my requirements, so we need to take a step back and look at some language standards for defining user interfaces. I found a good reference to start from, XML Markup Languages for User Interface Definition
. There are several possible candidates to choose from. AAIML, AUIML
, and on it goes!
It is amazing to see how many XML markup languages there are specifically designed for defining user interfaces. It also is amazing to see what various stages each standard is at on its quest to becoming a real standard. The process is slow and lengthy. I wonder if the electronics engineering world went through the same arduous process of becoming an industrialized engineering discipline.
At one point in the electronics world, (70's) it seemed to all converge around the invention of the 14 pin DIP
as a standard plug-in or interface that allowed chip manufactures world-wide to package their circuits in a standard package and distributed through a catalog. Today, there are millions of different circuits on these chips in the market world-wide, all offered through standard plug-in packages. This is a good example of "technology" industrialization where a standard interface is highly beneficial to the industry overall.
Ok, now what? I spent the last week researching these XML markup languages for user interface definition, to find a suitable candidate for designing and constructing storyboards. I think I found one that will work. Next post we will look at the findings.