archive for the ‘Rich Internet Applications’ category

“Runtime Wars” are heating up.

With Adobe’s announcement today that they’re opening up the source of their Flex SDK under the Mozilla GPL, they’ve gained a little more ground in the burgeoning competition between rich Internet application runtime environments. While I’m still learning about all this new technology, I’m starting to get the feeling that the “Browser Wars” are history and the “Runtime Wars” are just getting started.

There are some heavy hitters in the tech industry spending a lot of time on these new runtime environments. Microsoft has just announced Silverlight. Mozilla is incorporating offline capabilities into the upcoming Firefox 3 release. And of course, you’ve got Adobe Apollo. Each has its strengths and weaknesses, which I’m currently learning about. But all of them will be players in the next phase of the Web, when rich Internet apps take center stage.

The browser model is on its way out, with the burden of processing headed client-side. It will probably take a couple of years to get there, but I think that’s the direction we’re headed. Check back here for news and thoughts about the revolution.

no comments »

Beginner’s Look at Adobe Apollo

In my Grab Bag the other day, I wrote a blurb about the launch of Adobe Apollo. At the time, I was excited about it because everyone else was, but since then, I’ve done some homework to see what all the hubbub was about. Turns out, unlike your typical over-hyped new Web technology (I’m looking at you twitter), Apollo could actually be something. Maybe — dare I say it? — the Next Big Thing.

So what is Apollo? Here’s how Adobe describes it:

Apollo is the code name for a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.

That’s a mouthful, but what does it all mean? An analogy: Apollo is like a CD player and Apollo apps are like CDs. By itself, a CD player doesn’t do much but wait around to play CDs. And the opposite is true. But together, they make music. So when you download Apollo, it’s not going to do anything but wait on your computer to run Apollo apps.

There are other runtimes: most notably the Java runtime, which you’ve probably run across if you’ve spent any time on the Web. Apollo is the same thing, but there’s an important difference that sets it apart. Instead of having to take night courses to learn Java so you can program Java apps, Apollo lets you use all of Web development skill you already know to design applications.

I look at Apollo like a Web browser without the “browse.” Browsers already run applications. You go to check your Gmail; you’re running an application. Well, you’re not running it. It’s running on a server somewhere. With Apollo, the application will run on your desktop, which accomplishes two things: it takes some of the load off the server and it lets the user work offline.

It’s this second feature that the development community is salivating over. Compose emails, set up eBay auctions, fill in your calendar, change your lineup in your fantasy baseball league. You can do all of this offline (say, on an airplane or if your cable goes out) and once you’re back on the grid, sync up to the server with one click, implementing all of the actions you’ve completed on your desktop. Applications with hybrid functionality like that are called Rich Internet Applications (RIA), and a lot of people think they might be what becomes Web 3.0.

Pretty cool, right? But before we jump in with both feet, there are a couple of caveats before anointing Apollo Next Big Thing status.

  1. Security
    Every new technology that has come along in the Internet age has gone through some growing pains while the kinks in security are worked out. I can’t see Apollo being any different. The runtime is designed for Web developers to leverage their existing skill sets to develop applications. Well, hackers have those same, if not more advanced, skill sets. Just something to think about.
  2. Compatability
    The runtime is cross-platform, but does that mean the applications will be? I did some looking for early Apollo apps, and I found an Apollo music player. I’m not sure which platform the developer used to create it, but it wouldn’t run on my Mac. Whether that’s an issue with the runtime or with his app remains to be seen, but still, it wouldn’t run.
  3. Efficiency
    The other major Web-related runtime is Java, and anyone who’s used a Java app knows that the runtime is pretty cumbersome. You have to wait a while for Java to launch, and then you have to wait for the app to initialize. It takes longer than it should. While all the sample apps I’ve tried for Apollo have been very quick, they’ve also been pretty simple. When developers start adding deeper functionality and more complex interfaces, will Apollo bog down, too?

That said, I really believe the Apollo project has way more upside than downside. If you think you’ve seen a lot of Web-based innovation in the last couple of years, I have a feeling Apollo is going to bring it to your desktop.

no comments »