URLs not Idempotent

Recent Changes has a single URL but its content varies according to how much of the network is loaded by other pages mentioned in the URL. The amount of network that will be loaded also depends on what is on Tim's Welcome Visitors page. If Tim changes that page then Recent Changes will be different.

Recent Changes answers the question: "What's going on in this neighborhood?" The link will open a new tab with its own neighborhood and will NOT be influenced by your browsing in other tabs.

To expand the scope and see a neighbourhood view of the recent changes you have to click on Happening Folks to load that page into the lineup, and then go back to Recent Changes again. Now the page is richer but the URL is the same. The URL says bring up a specific page that has specific plugins from a specific server found by a specific path. This happens. But the 'activity' plugin reaches into your browsing environment to answer the question: "What's going on in my neighborhood now?"

The URL refers to a specific resource that reports dynamic data that is changing. Same resource, different result. It's no different than an URL you use to view a weather report. Same URL, different weather on different days.

Let's push the analogy. You load a weather page for Santa Rosa, CA. Then you interact with the page in a way that loads (in addition) weather for some other towns in Sonoma County: Sonoma, Petaluma, Sebastopol. But only some towns, not including Occidental or Napa. Will you expect the URL to remember that configuration the next time you load it? Probably not.

Now a variation on the theme. You load a weather report for Sonoma County. Now you expect all the towns to be represented. You might be able to remove some while viewing the page, but you'll be surprised if that configuration persists if there's no explicit way to tell the page about your subset. (If there is, the subset could be specified in the URL, but in practice likely would not be, would instead be specified invisibly in a cookie.)

Santa Rosa and Sonoma County are permanently-defined entities. So it's reasonable to expect a distinct URL for each entity's weather. But there are no permanently-defined SFW neighborhoods. So Recent Changes spans the neighborhood-of-one (yourself) and the neighborhood-of-many (you and those with whom you interact). And there are many neighborhoods-of-many.

Still, it's useful to define neighborhoods for certain purposes. The FedWikiHappening does this by listing a group of participants on a page called Happening Folks. When we bring that page into our neighborhood-of-one, we expand to include that particular neighborhood-of-many. Recent Changes is not the URL that refers to that neighborhood-of-many. Until yesterday there was no such URL. Now there is: http://fed.wiki.org/trending.html

Idempotence: wikipedia

jon

And yet. I just took another look at the URLs. I start by loading my Welcome Visitors page and clicking its Recent Changes link. The URL is now:

http://jon.sf.fedwikihappening.net/view/welcome-visitors/view/recent-changes

I click Happening Folks, and land on an instance of that page that also has Recent Pages link (not all authors include this link).

At this point I have two wiki pages in the lineup. Each has a Recent Changes link. Both report changes for the Happening Folks neighborhood. But when I click Recent Changes on the second subpage, the URL is:

http://jon.sf.fedwikihappening.net/view/welcome-visitors/view/happening-folks/view/recent-changes

So we do have a Sonoma-County-ish URL that doesn't depend on implicit context. If I am trying to show FedWikiHappening to somebody, I can hand off that URL and know that person will see what I see.

ward

http://jon.sf.fedwikihappening.net/view/welcome-visitors/view/happening-folks/view/recent-changes

I clicked Happening Folks and then clicked Recent Changes. This had me back in the same configuration where I could watch the 'activity' plugin documenting the neighborhood activity as it was discovered.

The plugin is like an interactive program that has been placed on the Recent Changes page. Calling up the page starts the program running. The url refers to the pages and their plugins. This should be uniform so long as the pages aren't being changed. And when they are your pages, only you can change them.

That pages can contain programs is an advanced feature of federated wiki that has only been developed as needed by the original sponsor of the work and as I explored a dozen or so capability demonstrations.