I have over 40 years experience in all aspects of software product building, innitial concept through finished product. I have personally concieved of, wrote detailed specifications for, designed, and built working prototypes for codeless programming and rapid prototyping tools and environments. I write science theory and have an extensive understanding of much science and computational theory. I am a quick study, and am not exactly lacking in intelligence. I am not often stumped by tools. OK, thats the context. My experience with Origami Studio is that it is a geek’s hack, built by and for geeks, not designed by or for interface professionals, not in any way exemplary of any of the basic principles advocated within the field of user interface design, and now packeged and slicked up and sold as a tool ironically positioned to the very group of user design professionals that will immediately develope a strong and abiding and legitimate hatred for it. Where is Dilbert when you most need him? When I asked simple directed questions of Facebook’s own Facebook Group for Origami Studio, questions about how to learn to use the thing, and made comments about the many ways in which the tool’s use was almost imposible to discover, when I made a few thoughtful suggestions about how the team might take the minimum steps to make Origami easier to learn and use, I was promptly told that I wasn’t offering anything constructive to “the community” and kicked out without warning. Previous to making my commments I had checked to see if anyone else had had the same frustrating experience learning and using the tool and was suprised to find the community devoid of any comments or posts that were in any way critical of Origami or of the thankless process of using the materials provided for learning to use it. There are lots of examples of design and production tools built by and made freely available to the customers of larger tech platforms. The quentissential example is Apple’s Hypercard, although, to be fair, hypercard was really a user level skin applied to SmallTalk which was developed and extended at Xerox Parc as the user-facing design and development tool paired with their Alto and Star system computer platforms. When Oracle noticed the need to help its data base customers designe and build their own data front ends, they built a HyperCard clone that they branded OracleCard. So it isn’t profound or strange that Facebook would follow suit with its own tool. The difference of course, is that unlike Xerox, Apple, and Oracle… Facebook didn’t build this tool to make it easier for its customers. And it shows. My suggestions to Facebook were:
- Make the tool discoverable.
- Integrate the patch (object and function) and on screen objects (buttons, graphics, fields, indicators, regions, groups) such that any attribute of any object can be used as the input or output of any other object.
- Integrate all help into a contextually determined in-window panel.
- Provide a means to write and attach comments and notes to any object or group at any granularity.
- Expose the parameters and limits of any attribute directly at that attribute’s location.
- Allow a user to point to any object anywhere and to choose to use that object as either input or output for a patch.
- Don’t have seperate math function patches. Just one transform patch into which any mathematic string may be intered as transform. If you write “((x+y)/z)”, the patch instantly supplies 3 input nodes labeled x, y, and z”. If other patches currently have outputs labled to match, the requisite flow wires are automatically drawn. If you click on any of the labled values in any patch, a list of appplicable output values from existing patches is displayed. Choosing from this list relables and rewires the applicable patches.
- All transforms are listed in a pannel on the left of the project development window and all on-screen objects are listed in a panel on the right side of the development window. At the top of the screen is a horizontal panel that shows context specific documentation. At the bottom of the screen is a query box.
- Provide a timeline and a stateline for the editing of embedded animation and transformation functions.
- Provide a edit session history bar.
- Provide an “export as” function that exports the project as xml, html, tab delineated text outline, and standard programming language source code (as tokenized by third translation party plug-ins), or as compiled generic or device wrapped application package executables.
12. Provide a depository for user-built functions, and projects, and extensions, and make them all freely available from within the development window and playback.
13. Integrate user community communication directly into the development window and allow the user to set privacy parameters for live sharing of shared projects to user defined sub-communities and stake holder teams.
That got me kicked out of the user community for the very product I was trying to help!