follow

From IndieWeb

follow is a common feature (and often UI button) in silo UIs (like Twitter) that adds updates from that profile (typically a person) to the stream shown in an integrated reader, and sometimes creates a follow post either in the follower's stream ("… followed …" or "… is following …") thus visible to their followers, and/or in the notifications of the user being followed ("… followed you").

The biggest difference between following and friending is that to follow does not require an agreement between both parties where as friending does. Following is an asymmetrical relationship, where as friending is symmetrical.

Another key difference is that friending typically implies many more permissions between the parties, e.g. in Facebook the ability to write posts on each others's "walls".

Why

Bookmark-like functionality

Explicit follow posts can serve as a useful historical bookmark of when a particular online relationship began.

Webmentions sent to sites could potentially be used to indicate that one is not only being followed, but could also potentially be used to indicate a form of reciprocal following when that webmention is displayed on a reciprocal follow post. (Perhaps this could be used within vouch?)

A feed of follow posts could potentially be parsed to create a master following list (similar to an OPML file) that could potentially be used as input into one or more readers to provide better data portability instead of recreating lists when moving from one to another.

Following as Recommendation

Some will make explicit follow posts as an external indicator that they find a particular person/thing/account interesting and/or useful.

In the early days of Twitter this morphed into the idea of a "Follow Friday" where people would make posts of accounts they followed and recommended on the service along with the hashtag #followfriday or sometimes #ff for short. These posts, while not specifically posted contemporaneously with the actual follow, were traditionally meant as recommendations to their followers of other interesting accounts worthy of following. These, like Twitter lists, were subtle reincarnations of the blogroll.

How to

(this section is a stub)

How to publish

Inside an h-entry, link to the site or profile you are following and add the u-follow-of property to the link.

Here is a minimal follow post:

<div class="h-entry">
  Followed <a href="https://tantek.com" class="u-follow-of">Tantek</a> 
</div>

How to notify

Send a Webmention as you would for any other links in your posts.

If the linked site or profile lacks a Webmention endpoint:

IndieWeb examples

Chris Aldrich

Chris Aldrich has begun to actively create follow posts on 2018-02-16. He keeps a list on his following archive. They're tentatively marked up with either p- or u-follow-of and he actively sends webmentions to sites he follows. Post Kinds Plugin for WordPress has a reserved type for follows which he modified somewhat and activated. Some of his follow posts also have SubToMe buttons which allow visitors to quickly follow those same pages/feeds--see for example: [1].

As of 2019-02-20 Chris created and maintains a Followers page on which he collects Webmentions and notifications of people who indicate they are following his website or who list him on their blogrolls. The WordPress Webmention Plugin/Semantic Linkbacks plugins for WordPress in general have also been modified so that WordPress-based sites can accept and easily show these types of follow webmentions.

He also maintains a following page at [2] which has associated OPML feeds for use in subscribing in readers as described at the bottom of that page. He's documented some of the creation of this page using WordPress at [3]. He also maintains a feed of follow posts which could potentially be parsed to create OPML files or similar functionality to port data to and from readers. He's considering marking up follow posts with XFN as well to use that data in the future.

Eddie Hinkle

Eddie Hinkle created his first follow post on 11/25/2018. He started with creating follow posts for Mastodon users first because of two reasons. Mastodon users have only one feed, so the follow post is simpler to create (where as IndieWeb people might have several feeds I follow). Also Mastodon users don't have much visibility outside of Mastodon so in order for people to be aware of who I am and that I am following them, I needed to create a follow post to send to Bridgy Fed.

  • He marks up follow posts by creating an h-entry with a u-follow-of attached to an h-card of the Mastodon user profile that I am following. If I want to include any explanatory content about why I am following that person I add it to the content.
  • Eddie is thinking through how he wants to create follow posts for IndieWeb people where he follows multiple feeds (topics or type of posts).

Greg McVerry

Greg McVerry added a following page on September 11, 2018. He keeps a list at [4]. Greg used the WordPress Links Manager and the Link Page plugin. He then published a following post type after adding a link:

I just added <a class="u-follow-of" href="$url">$title</a> by <a class="h-card" href="$url">$name</a> to my following page.
  • now uses Known and manually adds the u-follow-of in the post and publishes each with the hashtag #BeYourOwnSocialNetwork. Then promptly forgets to add the source to both his reader and his following page.
  • as of 2019-11-03 publishes a follow post as note from his own domain and then adds an h-card to his following page.

gRegor Morrill

gRegor Morrill has posted a couple follow posts since 2019-06-29

Text examples

rhiaro

