loading...
The DEV Team

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

ben profile image Ben Halpern ・1 min read

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 ❤️

The DEV Team

The team behind this very platform. 😄

Discussion

markdown guide
 

The dev.to software is getting generalized? That's awesome!

 
 

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!

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.

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

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.

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.

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

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.

 

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?

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.

 

It is. A lot of work has gone into this since the beginning of the year and I can’t wait to see what people will do with it.

 

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

 

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.

 
 

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.

 

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.