Skip to page content or skip to Accesskey List.
Search evolt.org
evolt.org login: or register

Work

Main Page Content

The Quiet Coup

Rated 3.77 (Ratings: 19) (Add your rating)

Log in to add a comment
(9 comments so far)

Want more?

 
Picture of DevilM

Matt Liotta

Member info | Full bio

User since: March 11, 2002

Last login: March 11, 2002

Articles written: 6

For all of Windows's well-publicized dominance of the OS market, there have always been companies trying to make sure their applications work on all platforms, not just Windows. In the early days building portable libraries that attempted to abstract platform specifics did this. However, even with these portable libraries the vendors would still be forced to write some amount of platform-specific code. Further, the vendor needed to compile the code on each platform they wanted to support. Supporting all of these platforms was costly to say the least, which meant that more and more software was being written only for Windows. That was until Java was introduced into the world.

Java came onto the scene with a simple, but powerful idea, "Write once, run anywhere." The claim was that with Java, vendors wouldn't have to worry about writing portable code because the Java Virtual Machine (JVM) did the abstraction for them. All the vendor had to do was make sure there was an implementation of the JVM on each platform they wanted to target.

This is all really old news as Java was introduced nearly seven years ago. I bring it up now to ponder a question. What happened? Where are all the Java applications? Not on the desktop as it turns out. Java has done well in the web world virtually dominating the web application server market in corporate America. The impact on the desktop has been fair at best. Many people look at Java now as great technology that failed to deliver on its original mission. Developers need a way to build GUI applications for the desktop without locking themselves into a single platform.

Although it would be useful to iterate over the reasons for Java's lack of penetration in the desktop market, that isn't what interests me. What interests me is another technology that has quietly mounted a coup on the market Java invented. What is this magic technology that allows developers to build GUI applications for every major desktop OS without worry about platform specifics? It's Flash — that plug-in for your browser that lets you watch animations on the web. That is actually a terrible description of what Flash is today. No, today Flash is a complete GUI toolkit allowing developers to build applications with ease.

It is kind of funny to compare Flash MX (version 6) to earlier versions. Most people first got their feet wet with Flash back in version 3. Back then, about all you could do was pretty vector-based animations. Of course, there were a whole lot of people who wanted pretty vector-based animation on their web site. Java applets just couldn't compete and Flash kept gaining market share. Over the years, Macromedia, the makers of Flash, have added more and more functionality to the little plug-in. By version 5, Flash was installed in over 90% of browsers, had support for XML, and had morphed its scripting language (ActionScript) into something very close to JavaScript. Many web developers were finding that they could build entirely new types of web applications using Flash as the GUI instead of traditional HTML rendering. However, Flash was still lacking when it came to the needs of business developers. That all changed when Macromedia released Flash MX.

With the release of Flash MX, not only did Macromedia improve its XML support and make ActionScript almost entirely an ECMA-compliant version of JavaScript; they also introduced standardized UI components. UI components or controls as VB developers like to call them, are the building blocks of GUI applications. Having pre-built, standardized components allow developers to quickly build user interfaces without reinventing the wheel or worse reinventing the wheel as an oval. Standardization is important when it comes to GUI applications. Users expect that applications will for the most part look and function similarly. Further, Flash movies (given that Flash is now much more than an animation plug-in, possibly it is time to start calling Flash files something besides movies) can be run without the aid of a browser, so a user can just double-click an icon to launch a Flash application just like any other type of desktop application.

Besides improving Flash, Macromedia also did something else to further the technology: they opened up its specification. Now it is possible for other vendors to create their own tools for generating Flash movies. In fact, Abode released a tool to do just that. Flash now has greater than 95% market share and offers just about everything a GUI developer would need to build desktop applications. Who would have thought a little animation plug-in would be the one to finally deliver on Java's promise for the desktop?

