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.
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?
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.
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.
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 !
@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.
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.
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.
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.
@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.
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.
I donât see any reason why we should block the user to indicate himself in the âwritten byâ selector. So if you put only you there, youâll have only your own posts. Then, finding content is a matter of tagging it correctly. If you do tag your holidays pictures with #summer2018, the âwritten by meâ + âcontaining #summer2018â is enough to find your content.
That implies a nice autocomplete for tags, as you canât remember every tags you used, of course.
Iâm not really sure about the date filter at the moment. It would be really cool in advanced search of course, but make no sense for pinned stream. Iâll think about how to deal with that (maybe simply ignore the date criteria when the search is pinned?)
Thank you for your feedback everyone, Iâm now even more confident that this will bring a big value to diaspora*.
I would have love to have some feedback from core devs too, @supertux88 @denschub @comradesenya @jhass anything to say about the mockups?
From userâs standpoint I would expect it to work like this. You fill in search conditions and hit search. Results are displayed. If you just wanted to find something you stop there. If you like what you see you can pin the search as a stream (and date condition will be obviously dropped as irrelevant). If there are no results you can still pin it and see what turns up later (but for most use cases I would imagine some past results available so user can easily see if their selection is right).
Iâve been thinking about something like this for over two years and have educated myself on why this is not possible yet. Frankly, it will be a lot of work to get the database schema and queries into a state where the DBMS will not break down due to the load this induces. Iâve been working on it ever since I made the tag stream search usable. For me, custom streams is an essential feature.
While I donât have a better idea for the UI yet, I donât agree with the proposed solution. It assumes an understanding of boolean logic of the user which is not a given.
I was afraid of something like that yes, thatâs why I didnât work on that feature. Still, âa lot of workâ means it is doable, isnât it? Iâm not sure I get what your message means.
As of the UI, I didnât find a better way to present it at the moment, but I continue to think about it.
On 35c3, I was able to do some hacking, and Iâve come to the conclusion it might not be as much work as I expected at first. Results of the hacking. Just look at the numbers, enjoy, and relish the knowledge that this will make filtered streams a lot less trouble