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.