Matt Liotta started his development career at the age of twelve by building C applications for faculty at Emory University. He built his first web page soon after the release of Mosaic 1.0. Excited by early web applications, Matt saw the potential to replace legacy client server applications. At Emory University he built an enterprise calendaring system, the faculty poster project, a Y2K compliance tracking application, and a prototype for an electronic research administration system.

Since then he worked with an early ASP, Cignify, to build their transaction processing system for payroll time data. For this project, Matt created a message queuing system to connect significant bodies of code in C++ and VB with the main application server. He also built a code distribution system for Consumer Financial Networks, as well as the first online account management system for Grizzard Communications. Matt did consulting around San Francisco for companies such as Williams Sonoma and Yipes Communications.

Soon after, he built gMoney's Group Transaction System using an innovative XML messaging architecture for ColdFusion that matches conceptually with the now popular web services paradigm. He also wrote a C++ knapsack algorithm to realize nearly a 20-fold improvement over a similar approach written entirely in CFML. Later at TeamToolz, he designed a highly secure and scalable network architecture for ColdFusion to support N-tier transport agnostic distributed applications. He then went on to implement a cutting-edge content management system for DevX. He is now President & CEO of Montara Software, which he recently founded.

Matt is also a frequent speaker on web architecture:

  • Moving Legacy Applications to the Web (Emory Web Developers Users Group, Atlanta --Feb, 98)
  • The Benefits of Web-based Enterprise Calendaring (Emory Web Developers Users Group, Atlanta -- Aug, 98)
  • Monitoring and Managing Services Remotely Using TAPI (Atlanta Visual Basic Users Group, Atlanta -- Nov, 99)
  • Scalable, Extensible Cold Fusion Architecture (Bay Area ColdFusion Users’ Group, San Francisco; Aug, 00)
  • Scalable, Extensible Cold Fusion Architecture II (CF_Scale Conference, Washington, D.C. -- Nov, 00)
  • Cold Fusion Scalability Panel (CF_Scale Conference, Washington D.C. -- Nov, 00)
  • Introducing CF Espresso (including white paper) (CF_South Conference, Orlando -- Feb, 01)
  • Utilizing Reverse Proxies (Web Services World, San Jose -- Apr, 01)
  • Cold Fusion on Linux (A CF Odyssey Conference, Washington, D.C. -- Jun 01)
  • Architecting Web Services (Web Show 2001, San Francisco -- Sep, 01)
  • Code Techniques in MX Panel (Bay Area ColdFusion Users' Group, San Francisco -- Jul, 02)
  • ColdFusion Cruise, May, 03

Java and the desktop

Submitted by Junglee on April 4, 2002 - 03:26.

1)
Just curious : are there any commercial apps (not animations) out there which are written in Flash ?

2)
I dont believe that java is as invisible on the desktop as you put it. OK, no one runs office applications on it, and applets have been quite a failure , but I have been using /seen other people using quite a few desktop kind-of applications written in Java. For example: quite a few IDE 's have large portions of the Gui written in Java: I know of the IBM VisualAge suite, I think even Sybase PowerJ is written in Java.

Other than these, a lot of the administration / configuration interfaces for many IBM / Solaris products are written as Java applications (saves em the headache of having to write a different one for each platform.)

Lot of the sales configurators used by sales persons to generate server specs from IBM and Sun come as Java applications.

I bought one of these learn-how-to-use-xyz cd-rom based cbts for someone recently, I was extremely surprised to find that the CBT was a java application...!

Finally I am quite sure that a lot of mobile GUI applications are written in Java ...

login or register to post comments

Uh ?

Submitted by skamp on April 4, 2002 - 03:27.

I'm not sure I'm following you, here... When Macromedia or someone else releases a complete office suite in Flash, send me an e-mail...

login or register to post comments

RE: Java and the desktop

Submitted by DevilM on April 4, 2002 - 04:28.

>1) Just curious : are there any commercial apps (not animations) out there which are written in Flash ?
Well my article was in reference to Flash MX, which was very recently released, so no there aren't any commerical desktop applications built with it yet. My article was meant to point out that with Flash MX it is now possible to do. Although, there are some commerical applications built with Flash 5 on the market.

