Why does Flash 9 have ActionScript 3?

Had dinner last night at Figo with my friend Leif, the local Adobe User Group Manager and Roundbox employee. More than a friend, he’s one of my mentor’s and also someone locally I can meet up with in person and talk shop. We were discussing various things, and I took the opportunity to show him some of the more real-world examples I was working on that extrapolated on my way of incorporating Flash content into Flex vs. loading it in externally. I got some good context about work flow I hadn’t considered. Since he plays a managerial role at times, he’s thinking about the best work flows for his team. This was a good acid test to see if some of my ideas would work or not.

One thing that came up that I couldn’t answer is the state of ActionScript 3 in Flash 9, mainly, why is it there? If you were at MAX, or read anything online, the future release of Flash 9 looks pretty hot. A far cry from what is up on the labs right now, the IDE design itself looks hot, and it has some quirky features that, at least at the get go, look appealing enough to upgrade. The big thing, though, is the ability to publish to Flash Player 9 using ActionScript 3.

Upon reading this article ASH posted, it clearly shows there is some “desire” by agencies to not only desire to publish to Flash Player 9, but who are now in a good position to do so when Flash 9 is released officially. Agencies do not utilize Flex to do their work. They are typically marketing & design focused, not doing application development, thus Flex isn’t the appropriate tool for them. Yet, I have no clue what those agencies have in mind.

I really didn’t fully appreciate how ingrained Flash was in the agency world until I spent those 3 months up in Detroit. In working at a big agency, as opposed to the smaller places I usually work, I got to see the vast uses Flash has in those places. I could make generalizations because apparently agency people float from agency to agency based on economic & leadership climate. Not all agencies are the same, but they are doing the same “types” of work with regard to their use of Flash. In the middle of our project, we got the go ahead to upgrade to Flash Player 8. We were originally slated to deploy to Flash Player 7, which I supported. I would’ve taken 6; as long as I have ActionScript 2, I really don’t care for that type of work. While it was a little disconcerting to change your deployment scenario in the middle of the project, I understood the needs. As a design driven project, they were planning to shoot & utilize an immense amount of video footage, taking major advantage of Flash Player’s superior reach & usage of digital video online. Specifically, they also wanted the On2 codec in Flash Player 8 vs. the earlier Spark. The ability to have better looking fonts with dynamic kerning control was a nice side benefit. Obviously, Flash Player 8’s runtime filters gave the designers a lot easier time to convey whatever design they wanted, easier, without having to do production art to convert a PSD’s implemented effects to Flash. They still had to for some, but at least it was easier now.

“A color burn with a white fade & blur on this transition? Ok, can do.” No After Effects required.

But what of 9? The biggest to me was the work flow improvements with the Photoshop import. That is one of the biggest bottlenecks in development and I think Adobe looks to be doing a fantastic job there.

But what of Flash Player 9? I can think of no feature in Flash Player 9 that any agency would take advantage of. Strong typing, from my experience, does have value in shorter time frame Flash development work, but doesn’t have the return on investment like it does in larger scale Enterprise projects. After you wax a branch of classes you’ve just done because the design changed, you start to question if you should really be working that hard to make the code scale when it’s lifespan is measured in potentially minutes.

You don’t typically see software developers in the agency world for a reason, specifically front-end. If you do, they don’t last long. Either that, or their style has adapted to the strenous and under-appreciated role. They lose the ego and pretense that goes with what’s “perceived” as good programming practices. To me, when you’re under a deadline crunch, a lot of the OOP & design pattern precepts are meaingless; if you can get stuff done, on time and as designed, who really cares “how it’s built” if the app will never be maintained? When first time design impact vs. maintainability drives your product, strong typing, encapsulation, and various other best practices earned in blood over the years in Flash Development quickly fade away into being meaningless ivory tower concepts that don’t apply to your world.

