**note: yes, this is a repost. I had a blog catastrophe, and I’ve had a few emails already about this post, so I’m just reentering it. The previous comments to the old post will be added to the end of the post, since there was a lot of good info in there.
At the studio I work at, we’ve hit a growth spurt over the last year. We went from being 2 or three freelancers working in a room to 10 people split into two different offices, adding more designers developers, project managers, receptionists, etc.
One of the issues I have ben experiencing with the sudden growth is managing workflow, specifically when it comes to flash development. It used to be that I would get handed off a psd, and I would handle everything when it came to “flashing it out”. Now, more than one person can be owrking on the fla, and it usually works that we have designer bring in the graphic and building the basic animations, and a programmer would handle coding any data-retlaed stuff, or anything that might be too technical for the designers to animate.
The problem with that is often we find that the programemrs are having to strip down a lot of the owrk that the designers have done, in order to recreate with actionscript what needs to be done (for example, attaching a series of clips tot he stage and loading jpgs into them, then resizing elements as needed to fit).
I’m sure some of it can be solved by simply reversing the order of who works on the fla, having the programmers “block” out what they need and then the designers can program that, but it’s not always the case that it can happen like that.
So basically I’d like to ask how other people out there are handling similar situations.
–comments:
Name: petr
Email Address: petr@gmx.ch
URL:
Comments:
A very good question since graphic, motion and interactive design are very close to each other. Especially when building responsive sites the designer absolutely needs to know what’s possible using generative or other dynamic approaches using programming because as an interaction designer, you have to couple the users movements/intents (mouse, choices, etc.) to elements of motion design.
So at our office, designer and programmer are starting very close together, defining key concepts of the site and key elements of wizzardry. Then they head of for first standalone prototypes/sketches of those elements where design and code are coupled very close together (maximum 3). But there are enough elements to work on your own. The programmer cares about the whole internal architecture, makes details work, while the designer is working on the assets and polishing responsivness, smoothness and sexiness of a interactive site.
And there you see it: As a Flash Designer you have to know how to code. You adopt the standards of architecture layed out by the Flash Developer. Architecture means standards of how to wrap up your cool stuff/animation into a self contained unit (be it movieclip or class). If you can’t do that you’re a Motion Designer not a Flash Designer. But the Flash Designer does not care about details, workarounds, gotchas, utility classes, loading efficiency, shared assets, etc. He is always strictly working on interaction design.
So to me, they both have to speak code. The Flash Designer knows code as his second language, the Flash Developer knows Actionscript as his first language. The Flash Designer knows how to adopt architectural concepts and guidelines while the Flash Developer can invent them and explain their importance to the Flash Designer. And the ability to explain it is very important because Flash Developers tend to overcomplicate («we need more abstracion, so we can dynamically change universe”) while Flash Designers tend to forget about limits of space and time (bandwidth and processing power).
–
Name: Craig Babcock
Email Address: gweedo@pod6.com
URL: http://pod6.com/blog_wp/
Comments:
Man, is this ever a can of worms. There are so many unique variables for each project, making a standardized approach difficult. In a perfect world, you would have a storyboard and a functionality spec before writing a single line of code. Then, you would build out your architecture, templates, etc. while designers generate source graphics/video/audio and, if necessary, database programmers would build out any server-side functionality and document the API ( ;D ). Next you (and with any luck, a team of builders) assemble and animate the graphics/video/audio, writing required presentation-layer code as you go. Ideally, you would have the necessary talented bodies around you (animators, designers, builders, writers, etc.), allowing you to focus on the integration of your assets and writing extensible code.
However, this level of organization is rare. In most cases you won’t have many of the things listed. This can be frustrating, and more importantly, threatens the success of the project.
The solution? Be realistic. Consider the resources (people, time, money) you have to work with on a case by case basis. Find the path to success working with what/who you have. Express to your employer/manager any concerns you have, and request the resources you need to be successful. Definitely aim for perfection, but plan on being flexible and know you will likely need to make compromises to be successful.
–
Name: JesterXL
Email Address: jesterxl@jessewarden.com
URL: http://www.jessewarden.com
Comments:
Feel your pain. Back when I was working a lot with designers in Flash, workflow was a constant challenge.
Without going into theory, I can tell you what worked everytime:
- Designer creates design
- if design is PSD, production artist converts to PNG in Fireworks
- production artist imports into FLA all the design assets into Graphic Symbols, no MovieClips, no Buttons
- Flash Developer takes it from there
- when build is ready to show client, you allot some time to “fix” the design based on what the developer broke. These visual fixes usually fall by the wayside in priority compared to functionality changes/bug fixes.
That last step depends on your work. In application development, even if the marketing or Art Director is in charge, as a developer, I’m held accountable for code, and thus design changes take a back seat. Exact opposite for jobs where the design is at the fore-front, in which case the code can be ugly to “get it to work”.
Bottom line, you need a full-time production artist, or a Developer has to be one. Expecting a designer to create a FLA to a developer’s specifications is setting them up to fail as far as I’m concerned. I’ve spoken to developers who have standards of FLA’s that all their in house designers must abide by, but I don’t buy it.
–
Name: David
Email Address: missing-link@emllabs.com
URL: http://www.emllabs.com
Comments:
We have a similar situation where I work. The best way we have gone about it is to have a kick-off or sit-down before the project gets going, decide on most (if not all) of the interactions, and data connections that will occur and come up with the function calls and parameters. Then the designer can simply put in the function call for when they want a specific thing to happen and the programmer builds code at the same time knowing what is suppose to happen when that function is called. After the designer is done, the programmer combines with his code (Usually external AS file) and irons out any of the remaining bugs. It seems to work fairly well for the most part, and if something needs to change after the fact, the overall design and function are still seperated.
–
Name: CFlanagan
Email Address: chrisf@digmi.biz
URL:
Comments:
We’ve run along the same lines at Keith. I build templates with VERY DETAIlED documentation and instruciton. There’s always a bit of hand-holding while the designer works with a new template the first few times.
The designers were pretty dubious the first time I introduced this workflow/process. But, now they like it. I try to add as much of the functionality for a particular template as I can, so the designers can see, hear, and interact with it, much like a user would, while they’re adding content. In our lastest project, I showed them how to upload the .swf file to an internal server and run their finished product in a mock up of the full interface. Then they get to see their work in the context of the interface.
It’s extra work up front that makes the project run smoother in the long run.
–
Name: cosmin
Email Address: cosmin_cimpoi@yahoo.com
URL: http://cosmincimpoi.blogspot.com
Comments:
I would be interested in hearing how exactly did Keith manage to force his framework to the designers. Probably he built the best framework ever (since he has the experience) and then went to the designers and said: “Hey, I’m a well known and published flash expert so you’ll do as I say. Or else!”.
Sadly not all of us can do that.
The issue is indeed a can of worms and probably that’s why with all the OSFlash hype there aren’t many such open sourced frameworks.
–
Name: John Giotta
Email Address: jdgiotta@gmail.com
URL:
Comments:
I’m starting to feel this type of pressure where I work too.
I’m tasked to build enterprise applications, I try my best to make everything customizable, but I’ve actually stopped developing FLA files. Everything I do now is in strict AS2.0 and PNG.
So of course now I’m being ask by designers that don’t like the design limitations to provide an FLA file.
Kind of hard to do when your framework and source resides on a CVS.
–
Name: keith
Email Address: keithsalisbury@gmail.com
URL: http://www.nakedpenguinboy.com
Comments:
Building a template or framework that is supplied to the designers made a huge difference to my workflow. I basically set them up with the “magic” movieclips they needed, then let them run as wild as they like within that framework, and its worked out beautifully. I hardly needed to code a single “microsite” or game interface in nearly a year as a result!!!
–
Name: paul
Email Address: paul@reflektions.com
URL: http://www.reflektions.com
Comments:
Take away as much power from the designers. The truth is the following; flash programmers have a bigger impact on the end result than designers do, so programmers should tell designers what to do and not the other way around. I usually develop templates with the designer using visio (circles and squares); then I go off scripting the sites features while he works on the design.
–
Name: John
Email Address: olsonjj@gmail.com
URL:
Comments:
Craig said it best -> “There are so many unique variables for each project, making a standardized approach difficult”.
I think the key to any approach is communication between developers and designers sharing best practices and do’s and dont’s. Designers need to be aware of what the developers need or don’t want to see and developers need to understand the designers vision.
–
Name: TheNaguall
Email Address: thenaguall@yahoo.com
URL:
Comments:
Here at my interactive factory I’ve found that limiting everyone’s roles to what they do best is key. The information architect/usability guy handles the wireframing (Visio). The designer takes the wireframes and creates the artwork (Photoshop/Fireworks). I, the Flash Developer, take over and handle the rest.
The designers know that pixel for pixel their vision will be recreated and given “life” in Flash. If you can communicate clearly and meet your designer’s needs then there never should be a reason why a designer would need to touch the .fla.
–
Name: JesterXL
Email Address: jesterxl@jessewarden.com
URL: http://www.jessewarden.com
Comments:
…and of course, if design is a FLA, the Developer usually ends up building their own FLA, an incorporating the designer’s FLA in since the structure is so diametrically opposed.
–
cosmin: >> The issue is indeed a can of worms and probably that’s why with all the OSFlash hype there aren’t many such open sourced frameworks.
One such open source framework is Aral Balkan’s ‘Ariaware’ (http://ariaware.com/) - a very impressive “Best-Practices Pattern-Based ActionScript 2 Framework”. It is a (nearly) perfect example of how developers would/should build software in a (nearly) perfect developer-centric world.
Inspired by his and others’ work, I recently began assembling my own (soon to be) open source framework called ‘mPerfect’ - an mPerfect methodology for an mPerfect world. The approach is radically different. It assumes that you are working without the resources necessary to develop perfect software, i.e. time, budget, direction and qualified staff. It is more of an ‘extreme programming’, reality-based approach that starts with ‘worst case scenario’ and progresses toward relative perfection. I know it sounds a bit like sacrilege, but after many years of trying to force one misguided project after another into the ‘perfect project’ mold, it became apparent that a developer’s idea of perfection was often too far from the reality of a given project.
–
Awesome, thanks for the effort on the repost.