In response to your second point...

I would expect Java IDEs to be built in Java. However, if you take a close look at those IDEs many of them are not pure Java or even cross-platform.

As far as moible applications, you are correct, but I wasn't referring to mobile applications. I was referring to desktop applications. But, since you brought it up, you can now do Flash for mobile applications too.

login or register to post comments

RE: Java and the desktop

Submitted by skamp on April 4, 2002 - 08:38.

> OK, no one runs office applications on it

Have you ever heard of StarOffice and OpenOffice ?

login or register to post comments

Flash applications?

Submitted by luminosity on April 5, 2002 - 00:39.

I find it hard to comtemplate building an application that has no access to the filesystem. What is it meant to do, save work on a remote server? Have no saving, and only allow you to print work off?

By the way, on the topic of cross platform GUI applications, PHP-GTK has been released with a stable version - I can see this being really useful for cross platform apps. PHP is a wonderful language, I just wonder whether PHP apps will take off.

login or register to post comments

Any references

Submitted by isyweb on April 8, 2002 - 07:44.

Hi DevilM I like your short article but I'd have enjoyed more references. I also believe that the argument of innovation is not any more enough to draw and convince the Net surfers (They are the ones who define consciously or unconsciously the place that Internet will take in their personal life and at work). So what are the real business advantages of Flash MX over the previous versions ? What are the business impacts and limitations of developing using Flash MX ? isy :-)

login or register to post comments

Case Studies for Flash Applications

Submitted by MaxM on April 11, 2002 - 11:11.

Flash apps will be hard pressed to compete with desktop applications such as office suites. Their strength will be for those apps we need to use over the WEB and online: email clients, on-line banking, financial packages, reservation systems, ecommerce, content delivery, eLearning, etc. Check out http://www.macromedia.com/software/flash/special/inspiration/webapps/ Also, here's an example of a Flash office automation system that is a web based multiple document GUI interface that is linked to several legacy databases using XML, SQL and Flash5: http://www.ambientoffice.com It runs on a Mac or PC, basically anything with a browser and the Flash5 Plugin. It's a good illustration of what DevilM is talking about. You can't do that in HTML. You would be hard pressed to produce the same results in Java with one set of source and in the same amount of time that this application was built. Also, that was Flash5 where all the UI components had to be built from scratch. Now think about Flash MX and the possibilities are astounding!

login or register to post comments

Case Studies for DHTML + XML Applications

Submitted by isyweb on April 11, 2002 - 12:03.

Hi MaxM Thanks for the Flash examples. I now see the Flash MX possibilities. Interesting, as long as you know what you are doing ;-) About your comment, "you can't do that in HTML", please check out my site on www.isy-web.ca. I've selected DHTML and XML technologies to increase web contents understanding by the Net surfers while guiding authors and removing their page-setting tasks. I also believe that 2 monitors is mandatory to get the Net surfers better do their daily tasks on the Web. I'm presently completing the "technical aspects" of my site in English. It should be ready by the end of the month. Thanks for your comments. isy :-)

login or register to post comments

You really CAN'T do that in HTML

Submitted by JivanMukti on September 27, 2002 - 10:48.

Hi isyweb.

I wanted to see your website, but was immediately greeted with a page which states that my browser, mozilla 1.0 (which is basically netscape 7.0) doesn't allow access to your website. Actually your website doesn't allow access to anyone not using Internet Explorer and it helps prove DevilM's point. Your site (probably) could be done in FlashMX and you wouldn't need everyone to use Internet Explorer to access it. I use Linux exclusively and have never had problems viewing websites with flash. (Getting Java applets to work consistently is another story.)
Peace -- Jiva

login or register to post comments

The access keys for this page are: ALT (Control on a Mac) plus:

evolt.orgEvolt.org is an all-volunteer resource for web developers made up of a discussion list, a browser archive, and member-submitted articles. This article is the property of its author, please do not redistribute or use elsewhere without checking with the author.