Frankly, I don’t know how they do it. I know WHY they do it, but I don’t know HOW they do it. These same “developers” who work side-by-side with designers, creating massively complicated engineering works in a fraction of the time it takes traditional software developers, and expected to change said code on a whim. Code done in minute time frames isn’t typically as maintainable as code that was developed with the appropriate time. These are the same types of developers that stand the most to gain when agencies start doing Flash Lite work in the US. By the time they do, we’ll still be the atypical USA with the majority of phones deployed with Flash Lite 1.1 on them, supporting basically the Flash 4 style of coding. Most of these guys and gals can tackle that no problem since the ones I’ve had experience with have the no fear mentaility. Loosely typed, flexible ActionScript 1 shines in these areas and complements design nicely. I managed to inject ActionScript 2 into our project because the scope of the data services we were dealing with demanded it. That’s a fancy way of saying I’m now spoiled, and am incapable of going back to older, but still valid, ways of development. If the code isn’t as flexible as the designers, it’s thrown out; there are no negotiations. Developers are on the low-end of the totem poles at those places. They are there to serve the designers with their mad coding skillz and knowledge how to incorporate said code into design.

…so where does that leave ActionScript 3? As of this writing, Flash Player 8 is just slightly above the 90% penetration rate according to Adobe; 9 is about 40%. As such, most consumer facing agency work will continue to publish to 7 and 8 until 9 hits the 80% mark. What then? Just because Flash 9 might default to publishing to Flash Player 9, ActionScript 3 (guessing here, don’t know for sure), does that mean they too will publish “because they can”? Remember, Flash Player 9’s key component is the incorporation of the new ActionScript Virtual Machine, AVM for short, that takes advantage of ActionScript 3’s strong-typing to make code execution screaming fast compared to past iterations. This in no way positively impacts design rendering speed. I’ve only seen the new Garbage Collector, implemented in Flash Player 8, negatively affect animation speed in Flex, not Flash.

We’ve already established strong-typing has little place in most agency work. There is more incentive to use strong-typing now inActionScript 3, because beyond the easier debugging of code, you actually now are rewarded with fast running code for strong-typing things. Most agency work does not have a lot of code, nor is that code doing anything processor intensive beyond tweening code, which again, is display related. Some of the public Rich Internet Applications work I’ve seen in the industry is definitely developed with Flash as opposed to Flex. I’m seeing a large influx of traditional web & software development firms using Flex for their existing work because it’s approachable to them vs. Flash. As such, there are still smaller software development firms utilizing Flash for development work. To me, they have little incentive to keep doing so. Flex’ workflow is superior for that type of work than Flash is. Even when Flash 9 is released with ActionScript 3, you won’t get all of the coder benefits one gets in Flex Builder 2. One could argue some of the public facing development work done using Flash was done that way because Flash makes it easier to incorporate specific design elements compared to Flex. I’d agree, but if your project is development driven vs. design, I really fail to see the gain. Seems to me you’d save more time in development that would offset the design incorporation time. Either that, or they are just learning Flex to see what it can do and offer them, and are thus sticking with what they know till the time is right for a new project. Cool, I can understand that. As Leif pointed out last night, I’m extremely impatient. Prudence is a good move in this case, even with all the hype surrounding Flex.

Regardless, I still can’t see the reason why AS3 is in Flash. The only tangible reason is, going with the above prudence argument, that smaller shops don’t want to jump to Flex immediately for their development work, so will continue to be slightly behind the bleeding edge, and thus will stick with Flash for another 1 year to 18 months; depending on project schedule & in house developer training / competence of the new Flex tool set.

Others could argue Flash is faster. Hrm… define faster. If I want to check the length of a string, print out key codes, or parse some data, I’ll definitely be using Flash for that. Setting up a project in Flex Builder just to do those simple thing is a pain in the arse. Additionally, strong-typing gets in the way. Granted, you don’t HAVE to in Flex, and can ignore all of the warnings, but even so, certain non-casting in Flash allows you do quick math that is impossible in strongly-typed Flex. Again, you don’t have to cast… but why go to the trouble? Just publish for ActionScript 1 in Flash, and get things done, faster. I’ve seen like… apparently 2 use cases for ActionScript only projects in the past year. One in particular was strongly defended as being relevant, and having no need of the Flex framework for a GUI-less project. Ok , I can buy that. I can also buy it’s 1 use case, being an exception to the rule. At the end of the day, it seems for quick and dirty apps, prototyping, or just good ole small in scale Rich Internet Applications, you’d use Flash vs. Flex. If I had my choice, I’d use the latter, but it’s really industry specific at this point.

I still think the prudence argument is weak. The only other valid argument is specific towards public facing applications, as opposed to being deployed on intranets, CD-ROM’s, devices, etc. Most public facing projects quickly determine that Flex is not right for them.

