• On TV.com: 2009's Most PIRATED TV Show
August 11, 2008 4:00 AM PDT

Flash, HTML, Ajax: Which will win the Web app war?

by Stephen Shankland
  • Font size
  • Print
  • 43 comments

The days when Web pages were static collections of text and graphics are long past. But as the Web matures, there's a fierce competition over which technology will propel it into a medium for rich, interactive applications.

On one side of the battle lines is the original Web page description technology called HTML, or Hypertext Markup Language. Over the years, its abilities were augmented first with JavaScript, a basic programming language, and later a JavaScript-on-steroids technology called Ajax.

On the other side is Adobe Systems' Flash, which got its start as a method for graphic animations. It's grown into a much more powerful programming foundation over the years and has been joined more recently by a competitor: Microsoft's Silverlight.

All these technologies are advancing rapidly as Internet start-ups and giants such as Google race to transform personal computer software into services available on the Internet. These so-called rich Internet applications rarely match the performance and features of PC-based applications, at least today, but online applications can benefit from sharing, reliability, and access from multiple devices.

Kevin Hoyt, an Adobe Systems technology evangelist, believes Flash, HTML, JavaScript will coexist--but change rapidly.

Kevin Hoyt, an Adobe Systems technology evangelist, believes Flash, HTML, JavaScript will coexist--but change rapidly.

(Credit: Adobe)

Consumers typically need not worry much about the programming plumbing beneath their online applications. But suppose you're the person on the hook for your company's online expense reporting tool or a start-up planning to build an online music mixer for anyone on the Internet. You'll have to place a bet on which technology is best and which programmers to hire or train.

Few expect the competition to have a winner any time soon.

"You'll continue to see a high degree of flux for probably the next several years," said Kevin Hoyt, an Adobe Systems technology evangelist for rich Internet applications.

People in the computer industry love to talk about competition, which indeed often does keep companies from growing complacent. But it's also awfully convenient when some foundational technology--Windows, JPEG, and USB spring to mind--dominates to the point where most engineers need not worry much about the messy chaos of multiple choices.

The HTML camp
The HTML side of the battle has its roots in industry standards and in the task of displaying information. That's good and bad.

Industry standards can attract broad adoption, but they're typically slow to arrive. And though both JavaScript and HTML are standards, differences in how they're implemented in different browsers--and even different versions of the same browser--force programmers to accommodate all the possibilities.

Unlike during the browser wars of the 1990s, though, there's more convergence than divergence these days. Even the upcoming version 8 of the dominant browser, Microsoft's Internet Explorer, will ship in a standards-compliant mode by default.

And HTML can't be beat for pervasiveness, which is one reason why Kevin Henrikson, director of engineering at Zimbra, is a fan. Zimbra, which provides online e-mail and other applications, was an early Ajax adopter and in 2007 was acquired by Internet giant Yahoo.

"Even if I were starting from scratch today, I still think I'd bet on JavaScript and Ajax...It's going to be hard to stop the massive momentum we have," Henrikson said. "Flash is seeing a pretty aggressive growth cycle now, (but) I still think JavaScript is going to be (used in) 10 times the number of Flash apps that launch."

Microsoft sees things differently, believing that programmers are best off ditching HTML and JavaScript as soon as Web applications start getting rich.

"It's amazing what people have done with HTML, which was never intended to do rich Internet applications. And Flash was originally created for lightweight animation--literally for Mickey Mouse on the Web," said Brad Becker, who as group product manager for rich client platforms at Microsoft helps oversee Silverlight. "But these technologies were designed for something else, and people are really hacking them to do more."

Overhauling HTML and JavaScript
Today's HTML kludges might be tomorrow's standard features, though, because big changes are on the way.

One idea that's established but not yet fully settled down is more sophisticated data storage that can let applications keep local copies of data or documents for a long time. One very important use of this technology is letting people use their Web applications even when offline.

