3 ms·
I was hoping for a little more detail around the beginnings of AJAX. I know it was added to IE to support Outlook in IE but I thought Maps was the first big use
by th0ma5 7y ago
I was hoping for a little more detail around the beginnings of AJAX. I know it was added to IE to support Outlook in IE but I thought Maps was the first big use of it outside of Outlook.
- harryh 7y agoGMail was a heavy AJAX user and predated Google Maps.
- greggman2 7y agoOddpost predates GMail and was heavy AJAX. Was bought by Yahoo to become Yahoo mail https://en.wikipedia.org/wiki/Oddpost https://en.wikipedia.org/wiki/Oddpost
- gcb0 7y agoI was hopping for any detail. The ajax part was not that innovative. As with every product that succeed, the content was awesome. How did a startup with 2 people living "out of maxed out credit cards" in early 2000s even acquired mapping data in the first place?
- anon1m0us 7y agoWhenever people talk about how IE ruined the internet, I think about AJAX. I actually thought IE was great for the web. A poignant example I remember was, if you got a /TR /TD out of order, Netscape wouldn't show the web page at all. It'd work fine in IE though. IE just made it so much easier to move fast in web development. People blast IE, but I really don't think the web would be as good as it is today without it. Contrast that with what Chrome has done to the web. Not good.
- SquareWheel 7y agoAJAX is the one feature people can point to as something good that came from Internet Explorer. That and maybe their take on the box model. But virtually everything else they got wrong. Worse yet, they got complacent with their lead and web development stalled for years as a result. Other browsers have done far more to get us to where we are. Chrome introduced a modern security model and many useful APIs and protocols (including HTTP/2). Firefox popularized the concept of browser extensions and developer tools like Firebug. Safari made much possible by opening WebKit, such as Chrome and mobile browsers. Opera invented half of the original browser concepts including tabbed browsing. AJAX was largely responsible for the initial push to modern, dynamic websites, but it doesn't score enough points to make Microsoft the good guy in this history.
- jraph 7y ago> Safari made much possible by opening WebKit Just to give credit where it is due: they had to, since they used KHTML, under LGPL, a pretty good browser engine at the time.
- shantly 7y agoAJAX has been bad for the web. Letting Javascript make requests without explicit user action & vetting of whatever it's sending is basically the reason the web's so messed up and user-hostile.
- anon1m0us 7y agoall this could be done without AJAX. Just loading a javascript file would enable this. Prior to AJAX, sending info was done by loading a "transparent.gif?value1=x&value2=y&value3=z" It's not technology that has ruined the web. It's greed.
- shantly 7y agoEven the earlier methods required JS to be able to trigger requests not explicitly intended by the user. And at least they usually fired up a loading bar at the bottom of the browser, so you could tell shenanigans were happening. AJAX made that cleaner and broadened its use, but yes, you could already make requests with Javascript that the user didn't want you to or didn't care to make for any purpose of their own.
- patsplat 7y agoAlso css, early on. Anybody remember LAYER tags?
- Lt_Riza_Hawkeye 7y agoAJAX's origins are actually really cool. It started before XmlHttpRequest. If I recall correctly, when the user took an action that required a server response, the javascript would make a 1px by 1px iframe and load it to a specific URL with the important information in the query parameters. The response would look something like this <html> <head> <script> someGlobalFunction({ searchResults: [ {"name": "Joseph Paul"}, {"name": "Joe McCray"} ] }); </script> </head> </html> Then once the iframe was loaded, `someGlobalFunction` would handle the results and update the page.
- noodle 7y agoXML Data Islands were also an early version of XHR that MS introduced in the late 90s. It allowed you to load XML sort of like an image, and then hook into the loading events .
- smarterclayton 7y agoA lot of early web apps heavily abused this pattern - I worked on a web framework that used iframes to manage widget state, and of course at that time everyone had to support IE5 and 6. But those browsers by default had this charming noise (an audible click) every time a page loaded or iframe loaded. When you would click a widget button you’d here this curious storm of clicks as the iframes all reloaded. That culminated in a super awesome bug called “The Click of Death” where sometimes on IE6 you’d click an interface element, hear a huge train of clicks, and then ominously, it would fall silent and IE would freeze (hard lockup, no browser interaction possible). Turns out we were deadlocking on CSS and JS loads in those iframes - IE6 only allowed two simultaneous connections, and if you got out of order you couldn’t load an iframe because the connections were waiting to clear the CSS item the JS needed to load.
- reaperducer 7y agoBut those browsers by default had this charming noise (an audible click) every time a page loaded or iframe loaded. When you would click a widget button you’d here this curious storm of clicks as the iframes all reloaded. Wow. I'd forgotten about that. And all these years later, now I know what was going on.
- jasonkester 7y agoNah, the idea of realtime communication between browser and server is as old as javascript. I implemented my first version in 1997, using hidden iframes loading scripts, but I don't imagine I was the first to do so. Relevant to the article, I actually also implemented a draggable map that loaded tiles dynamically on demand for a little failed outdoor startup in 1998. The limiting factor back then was actually the server. You just couldn't store enough tiles on the drives of the day, or generate them fast enough from gis with the machines available. The thing would work nicely, so long as there was only one person using it. ...which isn't really the sort of scale one would wish for in a web app.
- sk5t 7y ago> The limiting factor back then was actually the server. Do you still feel confident that the server was an unsolvable limit? Like, the expectations for map resolution were not all that lofty in 1997, and it's still today pretty common to precompute tiles at different ranges/scales.
- reaperducer 7y agoSounds like a capacity issue. How many tiles can you store on a hard drive with a maximum capacity of about 6GB? Especially at 1997 prices.
- sk5t 7y ago6GB doesn't sound untenable if one were to store map/graph data in some optimized text or vector form, rasterizing tiles as needed with a cache mixed in. Maybe keep the 20-mile tiles hot all the time... I guess this depends on the geography covered and use case though.
- reaperducer 7y agoStill, think of the expense. Plus you need at least second for backup. And probably a whole bunch of them in production to handle many users. Think about the web in 1997, before "scalability" was even a word.
- umeshunni 7y agoAlex Hopmann (Creator of XMLHttp) used to have a blog post on his site about the history of Ajax. Looks like his site is offline now, but here's an archive: https://web.archive.org/web/20170424220609/http://www.alexhopmann.com/xmlhttp.htm https://web.archive.org/web/20170424220609/http://www.alexho...