Workshop
Session 1: Application development: understanding the big picture
Houston, we have a problem: According to recent studies, 50-70% of all IT projects fail. Development teams toil under unrealistic deadlines and implicit expectations for usability and accessibility that are impossible to satisfy. Many of us are stressed out and unhappy on a daily basis. And it doesn’t have to be this way.
If you want happy developers and projects that succeed, there are three simple things you can ask them to do:
1. Use an agile development methodology such as eXtreme Programming (XP) and work in iterations.
2. Use a user-centered development process. Your teams must capture quantifiable usability requirements and you must budget to cover usability testing in every iteration of development.
3. Use software design patterns in the architecture of your applications to provide a common high-level language for your developers and take advantage of time-tested solutions to common problems.
In this session, Aral Balkan discusses the high-level decisions that development houses can take to make the development process a fun and relaxed experience. User-centered development, usability design patterns and testing, agile development, eXtreme Programming (XP), and software design patterns and application architecture are among the topics covered.
Session 2: Introduction to application architecture for the Flash Platform
There are many ways to skin a cat, or so the saying goes, and the same is true for the architecture of Flash applications. Do you put all your code on the timeline? Do you follow a procedural or object-oriented approach? Do you do everything with code or do you use a visual workflow? These are some of the questions that developers ask themselves in their quest to develop applications that are easy to maintain and scale.
In this session, Aral Balkan introduces you to application architecture on the Flash Platform using object-oriented programming coupled with a visual workflow. This workflow takes advantage of the visual nature of the Flash IDE without compromising the maintainability and scalability of your applications. You will learn how to architect the View (or presentation layer) of your application so that it is well-encapsulated and how to use the event model to create loosely-coupled applications.
The examples in the session will cover Flash 8 and ActionScript 2, Flash 9 and Flex 2 with ActionScript 3, and FlashLite 2.01(mobile) to demonstrate the similarities and differences between developing for these technologies.
Finally, you will be introduced to software design patterns and Arp, the open source pattern-based framework for the Flash Platform that Aral authored.