| 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. |