tags:

views:

163

answers:

12

My friend and I are building a website together, and he is insistent that page refreshes are a thing of the past and that we should build the whole website in AJAX. His only reason why page refreshes are 'annoying' is that they are too slow.

However, the page is running fine without AJAX currently and when I click from page to page, it seems instantaneous to me. It doesn't seem that it would benefit from additional speed, but he just says I'm being stubborn.

I do want to use AJAX for certain features and pages within the site. I feel like I understand the pros and cons. He references that gmail is made in AJAX, but the url changes as I go into different mailboxes, so I don't think it is 100% AJAX.

I reference wikipedia, which is actually much more similar to our site, as an example of a highly succesful website which doesn't seem to NEED AJAX. But he says that's just one example, and that I am fixated on on wikipedia.

Some personal rant:
1. When I tell him that AJAX is great, but that most of the internet will still require page refreshes and page links, he thinks I'm crazy.
2. When I tell him that using AJAX when not needed will make the back-button useless, he tells me that I'm obsessed with the back button.
3. I think AJAX is something that can be added later to make functionality smoother on certain features, but that it is OK to build the core of the website without it for now.

What is your opinion on the matter? When is ajax really needed in a website?

Thanks

+13  A: 

No, Ajax is not necessary for a website to be great. But it can improve usability if used correctly and not overused.

A site built entirely with Ajax and non-functional with JavaScript disabled is a nightmare. No navigation back/forward. No bookmarking. Not to mention its effects for SEO, that is the site will be invisible to search engines.

The golden rule: build the site in classic fashion then add little elements of Ajax to improve usability now and then.

For certain advanced functions it might be okay to be only available as Ajax, but try to make sure the most of the site is at least accessible in read mode when JavaScript is disabled. StackOverflow is a great example of that approach.

Developer Art
+1 for build the website the classic way and add ajax improvements to its usability
Here Be Wolves
+1 progressive enhancement.
BoltClock
+1 for "non-functional with JavaScript disabled is a nightmare."
blizpasta
+1  A: 

Of course, AJAX is not necessary to build a great website. It can, however, improve the user experience in certain situations. It is necessary to carefully study and understand your requirements, the structure of your site, and the navigation your users will undertake.

One important thing to consider, however, is bookmarks. Using AJAX extensively makes it extremely difficult to be able to simply bookmark a certain spot or "state" of your website.

Mark
A: 

I don't think you need Ajax for a site to be great. That said, more sites that are great make use of Ajax. Good RIAs are awesome.

I dont see a lot of ajax on Digg, ArsTechnica, LifeHacker, and the such. Those are all (subjectively) pretty good sites.

hvgotcodes
A: 

No, you don't need it. It just needs to perform well for what your intended audience needs.

Madison
A: 

Yeah I think you do need it, having to submit pages is so pre-millenium.

More seriously, if you are presenting data, I really think it improves the user experience if asynchronous calls to server are used and the returned data displayed without the need for a complete page refresh.

I remember the first time I saw it used (years back) I was extremely impressed, awed even.

Anyone got example of dynamic, data driven websites that look great and don't use ajax ?

NimChimpsky
+5  A: 

My rule of thumb is - what are you building: a website or a web application?

if its a website, content should just NOT be loaded via ajax. It breaks many assumptions that the end users have about the website. Other problems:
1. SEO
2. back button breaks
3. more work to do on your side to make the website UI consistent
4. placing relevant ads will be more complicated

An excellent example is wikipedia.

If its a webapp, then ajax can really help:
1. you can design better user interaction
2. the user will actually expect the app to behave like a rich app, and not like a website. 3. you can dramatically increase the responsiveness of the app using ajax.

I hope that helps.

Here Be Wolves
A: 

AJAX is not an absolute NEED for a website application. It does not necessary mean that your page will be faster. A lot more things determine page speed, such as:

  • client side minifying (css and js)
  • image compression and sprites
  • server location
  • and much, much more

Of course, applying AJAX in some strategic point of your website will be where you will most benefit from it. Use it where there is likely to be a lot of activity from your users. I personally always make my website without any http requests handling at first, and then implement the rest by adding AJAX where there is the much concern.

I think your friend is being a bit too concerned about AJAX. Like everything in life, it always tastes better with moderation.

Steven Rosato
A: 

One potential downside of AJAX, when misused, is that content can't be bookmarked.

Try and follow the rule of thumb, that the user should be able to link to content by copying the URL from the address bar. There are several ways to achieve this, with traditional page loads being one.

slim
+1  A: 

Sorry to not post on topic, but I agree with the answers other posted (AJAX in great if not used too much.) It also DEPENDS on the website, if it's more like a web app where you don't need SEO and bookmarks (like gmail) you can go with full ajax (try GWT), if it's content rich- go with just a little AJAX.

But what I wanted to underline is the relation with your friend: you have to be careful when you start a big website with somebody else. If your fight is too big for such a detail you'll have much more problems later.

cripox
+1  A: 

Get a website that supports a lot of connections, see how they do things and you might understand where and when ajax is used. Start looking at StackOverflow for instance.

This entire site is serving 16 million pages a month and we are doing it off of 2 servers, which are almost completely unloaded. The Microsoft stack is a pretty good stack.

Joel Spolsky, StackOverflow.com

BrunoLM
A: 

AJAX is not a must for any website. But if your website has voting, save as favorite, or add to cart, etc ajax will definitely add value.

fastcodejava
+1  A: 

Form validation using Ajax is the way to go.

I hate clicking "Submit" only to have the page return in a few seconds saying my password is not strong enough or that user ID is already in use. It should be instantaneous while I'm filling in the fields!

As far as StackOverflow, I think it's great how when I click on "Show additional comments", I see the spinner and then they immediately appear. When I change the sort on the answers by "newest" say, I hate how the page refreshes.

Chris