The story so far

The story so far: In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

- Douglas Adams

Programming visuals, games, UI, HCI, software design, and language (as in the English language) have long been subjects of interest for me. Working at Cynergy Systems means that I can focus on using Adobe Flex to pursue these interests. This website is an outlet for me to share my thoughts with the Universe, whether or not you think it was a bad move to create it in the first place.

Cynergy strikes a balance between building excellent business apps, developing websites and branding, and encouraging its developers to experiment, learn, and break down barriers. This is one of the best reasons to work here and the reason why I have time to start this website.

I have several purposes here, and you will see this site evolve to fill them. You'll notice I don't call this a "blog" although there will certainly be blog posts, this one among them. However, I am not primarily interested in a soap box to talk about the same news that everyone else talks about or to vent or rant. I want to build a website that can help the Flex community solve its problems. To that end, there will be several divisions created on this site.

1. Flex 3 Anatomy

The Flex 3 Anatomy is where I will dig apart the Flex 3 SDK source code and document what I have learned. The purpose is twofold: to share this knowledge and to document it for myself. I have programmed long enough to know how foreign my old code looks to me and to know how many problems I must relearn the solutions to. I will be looking at the inheritance structure, design patterns, and critiquing the code.

2. Solutions

Solutions will be focused on solving specific problems in Flex and Flash. This will focus on specific goals and solving them in the best manner using the Flex framework (or Flash player). The Solutions will reference the Anatomy for detailed explanation of the framework.

3. Flash Physiology

You can't study the Flash runtime from the inside, but you can observe its behavior based on its structure and function. This section will feature analysis of the behavior of the Flash platform through experimentation. After you've read the API docs and you want to know what Flash really does, come here.

4. Algorithms in Flash

As an experiment in personal pedagogy, I want to broaden my knowledge and understanding of classic data structures and algorithms. This is a topic largely derided among software engineers, but one in which I now see an increasing benefit. I plan to work through Robert Sedgewick's excellent Algorithms book and compose interactive visualizations of the algorithms.

5. Software Design & Architecture

There are some key problems in the architecture of Flex and other UI frameworks. I'm not simply talking about MVC here. First, there is the issue of the design of an API and extensibility. Flex gets a great start, but needs some help making it to home base. Secondly, there is the issue of the resultant architecture of an application. There are positives and negatives to the display list-centric view that building in Flex encourages (shall I say requires).

6. User Interface Design: Interaction and Usability

A general catch-all section for discussion of all matters pertaining to the design and usability of interfaces. There is much to learn from existing design; there are many existing interface patterns that can and should be leveraged, and there are countless more that should be avoided. 3d UIs is a very weakly researched, tested, and proven area.

7. Experiments

I will certainly build experiments using Flash and Flex and post them here.

The design and layout of the site will certainly evolve over time. The blog needed to go live ASAP because the wonderful guys at 360|Conferences put up a link to it since I'm speaking at 360|Flex San Jose. This talk will focus primarily on the Flex 3 Anatomy content.

Search Great Flex/Flash Sites