The real challenge is with enterprise applications that need a rich UI - this is where Flex was a good solution. Saying "just use HTML5" is fine when you serve the consumer space; it's not if you serve enterprises.
HTML5 is just not a go-er for enterprise products that need a rich UI. Even if it could do everything Flex can (and it can't, yet), you need a modern browser. Many enterprises still use IE6. I'd say 60% of our customers are on IE6; and the remaining 40% use IE7. Demanding IE9 would make an enterprise product dead in the water.
Flex fitted here. You have enterprises who say "no more client server, everything should be web" but then don't give you the web platform to be able to deliver the required user experience (i.e. you must use IE6/7). Flex let you deliver on the web, with a rich UI, on legacy browsers.
So you had a choice:
- Stay on client/server (lots of enterprises won't consider you)
- Develop for HTML5 (not quite prime time, no-one can buy your product as won't work on their browsers)
- Dumb down the UI and deliver in IE6 (workable for some projects, but not for many - some products really do need a rich UI. Especially not doable when porting existing rich client/server app to being webbased - clients don't like backwards steps on the UI)
- Develop in Flex
So it's all well and good saying people yelled 'iceberg' but really you're between a rock and a hard place, and even with this news I'm sure most Flex enterprise developers would make the same decision again - because there really weren't many alternatives.
I agree with a lot of what you say, but it's worth thinking about whether or not there are many enterprise applications that really need a UI that is richer than can be provided with basic HTML.
I make web apps for my large company and IE6 is a target platform. My apps have to work even with JavaScript disabled. This means that there are some fairly severe limitations on what I can and cannot do.
However, it turns out that this is probably a good thing (apart from IE's horrible CSS support) because it turns out that users struggle to use applications with complicated interfaces. So I wonder if it's really such a big problem to "dumb down".the UI for enterprise apps...
> […] IE6 is a target platform. My apps have to work even with JavaScript disabled.
Welcome to the ranks of the competent. It's amazing how often users are blamed for the pretty but undiscoverable and shoddy work most web authors do. Progressive enhancement should work indefinitely (regardless of flavor-of-the-month client gimmicks) and isn't even that hard.
I don't buy this line of argument at all. Some people are just inclined to stay between a rock and a hard place. They like it there.
Why does your organization need IE6? I'm guessing because you've got old apps that were pushing the browser envelope by dipping their toes into MS or other vendor-locked APIs. Fix that, and move on. If you're a decision-maker, just do it. If not, you can't really complain about your fate as a modern, paycheck-collecting Sisyphus.
To be clear - I work for a software company that sells to enterprise (government) customers. So we can't fix their IE6 problem. We have one product that requires IE7 and have had some major push back with that in some places (for example, the entire Scottish NHS is IE6 and say they will remain so for a couple of years)
So you can't use a modern browser but you can use a recent version of flash? Or does flash from 2001 work just fine (and no one cares about security holes)?
Flash updates itself seamlessly, even in IE6; even, to my knowledge, in corporate-firewall situations, as long as Adobe's servers aren't completely blacklisted.
Really? I have to admit, I just don't understand the corporate "security" logic, then.
You don't update a crappy 10-year old browser full of security problems, and yet you let another piece of software (with potentially even more security problems) update itself quietly behind the scenes, totally out of your control?
... and then you actually make your enterprisey software applications depend on that piece of software, which you have little control over?
Security usually isn't the reason. Typically they have old versions of large software suites (like SAP) which had a ton of custom development done by external consultants, worth millions of dollars. If they want to upgrade to a new browser, they need to upgrade to a new version of the platform, which in turn means upgrading all those custom developed solutions. The cost outweighed the benefit for a long time.
It's no longer that much of an issue though. IE6 is starting to die off in the enterprise space. Once apps get on IE7 they're easier to upgrade thanks to microsoft's backwards compat support in newer IE's. I'm hopeful that IE9 will get adopted more quickly than IE7 and IE8 did.
That's only the most recent version of Flash and that assumes that a) it hasn't been disabled by the kind of conservative-bordering-on-ossified IT groups which still use IE6, b) the user has permissions to install the update, and c) the user reboots when prompted.
Flash updates are still a problem unless you use Chrome.
Short answer is build in HTML/JS/CSS/AJAX now. Feature detect and add HTML5 where you can. Polyfill with Flash where necessary. Think about the future.
It's true that HTML5 can't do everything that Flex can today. More important is the fact that the vast majority of enterprise apps don't require those things.
Developing an app in Flex just because it can do things today that HTML5 can't is short sighted. That rationale will not hold water 3 years from now when the boss is asking "what the hell is Flex?"
Working with Flex and AS3 is really nice on a lot of levels. The type-safety is a cozy blanket. The tooling is also excellent, and I love having access to integrated test runners and other handy bits that IntelliJ provides me.
If you consider Flex/AS3 as a DSL for building UIs, the story starts to get more interesting.
it quite different from my experience, I was using myeclipse + flex plugin. I remember that myeclipse hangs every 20 minutes, and that happen not only on my PC, that happen to all my teammates PC, while developing Flex, and it work OK when we're developing java backend.
I'm no fan of Eclipse. I've never used myeclipse, so I can't speak to that. I've used Flash Builder (in a mostly stock way) with varied levels of success. IntelliJ has really nice Flex tooling though.
The iPad Safari usage has passed IE6 in North America. I'm really not sure why well paid people in enterprise find it so difficult to upgrade browsers. They are paid to solve problems, not give excuses.
Because they may have millions of dollars of custom web applications that break when you don't use IE6, and explaining to management why you need to spend tons of money to fix something that isn't (to their eyes) broken is difficult.
Which is why people are uncomfortable with these stopgap solutions existing. I can't speak for anyone else, but I would much rather that this option didn't exist at all, because all it allows is those companies on crutches to keep hobbling.
It's no big loss to the world of technology if some stubborn backwards company can't have its cake and eat it too. They have to either suck it up or lose enough money to realize that it's important. Flex and similar projects draw out that process. Frankly its a negative for everyone in the long run.
True. I worked for a few banks and used Flex in one project. I cannot say that I loved the tech, but I saw many people struggling to make html/js/css applications work with IE and it was a relief to not have to worry about it.
"""The real challenge is with enterprise applications that need a rich UI - this is where Flex was a good solution. Saying "just use HTML5" is fine when you serve the consumer space; it's not if you serve enterprises."""
I don't think there is anything that can't be done with HTML5 (the whole stack, I mean), nowadays, and that Flex can do it. Especially since an enterprise can dictate to it's users to use a capable modern browser.
There's plenty a full native solution can do that HTML5, but Flex ain't that, and besides being limited it's also not that rich component-wise anyway.
I don't think you've got the point- an enterprise can dictate to it's users to use a capable modern browser, but they won't. Mostly because they have other legacy software which requires an old version of IE.
Or because they're lazy, but they don't like being confronted with the product of their laziness, so if you tell them to upgrade their browsers then they will go to a different company that'll use something like Flex.
I don't think there is anything that can't be done with HTML5 (the whole stack, I mean), nowadays, and that Flex can do it.
Flex can open a direct TCP socket connection. With HTML5, you're stuck with long polling, keep-alives and WebSockets, all of which require HTTP headers and hence can't be used to interface with existing services without a proxy.
Mmm, yes. However, the policy server runs on a different port. So you can still use an unmodified ircd, for instance, and connect directly to it from Flash as long as the policy server is running.
It's a different way of getting around the security problems, and it's a lot less intrusive than the WebSockets way of sticking an HTTP header in front of the whole thing, which would actually require modifying the server service instead of just running one piece of additional software.
Your first argument is not true. There are things that you can build on top of Flash that you cannot do with HTML5. That list may be shrinking, but this has more to do with Adobe's laziness, rather than the awesome powers of the HTML5 standard that took years to reach a reasonable consensus and even now browsers are struggling to support all of it, with the biggest offender being still IExplorer (surprise).
Your second argument ignores the policy of real-life enterprises. These environments suck, but they are a real problem for developers that want to sell software to them.
Your third argument also ignores why many people like Flex.
Also, this very complaint about being downvoted by Flex fanboys ignores the possibility that you might be wrong in any assertions you've made.
If they'd done this 3 years ago and focused on building kick-ass Flex development environments/authoring tools/etc, Flex would actually have been worth donating at that point. Right now, this feels more like "Here's this cat, I've had it for 10 years and I think it's dying (probably because it was just run over). Take good care of it, thanks."
I'd say it's more like: "HTML is getting closer to what is possible with Flex, so we have to concentrate on that. Flex will thrive as much as the community wants it to. If the community wants it, it will develop it further, if not - why should we?"
Flex isn't THAT bad. It's actually pretty nice when combined with an MVC framework like Mate (SCREW Cairngorm) for developing desktop apps with AIR.
Of course, it takes quite a while to read through the documentation for the INSANE number of classes in Flex (seriously, the list takes up 3 huge posters of 9pt text), but once you have a pretty good grasp of what it can do it's not so bad to work with.
Exactly. I use Flex + Mate on a daily basis building enterprise software and it's a pleasure to work with.
Forget rich UI, I'm talking about being able to build a beautiful, consistent, responsive, and fast web application using 2 developers. The same app in HTML/JS would take a football team of developers and wouldn't even come close.
Yes, there are things that suck about Flex as with everything else in the world, but for what you can achieve with it, there really isn't anything that compares. :)
Agreed, you can build great apps with html and js if you're prepared to spend the time, but it never quite feels like it's the right tool for the job. Flex has more in common with desktop widget toolkits and is a far better fit if your trying to develop anything with that sort of layout.
I'm always surprised these type of frameworks haven't caught on more. I built an admin system using Mozilla XUL a few years back. It's similar to flex in that it provides a cohesive framework with layouts and widgets geared to more traditional apps. It was a breeze to develop compared to the normal battle I have trying to get html and js to do what I want. Unfortunately Mozilla have only really got behind it as a way to develop FireFox plugins and seem to have missed the opportunity to promote it as general way to develop web apps.
I've always wondered how much flex is really tied to flash. Now flex has been thrown to the community I'd like to see someone try to modify it to use html canvas, svg or webgl as it's renderer (instead of flash). The low level rendering primitives would probably map quite closely. The bulk of flex is written in actionscript and mxml which could be compiled to javascript and then run directly in the browser.
Yes -- apache mainly has projects centered around Java and C/C++. Flex seems like a re-do of Java (from the VM to the API). Sure, they won't reject a given horse (or cat), but I don't see that much reason for them to actively maintain this.
Yeah, I feel like someone needs to write a guide to corporations 'successfully open sourcing a project'. Together with some of Oracle's decisions we have recently had a number of bad examples.
On one hand side - yes, the "open sourcing" of some projects was done in a really silly way.
On the other - I'm glad they at least do this when abandoning the project. How many times do we hear "if they discontinue this, they might at least open the source so we can continue porting"? As long as we agree it's pretty much EOLing rather than open-sourcing, we can be glad that we don't get left with binary blobs noone can reuse in any way.
I personally do not believe in Open Sourcing as EOLing is going to help anyone. The donating codebase is often a large piece of code where the original developers have been pulled onto something else and therefore the documentation is too limited for generally anyone else to even compile. And the development community just ends up with one more project that PHBs can point to as 'why open source does not work'.
Yes, once they decided to refocus on html 5 it would have been a whole lot better for them to just dump flex and leave all its users without any support whatsoever, especially since the apache fundation is forced to accept to take charge of such projects even if they don't want to.
Mocking is easy, given the alternatives this is a quite a decent outcome.
Right now, Adobe has not even submitted a proposal to the incubator -- just blog posts about how they intend to submit it.
I eagerly await their submission of a Flex proposal. Part of the proposal, and critical for Flex, is proving this isn't just a code dump. If it is a code dump, I will vote -1, and I hope everyone else does too.
Many enterprise projects have invested big time in Flex. Now Adobe has basically said "We are pulling out most of our full time resources and hoping that the ASF picks up the slack. HTML5 is the new hotness so move to it"
This basically sucks for a lot of enterprises because like it or not :
1) HTML 5 is still evolving and maturing
2) Flex capabilities today are where HTML 5 will be in 1-2 years.
It feels like adobe could have managed this situation a lot better. Slowed down Flex dev a little and accelerate HTML5 a lot. Provide kick-ass tools for converting between the two (ala Google Swiffy but something that works much better). Publish detailed guides on how to migrate - what works and what doesn't with the migration, etc. Basically make the people who adopted your tech feel that they are NOT being left high and dry.
Sorry, stupidity has a price. People yelled "iceberg" and explained the issues with Flash a couple of years ago. Now you've hit the iceberg. Read and try to digest:
Yes, a very un-HN answer but I still see people stuck in IE6 because I couldn't convince corporate lemmings that web software needed to run in browsers other than IE6.
The web needs to run everywhere! It's not owned by one company.
Last I checked, the warnings about Flex were few and far between, and Flash is still very much alive and well. This is not the iceberg you are looking for.
I've seen plenty of people point to the single-source vendor as a major concern. Given Adobe's failure to competitively maintain any platform they've acquired most people I know were careful not to put too much trust in something which could be discontinued at any point.
I don't give a crap if Flash dies, but why lie? Seriously. Just say, Flash is a piece of shit and we don't want it. At least, you could structure an argument around that.
Thoughts on Flash does hit a few worthy points, but many of them are flawed. Others have outlined them in previous mentions of this post, but I'll summarize a few of them again:
- They play perfectly in browsers like Apple’s Safari and Google’s Chrome - left out a few other relevant browsers here.
- For example, many Flash websites rely on “rollovers” ... why not use modern technologies like HTML5, CSS and JavaScript - pretty sure many JS menus rely on rollover states. There are other examples beyond menus, of course.
- New open standards created in the mobile era, such as HTML5, will win on mobile devices - except where you don't allow developers to select/take photos or files from the user's device (most useful apps have this functionality), giving the developer no choice but to develop a native app. I think a full implementation of HTML5 would include <input type="file">, call me crazy.
- By almost any definition, Flash is a closed system. - except when you can develop your own IDE, compile and package Flash code without any intervention from Adobe.
The anti-Flash mob like to bring YouTube into the conversation, as if YouTube is also anti-Flash. Make no mistake, without Flash, YouTube would not exist. Remember that YouTube was founded on the principal that one could record from webcam (not available on any browser currently) and upload it for others to view. How is this being done on a mobile device natively within the browser?
Then build the few things that still need Flex in Flex/Flash, and build the rest in HTML/JS. This is likely how most Flex apps should have been written to begin with.
A more interesting question would be how do you evaluate how much you get to write off you taxes? Adobe is donating presumably because they believe the current value of it is low, but just as easily they could argue that as a mature platform it is worth hundreds of millions.
There is a lot of talk about the consequences for Flash of these recent announcements, but little attention is given to what this will mean for HTML5 adoption.
I, for one, am very excited. If Adobe can do for HTML5 half of what they have done with the Flash toolchain then we are going to see a powerful platform indeed, and sooner than anyone would have dared hope until recently.
A Flash-like animation environment and a Flex UI toolkit, all outputting to canvas? Sign me the hell up right now.
I do not agree.
I believe they did the right thing, now Apache has everything they need to take their decision. That Flex will be less and less supported by Adobe in the years/months to come so they'll probably need to put more resources on the project.
Doing it before would have been wrong and not well received by anyone.
This does guarantee that the tools will live on. Adobe has already moved many resources to their Html5 tools. They are taking a lot of heat now but they are focusing on a much larger market and it will look like a great move in 3 years.
I don't get this complaint. That's part of the awesomeness that comes with open-source.
Dying projects can be brought to life if you find a usage for them. For example, Blender (http://www.blender.org) was dumped by a dying company and brought to life again by enthusiasts.
Why? Because they could. Projects, even when abandoned, are still valuable.
Now, the real problem with Flex and the reason why Flex will probably die is not abandonment. Flex may die because it sits on top of a proprietary plugin. That's the real jewel that should be open-sourced before it is too late.
And yet another reason why people may not be interested in an open-sourced Flex ... Flex has competition that can compile to Flash AND Javascript: http://openlaszlo.org/
You do realize that Flex already is open source?[1]
About OpenLaszlo... I thought that it could become important one day; however, this never happened. I haven't looked into OL for quite some time now, but what can it offer that you can't get with HTML 5 nowadays?
Hi, I work for Adobe as a Flex expert, and here's my point of view. Well, actually I think that first Adobe needed to start with a "product" strategy. Flex was the first RIA technology, and it's still the leading RIA technology of the market. Adobe had to innovate, experimenting new features every year and getting the community excited. That's what generates adoption. Now that the Flex SDK is very mature, it can answer almost all Enterprise needs. It's time to let the community and the customers drive the decisions with Adobe about the future of Flex. Flex masters want to actively contribute to the framework for years. Now there is an opportunity to install Flex as a standard Enteprise RIA stack. Adobe is not only proposing Flex to Apache, Adobe is also proposing BlazeDS, Falcon, FalconJS, and will share all the work already done on Flex 5 components. Details are here: http://www.adobe.com/devnet/flex/articles/flex-announcements...
More of a worry is the fact Flex is dependent on the Flash player which as of yet has not been opensourced.
A headless player is holding back CI in a big way.
I also can't see FalconJS delivering a full flex stack without help from the browsers. A lot could be rendered in a canvas, but then you get into situations where you need stage text etc...
I just wish Adobe had a simular JS environment to announce at the same time, or slightly before. At least then there would be a migration path. Currently Flex devs are trying to find a simular enterprise RIA platform, and none of them are owned by Adobe.
Flex has a dependency on the Flash player, but that doesn't have to be the case. As an ASF project, that dependency can (and likely will need to be) broken.
Not to diminish your point, but calling Flex the first RIA technology is a stretch of imagination.
Even if you ignore all the other technologies that were labeled RIA, you simply can't ignore OpenLaszlo which happened before Flex and from which Adobe probably took inspiration:
Yes, OpenLaszlo did come before FLEX, and Macromedia was certainly aware of it when they designed FLEX. The big difference between OpenLaszlo and FLEX is that OpenLaszlo was designed from the start (2000-2001) to be independent of the delivery platform, and FLEX was designed from the start (2003-2004) to lock developers into Flash.
OpenLaszlo was originally designed to be cross platform, first targeting Flash, then eventually other platforms like DHTML, which it now does. But FLEX is impossible to use with anything but Flash, by design.
And now, predictably, people are complaining about being locked into Flash because they used FLEX, while Adobe is abandoning FLEX and Flash.
Thanks very much for posting that link, for some reason I hadn't seen it yet. It very much demonstrates that Adobe are still committed to Flex, which is very good news to me.
"Adobe will also have a team of Flex SDK engineers contributing to those new Apache projects as their full-time responsibility." certainly doesn't read to me that they have abandoned the project.
"Falcon, the next-generation MXML and ActionScript compiler that is currently under development (this will be contributed when complete in 2012)
Falcon JS, an experimental cross-compiler from MXML and ActionScript to HTML and JavaScript."
That is actually one of the most exciting things I have read in a long time regarding software development. I wasn't aware work on this was under-way, though I had suspected it might be.
I will look back and laugh if in a couple of years all the people hating on Flex now are using these tools to build their HTML 5 applications.
I can actually see these developments improving Flex for the community in the years to come.
Regardless, the general impression is that adobe is abandoning flex. If adobe themselves are re-investing their efforts in html5, why should anybody knowingly want to adopt flex? I'm sure there will always be a reason to use flex in the future but such reports don't do flex any good in the long run, even if the idea is to allow the community to drive it.
Edit: Simply bad timing on adobes part.
HTML5 is just not a go-er for enterprise products that need a rich UI. Even if it could do everything Flex can (and it can't, yet), you need a modern browser. Many enterprises still use IE6. I'd say 60% of our customers are on IE6; and the remaining 40% use IE7. Demanding IE9 would make an enterprise product dead in the water.
Flex fitted here. You have enterprises who say "no more client server, everything should be web" but then don't give you the web platform to be able to deliver the required user experience (i.e. you must use IE6/7). Flex let you deliver on the web, with a rich UI, on legacy browsers.
So you had a choice:
- Stay on client/server (lots of enterprises won't consider you)
- Develop for HTML5 (not quite prime time, no-one can buy your product as won't work on their browsers)
- Dumb down the UI and deliver in IE6 (workable for some projects, but not for many - some products really do need a rich UI. Especially not doable when porting existing rich client/server app to being webbased - clients don't like backwards steps on the UI)
- Develop in Flex
So it's all well and good saying people yelled 'iceberg' but really you're between a rock and a hard place, and even with this news I'm sure most Flex enterprise developers would make the same decision again - because there really weren't many alternatives.