“I’ve added 1 Button and 1 Text box to my Flex app and it’s 118k!?”

That answers pretty quickly people’s questions if Flex is right for them on some projects. A lot of us nowadays get off easy targeting broadband customers, or Intranet deployed apps. A lot of people don’t have that luxury. It was one of the biggest frustrations of the early Flash frameworks in that while the initial hit of the framework was harsh, about 60k, the rest was really small because they all shared a lot of common base classes. Still, the initial hit was still too much, combined with slow initialization times.

Those days are over, but the requirements for smaller apps isn’t. I’m seeing more and more AJAX / DHTML / non-Flash sites nowadays that load slower than Flex apps do. Why? Initialization is debatable, but filesize is not. For example, Plum.com, a social collection site, takes 7 seconds to load on my gaming PC. The initial page is 31k, and the homepage alone without clicking on anything downloads a total of 634k worth of assets, all in 14 server reqests (why do server requests matter?). How does this compare to your Flex app? Obviously, this is but one example, and there are many good ones, but the key point here is that Flash is chosen over Flex because you have more control over the filesize of your component set. Flex can be shrunk, no doubt, but it wasn’t made for modem users.

…so, I guess ActionScript 3 is in Flash 9 for prudent customers, and those who wish to harness the power of ActionScript 3 for creating smaller SWF’s? Not sure how big the component framework Metaliq and Grant Skinner are working on for Flash 9’s release, but we’ll see. This was one of our requirements up in Detroit; filesize was our 2nd priority over correctly implementing the design, so I can see how it’s valid.

