|
"Why Using AJAX is an Absolute Must
When Creating Today’s Web Applications"
Richard Rabins - Alpha Five Version 10
Complete Transcript of Interview
Let's Talk Computers Radio Talk Show
Host Alan Ashendorf
August 22, 2009
Alan: If you are creating web applications, you know that one of the biggest complaints that
users have is "lack of speed". And to tell us how we can speed up our web applications our guest today is
Richard Rabins, Co-Chairman of Alpha Software. Welcome back to Let’s Talk Computers, Richard.
Richard: It’s good to be back with you, today, Alan.
Alan: "Lack of speed," I hear that all the time that when people are thinking about building web
applications. They are hesitant about building applications on the web and if it’s an in-house project that they would rather
do it as a desktop. Why is that?
Richard: I think the reputation that you are describing there is well deserved. The first
generation of web applications can typically be described as "click and wait". Essentially, the way it was
designed not really initially to handle data base requests, but rather a page display system. And so that was
definitely the case for most of the first generation web applications that existed. It was definitely a big drawback.
People got excited about the Web, because you could be anywhere and you didn’t need anything other than a browser, but
when it really came down to it, the speed was a problem.
Alan: The Web used to be – the best way to describe it was like a mainframe application, where you
put something on the screen and you sent the whole screen back to be processed and then they refreshed the screen, again.
And that just makes it thing very, very slow, especially if you have a slow connection, doesn’t it?
Richard: Exactly. The problem with the first generation web apps is you were doing screen repaints,
whenever there was any change of data. The first product that most people became aware of, saying, "Hold on a minute!
It doesn’t have to be this way," was Google Maps.
I am sure a lot of your listeners have used Google Maps. It’s worth recalling the reaction that most people probably had when
they saw Google Maps. You could just put your cursor on the map and just slide it around the screen, just like it was a
desktop app. And people were saying, "Holy Smoke! How did they do that?"
In reality, what was really going on is if you think of a map, let’s say the United States and you move it a little to the left or to the
right, all the data that’s on the map doesn’t really need to be resent from the server to the client. It just needs to load the fresh
data or the new data that’s changed.
So, therefore, if the data that’s going up and down the wire is minimized, because you’re only looking for the changed data,
speed and performance should go up in theory, which is exactly what happens in practice.
Alan: But, when you look at Google Maps and you look at the source code behind the scenes, there is
a ton of code and the average web developer is looking at it and saying, "Some day I’m going to be able to do that, but now
that now, because I have no clue on what anything does."
Richard: What happened over the last, I would say, two years or so is that people have gotten
used to using these modern, (what some people call) Web 2.0 applications that perform much more rapidly - things like Gmail
is an example; Flicker is another example; obviously Google Maps – there’s a travel site called Kayak, and many others.
And the technology or methodology behind all this is something called, "AJAX." So, the good news has been that the
user-experience that has been able to be achieved in this Web 2.0 World is invariably driven by AJAX.
Alan: First of all, explain what AJAX is, because you know, it’s one of these four-letter acronyms
that really confuse developers.
Richard: Technically, it stands for Asynchronous JavaScript XML. It is not a technology, it’s more what
I would a methodology of creating these fast, highly interactive web apps that feel like desktop apps.
So one of the first differences between a traditional Word 1.0 app and a Web 2.0 app is that in a traditional app, the
communication between the server and the client happened in this synchronous function. Something had to happen
first, and then something else happened.
The "asynchronous" part means that this on-going dialogue and communication between the server and the client – in
effect, it is more a parallel operation vs. like a sequential serial operation.
The other key piece to making AJAX is on the client side you are dealing with much more intelligence on the
client. In the other language that all of the browsers understand is JavaScript. That is not to be confused with
Java. JavaScript is the language that the browsers understand. You are talking about activities going on in the
browser using JavaScript and you are talking about asynchronous communication.
But, in order to actually build a complete AJAX modern app, there is a dirty little secret. The end-user experience
is fantastic and the developer experience is very challenging. Because you have got to become proficient in
JavaScript; you’ve got to become proficient in typically, XML; you’ve got to become proficient in the server-side
scripting of programming. You have also got to understand a lot about what’s called, the DOM, the "document object model."
And finally, if that wasn’t enough, you have got to deal with the differences between the various browsers,
like Internet Explorer and Mozilla, and Safari and Opera. And the reason why that’s much more important
now is because the browser is actually more than just rendering static Html pages to actually running
JavaScript code to make things happen.
Alan: One of the big problems that you see is the user goes to the Web and he compares
website-to-website. Everybody uses Google Maps and they see how seamlessly it works and then they go to a web
site that is slow and clunky and refreshes. It’s an absolute turn-off as far as even doing business from that site.
I look at it as a phenomenon of the TV animations and I blame the "California Grapes", if you remember that old commercial.
Everybody has to follow that and everybody has the the encore such as, "What can I do to make it bigger and better?"
And it’s the same thing with the Web, because we’re doing direct comparisons from Website to Website, aren’t we?
Richard: Exactly, this is another revolution in some ways, but this time it’s being driven, not by
the developers or by the IT functions in companies, but by the actual users. It’s for exactly the reasons
you have outlined.
People are going to these big, well-funded sites, whether it’s Amazon or Google applications, etc. These guys have
millions of dollars and endless teams of developers and they can afford to build these applications and really get under the
covers and do all the AJAX, themselves.
The kinds of applications that people are realizing that they can build as web applications is that we’ve got a gentleman
who wants us to build a probation application for folks who get let out of prisons and they are on parole.
The implications of doing these applications and doing them right are huge.
We have got a prison population of 3,000,000 people in this country and we can’t afford it. A lot of these guys could
be let out if their communities and cities don’t let them out because they can’t keep track of these guys.
So, if you had a decent parcel web-based system that any authorized parole officer of policeman or any agent of the
state could go in and check the status to see whether this person is needing parole; on parole. It means all of a
sudden that they would be able to release people who are not a threat that should be released. It could save an
enormous amount of money. California has got to spend billions of dollars on building new jails that they cannot afford.
The end-users don’t, necessarily care about what a developer has to do. They just say, "Why can’t our companies website or
order entry system or service tracking system, etc. – why can’t it be faster, just like a Google type of app. So, the pressure
is there on the developers and IT guys to deliver and that is sort of the pain point that we are looking to address in
this upcoming Alpha Version 10.
Alan: I go to a website and I want to buy something and then a little box that says
"Quantity" – I have to click on something for another pop-up box to come up to put my quantity in and refresh the
page and then it goes back and says, "Now, I have so many items," and I constantly have to do a refresh and a refresh
and before you know it I would rather go to a site and spend a couple of more dollars and enjoy the experience.
Richard: I think what is happening is it’s becoming a competitive issue that if Company A has a
modern, soft, highly-interactive site that is a pleasure to use verses Company B. Let’s get them a competitive advantage.
I think a classic; kind of a great example of this is in the travel industry. Has sites like Orbits and Travelocity for a long time
and as far as I know the first booking site that was done using AJAX is a company called Kayak.com. The experience was just
so much better so you would go in and type in your origin city, your destination city and instantly, you would see a
calendar pop up with all the cheapest flights per day.
So, rather than reloading the whole page, it was doing an AJAX callback and feeding this calendar and embedding it,
almost instantly. And then, when you actually did you search, you got all your results by time of day and by price
and then you had these slider bars that you could just move around and change, whether you wanted to leave earlier
or later in the afternoon. You would just see all the data sort of magically updating, live on the site.
So, it was just A) more fun and B) more interesting and people started going to Kayak and started really switching from the
others and it gave Kayak a chance to really get embedded. Today, it’s, as I was told the other day, it was a start-up company and
now it’s a $200,000,000 company. Frankly, had they not done it in AJAX, they wouldn’t have had a competitive advantage.
It is the net effect that all of these guys, whether you are Travelocity or Kayak, their business model is they get paid by
feeding traffic to United Airlines and American and Southwest. If Company A can give a better user-experience because the
user is getting the information he or she needs with less frustration more quickly and more accurately, then they are going
to that site. It’s core to their business.
Alan: The competitive advantage is really real, especially when you are bouncing back against a
database backend or in most cases, you are not just bouncing against one database, it’s a relational database and the databases
could be anywhere in the world, couldn’t they?
Richard: The good news is that the net effect is if you use the right tools and you harness this AJAX
capability you can now actually build web applications that are in many respects superior to desktop applications.
And frankly, we were surprised when we started building Version 10 of Alpha, how powerful AJAX could end
up being. We now have demos that have been created in our Version 10 that people are doing things, on the
Web with the Codeless AJAX that has been generated by Alpha Five, Version 10, that they could not do on
the desktop. So, not only have you now replicated what is possible on the desktop, but because of the power of
only grabbing the data that you need and not repainting the whole screen, you are ending up with applications that
are actually more functional than what you could even do on the desktop, which was surprising to
us as to how powerful it could be.
Alan: When is Alpha Five Version 10 going to be released to the public?
Richard: We are in the advanced stages of testing. We have been testing since late spring, early
summer. We are hoping to have the product available around about Labor Day.
Alan: What is the price going to be?
Richard: We have not set the final price yet Alan, but it’s not going to be radically different from Alpha Five, Version 9.
The developer will be able to get Alpha Five, the tools for building the application in what’s called the Alpha Five Application Server,
which is both an App Server and a Web server to run on a server to deploy the web application. That will be for well under $1,000.00.
Alan: Richard, if someone would like to find more information about Alpha Five,
Version 10, where would they go?
Richard: They can send an email to marketing@alphasoftware.com
or they can go to our Website, http://www.alphasoftware.com.
We also have a very interactive information-rich blog, which is
http://www.blog.alphasoftware.com.
Alan: Richard, we are out of time. Today, we have been examining many of the reasons why developers in
today’s world really need to start creating their web applications using AJAX. I look forward to continuing this conversation, discussing
exactly how Alpha Five, Version 10 makes it so easy to create AJAX applications and without writing any code – next time.
Richard: Alan thanks a lot for the time and you have a good day.
|