diaspora search

17 views
Skip to first unread message

Drew

unread,
Sep 16, 2010, 4:34:55 PM9/16/10
to diaspora-discuss
Hey this is probably an obvious question but I can't seem to find the
answer anywhere in any diaspora information or discussions, so I'll
just go ahead and ask. How do you guys plan to be able to field
searches for users in diaspora?

Cheers,
Drew

Anders Feder

unread,
Sep 16, 2010, 5:12:08 PM9/16/10
to diaspora...@googlegroups.com
I don't think this is an obvious question. I don't know what the team's thinking is, but my opinion is that it would be best left to professional search engines like Google. I mean, if you search for someone on Google, their Facebook page often come up among the top results anyway. There is no reason to believe that this could not be the same for Diaspora, so why reinvent the wheel? People just have to take a little extra care to include enough information on their profile page to make it possible to discriminate between themselves and other people with the same name. Alternatively, you can have a blog or similar with enough information to put it among top results that links to your Diaspora account.

Anders Feder

2010/9/16 Drew <adw...@bine.ca>

Drew

unread,
Sep 16, 2010, 5:27:29 PM9/16/10
to diaspora-discuss
Ummm... I'm pretty sure that can't be the answer. Let's break it down
to the base case then. How do you locate friends to add? Surely
diaspora can't rely on Google search to be able to add friends.

~Drew

On Sep 16, 6:12 pm, Anders Feder <anders.feder...@gmail.com> wrote:
> I don't think this is an obvious question. I don't know what the team's
> thinking is, but my opinion is that it would be best left to professional
> search engines like Google. I mean, if you search for someone on Google,
> their Facebook page often come up among the top results anyway. There is no
> reason to believe that this could not be the same for Diaspora, so why
> reinvent the wheel? People just have to take a little extra care to include
> enough information on their profile page to make it possible to discriminate
> between themselves and other people with the same name. Alternatively, you
> can have a blog or similar with enough information to put it among top
> results that links to your Diaspora account.
>
> Anders Feder
>
> 2010/9/16 Drew <adwo...@bine.ca>

Sadiq Saif

unread,
Sep 16, 2010, 5:30:15 PM9/16/10
to diaspora...@googlegroups.com
I believe something like Facebook's Mutual Friends is a partial answer to this problem.


Sadiq S
mailto: sadiq...@gmail.com
Blog: www.staticsafe.me
Twitter - www.twitter.com/staticsafe
Facebook- www.facebook.com/static.safe

Anders Feder

unread,
Sep 16, 2010, 5:31:04 PM9/16/10
to diaspora...@googlegroups.com
What do you mean 'locate'? Basically, you would search for their name or some other identifying moniker.

Anders

2010/9/16 Drew <adw...@bine.ca>

Drew

unread,
Sep 16, 2010, 5:37:16 PM9/16/10
to diaspora-discuss
Exactly my question. How would you search for their name or other
identifying moniker in order to add them as a friend? In a
centralized system it is trivial. There is a central database and
it's just a simple lookup operation. In a distributed peer-to-peer
network it's a difficult problem and anyone who knows anything about
gnutella for instance knows that you can't effectively search the
entire network to any degree of completeness in any reasonable amount
of time or resources.

So how does diaspora solve this problem? I figured this was an
obvious question because it is the whole crux of the social network
concept.

Drew

On Sep 16, 6:31 pm, Anders Feder <anders.feder...@gmail.com> wrote:
> What do you mean 'locate'? Basically, you would search for their name or
> some other identifying moniker.
>
> Anders
>
> 2010/9/16 Drew <adwo...@bine.ca>

Drew

unread,
Sep 16, 2010, 5:38:42 PM9/16/10
to diaspora-discuss
Sure, requiring both parties to agree to the friend request is fine.
But how does one party initially locate the other on the network?

Drew

On Sep 16, 6:30 pm, Sadiq Saif <sadiq.9...@gmail.com> wrote:
> I believe something like Facebook's Mutual Friends is a partial answer to
> this problem.
>
> Sadiq S
> mailto: sadiq.9...@gmail.com
> Blog:www.staticsafe.me
> Twitter -www.twitter.com/staticsafe
> Facebook-www.facebook.com/static.safe

