Birth of a new concept

Welcome to the forum, Andy!

Thinking about pull-to-refresh, there seem to be two separate things going on. One is the physical gesture, which seems to be the core of the novelty. I’d view that a design idea at the physical level (see the picture in EOS, page 23) rather than at the conceptual level. The other is the idea of refresh itself. That seems like a good contender for a concept (and one that is very widely used, always in composition with other concepts).

To check whether something’s a concept, I often start with the operational principle to check that there is some richness in the dynamic behavior. In the case of the Refresh concept, the OP might say something like

  1. user A creates an item I with content C*
  2. user B views item I and sees content C*
  3. user A updates I with content C’*
  4. user B refreshes item I and sees content C’*

Exercise for the reader: fix the error in this OP. Confession: I’m not sure how to fix it myself. The problem is straightforward: in a typical distributed system only eventual consistency is guaranteed, so action (4) will only behave like that after some time passes. Butler Lampson has a long discussion of how to spec this kind of behavior in his textbook on system design, and it’s pretty tricky.