24 Replies to “Why does Flash 9 have ActionScript 3?”

  1. Oh you are sooo wrong.

    Try to point out at least one really good Flash website done by really good agency done using keyframe animation and without touching actionscript.

    Flash is NOT an animation-ONLY tool and creative people working on really cool projects are not ONLY designers, they are coders too.

    Actionscript 3 is in Flash because Actionscript 2 was hard to code, inflexible and slow. It opens the door to better and smaller applications.

    (I am really mad at this point)

    Flex 2 is made for RAPID application deployment, that means cutting costs of developing heavy applications. We charge our clients 30% less than we did before Flex 2 because our development times dropped by 50%. Do the math.

    And please, don’t mix Flash and Actionscript 3 with Flex 2 – Flex 2 is a FRAMEWORK built upon Actionscript 3, a set of universal components that are “@!$#$^-friendly”.

    You can build EVERY single Flex 2 component yourself using Actionscript 3 and they all will be lightweight. Will they work? Well, it depends on your professionalism.

    From what I read here in your post I gues that you are not a programmer or a very inexperienced one.

    Actionscript 3 incorporates things that make a programmers day easier, such as strong typing and 3 to 100 times faster code execution. It is a very mature, standards based language that has a bright open-source future.

    I will not continue this tirade as I got really irritated by your post.

    Sorry, -1 reader for you.

  2. I didn’t mean to convey that design sites don’t use ActionScript. I worked with 5 people, 3 programmers, for 3 months to a website that has 9 million hits a day with about 12 Akamai servers to handle the bandwidth. About 50,000k+ lines of code using Flash Player 8 and ActionScript 2.

    I know design sites have code; I helped contribute to that.

    I do disagree, though, that ActionScript 2 is inflexible. It’s loosely typed, and I’d argue is more flexible. I’m not forced to use the dynamic keyword on classes, don’t get yelled at for accessing private methods and properties dynamically like I do in Flash Player 9’s debug player. I can use mixins, modify the prototype to do wild things, and have fun with __resolve with less code than various Proxy class solutions take in ActionScript 3.

    You say you are developing faster in Flex 2; exactly one of my points! You are developing faster in Flex than Flash.

    Flex 2 is not a framework; sorry for loosely using the terms. When I refer to Flex, I assume no one uses the ActionScript only projects in Flex Builder 2. For the sake of this post, I assume everyone coding in Flex Builder 2 is using the Flex project, not using Flex Data Services, and utilizing the Flex 2 component framework.

    The components are friendly, yes, but not perfect, at least to developers. They are light years better than what we had in Flash MX 2004 and Flex 1.5, but unless you’ve spent hours debugging why a width of 100% fubars your design, you don’t have an appreciation for how deep the rabbit hole goes.

    The points you make for ActionScript 3 are valid, yes, but I fail to see how they positively impact fordvehicles.com, for example.

    Sorry you got irritated. I in no way meant to iritate anyone, just throwing a question out there, looking for feedback on what people think they’ll do with ActionScript 3 in Flash as opposed to Flex.

  3. Just something to think about, and one of my motivations for this post. One of Java 1.6’s new features is the scripting engine. It allows you to write JavaScript that runs on top of Java. It’s done this way because JavaScript, as a more loosely typed and less strict language, is faster to develop in. To me, there is a great parallel between ActionScript 2 and ActionScript 3.

    More info.

  4. I agree with you Jester. AS2 rocks for getting things done — its phenomenal. Once you go over to flex and as3, sometimes things that were so simple seem so complicated — but we’re used to the as2 model. A developer who is not necessarily working with heavy graphics and fine attention to detail probably feels at home with flex 2 — compared to something like java swing. They can definitely get into flex, etc.

    But as2 still rocks for whatever it can do. There is a tradeoff between design and maintenance and I think thats the issues you’re bringing up really. Speed of getting something done versus a developer’s time. Developers always will take the well thought out approach, UML etc. But designers are going for the creative edge, breaking out the cool designs. Developers are about re-use and maintenance. It two sides of the spectrum.

    Great post.

  5. Jesse, come back from the dark side. The Flash Jedi use MTASC by way of FlashDevelop and the Flash IDE for assets. An elegant weapon, utterly deadly in the right hands. ;)

  6. 1) There are plenty of beginner/intermediate developers in the Agency world because Agencies stereotypically tend to be stupid when it comes to hiring programmers, such as thinking the only difference between a coder who charges $35/hr and one that charges $100/hr is $65, or that throwing more programmers on a project will get it done faster.

    2) Many serious coders avoid working at agencies because agencies tend to treat programmers as third class citizens. They have little to no say in budget or deadline decisions and they’re required to pick up the slack and take responsibility for every incompetent person who didn’t do their job correctly on the project before it landed in their lap. At these agencies, such as Agency.com, it’s a thankless job being a Flash developer. Nobody with talent will work at a place like that for long (I quit after 3 weeks – worst job ever – they treat their Flash developers with such a level of disrespect it’s insane).

    3) It simply not true that writing code on the timeline is more flexible and quicker than writing classes and using design patterns. That’s just making excuses for the lower quality coders who agencies tend to hire. I can write MVC code in less time than these guys who write stuff on the timeline and then my code is easier to debug, revisit and update.

    4) Paul needs to take a Xanax. Jesse Warden is anything but an inexperienced programmer. He is one of the pioneers in Flash development and is an incredibly bright individual. -1 reader? You’ll be missed.

  7. Agencies and ‘agency developers’ ( as you call them ;) ) need AS3 so they can spend more time fixing their own bugs instead of AS2/AS1 quirks :)

    As a plus comes the faster VM and whatmore Adobe’s got for us :)

    ( I know many software developers working in agencies, i used to work in one of Hollands major web-agencies for 2 years and Martijn de Visser from FLVPlayer fame works at Lost Boys, the other major web-agency in the Netherlands. Note that many big agencies do backend services as well, ecommerce sites, portals and so on so in my experience a lot of software developers do work in agency environments. As a bonus, you get to work on cool looking stuff instead of the boring data-entry flex screens :p )

  8. I think the question is more why wouldn’t they put it in there? As long as you have the choice between 2 and 3, great. You think they could get away with marketing, “Flash 9 – still with AS2!” ? The “no pesky scripting” tag line went out with Flash 2. :)

  9. I think AS1 and AS3… %^^&&78 hate OOP in AS2 like xml parsing! AS3 is beautiful for both proc style and oop style can be used on a timeline and the speed benefits of strong typing are still there. AS2 was like trying to fit a square into a circle! oh wait let’s use composition for everything and when you have painted yourself out of scope use delegate!!!!

  10. Good Post.

    I tend to agree with Keith. I don’t see why they wouldn’t put it in there.

    However, I can think of a lot of reasons they should. A big one being integration. The 2 AVMs really don

  11. Can anyone honestly think of even the most kickass app written with loosely typed spaghetti code that they didn’t have to go back into and not say, “Damn. Not breaking this into classes and strongly typing my vars and logically placing code has made this app a real bitch. Working on this is gonna suck.”?

    Sure, agencies love to rape the client by doing ‘maintainence’ work for some huge fee but I think it also depends on the agency and if they truly have an understanding of Flash/Flex’s capabilities. I bet shops that have code reviews are peeing themselves thinking about writing spaghetti code just to get it out the door. I’ve worked on both sides of the fence and I guess it comes down to what you can do with a straight face.

  12. I agree with JesterXL. Regardless AS3 is better in practice and faster typing for good Flash developers, project managers wouldn’t approve you to develop with AS3 until Flash 9 player hits enough penetration rate.
    Only one thing that if you coding AS3 in Flash 9 IDE that means you’re some kinds of early bird for the next step of Flash world.

  13. Excellent discussion Jester – and all the others who’ve posted comments.

    I’ve been a Flash developer at ‘one of those agencies’ for over 3yrs and I come from the old skool Flash 4 days of seeing some of Yugop’s early work and picking my jaw off the floor with what he managed to put together on timelines and in little 3 frame empty movieclips dotted all around the edge of the stage etc.

    We moved very organically from AS1 to AS2 and the driver for that progression was that designers wanted to get inside the flash file and fiddle with tweens and timeline-based animations. Rather than fritter away my working day waiting for them to make their changes before I could get involved, it became necessary the larger projects grew, to find a way of working in conjunction with them. A huge number of problems we encountered on sites such as http://www.nikespeed.com and http://www.clickmore.com were as a result of being at the thin wedge when it came to combining these animations with the code and the dynamic copy for foreign languages.

    By seperating the code as much as possible from the flash files we’ve been able to work in larger teams on more complicated projects without needing the project timelines to increase.

    This is essentially what it boils down to – time – On the on hand you have clients that want the impossible yesterday so you code for tomorrow – and it’s ugly as hell. On the other, you may have a client who understands these solutions are complicated and understands, from a business perspective, what improvements they’re going to see on their returns, so it’s prudent to spend more time getting the code right and using a more robust AS3 implementation makes sense.

    I think we pushed AS2 to its limit on the Orange Phone Trainer app which happily got the FF06 RIA award – Flash simply isn’t built for that kind of a solution – that’s what Flex is for. Flex is also fantastic at combining Java developer workflows together with Flash development workflows.

    But you lose alot of creative touches by over engineering the solution, making it much more difficult to keep the creative result maleable to change during production.

    Anyone who takes their eye off the fact that you’re creating something different in every agency project you do, and therefore re-inventing the wheel despite your best efforts, is in the wrong game. There are lots of languages out there, but I’d argue strongly that there’s not anything that touches Flash & AS2 when it comes to creating some of that stickiness that got Flash so popular in the first place…It’s just fun doodling in code, testing it and coming across a ‘happy mistake’.

    AS3 is the closest I’d like to get to Java and I certainly share some of your rationale in terms of pros of why we should use it.

    I also see some of the pitfalls and risk in going down an AS3 route too quickly. I don’t see the agency I work for using it until the right project comes along and we’re confident we’re not going to burn our fingers getting to grips with any of its foibles and nuances, for example proper garbage collection. We also use freelancers when we have to and when we get them onboard I don’t want to have to be concerned that their level of coding ability won’t cause more problems than it solves.

    The biggest challenge doesn’t lie with us – despite the fact that we’re the ones picking up the pieces when the shit does hit the fan. It’s how the projects are managed and sold into the client which makes or breaks a piece of work at the end of the day and I’m very lucky to be in a position where our knowledge and advice is called on at a very early stage of inception in an attempt to ensure that once coding begins very little does change in a project.

    Ultimately, we’ll pick up AS3 and will look back on AS2 in the same way we do AS1 now, but Flash has grown in such an exponential way that there’s going to be plenty of work out there for everyone, whatever the language they prefer to use, be it AS1 AS2 or AS3.

  14. “To me, when you’re under a deadline crunch, a lot of the OOP & design pattern precepts are meaingless…”

    Oh you are soo right! I experienced this more than once! Good OOP dersign simply requires more time than most design agencies can offer in their projects.
    Not my world, hence me being freelancer and steering to application development.

  15. Don’t forget about new AVM’s display hierarchy. I think it is one of most revolutionary and essential innovations. The possibility of display objects reparenting and application domains feature (using loaded movie library elements – now classes – in main module) – think it is a real boon for creating agency world’a applications without headaches.

  16. Hey Jesse here’s one more thing and if I skimmed to much and missed someone else already making this point, sorry.

    I think that the AS3 changes are a good thing not because of performance, not because of scalability, not because of code cleanliness but because of syntax. Seems like one of Adobe’s main goals is to get crossover devs under the Adobe roof. By making syntax so similar to Java and C# and following the same programming guidelines those langs use, producing code is easier since your brain is not trying to remember too many syntax differences.

  17. Significant technology changes, such as AS3, have the side effect of pushing a lot of old skool people out of their jobs.

    In the games industry, which is probably our best point of reference, this has happened many times. When 16-bit computer appeared, a lot of 8-bit coders were out of the business. Same thing happened when DirectX and the PS1 made 3D mainstream.

    I’ve worked in four agencies in the past 12 months and I can’t see any of them switching to AS3.

    They just don’t care. As long as they can stuff their sites with videos and get them in the fwa, they think they’ll be fine.

    The rules of the game have changed so many times, it’s ridiculous to think they won’t change again.

  18. Read the article and all the posts, its an interesting topic.
    I’m pretty familliar with the agency environment that Jesse is speaking of, regarding his experience in Detroit. By his own account, he didn’t spend much time in it. I can see where a visitor to that world might get the impression that projects lifespans are measured in minutes, and that code is essentially ‘throw away’.
    However, if you spend a good deal of time in that kind of work, you’d be surprised how often the same projects get revived. Many times, the client will say ‘make our new microsite like this other one we did, only with these changes’. If at that point you haven’t been applying good code design principles, you’re in a world of hurt.
    It really comes down to the people. If you can manage to keep a team of developers long enough to find the right workflow, you most certainly can apply design patterns, strict typing and OOP, even to limited projects – with no additional development time. Properly planned projects start slower, but end faster.
    But as Jesse says, there is a lot of migration in the agency world, so keeping people long enough to hit that sweet spot is a challenge, no doubt. You can’t do it if you’re hiring new teams every six months.

  19. Jesse- as I’ve mentioned on your site and in exchanges with you over the past couple of years, I’m always asking these kinds of questions because of my niche role in prototyping. You sum it up nicely with

    “At the end of the day, it seems for quick and dirty apps, prototyping, or just good ole small in scale Rich Internet Applications, you’d use Flash vs. Flex”

    Especially if you consider that many of the interfaces I prototype are _not_ for the web, and hence I get no benefit from all the Flex components (nor even Flash v2 for that matter). Every day I find myself examining each tiny aspect of a prototype and saying “what’s the chance that this little piece needs to be flexible/maintainable/reusable?” If it’s high, I throw it into a loosely-typed AS2 class. If it’s low, I’ll get dirty and throw in a timeline tween. Sorry, but it’s still impossible to beat the speed you can get with an old timeline tween when the request is “make that element rotate, scale, change color, and move across the screen at the rate of about 1 second.”

    But what if you guess wrong and you need to change that later? Well guess what– you only wasted 45 seconds setting it up on the first place.

    How all this relates to AS3? I dunno exactly. Guess it’ll be similar to making the jump to AS2. We’ll just have to look at each project and decide if there’s enough benefit to make it worth the “strictness.” From what you’re suggesting, it might not be.

  20. > harness the power of ActionScript 3 for creating smaller SWF’s? Not sure how big the component framework Metaliq and Grant Skinner are working on for Flash 9’s release…

    The AS3 components are significantly smaller. Currently, a SWF with one AS3 Button component in it is 16 KB, versus 27 KB for the same V2 AS2 component. A movie with AS3 Button, ComboBox and TextArea is 39 KB, versus 59 KB in V2. Both cases are a 33% improvement.

  21. R Blank over at LA Flash takes a more positive, and exciting angle to AS3 in Flash.

    I disagree programmers will take Flash the IDE seriously. There is a reason Macromedia made Flex. The clean, ECMA Script standard API helped too. Flash only gets the latter, not the first.

    User experience, too, isn’t necessarely true. Faster code execution doesn’t mean better user experience. Again, a lot apps would benefit from faster framerate, not code execution.

    Anyway, a lot of additional good points, and more good stuff in the comments about workflow.

  22. The look and feel of user interfaces is what makes them compelling. While designers are responsible for the look, we developers are responsible for the feel. This part traditionally requires a lot of development work. It

Comments are closed.