Amy Guy displays follows posts since 2015-04-27, see list at https://rhiaro.co.uk/follows (but they also show up mixed in with other post feeds). They were previously marked up with u-x-follow-of on the URL of the person/site followed, but as of 10/30/18 seem to be without such markup.

Tantek

Tantek Çelik occasionally posts "followed" posts since 2021-01-20 (at least).

Past examples

Ben Roberts

Ben Roberts had a follow post created on 2015-05-11, marked up with u-follow-of on the URL of the following. E.g.:

Subsequently broken during software changes and removed as this was the ONLY follow post created ever.

  • Still shows "followed" text, without any link or username of who/what was followed (2021-01-20)

Silo Examples of Follow Posts

Implementations

Bridgy Fed

When an ActivityPub (eg Mastodon) user follows a IndieWeb Bridgy Fed user, it translates that to u-follow-of #microformats2 & HTML and sends it to the IndieWeb user as a webmention.

Likewise, when an IndieWeb user sends a u-follow-of webmention to an ActivityPub user via Bridgy Fed, it translates that and sends an ActivityPub Follow activity.

unicyclic.com

The page: https://unicyclic.com/indieweb looks for follow posts when receiving webmentions, and will add the author to the planet on that page by looking for a feed to subscribe to based on the author's url.

Reader Examples

Feedly

Feedly uses the terminology "source" in the interface. You can add a new source to follow, and the prompt asks to "search by title, URL, or #topic".

Entering a search term will return feeds that match the term. It is not obvious what is being searched, whether it is limited to blogs already being followed by someone, or if there is some other database being searched.

If you enter a full feed URL, such as the JSON Feed URL below, that exact match will be the first result.

