Ok, the last thing in my mind when I created
Protoscript was for it to be YAT (yet another toolkit).
I have been asked several times what really makes this different than toolkits like
jQuery. And what is the compelling reason that someone would use Protoscript.
The motivation is straightforward:
- Prototyping is too hard for non-techies
The reasons Protoscript can help solve some of the difficulties with prototyping are as follows:
- Simplifying how we express interactions is a good thing
- Behavior injection is a powerful iterative design tool
- Plug-in Behaviors guarantee a growing set of prototyping solutions
- By focusing on prototyping, things get simpler
Prototyping is Too Hard for Non-TechiesThe end goal of Protoscript is a simple GUI that will allow non-techies to:
- Go to any web page
- Sprinkle simple to complex interactions onto that page
- Do all this without writing code, but simply through an intuitive interface
I am a huge proponent of breaking down the barriers for the non-techies among us to be able to do what us techie geeks can do.
I have been fortunate to work with some awesome talent, many of which do not have the skills, the time or patience to prototype in Javascript.
Do I want to exclude them from the party? No.
If I can let more team members literally play with a working site and tease out better interactions then I have raised the state of the art (even if ever so slightly).
Simplifying how we express interactions is a good thing By allowing an interaction to be expressed in a consistent, stylized declarative fashion (
JSON) a whole set of goodness becomes available:
- Widely variant interactions captured with same simple syntax
- Nested syntax communicates the relationship between behaviors, events, callbacks & attributes
- Non-programmers can read Protoscript better than JavaScript code. jQuery comes the closest to making Javascript readable by non-programmers (see discussion below on Protoscript and jQuery).
- It is a lot easier to write a GUI tool that reads and writes JSON than it is to read/write Javascript. (This is why so many tools use XML or JSON since they are declarative formats)
- JSON can be sent over the wire. This means a simple REST service could serve up and/or save JSON to remote services.
- JSON is easier to parse
- JSON is easy to write out to a database or as a flat file
Behavior Injection is a Powerful Iterative Design ToolThe Protoscripter bookmarklet is the first step in providing behavior injection. It allows you to popup the bookmarklet on any web page and type or paste in Protoscript code to inject interactions. (You can get it from the
Protoscript Home page.)
Here is a fun example of this... Watch as I experiment with burritophile.org (mind you this is a contrived example)
10 comments:
RE>"I am a huge proponent of breaking down the barriers for the non-techies among us to be able to do what us techie geeks can do."
Amen! The next step is to lay a GUI on top of this so designers don’t have to touch the code at all.
Thanks -- I think this is going to be great for designers.
Yep. And any sketches or thoughts for how this should look let me know.
I will blog some designs soon and try to get feedback.
Keep it up. Protoscript will be a great breakthrough.
Indeed it will be a great breakthrough... But I earlier saw a similar visionary statement on web design company blog.. it might be you or ...Still great work,,
nice article
RE>And any sketches or thoughts for how this should look let me know.
I wonder if it would be best leveraged as an extension of a tool designers already use, like Dreamweaver or Fireworks. The latter is become quite a prototyping tool.
This is awesome, Bill. NIce work. Any chance you'd be interested in chatting about it with me for my Prototyping book?
I think that in this way Appcelerator (www.appcelerator.com) could be a good alternative. It is based in a condition/message -> then -> action paradigm to allow behaviors for the interface.
"Prototyping is Too Hard for Non-Techies
The end goal of Protoscript is a simple GUI that will allow non-techies to:
* Go to any web page
* Sprinkle simple to complex interactions onto that page
* Do all this without writing code, but simply through an intuitive interface
I am a huge proponent of breaking down the barriers for the non-techies among us to be able to do what us techie geeks can do.
I have been fortunate to work with some awesome talent, many of which do not have the skills, the time or patience to prototype in Javascript.
Do I want to exclude them from the party? No.
If I can let more team members literally play with a working site and tease out better interactions then I have raised the state of the art (even if ever so slightly)."
Bill .. this is great, as a designer I struggle with bridging the gap you mention... great to hear of your efforts and even more so to hear someone who is involved in UI production saying what I have quoted above... the best of luck to you and your efforts
I like to use prototype inside yui but i dont know how to do it. help me, sir
Post a Comment