It seems like he's still stuck thinking about computers the way he was many years ago. Wikipedia isn't amazing because it doesn't have a WYSIWYG editor and can't run code on the (very few) pages where that's even applicable?
He doesn't seem to get that what makes the web amazing is the data and people connected to it. That's generally far more interesting to users than novel interfaces or whiz-bang features.
Google, Facebook, Twitter, Wikipedia, Yelp, etc aren't technically all that interesting or innovative. They're infinitely more transformative than nearly all software that came before them though.
Not the GP, but the quote gives undue importance to a number of websites that have been successful. You have to consider whether some early software (say Unix and the C compiler) was more instrumental to the transformative effects of software on humanity, or say the software written Xerox PARC, or the original TCP/IP work.
It depends on your measure. It could be argued that it's not undue weight as these sites have impacted on such a massive proportion of the world's society. For instance, gcc and unix didn't allow for the sort of direct communication that twitter caused - look at the Arab Spring for example.
That the technologies you mention enabled the websites mentioned is not in doubt, but without the websites and related technologies would things like TCP/IP and Unix have had such an impact?
Seems that my comment is controversial as someone has voted me down. I'm curious to hear from opposing views - I love technologies like TCP/IP, gcc, Unix, C, etc. - but I think they wouldn't be much use unless they were used to enable applications like Twitter, Google, Nethack and Wikipedia.
I do want to clarify that I'm not saying that the underlying technologies aren't amazing.
I think the debate is whether TCP/IP would be useful without Google, or Wikipedia would have happened without TCP/IP. Personally I would say that IP changed the way people think about information, which made Wikipedia seem plausible.
He doesn't seem to get that what makes the web amazing is the data and people connected to it. That's generally far more interesting to users than novel interfaces or whiz-bang features.
Oh, the web has got plenty of whiz-bang features alright. My problem with it as a technology is that, compared to the Internet, it feels as an ad hoc concoction of such: clunky, buggy and a PITA to work with.
I shudder to think what my programming experience would be if the other layers in the stack (PC hardware, Unix, TCP/IP, etc.) were built the same way.
I shudder to think what my programming experience would be if the other layers in the stack (PC hardware, Unix, TCP/IP, etc.) were built the same way.
But it is!!
I'd speculate you just don't know it as well as you know web programming.
PC hardware.. do I really need to rehash the whole "the x86 architecture is horrible compared to Alpha/ARM/68000" discussion?
Unix.. The original "Worse is Better"[1] essay was written about how Unix beat Lisp machines because it was worse!
TCP/IP.. Well, there's that whole IPv6 thing where they try to fix some of the problems with IP[2]. Even that ignores many of the fundamental problems, though.
All software is hacky when you get close enough. Once it has been around long enough the terrible corners get broken off and people get used to the problems, and can't imagine another way.
I'd speculate you just don't know it as well as you know web programming.
My background is in systems programming and low level stuff; I've only been a web-programmer for two years.
I agree with your points; all those technologies are not perfect. Their limitations are mostly the result of unexpected explosive growth (the 640kb barrier, depletion of the IP address space, etc.) But they feel soundly engineered overall.
I just don't get the same feeling working with the web-related things (browsers, JS, AJAX, CSS, cross-domain policies and hacks to bypass them, etc, etc.). They all feel ad-hoc and it shows in the codebase I have to work with nowadays: it's often ugly, buggy and hard to maintain.
As a systems programmer, I've been amazed by the ingenuity of things like process forking, pipes, the proc file system, regular expressions, lexer and parser generators (the list goes on). But I can't remember a single web-related technology that made my jaw drop in amazement.
And I don't even want to get started on the difference in the quality standards and average mindset of hardware/OS design and web development (the whole "agile" and "extreme" programming thing and such).
The 'feel' so because you are made to believe so. We haven't seen anything else better in comparison. But those who have, talk about it.
>>As a systems programmer, I've been amazed by the ingenuity of things like process forking, pipes, the proc file system, regular expressions, lexer and parser generators (the list goes on). But I can't remember a single web-related technology that made my jaw drop in amazement.
Web means? Back end engineering is very much a part of the web. And the most of the things that you talk of like Parsing, regular expressions, pipes et al are all there in languages like Perl.
Perl is known as a the swiss army knife of the Internet.
Jaw-dropping for the wrong reasons IMO. Reinventing the virtual machine poorly in a web browser is an impressive feat given the technical limitations but what does that actually prove? The demoscene is far more impressive in that regard.
All of the companies you cite ARE technically innovative - Google created map-reduce (amongst many other things); Facebook stores, indexes and retrieve billions of images; Twitter contributed real-time graph processing (Storm) to the open-source world, and mostly solved fan-out on a massive scale; Wikipedia - well, it's Wikipedia, and it's done on a tight budget, to boot.
Everyone's standing on the shoulders of giants, but the idea that the contributions of top engineers and scientists today are somehow less than those that came previously is ridiculous - Kay seems hurt that people have taken the ideas and run with them, and doesn't seem to get that not everyone's as smart as him - and that's fine, we can still have something to offer.
Only if they also created a time machine, map and reduce are there in the Common Lisp spec from '84 and doubtless pre-date that by a decade or two.
mostly solved fan-out on a massive scale
Well, if you mean created a poor copy of what Teknekron (now known as Tibco) were doing in '86, and they were mainly commercializing research from the '70s.
It's worth noting that the Google "MapReduce" is not type equivalent to the map (roughly 'a list -> 'b list) and reduce ('a list -> 'b) found in Lisp and functional languages. It is actually in a way, an opposite. That is, the map (roughly 'a -> 'b list) in mapreduce is actually more like the dual/opposite of reduce (unfold). And reduce is well, a complicated beast.
I think - the ideas behind MapReduce are not difficult but nor are they necessarily inevitable. The innovative part of MapReduce is Google getting to a place such that the constraints force that approach as obvious. MapReduce is impressive.
Doing search well is really hard. Google's simple interface hides some incredibly challenging and innovative work. And not just search, it's the integration of all the pieces, like translate, maps, etc. I'm sure it increases world GDP.
As for for the others, yes technically they are just plumbing and their value is more of a social innovation and very important in that way.
GDP expands to Gross Domestic Product which doesn't make sense if you're talking about more than one country at a time, since most of that number will really be Gross Foreign Product :)
During the course of the interview, it was clear Kay was very much talking about computers as consumer devices. He's really fixated on making them far easier to interact with and giving them UIs that do not require users to adopt the computer user mindset to get work done. Getting around that need is part of his attachment to WYSIWYG, ease of use, simplicity of design, and the rest. That quest for ease of use was a theme present in many one-off remarks on unrelated topics and tangents.
Wikipedia is great as an information resource. But what does its format do that Gutenberg didn't do 400years ago? It has color pictures - that's all that separates it from a woodblock print encyclopedia.
It's running on a ####ing computer and yet can't use any of the features of that computer - just because the browser is an app and the job of the OS is to protect itself from apps
He doesn't seem to get that what makes the web amazing is the data and people connected to it. That's generally far more interesting to users than novel interfaces or whiz-bang features.
Google, Facebook, Twitter, Wikipedia, Yelp, etc aren't technically all that interesting or innovative. They're infinitely more transformative than nearly all software that came before them though.