Dear Fellow SketchUppers
there has been recently a flurry of conversations around visual-algorithmic design (http://www.sketchucation.com/forums/scf/viewtopic.php?f=72&t=11030), in other words, tools that provide a 'proto-typical' end-user the ability to enhance an application in a somewhat easy straight forward way. The concept of end-user programmability, to create a new software application using for instance some form of diagrammatic, graphical environment is certainly not new:
http://www.hypernews.org/~liberte/computing/visual.html
http://en.wikipedia.org/wiki/Visual_programming_language
http://web.engr.oregonstate.edu/~burnett/vpl.html
... nor are end-user development applications tools, some of which even cater to children
http://www.agentsheets.com/
http://toontalk.com/
... and some are more 'serious':
http://www.nwoods.com/
http://www.sanscript.net/
http://msdn.microsoft.com/en-us/library/bb483088.aspx
What's in my opinion a new or more recent development (forgive me the pun) is the ability to create a connection between end-user computer-graphics design applications (CG) with an add-on of sorts, an end-user visual algorithmic development environment catered specifically to them. To date I find there are three type of visual dev-environments for CG: those for shaders, including materials editors, image-processors or texture generators; those that work directly within or for 3D-modelers; and, there are also thirdly, embedded shader-editors, modules or add-ons available as a means to edit materials within a 3D-modeler.
Herein are some of the most well known examples in each category:
A. Shaders
The free nVidia FX Composer includes mental-mill artist upon installation, an add-on from mental images (which nVidia recently acquired)
http://developer.nvidia.com/object/fx_composer_home.html
http://www.mentalimages.com/2_4_1_mentalmill_ae/
MapZone (free)
http://www.mapzoneeditor.com/
FilterForge, works as add-on to Photoshop or PaintShop Pro but also works standalone
http://www.filterforge.com/features/editor.html
Spiral Graphics' Genetica, image processor and texture-generator
http://www.spiralgraphics.biz/gen2tour/index.htm
World-machine, generates a particular type of images - heightfield-editor - for simulating terrains and exporting 3D-data
http://www.world-machine.com/features.html
Planetside's Terragen, is similar to the previous but more complex/complete
http://www.planetside.co.uk/terragen/tg2/index.shtml
B. 3D-Modelers
ParaCloud is a third-party product, an add-on, that actually requires Excel 2003 (it works from within Excel) and will connect with various modelers
http://paraclouding.com/WP/
Generative Components is Bentley's add-on for algorithmic design within their Building Information Modeling (CAAD) software MicroStation
http://www.bentley.com/en-US/Markets/Building/GenerativeComponents/
Grasshopper is McNeel's own solution to the same above, but obviously for Rhino. At this point Grasshopper is free
http://grasshopper.rhino3d.com/
***Interactive Creative Environment (ICE)***is a soon-to-be released environment for Softimage XSI 7
http://www.softimage.com/products/xsi/ice/default.aspx
LISP Generator is an AutoLISP recorder of sorts for AutoCAD from Beowolf Technology
http://www.beowolftech.com/lispgen/index.html
C. Embedded Shader Editors in Modelers
Blender
http://wiki.blender.org/index.php/Manual/Compositing_Nodes_Input
Maya's Hypershade
http://www.pixtur.de/img/text_maya/hires/01-overpaint.png
trueSpace
http://www.caligari.com/products/trueSpace/ts75/Brochure/userinterface.asp?Cate=BUserInterface
I suspect you might be asking yourselves, why is all this relevant or important? In many cases the software tool as it stands is all you might need... and that's perfectly fine. But, I also suggest that often enough human endeavors, especially around creativity, is hindered or at least harnessed by the tools and by the medium. SketchUp, for instance, certainly allows modeling, but how about applying rules of composition, assembly, or geometric proportions or relationships, and without Ruby-coding? How about making the application work differently for each user according to their own field, domain or level of experience or expertise? Add-ons such as Grasshopper, ParaCloud or ICE are leaning towards providing the end-user the ability to create or customize their parent-applications. What's aligned for SketchUp?
Indeed, my hope is some day Google SketchUp will bring-back journaling, or enhance the Ruby-coding experience in a visual way, much like LISP Generator did for AutoLISP or like Dreamweaver or FrontPage did for HTML.
Please kindly let me know what you think.
Cheers,