Flex Supercharged

Flex just keeps getting better and better. Today I discovered a little thing called the Flash Communication Server. I think it’s been around for a while but before Flex it was kind of an odd product. It allows communication between Flash applications and the server in real time. That in itself isn’t really all that cool, but it allows multiple users to all come together in the same application and share information.

I’ve always seen Flash as a designers tool, something that people with more artistic talent than I have could use to make their “art” come to life on the web. It may be a simplistic idea of Flash, but I don’t think it’s much of a stretch, we have a couple of teams of developers at work and I don’t think any of them is an “expert” in Flash.

The Flash Communication Server gives Flash Designers a lot of cool stuff to play with, but after playing with it today, I just don’t see the kind of people who create Flash as being big users of the Communication Server. Flex however, is a developer-based language that becomes flash to the client.

There really doesn’t seem to be much on using Flex with Flash Communication Server, but it’s really a perfect fit. Sharing information in real time with a user interface that is powered by Flex has some cool possibilities.

Cold Fusion Components

I took tonight to experiment with CFCs before I dove into the Flex. I hadn’t used the “this” scope in a CFC before, so I tried it out and found it helpful. Now instead of invoking the CFC multiple times for every method I want to use, I have a public “Init” method that calls a bunch of private methods within the CFC. Those private methods then perform all of the business logic for the application.

This has two benefits (I think). One is that everything is encapsulated so that the data passing between the CFC and the CFM file is minimal. The second, and coolest, is that by having private methods in the CFC do all the work, the application becomes much more ?portable?. For me, this means I can very easily write two user interfaces – one, a regular CFML interface and another Flex-based interface.

In our production environment at work, we have both a ColdFusion server and a Flex server. In thinking about it, I wondered about creating an application that would work on both and still do essentially the exact same thing. I’m pretty sure that any application using mostly CFCs would fit.

I’m planning to test it out this week after I get the CFC backend written.

Textpad Syntax File for Flex

I don’t usually use TextPad to actually code, but it’s a great way to quickly look at code I’m using as a reference. For those who haven’t heard of it, it’s like Notepad on steroids – but good steroids, not the kind that Barry Bonds uses (oooooohh, -zing-).

I haven’t been able to find a Flex syntax definition file for it, so I decided to create a quick one. It’s kind of in pre-alpha stage, but if you want to try it out, you can download it here. Any comments are welcome and I’ll be cleaning it up over the next week so that I can send it off to the people at TextPad and have it posted.

Google v. Microsoft

I was born just about the same time as the (now) big tech companies like Microsoft, Intel, Sun Microsystems, Apple, and others. As a result, I never got to see the pioneer days of the technology world. But I consider myself a student of the industry and try to read as much as I can about the history, including the things that went on in Silicon Valley, the battles between Microsoft and IBM, and the wax and wane (and wax) of Apple.

Because of this, I find the competition between Google and Microsoft fascinating. I saw how Microsoft destroyed Netscape and I’ve read about how they bet on software while IBM bet on hardware and lost. But I think Google is different. An article in Fortune magazine talks about “Why Google Scares Bill Gates” and brings up some good points.

In the past, Microsoft could lower the price of a product or bundle it with the operating system and cut off market share. Because Microsoft created the starting point of the user experience, they had a lot of tactics at their disposal. Now however, as the Internet becomes more and more popular, and the way we use the internet becomes more and more varied, Microsoft’s old advantages have disappeared.

I’m not sure if Google will ultimately do to Microsoft what Microsoft did to IBM or Netscape or RealPlayer, but it is forcing Microsoft to make some drastic changes, something it’s not used to doing. Microsoft is finding out that it isn’t a nimble company any more and has to work harder to adapt to change. This runs both ways, because even though it isn’t an upstart any more, it also has a lot of experience, and has been through a lot to get where it is today.

Google on the other hand, is making some really exciting products. They’ve moved ahead and changed the way people interact with the internet. I don’t know when the operating system will cease to be important, but I do think it will. I think in the future, the “Google model” of providing web based software will be the one that ultimately prevails.

I think that the future of software is in Rich Internet Applications that can deliver dynamic content on any platform. That’s one reason why I’m such a big supporter of Macromedia. That niche market will someday turn into the basic business model of the internet. As bandwidth becomes unlimited, we will be able to deliver almost anything from the web. It will always be up to date, and accessible from wherever you are. Everything will be web based because the web will be accessible everywhere.

It just remains to be seen if Microsoft can adapt to the change. So far they have.

Flex Working Too

Flex is installed correctly. I haven’t had a chance to test the CFC issue I had before because somehow in this process I lost my old files but I should be able to test it tomorrow.

So after way too many hours, I’m back to where I was before, but a little bit smarter.

Ryan 1 – JRun 47

JRun FINALLY works. I’m not exactly sure what fixed it. I tried using a different jdk version (1.4.2) but also left the default-ear in the fusion install, so either one of those may have gotten rid of the “500 Null” error.

Next step, installing Flex and getting CFCs to work.

JRun! Almost…..

I was all ready to celebrate today because I have ColdFusion 7 installed on top of JRun, and it even serves ColdFusion pages (a big step from yesterday). The only problem is that when I try to log into the ColdFusion Administrator, I get a 500 Null error that I haven’t been able to figure out. It serves CFM pages just fine, but obviously something isn’t right. I’m all JRunned out today, so tomorrow when I get home I’ll see if I can’t work out this last little kink.

Then I get to install Flex, that should be even more fun.

Adobe Cold Fusion 8

I am probably the last person to write about it, though I’ve known since this morning that Macromedia has been purchased by Adobe.

I’m not particularly fond of the idea, and the stock market seems to agree with me, albeit in the opposite direction.

I think this is a great move for Adobe. I’ve always thought that Macromedia is a company to take seriously and one that will make a mark on our ever changing technology world. With Flash on mobile phones dishing out everything from user interface to compact video, there really isn’t a downside to Macromedia’s product offering.

I fail to see what this does for Macromedia. I see Adobe as a bigger, slower opponent that doesn’t bring much to the table.

They do appear to be a good fit per se, because they can offer developers the ability to present their wares over a wide range of mediums, but Macromedia was in a much better position to capitalize and watch their medium (the Rich Internet medium) take off.

I’m not sold on the deal even though my MACR stock has done quite well today. I’m having nightmares of a bloated, lumbering new version of Flash that has all of the things which makes Acrobat Reader so putrid and none of what makes Flash so delicious.

We shall see.

JRun and J2EE

I had ColdFusion installed as a standalone server, and I think what I’m trying to do is more difficult when the server is configured that way. So now I’m installing it on JRun as a J2EE application.

I don’t have any clue as to what those two things actually mean, but it seems like all of the cool kids use JRun and J2EE to run ColdFusion so it’s worth a try.

Hopefully this will work.