The main reason I am a vocal critic of Diaspora is that I would really love to see it succeed, or something like it.
I have seen a lot of criticism of the specific implementation problems. Again those can be easily resolved through the open source process.
But, we simply do not need yet another implementation of a specific feature set of a distributed social network; We have tons of those, there have seen tons of those for a very long time. The problem is that they are not interoperable, and when they do leverage some existing interoperability standards the feature set is always to narrow, or they expose real problems.
There is a second problem that must be addressed which is the result of Metcalfe's law stating that the value of a telecommunications network is proportional to the square of the number of connected users of the system (definition from wikipedia). This is compounded by the fact that many of the implementations including the Diaspora one present a much higher entry barrier then the hosted big proprietary counter-parts;
What we need is a protocol, some libraries to make it easy to integrate the protocol, and many many different implementations in many many different languages, with different feature sets. And the interoperability we need must take into account Metcalfe's law: this means we need to integrate "the internets", the current technology stack and systems people already use to the grand scheme. You should not be required to host your own seed, or have some hosting company host your "profile" to be able to participate at least to some degree.
The protocol we come up with should be able to cater for as many use cases as possible and present some guarantees in terms of privacy, control and ubiquity.