Compare with, for instance, Bill Gates, who has been claiming that speech recognition as a primary means to control computers is just five years away, for over twenty-five years now.
Any fool can make a very long list of predictions that will all turn out to be correct, even in the stock market, as long as he doesn't have to give them a timeline. Plenty of people saw the housing crash, for example, and plenty of them understood that certain banks were underwater, and regardless of their actions, they were going to go under. However, just knowing that isn't actually worth anything -- a short position carries a heavy premium in interest, and in the famous words of Keynes: "The markets can remain irrational longer than you can remain solvent."
Taking into consideration that these predictions are 5+ years old I think they are pretty good. He clearly spotted several trends whose future significance was at the time not obvious. If someone started a business believing one of these trends had promise it is possible that the business would have been successful. I do feel that for what he was trying to accomplish being early or late by a couple of years or off on a detail but correct in spirit is not significant.
Also, I think it is important to add that making predictions like these is very important becuase the future develops from our perceptions of what it will be.
But with technology predictions, there's an almost infinite set of outcomes, so being right in direction but not timing is significant. For instance, someone who says "Little Rock, Arkansas will win the Super Bowl within 5 years" will look pretty smart even if it takes 6 years for Little Rock to (very unexpectedly) get an NFL franchise and 9 years to reach the Super Bowl.
Granted, technology predictors can use also use some tricks to narrow the possibility space in their favor.
The point is that Steve's predictions are actually observable, though some of them are advancing at a slower pace than he thought (and a tiny bit different, like JSON instead of XML, which IMHO is irrelevant).
(but I agree with you :))
1. This one is so mushy, it's wrong just because of it. Substituting your favourite representation format (JSON instead of XML) doesn't make it any better or really anything to do with databases.
2. It's happening if you think EC2, Github and Heroku are somehow comparable. Also which one of these is making 'a lot of money' as predicted?
3. Your response doesn't actually address the prediction. Also, Clojure, Erlang, blah blah.
4. Just hasn't happened.
5. See above.
6. And Twitter and 'a new internet community hangout will appear' in 5 years is the most solid bet you can make on the internet.
7. It happened to be 5 years out or under. Oh well.
8. Nobody, statistically, pays Google for anything. Other than adwords.
9. Straight out wrong.
I think that easily qualifies for 'wrong on most of them'.
* XML is the most popular vehicle for representing loosely-structured, heirarchical data. Relational databases can't do this very well. ...XML can be mapped straightforwardly to the objects and data structures of modern programming languages, so it works better than relational modeling for serializing things like object graphs.*
While his estimate of market share is off (he suggested >50%), he was right about the future popularity of document databases. The only thing he got wrong was the specific serialization format.
I don't see how to interpret this as anything other than a document database. Could you explain to me?
"Prediction #1: XML databases will surpass relational databases in popularity by 2011."
It's still completely wrong. I don't see how to interpret it as anything other than wrong. Yes we can sift carefully through it to find some way in which it's kind of, maybe right, sort of. We're discussing Steve Yegge's actual predictions not whether filesystems or the Library of Congress are really a special case of document databases.
I think we should just agree to disagree on this one.
Your terms - json databases - do not have enough search volume to show graphs. http://www.google.com.au/trends?q=json+databases
OODB were all the rage a decade or two ago, and they solved the O/R impedance mismatch - but they didn't become mainstream. What has changed, that will make "JSON databases" succeed?
EDIT Actually, hierarchical databases were popular before Relational DB were invented, and then everyone switched. Why? Normalization of RDB is said to be important, but it seems little used in practice. It seems more a selling point, but it usually takes more than a good pitch to motivate deep organizational change (maybe it was different in those early days, when new installations quickly outnumbered old ones?)
It is because databases often outlive the application that created them. They also often serve more than one application, for more than one purpose (e.g. operations vs. business intelligence). For this, you need a data representation that is in terms of the data itself rather than the use. The problem with data structures in a programming language, such as objects is that they are designed in terms of their use; a data representation is chosen that makes sense for what you want to do with the data.
The O/R impedance mismatch is not just between "media" (objects vs. tables), but also between the specific representations chosen within that media. If you store your objects directly in a DB, your data is closely coupled to your use; the same problem occurs with OR mappers. I surmise that the advantage of relational over hierarchical databases was that they could better represent the data in terms of itself.
JSON databases will have the same problem - the data representation will be designed in terms the application that generated them, and this close-coupling will make it difficult to interoperate with a later application, and with other applications, with other purposes. The data representation will not be designed in terms of itself.
I think what Steve was referring to was people paying for hosted versions of specific pieces of open source software, e.g., a hosted version of SugarCRM, not the ability to run open source software in general.
It was still prescient though, because we're starting to see that. For instance, you can do this with Azure + SugarCRM.
XML has its roots in document creation for large organizations, and has a structure appropriate for that -- mostly an ordered graph of text nodes, which do not need to be declared (and indeed are not consistent between parsers), with provision for special node types with their own contents. But early in its history XML got hijacked by a lot of comp-sci theorists who wanted to create highly abstract notions of messaging, separating message validity and provenance from application logic. This gave the world things like XML Schemas and SOAP and worse.
Meanwhile, JSON is a straight representation of common scripting language data structures. Arrays, dictionaries. Simple. Node boundaries are syntactically explicit. In this philosophy is taken for granted that message validity will be ascertained at the application level. There are no fantasies of doing so at the document parsing level.
1. This is happening, just not as quickly as he thought, and with JSON. (XML Databases)
2. If you actually read what he wrote, this is obviously happening. EC2, Github, Heroku. (Open Source Hosting)
3. Using processes instead of threads is absolutely rising in popularity.
4. Off on the timing, but we are in the middle of an explosion of other JVM languages. The JVM has clearly established itself as the best way to launch a new language.
5. Off on the timing, possibly off completely. Clojure is gaining in popularity, which ties in with #4. (Lisp in the Top 10)
6. Facebook. This one was easy. (Community Hangout)
7. He was actually late on this one. iPhone obviously. (Mobile Computing 5 Years Out)
8. Google Apps. (I'll Pay Google)
9. Wrong literally, but if you take out netbooks, which weren't around, Apple sells the large majority of $1000+ laptops, and they obviously sell a ton of iPhones, which are just small computing devices. (Apple Selling Laptops)