Design Patterns, and a unified vision.
With the release of this UI library, we can see the adoption of
patterns across the board as a base for developing interactions:
Flex & Flash have components
Apple has Cocoa
Mozilla has XUL
Yahoo has their library(http://developer.yahoo.com/ypatterns/)
etc...
This is a great separation of information(HTML) from presentation(CSS)
and behaviour(jQuery). This will allow coders, designers, and
developers to collaborate, and maybe even become more like each other.
Unfortunately, though the enabling technology of jQuery has so much
potential, there is no mediator between this abstraction of patterns
and the potential reuse and rejig of those patterns, other than text.
What I am vying for here is a new type of interaction creator.
Dreamweaver & photoshop are not cutting it. Neither are textmate or
bbedit. For a simply reason.
1. We are no longer dealing with code in documents. We are dealing
with the reused and manipulation of existing practices.
2. The challenge is no longer to make a layout work, it is to make
various pieces work, and fit together
3. Thanks to AJAX, pages are no longer a worthy division of
complexity, states & modes are.
4. HTML Elements are no longer the atomic structure of a working
application, patterns have taken that role
These changes signal a change in the way we think about creating an
interaction/experience. The question in my mind, is when do the tools
keep up.
If you agree that we are no longer dealing with code, why are all of
our tools gears to creating textual structures. Nested elements,
numbered lines, container elements, and </>'s are no longer good
enough.
I am not talking about the need for another text editor, goodness
knows there are far too many to choose from. Editors of the future
will be more like libraries than like blank canvases. We need to
escape the mentality of code and enter the world of the pattern. Of
course this lower level of complexity should be available for us to
use; to define and revise patterns. However, the world in which we
operate should be one of patterns inside patterns inside patterns.
Already, we can see through firebug, that we debug our pages visually,
inspecting and selecting elements. Changing CSS on the fly to see how
the page reacts, seeing the net requests going out and coming in.
We can also see that there is an adoption of patterns in the eclipse-
based web suite Aptana.
What we need is a more formal combination of patterns into a tool
which separates information, style, and behaviour, into the same
paradigm.
To ground some of my proposals, I have put together sketch of what
this editor might look like in a new pattern-based editor:
http://prototype.thmvmnt.com/artwork/pattern-editor.png
I am looking for people to work with me in creating this, and am fully
committed to making it open source and publicly available.
-Patrick
http://prototype.thmvmnt.com/