Flash Builder 4 — Defective By Design?
ApolloX writes "Adobe has released its new version of the Flex Builder, now renamed Flash Builder 4. This version is radically different from previous versions of Flex, introducing the new Spark architecture and theme support. While I am pleased Adobe has finally added support for Eclipse 3.5, I am disappointed with some of the new architecture changes that make doing simple things, such as skinning a button, now quite cumbersome."
where's da linux support at?!!11one
Go learn CSS and JavaScript, you big baby!
No text
These posts express my own personal views, not those of my employer
Flash is a "good enough" technology for me. It does what I want (some flash games and streaming video), It has become the defacto-standard in online streaming, which is nice for 99% of users because they only have to install flash once and they are done.
The main "issue" I have with flash, is that it closed source (unless i'm completely off base) and closed API (again unless i'm completely off base), but thats not really a problem since adobe does make flash creation suite that is pretty powerful form what I can tell
I've never taken a Flash Design course that our department offers (for IT majors, I'm CS) but the two reasons why I think flash will start to see issues arising for it soon is not to do with closed source or any other ideology talking point like that, are:
1 ) bad UI experience for touchscreen users (the flash code out there would need recompiled, but I don't see why it couldn't add in "let me know if you are a touch screen or not, or some other weird interface" flag, and then have different branches of UI logic for different input/output methodologies
2 ) add in user-privacy rights management (this is finally being addressed in the next version) since that paper on 'zombie cookies' (disclaimer: I was semi-involved with that paper, so I saw how bad it really was) and how the big tracking sites use flash to store cookies and re-generate html cookies after a user self-deletes them, but I somehow doubt the new updated features will be enough for what people really would want for privacy. (and if not "want" then "need"/"deserve")
thing
A bit unrelated, but considering that the upcoming release of Flash CS5 will publish to native Objective-C, I'm wondering if the latest version of Flex 4 will or does this already? This would certainly be a smart move - and also make it a bit easier to support one codebase, perhaps giving Adobe an edge when developing portable apps for Apple's own store! :-)
Was this an effort for recovering from the hit it has received from the lack of support by iPad, iPhone and similars?
It doesn't seem like a good idea to make a interface so different that it looks broken in a moment like this.
Boy, it's hard to get good information from thingy this internet.
Probably all the poorly skinned buttons.
The main "issue" I have with flash, is that it closed source (unless i'm completely off base) and closed API (again unless i'm completely off base)
Yeah you're kinda off base here.
The full Flash runtime which executes the movies is closed source.
The spec for the SWF file format is open.
The source for the portion of the runtime dealing with interpreting / executing scripts (the ActionScript VM) is open source.
The flash compiler is open source.
The framework which provides lots of UI components is open source.
I'm not sure what you mean by 'closed API', but the documentation on all the APIs provided by the flash player is completely open, you can browse the full thing on their site, it's pretty well documented with lots of explanation and examples.
1) Why is Flash bad for touchscreen users, but HTML or native apps good? They all have to face the same problems in the same way. Touchscreen inputs appear as mouse clicks by default, works well enough for most things. Flash does have an extended API you can use that will provide additional info such as multitouch support for things that are touchscreen-specific. And yeah, you can detect on the fly if your platform is a touchscreen or not.
2) 99% of people couldn't care less about 'tracking cookies'. It's really a minority that even know how to clear them or configure their browser to not accept any and all cookies.
Sorry I haven't provided 'citations' for any of this, too lazy right now, but if you have specific questions about them I can look up the info for you.
sig? uhh, umm, ok
Basically his main complaint is that the new API is not fully backwards compatible with the old API. They came very close, so it's possible to combine the two if you want, but it's not 100%. Generally you will most likely be keeping your old apps in Flex 3, and write new apps in Flex 4. The new skinning feature is an amazing feature. His example of 51 lines of code to replace 5 isn't really fair, his 51 lines of code has a ton of stuff that isn't required, and yet the new skinning features can do a million things that the old simpler one could not. Not sure how this random blog post by an inexperienced developer got approved on Slashdot...oh wait, it's critical of Flash and Adobe, now it makes sense.
sig? uhh, umm, ok
Just wanted to add that I've been using Flex 4 in production for more than 6 months now, and there is absolutely no reason I would ever go back to Flex 3. My first project with 4 was to convert a Flex 3 app to Flex 4, and while the transition wasn't easy, it was quite smooth. In addition, I got the chance to replace all the old buttons with nice vector button skins, which reduced file size, and I picked up a massive performance increase just by switching to spark.
Seasoned actionscript and flex developer here.. I read this article a few days ago, his points are all nonsense.
#1 Duplicate code base - The libraries only include what files you reference, like c++. If you don't want the other classes, then don't use them! It's that easy
#2 There is an in-depth article by Joan Lafferty that goes over migrating from flex 3 to gumbo. This guy is bitching about his ignorance towards the process, not the process itself.
#3 Yeah, there is more code.. But guess what? There is also CODE GENERATION in flash builder 4, specifically for skinning. All those extra lines of code are generated for you, so who cares. It's not like you have to actually write them.
You want some legitimate complains about flash builder? This guy doesn't really know what he's talking about, and he's not going to give them to you.
There is one huge complaint that I have, and that is the ridiculous name change from Flex Builder to Flash Builder.
It would make sense, really, if Flash Builder could build flash files. But it can't. If you try to create a Flash file it tells you that you need to install CS5 to use that feature.
And CS5 isn't even released yet. WTF? It's not even in open beta, so you can't install it even if you were okay with using a beta product in conjunction with a released product.. and yet there are articles posted on adobes web site talking about how you can edit flash files now with "Flash" Builder.. sadly, not true. And it doesn't work in conjunction with CS4, so even if you have that they're strong-arming people into the upgrade.
Using Flashbuilder 4 in a large project will allow a much better work flow which wasn't possible in Flexbuilder 3 - checkout catalyst - designers will be able to create interactive designs without having to mess with css.. .. Developers can create skins now with mxml and without having to go into flash or use css and uses vector drawing... so each to there own.. When has technology ever stood still? Instead of being disappointed I think you should see it as an opportunity to move ahead; yes skinning isn't the same but that doesn't mean it's worse, and there are so many benefits to the new FlashBuilder that this just seems like whinging...
Well, yes. It is flash after all.
Sorry can't take you seriously. Anywhere that has 'IT majors' and 'CS majors' is a joke. 'IT major' is community college, not the place to be learning CS.
"Defective By design" is meant to refer solely to products intentionally crippled by DRM.
I think it's an effective slogan for that, and its meaning will be trivialized by calling what are intended to be positive changes or features "defective by design". Don't do the *AA's work for them!
Yes, I saw that a commenter reduced his 51 lines to only 29. This looks like a joy to code:
/> /> /> />
/> />
<?xml version="1.0" encoding="utf-8"?> <!— comment for ASDOC –>
<s:Skin name="ImageButtonSkin"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
minWidth="21" minHeight="21"
alpha.disabled="0.5">
<!– states –>
<s:states>
<s:State name="up"
<s:State name="over"
<s:State name="down"
<s:State name="disabled"
</s:states>
<s:BitmapImage source="@Embed(‘/assets/menu.png’)"
source.over="@Embed(‘/assets/menu_over.png’)"
source.down="@Embed(‘/assets/menu_down.png’)"
left="0" right="0" top="0" bottom="0"
<!– text –>
<s:Label id="labelDisplay"
textAlign="center"
verticalAlign="middle"
maxDisplayedLines="1"
horizontalCenter="0" verticalCenter="1"
left="10" right="10" top="2" bottom="2"
</s:Skin>
Hahaha no. My school has a masters program in "Information Technology and Management". I'm fairly certain community colleges don't have masters programs.
Karma is for whores
For some odd reason, this guy can't figure out that there is a difference between the IDE and the SDK. The Flash Builder IDE, which was released last week supports both the older 2.x, and 3.x SDKs. Not only does it support it, it has all the code hinting, wizards, and everything else one would expect from an IDE. Targeting a different SDK version is as simple as chainging the properties in your project.
The newer 4.0 SDK is different, but nobody is forcing you to use it. It is an open-source project (http://opensource.adobe.com), sponsored by Adobe. It's been cooking for about the last year and a half with hundreds of betas and builds posted on their website. It does change some of the features around regarding CSS, states, etc., but again, there is no impetitus for you to move to it today. If you have an active application in development, you can even mix-and-match some portions of the SDKs (for example, MX and Spark components), although this won't work for everything. There is some migration to go to the latest SDK, but this is not different for any other SDK (PHP4 to 5? .NET 3.0 to 3.5?, etc).
Basic whining, picked up by /.
It actually is. You only have to write one of those tags yourself and change a few properties. Pretty simple.
People will watch TV with HTML5
You racist!
There are two types of people in the world: Those who crave closure
1.) Why? Because Flash can't even bother to provide a decent experience on desktop apps. Desktop Flash doesn't blend in with the native widgets at all. They don't look the same, they don't respond in the same way. The useful internationalization features that native widgets have... non-native Flash widgets lack. They don't respond to mouse input in the same way (often rendering scroll-wheels useless). Now move all of those complaints to a mobile platform where the mobile OS maker has spent some time trying to create a usable interface (and Adobe has not). By using non-native widgets, lazy "application" developers are creating lowest common denominator pseudo-applications. No thanks. Even Java can do better than this.
2.) Nobody cares is a terrible argument. The Flash cookie model bypasses the browser's security architecture. So, yeah, this is bad from a privacy standpoint. However, this is also bad as it creates yet another attack vector (and it's not as if Flash has been without its absurd security problems).
I've managed to find two ways to crash Safari. The first is XCode (which while obnoxious is tolerable because that's quite an edge case), the second is Flash (which is far less tolerable because it happens regularly). Of course, Flash also manages to kill my battery life... and utterly fail at playing even low-res video on my Core2 Duo laptop. My workaround? Downloading all of the flash videos and playing them in VLC, which, of course, means no Hulu for me. From a user experience perspective I care not whether Flash and all of its gunk is open source. I care if it works. Simply put, Flash does not.
The revolution will be mocked
How many button skins does it take to make a nice pair of gloves?
Help stamp out iliturcy.
I know I like to have a markup language at my side while watching TV.
Eclipse has to be the worst environment ever made--and I've used Lotus Designer.
It's great Adobe made a legit IDE for their various tech(Flash, ActionScript, ColdFusion). But when it's built on top of the steaming pile that's Eclipse, how effective of a tool can it really be?
I do Flash and ColdFusion development. I've tried to use Flex Builder 3, and the Flash Builder 4 betas. It just isn't good. Every time I try to write code with something based on Eclipse, I'm fighting the IDE more than I'm actually writing code. The same can be said for CFEclipse, or Aptana.
There NEEDS to be better tools. But as soon as I see Eclipse, it's a pass.
and utterly fail at playing even low-res video on my Core2 Duo laptop.
Flash has steep requirements for video, but nowhere near this steep. If you can't manage your computer for basic internet use your opinions are worthless.
Please read the forums for people begging Adobe to get Flex (Flash) Builder to behave the same as mxmlc. Once you understand the reasons that it wasn't a simple patch to 3.X you will know why 4.X had to break backwards compatibility.
There's a distinct difference between Flash Builder and Flex/Flex SDK. One is an open source application framework (Flex), the other is a standalone version of Eclipse running closed source plugins (Flash Builder, formerly Flex Builder, also available non-standalone).
I take issue with the fact that he's singling out Flash Builder when his complaints actually seem to be with Flex (not even the SDK per se, but the framework/API). That alone makes me question his credibility. I really regret clicking the link as I fear he's just a whiny traffic whore who wants people off of his (relatively new) lawn.
Since he mentioned Safari, I'm guessing his laptop runs Mac OS X. Flash performance on Mac blows no matter how powerful your rig is.
Do what thou wilt shall be the whole of the Law
It's defective because it's based on Eclipse yet it does not support Linux...
I tried to like flash, I really did, but it has proven to be of VERY limited utility. Look how flash is actually used on sites now.
1) Advertising - this helps me how? I can't say how much I hate sites that start blaring some crap at top volume as soon as I navigate to the page.
2) Web Site splash screens - OK, where's the skip button so I can actually get to content? I have yet to see, since the inception of Flash, a splash screen that imparted useful information
3) Games - OK, this is a valid use, but subject generally to a lot of limitations - such as not being scalable. Most games look like crap on my 1900x1200 (and larger) screens.
4) Embedded media (audio and video) - another somewhat valid use, only due to the pathetic behavior of the HTML standards committees who should have defined standardized browser native capability 10 years ago. Again, not scalable, which really sucks.
Because the VAST majority of flash objects are ads and other undesirable useless content, I surf with no-script and avoid them.
But here are my main reasons to avoid use of Flash where possible:
1) Content inside Flash isn't searchable
2) Flash content is not viewable on the vast majority of mobile handsets
3) Flash content can't be "read" by screen readers, making it useless for the visually impaired
4) Content inside Flash can't be cut and pasted (you can take screen shots, but that "sucketh")
I have similar complaints about Javascript, which I also see regularly abused for doing menus and buttons that can (almost always) be done with the EXACT SAME look and feel using ordinary HTML / CSS.
Bottom line is that Flash is being "abused" - used where it shouldn't be used, in ways that it shouldn't be used in a FAR greater proportion to legitimate uses. It has a bad rep now, and the fault is aimed directly at the majority of flash developers who have created this horrible content. Flash is like heroin though - all too many incompetent web designers are addicted to it and use it wherever they can, as much as they can.
That's basically how Microsoft killed Visual Basic: by breaking backwards compatibility when they released the .NET version.
"Nobody cares is a terrible argument."
If "Nobody cares" I'd say that is one of the strongest arguments; then again the author said "99% of people couldn't care less", which isn't the same but also strong.
I'm not going to write software (for money, beer, or love) to release in the wild if no one would find it useful. I certainly wouldn't bet a strategic business plan for a software product on something that most people don't want.
No, my main complaint is Adobe didn't careful review and consider the drastic changes to Flex 4. Backwards compatibility aside, many on the changes they made are terrible.
All of the betas worked in linux until the final was released. Its just an eclipse plugin and should be cross platform. To show your support for a linux version go to http://bugs.adobe.com/jira/browse/FB-19053 and vote it up.
Perhaps. Flash seems to be the only thing giving me much grief, however. If I use the YouTube HTML5 player, I can play videos without any problems whatsoever. Flash isn't so much basic internet usage as it is basic internet abuse.
The revolution will be mocked
I understand where your confusion is coming from, seeing as how flash builder can build content for the flash player, and all of these different adobe formats run on the same fvm (flash virtual machine).
I never said that flash builder cannot build flash content -- I said that it cannot build flash files.
Whether you use the flex framework, straight AS3 or flash professional, what you have in the end is a shockwave file (swf) for users to interact with.
You could, alternatively, have a compiled shockwave file for use as a library (swc) instead of the run-time format.
When you work with a flash professional product, you store library symbols and components in a (fla)sh file. hence the .fla extension. .fla technology, because it's adobes proprietary format.
You have to sign a non-disclosure agreement for complete understanding of
When you have a product named flash builder, and your user goes to new->flash file and gets prompted that they need an additional piece of software, that has a $700 tag -- it is at this time that I see a difference in the name. .swf format, because it is open, yet .fla to my knowledge remains under adobe's control.
There are many products that interact with the
The bottom line is that flash builder cannot build flash files. .fla support into buying CS5.
Adobe shouldn't feel the need to strong-arm people that are looking for basic
CS5 should be a product that stands on it's own merits.
I am a developer by nature; I don't have any interest in ever building a .fla file.
My problem is with their business practices, seeing things the way I have laid them out here.
Suppose for an instance, that one day you are tasked with converting a project from .fla into a flex development environment. .fla file, in any way? The most obvious answer is that you would have to get your hands on a copy of Flash Professional, version 5 of which is a $700 product.. and flash builder cannot open flash files without it.
I question how you would interact with that
I find the name Flash Builder to be very misleading, and they should have either kept it as Flex Builder or given stand-alone flash file support.
I think this doesn't really matter anymore. I mean Flash is in it's decline. More and more websites start supporting HTML5, CSS is also starting to provide features that make Flash more useless. Not to talk about Flash performance or the fact that it is proprietary. Flash is dying and I think it's a good thing. Flash's omnipresence on the internet is pure evil IMHO.
I have a ton of things open, and can still play low-res Flash videos on a fairly old system (pre-Core2 Duo). I call BS.
Your ad here. Ask me how!
You're confusing customers with end users.
The revolution will be mocked