Other big change HTML changes include Canvas to let browsers create customized graphical elements such as charts on the fly based on programming instructions rather than just downloading pre-fabricated elements from a Web site; Web Workers to let browsers perform computationally intense background tasks without disturbing the browser interface; and Scalable Vector Graphics (SVG), an existing standard, which if adopted more widely could encroach on some Flash abilities.

Farther out on the horizon are audio and video tags for HTML that would let browsers play media with no extra plug-ins needed. If the industry manages to wade through the technological and intellectual-property difficulties of that area, it could erode one of today's main Flash and Silverlight advantages.

"If you put it all together, that lends itself to Ajax being a very powerful, capable rich Internet application technology," said Adobe's Hoyt.

The Google guns
Google is perhaps the biggest gun backing HTML, JavaScript, and Ajax. Its Gmail and Google Maps sites woke many up to the possibilities, and the company followed up with Google Docs for online word processing, spreadsheets, and presentations.

Just because Google is doing something doesn't mean it's the right way, though, Becker said. "If you look at Google Apps, they're doing great things, but how many shops out there have the Ajax chops that Google does?"

Google Docs are one of the highest-profile attempts to reproduce desktop applications on the Internet.

Google Docs are one of the highest-profile attempts to reproduce desktop applications on the Internet.

(Credit: Google)

Google is trying to hard to give new ammunition to the HTML camp, in part by trying to advance the state of the art with an open-source project called Gears.

Gears' flagship feature is offline access to Web applications such as Google's Web-based word processor, but it's also used to improve search at MySpace and speed blog posting with WordPress. Gears features that Google is considering for the future include desktop notifications to make Web apps more interactive, geolocation processing to let Web apps take advantage of where a Web user is located, and support for Webcams and microphones.

Gears, which like Flash and Sliverlight must be manually installed, hasn't spread widely. But adoption by some big services could help encourage people to install it, which might in turn encourage Web site operators to support it.

Google's Gmail could be the service to trigger a Gears adoption cascade.

"We expect Gears to be widely adopted in products like Gmail," said Sundar Pichai, a vice president of product management at Google, and there are signs Gears-enhanced Gmail might arrive soon.

Meanwhile, Yahoo has its own browser extension technology called BrowserPlus. It's limited to a few Yahoo demo applications right now, such as a more elaborate Web-based tool to upload images to the Flickr photo-sharing site.

Henrickson is intrigued by BrowserPlus and said Zimbra has been experimenting with it. It "bridges the gap" between Web applications and the abilities of a local computer, he said, letting programmers "access the file system, make system calls into the computer, drag and drop, access the Webcam."

But here's a thorny question: are Gears and BrowserPlus really in the same camp as HTML and JavaScript? BrowserPlus, at least for now, is proprietary, and Gears is certainly no standard. Both must be downloaded and installed, just like Flash or Silverlight plug-ins.

Google, though, sees Gears as an HTML ally. "Gears can be ahead of the curve, trying out new ideas that eventually become a new standard," Gears engineer Aaron Boodman said. And when new standards duplicate Gears features, Google "will reimplement in Gears," Pichai said.

Flash and bang
Flash and its new rival Silverlight offer some compelling advantages such as audio- and video-streaming support that make them indispensable for some Web applications.

Photo editing shows off what Flash can do, for example. Start-up Picnik uses Flash to that end, and Adobe has an online rival called Photoshop Express. Neither come close to the full features of Photoshop CS3, but both are impressive displays of serious editing abilities.

Yahoo hopes its BrowserPlus software will help make Web applications more like desktop applications.

Yahoo hopes its BrowserPlus software will help make Web applications more like desktop applications.

(Credit: Yahoo)

"Nothing really comes close to the kind of desktop experience we have in Picnik," said Chief Technology Officer Darrin Massena, and that won't change for a long time until HTML standards such Canvas or SVG arrive.

And even if those features do become HTML standards, "it'll take an incredibly long time to see it implemented across browsers and a long time to see high level of compatibility where you can really rely on it without a huge productivity drain on developers," he said.

Meanwhile, HTML isn't the only one improving. Flash and Silverlight are moving targets too.

