140 likes | 325 Views
End-user programming and Flash. Jen deHaan Sr. Technical Writer April 23 rd 2006. Overview. What is Flash? What do you use Flash for? Who uses Flash?. Flash designers. Practice interactive and motion design Use other design tools or motion design tools
E N D
End-user programming and Flash Jen deHaan Sr. Technical Writer April 23rd 2006
Overview • What is Flash? • What do you use Flash for? • Who uses Flash?
Flash designers • Practice interactive and motion design • Use other design tools or motion design tools • Limited knowledge of code – they know what they “need” to know. • Copy or reuse code, use automated coding features • What do Flash designers create?
Flash developers • Sometimes code using an external editor • Sometimes use design tools and features – but only to extract content • Sometimes create all-code projects • Complexity of applications range from small sites to enterprise-level applications • Integrate server technologies with Flash • Some developers might start to use Flex more • What do Flash developers create?
“Jack of all trades” • Designer + developer: comfortable using design tools, animating, coding ActionScript • Expert at using Flash, and might be a vocal community member and help other users learn • What do these users create?
Other users • Flash mobile designers • Flash mobile developers • Information architects • Print designers • Animators • Flash game developers • Videographers • Graphic artists • Education and training material developers • Addressing all of these different audiences can be challenging • Flex helps move high-end developers to a different product
Challenges • Designers making the jump from designing to writing code • Developers learning a visual/animation-based tool (the timeline, nesting objects, etc) • Supporting a vast audience with different needs for learning and using the tool • Ramp-up time to build a first project (learn concepts before using tools) • Mature program with a complex interface • Workflow between designer and developers, and cross-product. Example: automated code designers insert might not work well when sent to a developer – where to place code? • Ramp-up time for designers or new coders when using ActionScript • Reliance on Flash Player and browsers
Helping users create: in product • Components • Script Assist • Behaviors (use, create, share) • Screens (Slides and Forms) • History panel (save actions) • JSFL • Effects and filters • Error reporting (compile time) and the debugger tool • Tooltips and code completion (code editor) • Help panel • There are several in-product features to help users program or create content. These features include those listed on the right.
Helping users create: resources • Adobe creates or supports content for helping users learn how to create and program using Flash. • LiveDocs system (moderated online help) • Support site (TechNotes, Wishform, etc) • Web forums with moderation team • Developer Center / Design Center • Breeze presentations (live/recorded) • Official blogs (product and individual) • Training and certification • Support third party books and magazines • Adobe Labs
Learning about user needs • Flash has tried to make programming easier. For example: • Tools to help users program were created – “screens” and “behaviors” instead of “Normal mode”. • Users demonstrated their need for “Normal mode” to assist in programming, which was reinstated in a later version (as Script Assist). • We learn that the proper solution for helping users program with Flash does not always present itself with an obvious solution. • Need to take different directions and try things out in Flash to rectify and improve the tool and user experience.
Learning Path • Different levels of learning in Flash • Core concepts (timeline, keyframes, symbols/instances, etc) • Granular usage (Script Assist, creating a symbol, etc) • Users learn concepts outside of the product (in Help, classes, etc) • Can add tools to help granular usage but not explain core concepts • Challenges • Helping users find information on core concepts • Teaching those concepts • Defining what the core competencies are • Defining a learning path • Helping users understand how to use the tools (granular usage)
Issues when using educational resources • Different user backgrounds • Determining the learning path • Avoid “too much information” that overwhelms users when searching for answers • Flow and visibility of information • Help for visual learners: how to better address the needs of different kinds of learners who may or may not be used to tools like Flash, and better accommodate visual learners. • Where to place Help: offer some help content so that it can be continually updated? • What content formats are most useful/useable and discoverable? PDF, in-product Help, Web help, printed books? Some customer equate printed book with Help and are resistant to searching Help or web, but less content is available in print.
Does Flash turn non-programmers into programmers? • YES • Use features to help automate code (such as Script Assist) • Use documentation and other resources to learn how to code • Take a course on Flash/ActionScript, or ask questions to other users Most tasks in Flash require some kind of code. • NO • Use Flash to create visual content only • Work with a developer • Need to facilitate good communication • Need to facilitate good workflow between coding/design tools • Need to work out how projects are set up (where to place code, etc) While most tasks require code, some users avoid writing it.