Drew

unread,
Sep 16, 2010, 5:39:58 PM9/16/10
to diaspora-discuss
Correct me if I'm wrong, but isn't this the very first question to be
answered in order to even begin thinking about a project like
diaspora?

Drew

Sam Whited

unread,
Sep 16, 2010, 5:48:06 PM9/16/10
to diaspora-discuss
Drew:

If I understand what you're asking, the procedure would work something
like this:

1. Alice wants to add Bob as a friend so she searches Google for Bob's
Diaspora profile (or Bob gives her his username and she skips to step
3)
2. Once she finds it, she records Bob's full username
(b...@bobsdomain.com)
3. She then goes back to her account, clicks "Add Friend" (or
equivalent) and enters Bob's username

Best,
Sam

Drew

unread,
Sep 16, 2010, 5:52:30 PM9/16/10
to diaspora-discuss
That may be a UI use case, but what I'm wondering is technically how
will it work behind the scenes? Knowing bob's email address or
username is fine as a requirement. I think that's what facebook does
now anyway, they don't appear to have an actual search mechanism. It
would be nice to have, but that's not what I'm asking.

What I'd like to know is behind the scenes, given a name, email or
identifier of some sort how does a diaspora node resolve the name into
an actual physical location (probably either an IP or URL or some
such)?

Drew

Anders Feder

unread,
Sep 16, 2010, 6:29:06 PM9/16/10
to diaspora...@googlegroups.com
There is no "behind the scenes". You have a Diaspora profile page. Google indexes it. Your contact searches for an identifying term. Google finds the term in your profile and returns your the URL of your profile page. Your contact goes to the profile page and adds you. End of story.

If you think this is a big deal, then you are on the wrong track. I can't really help you with that.

2010/9/16 Drew <adw...@bine.ca>

Sam Whited

unread,
Sep 16, 2010, 6:31:25 PM9/16/10
to diaspora...@googlegroups.com
Ah, sorry, I see.

I don't know the nitty-gritty of it (familiarizing myself with the
source right now) but the basic idea is the same... Alice's server would
resolve Bob's domain name, then send a request to Bob's server saying
that Alice wants to add Bob as a friend. Bob could then either accept or
deny that request. If Bob accepts, his server would send back a response
and now Alice and Bob's servers will display them as friends.