"With Adobe's rev of Flash player, version 10, they've done a remarkable job of knocking out key things. We had a conversation a year and a half (ago) where we gave them a wish list. They have been really responsive," Massena said.

Features in Flash Player Version 10 currently in beta version 2, include 3D graphics, special effects, and better video streaming, hardware-accelerated graphics, and text control.

And though Silverlight isn't good enough for Picnik to "think about switching horses," the progress from version 1 to the current beta of Silverlight 2 is promising: "If they take a similar-sized leap in short order, say a year's time frame, they could be in the game," Massena said. "If they are the first to nail 3D, that could give developers a lot of reasons to use their technologies."

That's exactly what Becker promises. "We're going to be iterating pretty quickly, and each version is going to add new features and functionality," Becker said. The final version of Silverlight 2 will be released later this year, added Brian Goldfarb, group product manager for developer platforms at Microsoft.

A key part of Microsoft's Silverlight sales pitch is programmer productivity. It's based on the same C# and VB.net languages used in Microsoft's .Net programming technology, so a lot of coders already have a big head start, and Microsoft's highly regarded programming tools can be used.

Flash, too, has rich programming tools, not to mention some tight links with tools such as Photoshop and Illustrator that are useful for application design. And since Internet users relatively swiftly update their Flash software to the latest version, it's a much more stable and consistent programming foundation.

It's clear no single technology will dominate in the near future at least--each camp's advocates acknowledge their rivals' advantages. But some see the situation not as chaos but as innovation at its best.

"The Web platform is getting richer and richer," Boodman said. "I think we're living in one of the most active periods of Web development right now."

Stephen Shankland writes about a wide range of technology and products, but has a particular focus on browsers and digital photography. He joined CNET News in 1998 and since then also has covered Google, Yahoo, servers, supercomputing, Linux and open-source software, and science. E-mail Stephen, or follow him on Twitter at http://www.twitter.com/stshank.
Recent posts from Business Tech
Forrester: 5 keys for application development in 2010
Firefox development dilemma: Tweak or overhaul?
Zimbra buy to raise VMware's cloud ante
Big hurdles for rumored Nvidia x86 technology
Acer Aspire Netbook sports new Atom chip
Nokia: We will match Apple, RIM
Venture-backed companies see year-end surge
Chrome passes Safari in browser usage
Add a Comment (Log in or register) Showing 1 of 2 pages (43 Comments)
by spm82 August 11, 2008 4:27 AM PDT
Not that this is even a valid question, as they can coexist with one another, but Flash will not be a standard application platform for years to come, and the reasoning is as simple as one word: Accessibility. Until Flash content is easily available to those using screen readers and other assisting programs, it will not be used across the board by the public sector. Fortunately, closed captioning and the like are becoming more prevalent in Flash movies, but it's a long ways from widespread.

Once again, though, I don't think the question should even be posed as to who "wins" this war (there was a war?). The real winners are going to be those that develop the engines that easily connect Flash applications with PHP applications with Ruby applications with .NET applications, etc. Not until the platform of the web begins to mature will we truly see revolutionary things.
Reply to this comment
by rnieves1977 August 11, 2008 7:40 AM PDT
I concur. What war? Each offers something the other can't. These languages, markups and formats are here to stay for the foreseeable future...
by zextron August 11, 2008 2:03 PM PDT
Unfortunately silverlight has the same problem: no accessibility.
by gggg sssss August 11, 2008 5:05 PM PDT
and please explain why the screen readers are still using a DOSs based lynx model when that was obsolete 13 years ago. If acceessibility is important, then improve the technology taht allows variously disabled to adapt, dont hobble teh rest of teh wrld for 1% of teh population. Lead or follow but get out of the way of progress
by Goodbye Helicopter August 11, 2008 4:50 AM PDT
You really don't have any idea what you're writing about do you?
Nothing new has really happened with any of these languages in quite some time.

