Adobe, Please Bring Flash Builder Up To Par

This post is long overdue, and I want to personally apologize to Adobe for taking so long to post it. Adobe (Macromedia?) thrives on customer feedback, early, and makes a serious effort to prioritize on it whilst comparing to their own market research data they do by proactively reaching out. I haven’t done this in a long while, focusing on business vs. the actual tools & runtimes.

It’s long overdue. Flash Builder 4 is a mess, and hopefully fixing/improving the following items will bring it up to par.  If you are a product engineer, skip the intro.

Problem

Flash Builder 4 is a great leap forward from Flex Builder 3.  It’s not any large features, but rather a bunch of little, consistent things that lead to a pleasant experience.

Years of neglecting other areas, as well as blatant missing features that open source alternatives & competing IDE’s have makes me question if there is any serious money behind Flash Builder.  I know the effort and will are there; even after distancing myself from the Adobe product teams the last 3 years, when I do return via email/Twitter, they still have great attitudes, and want to continually improve their tools/runtimes.

Bottom line, I and many others are more productive using open source alternatives to Flash Builder, and usually only keep Flash Builder around for 3 key features (Library project linking, Design View, and superior MXML handling, specially with states).  There are a lot of common workflows that seem to be ignored, and even after 4 years of the community bringing them up, they still aren’t remedied.

I outline the problems below with potential solutions.  Some solutions are actually easy; you just copy open source implementations.

Call To Action

I cannot promote Flash Builder 4 to my clients, nor will I spend another dime on Flash Builder 4/5 licenses until Adobe takes Flash Builder seriously by making 5 on par with open source alternatives.  While I respect that some of the blame lies on the Eclipse foundation, Adobe clearly thinks there is value there if they base a Designer specific tool’s future, Catalyst, on top of Eclipse’s architecture.

I, and millions of others sent a message to Adobe with CS4.  We were sick and tired of incomplete features, bugs, and crashes.  Adobe then laid of 10% of their staff due to poor CS3 sales… even though 1 month prior their CEO was on stage at the Adobe MAX conference saying sales were doing well.  They did this again the following year.  You can blame it on the recession.  You can blame it on a public company doing what most do in down times; laying off staff to boost their stock value when dividends are nowhere to be seen because there is no forthcoming company revenue.

…or you can take responsibility for your bad software, and fix it.  I was a devoted customer until CS3; we fought with our wallets, and our wallets won.   Which sucks.  My career and life are based on Adobe’s product line.  When you, Adobe, suck, life sucks.  Not just for me, for the world.  You’re doing important work.

The following are problems with potential solutions.

1. Code Hints

Flash Develop, FDT, IntelliJ, and Visual Studio all give code hints for your classes, methods, and variables WHILE YOU TYPE.  No period needs to be post-reached, not keyboard command; it just shows you a drop down WHILE YOU TYPE.

Worse, if you misspell something and back up, most of the time the drop down will go away, forcing you to spend more time to get the code hint to come back up… or just say eff it and code like your in AS1 (or Python).

This should be top priority; I understand if you’re waiting on Eclipse to add this.

2. Automatic Class Importing

Flash Develop and FDT both auto-import for you while you type and hit enter.  IntelliJ gives you the option to hit Alt+Enter to import a class of your choice, or perhaps define it which is even cooler.  Know what Flash Builder does?  Doesn’t compile, and blames it on you.  Gee, thanks $500 IDE.  I paid you $500 bucks to bitch at me and not auto-import my class you know full well where it is.

My code is littered with var a:SomeClass.  If you go on a blank line, and type var a, it’s the quickest way to get the class drop down.  From there, you can hit enter which’ll auto import the class.  You then delete the line.

Half of the problem is that the drop down is just flaky; miss it, and it won’t import your class.  Just start typing in a non-start line place, and Flash Builder won’t even give you a code hint.  Import yourself.

Please do a better job of auto-importing.  Level 1 is to get what Flash Develop/FDT do, Level 2 is to match IntelliJ’s intelligent options.

3. Slow Code Hinting Response & Mispellings

Part of the problem is the code hinting is just slow.  IntelliJ, which is slower than Eclipse, still seems to consistently work.  While Flash Builder 4 has significant improvements for misspellings over Flex Builder 3, ESPECIALLY in the class creation dialogue, for the code hints, 9 times outta 10, if you mispell “Graa” instead of “Grap” for Graphics, good bye dialogue, please start again.

If you can’t increase the responsiveness, then just be more forgiving with spelling, or just fix #1, and you should be good.

4. Stop Being ActionScript Racist: ActionScript vs. Flex

You all have been doing this crap since Flash 8.  Back then, you’d show AS3 code hints for AS2; even help would show AS3 when I specifically set AS2 in the publish settings.  Back then, QA was sincerely concerned, but it still shipped.  “We don’t want you to use AS2 anyway”.

When people like Keith Peters, Steven Sacks, Grant Skinner, and Darron Schall bitch about it, and you do nothing, that’s a serious communication problem… and makes me question if the assholes who used to run Flash Media Server 1 & Flex 1 teams are now running Flash Builder team.  Aka, “Screw you, your ideas make us and our shareholders no money, please DIAF.”

When I create an ActionScript 3 project, and go to import flash.display.Graphics, but you give me a code hint spark.primitives.Graphic, I want to throw a nuke at San Fran.  It’s a waste a time, confusing, and causes compilation problems.  It also leads to subtle, yet horrible problems where Flex dependencies get leaked into potentially awesome AS3 only libraries.  as3corelib is a perfect example.  Was pimp… then someone accidentally imported mx.formatters.DateFormatter… AND YOU’RE FUCKED!

If I create an AS3 project, get your damn Flex outta my code.  I’m Jesse Warden, you know I love Flex, especially 4 now that I’ve drunken the Kool-Aid.  But when I’m coding an AS3 only AIR project for Android to help promote your technology, and your own IDE starts getting all AS3 racist on me, it makes me RAAAGGGEEE!!!

5. Linking Projects: Unit & Visual/Functional Testing

Linking projects is just garbage and does not work.  One of the greatest features you all implemented in Flex 2 was Library Projects.  Using Library projects, you can also make Design View quite useful in Flex 3.  You just build all your GUI in the Lib, and implement with application logic in your main project.  Since it’s a Library project that’s pre-compiled, all your graphics show up nicely in Design View.

