The future of the internet has never looked brighter (well, unless you bought a lot of technology stock in 1999). With the advent of what many are heralding as "Web 2.0" (personally I think that name is pretty lame), I thought it would be a good time to take a look at a couple of the technologies that are bringing forth a number of these changes. Yes, yes, I know…AJAX is Web 2.0 and Flash is what most people consider to be that annoying little plug-in that displays those annoying advertisements. I agree that Flash is often (that's an understatement) misused, but its power is often undervalued and rarely completely harnessed. As for AJAX, its power has been around for a long time, but it seems nobody really fully utilized its power, well, not until Google decided to change that. I can remember when I first was starting out with the web, Javascript was the scourge of the internet and Flash was being heralded as amazing technology – that's when everybody was putting those stupid Flash intros on their sites and other people were blocking Javascript for security issues. It is amazing how times have changed so quickly.
Now it is 2005 and two of the largest web businesses are starting to make use of all this power and push it into the mainstream. Google has shown the world that Javascript can do more than create those ugly counters, and as a result, has created a frenzy of activity to create websites that utilize AJAX. AJAX is now a buzzword in the industry and it seems that it is the must have feature for a website. Yahoo, with its new Flash maps beta, seems to be countering Google's AJAX technology with Flash technology. About 8-9 months ago Macromedia announced a partnership with Yahoo where they would be bundling Yahoo's toolbar with Flash downloads. This announcement had a lot of Flash developers up in arms. They wanted to know why Macromedia was offering the toolbar with Flash downloads. Many people were claiming that Macromedia had sold out. Despite all of the developer protests, Macromedia employee blogs said that the partnership would provide many benefits to Macromedia, but the details could not be released at that time. Now, with the unveiling of the Flash Yahoo Maps beta, I can only imagine that this has a great deal to do with that partnership. If that is the case, then Yahoo probably has other Flash projects on the back burner. It seems to me that if Yahoo continues to push the positive aspects of Flash into the mainstream, then ultimately this will be a very powerful partnership that may be able to do similar things for Flash that Google did for AJAX.
Before we look at the future, we need to see where the technologies stand today. AJAX is really just a style of Javascript coding that is free to use but is often difficult to effectively implement because of the lack of standards for Javascript across browsers. Flash, on the other hand is controlled by a single company, Macromedia which has been acquired by Adobe. Because Flash is controlled by one company, it has a fairly standard implementation across platforms. So in comparison, AJAX has an open model of implementation while Flash has a more closed model (yes, it is not completely closed, but it is controlled by Macromedia). Both models have benefits and drawbacks, and both technologies are directly affected by those benefits and drawbacks.
Because of the open nature of Javascript, anybody can sit down and start coding an AJAX site. It does not require any special programs, all you need is a text editor. Flash on the other hand is based around the Flash Authoring software. Although there are many other ways to create Flash content, the majority of developers purchase the software from Macromedia. This really is not a set back for Flash because a large percentage of internet developers and development studios purchase the entire Macromedia Studio to assist in developing sites. The acquisition by Adobe will probably open up the Flash Authoring program to even more developers due to its own software that is involved in numerous creative works.
Ultimately, AJAX has the upper hand right now, although I personally believe that Flash is a more powerful platform. A lot of AJAX's success can be attributed to developers willing to utilize its power. Flash, on the other hand, does not receive much praise from developers. Most developers shy away from Flash because of its animation roots and the bad rep it has gained from annoying advertising banners. Ultimately the creator of a website is the one who decides what goes on that site. Since most developers seem to prefer AJAX to Flash, AJAX is the technology that is getting the most use.
It seems like all of the hype around Web 2.0 is on creating internet destinations that are desktop-like in their experience. The ability to drag-and-drop as well as not having to refresh the page each time a change is implemented seem to be the two most important features. Both AJAX and Flash has the power to handle these features, yet the implementation between the two systems is vastly different.
AJAX has the ability to easily blend in to normal web pages. You may not realize that a web page is utilizing AJAX until some feature on the page tips you off. A good example of this is Google's personalized homepage. Each of the elements on the page is completely draggable allowing the user to easily rearrange their homepage without once refreshing the page. By just looking at the page, though, you would have no idea that the elements can be dragged around. Another example of a basic AJAX page is digg.com/spy where users can see all of the latest stories being dugg. The first time I visited the page was early in the morning so there was not much activity on the site. I could tell that something was supposed to be changing, but nothing was moving. When I visited the page during the day, I finally realized what was happening since the page kept getting new stories added to it. It puts a quick animation around the new story that was dugg. It is really great to be able to see stories scrolling down as they are added without refreshing the page. Without the updating feature, though, it looks and operates just like a normal HTML page. As the web produces more and more innovative uses of AJAX, mainstream users will become familiar with internet pages that act like their desktop.
Flash, on the other hand, started off as an animation tool which gives pages that utilize it a more unique look and feel…sometimes to its own detriment. Controls are not consistent across sites (although Flash components have been trying to change this for a few years), which causes the user to have to learn how to use each new Flash site they come across. Although its controls may be lacking in consistency, its power is rarely fully utilized. I think that one of the most underused features of Flash is its real-time, multi-user capabilities. Flash with its socket connections allow for an amazing amount of information to flow back and forth over the server. Along with its ability to easily animate, the information can be beautifully presented. Yet with all of this power, I have yet to see it fully used in a mainstream website. The only real good examples of someone taking full advantage of these capabilities that comes to mind is Newsvine with its real-time chatting ability and Colin Moock and his Unity server . You can see an example at Dynamic Guestbook (if you open this page in two different browsers, you can see how it works). Other than that, I really cannot think of any sites that utilize the real-time capabilities of Flash. It will be exciting if Yahoo has something in store that makes use of these features.
One of the negatives that I think is going against Flash right now is its lack of ability to easily integrate into HTML pages. Don't get me wrong, Macromedia has made sure that Flash can be easily placed in a page, and it has also created features so that Flash can actually communicate with the HTML on the page (this is where you see some AJAX/Flash combination solutions). The problem is that no matter how many doors of communication you open up, the Flash object on the page is still a separate object. One of the most annoying things I have been encountering lately is websites that create menus using Flash. I used to think they were great…they were visually appealing and operated in a slick manner, but the biggest annoyance I have is when I want to open the Flash menu's destination link in a new tab of Firefox – you can't. Along these same lines, Flash added the ability to use the scroll wheel events to control scrollbars inside of Flash. This is a great addition, but I have been noticing that Flash will end up trapping your scroll wheel where you cannot scroll the rest of the page until you click back onto the HTML section of the site (this only happens with sites using Actionscript 2.0 coding). It is another very annoying bug that really makes it clear that Flash is a separate object.
One of the biggest problems I have come across with both AJAX and Flash sites is that sometimes the coding gets very bloated. Every now and then I'll come across a site that is really pushing the Javascript or the Flash coding, and it ends up creating a noticeable drag on my computer. It usually ends up downgrading the users' experience (which is sad because the drag could have probably been eliminated through better coding).
So where does all this leave us? Well, with a very interesting looking future. AJAX right now tends to be most developers' choice for advanced internet applications. Developers, like myself, tend to not be very graphically oriented. We naturally gravitate towards text-based systems since we spend most of our days looking at and editing text. Users, on the other hand, tend to be very visually oriented, especially with all of the graphics and images they are constantly being bombarded with through television and films. It seems to me that users tend to enjoy the visual experience that Flash offers. Right now it seems that AJAX and the developers have the upper hand. I mean, we are the ones creating all of this stuff. But if ordinary users are given the chance to see the full capabilities of Flash, I have a feeling they would probably prefer that over the more basic looking AJAX sites.
Most developers never really thought much about Javascript's capabilities until Google showed everyone what you can do with it. Now everyone wants on board. It will be interesting if Yahoo will be able to promote the little known power features of Flash.
Whichever technology ultimately wins will depend on what the users (consumers) want. Right now I think most users are getting more of a taste of AJAX possibilities rather than Flash capabilities. It will be interesting to see if Yahoo changes that. If the user does not know it's out there, they will never ask for it. Think about Mapquest. It used to be the undisputed leader of mapping on the internet until Google came along and showed that you could have full control over maps without reloading the page. Then everybody wanted the web to be like Google maps because they finally got a taste of the power of AJAX. I wonder what will happen if Yahoo Maps successfully gets their product out the door (right now I list it as one of those bloated Flash products – but I'll give them the benefit of the doubt since it is in beta). There are definitely some huge possibilities as can be seen by the mash-ups made by Justin Everett-Church (Pirate Map and Radar Map).
I wonder if the future of the web really comes down to which company ends up with the most power. Don't forget the third member of the web business trifecta – Microsoft. They seem to have something up their sleeve with Windows Vista and Sparkle. No matter what happens with these web technologies, it will be very interesting to watch it unfold. The future of the internet is looking brighter each day.
I have discussed this at great length with a few folks and I think theball is 100% in Macrodobia's court. To me, flash can still do alot more, particularly when it comes to vector graphics. AJAX and Flash shouldn't even be considered to be on the same level till SVG is in every browser.
In terms of pure non game web devlopment, AJAX might be up on this whole Flex thing Macomedia is trying to pull off. AJAX is jut more open. I can use any DB i want on any server. For free.
If it were up to me I would just make sure the next version of Flash can be more fully integrated into HTML pages with Javascript and PHP. If they would just open it up a little so you cald script with any language there wouldn't be a battle, Flash wouldn't lose anything in terms of sales.
Controls are not consistent across sites (although Flash components have been trying to change this for a few years), which causes the user to have to learn how to use each new Flash site they come across.
Have you actually used any ajax apps? They have the same usability problems that early flash had.
Anyway - nice article. Here's hoping that Flash integrates in, rather then competes with what is rapidly considered to be the future of web development.
Oh yeah - one more point. Flash is far more cross browser/OS compatable then AJAX. :)
Have you actually used any ajax apps? They have the same usability problems that early flash had.
But, ajax is both javascript and xml. Unless you wanna update them both, then ajax won't get any better for dev's.
I think we'll eventually start to see better ajax apps, but it will only get so good.
Flash has animation + actionscript and i've seen some amazing stuff with it(Full blown 3d engines and etc).
So of course flash might do better things and have better features, but it won't look as nice or out-perform ajax. Ajax is much faster and just feels better. It's always possible to use a combination of ajax and flash but it won't do very well unless you do a hell of a job making it.
Ajax is much faster
True.
and just feels better.
Opinion. ALso it depends on the app.
It's always possible to use a combination of ajax and flash but it won't do very well unless you do a hell of a job making it.
Yeah - i'm in the middle of flash/html/php/MySQL hell right now. I would love Flash to open up a little and make this integration more painless.
Oh yeah (guess i caught the a case of doubleposting) I was refering to the simple thing ajax gets wrong that flash devs used to get wrong. Like breaking the back button.
I should clear up also that I love AJAX too. I use many AJAX apps on a daily basis that should NEVER be made with flash. The project I am working on now however is NOT one of those apps.
I was just thinking about Flash vs Ajax this morning... I'm sure we'll see better integration down the road. Thanks to Ajax it seems like there is a true component based development tool. And thanks to Flash for making animation, video and interfacing more robust.
I don't see this as a "Flash vs Ajax" topic because I think each adds a beneficial asset to development and design. However, Macromedia developers might want to rethink the way Dreamweaver, or Cold Fusion works because if Ajax catches like wild fire, we may see Dreamweaver get kicked to the side.
Perhaps, Adobe should buy the AJax Developers out and create Super Studio 9.
True developers of the web need all tools at their disposal, and knowlage of each's feature base will make the decision of which one to use in each implementation. Example: rich media, duh -Flash
Opinion. ALso it depends on the app.
Would you rather have flash based gmail? Or ajax based gmail? ; )
Of course I'm aware that flash still has advantages in many area's.
I think we just need to stop saying flash vs. ajax, because as far as web developement goes, they are both just as good in their own way.. lol
Unless mike d. says otherwise of course. =D
But, there is a reason you don't go to sites like gmail.com or espn.com and see 100% in flash. Ajax is slightly easier for web developers for doing simple tasks like 'voting' posts on newsvine, and flash is better as far as animation and things go. .gif just doesn't cut it. lol
It's always fun to talk about the good uses of flash vs. ajax, but the purpose for them both are slightly different.
"AJAX is really just a style of Javascript coding that is free to use but is often difficult to effectively implement because of the lack of standards for Javascript across browsers"
This is no longer true, it's now trivial to implement thanks to the hard work of the trail blazsers in '02 and '03. There are many free AJAX libraries now.
Flash has scaling in it's favour and embedded media.
AJAX has CSS in it's favour: instant restyling.
They are complimentary technologies. Flash is awsome as a generic multimedia plugin. Where ever sound and motion graphics are required Flash rocks. Look at the playtag function of del.icio.us and the Charts and graphs on Measure Map.
But I hate completely Flash websites.
Another important point to take into consideration is the accessibility of both accessibility, they can both be accessible but to different degrees and with varying levels of success.
Dude 3609,
There is Flash-Based email: Goowy
Yea.. i've seen that before.. I still preffer googlegmail over it though.
I dislike goowy because it uses nothing but flash. It's good, but flash just wasnt made to be used as full websites and it shows.
You're in Easy Mode. If you prefer, you can use XHTML Mode instead. |