Automatic Refreshing of Content

L“O Linus “Igby” O'Neill Public Seen by 92

Hallo everyone,

I've only just now found out about the loomio for diaspora.
We, some weeks ago made our own pod to start using diaspora more.
While doing that I notice that, the stream does not autorefresh, just like any notifications
Anyone who's been on any other social network, like g+ twitter facebook and so on, hopefully knows what I mean

There is a script out there https://github.com/Faldrian/diasporaAutoUpdate which can be used along greasemonkey to do this, well part of it
I in turn added this to my main.js
But that is not really the way to do this I fear

I would like a feature like this to be added to the main diaspora branch because it is an essential feature

How it should work:

Idea 1:
When a change is detected, the user should get a button to load the new content at will

Idea 2:
Changes should be loaded automatically, but not disturb the flow, as in, when I read a post in the stream, I do not want that to go swoosh away
this version is harder, but I dare say mebe better

Hope I did this all right




Faldrian Sat 15 Nov 2014 3:07PM

I think some podmins may want to enable/disable this feature to fine-tune the load on the server - since this feature will poll every X seconds for new updates (90seconds in the plugin referenced above).


y.semin Sat 15 Nov 2014 4:57PM

I agree with Linus and with Faldrian.
In my opinion, it's interesting, whether I don't know if this would make every D* user happy. Maybe only refreshing the notifications would be enough. Refreshing the flow seems to me (humble D* user) a bit too much.


[deactivated account] Sat 15 Nov 2014 4:59PM

I think your idea no. 2 is the best, however, it should be made such as one could have that as an option - like „Do you want to enable stream auto-update? Yes/No” Many people don t like the idea of auto-update of stream, so it would be great, both for the conservatives and for the liberals more „facebook” oriented ;)


goob Sat 15 Nov 2014 6:03PM

There's an open Github issue for this - #3890 - and a closed pull request - #4352 which was never finished. As yet there's no elegant solution which would work in Diaspora as it currently exists. See the comments in that issue and PR for explanations why. The main issue is (pod) server load.


[deactivated account] Sat 15 Nov 2014 6:17PM

Yes, we all know the story with the pod server load. There must be a solution to this! Simply closing a discussion doesn't help anyone...others made it (on other social networks), so I think it's virtually possible!


[deactivated account] Sat 15 Nov 2014 6:47PM

@goob : I think I've understood that Rails4 used in develop enables websockets and that notifications problems and other could be solved this way ?


Jonne Haß Sat 15 Nov 2014 7:50PM

@augier source?


Faldrian Sat 15 Nov 2014 9:51PM

@augier If you want to use websockets to push notifications and new posts to users, you have to implement a whole event-thing based on incoming federation-messages and new user-posts and so on... it would be quite a big thing to do. Possible, but big.

Also: Don't underestimate the number of open connections for bigger pods like geraspora... several hundred(thousand?) open connections all the time additional to the short connection times normal requests do.


Florian Staudacher Sun 16 Nov 2014 1:49AM

I think you mean the built-in streaming support that's new with Rails 4 -> http://api.rubyonrails.org/classes/ActionController/Streaming.html
that would probably behave more like long-polling, server-sent-events or comet or whatever you want to call it, and work via the "normal" http request cycle, unlike websockets.


Karthikeyan A K Sun 16 Nov 2014 3:46AM

This thing will be great. If Diaspora won't keep up to modern times, who wants to use it other than few privacy concerned people?


[deactivated account] Sun 16 Nov 2014 7:26AM

@karthikeyanak : Lots. The opening of framasphere in France made not-so-concernd-by-privacy people sign up. It's only a matter of who talks about it and the influence they have.

@jonnehass : no source. I just thought I read someone say it, but there's a good chance I'm wrong.


goob Sun 16 Nov 2014 1:03PM

others made it (on other social networks)

Other social networks tend to be either contained on centralised servers and awash with investor money (Facebook, Twitter) so they can just buy as many extra servers as they like, or, in the case of many other decentralised networks, they have few users compared with Diaspora, and generally don't have the historical problem of a few pods having a very large user base, which Diaspora still has. Just because other networks have been able to do this in their circumstances doesn't mean that Diaspora, a volunteer-run and -funded project with a largish user base, can do it without problems.

If Diaspora won’t keep up to modern times, who wants to use it other than few privacy concerned people?

I love the idea that 'modern times' = ' auto-refresh of a page'. Thanks for a morning giggle!


Faldrian Sun 16 Nov 2014 1:08PM