The real deal will be that as bandwidth increases, much of what is being used will be replaced by things that simply use more bandwidth.
Reply to this comment
by mmormando August 11, 2008 4:52 AM PDT
Actually, if you're willing to follow the rules, Flash is very accessible, and with recent releases, like making the file formats open source it can be indexed by the major search engines for SEO purposes as well. So, I think that is covered. I'm a little disappointed that there is no mention of the thing that basically really started the whole RIA concept, the Java applet. I guess Sun isn't paying the right people enough attention to stay on the radar screen. Doesn't really bode well for their whole JavaFX initiative.
Reply to this comment
by maverick_nick August 11, 2008 5:12 AM PDT
This is the most ridiculous article I've come across in recent months. There's no war between these technologies. They're totally different. I think that the only competing technology would be something like Flash and Silverlight.

Seriously dude, quit while you're behind.
Reply to this comment
by gggg sssss August 11, 2008 5:07 PM PDT
well, no. The whole prototype/scriptaculous project is to make thing move around on the screen and look Flashy (pun intended)
by inachu August 11, 2008 5:20 AM PDT
HTML is going by way of bloat code. its getting fatter and fatter and I can see a slim line version of code that will replace HTML one day and of course that slime line code will get the buldge as well.
Reply to this comment
by Imalittleteapot August 11, 2008 7:16 AM PDT
They already did that. Don't you remember when everyone started using DIVs and they moved all the bloat to the style sheets and JavaScipt and the DOM? Alright, just kidding.

Really though, I don't think HTML bloat is the main problem. Actually, since more and more web apps are being built I'm not sure there is a problem. Seems like it's all working to me.
by rnieves1977 August 11, 2008 7:46 AM PDT
HUH? how much slimmer can you get is for bold is for Italics... It's as easy and efficient as it gets.... Now when someone is using programs to generate HTML or you start adding CSS (which isn't really HTML) then yeah, it starts getting inefficient.
by Mr_Obvious August 11, 2008 5:41 AM PDT
When it comes to rapid development of rich content, right now, flash is the way to go.
Java, C#, ... all have plenty of extra flexibility; but, they also take way longer to develop in.
Our graphic designer does most of the flash app before we ever have to touch a line of code. And if it's just an animation, most times, we don't need to touch any code.
It integrates easily with with any server side language that implements soap (isn't that all of them now?), and many languages have additional features to integrate with it.
HTML and AJAX (or related Java-script techniques) are still the fastest to browse as long as graphics and animation are not dominant forces on the screen. SVG is cool and works with most modern browsers; but, requires an active-X plug-in to use with Microsoft's browser (the plug-in as available from Adobe - how's that for irony).
Reply to this comment
by gggg sssss August 11, 2008 5:09 PM PDT
now if Adobe would have gone with VB script of even C# instaed of that basterdization knows as AS3 then they would have had a winner. But no, they needed to tweak MS nose. So MS invented Silverlight. bye bye Flash
by Mr_Obvious August 11, 2008 5:42 AM PDT
When it comes to rapid development of rich content, right now, flash is the way to go.
Java, C#, ... all have plenty of extra flexibility; but, they also take way longer to develop in.
Our graphic designer does most of the flash app before we ever have to touch a line of code. And if it's just an animation, most times, we don't need to touch any code.
It integrates easily with with any server side language that implements soap (isn't that all of them now?), and many languages have additional features to integrate with it.
HTML and AJAX (or related Java-script techniques) are still the fastest to browse as long as graphics and animation are not dominant forces on the screen. SVG is cool and works with most modern browsers; but, requires an active-X plug-in to use with Microsoft's browser (the plug-in as available from Adobe - how's that for irony).
Reply to this comment
by racrex55555 August 11, 2008 5:57 AM PDT
How can you have a web app discussion and talk about Flash but not Flex, which is much more geared towards developers.
Reply to this comment
by mmormando August 11, 2008 6:25 AM PDT
I think by Flash he's talking about anything that runs in the Flash VM, like Flex, or OpenLazlo
by celticbrewer August 11, 2008 5:59 AM PDT
Apples and Oranges; but if I had to make a bet, I'd go with Ajax.
Reply to this comment
by evanlarsen August 11, 2008 6:52 AM PDT
I liked your article. It was very well writen. I dont like the flammers though that say you dont know what your talking about, but who does. I mean, if someones going to flame this article atleast present some facts. All around this was a really good article and I enjoyed reading every bit of it.
There is a war going on between these developers to get people to use their apps more. But I dont think there is going to be a clear winner. AJAX will succeed because its free to the world, and .NET framework w/ silverlight will succeed because they make it easy for people to create rich applications (at a price). Flash will succeed because they already have their foot in the door and Adobe Flash is pretty amazing, it is way farther developed than silverlight (in the sense that there are more controls to use and a bigger community for support).