After the search result is returned, there is a "follow" button next to each, as well as some additional information about the feed. The following information is displayed if available:

  • The number of subscribers (unclear on how this is determined, presumably the number of Feedly users who are also subscribed)
  • An approximation of the frequency of new articles, given as a number of articles per week
  • The name of the feed
  • A description of the feed
  • The name of the latest post in the feed
  • A list of hashtags associated with the feed (unclear on where this list comes from, since it's not from the feed itself)
  • An icon for the feed, or a placeholder with the first letter of the name of the feed

Clicking on the feed name will pop open a modal dialog with a preview of the items in the feed.

Clicking on the "follow" button will open a menu to select which of your "feeds" you want to add this source to.

FeedHQ

FeedHQ allows you to give a name to a feed, and you can choose which category it should appear under in the reader interface. FeedHQ requires that you enter the full feed URL when subscribing. If the feed URL is valid, you will be subscribed immediately.

If you enter a URL that is not a recognized feed format, it shows an error after submitting.

Silo examples

(stub section - please help expand!)

Facebook

Facebook has both following and friending:

"When you add someone as a friend, you automatically follow that person, and they automatically follow you. This means you may see each other's posts in News Feed. When you follow someone who you're not friends with, you'll see posts that they've shared publicly in your News Feed." - Facebook help.

As a result, you can follow people you're not friends with who have allowed this in their privacy settings, and you can unfollow people you are friends with, so their content doesn't appear in your timeline, without unfriending them.

(needs screenshot of Facebook "Follow" and "Friend" button/menu-item(s) on Facebook itself, preferably in both logged in and logged out variants)

  • Facebook periodically shows new friend connections in the main feed, and so far as I can tell up-to-the-minute new friend information in the right sidebar.
    • (needs screenshot)
  • It also has 'suggested follows/friends' (link/page/screenshot?) and the ability to suggest a friend to someone.
    • (needs screenshot)

Issues:

  • Algorithmic filtering - you likely will not see all the posts of everyone you are following (note the "you may see each other's posts" - may not will). Facebook has an algorithm they use to show you only posts that they think you'll want to see from those you are following.

Twitter

(needs screenshot)

  • Twitter has only one-way following, but the API describes people you follow as 'friends'. (Twitter API /friends)
  • If you view someone's profile who is following you, the "Follow" button says "Follow Back"
  • Twitter pushes notifications to mobile apps when several people I follow all follow the same person and intersperses 'so-and-so followed blah' posts amongst tweets in a person's main timeline.

(needs screenshot)

Twitter also has a few explicit features to encourage more following:

Brainstorming

Following People vs Feeds

Summary by Tantek Çelik: I believe in the "follow a person" model, and then mute types of content you don't want to see (or hashtags) — where muting is obviously private (only you know about what you have muted), rather than the juggle/manage all the feeds/silos of a person you are trying to follow.

  • Challenge: a singular "person-follow" model might be difficult to switch (teach) users to use, perhaps even futile because it goes completely against the dopamine reinforced interaction of a new silo popping up (e.g. Threads) and stimulating everyone with a whole new set of follows / allow-follows / follow-backs etc., perhaps even from people they haven’t heard from or interacted with in a while (months, years), and serves as a very subtle hey I'm still here and still interested in what you have to say.

TODO: This section needs a summary of the actual conversation

There was an in-depth discussion in the chat about the difference between following people and following feeds and the differences between RSS and Social Media in that way. Conversation starts here and ends here.

Eddie Hinkle pointed out a challenge with following IndieWeb users with potentially multiple feeds rather than a Twitter or Mastodon user which has a single user profile and feed at the same url.

I created my first follow post (which was actually for a Mastodon user via Bridgy Fed). It worked well because I was able to do a u-follow-of with an h-card where the url of the h-card pointed to the Mastodon users profile. I think the part I'm stuck on is when I am following a person's feed that is not on their profile. I still want my follow post to be their h-card. But I think I also want to include the url of the feeds I am following. Marking them up as u-url is wrong because its not about identity, but rel=feed wouldn't be restricted to the h-card. I think we might need a proposed mf2 h-card property that denotes a feed url of some sort.

Tantek Çelik: I think per-silo follows is something we should eliminate from UI with indieweb-person-follows. If silos are like feeds, it doesn't really provide useful information (to others) to broadcast which particular feeds of a person you are (un)following, similar to how no one regularly broadcasts who or which topics they are (un)muting, with perhaps the exception of half-sarcastic "Unfollowed" posts/tweets/replies.

Follow posts

Why create/publish "follow" posts that say 'A followed B' (or 'A unfollowed B').

  • Amy Guy: As the community is currently small, I'm interested in seeing when people I follow follow someone new, in case I want to follow them as well. This might not work so well if I was following hundreds of people (silos curate this information for you for a reason..).
    • I'd potentially be more interested in choosing whose follows I see myself (eg. by subscribing to a specific 'follows' feed by someone).
    • I'm not sure about posts for unfollows. Broadcasting unfollows could be rude/offensive/upsetting but if you unfollow someone for a specific reason (they are abusive, hostile, boring) it might be useful for me to know you've done this (and why).
    • I'm definitely interested in keeping track of when I follow/unfollow people and creating follow/unfollow posts with published dates seems like a good way to do this. Could also add a note about why I (un)followed them (lots of people I follow on Twitter are consistently interesting but I can't remember when/how I found them).
    • If I follow someone then unfollow them later, I don't necessarily want the fact I ever followed them in the first place to be lost to the ether.
  • Tantek Çelik
    • agreed with Amy Guy’s use-cases
    • ideally one would "own your follows" by always posting follow posts on your own site. And then POSSE as necessary. See subsection:
  • Multiple people in 2022/12, two chats
    • reinforced the distinction between following and follow posts
    • Following is usually a private action within a given reader, whether via Microsub or other reader-specific UI. Users often don't want to make a follow post, especially not a public one, in order to follow and read someone in their reader.
    • Follow posts, eg u-follow-of, on the other hand, aren't common or widely supported yet, and generally aren't connected to readers. Bridgy Fed is one exception, but it's moving away from them and toward its own UI.

POSSEing follow posts

Tantek Çelik: When I post a follow post of someone on a silo, ideally I would POSSE that to the silo automatically, through a silo API, or at least via Bridgy Publish:

Follow notifications

Every silo gives you the option to be notified when someone follows you. Is anyone sending/expecting webmentions for this?

Could this be done as:

  • someone visits {site A}
  • {site A} has "follow" button ( potentially with local meaning, so for the currently visited resource, like a page, a tag collection page, etc. )
  • clicking on the follow button leads to indieauth
  • site B authenticates
  • {site A} detects webmention endpoint on {site B}
  • {site A} registers {site B} to be webmentioned an update occurs on that resource to the resouce
  • webmention should probably include an additional field, so it would be like
   source={source}&target={authed URL webmention endpoint}&type=notification

?

Following vs subscribing

Following can be considered synonymous with subscribing, for example via a reader to consume content from a website or feed. This makes sense on platforms where each person has only one feed (eg. Twitter). However it's worth noting that one person or site can have multiple feeds (different types of content, different topics etc) so it might be useful to differentiate between following a person and subscribing to a feed.

Subscribe has a less personal connotation. You subscribe to a paid service (e.g. "I subscribe to the New York Times"), newsletter, or YouTube channel while you follow someone on social media.

Ongoing Follow

Performing a follow action on all platforms is a one time action done by clicking a button or entering your email address in a field and then clicking a button.

