Monday, April 20, 2009


I'm starting to realize just how big of an undertaking this could all turn out to be. Drastic changes will have to be made if it's going to be anything resembling feasible. Though I see this is a primarily artistic endeavor, efficiency will be key. Hell, especially because it's artistic. It's as easy for an artist to lose all track of time in pursuit of some romantic notion as it is for a programmer to spend several days straight hunched over a screen atop a mountain of empty Mountain Dew cans sans food. If I'm to figure out where I can improve, I'll need a bit more clarity concerning the time I spend on things, and the act of refining takes plenty of it so I'll only be spending more.

Sitepoint was gracious enough to have covered the act of time tracking already. Here's their list of 7 Time Tracking Tools. I'm giving Time Tracker for OSX a try. It's simple and the price is right. Used to have some dashboard widget that had similar functionality but I'd always forget to turn it off. Time tracker gives you a nice little icon in the menu bar.

Anyways, as much time as i'd be recovering through greater insight, there's also time I could be saving through efficiency in planning, attention to detail, and - most important - modularity. To me this sounds like Object Oriented Programming. For those of you that don't know, here's what Wikipedia has to say about it:

Object-oriented programming (OOP) is a programming paradigm that uses "objects" and their interactions to design applications and computer programs. [...] As hardware and software became increasingly complex, quality was often compromised. Researchers studied ways to maintain software quality and developed object-oriented programming in part to address common problems by strongly emphasizing discrete, reusable units of programming logic.

By breaking a program down into modular, reusable components, you increase agility (the ability to change conceptual directions quickly yet w/ stability ) and productivity. It's quite inspiring to see solid Object Oriented code at work. So inspirational that it really just makes common sense to apply it to areas outside of just code. In fact I'm sure there are hundreds of man-made situations where the label fits despite designers not being aware of the concept of things being O.O, not to mention countless examples in science and nature. Where better to draw inspiration from, right?

This paradigm closely reflects the structure of systems 'in the real world', and it is therefore well suited to model complex systems with complex behaviours.
Niklaus Wirth - Good Ideas through the Looking Glass

The most obvious application of these tenants is to the code I make for websites so that's where I've began - by doing a great deal of research and planning for an Actionscript 3 framework. I'll spend a lot of time getting the technical details right this once so that - in the future - I'll be able to focus primarily on the overall design of a site. While this will be primarily geared towards sites, it won't take much to expand it with a backend for RIAs (Rich Internet Applications), and I can even see myself going as far as using it in interactive art installations. To get my ideas out in solid but fluid form I used PersonalBrain - a program for "mind mapping." With the right kind of thinking, you can use it to plan out anything that can be thought of in terms of hierarchical or interrelated concepts (which is pretty much everything ever so...). I highly recommend checking it out. Here's a screenshot of the mindmap for the framework thus far:

The entire map is much bigger than what's here but there are the areas I plan on focusing on initially. I've already got quite a few classes in the package so I'll probably be writing about it with more depth soon (and posting source).

I'll be racking my brain over the next few weeks to figure out how to maximize efficiency. Stay tuned.

Monday, April 13, 2009

An experiment in design

This blog will be an experiment in design - my once unrecognized and unreciprocated infatuation. For long I've admired from afar - obsessing over the production design of movies like Blade Runner and Dune. Spending countless hours collecting, replicating, and cataloguing the details of objects with amazing aesthetic appeal - sometimes things that did not even really exist, like Kaneda's Bike from Akira (but a quick google search will tell you I'm not the only one taken by it's design).

But I am no designer. An aspiring developer, yes. An aspiring editor of video and film as well. I even web design, and though I've been involved in all these outlets for years I can't help but feel like a Jack of all trades (and a master of none).

But that's ok because I'm finally seeing the potential.

Through the deliberate use of visual and narrative elements, movies suspend your disbelief. If viewers must "buy" into this vision then the aesthetic must work to sell. Production design builds on the emotional content of the script to convey a world critical to that emotion.

Coders construct programs - tools that, though built atop complex logical patterns and interlocking "modules", ease the completion of certain tasks. If designed effectively these programs allow users to comprehend parameters of the task without being bogged down by the inner workings of the program (or the task) itself. This level of abstraction is taken a step further. Not only is the task simplified through the "lens" of the program, the program itself is also simplified through the lens of the users preconceptions and emotional bias towards the task. These are the concerns of user interface design.

Design is as much about function as it is about form. As much about the internal as it is the aesthetic.

When I take this into account, I understand my attraction to web design - it fits somewhere complicatedly between the two, but it's the complexities of these connections that make them ripe. I tried to flush out more of these parallels but reading a bunch of blogs and sites about web design will quickly reveal just how new a field it is.

So I started looking backwards - specifically at architecture, another field very much concerned with the balance of the technical and the aesthetic. Of both form and function. This is a parallel of more relevance than you think - in programming, Design Patterns are one of the major tenants of Object Oriented code, but the idea (and the phrase) have origins in architecture. It's these kinds of conceptual bridges I'm after.

Through case studies, exercises, and a fair bit of tinkering and research, I'll - among other things - dissect areas where artistic and technical design intersect gracefully. There are fields that have been around a lot longer than the mediums we work with, but are rich in wisdom, methods, and techniques of relevance to today's designer. The tenants of efficient programming tell you to avoid reinventing the wheel, I'm just trying to figure out what else I can avoid the reinventing by re-contextualizing information from other similarly balanced fields.

I also want to know how many of these paradigms that are normally relegated to one facet can be applied in a wider scope to a project. If my website's code is Object Oriented, what would it look like if the visual design was "Object Oriented"? What if the day to day of your business we're run according to the tenants of OOP? These are just some examples of things I'll be getting into on this blog. I'll also talk about actionscript/flash, graphic/motion design, general programming, branding/corporate identity, frameworks (both programmatic and otherwise), photography, inspiration, post-production, and much much more :)

When a concept intrigues me I'll share all the pertinent information I've found, speculate on how and where else it can be applied, and document my success (or lack thereof) with applying it to the design business I'll be starting, with source code, assets, and explanations all along the way. This blog is an experiment in design and journaling of my attempts at patching up the holes in my skill-set. A guide to others hoping to build bridges, and - hopefully - a resource that'll inspire some valuable dialogue on all related matters. Most importantly it's a place where you'll find free stuff, if you're a designer. We all know how designers love free stuff.