But I think to be a good web designer you cannot just rely on 1 technology to build rich applications. I myself use them all. Because they all have their advantages and abilities that the others dont. A lot of the applications I create all use HTML, CSS, Javascript, ASP.net, and not to mention stored procedures on the backend (T-SQL, PL/SQL).

I would like to see, all the abilities of these web app languges to all be in one language. That would make everyones life a little easier. Server side code (php, vb.net) in 1 language , client side code (javascript) in 1 language and Database server code (pl/sql, t-sql) in 1 lanaguage. All the different codes used in 1 language. That way to be a web designer you dont have to know 7 languages to make a nice web application, but just know 1 to do everything. (I came up w/ 7 because I often use SQL, Javascript, HTML, CSS, ASP.NET, Visual Basic, and PL/SQL or T-SQL). And I'm sure some people use a lot more.
Reply to this comment
by Imalittleteapot August 11, 2008 7:00 AM PDT
All these technologies overlap but none of them do all the things the others do. That means most will stick around until something else comes like a new browser feature. Like maybe a more enhanced version of the Firefox canvas thing where I can just forget about HTML and DOM and just take over the whole page like a client app instead of being stuck inside a small box on the page.

Maybe let's flip it around. Let's put the HTML in the box (UI widget) and surround that with the dynamic content. Then give me a font engine, 2D/3D graphics support, and video/audio support. Now, give me UI controls that are drawn with the very same 2D engine I'm drawing the canvas with. That way I can get absolute customization over the look and feel without some ugly native widget popping its head in. Then let me take control of all of it with JavaScript.

That way I don't have to buy expensive development tools like Visual Studio or have my content wrapped up in proprietary technologies like Flash and Silverlight. Then give me some easy commands to save data to the backend plus some more to easily save data to a sandboxed area on the client. Even though all those things can basically be done now making it easier wouldn't hurt.

Honestly though, I don't think any one thing will win or lose. Most will be used for their various strengths. I see both Flash and Ajax getting even more popular. As for my idea, well I've been awake for 30 hours so you just take that with a grain of salt.

On another note, I still get a kick out of technologies like Adobe AIR and JavaFX. All these companies are spending all this money to get client apps into the browser. Then AIR and FX come along with the idea that for some reason I might want to tear those very same apps right back out of the browser. Wouldn't that just be a client app with an alternative form of installation lol? I don't know if it'll work or not, but that just seemed funny to me.
Reply to this comment
by jrmcneal August 11, 2008 7:29 AM PDT
The world today is AJAX + Flash, tomorrow it might be Flex. Maybe by 2010 we'll see something else, but It's safe to say it won't be Silverlight. And, If anyone has played with Flash 10, ActionScript is actually a decent technology now.
Reply to this comment
by luckyseen August 11, 2008 7:31 AM PDT
I'm really impressed with SVG, It's an excellent solution. The problem is SVG isn't being used in the IE7 nor is going to be in implemented IE8 either, that's 70% of the market totally wiped. You can (as mentioned already) get a plugin, but that shouldn't be the case.