I think the key here is to have this disabled by default, allowing the podmin to enable this if the podmin wants the additional impact on the server. This may provide additional reasons to spread the users to smaller pods, since they (with only a few users) may be more likely turn this feature on.

In addition: If the pod supports auto-refresh the user should be able to enable it for the account.

This would be 2-level opt-in to not impose additional work if not wanted.


Linus “Igby” O'Neill Sun 16 Nov 2014 1:11PM

I agree with Faldrian here
It should be opt-in
I am not sure how much more load this would make though
Since I am no programmer I cannot really have a say in this, I am only voicing what I've heard from people using diaspora

An automation of the stream and notifications should be in this project, because it makes using the pod more effective and it's easier to reply to stuff in a timely manner


Jason Robinson Sun 16 Nov 2014 1:15PM

Personally I'd really want something scalable, like socket.io that works on (almost) any browser, using websockets where it can and falling back to whatever is supported.

But that solution would require a small component in between to listen to clients and send over notifications from the server. It doesn't make, imho, sense to bloat the diaspora core server with something like this.

I'm going to say what I've said many times before - diaspora* should have not just one server application that is decentralized to create a network, but also other apps that people can run to contribute towards the network. Because at the moment we're just adding to the already heavy server app.

One of those components could be a simple and light node.js socket.io server app that does comms between clients and servers, relaying only minimal info like "new stuff in feed, please refresh" - then client gets data automatically from server directly. Implemented this in one previous job and man it was efficient, lightweight and worked on any decent browser I could try it on.

Another app I've suggested before is the public posts relay component that could relay posts around the network without making the core server any heavier in federation calls.

All these kind of apps could be run by community members in a decentralized fashion.


Juan Santiago Tue 18 Nov 2014 9:53AM

Please do not do this without the option to disable or pause, many hate it, I hate that :) is terrible to be reading something and everything moves down.

The diaspora.net.gr pod has a notification system in upper bar indicating the amount of actalizaciones, I like most, is less annoying and consumes less resources.

Not everything do on facebook and g+ is good, I find a very bad reference.


Linus “Igby” O'Neill Tue 18 Nov 2014 10:00AM

@juansantiago well that is a given, content sliding around is not an option, no sir
either it should auto load the content and reposition your view of the page without you noticing, or as you say, let you know with an indicator, that there is something happening
Incidentally I really like the idea of adding that to the upper bar, do you know how they made that?


Juan Santiago Tue 18 Nov 2014 10:12AM


They said that it is a few lines of code that were under consideration for future Diaspora versions.

The podmin is: manolis@diaspora.net.gr the pod is currently not working, it's a small pod and the server is at Manolis home with slim internet line.

the group of diaspora.net.gr on loomio https://www.loomio.org/g/bT8IoW0k/diaspora-net-gr


[deactivated account] Sun 7 Dec 2014 6:27PM

@juansantiago Please bring in the other people that were working on this feature, ty.


[deactivated account] Fri 12 Dec 2014 6:37PM

BUMP please! :)


Juan Santiago Fri 12 Dec 2014 10:42PM

@riderplus ok, i,m try


[deactivated account] Sat 13 Dec 2014 7:23AM

@juansantiago good to hear you are trying, my friend!


Karthikeyan A K Sun 14 Dec 2014 12:00PM

Excellent. Lets do it!


[deactivated account] Tue 16 Dec 2014 8:19PM

I think the WAMP protocol can solve the problems. There is an implementation of it in ruby. It lets you realise publish/subscribe operations (like signal/slots in Qt). We can imagine a browser subscribing to notifications on the diaspora* server. You can checkout a demo here.

I'm studying this solution. I think I will try to setup a demo to test this.


Camil Tue 16 Dec 2014 10:23PM

@augier great news indeed!


goob Wed 17 Dec 2014 12:33PM

@camil, I doubt you're planning to do this, but please don't ever promote me on Diaspora in the way you've done with augier, Steffen van Bergerem and others. Thanks.


Camil Wed 17 Dec 2014 12:58PM

Don't worry, @goob , I won't do it.


goob Wed 17 Dec 2014 5:35PM



D351 Sat 24 Jan 2015 4:12PM

I don't know the technical aspects of this, but I do know that most pages that use auto-updating that I've been subject to are bandwidth hogs and appear to drastically increase the likelihood of my browser crashing.


[deactivated account] Sat 24 Jan 2015 9:38PM

@d351mims : It is not planned to do this ;)