pin

 pin  or pinning is a feature that allows the author to choose a post to put at the top of their profile (or homepage) which is then called a pinned or sticky post.

Why
Sometimes you want to bring attention to a post that's more currently relevant than just the most recent post in your stream, e.g. By "pinning" such a post to the top of your stream, you make sure any new readers (or returning readers) who visit your homepage or profile see that post first, and consider it as recently (or still) relevant even if it is not the most recent thing you have posted.
 * before an imminent event (human) or site shutdown
 * a currently active event
 * fundraising campaign

Aaron Parecki
supports pinned posts in tag pages since 2016-12-28, e.g.:
 * https://aaronparecki.com/tag/100daysofindieweb

capjamesg
can pin posts on his homepage. The pinned post at the top of the homepage appears with a green border and a label indicating the post is pinned.

Here is an example:



... add yourself!
...

Software Support

 * WordPress has supported sticky posts since 2.7

Facebook
Facebook has supported pinned posts on events, pages, and groups for quite some time (the admin/creators of such posts/pages has the ability to (un)pin posts).
 * Noticeably absent: Facebook DOES NOT have the ability for a user to pin a post on their own profile/timeline.



Facebook pinned posts appear with a separate header from "recent activity" and look visually distinct from the chronological list of posts.

Twitter
Twitter's mid-2014 UI update added support for a pinned post on a user profile.



Twitter pinned tweets are marked with "pinned tweet", but otherwise are integrated into the primary list of tweets.

Last.fm
Last.fm supports adding pinned obsessions to the top of one's user profile. These are automatically set to expire after one week.

Example of UI to set a pinned post (aka obsession): notice red button

Example of UI for pinned post (aka obsession)

Brainstorming
More thinking on pinned / sticky posts. Various thoughts:

first or just near top

 * You may not want it to be the first post in your profile - because that may give the illusion that there's nothing newer.
 * Possibly 1-2 normal in-stream posts display, then followed by the pinned post, almost like it is a promoted post for itself.
 * undefined: I'm pretty sure I want my pinned post to presentationally be the first post-like thing on my profile, in the stream of posts etc.
 * Note: implements pinning as show as first post, and Twitter, Facebook both also implement pinning as first post.

special presentation
Any special presentational considerations for pinned posts? Besides being shown "first" (see above)?


 * undefined - the pinned post should have some indication that it is pinned and not just the latest post.
 * minimum: text (and/or icon) above the post (content) like Twitter's "Pinned Tweet" or Facebook's "Pinned Post", or 's little "pin" icon on a green triangle in the top right of a post block.
 * maybe a separate border around the post? especially if there is a header like "Recent Activity" after the pinned post but before the normal ordered stream of posts (FB does this)
 * new template slot? a specific spot in a home page template for a pinned post may help move some presentational distinctions to just HTML+CSS, and leave the "engine" to just find and put a pinned post in the right spot in the template. The more presentation that can be done in HTML+CSS rather than procedural coding, the better. Since this may be engine specific, I’ll add more in: Falcon

markup details

 * undefined Just an h-entry. Should a pinned post have any different markup than a regular post? Only if there is a specific use-case need, otherwise, it's just a post.
 * undefined Still part of explicit (or implicit) h-feed on the page. Since a pinned post should only be shown once in a stream (instead of twice, at the top and in the stream in sort order), the pinned post h-entry should be either explicitly in the same h-feed, or at least at the same level (from a microformats2 parser perspective) as the other h-entrys on the page, so that h-feed consuming code will just include it in the overall stream it presents to readers etc.


 * mastodon's api has a 'pinned' boolean but that doesn't show up in the h-feed except as:

   Pinned toot The Atom feed doesn't have the pinned statuses in.

Aaron's pinned posts likewise have 

tag or category specific

 * I want to be able to pin posts in different feeds, ie. on certain tag pages. So the post could still appear chronologically in places where it's not pinned. -
 * Note: has implemented this, e.g. https://aaronparecki.com/tag/100daysofindieweb

pinning and feed files

 * I don't want a reader to treat a pinned post as always the most recent in a feed. Do readers sort things themselves by published date, or display things in the order they pull them from a feed? -
 * undefined I would not do anything with pinning in feed files. Readers are likely to just display in dt-published order most recent first anyway.

auto-unpinning
undefined I am considering implementing pinned posts, but having them auto-unpin (or expire) after some period of time like ~60 days. This will both make them easier to implement, and also provide an automatic way to not have to worry about unpinning something eventually. I like systems that by default clean-up after themselves.

Session
Sessions about pinning:
 * 2013/Hollywood/Pinning_Posts