Both Microsoft, and Adobe are driving developers to use their own expensive, and bloated sandboxes. No wonder nowadays flash apps are being replaced by Ajax where possible. Apart from video/audio flash/flex is dead.
Reply to this comment
by luckyseen August 11, 2008 7:43 AM PDT
Sorry for typo Ajax should be AJAX (asynchronous JavaScript and XML), its not a word. Maybe the columnist should note this too.
Reply to this comment
by mcmurrym August 11, 2008 7:55 AM PDT
I couldn't even finish the article... War? these technologies coexist with pretty good peace. Not only that, but they develop rich apps for different needs. spm82 is right about the accessibility issue with flash, no good business would risk loosing current contracts by switching to flash (ie government contracts). War.. haha, maybe between 16 year olds who fight over .net and php, but that is a maybe. Finally Html and javascript are in the free market where as flash is, specifically a Adobe Flash app, is less than free.
Reply to this comment
by Dan Owen August 11, 2008 8:22 AM PDT
With Flash at greater than 99% market penetration Silverlight doesn't stand a chance. It is MicroSoft too little, too late, again, again,,,,

From a user's point of view why would anyone want Flash to win over JavaScript. Both have their places in the creation of rich web environments.

However, if Adobe would toss out ActionScript and participate in the development of open source JavaScript, everyone would benefit.
Reply to this comment
by gggg sssss August 11, 2008 5:13 PM PDT
every Vista box supports silverlight and the MS presentation foundation. No additional installation required.Every new PC ( well 95 percent of them) runs on vista. What des that do to Silverlights standing a chance?
by The_Decider August 11, 2008 8:38 AM PDT
Wow another ignorant article from CNET. Color me shocked.

Flash is an overused POS, but still has its place.

AJAX while nothing new, has its place, even though it helped spawn the most annoying buzzword ever: Web 2.0

HTML the workhorse of markup languages.

To compare them is nothing but sheer ignorance, I will give you one thing. I didn't see you imply that HTML is a programming or scripting language.

CSS is not "bloat" it separates information from layout and makes your web pages more flexible and easier to write and maintain.
Reply to this comment
by Thomas, David August 11, 2008 8:38 AM PDT
OK let's give the clueless writer a break. LMAO ... NOT

Flash, HTML, and AJAX are all fundamentally different things! Flash is a runtime application, initially designed to work in a browser. HTML is a standardized markup, the language of web browsers. AJAX is not a thing, it's an idea, or some say a technology, but it is not single thing. AJAX does not exist without HTML, Javascript, back-end databases, even Flash.

Come to think of it, this article saddens me. What's worse, it got past the editors.
Reply to this comment
by Earl Benzar August 11, 2008 9:43 AM PDT
> Microsoft sees things differently, believing that programmers are best off ditching HTML and
> JavaScript as soon as Web applications start getting rich.

> "It's amazing what people have done with HTML, which was never intended to do rich
> Internet applications. And Flash was originally created for lightweight animation--literally for
> Mickey Mouse on the Web," said Brad Becker, who as group product manager for rich client
> platforms at Microsoft helps oversee Silverlight. "But these technologies were designed for
> something else, and people are really hacking them to do more."


Some surprise there. Microsoft wanting to get rid of HTML. Why, so that all of us can pay them royalties every time we create a web app?

No thanks Steve the Monkey Boy, I'll stick with AJAX.
Reply to this comment
by sanjayb August 11, 2008 9:58 AM PDT
Although new to the market I think JavaFX would have to be given some consideration too.
Reply to this comment
by gggg sssss August 11, 2008 6:44 PM PDT
why oh why?
Showing 1 of 2 pages (43 Comments)
advertisement

Five New Year's resolutions for Google

Stakes are high as Google attempts to maintain one of the Internet's greatest cash machines while pushing into new and risky markets.
• Android event set for Jan. 5

For eBay sellers, a holiday hamster hangover

The gift frenzy over Zhu Zhu Pets leaves some power sellers feeling like they've just run a marathon--but the steep price tags lead to some impressive profits.

About Business Tech

Your destination for the latest news on enterprise-level information technology, from chip research and server design to software issues including programming, open source and patents.

Add this feed to your online news reader

Business Tech topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right