It's nice to see overhauling the user interface, but in my opinion, the biggest problem of GNOME is under the bonnet. They need to modernise GTK+ and first and foremost start with the programming language in use.
There are endless debates on this subject. It all boils down to statements like "you can do with C anything you can do with any other 'modern' language" and "you can use one of the many language bindings if you wish".
statement 1: It is very frustrating to hear such a statement, especially from veterans. The expressiveness of a proper OOP is unmatched by any GObject hacks.
statement 2: Bindings are usually out-of-sync, but most importantly they merely expose the GTK+ API to the language, rather than integrate with it (i.e. take full advantage of the design paradigms the language brings). Take a look at Ruby and Python bindings for instance.
The KDE guys went with C++ and at the time it was a reasonable choice. Although, better than C, not being dynamically bind means they had to resort to their own little hacks (signals, slots, object-properties, etc with moc)
In my opinion, a modern Desktop/Application environment should be build on a dynamically bind language(e.g. Objective-C). I would go as far as saying, interpreted as well (Ruby, Python, etc)...