Advanced search with the ability to save preset streams


([deactivated account]) #12

I thought I made myself clear. I didn’t, sorry for being vague. I said we need a link to github or a reference that the feature was taken into account.


(raven24) #13

The most important thing is not to get discouraged by the seeming lack of movement :wink: Most of us are people who are still students or working full-time, so we don’t have the power to direct any sizeable amount of resources to the project.
But we do it anyway and love to see diaspora* develop and grow over time.
So keep up your enthusiasm and see where you can be a part of this project, even if it’s reviving old threads you think are important :stuck_out_tongue:


([deactivated account]) #14

Hey @florianstaudacher , first and foremost congrats for all the good work you’re doing up here, I read that on the blog! I’m very enthusiastic to see people like you dedicating their time for the community and fighting to respect their choices. I hope you’ll continue the same in the future :wink:


([deactivated account]) #15

I’ve been invited here by Jakob and I can only say that it’s great to see a consensus on this. (I had started a discussion here : /posts/96709590644e0132b28c00259069449e ). I wonder if we can make a mockup of what we’re hoping to get. This would help to further promote the idea.


I also think that the filtering of information will work in part collaboratively. Boolean searches of tags and even plain text, check-box filters, would be excellent, but, with “number of comments; number of likes”, I think that we are touching on a notion that is the general feeling of the community about a topic that you’re searching.

I think that the community could organize around what I’ve called #metatags, which would help navigate tags, and would be the work of the community (or more precisely of communities). Somebody told me it’s a bit like wikipedia; I like the analogy : what word searches can’t do, what popularity filtering can only suggest, the collective aggregation of data can do. In a sense, it’s a bit like recording the results of a good search on diaspora, to share with others. But again, this is not directly related to the suggestions here. I just thought it would give perspective and inspire, hopefully. One plus of this approach is that is already feasible :slight_smile:


(Jakobu/Katharsisdrill) #16

@riderplus - I think that this proposal should be discussed slowly taking into account that right now other more fundamental things are more important. Right now I have about 350 persons that I follow on Diaspora, some post a lot, some not at all. But I am still able to navigate the linear stream without getting completely confused. I am an artist and before I quit Facebook I had about 1500 facebook-friends, most of them from the Danish, Scandinavian and German art community. Diaspora is not there yet, and that gives us some time to think up a good solution to how we can construct a stream (or multiple) that would both give you complete control as user, that would at least make it possible to avoid herd-behaviour (number of likes, re-shares, and comments as search parameters does exactly that,) and still make the stream navigable.

Lets not rush this, we have time to do it right, and my proposal could definitely be improved. The next step would be I guess to make some image mock-ups and concept documents, detailing how this should be done. Everybody with a text-editor can do that. I will try when I have a little bit more time. It could also be of help if all the similar thread was found and the suggestions compared with this, also a job anybody could do.

@Perig Gouanvic - this is a bit besides the topic here. But I did try to make posts where I collected other posts that had common subject and that I found interesting. I only did it a couple of times but it could be a good way to point your fellow users to discussions that they would else miss. I guess it is about always using the same tag #Disporadiscussion #interestingdiscussions or other. I write you on Diaspora :slight_smile:


(Flaburgan) #17

I had this idea in mind for a very long time and it is in my opinion a killer feature for diaspora*, even if it’s not something breaking new.

The problem we have to deal with is the relevance of the content which is displayed to the user. Most of the posts in my global stream don’t interest me. Aspects is cool, but people talk about many different subject so we can’t rely on that. Tags are nice. Tags are the answer to this problem. But tags can be spammed. Tags are sometime used to talk about an opposed topic.

Many use cases can be extracted from this observation. The solution to all? Queries / advanced search.

As a user, I should be able to create an advanced search (query) to focus exactly to the content I want.

