Also, unrelated, but I feel like the GNOME 3 hate is really blown out of proportion. Sure, some users were driven away, but the exact same thing happened with GNOME 2 and people called it trash and crap and whatever else.
And they were right.
I have been using GNOME since GNOME 1 times, and I think for former GNOME users the GNOME 3 fiasco is not something unexpected, it is a logical outcome of the overall trend in GNOME development.
I remember Sawmill/Sawfish being replaced by Metacity, which even in the latest GNOME 2 releases was not able to do things which were supported in Sawfish since day 1 and still are.
I remember Galeon being pushed out of GNOME and replaced by Epiphany (seriously, did anybody used Epiphany?), and again, Galeon was more capable than Firefox (and of course than Epiphany, but no surprise here), until it bit-rotted enough to be removed from Fedora about year and half ago.
I remember GDM being rewritten for GNOME 2.20, omitting XDMCP support altogether (a display manager without XDMCP, would you believe that?) and removing the config file, in which the user previously could set his own X server options, allowing, for example, correct multi-seat support. Those features were promised to be added later, but they never were, with the notable exception of the XDMCP support. And guess what? GDM in GNOME 3 is said to support multi-seat, but it generates its own hard-coded xorg.conf for secondary seats somewhere under /run, and again there is no way to configure the xorg.conf for secondary seats.
So no, GNOME 3 has not been a surprise, at least for me. GNOME 3 has been a logical outcome of the general trend, which has been visible in the GNOME development for several years. That said, GNOME 2 was bearable for me for general use (with Galeon, xdm, and Sawfish). When GNOME 3 was released, I have finally switched to XFCE.