I mean if it's for an ad, or a game or some entertainment material, flash is perfect for that.
But no offense to all my flash friends, but as a web interface, flash is highly unusable.
There is no sense of back and forth, no page identity, no bookmarkability, no right click....
You see customers have certain expectations of their experience world, that is if certain actions/behaviors get the results they are normally expecting to get.
For example,when I am searching in the developer's exchange, and I find a couple results, I expect to be able to right-click and open into a new window, or whatever it is that I want to do.
Instead of Flash or Browsers trying to dominate the user experiences they need to intermingle without intefering with reasonable experience expecations.
For me rich/animated/flash interfaces to data, may be nice, not that essentail, unless it's to some antiquated super-slow database, then it might make sense.
I certainly find there are things to learn by how flash and coldfusion or flash and databases interact, very interesting in terms of the data interaction.
But as a web architecture, it completely misses the boat.
1. Know the audience, I know clients/customers can be uninformed sometimes, or caught their eye on something fancy, but you're only going to make yourself look like a fool if you just go along with whatever catches their fancy.
Like trying to use a flash site for data interactions that will be dealing with mainly senior citizens. Does that make sense at all? It depends on knowing the end user.
That's why as unpretty as it may be, and it's certainly not my personal preference, I always stick to lowest common denominator.
Use what the customer most easily can use to get whatever specific jobs or tasks they want/need to do.
Do not EVER let interface or pretty flashy things get in the way of that objective.
However if you plan carefully, I actually am sure you can implement flash/ria that make sense for specific markets or customers.
But let's not live in the fantasy land that RIA, is applicable for everyone.
I mean I would love to learn flash, learn oo (hopefully not having to :)), learn java, play more with css and dhtml. But it's the end user that indicates what technology will get the best job done for the customer.
And so far, I've had zero to none opportunity to do so, maybe you have had different jobs than I, and that's certainly realistic.
But remember who the end user is, then determine what technology methodology you can use, not want to use.
That is why RIA is yucky, because it is not built on meeting the most common interface needs, but based on creating new ones, which are not really acceptable for most usefull applications.
Sorry, but that's my humble opinion.