> 1. Coding before designing (Diaspora should: separate code from
> protocol )
IMO, the biggest mistake other distributed social networks have made
is designing before coding. Social software is...social. You can't
divorce the protocol from actual usage, so you need to *have* actual
usage before you know what the protocol should be. And in order to get
usage, you need working software.
> 2. Trying to reinvent Facebook (Diaspora should: innovate on different
> features, not play catch-up)
This is not a software development issue.
> 3. Building a new social graph (Diaspora should: Hook into existing
> groups of friends)
I kind of agree with this. But there's time. It's important to have a
working basic system before expanding.
> 4. Building a product (Diaspora should: design a protocol, build a
> tools and foster an ecosystem that enables others to integrate)
Totally missing the point. Designing tools and an ecosystem cannot
come before actual product usage, because until you have usage, you
don't know what tools will be useful. And you can't sustain an
ecosystem without ... having an ecosystem. And you get an ecosystem by
having people actually USE your software.
I value diaspora and the efforts put forward by the team and community
and especially the hype that has brought attention to distributed
social-networks in general. Let's not reinvent the wheel and make
anyone who wants to collaborate have to wait for a protocol to evolve
from this project. I fear continuing to do so will only further
fragment the project and render one of the best features of
distributed social-networks, federation, ineffective.
Spiral
To create a new one from scratch makes you less of a team player. Do
we want Diaspora to talk to other diaspora seeds/pod only or do we
want to be able to speak to other apps?
Forgive me for saying so, but it seems most of the resistance to this
idea comes down to:
A) It's too much trouble to learn how XMPP works
B)We're already creating our own protocol from scratch.
My answers to that:
A) That depends on what you consider "too much trouble". I rather
enjoy learning about protocols from reading a clearly written, mature
spec. It can't be too difficult if Diaspora-X already exists. Some one
is doing it already.
B)There are already several other communities working on projects that
use XMPP. Not only can they help with this, they can be part of the
same federation of social networks as Diaspora. Connect with
communities to create new communities and community tools.
The XMPP community has large players, like Google and Twitter behind
it. Even if Diaspora's protocol is "better", it is going to take at
least months of iterations just to catch up to anything that is as
well tested and spec'd as XMPP. Then you have to convince others to
use this protocol as well. All of this paints Diaspora into an
interoperability corner.
So a fork exists. I would love to see the two duke it out and may the
best implementation win. Diaspora-X may take a lead if people can
start making additional apps that can work with it sooner than the
main branch.