The query is a boolean expression. The entity could be users and tags, eventually aspects. The query could look like (@fla && #diaspora) || (@goob && !#linux).
This query would return the posts written by Fla and containing the hashtag #diaspora and the posts written by goob and not containing #linux. This defines a new custom “stream”.

The user should then be able to pin the query in the left nav bar as an interesting stream, quickly available.

Of course, it would be even better if we can manage other type of data than user and tags, for example, aspects, or even already existing streams such as “every public posts”, “mentions” or “my activity”.

I don’t feel like we should add a start / end date though. This is done by scrolling the stream. To be able to jump to a date in the stream would be an awesome feature but it should be done in the stream as a navigation feature, not when the query is created.


(Creak) #18

You know my point of view on that: I think it’s too complex. It would definitely please the advanced users, but the others wouldn’t consider D* superior just because of that feature.

I take for example the filter feature in GMail. Did you now you could use simple regexps in there? It’s definitely useful (and I use it), but Google knows very well that even if they were bringing this feature to the mass, no one would care because it’s just too complex.

I think D* could deal with a better re-thinking of the existing features.

TL;DR: yeah, why not, but I don’t think it is that important


(Flaburgan) #19

Once you have something which contains only things that interest you, then you can do a lot of interesting things, like choose it as the default home page, or subscribe to receive email notifications on new posts.

How we allow users to define custom streams is an important point, and boolean expression is not the solution for a non-geek user, but to have custom stream is the goal and I really think we should go there. If we have to imagine a new interface for a non-geeky user experience then let’s go, this is not something which should stop us.


(Jakobu/Katharsisdrill) #20

I definitely imagined this with a GUI. In its most simple form it would take a screen like the one for administrating aspects, and a roll-down menu like the ones for mentions, aspects, tags etc in the left hand side of the main screen.
I really do think that this would be an important feature. People talks a lot about the unpredictable weirdness of the Facebook stream, and a feature that makes you control this would be a major selling point for Diaspora.

…and thanks for taking this up again :slight_smile:


(Frode Lindeijer) #21

gmusicbrowser has a Filter edition window that does exactly that and may be inspirational. It allows for conditions to be combined and inverted to create automatic playlists without code.


(Flaburgan) #22

Alright, I finally toke the time to draw some mockups of what I have in mind for years and is in my opinion the biggest missing feature of diaspora*, as it is currently difficult to filter content to have the one which is relevant to you. Many users are using the ignore option to do that, but this leads to other problems and should not be the way to do it.

Okay, so the idea is basically to allow the users to create their own stream queries. As I see it, this start as an advanced search. It could be access from the search result (new button on the right):

There, you have the interesting screen:

So, each line is a condition, starting with the subject of the filter. “containing” is about #tags, “written by” about post authors, “from the aspect” about aspects. Of course, we could imagine way more filters (mentionning, liked by, commented by… etc.) but these 3 looks like a good beginning to me. There also is the negation of all these tree options in the select (so, “not containing”, “not written by”, and “not from the aspect”).

The input text following the filter has autocomplete on it, allowing to select only valid value (so, with containing, only tags can be entered. They will always start with a #).

The last line is a “add a condition” button. Clicking on it will add a new line which start with a select with “and” and “or”, and then the filter select.

This does not allow complete conditional expression as there is no parenthesis in the current mockup, but it looks like a good enough first step.

Below it, the result of the query is displayed. And on the top, a button allowing to pin the search as a stream.
Clicking that button will open a popup for the user to enter the custom stream name (no mockup of that here).

On the stream page, a cog is added in the left column:


(I’m not satisfied with that design at the moment, it is too flashy. Still, I want to have something clearly visible)

Clicking on it put the stream selector in “edit” mode:

(Sorry I didn’t disabled my OS dark mode when I took this screenshot so the input checkboxes have the mint theme, they should not be green like that)

This mode allows the user to choose which streams are available in the selector by checking / unchecking them. They can also be ordered by drag and dropping them.

The pencil icon brings the user to custom stream edition:

This page is very similar to the “Advanced search” one, but it also allows to rename or delete a custom stream. I just noticed that it probably miss a “save” button somewhere, sorry about that.

So, what do you think?


(Hank G) #23

I am really looking forward to being able to do stuff like this too. I think much of the UI is spot on, specifically the editing part. Some areas I could see tweaking is how users interact with the streams. One idea I had was that the “stream” menu becomes a “Streams” menu with the user created options and the default. Another idea would be for the “My Activity” menu at the top to double as a drop-down menu for fast access to “favorited” streams/topics.


(Flaburgan) #24

Something that doesn’t appear in my mockups but I have in mind is the ability to choose the “default” (preferred) stream for the user. So the one which will be displayed when clicking the asterisk logo in the header. That can come in a second time.


(LoYgg) #25

Thanks alot ! Looks like so handy !
Will it be difficult to implement ? Will there be someone willing and having time to code that in the near futur ? Will the team have time to review the code in a near futur too ?
It looks so promising that I hardly can’t wait !


(Flaburgan) #26

@elm the back-end part can be a bit difficult to write, it means an important modification of the database schema to allow to store advanced searches but also “traditional” streams. I’m not very comfortable with that part, so I can’t tell. The front-end part should be pretty straight forward. I think I can do it. I already talked with @HankG if we could team on that feature, as we complete each other well.


(Jakobu/Katharsisdrill) #27

Thanks, @flaburgan for taking up this old proposal! I had almost forgotten about it. I have tried other decentralised platforms like for example Steemit.com, and I have seen the same problem: that the linear stream makes people overlook things they would like to see and that it becomes chaotic after a certain threshold of contacts. It would be a very interesting experiment to see if this could remedy some of these problems.


(Spc Cw) #28

Would be really nice if this could be used to search your own posts as Diaspora is really lacking this and it goes against “you controlling your data” philosophy.

Being able to specify start/end dates would really help in that regard. Scrolling down to find something you posted last summer is not a good solution. It plagues many other social networks too so Diaspora could be different here.

Please consider this.


(Hank G) #29

Yes I think this would be a great feature to have along with a timeline type view, which you highlighted, that let you jump around in time through all your posts.

I don’t think this statement is true at all. I also don’t think adding this was conducive to a forward dialog on the topic either.


(goob) #30

@SpcCw, please don’t post requests for other features in a discussion – that moves things off-topic and doesn’t help. Please, instead, look for the discussion(s) relevant to your request, and post on those discussions only if you have something new to suggest that hasn’t already been mentioned. People saying ‘please do this thing I want’ doesn’t help to speed up development.

If you want to encourage development of the feature you want, and can’t contribute towards it yourself, you could try promoting the idea in diaspora* itself. A prospective developer might see your post and decide to give it a go, which could mean a new developer working on diaspora*. Alternatively, you could consider posting a bounty on the relevant topic in Bountysource, to encourage someone to choose the feature you want rather than another one.


(Spc Cw) #31

Perhaphs it sounded not like I meant it. Let me elaborate.

Full control over your data means you can easily retrieve and edit (well, it is limited to deletion here) your content. When large amount of content gets accumulated over time it is next to impossible to do without proper search functionality. Sometimes failure to quickly locate certain content can have consequences.

So yes, in my opinion inability to efficiently access your content limits your control over it.

Also maybe it is just my impressions but it seems to be popular grievance with social networks these days. Your old posts just sink somewhere at the bottom of infinetely scrollable feed and become forgotten (and sometimes make surprise comeback when you least expect it). I wouldn’t want Diaspora to follow same pattern.

One workaround for this (not just Diaspora) is Googling your own feed and I think it is clear how it is not about controlling your data either.

Please don’t take this as disrespect or accusation of not doing enough or not staying true to the mission. It is not that at all. Just something to consider.

@goob I posted this here because date/time search criteria was mentioned earlier in this discussion as part of this feature. Then it seemed to me like it was dismissed as unnecessary. I thought I could weigh in with some thoughts why including date parameter could be useful and what task exactly it could solve.

Anyway I apologize if it was taken as pushy or counterproductive.