Who's idea was it, and who built it? While history generally gets rewritten towards a simplified, single-victor model (e.g. Edison and electricity, Ford and assembly lines), there is no simple answer to this because the need for a scripted way to load and consume content was very widespread. There were a number of solutions at the time. The most prevalent was simply having a hidden iframe (which actually worked quite…
Yeah, dont credit Apple for ipod, iphone or ipad, dont credit Mark Zukerberg for social networking, Bill Gates to bring philanthropy to main stream, a government to find the terrorist of Boston attacks, It was all inevitable!
Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
31–40 of 59 posts
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#32Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#33Earlier quoted context omitted.
Credit is absolutely due for using the monopoly distribution of Microsoft (that is not a slur, but it is simple truth that such components from other vendors could not have the same impact) to essentially sneak a simple HTTP ActiveX component through in the MSXML library, making such dynamic web tasks simpler. Credit is also due to the people who developed and implemented COM and ActiveX and safe-for-scripting (all h…
[deleted]
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#34It would be remiss to not mention Shawn Bracewell in the discussion. According to Alex Hopmann, Shawn was responsible for adding asynchronous support: "Step one was to bring the code up to production quality so we got Shawn Bracewell, one of the devs on the OWA team to take it over. Being a smart guy he promptly threw away all of my code and rewrote it in a more solid fashion, adding async support, error handling and…
Jim's remarks here are a little over the top. At KnowNow in 2000 we were asynchronously getting data from the server and preserving document state on the client by implementing Comet in in Netscape 4 (and IE 4), by using a frameset with zero-height frames. These days long-polling frames that finish loading when there's an event are more common, but we were using endless HTML documents that would get a tag added when there was an event. The tag would invoke top.somethingorother(data). A second invisible frame was used to send data back to the server as HTTP POSTs.
We had a bunch of bodgy code to handle the case where you have several windows open doing Comet to the same server, ensuring you only ever have one persistent connection; otherwise the two-connections-per-server limit kicks in, and the page stops loading forever. It's more sensible to use wildcard DNS to circumvent this restriction.
XHR is a much saner way to do AJAX, and Websockets are a much saner way to do Comet, but you can do AJAX and Comet without them. XHR didn't "change everything" and "put the 'D' in DHTML". It just made it more convenient.
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#35I'd like to know the first guy to send json over the wire starting the ajax craze.
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#36I'd like to know the first guy to send json over the wire starting the ajax craze.
JSON is great for sending javascript objects over the network. However, the way most people use it, they'd benefit from switching to CSV files instead. JSON has a lot of overhead (each instance of each object has to have a name), but it's better than xml.
CSV is still probably more compact than JSON even when compressed, but the difference isn't nearly as much as you'd expect from the raw textual version.
Of course it gets expanded back to the full text in the browser, but that gets parsed and discarded right away.
When I read CSV in JavaScript, for convenience I usually end up converting it to in-memory objects that resemble the JSON object that I would have downloaded otherwise. So at least in that case there isn't much difference in memory use either.
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#37I'd like to know the first guy to send json over the wire starting the ajax craze.
The Ajax craze was, of course, with XML (ie, the X in Ajax). JSON is certainly a more pleasant format to work with but not a huge leap over XML. But it was lame that XML was melded on such as it was.
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#38Earlier quoted context omitted.
Wow everybody serious on ycombinator. Can't even make a joke about Al Gore anymore.
It's not that everyone's serious, it's that this community's greatest fear is that HN will get overrun by frivolous comments and other weeds. As a result, one of the tradeoffs that's evolved is that people reflexively downvote jokes. (Non-funny jokes get hammered particularly hard.) It's best not to take it personally and work on one's noise/signal ratio.
It's a dreary business trying to analyze humor, even more so to analyze what kind of humor plays well at Hacker News, but I'd say the more original the joke, and the more the joke makes you think afterward, the better it will do.
As an aside, my goodness, this is such an HN comment.
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#39Who's idea was it, and who built it? While history generally gets rewritten towards a simplified, single-victor model (e.g. Edison and electricity, Ford and assembly lines), there is no simple answer to this because the need for a scripted way to load and consume content was very widespread. There were a number of solutions at the time. The most prevalent was simply having a hidden iframe (which actually worked quite…
Re: Ask HN: Who built XMLHttpRequest at Microsoft in 1999?
#40I'd like to know the first guy to send json over the wire starting the ajax craze.
JSON is great for sending javascript objects over the network. However, the way most people use it, they'd benefit from switching to CSV files instead. JSON has a lot of overhead (each instance of each object has to have a name), but it's better than xml.
Example (CSV):
name,age
James,32
Nina,10
Helga,90
JSON: {"fields":["name","age"],
"content":[
["James",32],
["Nina",10],
["Helga",90]
]}
Don't tell me it's harder to parse, cause you'd have to do the index→fieldname conversion in CSV too.