Revolutionize RIA development with Macromedia Flex

Macromedia today announced their newest product, Macromedia Flex. This is the final name for what was previously coded as Royale. This is a great product that Chafic and I have had the privilege to be involved with over the past several months. With Flex it is so easy to snap together all your components with a very straightforward XML grammar. Then you can attach your AS2 classes to control the whole application. It lets you concentrate on the specifics of your application and greatly improves the entire development process.

The hope here is that Macromedia Flex will bring RIA development beyond Macromedia’s current aficionados. Flex is a server-side product meant to be easy for Java and .NET programmers to pick up and integrate into their applications. By using declarative XML syntax and familiar application and form based concepts as well as the OOP friendly AS2 language, Flex is far better for traditional programmers developing RIA’s as compared to Macromedia Flash. With Flex you never need to worry about animation-related concepts found in Flash such as the stage or timeline. This will make component based development even more important in the future.

This expanded market also will be a boon for component developers, which can now be sold to both Macromedia Flash and Macromedia Flex developers.

Macromedia Flex is in beta now and due out early next year. To read more about Flex from Macromedia click here. To apply for the beta program click here.

Why blog aggregators should have language filters

The internet is a wonderful thing. It lets everyone from all over the world communicate with one another. At least, it does if they have a common language.

MAX looks like it’s getting great turnout including international turnout, as is evidenced by the international pings to MAX Bloggers.

Unfortunately, I’m not able to read all of the posts since I’m not educated in German and Dutch and my Portuguese is way too rusty. I guess this aggregator is a good example of why people should build language filters into the aggregator.

Ideally, it would be best to support all languages and let visitors specify which languages they can read and filter out all others. However, if an aggregator is written on short notice, totally filtering for just one language would work too.

RSS has a language identifier for this purpose, so aggregator should take advatnage of that. I’m not sure how many aggregators do filter on language, but I don’t remember seeing non-English posts in the MXNA, Full as a Goog, or FLOG.

Attending MAX, bring your slides!

If you’re going to MAX, you should have received an e-mail with resources including links to presentations, the MAX Cetral App (very kewl), and Intro. Macromedia will not be distributing handbooks this year that have all the slides printed up. Therefore, everyone that’s attending should print up all the slides for the sessions they”ve signed up for and bring them to Salt Lake City.

And while you’re at it, be sure to install the very nice Central app that can show you where all the rooms are and give you reminders for sessions.

It’s Sunday night and my flight is in the morning.. getting excited now! :-)

Public and Private meaningless in v2 components

When you start working with the v2 core classes, one of the first thing you’ll notice is that nothing is declared as public or private, everything is just defaulted to public. This alone degrades much of the value of OOP and encapsulation and the new static typed compiler in Flash MX 2004 as it relates to v2 components. Well, today I found another problem.

Most of the functions have comments attached to them. Many of these have a comment that says “@private” which seems to indicate the function is private. So, even if the compiler can’t know which functions are intended as public and private, we can find out and program responsibly.

However, some functions marked as private are actually used as public. For example, StylesManager.isColorStyle() is commented as private but is used within UIObject.getStyle().

So how do we know which are really supposed to be public and which are really supposed to be private? We need to read all of the v2 code and cross-reference every function and that will at least tell us how MM uses them. Of course, Flash MX 2006 might be out by the time you’re done figuring it all out…

ColdFusion Hosting woes

Even though we run nine servers ourselves at various client sites, we also have some small applications spread across four different hosting providers from projects over the years, all on shared hosts. Anyways, we had problems today with two of the hosts.

MediaTemple is sending out letters to anyone who inquires about ColdFusion hosting stating that they no longer support ColdFusion (we saw the letter in a mailing list). So we called to inquire about it and they clarified that they’re no longer accepting any new clients for ColdFusion support but for now they’re still supporting current customers. That doesn’t give us any kind of warm fuzzy fealing about the future so it seems time to drop MediaTemple.

Hostcentric a few days ago decided to move our account to a different server. We have a few really old apps on one of their CF5 servers and these are apps we know have issues with CFMX but the clients don’t want to upgrade. However, Hostcentric moved them to a new server with ColdFusion MX. The kicker, they didn’t tell anybody. They just moved the apps, which we knew wouldn’t work, so now they’re down. These are in-production apps so we’re in the process of migrating these apps on our own dime today to get them back up ASAP. We’ll be dropping Hostcentric as soon as possible.

I’m hoping we move these to our dedicated servers. I’m not sure why we’re using shared hosts ’cause we have had issues with them and when we add up all our different shared host sites, it’s about as much as what we’d pay for a decent dedicated server. We have some sites on HostMySite.com and we’ve been happy with them and have heard lots of good reports.

(knocks on wood)