Frequently when people find out what I teach, a how-to question or an email with buggy code attached isn’t far behind. Lately there’s been an interesting change in those questions and emails. Rather than asking me to find the bugs in their code or how to code something, people want me to tell them where they went wrong now that they are “stuck” in a half-finished project. Others tell me about ideas for RIAs that they don’t know how or where to start building. Some are generally overwhelmed by the idea of building an entire application.
I’m familiar with these issues. I’ve struggled with them. I watch students struggle with them almost every semester. I’ve worked through these issues and have helped students work through them too. This experience has taught me that most of the time these issues are related to application design and development – actually, the lack thereof. Without having a solid understanding of what needs to be done and a plan for how to achieve it, successfully completing projects on time and on budget is much more difficult.
There are a number of good resources on the various topics of application design and development. However, most of those resources use Java, or Rails, or a C based language in the examples. Many people building an RIA with Flex/ActionScript don’t consider using those resources due to the language difference.
Please correct me if I’m wrong – I don’t know of any ActionScript or Flex resources dedicated to application design and development. Joey Lott and Danny Patterson’s Advanced ActionScript 3 with Design Patterns does includes a chapter on designing applications. Object-Oriented ActionScript 3.0 by Elst, Jacobs, and Yard includes chapters on planning and project workflow. On his blog, Ted Patrick has some good posts related to problem solving, application design, and development workflows. Each of these resources are extremely valuable, but none provide an in-depth, soup to nuts discussion of application design and development.
So that’s what I’m going to try to do here. I’m about to start building a new RIA and will document the entire process in a way that will hopefully be helpful to some. Starting with the idea and ending with deployment, I’m going to show how I work through the entire design and development process. Please ask questions, make suggestions, and share your own experiences.