…if you want to unit test or do visual tests, however, it’s a nightmare.  In this case, I have 3 options (3rd is make your own command line build script for mxmlc).

I can either integrate all my unit testing code & framework libraries into the project itself, or setup a new Flex/ActionScript project specifically for just testing the code.  If you’ve ever worked with a large team, you know that the 1st doesn’t work.  All someone has to do is get out of sync and/or break the build, and poof, productivity grinds to a halt.  Broken builds, source control/SubClipse can get out of whack, or strange conflicts can result.  Things happen, no big deal.

The big deal is you can lessen the impact by creating new projects so developers can work on their projects and do integration testing with their new code on their own terms when they are ready to lessen the impact on the team.  It’s a very simple thing to do.

The problem is, this sucks.  Linking to Library projects is magic; it’s why people still keep Flash Builder around when they primarily use FDT.  You just click the “Add Project” button for Library paths, and BOOM, you’re linked.  It automatically recompiles your SWC, and copies the fresh mofo over.  No manual refreshing, no Project Clean n’ Pray… it just works.  THIS is where I’m glad some of my $5oo bucks went.

For projects?  No such love.  I have to manually point the source to the other project’s source.  While in the same Workspace, apparently Eclipse doesn’t think that’s useful and makes me manually navigate there via Finder/Explorer.  Worse, you have to do it AGAIN for your libs folder since it’s a source path link and not a real project reference.

…and it gets worse.  Because it’s a source path to an open project, Eclipse gets confused sometimes.   You’ll run into situations where you can have to “MyCustomButton.as” files open.  Which tab is which?  Why is one “out of sync”?  How come sometimes I compile and run and the code hasn’t changed?

This is even more important for components you’re testing in AIR projects.  Most AIR projects have complicated bootstrapping, so it’s not very straightforward to just test a new AIR application (which creates yet another AIR config xml file).  It’s easier just to create a quick ActionScript/Flex project, and test the components in isolation.  Quicker to solve bugs too.

Please fix linking projects (Library projects work just fine).

6. Design View

What the hell did you do!?  This worked fine in 3.  In 4, sometimes my drops are ignored.  My pixel perfect placements take 3 drags to get right.  Sometimes it just gets locked up, and I have to manually hit the refresh button.  Based on Twitter, there are only 3 other people in the world who use Design View; the rest are crayon pushers who use Catalyst, so maybe that’s why.  Still, if you don’t want us to use it, then make it like the Behaviors Panel in Flash, and REMOVE IT.

7. Proactive Error Checking

mxmlc’s incremental compilation is rad.  I know those coming from PowerBuilder, Java, and other large Enterprise systems which have tools that are pretty smart at only re-compiling what is needed are somewhat critical of mxmlc’s speed.  Whatever, if you worked on projects in Flex Builder 2, and then did projects in Flex Builder 3, it was light years better.  If you did work in Flash IDE, then went to MTASC, then went “back” to Flex Builder 2, then 3… it was UBER-light years better.

That said, the background compilation for errors doesn’t really do much.  IntelliJ really wins here in making use of the full IDE to HELP you, vs. just inform you’re screwed, no compilation for you.  Right now, most messages in Flash Builder’s mxmlc errors are good enough, and clicking on the error to go to the line is great.

However, IntelliJ makes the word/area red, puts red tick marks on the right side to indicate where in the class the error is, and even underlines the tab’s class name itself to imply “this class has an error”.  That’s 3 visual indicators each covering a different spacial area all to be proactive to help you FIND problems.  Even cooler, IntelliJ has some helpful options to import a class you forgot, show a possible mispelling, or allow you to create a class that doesn’t exist yet.

These common problems are old.  IntelliJ has found ways to help you solve these common problems.  I fail to see why at version 4 we’re still ways away from this.  All we get a list of red dots plus reasons away from the code itself and everyone I know ignores all of them except for the 1st.  Context is key, and in-code errors plus helpful solutions would be great.

8. Copy Paste

How come I can’t copy paste from Flash Builder to Flash?  Some programs just seem to ignore the clipboard from Flash Builder.  Others on Twitter have reported the clipboard in Eclipse is reclusive for them as well.

9. Pasting Multiple Files

I have flexunit4.swc, hamcrest.swc, mockolate.swc, greensock.swc.  I copy them from my Finder.  I paste them into my libs folder inside of Flash Builder’s project panel.  Only flexunit4.swc makes it. God dammit.

Please fix this.

Conclusions

If you fix the above, you’ll start to become on par with Flash Develop/Intellij/FDT.  Once you do that, I can justify spending $500 again for an IDE.  Right now, beyond MXML handling, states preview, and consistent Library Project linking, I’m not sure why I paid for in my upgrade from 3 to 4.  Whatever I can do to NOT use Flash Builder 4, I’ll do.  Either you all were rushed, you don’t have enough money behind the project, or y’all have never used another IDE beyond Flex Builder to code ActionScript.

If you didn’t listen to anything I said, then for Flash Builder 5, please:

  1. copy Flash Develop’s code hinting
  2. copy FDT’s code gen
  3. copy IntelliJ’s proactive error handling & auto-importing
  4. copy FDT’s class re-factoring
  5. fix Design View

