I have been working with Flex allot lately. It has been an amazing journey, 3 consulting projects are complete, rates have doubled, and I am starting a new company. I have embraced Flex.&
I initially resisted learning Flex because I misunderstood the product. I judged Flex based on a seemingly high price and thus I only tinkered with the features and tools. In building Flow, I looked deeper into Flex and built some sample applications to see what Macromedia was thinking. I was very shocked at just how deep Flex was and how robust the toolset is in practice. From the MXMLC compiler to the debugger, these tools are a generation ahead of anything on the market for delivering applications to the Flash Player. Somewhere about this time, I got my first Flex consulting project and that changed everything.
The client found me through my blog posts about V2 Components and ActionScript. They took a risk in choosing a green Flex developer and I am very grateful. I learned Flex by being dropped into a Flex project and scrambling to learn the tools and techniques. At first I struggled with MXML and AS integration but soon found myself making components and classes for Flex. I went from 0-100 MPH with a toolset I had rarely used, but strangely, I knew what I was doing. The advantage for me was that I am good at ActionScript and understand the Flash Player very well. Once I understood the Flex compiler model and what was going at compile-time and run-time, I haven't looked back.
The key benefit in Flex is automation. Flex allows me to work about 500% faster than in Flash and allows me to reuse presentation/business logic on a much higher level. For RIA development, I can get to 90% completion in about 1/3 of the time using Flex compared to Flash. Flex allows me to separate application logic from the view cleanly and allows me to style an application with CSS/AS Skins. Flex has removed 100's of mindless tasks that used to burden my development in Flash. Flex simply saves me time and allows me to work at a higher level.
One of the more interesting discoveries was that Flex MXML is highly reconfigurable. In development, I focus on functionality first and get something working quickly. It never looks good but it contains all the controls and logic needed. I then clean up the UI for the client presentation. On several occasions I sat down with the client and we would make edits in real-time via CSS and shifting XML blocks around. Since the Flex component namespace is flattened, you can shift controls around on screen and not break any of the UI logic. In practice I was able to effectively change an application UI late in the development cycle. This allowed me to focus on the requirements and allow the applications to support a rich UI that met client expectations.
The other thing that has stunned me is that my consulting rates have more than doubled. Companies who use Flex are willing to invest in software and infrastructure to do the job right. They are better clients and they pay better rates. I thought Flex projects would be shorter given Flex automation and higher rates, but rather, the scope of the projects is much larger and more ambitious. The void created by Flex automation is quickly filled with new requirements and larger scope. Flex didn't automate me out of a job but rather allowed me to work on larger projects at better rates.
So what is next for me.....
I have started a new company focused on supporting business use of Flex and Flash. Over the next 3 years there will be massive adoption of Flash/Flex as an application medium as the Internet embraces the RIA. I have partnered with the best developers that anyone could imagine and there are great projects afoot. We are weeks away from a public beta of some revolutionary software that will change the way you learn, develop, and reuse software.
To jumpstart development, we licensed Flex for commercial use.
Here goes start-up #4 for me!
Cheers,
Ted ;)
DIGG IT! 
Congrats on starting a new company and with your Flex success.
What was your most beneficial resource for learning Flex? I'd like to start learning it.
Thanks, and good luck.
Jason,
I picked apart every MXML example that I could get my hands on. When I exhasted that, I made my own. It was a struggle, but I am now quite good at MXML and the Flex API.
Download the Flex trial and review the code examples in detail. Then edit the examples yourself. Then come up with a sample project and try to complete it.
There is nothing like a great example. ;)
Thanks!
Ted Patrick
Ted,
Nice! All the best for new company...
-abdul
I don't see how Flex can become ubiquitous given the high price tag. Other than on Macromedia's site, I also don't see many people rushing to use Flex nor do I see publishers putting on books on Flex development.
I'm impressed with your willingness to take risks. Not only are you starting a new company (risky enough by itself), but you are betting on a technology that could be dropped by Adobe within a year. I'm speaking of Flex, not Flash. Personally, I think they would be ill advised to make such a move, but its still a very real possibility. I hope it all works out for you!
Application oriented use of the Flash Player is a sure thing. I have been building flash applications for the past 8 years and the pattern is the same every 18 months. New Player, new tools, new features, new uses, and new growth.
Flex and Flash will be here long term. The potential market is very large, which is why Adobe bought the company. SWF dev tools (Flex,Flash) will be the last thing Adobe will give up.
My 2 cents,
Ted ;)
"We are weeks away from a public beta of some revolutionary software that will change the way you learn, develop, and reuse software."
I hope this means Flex 2.0 Beta :)
The beta is NOT related to a Macromedia product at all but rather part of the new companies products and services. More formal announcements will be made about this.
Cheers,
Ted ;)
Sound to be like a propaganda posted by macromedia member to explain highly, highly price for just a presentation tier were you'll need thousand of processors to be able to do B2C business for instance ...
I think my customers would have a big laught if i even try to begin talking about pricing and hardware requirement to finally just meet the slogan "experience matter" ...
Macromedia have to work on performance and stop dreaming with that kind of pricing.
Macromedia is not alone on rich client and microsoft is also working hard, with better commercial strategy. I have read that Macromedia rise their price by 3 at the biginning of the year ... yeah baby, and why not 50 000$ per CPU?
So, waste of time with Flex?
This was a great post and I was happy to read it from a developer with some experience in the field. I've been dabbling in Flex and am only a year into Flash but love working with both tools. I have been hesitant to devote the many hours into Flex but I'm starting to see it as inevitable!
>Sound to be like a propaganda posted by macromedia member to explain highly,
>highly price for just a presentation tier were you'll need thousand of processors
>to be able to do B2C business for instance ...
Macromedia Flex doesn't compile applications on every request unless source is changed. So I really don't see any reason why it would take 1000s of processors.
>I think my customers would have a big laught if i even try to begin talking
>about pricing and hardware requirement to finally just meet the slogan
>"experience matter" ..
I feel any serious customer or company would never laugh. Read further...
>Macromedia have to work on performance and stop dreaming with that kind of pricing.
I am sure, they are working and have been working and delivered faster tools/runtimes/frameworks in past.
>Macromedia is not alone on rich client and Microsoft is also working hard, with
>better commercial strategy. I have read that Macromedia rise their price by 3 at
>the beginning of the year ... yeah baby, and why not 50 000$ per CPU?
True, I don't want to comment about Microsoft, but we will see it in future. Read further.
>So, waste of time with Flex?
Do you really think that? Think again :)
And something more from me, IMO:
If you ever try to build large application, termed as Enterprise applications which requires lots of components and a framework. You will realize that it is pain and eats hundreds of man-hours. Macromedia Flex provides all these, Macromedia Flex is big time saver with a better programming model than any other existing RIA technologies, yeah even better than AJAX or Laszlo.
I know, programmers tend to do everything their own, I understand programmer's satisfaction thingy but companies don't think of that. Companies are concerned about cutting cost, investing in right technologies and cutting cost from reoccurring maintenance/development.
Some of the Macromedia Flex features are:
# Macromedia Flex has better Data Services (SOAP, HTTP, *AMF*)
# Macromedia Flex has loads of components
# Macromedia Flex has better programming model (MXML, ActionScript..)
# Macromedia Flex provides better work flow to develop custom components.
# Macromedia Flex is standards based
# Macromedia Flex has solved lots of RIA problems and allows you develop applications using standard patterns or MVC based approach. Allows the true separation between Model & View. Some RIA frameworks (Cairngorm, SynergyFlex, Ariaware-ARP etc) are already available and developers are levarging these frameworks for their projects.
# Macromedia Flex requires less number of developers than required in any other technology.
# Macromedia has great support team & Macromedia Flex has a great community(flexcoders.org), great evangelists(Kevin Lynch, Christrophe Coenraets et al), some great consultants(iteration::two, ariaware et al).
Companies, which have bought Macromedia Flex, ask them how do they feel about it? Look at latest SAP Netweaver deal, watch the video what SAP guys talking about Macromedia Flex. Many other large companies are also embracing Macromedia Flex. Because they understand the Experience Economy, they understand "Experience Matters".
I have been developing applications using Macromedia Flash IDE/Flash Player for last five years. And after getting into Flex, I am very hesitant to go back and use Flash IDE ever again. I know, there are lots of doubts, mis-conceptions regarding Macromedia Flex. I can only suggest that "Guys, download the trial/developer version of Macromedia Flex and use it for while before saying anything about Macromedia Flex". You will realize, like I and others did, that *Macromedia Flex is worth buying*.
BTW! I think, there are better career options for Flex/Flash developers now. Some of my friends(Flex developers) get at least 1-2 job offers every week to work as Flex consultant. Do you see the market? You will notice it soon :)
-abdul
FLEX gets under your skin and then you fear the concept of "HTML" from that day forward heh.
Abdul, flex is a great product, we know that.
Nevertheless, for hardware requirement, look what is explained from the macromedia source:
---------------------------
http://www.macromedia.com/software/flex/productinfo/faq/
How many CPUs will I need for my project?
Each project is somewhat unique but, in general, an initial Flex application requires at least six to eight CPUs. For development, the free developer edition can be used on individual developer workstations. Many teams will also purchase a dual-CPU license for use on shared development servers used for integration testing and QA. Additional licenses may be required for staging servers. For deployment, Flex is installed on the same application servers where your web application resides, so the number of Flex CPUs will generally be the same as the number of application server CPUs. For high availability, Macromedia recommends at least two servers in a clustered configuration.
---------------------------
You mentionned iteration-two that does also great works. For ther project "Random Gaming Management Dashboard", I would like to know why they decided to develop Flash front end for B2C and Flex for compagny extranet (call center).
They used flex product but not for B2C, realised using Flash MX? So why? Flex solution perhaps would needed to many processors, used a complicated clustered server solution ... so irrelevant pricing for client.
http://www.iterationtwo.com/casestudy_randomgaming.html
Many people would love work on Flex and start business with that, but we have to care about client final solution pricing and deployment consideration BEFORE investing too much time is many tutorial because deception should be there (see a real case for a developper on the flex forum about flex pricing). Time is money, sure, even in learning, so choice of technology is more than important.
Thanks for sharing also your vision.
It does seem Flex is expensive. How much have you been quoted in exact dollars? Our CTO is looking at making use of Flex (he is quite enamored with it for some odd reason) and I’m having a hard time (I work in the finance department) justifying its high cost. We have 20 locations, each with about 250 user seats. The applications he plans on writing are pretty simple (we are in the inbound telephone sales [order taking] business) and will only require (or so I’m told) a single (or dual) CPU Flex server. So we’re looking at a 20-40 CPU Flex server license and about 5,000 user seats.
The price we’ve been quoted is $99 per seat. That equals $569,250 ($495,000 plus 15% [$74,250] maintenance). Add on to that the cost to learn Flex (as well as maintain it) and I’m guessing the total cost to us is $1,000,000.
That seems quite expensive to me. The only benefit I see to Flex is that our inbound telephone sales process would benefit from the graphical abilities of Flash (I won’t go into too much detail, but our we’ve learned that our sales people do best with a simple to use, semi-graphical user interface, and the ability to make use of some of the rendering technologies that come with Flash [we keep 3D drawings of all the things we sell online for our people to see and ensure it is the right part]).
Nevertheless, I still think the price is high. With that, I’d be interested in hearing what you’ve been quoted.
You might be surprised at the adoption rates that I perceive, especially among large companies like the big auto manufacturers and the US Government... I have been contacted by numerous companies to consult on Flex and right now I am working with a company that is considering going the Flex route for a large-scale enterprise application for the Federal government and armed forces. I think companies are realizing that in order to get the best bang for their bucks, they need to commit to the resources -- whether that is people, products, or platforms.
Nice discussion. I'm all for dumping Flash IDE... though most of my projects are sort of small one-offs.
What I really want to know, however, is where those using Flex see Flex's limits. That is, when is it better to just use Flash? How can you use Flex for hard-wired (really small0 projects? --does it make sense?
Just some balance. I don't buy the extreme "Flex is a ripoff" and I also don't know if those pro-Flex folks are saying it's better for every project. Thanks!
Phillip,
I will never drop Flash. :)
Each app has a very useful purpose and both are important. Flash is ideal for creative work where Flex has a strength in data exchange and component development. Flash and Flex are not mutually exclusive but rather both are essential.
Certain tasks are better done within Flash and some better done in Flex. They are both great perspectives on publishing to SWF.
Also I keep finding the SWF/SWC integration from Flash to Flex is quite nice. You can import a symbol in a SWF file into a Flex app at compiletime using the @Embed[""] directive so any existing symbol can be reused by Flex. You can also extend Flex with SWC files exported from Flash.
Both are great.
Ted ;)
Hello, I am interested in having someone develop a flex application for me. Anyone interested?
Please email me at alex@learn2compute.net
I see this blog is in good 'ol HTML. Flex nor Flash were your choice. Why not? (Too much work compared to HTML?)
I there! I’m not quite sure if this is the right place to ask a question about flex, but ... well here it goes…
I’ve developed a simple application with Flex. It’s really amazing how easy it is even for someone that doesn’t know flash that much (I’m a .NET programmer). The problem is that everything looks quite good in my PC but in others nothing works. Apparently its all about the flash player and in fact the page tries to open some sort of flash update, but nothing happens. It shows a simples blue page and kaput! Nothing! I’m sure that it must be simple to fix this so can you give me some tips, please?
I gather your using the Flex 2 Beta 1. This version uses a plugin that is not publically available and is not compatible with old players.
The new player is expected to be released in April or May depending on testing. After than Flex 2 application will update the plugin to 8.5 automatically when an earlier plugin is used in Flash Player 6.0 or higher.
The new Flex 2 SWF bytecode is run in the new Flash VM within Player 8.5 or higher. It is the requirement for distributing the applications.
Don't worry though in 6 months post release Flash 8.5 will be on 85% of the Internet and over 90% within 12 months. This same release pattern has occurred over 5 times in the exact same way. This time it will go faster since Flex projects contain a stub to upgrade the player.
Speaking of which is my next blog post!
Cheers,
Ted :)
hi....
what is the future perspective of FLEX compare to microsoft product??
what you say abuot silverlight VS flash player?
Hello, can u plz tell me the future of flex.
Can u give me some information on microsoft silverlight.