If one is no longer interested in receiving updates from a source, they must perform an unfollow which is another manual action.

  • Twitter - unfollow
  • Instagram - unfollow
  • mailing list - click on unsubscribe link in email, then confirm on webpage
  • Facebook - unfriend (person), unlike (page), unfollow (person or page which allows it)
  • some blogs - unsubscribe via web interface

Temporary Follow

There is the idea of a temporary follow, which is like a normal follow, but a temporary follow automatically expires after a certain amount of time or other condition is met.

Blog comments on the WordPress platform have a rough implementation of this idea. Once one leaves a comment "follows" a thread, the WordPress platform asks "Would you like be notified of additions to this conversation?" upon selecting yes, the user is notified of follow up discussion. Aside from WordPress the only app that seems to be doing something in respect to cross platform notifications of updates to conversations is [5]

Some examples where this could be really useful are:

  • Notify people involved in a previous conversation X about new post Y that relates to X "Orignal poster has
    • Jacky Alciné 2024-01-17: This reads like the logic for notifications that add fluff in notifications feeds like Facebook or Instagram. Would be useful if configured by default-off via an algorithm,
  • Temporarily follow everyone at an event for duration of the event, then expire a week after event is complete

The first example starts to border on the territory of notifications in providing simple UI feedback to a user!

Follow button

(this may deserve its own page at some point, especially to distinguish in-silo follow buttons from cross-site follow button webactions)

"Follow" buttons are a popular and reasonably well understood convention in various service UIs (screenshots needed in examples above), thus it makes sense to develop an indieweb equivalent (beyond the existing "Subscribe" links/buttons).

Follow bookmarklet

With an indie reader you can potentially follow any site. woodwind already has a subscribe endpoint that works with a URL, so a bookmarklet is easily made:

 javascript:var w=window.open('https://woodwind.xyz/subscribe?origin='+encodeURIComponent(location.href),'follow','scrollbars=1,status=0,resizable=1,location=0,toolbar=0,width=360,height=480');

SubToMe

Main article: SubToMe

Start with experimenting with SubToMe to learn and understand how that works, before designing a generic "Follow" button or webaction (markup, indie-config handler etc.)

Follow Webaction

It may make sense to also wrap an indie Follow button by using a Follow webaction, around service specific Follow button(s) from silos like Twitter and Facebook, both of which have "Follow" button markup you can add/deploy on your own website

As a webaction, you don't necessarily want to subscribe to the page you are on - for example twitter supports follow on any user in the visible thread - the indie equivalent to this would be adding follow buttons to author urls in replies, comments and other webmention presentations.

For more (code, examples) see:

Silo Examples

Twitter

Twitter has a follow button that you can place on your own website and thus acts as a Twitter-specific follow webaction.

Following as Feedback

On several silos follower counts are seen as important feedback on one’s work as well as a way of showing potential employers and advertisers that people like the content you are putting out there. The number of subscribers on YouTube is one such metric.

This means following out-of-band, e.g. through the use of feed readers, is taking away important feedback from content creators.

(question: some feed readers identify subscriber numbers while fetching feeds. how common and reliable is this? (only useful for feedback to publisher obviously, not as social signal to others) – sknebel)

  • Martijn van der Ven makes sure to subscribe to YouTube channels on the site and uses YouTube’s OPML exporter to keep his feed reader in sync with subscriptions.
  • Peter Molnar is switching from stalking RSS feeds to following people within silos - photographers on Flickr, 500px, etc, for example, so they get feedback on the number of their followers. This was always a problem with RSS (or any similar feed), even though services like Feedburner and embedded analytics (both JS and via tracking images) were trying to mitigate it, they never really worked well. Experiment concluded: left most silos behind. On the ones I didn't, I "follow" them inside the silo, but in reality, I'm just using the RSS feeds in my reader; this way they get the numbers, and I get to enjoy the content in a sane way.

The article "The Follower Factory" in the New York Times 2018-01-27 has a cautionary tale about bot following factories that could inform the value of following as feedback. How can we build to prevent this type of gaming so that the feedback has some actual value?

microformats2 & HTML

Early examples have been using a follow-of property on their posts. A minimal follow post based on a note would be:

<div class="h-entry">
 <time class="dt-published">2013-03-07</time>: 
 <p class="p-name p-content">
  <a class="u-author" href="/">I</a> started following <a class="u-follow-of h-card" href="http://tantek.com/">Tantek</a>.
 </p>
</div>

Criticism

  • I find the term `follow` too much cult wording; personally I'd prefer something with less ties to religions. However, languages change; one the other hand, using the term `follow` in the first place could have been precisely to magnify the old meaning itself. - Peter Molnar
    • I'm a bit in the same boat. I'd like to see some options like {un,}subscribe or even {un,}flow - Jacky Alciné

See Also