122 Responses

  1. You mentioned Visual Studio but I don’t think you mentioned Amethyst which is the Flash Platform IDE for Visual Studio… ;-)

    http://www.sapphiresteel.com/Products/amethyst-ide/Amethyst-Product-Page

  2. Amos Laber

    Right on, Jesse!

    Personally I would like to see Flash builder getting up to par with Visual Studio – Adobe should ditch eclipse altogether for a better foundation (even Java people dislike it).
    I’ve been doing C# development for nearly 10 years, and as someone already mentioned, Visual Studio was far more advanced back then than Flash builder 4 is today. Microsoft had it right from the mid 90s.

    For me, compiler speed was the most annoying. I posted about it a while ago:
    http://flexwiz.amosl.com/flex/why-is-flex-builder-so-slow/

    Just adding my voice to the crowd :)

  3. Andrew Shorten

    Thanks for the post Jesse – as the (relatively new) product manager for Flash Builder, I welcome your candid feedback on the product and especially appreciate you taking the time to provide this level of detail. You’ve clearly committed a great deal of time and energy to developing in Flex/ActionScript for many years and we appreciate your commitment to the Flash Platform.

    Sometimes it may seem like we’re not listening, but I want to assure you that we are. Our challenge in each release is to find the right balance of new innovation in the product while at the same time investing in core features that you all expect to see in a professional IDE. With that in mind, I’ll take this opportunity to provide an update on some of the things we’re currently working on in the hope that it will give you and others confidence that we are listening and working hard to address some of the shortcomings you’ve highlighted.

    Firstly, and most importantly, we are making a commitment to invest in coding productivity features in every new release – we don’t believe that you should need to use an add-in to Flash Builder or an alternative tool in conjunction with Flash Builder to get a productive coding environment. We won’t get everything done in one cycle, but in the upcoming “Burrito” release you can expect to see us add code templates, generate from usage, quick assist, metadata code completion and override/implement method support to Flash Builder. In addition, we are actively fixing existing bugs and working on enhancement requests relating to code completion behavior so as to provide an enhanced coding experience.

    Next, we’re not going to repeat the 24+ month release cycle between Flex Builder 3 and Flash Builder 4 – you will see us deliver more regular product releases and therefore we’ll be able to address feedback and issues more quickly.

    Thirdly, whilst we are constrained to some extent by Eclipse, we are making concerted efforts to improve performance – I can’t share detailed results just yet, but you can expect to see significant performance improvements in design view, refactoring and profiling in the short term. Beyond that we’re spending a lot of time looking at compiler performance and thinking about how we can provide real-time error feedback whilst working with code.

    Finally, we’re going to continue to innovate to provide features that other tools won’t necessarily focus on – bi-directional designer/developer workflows for Flex projects and mobile application development, debugging & packaging support are just two such areas.

    In summary, we are investing heavily in the next version of Flash Builder and are developing a multi-year roadmap that the team is really excited about. We are deeply committed to building the core productivity features that you all expect, in addition to innovating as we move the entire Flash Platform forward to enable new types of application experiences.

    Thanks again for the detailed feedback – I’d encourage anyone that comes across a bug in the product to log it in JIRA (http://bugs.adobe.com/) and to log feature requests in the Adobe Ideas site (http://ideas.adobe.com/). I’d also be happy to receive your direct feedback over email at shorten at adobe.com.

    Cheers,

    Andrew Shorten
    Senior Product Manager, Flash Builder

    • Out of curiosity, how closely do you watch the development strides other IDEs (FDT, IntelliJ, FlashDevelop, etc) are making? I’d start writing “ideas” in your ideas site, but I don’t think you’d be too responsive to “Idea: Copy all of FDT’s great features”.

    • Oliver Merk

      @Andrew Shorten: Hi Andrew. Sorry but I have to call you on the “we are listening” line. Where’s your answer to the 700+ developers who have voted for a Linux version of Flash Builder? http://bugs.adobe.com/jira/browse/FB-19053
      No official reply from Adobe in a year and a half doesn’t make me believe anyone’s listening. At least have the decency to officially pronounce that there never will be a Linux version and that Adobe’s “we love openness” ends where Open Source operating systems begin.

    • Isaac

      “whilst we are constrained to some extent by Eclipse”

      I just can’t see why you can’t start with a fresh approach even if it takes 24 months, rather than weekly releases of patch over patch. Ditch the bloated eclipse and give us something new and fresh; YOUR own code, something you know in and out; then you can have my cash.

      For me, i will never use that that IDE called Eclipse. Who made dreamweaver? is it not this same Adobe?

      • I like that fact that Flash Builder is based on Eclipse – it’s not only about Flash/Flex development itself but you can integrate with almost anything other which is great.

        • i second borek’s comment. oxygen xml is a great addition, subclipse I used to use quite a bit. Coding php and everything in one ide can be very nice.

      • “Ditch the bloated eclipse and give us something new and fresh; YOUR own code”

        Perhaps you’ve never used Flash Professional before. Be careful what you wish for.

    • Hello Andrew,

      Did you visited http://ideas.adobe.com/ by yourself? This site is existing in public since March 2010 and there is a lot of submissions (and some of them has a lot of votes) but there is still no any feedback from Adobe. All the ideas in Flash Builder and Flex SDK categories are still have “New submission” statuses even if they submitted six month ago.

      As for me this resource is useless for the community. But maybe it is very convenient for Adobe employees to point it in case of complaints.

      • Andrew Shorten

        Hi Constantiner,

        Thanks for your feedback – whilst we have been reviewing all the ideas coming in, I agree that not providing an update on their status on ideas.adobe.com is poor on our part.

        I’ve now updated all the ideas submitted for Flash Builder and provided comments where appropriate. Some of those ideas have directly lead to prioritized features whereas others will remain on the list for consideration in future releases.

        Thanks for bringing this issue to my attention.

        Cheers,

        Andrew

    • Andrew, one thing I do think is hard to see sometimes is Adobe drop tons of money on omniture, cut a portion of their staff and release a product that could be better. I love Flash builder and I will continue to use it, I just wish it was better. I know it could be better because I have paid for extensions that make it better. I often wonder sometimes when I see a product like catalyst come out. It’s such a niche product and it’s lacking in so many ways. Why didn’t Adobe spend more money on making Flash builder GREAT. Especially since Catalyst only works with flex components. It doesn’t even work in an as3 project.

    • @Andrew
      Flash developers have long deserved a development environment to match those of other platforms. In fact, this need for a powerful, feature-rich IDE is what prompted the Powerflasher Digital Agency to create FDT. The development team was looking for ways to become more productive, improve their developer/designer workflow and avoid being teased by their Java/C++ counterparts!

      While I am so glad FlashBuilder is finally catching up, I am surprised to read your dismissal of add-ins:
      “we don’t believe that you should need to use an add-in to Flash Builder or an alternative tool in conjunction with Flash Builder to get a productive coding environment.”

      FDT, and other add-ons, helped to bring the Flash Platform ecosystem to the next level. Adobe should be grateful of that fact and it would be a narrow minded of you to think the community cannot further help the Flash Platform with alternatives or complimentary IDEs or plug-ins. After all, a good “Burrito” consists of a variety of ingredients, not just sour cream!

      Your reply seems to contradict your employer’s attempt to “clear up some…misperceptions” about the “fair amount of incorrect information that has been communicated” about Abode Flash technology:

      “Openness…the Flash Platform has a rich developer ecosystem of both open and proprietary tools and technologies, including developer IDEs and environments such as FDT, IntelliJ, and haXe; open source runtimes such as Gnash; and open source video servers such as Red5.”
      from http://www.adobe.com/choice/flash.html

      I am super excited about the upcoming FDT4 release. Our team will continue innovating and listening to our in-house Flash/Flex developers at Powerflasher (aka FDT guinea pigs), and the Community-at-large to create the greatest release ever.

      We are already working on FDT (Next) and will continue to openly share our internal Milestones with the world. We also opened-up a plug-in SDK, haXe was the first major plug-in built on our SDK, and add-ons are more than welcome !!!

      Andrew, I am really looking forward to discuss with you further in person at Flash On the Beach!

      • Andrew Shorten

        @Bruno – I too look forward to catching up at Flash on the Beach and talking about this some more.

  4. While I myself am not a big fan of the Les Grossman style of this one blog post, I am glad you took the time to write up your list of frustrating Flash Builder issues. It is amazing that Flash Builder is lightyears better for coding than Flash Professional, yet open source alternatives are making Adobe look like they are not the leader in the tools department (when tools is what Adobe is supposed to be known for excellence in). I particularly liked the comment about spending 1.8 billion on Omniture above! Whoever makes the business decisions over at Adobe needs to do better.

  5. Its encouraging to see product managers post on blogs with some information about the direction of products like Flash Builder. Thanks for the insight Andrew!

  6. Guy

    I can’t say I believe you Andrew. Adobe listens, they may listen, but do not act on it. You are a prime example. At a poker coder event I saw you speaking with a guy about Catalyst, how it could fit in with a small agency workflow (sounded interesting), you took details on your iPhone. Speaking to him recently it turns out you never contacted him. Listening starts from the bottom up. Good to see you made an effort here.

  7. George

    @John, you have a point about copying FDT, but that would be underhanded. Adobe should simply buy FDT & HFCD and then build on them. That way everyone is happy and no toes trod on. Truth is I doubt anything Adobe will produce can really compete with IntelliJ or FDT now or in the future.

    • @george that’s if they would even want to sell.

      • I imagine if they had offered the guys at FDT 5% of what they paid for omniture, we’d be calling FDT, Flash Builder 5. =)

  8. Joel

    There is nothing ‘underhanded’ about ‘copying’ another IDEs features. That is silly (should FDT not have a profiler?)

    One of my favorite features of both IntelliJ and FDT is the *communication* and responsive conversation they have with ANYBODY that has constructive input. They both also have 1 month(ish) iterations on beta releases. Love that.

  9. Spot on Jesse, the code hints + auto imports in such a huge time waste, but the sad part is most of us have been dealing with this so much and so often we forget how bad it is. It’s not until you switch back to one of the other IDE’s that you realize how much slower you are in flash builder. Thanks for the post, I really hope Adobe listens to you, but I’m really hoping the Amethyst team gets a solid release out for Visual Studio… that will be heaven.

  10. @JTtheGeek Dude, if I were on Windows, I’d be using Visual Studio for Flex coding 24/7, twice on Sundays.

  11. Andrew,

    if adobe are listening, how come the most popular idea for the flex SDK on ideas.adobe.com which was posted 6 months ago, is still listed as a ‘New Submission’.

    In fact over the last 6 months a lot of developers have devoted a lot of time to submitting and voting on ideas, and yet not one (that’s right, not one) has moved from ‘new submission’ status.

    Surely that should be taken as evidence that Adobe are actually not listening.

    • Andrew Shorten

      We do listen, but we’re not proclaiming to be perfect ;)

      I agree that not providing an update on the ideas.adobe.com is one situation where we’ve not done a good enough job.

      Based on your feedback I’ve updated all the ideas submitted on Flash Builder and provided comments where appropriate. I’ll ask Deepa (Flex SDK product manager) to do the same when she returns from sabbatical.

      Thanks for your comments.

      Andrew

  12. Florian Salihovic

    @Andrew Shorten: Who decides which features are making it into Flash Builder and which won’t? I bet bet it’s no sane programmer who might also use the ide for his own work.

    I hope you reply to at least some of the posts here…

  13. Jesse,

    great post, thanks for doing it. I bet all developers go through the pains and issues you have described above.

    My observations (might be wrong) about slow development and lack of innovation by/from Adobe Flash Builder team, which is full of smart and passionate engineers. In following points, I don’t mean any offense to any of them:

    – Most of the engineers, who work on Flash Builder don’t seem to have worked on the kind of projects we (Flash Platform Community) do. I mean, they need to pay attention to smaller details, developer-usability?

    – They seem to ignore some of the open-source or free tools like Flash Develop (which has lots of innovation in place). They probably look at some of the existing commercial IDEs and try to have feature parity? This mindset leads to poor quality and also slow/or-no innovation.

    – I wonder, how many of the engineers actually use Flash Builder to build stuff, like we are supposed to? If they don’t use it, they would never understand/feel various usability issues and push for better options.

    – I wonder, how many engineers actually connect with community? I don’t say, it should be part of their job, but that’s what smart and passionate engineers would do i.e. listen, try yourself and build-or-fix.

    Product-Management/UX-Team can only work on specs, but they are not (active) developers? Engineers have to experience things themselves to be able to understand and relate things.

    -Flash Builder needs lot of work to be close to elegant piece of work. Look at Android Development Tool, they are relatively new but have done fairly good job?

    – I can not extend something, if I don’t understand it well? That means, a great IDE on top of Eclipse can’t be done, until they really understand architecture and all available options (different frameworks for one thing, which is best?)

    – I also have feeling, even though Flash Builder is on top of Eclipse, engineers don’t leverage many open-source libraries; they often come up with their own implementation, which slows down things (upgrade, update, innovation, fixes). I guess, Flash Builder using Cocoa for OSX (32bit/64bit) is not out for same reason?

    I have always said, while I was in and when I am out. Teams in Adobe need look at what people do and trying to do with products; Make their life easier. Adobe has got the best, but they just have to stretch a bit (with passion).

    Thanks to twitter, facebook and so many other groups/lists, it’s so easy to observe/listen users.

    Thanks

    -abdul

  14. @Oliver Merk – It’s not that they can’t build for GNU/Linux, they don’t want to do it because of business reasons.

    I would be to be proved wrong in this case :-)
    -abdul

  15. Jesse,

    Please accept my apologies for posting something off-topic, but is for good cause (open-source tool for Flash Platform community):

    BTW! I am thinking to convince Flash Develop community to start thinking about Mono Develop as base for future version. This way, Flash Develop would become available on other operating-systems, without using any MS$ Windows virtual-machine.

    Flash Develop can run on OSX, if someone good in .Net can get replace code/components which use native-invokes (unmanaged api) with managed code/components.

    Threads forum Flash Develop forum:
    http://www.flashdevelop.org/community/viewtopic.php?f=9&t=2247
    http://www.flashdevelop.org/community/viewtopic.php?f=10&t=4928&p=28480#p28480

    • “Flash Develop can run on OSX, if someone good in .Net can get replace code/components which use native-invokes (unmanaged api) with managed code/components.”

      In a side project I’m contributing to I’ve currently started to work on a command-line base code completion ( in java), which has full resolving and displaying of class/method/property signatures : http://code.google.com/p/moonshineproject/source/browse/#svn/trunk/parser

      Right now its in its final stages ( not in trunk yet) . If your going to be at FOTB this year you may be able to catch it in the works in the Evaluator Pitch

  16. [...] I have been lazy to write about such experiments on the blog, but while commenting on Jesse Warden's post, I thought, it makes sense to post it here, so it [...]

  17. [...] leave a comment » Many of us on Twitter or following Jesse’s blog regularly should notice his dissatisfaction with Flash Builder in his most recent blog post. If you’re not aware of it, please click here. [...]

  18. Tariq Ahmed

    I’ve always been intrigued by those tooting the Eclipse horn, “with all the plugins I can do everything in my IDE…”

    I can appreciate that advantage, but the core activity of developing is writing code… And if that fundamental activity isn’t fluid – what’s the point?

    And I find Eclipse itself is a bloated fat cow, I’ve been trying to force myself to use it more frequently but just the code hinting alone drives me crazy and I eventually switch to something else for whatever language I’m working in.

  19. Patrick Lemiuex

    I can’t agree more with your points. I started to use TextMate to code actionscript files. Here’s one point, why when you delete a project does it not go to the recycle bin or trashcan??

  20. Andy

    @Andrew

    I think the real problem here is far larger than just the poor featureset of Flash Builder, but, as is so evident in your comment, the fact that Adobe seem to think that telling us something is somehow the same as actually doing it. You can get away with this for so long and then people start to expect results and start to notice that all the ‘listening’ you’ve been doing has really just been stalling. The dislocation between features in new releases (Flash Builder / Catalyst / Flex) and their stability or effectiveness seems to be ever-widening. How many companies or devs have invested time and effort into trying to integrate Catalyst into their workflow only to realize that it falls far short of the hype?Of course there will be bugs in new releases, but promoting a new feature which you must be aware is still woefully unstable as if it was ready for production is not helpful to anybody.

  21. i don’t remember if i told you but about 7 years ago, right after we worked together in GA I went to work for Xamlon in San Diego. They made a .net to Flash converter. everything was written in either VB (meh) or C# (drool).

    Loved every second of it and found it to be super productive and I do have to concur with your point that the IDE/tools MS made several years ago easily outshines the newer adobe offerings.

    -erik

  22. also, SWGFL!

  23. Jesse, while I think you have done a good thing here by calling out some of the stuff that is wrong with Flash Builder, it seems like quite a bit of what you complain about are things that aren’t really that horrible to deal with. It’s not to say that I wouldn’t like them to be update, but the pros definitely out weigh the cons of using flash builder. I don’t know how anyone could think that nixing eclipse for textmate would be an improvement to their daily coding. I have used FDT and I really like it. However they charge 800 dollars for a version with a debugger. The flash builder debugger is amazing and it helps me solve problems very quickly. “null object reference” errors are a thing of a past thanks to that debugger.

    I took some time to respond to your points above:

    1) you mention code hinting while you type. FB does show code hinting as you type when you are typing class names and things like that. If you type “this.” you will get a code hint for any properties in the class you are in or customObject. will yield the same result. No special command necessary. When you are typing out variables and other things that should have a code hint or you misspell something how horrible is it to hit command + space bar to get the popup? I used that command many times every day, I have never felt like it hindered my coding in any way.

    2) Automatic class importing is another one thatI think they should handle better, but your use cases make no sense. Why do you have to type var a:SomeClass to get an import? why don’t you just import it when you are typing the variable that needs that class. You don’t need to type var a:Event, you can just use the auto import feature in your event handler or something by typing public function handleClick(e:Event):void and there you go, class imported. Perhaps the issue is if you copy a chunk of code or something, well eclipse will be nice enough to show you which classes needed to be imported when it builds. I can’t imagine it takes more than a few seconds to get those imports in. And if you are copying code, is it that horrible to also copy the imports? I agree with you that this could be better, but it’s hardly one of the things that ruin my day or make me not want to use FB.

    3) sounds more like you want adobe to make up for bad spelling. I don’t feel like the code hinting is ever slow or unresponsive. I do quite a bit of development on a laptop that is almost 4 years old and FB runs fine. Obviously this is just my experience, but i have used flash builder on 10 different computers and I haven’t seen the performance change from mac to pc on os 10.5, 10.6 or windows xp or windows 7.

    4) can’t you just remove the swcs you don’t want in the project? I just tested this out and I created a new project, removed 2 swcs and no more mx packages. Is this a pain, sure, but 5 seconds added to project creation hardly seems like a deal breaker to me.

    5) i think you have a good point here

    6) I don’t really use design view, but I know when I did back in the day i didn’t like it. I’m sure you have valid points here as well.

    7) This is another point you made that I like, but I don’t think it’s something to cry foul about. When i see errors in my code, i click the message in the problems tab and I got right to the problem. I don’t know how much code you have on one line that requires the need for 3 visual indicators to find the exact problem.

    8) this is a problem, but i think it’s more of a flash problem. If you copy you can paste to a text editor and then copy into flash, but if you hit command V on the stage it will create a text field with your code. So flash does access the clipboard, but not in the actions pane for some reason. Definitely an issue though and should be resolved.

    9) this is also something fairly frustrating I was glad to see you bring up. It’s less of an issue for me because I usually have short cuts to active projects in finder and so i usually only lose a few seconds when i am copying files, which isn’t very often. I do agree though that copying into the package explorer would be nice though. Is this a reason to not promote the product or continue to use it?

    I think what surprises me is that most of your list is things that I would consider non issues. You don’t even mention snippets in your list, which is a pretty major one to most devs. Source mate has done something right with that and I really think it’s worth the 80 bucks. I think Adobe would do good to buy those guys and include all of their extensions in a free update.

  24. @erikbianchi

    I really miss ‘Edit and Continue’ in the old VB days. Such a great way to debug.

    @JesterXL, great post dood.

  25. @Jacob Disagree. Speed is the #1 thing to that helps me do the impossible and work miracles for clients. Flash Develop is THE fastest editor, and when I’m coding hundreds of thousands of lines of code in larger Flex apps, SPEED is crucial. Most of my day is spent in ActionScript, so while I’m still frustrated to this day Flash Develop’s MXML handling isn’t all that, it satisfies the main need….

    …except it’s PC only. I gave up on PC’s 6 years ago for the speed argument. So, my only real options are FDT and IntelliJ. If I ever did go back, I’d skip Flash Develop and go straight to Visual Studio.

    My point here is that code hinting was my #1 point for a reason; its’ a HUGE deal, HUGE time saver, and HUGE error prevention helper. I’m not sure what you’re coding, or what deadlines you’re under, but they don’t sound like you have the large scoped projects with the challenging deadlines I do.

    #1 LOL, I’m not going to even respond to this. You really should spend some time using FDT or Flash Develop, and then come back to me when you have; THEN we can see if you feel the same about #1.

    #2 !? I must be mis-communicating. I’m not sure how your IDE works, but for me, if I type Constants in Flex builder, it doesn’t automatically import it, nor provide some code hint to do so. I have to manually import it at the very top, or use my var a: trick. In FDT or Flash Develop, I just hit Enter while I type “Con”. In IntelliJ, I just hit Alt + Enter. Yeah, typing : in event handlers imports things for you, but not every line of code is an event handler with :.

    Have you used Terminal on Mac or Unix? You know how you can type some part of the director, and then hit Tab and it’ll auto-fill out the rest of the directory? That’s what I’m talking about. The IDE should be smart enough to know what you’re looking for while you type. Visual Studio was doing this 10 years ago… with VB of all of things.

    #3 No, I just want it to be forgiving. Other IDE’s allow me to hit back-space and still keep the code hint window up, Flash Builder does not consistently do this.

    #4 …? Again, I must be mis-communicating. I create an ActionScript only project; why is it showing me Flex spark components? You’re suggesting I fix Adobe’s template project settings?

    #7 Dude, you REALLY need to try out IntelliJ. You start getting helpful visual indications with keyboard shortcuts to fix it (or even FDT’s magic Control Shift 1), and you’ll see what I mean. The speed and ease and control you get isn’t earth shattering, but it’s better, period… and free with IntelliJ.

    #9 Yes. If you’re going to re-invent the wheel and create you’re own directory viewer, doing basic options like copy and paste to me seem a no brainer. Clearly IBM/Eclipse think it’s not. I was pretty anti-Solutions panel for Microsoft’s Blend as well, and they couldn’t fathom why… their tech-lead is wicked smart, but he REALLY was confused since “that’s how .NET developers work”. Doesn’t make it right.

    Regardless, if I paste 7 files, 7 files should be pasted. Period, no negotiations.

    I’ve never used Snippets so have no opinions; Flash Develop & FDT have some decent code gen, but I can usually just type most of that stuff out quicker anyway. I’m sure if I invested time in it, I might get it.

    …re-reading your comments again, it sounds like you’re expectations are pretty low, but slightly above TextMate. That and you seem in a pretty relaxed environment. I fight fires, death, and other times and trying to maintain a ton fo code. So for me, my expectations are pretty high… but judging by the amount of comments on this entry, apparently not unreasonable. I’d encourage you to try out FDT’s M4 of 4 build (heard they are at Release Candidate 1) and/or IntelliJ. More importantly, Flash Develop. …or hell, even Visual Studio. Once you use those IDE’s for what I consider common helpful things IDE’s do, it gets very frustrating to go back to Flash Builder.

    • You seem to assume that I only work on small projects. That isn’t the case. I have done very small and very large projects with flash builder and the speed remains consistent throughout. I too have put hundreds of thousands of lines of code into a project and my preference is still flash builder.

      1,2) I don’t know why it’s so funny, but I think we must have completely different experiences with code hinting in FB. I am curious to see how code hinting works in your environment. I don’t have any problem with it. If i am adding an event listener, I would do … object.addEventListner( Eve…. then i usually just hit enter because code hinting is up, then the constants are available for me. If nothing is visible i just hit command + space bar and i get the code hinting list, Event is at the top or i can arrow down to it, and hit enter and it’s done. Event class is auto imported and i have access to all code completion for Events. Is this not your experience? I haven’t manually imported a class by typing import com.package.X since i started using eclipse. There is no reason to.

      Setting data types is the same experience… public var mc:Movi and by then MovieClip is usually at the top of the list and I can hit enter. Code completion is one of the things I absolutely expect to work well and in my experience it works really well.

      Do you use the stand alone or plugin version? I am curious if there is a difference there.

      3) this is one of those things that is a no brainer too. If i type, var mc:Moiv which is misspelled, and hit backspace, i just hit command + space bar and code hinting is back. the code hint usually comes back once spelling has been corrected anyway. Obviously if this isn’t your experience, then I would agree that all of your code completion issues are valid, I just haven’t seen it on any install of flash builder on any number of computers I have it installed on.

      4) the only reason you see Flex classes or anything in code completion is because those swcs are included in each project. In Flash Builder 4 all the predefined swcs go in the Flex 4.0 folder in the project. If you take 10 seconds to remove flex.swc and flash-integration.swc you won’t have any more mx packages. All of the other as3 only stuff is still there and you are good to go. I agree that adobe should just do this by default, but is this really one of the reasons that you would stop using flash builder or promoting it?

      7) i am not saying flash builder can’t do a better job, I’m just saying that the errors are pointed out, and you are taken to the exact line that is an issue. I try not to put that much code on a single line, i understand an mxml node could be different, but again, in a typical line of code that aren’t that many things that can go wrong. The biggest one would be if there is a missing ( ) or something. I agree it would be helpful if they did more, but I still see this as something where Adobe hasn’t just left us high and dry.

      9) i do agree this one is frustrating and they should definitely fix it. I just don’t see it as a reason to tell adobe you aren’t going to use their product anymore when it’s not really that difficult to just go directly to your project folder and past since we are aware of this bug.

      Honestly, I think you have many valid points, I just feel like most of the complaints don’t really hold up as reasons to throw flash builder to the side. I used to use flash develop and I have used FDT in the past. I have talked to the guys at FDT a few times, but 800 dollars for a version with debugger is just too much. The debugger in flash builder is great and is worth the cost of flash builder alone in my opinion. Add source mate on top of that and you are good to go with great code generation.

      I have used many other editors in the past and I keep coming back to Flash Builder and have built every team project I’ve done around it. Of course there are things that could be better, but honestly all of these apps could be better in some way.

  26. T

    Thank god I’m not the only one here with a license for FB4, but still using FlashDevelop anyways. The only reason I ever touch FlashBuilder is for design view as well.

  27. [...] wie zum Beispiel Flash Builder und IntelliJ. Vor allem der Flash Builder hat ja kürzlich durch Jesse Wardens Open Letter heftige Kritik eingesteckt, so dass es sich lohnt mal die Alternativen unter die Lupe zu [...]

  28. Weyert

    Hi Jesse! I totally agree what you are writing. The most exciting thing about the Visual Studio plug-in is that you might be able to use CodeRush with it. Men, if something is awesome then it’s that. See: http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/

    I really hope that Adobe will do a better job at FB and make it up par with the other free or commercial IDE for AS typing. Massive improvements are needed. Bitching about for a few years.

    Speak you later!

  29. Hey Jesse,

    I can only imagine that you’ve seen this before, but I was in Flash Builder this morning and typed in a class name, just “PBE” (PushButton Engine) with nothing else on the line. I hit Ctrl+Space and it imports the class, “import com.pblabs.engine.PBE;”, for me, no prompt/dropdown, just does it.

    I had never seen this and it seems this could alleviate some of your a:Class problems. Maybe not, if you don’t know the name of what you’re looking for before you start.

    Take care,
    Burton

  30. I find it very frustrating that Expression Evaluation panel gives “” as a result most of the time I use it, even for simple expressions. I consider it to be a core feature of any debugger.

    • The blog messed up my post. Expression Evaluation panel gives “errors during evaluation” way too often to be useful. I rarely even bother with it

  31. Lisa Preston

    Jesse,

    Come on now. Flash Builder 4 is so far the BEST tool to increase productivity and give an agreeable experience while developing in Flex or AS3. No product is perfect and would never be!. You are talking like you are developing all day long non stop :).
    Also your answer about doubling your rate was an interesting one! Trust me years of programming matters when it comes to Flex developing. Most contractors are asked to know an OO language like Java or even C++ to even been considered. Your “long” years of Flash design experience can sometime be a plus but most of the time what is required is a solid OOP experience instead of AS2/AS3. Judging from your experience you only started “real” programming when Actionscript 3 started to be a full OO languages. Your previous years of experience as Flash Designer DO NOT count because you were an artist designer with AS2 which is not a serious programming language. Therefore we can deduct that you have seriously starting programming about 4 years ago(since the arrival of AS3 and Flex). I am sorry but in my world that’s not enough to be called” a Flex architect and asking for $200/h :). I have way more experience that you in programming and only started to refer myself as a Flex/AS3 Expert. You have to stay humble & realistic my friend:).

    Lisa.

    • Lisa,
      I am sorry, I have to disagree with you. Flash Builder and Flex 4 is a backwards step for Flex developers. I am working with teams of very experienced guys and all of us are frustrated with Flash builder 4’s lack of speed, I have used FDT since its inception and have more than 14 years programming experience including Director, ActionScript, and Flex. Any tool that has long standing members of the community complaining about it needs to be improved.
      I don’t blog or self evangelize, I simple do not have the time, Why? because my entire life is spent inside a code editor.
      I am working on a high profile project, for a senior vice president of a multi-national company, not the sort of client who will accept the excuse ‘the compiler ate it’ if its late. Yet on a windows machine it is like gouging my eyes out with a blunt spoon

      When we were first shown Catalyst at Max 2008, one of the points I made to the development team was that we did not need another Dreamweaver 2 or Director 7.
      In Dreamweaver 2 round tripping code did not work and your code got mangled and all sorts of unneeded verbosity was placed into it.

      Director 7 was released with a major flaw, Path did not work, at least a dozen companies I knew had to delay releases
      It took Six months for Macromedia to role out a fix.

      There are clear issues in Designer – Developer work flow that just do not work as it stands.

      Catalyst does not maintain fidelity or produce the FXG correctly to give you things that scale gracefully. Font embedding does not work consistently.

      Try importing FXG libraries into Flash Builder and then try looking at some elements in design view, if you want to embed FXG in a skin, why do you need to rename all the tags? We are trying to build an entire application in spark skins, to say the process is painful is a mild understatement.

      Catalyst is fine if you only need a limited number of components which it supports, but if I have defined symbols in Illustrator for up down over and disabled skins why does Catalyst not recognize what they and place them in the relevant states . Messing with them in the Catalyst takes the same amount of time as laying them out in code, I might as well have drawn them in code in the first place, CSS import from Illustrator CS 4 is broken.
      If you have to try and work on anything legacy why can I not edit AS2 in Flash builder? Slider library was delayed renamed to Hero, Spark lists run like a dog.

      This last development cycle has been half baked and under delivered in every area of the Flash Platform. This is not Macromedia, Adobe is not listening, they seem do not understand the wide range of projects that I as freelance developer work on in a 12 month cycle.
      Examples
      1 of 20 Actionscript, Linux, Hardware and C developer working on a Research and Development project. FDT no Flash builder in Sight.

      Small 3 man project 2 Flex Devs 1 designer E-learning.

      Incubator start up within major corporate, with 4 other teams working various Flex projects (You should here these guys bitching about Flash Builder and its poor Maven support)

      The point I am making is that we have stretched the boundaries of what Flex can do from its early very niche environment, to a must more ubiquitous tool.

      As a Freelancer I need tools that leverage my time, make me more productive and get the job done. At this moment in time Web Premium and Flash Builder is not it.

      After 3 years of going to MAX, I will not be going to Adobe Max this year, to turn up to a meet the team event only to find that the team was not there,(they were out commiserating with some of their colleagues who had got laid off) after I flew to the states from the UK was a less than positive experience. I will take my wife on holiday instead with that money, she deserves it more than you guys this year.

      No Andrew, I am sorry Adobe is not listening. It is in the “Yes but…..” mindset, it no longer thinks that individual developers matter.

      That is the only conclusion I can draw after you foisted this half baked product on us. Please fix it, I cannot begin to express how disappointed I am with product. Flex coding is my life, Flash Builder just makes me depressed

  32. [...] Finally I would like to point to the blog post from fellow Flasher Jesse Warden here : http://jessewarden.com/2010/09/adobe-please-bring-flash-builder-up-to-par.html  [...]

  33. Lisa,
    Just to clarify
    In your world I would be known as an Enterprise Architect or a Senior Team Lead.
    Yes I know design patterns, yes I know Java, yes I know frameworks, (I am currently digging through Parsley Internals in my spare time on a Saturday morning to work out which framework is the most perform-ant for a near real-time system), so I would not classed as a Crayon Monkey, my first programming was done on a punched tape terminal using a real modem (think phone cups and War Games – yuk!) ;o)

  34. [Offtopic: Skip it, if you want. Comment in response to @Lisa]

    @Lisa: If Flash Builder works for you, that’s good news for you. You don’t have to feel bad about your investment. But some of us find that it can improve, hence this post and conversation.

    Regarding doubled-rates: What number of years has to do with experience? I can prove, people in job for years might not know as much as someone else in to similar domain but with relatively less number of years?

    Many with 10-15+ yrs of programming experience might not be as competent as Jesse or any of us (Flash Platform developers) in this domain (Flash Platform Development)?

    If customers/companies find it worth to pay USD 200+ for someone’s time, why not? The person might be making/saving more than USD 200 for those guys?

    BTW! I have worked with most of the platforms and been programming/developing for 10+ years. Yeah, I have built programs/software in C/C++/VC++/VB/.Net/Python/Delphi/Director/ActionScript and perhaps more.

    I pick projects based on various criteria, the most important one is – interestingness (if that is a word).

    Please stop comparing yourself with others. If you could make it, you would have already been. If you can, go out and do it.

    Thanks

    -abdul

  35. Lisa Preston

    I am sorry Abdul but I am talking in general. And you are correct some new programmers with a few years of experiences might know more sometimes than experienced long term programmers but those are exceptions unfortunately. What I was trying to emphasize here is that Jesse has been a Flash “Designer” for long years with almost no experience of OOP. The only OOP he got is from AS3 and Flex when both of these items came out a little bit more than 4 years ago. Is it enough to call yourself a Flex architect and ask for $200/H? As far as I am concerned you can call yourself an architect when you have a minimum of 8 years in a specialization(technology), that’s the overall requirement in the industry. Also as I mentioned in my previous post no employers will give Jess a chance for that kind of money without a VERY strong background in OOP , in Java, C++ or C#, knowledge of one of these 3 languages is unfortunately a requirement now. For what reason? To prove that you have a deep understanding of object oriented patterns.

  36. [...] Adobe, Please Bring Flash Builder Up To Par [...]

  37. Abdul,
    The guys I currently work with collectively know more about the internals of Flash Platform and Flex 4 that almost any developers you would meet anywhere in the world. If you go to Flash on the Beach at least 2 of them will be doing sessions there.
    Yet all of us constantly learn from one another and are humble enough to know that we don’t know it all. I would rate the guys I work with very highly indeed.
    For my own part I was developing OOP type programs and doing dependency injection long before the academics coined fancy names for it. I make a very good living digging projects(developed by the sort of people Lisa’s employers use) out of the mire, the first question is normally “how big a shovel do I need to bring”.
    It depends on how the client perceives you, the issue is that many times image is given more credence than substance. Sometimes the best place for one with a degree is back in academia where they can do the least damage ;o)

  38. William

    Funny…for me, all the problems you talk about are NOTHING compared to the new help system…
    I’m used to the import system, I’m used to code hint….but I can’t work with a non working help which was put outside Eclipse….my alt & tab keys are very used :(

    I can’t say how many times the “Help” gave me a wrong page (or no page at all)
    I can’t say how many times the “Help” took +1minute to load
    I can’t say how many times the “Help” asked me to upload the “local help”
    I can’t say how many times the “Help” asked me to update the AIR runtime XXX then opened to the start page…and so I need to re-ask for help
    it’s the less productive help I ever saw … with Microsoft tech help website

    F1 is no longer a key I use…It’s easier to ask to google for help!

  39. Flex Guy

    I use flashbuilder daily, and find it to be quite good, except for 2 glaring oversights compared to Java in eclipse.

    1) The CTRL-1 key in Java (or hover-over an error) gives you an option to fix the error, either by creating a variable, field, etc. It seems something like this will be coming in Burrito.

    2) Refactoring. Flashbuilder does NOT have refactoring. It has renaming. That’s it. A proper refactoring tool makes coding and unit-testing extremely easy. Just write your 40 lines of code, refactor it into 2 or 3 easily testable pieces, get the unit-tests written, and you have understandable tested code.

    Please give us proper refactoring!!!

  40. [...] feeling I got from the speakers and attendees is that Flash Builder is not up to par (e.g. Jesse Warden’s rant) to comparable IDE’s for Java development or MS Visual Studio. However, Flash Builder 4 is [...]

  41. Jesse, just wanted to add some updated findings on this.

    1) Amethyst, though extremely promising and fantastic, is currently only applicable for small-medium sized projects and still has some issues being ironed out. They are working on getting a updated release out within the next few weeks it appears.

    2) SourceMate is a great addition, but really looking forward to version 2 (in beta/alpha) which should flesh out the rest of the things in flash develop that make life so much easier.

    3) HellFire Compiler Daemon is the holy grail of Flex as far am I’m concerned now. It seperated the build process out of Flash Builder into a seperate JVM, which drastically improves Flash Builders responsiveness. It also compiles your app in GOD mode as far as I can tell… Reduced my compile times on Dedoose from 2-3 minutes down to 1.6 – 2.8 seconds.

    Realistically Adobe should buy SourceMate and integrate it into Flash Builder, buy HellFire and use the absolute crap out of that. And if they really wanted to kick everyone’s ass partner or buy Amethyst and WebORB as well. In my eyes that would shore up the situation as a whole.

  42. bread_man

    Great post, thanks!

    Adobe, just please implement code hinting like Flash Develop. Not only do I have to hit a period to get anything, I have to SLOW DOWN to wait for that hinting to appear. RAGE QUIT!