October 2007

Monthly Archive

Why Flash?

Posted by hardin on 07 Oct 2007 | Tagged as: Technology

In the last year, Adobe has continued to transform Flash from a simple animation platform to an incredibly powerful software development environment that allows for sophisticated applications to be deployed on the web. Action Script, the underlying language that powers Flash applications, used to be relatively primitive. With the advent of Action Script 3, Flash now incorporates a full implementation of ECMA Script (the standard behind JavaScript). This combines a complete, object-oriented programming language with an efficient virtual machine and a state-of-the-art graphics engine.

Since it based on ECMA Script, Flash also has the ability to directly interface with web applications driven by popular AJAX technology, using an External Interface system that allows it to send and receive events to and from JavaScript. The Flash virtual machine can be used to complement AJAX systems, instead of being isolated from the container webpage like previous versions of Flash.

Finally, the popularity of sites based on Flash, such as YouTube, means that Flash has a very high deployment rate. Adobe’s Flash browser plug-in is installed on a higher percentage of browsers than any other, with over 75% of current internet users able to access Flash content. This number continues to climb, as more and more sites are built using applications developed in Flash. As the Web 2.0 is becoming a reality, Flash stands at the forefront as one of the primary technologies driving innovation on the web.

Interfaces and the Search for Happiness

Posted by hardin on 04 Oct 2007 | Tagged as: Design

I should preface this article by stating that I am not a theorist when it comes to computer science. I like theory, and I think it’s interesting, but I make a living by building cool applications, not by building cool theories. That said, I occaisonally read the Communications of the ACM, especially when clients have it in their offices while I am waiting for a meeting. This happened to be the case the other day, when I picked up the (quite out of date) April 2007 issue of Communications, and came upon a very interesting article by Jenova Chen, founder of That Game Company, entitled Flow in Games (and Everything Else). It is based on her thesis at USC, and focuses on applying Mihaly Csikszentmihalyi’s Flow Theory to software design. Basically, good interfaces that captivate the user transport them to the Flow, which “represents the feeling of complete an energized focus in an activity, with a high level of enjoyment and fulfillment. To achieve a flow state, a balance must be struck between the challenge of the task and the skill of the performer. If the task is too easy or too difficult, flow cannot occur.”

Mihaly Csikszentmihalyi

Chen applies this idea to games, identifying eight major components of Flow: a challenging activity requiring skill; a merging of action and awareness; clear goals; direct, immediate feedback; concentration on the task at hand; a sense of control; a loss of self-consciousness; and an altered sense of time.

When I read this list, however, I don’t think of games. I think of some of the great web applications I have interacted with. Basecamp, for example, fulfills many of the components of Flow. I have certainly lost myself in that program for hours as I direct Intelli-Computing, so I have personally experienced it. When we design web application interfaces, there is no reason why we can’t incorporate the euphoria of the Flow that makes the games of Chen’s theory so successful.