DEV Community

Ben Halpern for The DEV Team

Posted on

Who wants to improve the "pull-to-refresh" on DEV?

Quick update on our project: We are getting very close to generalization where more instances of our community software will be available so you can run your cooking or parenting communities. ๐ŸŽ‰

In the meantime, here's a site behavior which I'd love if someone jumped on:

Pull-to-refresh does not trigger if you do not "come to a halt" at the top of the page. #7886

Our app has really nice pleasant web pull-to-refresh functionality on most pages (not all, we don't want this behavior on some pages like chat, for example).

But the way it works, the user needs to be stopped at the top of the page and then initiate a pull up before it works like a charm.

I've hacked away at this a bit so I know it's possible to fix with some logical adjustments to how the whole thing works, but I think it needs a finer solution than whatever I'd hack together quickly.

Code is here:

https://github.com/thepracticaldev/dev.to/blob/d3dfc70f5a1ed94c781641235f21476e8ddf6773/app/assets/javascripts/lib/pulltorefresh.js

Hope somebody wants to give this a try ๐Ÿ˜„

Basically "pull-to-refresh" pretty much works, but it's not as smooth as a native in the case where you're continuously scrolling to the top and want to keep scrooling, but it could be.

This has bugged me for a while and I've looked into it enough that I know it can be fixed, it just needs a deep dive and some quality code.

P.S. The post title says "on DEV", but it's really "on yet-to-be-publicly-named opens-source forum software" once we release generalization v0."

Happy coding โค๏ธ

Oldest comments (17)

Collapse
 
fifo profile image
Filipe Herculano • Edited

That confused me a bit I think Iโ€™ve never noticed this behaviour until now, maybe because when Iโ€™m in the middle of the page I just click the little refresh icon on the phone app since itโ€™s a lot faster depending how far my scrolling venturing has gone

Collapse
 
peiche profile image
Paul

TIL DEV has pull to refresh.

Collapse
 
projectescape profile image
Aniket

Great post

Collapse
 
ben profile image
Ben Halpern
Collapse
 
rose profile image
Rose

Whaaaaat I need to pay more attention to what is going on with dev instead of playing animal crossing all the time. this news is wild!

Thread Thread
 
ben profile image
Ben Halpern

We haven't talked about this really since November, and have been really heads-down

But we feel very strongly that we should be giving away our software and letting people build alongside us for their cooking communities or parenting communities or whatever, and we have really cool ideas about how they thread together without sharing data or having centralized control.

All the work is public in the repo, but we haven't circled back on sharing the updated vision in a little while.... But it's all coming soon.

Thread Thread
 
xanderyzwich profile image
Corey McCarty

I think that this will be a game changer in online forums that currently get stuck into facebook groups.

Thread Thread
 
ben profile image
Ben Halpern

Corey, we've been saying this internally for a long time and it's good that that's where everyone's head goes right away.

The two parts of this:

  • Make it technically sound to allow communities a lot of customization while still being compatible with one another and allow authentication etc. in a way that maintains maximum common-sense data ownership and resists monopolization inherently.
  • Make the user experience feel somewhat seamless to ensure that this isn't just a thing for highly technical folks who understand the bigger implications of surveillance capitalism.
  • Empower community creators to build fully sustainable indy businesses on top of communities if they want to approach it this way (of course, just running one for fun with no intentions of going "full-time" is 1000% valid), and generally allow for creative use-cases to thrive as much as possible.

I feel like we have a good roadmap for all of this, but we'll also be leaning on all the super technical folks in the community to help "get it". We've been pretty heads down on this and I am sooo excited to talk more about all of this and empower our community to be early adopters in the ecosystem.

Thread Thread
 
xanderyzwich profile image
Corey McCarty

I think that tags can be developed a bit more. Say you have a parenting forum, but similar to the #discuss or #shecoded tags that have active maintainers, tags could evolve to be more of a community within the larger forum. I don't know what would need to be done to facilitate this beyond maybe having a chatroom for the tag as a community discussion on that topic. That would require a bit of rework of the messaging functionality, but could be a really fun direction.

Thread Thread
 
ben profile image
Ben Halpern

Yup, none of this is too far from where I think things will go.

Thread Thread
 
v6 profile image
๐Ÿฆ„N B๐Ÿ›ก • Edited

cooking communities or parenting communities

Or just a version of The Onion / McSweeny's to target devs, speaking of too far, and going there.

I can see it now...

"Amazon deploys stocking robots for cage fights, 2 have already earned their freedom."

"#discuss What is the most embarrassing bodily function Google Neuro's neural interface has triggered in public?"

"With the advent of Noxt.js, are we running out of vowels?"

Edit: May need to account for Poe's Law here... perhaps a "here be dragons/not Kansas" interstitial.

Thread Thread
 
xanderyzwich profile image
Corey McCarty

I 100% support this!

Collapse
 
raphink profile image
Raphaรซl Pinson

Very cool. That kind of answers my recent question: dev.to/raphink/generic-blog-17ni

A genealogy site typically would be amazing.

Would you consider a place to federate identities eventually, like stack exchange does for their sites?

Thread Thread
 
ben profile image
Ben Halpern

Would you consider a place to federate identities eventually, like stack exchange does for their sites?

Yeah, more or less. But we want to do it in the way that maximized autonomy where folks want that while also giving them options which really streamline things.

Collapse
 
matoval profile image
matoval

Isn't the way it stops and requires an additional pull down a feature? This way you don't accidentally refresh the page? Personally I like the extra step.

Collapse
 
ben profile image
Ben Halpern

From my experience in other platforms there aren't really accidental refreshes, it requires a far enough pull that it I don't think it would happen accidentally for the most part.

Collapse
 
cjbrooks12 profile image
Casey Brooks

One thing that's always bugged me about DEV's pull-to-refresh is that it competes with a browser's native functionality. It makes sense to have the feature when DEV is running as an installed PWA and you don't have the full browser UI, but when you are viewing DEV from a browser, I would prefer to use the normal browser's functionality to reload the page.