If you want to dig through the code, check out the requests model
"request.rb"
(http://github.com/diaspora/diaspora/blob/master/app/models/request.rb)
or the controller, "requests_controller.rb"
(http://github.com/diaspora/diaspora/blob/master/app/controllers/requests_controller.rb).

Best,
Sam

Anders Feder

unread,
Sep 16, 2010, 6:31:46 PM9/16/10
to diaspora...@googlegroups.com
"returns your the URL" -> that's: "returns the URL of your profile page to your contact"

2010/9/17 Anders Feder <anders....@gmail.com>

Drew

unread,
Sep 16, 2010, 6:39:02 PM9/16/10
to diaspora-discuss
Ok so from the replies here, I'm understanding is that this product is
nothing more than an HTML editor. It provides no search
functionality, no ability to find users, not even the ability to take
a friend's email address and locate them in the network. Is that
correct? It's just a very limited version of dreamweaver or
frontpage? It produces a "profile" which you can then publish on your
own server if you know how?

Drew

On Sep 16, 7:31 pm, Anders Feder <anders.feder...@gmail.com> wrote:
> "returns your the URL" -> that's: "returns the URL of your profile page to
> your contact"
>
> 2010/9/17 Anders Feder <anders.feder...@gmail.com>
>
> > There is no "behind the scenes". You have a Diaspora profile page. Google
> > indexes it. Your contact searches for an identifying term. Google finds the
> > term in your profile and returns your the URL of your profile page. Your
> > contact goes to the profile page and adds you. End of story.
> > If you think this is a big deal, then you are on the wrong track. I can't
> > really help you with that.
>
> > 2010/9/16 Drew <adwo...@bine.ca>

Anders Feder

unread,
Sep 16, 2010, 6:47:25 PM9/16/10
to diaspora...@googlegroups.com
No, that is not correct. I would recommend you read up on Diaspora to figure out what its actual purpose is.

2010/9/17 Drew <adw...@bine.ca>

G. Jay Kerns

unread,
Sep 16, 2010, 6:48:46 PM9/16/10
to diaspora-discuss
I do not know exactly what types of searches are eventually possible
with Diaspora, but I am confident that the community will ultimately
find a way to make something happen.

I can also say that I have signed up on http://diaspor.us/ and in the
"Search" box have found people that registered (that I don't know).
If you can guess one of their names then voila! there they are (to
send a friend request).

Of course, the point is for NOT everybody to sign up on the same
server, but my guess is that *somebody* will figure *some* way for
this information to be on some type of directory somewhere, or....?

Jay

Sam Whited

unread,
Sep 16, 2010, 6:58:31 PM9/16/10
to diaspora...@googlegroups.com
That's not at all correct.

You must to remember that this is not meant to be actual usable software
yet. This is just a source release so that people can go ahead and start
developing Diaspora further.

Eventually some other strategy for search may be created, for instance,
one might be able to have a list of trusted servers, and when you search
for a friend your server would query all of the trusted servers for
results matching the search term(s).

Best,
Sam

P.S. The previous email from my name at gmail.com is also me. Didn't
notice which account I was sending from.

--
Sam Whited
s...@samwhited.com
404.492.6008

Georgia Institute of Technology
Mechanical Engineering Undergraduate
swh...@gatech.edu

Drew

unread,
Sep 16, 2010, 8:15:20 PM9/16/10
to diaspora-discuss
Is there a protocol spec so that people can write node software for it
in other languages and on other platforms?

I read the OAUTH spec but I'm assuming there's a protocol for
information exchange beyond that initial authentication, built on top
of HTTP. If anything is going to come of this at all, the spec needs
to be out in the open for discussion. As a software engineer, that
would be the first thing I would do before any coding or UI design.

BTW, relying on google search is not an option which should be obvious
for those who know anything about SEO.

Drew
> swhi...@gatech.edu

Sam Whited

unread,
Sep 16, 2010, 8:26:45 PM9/16/10
to diaspora...@googlegroups.com
As far as I know there is no documentation for how they are pushing data
(it's probably not finalized at this stage). You'll have to read through
the source.

Right now they're using a pretty simple push based system.

Best,
Sam

P.S. Not really sure what you're looking for still, but I hope I helped.
Pubsubhubbub (http://en.wikipedia.org/wiki/Pubsubhubbub) and XMPP
(http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) are
decent (open standard) protocols for doing things like this. You might
want to read up on them.

swh...@gatech.edu

Drew

unread,
Sep 16, 2010, 8:28:41 PM9/16/10
to diaspora-discuss
On Sep 16, 7:48 pm, "G. Jay Kerns" <gjke...@gmail.com> wrote:
>
> ... but my guess is that *somebody* will figure *some* way for
> this information to be on some type of directory somewhere, or....?
>

Lol... Seriously.

For 200 grand one would think this would be a fundamental question
that would be answered. Give me some cash, I'll figure it all out,
spec it out and write a proof of concept client. Heck, I'll probably
just go ahead and do that for free. Oh the irony.

Cheers,
Drew

Anders Feder

unread,
Sep 16, 2010, 9:04:20 PM9/16/10
to diaspora...@googlegroups.com
This is not at all a fundamental problem. How is it Diaspora's problem that you project problems onto it that it was never intended to solve?

2010/9/17 Drew <adw...@bine.ca>

G. Jay Kerns

unread,
Sep 16, 2010, 9:38:42 PM9/16/10
to diaspora-discuss
:-) I suppose it doesn't surprise me that there are important
questions left to be answered, nor even that (now that it's been
released) it doesn't operate how some very competent people imagined
that it would. What *does* surprise me is that 4 NYU students had
$200K thrown at them a little over 4 months ago and they DIDN'T take
the money and run (as I would have).

Cheers,
Jay

Sam Whited

unread,
Sep 16, 2010, 10:28:09 PM9/16/10
to diaspora...@googlegroups.com
As I keep telling people, you have to remember that it hasn't been
"released"... a very (very) early version of the source code which is
not intended for general use has been made available to those who want
to help shape the final product (which is still months away).

If you don't like something, or feel that something needs to be
implemented, write a patch.

Best,
Sam

--

G. Jay Kerns

unread,
Sep 16, 2010, 11:07:54 PM9/16/10
to diaspora-discuss
On Sep 16, 10:28 pm, Sam Whited <s...@samwhited.com> wrote:
> As I keep telling people, you have to remember that it hasn't been
> "released"... a very (very) early version of the source code which is
> not intended for general use has been made available to those who want
> to help shape the final product (which is still months away).
>

I agree with the sentiment 100%; maybe the reason people (myself
included) have the word "released" so near the tip of their tongue is
related to this blog post:

http://www.joindiaspora.com/2010/09/15/developer-release.html

Best,
Jay

Sam Whited

unread,
Sep 16, 2010, 11:23:07 PM9/16/10
to diaspora...@googlegroups.com
That could very well be it. "Developer release" sounds much more
complete than "pre-alpha."

- Sam

--

Message has been deleted

Drew

unread,
Sep 17, 2010, 10:17:09 AM9/17/10
to diaspora-discuss
Indeed. Personally I thought my prior low estimations of what it
would be might have been a little harsh, but I did expect that it
would at least have a framework for the basic functionality. I didn't
expect the full functionality to be developed, but I did think it
might be somewhat specced out or at least admitted that the
functionality is needed.

To offload the search requirement onto Google is not just lazy, it
actually won't work. Google takes weeks to pick up new pages and
almost never puts them anywhere near the top result, let alone the
first page of results, for a very very long time. If you've ever done
SEO, you will know that it takes months and sometimes years of
continuous hard work to get on page 1 of any search string, and for
search strings with lots of competition it is often impossible for
mere mortals to make any progress.

There is no chance of this being the answer. There is also no chance
of just dismissing the need for the ability to find users. I'm
envisioning a UNIX hacker's custom protocol back in the day when
people would trade IP addresses and port numbers to gain access to
each other's systems. If this is what diaspora is meant to be, then
it has failed before it started. The mainstream will NEVER adopt any
level of technical awareness like this, nor should they have to. The
whole purpose of technology is to simplify and automate processes and
activities. So far what it sounds like diaspora is, is a glorified
HTML editor which complicates the process of putting up a personal
homepage.

Is anyone here arguing that a social network does NOT need the ability
to search for users or at least resolve a person's name / email /
identifier into an actual profile page?


Cheers,
Drew
> swhi...@gatech.edu

Sam Whited

unread,
Sep 17, 2010, 2:25:50 PM9/17/10
to diaspora...@googlegroups.com
Oh no, I think you're absolutely correct in that regard. It needs a way
to search without relying on Google. However, this can come later as
it's an easy problem (using the list of "trusted hosts" that I theorized
about before).

You might even add a list to the GIT repo so that an admin can pull down
a list of well maintained / popular servers which can be kept up to date
in the version control (this would also allow you to pull down lists
from other servers as well). This way you could query a bunch of servers
for a user and display the results, and you could also query those
servers (or just pull a list from GIT) for other servers and have a
distributed search. This sort of searching is a well researched / solved
problem and can be done quickly and efficiently (think Bittorrent
peer-exchange and DHT).

Best,
Sam

shadowfirebird@gmail

unread,
Sep 17, 2010, 3:19:55 PM9/17/10
to diaspora...@googlegroups.com
> Is anyone here arguing that a social network does NOT need the ability
> to search for users or at least resolve a person's name / email /
> identifier into an actual profile page?

If you mean, search for users from outside Diaspora, then yes - me.

From inside Diaspora: I have no idea what is planned, but I'll be surprised if the public keys of all users at least two hops away from you aren't part of the data in the distributed network.

I don't expect Diaspora to supplant all social networks. I just want a safe way to share non-public infofmation with people I trust. Those people can find other ways of getting their Diaspora IDs to me.

Ori Pekelman

unread,
Sep 17, 2010, 3:44:51 PM9/17/10
to diaspora-discuss
Again, it is extremely naive to imagine that without proper protocol
design distributed search is in any way an easy problem. Personally I
believe
this is a non issue. This is not supposed to be a facebook. Not a
universal directory of everyone. If you get a correct chance of
discovering other end points this should be good enough.

Just don't believe you get the precise same functionality, or that you
get it later by magic. Better privacy forcefully means your 10th grade
friends might have a bit of a harder time adding you to their friends.
Is this really a bad thing?

But then again this would suffer some thought.

Tristan Sloughter

unread,
Sep 17, 2010, 3:50:46 PM9/17/10
to diaspora...@googlegroups.com
Yeah, I'm starting to see what this project really is. It makes sense (not what I wanted, but makes sense). It doesn't seem like a hard problem is being solved here at all. 

It seems nice for creating social networks (sort of like Ning but also very different) but not for replacing facebook. Not that thats bad, just not what I thought at first when I heard about it.

Ori Pekelman

unread,
Sep 17, 2010, 4:56:33 PM9/17/10
to diaspora-discuss
Read the code a few times over.
This was code not a protocol. I still don't know how it works. As a
system. I would imagine we can just run it and see later. These are
two nodes talking; What happens when we have three? Can bob and sally
be friends when they are not on *two* systems but more? And if so,
must they expose a GUID, a globally identifying element? http://joindiaspora.com/guid
?

On Sep 17, 12:31 am, Sam Whited <samwhi...@gmail.com> wrote:
> Ah, sorry, I see.
>
> I don't know the nitty-gritty of it (familiarizing myself with the
> source right now) but the basic idea is the same... Alice's server would
> resolve Bob's domain name, then send a request to Bob's server saying
> that Alice wants to add Bob as a friend. Bob could then either accept or
> deny that request. If Bob accepts, his server would send back a response
> and now Alice and Bob's servers will display them as friends.
>
> If you want to dig through the code, check out the requests model
> "request.rb"
> (http://github.com/diaspora/diaspora/blob/master/app/models/request.rb)
> or the controller, "requests_controller.rb"
> (http://github.com/diaspora/diaspora/blob/master/app/controllers/reque...).

Sam Whited

unread,
Sep 17, 2010, 5:05:46 PM9/17/10
to diaspora...@googlegroups.com
What do you mean by bob and sally being on more than two systems?
They are two people, therefore they are on two systems. As far as I
understand it, a profile is only stored on one pod (it doesn't sync with
other machines).

Maybe I'm misunderstanding what you're asking still?

Best,
Sam

--
Sam Whited
s...@samwhited.com
404.492.6008

Georgia Institute of Technology
Mechanical Engineering Undergraduate

swh...@gatech.edu

William Lahti

unread,
Sep 17, 2010, 6:59:11 PM9/17/10
to diaspora...@googlegroups.com
First of all it's a *developer release* which for non-developers means *alpha* code delivered to seed a project and development community around the software. It does not mean users can pick up the software, deploy it, and have everything they want.

Some are arguing that Google's propagation of new information would be very slow but I don't think it would be *too* slow. The location of a person's social profile does not change frequently, even with the ability to move your profile to another seed (roadmap I believe). Most of the time Google would be fine.

I think a "social provider" or multiuser Diaspora seed could have a search box, but it would only search profiles on that provider. Use a real search engine if you want to search more than one site, since indexing search and distributed index search are both hard, complex problems that require iron, and no one is better equipped for that than the companies that do search to keep their doors open.

Friending 

Someone mentioned that to befriend someone you would go to their profile and get their user name then go back to your own profile and I can see that as being a possible way to get the job done but making it possible to click 'Add Friend' on a Diaspora profile is not intractable with current web tech. And having 'Add Friend' on a profile hosted by a provider which you are signed in to is brain dead simple. 

I think OpenID should be used for this. Imagine clicking 'Add Friend' when you are not signed into the provider, it would present the login screen with local or openid options and if you had a diaspora account with another place you could just use your own profile URL, you login and the provider forwards you to your provider's friend request page, along with your friend's ID/provider info. You confirm the request at your profile provider's website, then the provider slings you back to the profile page. 

Anders Feder

unread,
Sep 18, 2010, 2:52:16 AM9/18/10
to diaspora...@googlegroups.com
This is complete nonsense. People trade MSN addresses all the time. It's like you stared yourself blind on a total non-problem and now you are grasping at every straw you can find to make it seem even remotely important.

Besides, if Diaspora only attracts a fraction of the population to begin with, that's fine. Redundant functionality like search can always be implemented later when people run out of real problems to solve...

2010/9/17 Drew <adw...@bine.ca>

Drew

unread,
Sep 18, 2010, 1:03:21 PM9/18/10
to diaspora-discuss
MSN is not a "privacy aware, personally controlled, do-it-all, open
source social network". MSN is a chat program with many annoying
limitations of a chat program. So as another user commented, clearly
diaspora is not what most people expected and certainly not what it
originally claimed to be.

So are we in agreement then that diaspora is nothing more than an HTML
chat program?

If so, then you're right. Forget about search, that would be a
complicated problem to solve for a mere chat program. There's no
point really in adding social networking features to something that's
just an html chat program.

Drew

On Sep 18, 3:52 am, Anders Feder <anders.feder...@gmail.com> wrote:
> This is complete nonsense. People trade MSN addresses all the time. It's
> like you stared yourself blind on a total non-problem and now you are
> grasping at every straw you can find to make it seem even remotely
> important.
>
> Besides, if Diaspora only attracts a fraction of the population to begin
> with, that's *fine*. Redundant functionality like search can always be

Braedon Vickers

unread,
Sep 18, 2010, 11:08:33 PM9/18/10
to diaspora...@googlegroups.com
Chill dude,

The point is that it Diaspora can run perfectly fine for the moment with users sharing their addresses. The point of a social network is to connect with people you known. If you know them, you can ask for their address, just like you ask for their email address, cell number, etc.

Diaspora is distributed - there is no global view of it. Thus, the concept of a global seach feature is orthogonal to the basic architecture of Diaspora itself.

However, that does not preclude the possibility of a searchable index being set up. Such an index would likely have to be based on a different network than Diaspora itself(A prime candidate would of course be a Distributed Hash Table), but if each Diaspora seed connected into this network as well, then you shouldn't have a problem. Setting up a new network is a lot of work, especially when you need to be focusing on another, more important one.

In these relatively early stages of the project, a search feature is relatively low priority given than it would require a separate network, and can be done without. If you really want one, then code it, or find a bunch of similar minded coders to do it.

Braedon

shadowfirebird

unread,
Sep 20, 2010, 4:09:05 AM9/20/10
to diaspora-discuss
Completely agree with Breadon.

On Sep 19, 4:08 am, Braedon Vickers <braedon.vick...@gmail.com> wrote:
> Chill dude,
>
> The point is that it Diaspora can run perfectly fine for the moment with
> users sharing their addresses. The point of a social network is to connect
> with people you known. If you know them, you can ask for their address, just
> like you ask for their email address, cell number, etc.
>
> Diaspora is distributed - there is no global view of it. Thus, the concept
> of a global seach feature is orthogonal to the basic architecture of
> Diaspora itself.
>
> However, that does not preclude the possibility of a searchable index being
> set up. Such an index would likely have to be based on a different network
> than Diaspora itself(A prime candidate would of course be a Distributed Hash
> Table), but if each Diaspora seed connected into this network as well, then
> you shouldn't have a problem. Setting up a new network is a lot of work,
> especially when you need to be focusing on another, more important one.
>
> In these relatively early stages of the project, a search feature is
> relatively low priority given than it would require a separate network, and
> can be done without. If you really want one, then code it, or find a bunch
> of similar minded coders to do it.
>
> Braedon
>

Smooth Henry

unread,
Sep 20, 2010, 12:17:36 PM9/20/10
to diaspora-discuss
Drew why are you so mad about this

Drew

unread,
Sep 20, 2010, 2:52:09 PM9/20/10
to diaspora-discuss
I realize it may appear that I'm mad about it, but I'm not. I just
want to be absolutely firm and certain in making sure I understand
what diaspora is and is not, in order to figure out how to incorporate
it into the larger, complete plan that I'll probably be devising
shortly.

Regards,
Drew
Reply all
Reply to author
Forward
0 new messages