Talk:Ajax (programming)
![]() | Computing Unassessed | |||||||||
|
![]() | Internet Start‑class High‑importance | |||||||||
|
![]() | Ajax (programming) was one of the Engineering and technology good articles, but it has been removed from the list. There are suggestions below for improving the article to meet the good article criteria. Once these issues have been addressed, the article can be renominated. Editors may also seek a reassessment of the decision if they believe there was a mistake. | ||||||||||||
| |||||||||||||
Current status: Delisted good article |
1, 2, 3, 4, 5 |
![]() | This article is substantially duplicated by a piece in an external publication. Since the external publication copied Wikipedia rather than the reverse, please do not flag this article as a copyright violation of the following sources:
|
Contradiction (number of server requests)
Rationale says: "The use of Ajax can reduce connections to the server...". Drawbacks says: "Ajax-powered interfaces may dramatically increase the number of user-generated requests to web servers...". Sounds like contradiction to me. —Preceding unsigned comment added by 173.164.68.209 (talk) 20:25, 2 April 2010 (UTC)
- Agreed, if used right (ie: serialized data such as JSON, XML, etc is returned from AJAX requests), there should definitely be less traffic, because you don't have to resend the entire document every time, just the relevant info.
AJAX or Ajax?
I have observed that recently Ajax was changed to AJAX.
What is correct? And why?
Mortense (talk) 17:16, 28 September 2009 (UTC)
- This was discussed here four years ago, and "Ajax" was voted for. There's one argument for calling it Ajax since that was the capitalization the term's inventor used. Then again, the company states on the very same page: "Neither the Ajax name nor the approach are proprietary". [1]. (And in the title of the page they call it "ajax" too..) So it's not a trademarked brand name like iPod for example -- it's merely a term for a concept. I think standard English and Wikipedia conventions on acronyms should prevail, unless we decide that because the letters are pronounceable as a single word, and due to the term's commonality, that it should stop being used as an acronym, like laser. In that case I'd favor calling it merely "ajax". Either AJAX or ajax would make sense, depending on how progressive we're being, but not "Ajax" -- it's not a proper noun. • Anakin (talk) 16:07, 1 October 2009 (UTC)
- Anyone else want to weigh in? • Anakin (talk) 15:16, 9 October 2009 (UTC)
- It is a shortcut and not an acronym and a word created and coined by J.J. Garrett, as "Ajax". But Microsoft likes to write "AJAX". Microsoft has invented XMLHTTP (now XMLHttpRequest), but not the Ajax term, and so they should not have any right to change the word! Macaldo (talk) 12:02, 13 October 2009 (UTC)
- It's Ajax, not AJAX. If you want to create a Wikipedia page to describe a word coined by someone, adhere to the original case and spelling, even if you don't like it. Deciding to edit the article to be AJAX instead of Ajax is like changing all references of Perl to be PERL or Pearl. 69.112.172.59 (talk) 03:01, 14 October 2009 (UTC)
- Anyone else want to weigh in? • Anakin (talk) 15:16, 9 October 2009 (UTC)
- This is different to a name like Perl. They would be brand names or trademarks, but this article isn't about one particular product or brand; it's about the concept/technique. That technique also existed long before it had this name — it's merely a convenience for us that we can now refer to it with just four letters instead of always explicitly explaining "asynchronous web page requests using JavaScript". Even if the original usage was intended to be a trademark and always refer to the specific definition the term's coiner gave it, its usage might fall under the category of genericized trademark, so I'd still favor either of the all-same-case spellings instead of "Ajax". Would you spell "Trampoline" with the capital T? Again, since this article is largely about the concept/technique, and not the name, all the more reason to adhere to standard English spelling rules, as either a word (ajax) or acronym (AJAX). In fact, if "Ajax" is a form of brand/trademark and thus should always be capitalized according to the rules of the coiner, then we have no business using it to title this article about the generic programming concept at all. It would be like titling "vacuum cleaner" as "Hoover". (This paragraph is very rambling; sorry; I believe it though.) • Anakin (talk) 04:58, 14 October 2009 (UTC)
- This was already voted on, and it's Ajax. You should never take it upon yourself to go against the community, and someone should not have to get a trademark in order to prevent such a mistake on Wikipedia. If O'Reilly did not have a trademark on Web 2.0 for their conference, would you be editing the Web 2.0 article to be web 2.0 throughout? I'm not going to spend my time debating this, just because someone is wrong on the Internet, but this issue has already been settled, and there was really no reason to bring it up again. Shiflett (talk) 15:03, 14 October 2009 (UTC)
- This is different to a name like Perl. They would be brand names or trademarks, but this article isn't about one particular product or brand; it's about the concept/technique. That technique also existed long before it had this name — it's merely a convenience for us that we can now refer to it with just four letters instead of always explicitly explaining "asynchronous web page requests using JavaScript". Even if the original usage was intended to be a trademark and always refer to the specific definition the term's coiner gave it, its usage might fall under the category of genericized trademark, so I'd still favor either of the all-same-case spellings instead of "Ajax". Would you spell "Trampoline" with the capital T? Again, since this article is largely about the concept/technique, and not the name, all the more reason to adhere to standard English spelling rules, as either a word (ajax) or acronym (AJAX). In fact, if "Ajax" is a form of brand/trademark and thus should always be capitalized according to the rules of the coiner, then we have no business using it to title this article about the generic programming concept at all. It would be like titling "vacuum cleaner" as "Hoover". (This paragraph is very rambling; sorry; I believe it though.) • Anakin (talk) 04:58, 14 October 2009 (UTC)
- A good blog post on the matter is here: [[2]]. Should the page be changed back from AJAX to Ajax? - SeanR (talk) 02:31, 26 October 2009 (UTC)
- Actually it looks like someone just did a search-and-replace to change everything to AJAX; this has led to incorrectly referencing citations. I have amended the references but not yet changed the use of the term throughout the entire page. - SeanR (talk) 02:45, 26 October 2009 (UTC)
- I have restored the page. The history seems to show that it was already made. Possibly my edits was made on a cached page? @Anakin: Ajax is not a technique, it is actually a concept and a set of techniques. As an acronym, it would not be suitable, because XML is not necessarily involved in Ajax, it may be replaced by other formats. Macaldo (talk) 08:24, 27 October 2009 (UTC)
- Actually it looks like someone just did a search-and-replace to change everything to AJAX; this has led to incorrectly referencing citations. I have amended the references but not yet changed the use of the term throughout the entire page. - SeanR (talk) 02:45, 26 October 2009 (UTC)
Archived
I archived a bunch of old conversation. Lot 49atalk 17:37, 27 November 2009 (UTC)
More code always means more potential loopholes
"Ajax opens up another attack vector for malicious code that web developers might not fully test for."
While technically true, I am not sure that it appropriately conveys information. It gives the impression that Ajax is somehow specifically insecure which is not really true. (please note that I said "gives the impression that" and not "says that") It's just that more code and more communication means more opportunities for bug and security vulnerability. I am going to modify this. Let me know if you feel my contribution is inappropriate. —Preceding unsigned comment added by PrometheeFeu (talk • contribs) 16:43, 11 December 2009 (UTC)
- I agree with this edit. However, reading it makes me think that exactly the same point can be made regarding usability and accessibility of Ajax apps, as well as this one on security. --Nigelj (talk) 17:10, 11 December 2009 (UTC)
- It is rather vague. What are there potential loopholes? Starting to live means that you have more chances to die. Macaldo (talk) 14:44, 16 December 2009 (UTC)
- "loopholes" - if i understand what is supposed to be meant by this: security vulnerabilities - if they exist at a higher level, also exist at every deeper level. likewise, if they do NOT exist at a deeper level, they cannot exist at any higher level. e.g. If there is a security vulnerability in AJAX, then there is one in java. if there is not one in java, then there is not one in AJAX. put more abstractly, higher programming levels are complete subsets of deeper levels, by definition. anything possible in them must also be possible in their supersets, by definition. and everything not in them cannot be in the subsets. by definition of sets. Kevin Baastalk 15:38, 16 December 2009 (UTC)
- Two problems there - Ajax uses JavaScript, not Java (programming language), and it is perfectly possible for any developer to create whole new security vulnerabilities by badly using an inherently secure programming language or technology. It's true that we don't have a list of what they might be here, though. Cross-site scripting or Man-in-the-middle attack opportunities? Certainly new Denial-of-service attacks. I don't know, I haven't researched it recently. --Nigelj (talk) 15:54, 16 December 2009 (UTC)
- "loopholes" - if i understand what is supposed to be meant by this: security vulnerabilities - if they exist at a higher level, also exist at every deeper level. likewise, if they do NOT exist at a deeper level, they cannot exist at any higher level. e.g. If there is a security vulnerability in AJAX, then there is one in java. if there is not one in java, then there is not one in AJAX. put more abstractly, higher programming levels are complete subsets of deeper levels, by definition. anything possible in them must also be possible in their supersets, by definition. and everything not in them cannot be in the subsets. by definition of sets. Kevin Baastalk 15:38, 16 December 2009 (UTC)
Deleted stupid sentence
"Because Ajax is used for very dynamic web content, Ajax is often closely used with several server technologies. Common are JavaServerPages, LAMP and ASP. These technologies permit quick access to the information demanded in an interactive Ajax driven page."
This is why the sentence is stupid:
Reads like: "Because Gas is used for Cars, Gas is often closely used with several transportation technologies. Common are Tractors, Trucks and Busses. These vehicles permit quick access to the Internal Combustion Engines demanded in an interactive Gas driven vehicle." —Preceding unsigned comment added by 69.243.185.240 (talk) 18:39, 16 January 2010 (UTC)
- Useless sentence, actually ;) Macaldo (talk) 07:30, 19 January 2010 (UTC)
Just so I don't die dumb...
What exactly this sentence do in the History section of the article?
"Ajax is Developed by RONSON In 1989."
Maybe I'm the idiot, but as far as I remember the DOM didn't even exist back in 1989 so then AJAX couldn't exist either. —Preceding unsigned comment added by Methode (talk • contribs) 09:02, 16 February 2010 (UTC) Methode (talk) 09:04, 16 February 2010 (UTC)
- It was vandalism by User:59.90.34.199. I've reverted it. Mindmatrix 15:13, 16 February 2010 (UTC)
Cheers! Just read your User page, Mindmatrix. You have an interesting history :) Methode (talk) 20:14, 14 March 2010 (UTC)
Why does "language detection" redirect here?
I'm looking for information about software that guesses the language of a string of text. Can't figure out what AJAX has to do with this, although I'm sure there is some language guesser with an AJAX interface out there. --68.32.37.109 (talk) 22:18, 18 February 2010 (UTC)
- You're right. I couldn't find any actual content about language detection in wikipedia so I redirected it to Computational linguistics. It should really be an actual page rather than a redirect though. TimmmmCam (talk) 12:50, 19 February 2010 (UTC)
Suspicious sentence, suspicious citation
I don't know from Ajax, but it seems to me that this sentence found in the article header is out of place: "If ajax is not happy its AI is activated.[3][4]" It's either an out-and-out practical joke, or a poor description of some software behavior which should be re-phrased and / or moved to a position further down in the article. Also note the lack of capitalization of Ajax.
Citation 2, "ijijij" or something similar, also seems to have something wrong with it. To the naked eye, it's not a citation which makes any sense.--Krnntp (talk) 18:06, 15 March 2010 (UTC)
Garrett vs Greg Aldridge of Kokomo, IN.
I have removed the following statement:
- While the term "Ajax" is credited to Garrett, a patent application covering this type of user interface was filed on September 3, 2003, thus predating the term itself by two years. This application resulted in US Patent #7,523,401 being issued to Greg Aldridge of Kokomo, IN.
The reason is simple: if this is true, it must have been discussed by reliable, secondary sources. In that case, we must have citation(s) to such discussions. It is not to be expected that a Wikipedia reader should find a patent (without even a URL), read it and decide for him/her self if what is described in 'patentese' actually amounts to some modern definitions of 'Ajax' or not. Relevant policies and guidelines include WP:V, WP:RS, WP:PSTS, WP:OR and WP:SYN. In other words, just about all of the important ones. --Nigelj (talk) 18:48, 28 March 2010 (UTC)
- Well, I see we now have a URL for the 'patentese' - the diagrams of which won't display on Firefox due to 'missing plugins' (some irony here?) - but no engagement here on the Talk page. Secondary sources are still required for such an extraordinary claim. It is extraordinary as, if it is true, then all current Ajax websites must be taken down from the web until patent fees have been negotiated and paid to Mr Aldridge. This would be a major upheaval, which I don't see happening in the real world. --Nigelj (talk) 19:15, 28 March 2010 (UTC)
- Since, from the above logic, Mr Adridge is about to become one of the most wealthy and influential men in the world, this Google search seems unlikely. It appears that this article is Google's only known source for this extraordinary information. --Nigelj (talk) 19:22, 28 March 2010 (UTC)
While I appreciate the obvious passion for the subject matter at hand, there are several misconceptions in the argument presented by Nigelj. First, it is unlikely that there would discussion around a patent unless there was an infringement case brought. There is no cause for random dicussion of patents. Second, the writer asserts that the validity of the referenced patent automatically infers that all web sites referring to Ajax would have to be removed. This is most certainly not the case. It is at the sole discretion of a patent holder as to whether to pursue litigation relating to alleged infringement. Further, discussing a patented user interface would not constitute infringement as the patent is published by the USPTO and avaialble for anyone to read and discuss. It would be the USE of the patented information in developing a software product that would result in infringement. Finally, even where infringement occurs, there is no guarantee that the holder will pursue litigation. Such litigation is generally very costly and if the infringing party is a large entity the battle can be very protracted. In such cases, the larger entity often wins by brute force as the smaller entity is not able to continue to finance the case. It is also important to notice that in this particular case, the inventor assigned the rights to an employer, and so has no individual right to pursue litigation even if warranted.
I am quite open to hearing a rational rebuttal, preferrably from a source with substantive knowledge of intellectual property law. —Preceding unsigned comment added by Seriouswikifan (talk • contribs) 01:08, 31 March 2010 (UTC)
- The XMLHTTP object, that is really the main part of Ajax, was implemented by Microsoft in 1999. For the other parts, there are JavaScript, DOM, CSS that are not patentable. I wonder how a patent on Ajax could be valid. And also keep in mind these patents are only applicable in USA and some other countries. Macaldo (talk) 08:03, 10 April 2010 (UTC)
The flaw in this reasoning is the notion that each part must be separately patentable. If this were the case, it would render the vast majority of patents void. The utility patent in this case was granted based on the novel use of these parts in COMBINATION which is, of course, what creates the usefulness. The final test is that it must be non-obvious. This is determined by the patent examiner and clearly the test was passed as the patent was issued. Regarding the fact that the patent is valid only in the Unites States, this fact should be self-evident as the text reads "US Patent #7,523,401" Seriouswikifan (talk) 02:38, 13 April 2010 (UTC)
A problem with this patent is that there is previous work. The article itself states that Outlook web access used Ajax techniques back in 2000. Also, DHTML was somewhat popular back then and iframes were used before XMLHttp was available. The combination was occurring, just not labeled. Programming techniques such as this one are a soft spot in the US patent system and the examiners may not know what to look for. —Preceding unsigned comment added by 173.14.55.209 (talk) 13:49, 8 June 2010 (UTC)
First example of asynchronous javascript
Where is the first publication of asynchronous javascript?
I created a changeScript function, which I use alot, which does this type of thing. I first published it in 2003, which beats Jesse James Garret's publications by 2 years. Here's a link to the page, written on a forum I was a member of, and still am.
http://www.sitepoint.com/forums/showthread.php?t=135179
In fact the first discussion even beats the application for the patent by a few months. "US Patent #7,523,401 being issued to Greg Aldridge of Kokomo, IN."
- Forums do not usually meet WP:Reliable sources guidelines. You need independent 3rd party sources. OhNoitsJamie Talk 18:23, 19 June 2010 (UTC)
How about the web archive? http://web.archive.org/web/20041102235330/http://www.sitepoint.com/forums/showthread.php?t=135179Markdidj (talk) 19:46, 19 June 2010 (UTC)Markdidj
Here are some other threads on the same topic, which predates the above. The first even predates the patent application.
Discussing loading Javascript after page load http://www.sitepoint.com/forums/showthread.php?p=882531 13th August 2003
Discussing Caching of js imported after page load http://www.sitepoint.com/forums/showthread.php?t=128223 13th September 2003 http://web.archive.org/web/*/http://www.sitepoint.com/forums/showthread.php?t=128223Markdidj (talk) 19:46, 19 June 2010 (UTC)Markdidj
I have also copywritten it using the poor man's copyright, but didn't get that done until 24th November 2005Markdidj (talk) 19:46, 19 June 2010 (UTC)Markdidj
- Please read WP:Reliable sources, specifically WP:SPS. Forums are rarely appropriate for verifiability. OhNoitsJamie Talk 18:43, 20 June 2010 (UTC)
Thankyou itsJamie. I read the guidelines. That does not change the fact I was using live asynchronous javascript before these people say they invented it. I understand why forums are rarely appropriate as I could have written the forums myself and set the dates to whatever I wanted. I can assure you I have no connection whatsoever to Sitepoint, and I do not have any connection to archive.org. Surely an archive of a forum is indisputable?Markdidj (talk) 19:24, 20 June 2010 (UTC)Markdidj
- The bottom line is that you can't use Wikipedia to establish a new fact (see our original research policy); it has to come from a 3rd party source that meets our reliable sources guidelines. In other words, you'd have to take up your claim with a programming journal/magazine, or something similar. OhNoitsJamie Talk 19:42, 20 June 2010 (UTC)
- (e/c) Actually, what we work from is secondary sources. Forums threads and patent applications may constitute primary sources to someone doing original research into (or building a legal case about) the origins of Ajax. Wikipedia is not the place to develop or first-publish this research. I do not agree with the inclusion of the primary-sourced stuff about that patent, and I do not want to see any more "I did it first" claims published here. If enough reliable secondary sources, such as books and articles with well-known and trustworthy editorial processes behind them, start to publish this stuff, and those publishers' lawyers are happy with the claims made therein, then we can include them here. In the meantime, the patent claim should be removed from the article and the present first-person claim left out. If any of these people have reliably published, third-party verification of their claims, let them present them here before we take up their causes for them. --Nigelj (talk) 19:48, 20 June 2010 (UTC)
- Even if these claims are true, and are not just attempts to bolster peoples' CVs, then we still have WP:N - if they are not notable enough to have been published in a single WP:RS reliable source, then they are not important enough to appear in a major Wikipedia article either. --Nigelj (talk) 19:54, 20 June 2010 (UTC)
Thanks for the bit of information. I am not claiming Ajax to be mine or that I did it first. I do not use XML in my live asynchronous javascripting. For me there was a much easier way, that I called Livescript. I know the word Livescript had already been used, but when I researched it had not been trademarked. The functions could do both synchronous and asynchronous javascript. I used the phrase Livescript: Putting the 'live' back in to JavaScript. (http://web.archive.org/web/20050507093322/http://www.unitingrhythms.co.uk/web/livescript/)Markdidj (talk) 00:22, 21 June 2010 (UTC)Markdidj
Other Possible Drawback
The Drawbacks section currently doesn't mention that it's more difficult for users to tell what client-server interaction is taking place in the background, and the possible privacy implications this has. Two examples are recording text selections and following mouse cursor movements. Do you folks agree we could add something about this in the article? --82.171.70.54 (talk) 02:30, 15 August 2010 (UTC)
That's a problem with Javascript specifically, not AJAX. A non-AJAX site could still collect that information and send it next time you POST. --174.95.147.63 (talk) —Preceding undated comment added 17:03, 24 October 2011 (UTC).
CSS ?
"Ajax uses a combination of HTML and CSS to mark up and style information." Does not Ajax use a combination of HTML and JavaScript to retrieve and display information? CSS is used to stylize the information once retrieved but it has nothing to do with AJAX. --1215drew (talk) 00:41, 21 September 2010 (UTC)
- It is one of the technologies that are parts of Ajax. Macaldo (talk) 11:16, 6 November 2010 (UTC)
- Agree, CSS itself has nothing to do with Ajax. JavaScript does not directly manipulate CSS (although I guess it could, but we're not here to discuss theoretical situations). — FatalError 02:54, 6 December 2010 (UTC)
- "Defining Ajax. Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates: * standards-based presentation using XHTML and CSS;" etc... by J.J. Garrett. Macaldo (talk) 17:53, 11 December 2010 (UTC)
Confusing paragraph
Hi, maybe it's just me but I find this paragraph very hard to understand:
"Basic Ajax involves writing ad hoc JavaScript in Web pages for the client. A simpler if cruder alternative is to use standard JavaScript libraries that can partially update a page, such as ASP.Net's UpdatePanel. Tools (or web application frameworks) such as Echo and ZK enable fine grained control of a page from the server, using only standard JavaScript libraries."
What does "ad hoc" mean in this context? If this is "basic" Ajax then how is it that the alternative is even simpler? In what sense are standard JavaScript libraries "standard"? Is "standard" here opposed to "ad hoc"? How is "partially updating a page" related to all this? Does it make sense to say that a library partially updates pages? Does this make it more standard? Is ASP.Net's UpdatePanel a JavaScript library? It sounds more like a function (maybe part of some library). I don't understand the last part either, but that's probably because the first part is so confusing that I get completely lost and don't even know what we are talking about. How does control from the server allow using only standard libraries on the client?
Does anybody else think this paragraph is unclear or is just me, possibly because of my ignorance on the subject?
thanks, m. Matteosistisette (talk) 19:23, 7 November 2010 (UTC)
- You're right, that paragraph doesn't make sense, even to me (and I'm a web developer). It seems out of place, too. I'll probably just get rid of it, unless the author of that paragraph wants to explain what they were trying to say. — FatalError 02:51, 6 December 2010 (UTC)
"Drawbacks" section
Been a while since I've actively participated in Wikipedia. I say we remove the Drawbacks section of this article and fuse the important parts with the rest of the article. At present, the section offers nothing to the article, and most of the points are such trivial issues that I don't think they should even be mentioned in the first place. It is currently nothing more than a list of unsupported rants. Most of the points aren't even drawbacks of Ajax, or have very easy solutions. There is no point in having an entire section dedicated to drawbacks, and instead, any notable issues with Ajax techniques should be noted within the body of the article. I'll wait to hear any comments/objections before I do this myself. — FatalError 23:01, 21 November 2010 (UTC)
- It is rather strange that the list of drawbacks is bigger than the rest of the article. Ajax has its disavantages like any technology, but no more. I suggest the list to be reduced to what is really related to Ajax, at least. The drawback of the entire removal is that the article will become so short! Macaldo (talk) 14:06, 25 November 2010 (UTC)
- And thanks you to have added back the link to the list of frameworks. Macaldo (talk) 14:08, 25 November 2010 (UTC)
- There's also WP:CRITS. It might be worth pruning it and trying to integrate important points into the main text, where solutions can also be discussed at the same time. --Nigelj (talk) 16:25, 25 November 2010 (UTC)
- Agree with Nigelj: not one of the points mentioned is notable enough to warrant having its own section. The info should be mentioned within the text of the article, not by itself. I've had a busy week but I'll see if I can start working on this sometime during this coming week. — FatalError 02:39, 6 December 2010 (UTC)
- There's also WP:CRITS. It might be worth pruning it and trying to integrate important points into the main text, where solutions can also be discussed at the same time. --Nigelj (talk) 16:25, 25 November 2010 (UTC)
Microformats
AJAX has several micro formats which aren't included in the article:
- AHAH (asynchronous HTML and HTTP)
- HAJ (HTML And JavaScript)
- JAH (Just Asynchronous HTML)
Smallman12q (talk) 13:52, 27 November 2010 (UTC)
- The term "Ajax" encompasses all of these; I don't see why we should list every combination of technologies that can be used for it. — FatalError 02:42, 6 December 2010 (UTC)
External links, contains spam?
The link named "Ajax tutorial" is everything but not the Ajax tutorial.. It's a website/forum with topics like: psychopath: do you approve? Does anyone here play Minecraft? Christmas, exclusive for Christians? ... —Preceding unsigned comment added by Burek021 (talk • contribs) 16:30, 2 December 2010 (UTC)
Acronym
Some inconsistance: The term Ajax is an acronym to "Asynchronous JavaScript and XML", said the article with a reference to J.J. Garrett'page. The page in reference says: "The name is shorthand for Asynchronous JavaScript + XML". So we must either change the article(I did it previously, it was reverted) or remove the reference. Macaldo (talk) 12:23, 19 August 2011 (UTC)
- Seriously, this again? What is the difference between a plus sign and the word "and"? — FatalError 05:42, 10 January 2012 (UTC)