Open social

From Things and Stuff Wiki
Jump to navigation Jump to search


to iron out order, etc.

See also Semantic web, Chat#Jabber.2FXMPP, Network#Mesh

Movements and initatives

and communities

GMPG

2003

OpenSocial

2007

  • OpenSocial is the industry's leading and most mature standards-based component model for cloud based social apps.
    • Wikipedia:OpenSocial is a public specification that defines a component hosting environment (container) and a set of common application programming interfaces (APIs) for web-based applications. Initially it was designed for social network applications and was developed by Google along with MySpace and a number of other social networks. In more recent times it has become adopted as a general use runtime environment for allowing untrusted and partially trusted components from third parties to run in an existing web application. The OpenSocial Foundation has also moved to integrate or support numerous other open web technologies. This includes Oauth and OAuth 2.0, Activity Streams, and portable contacts, among others.

DataPortability

November 2007

There are numerous open standards that are considered to advance the vision, such as RDF, RDFa, microformats, APML, FOAF, OAuth, OpenID, OPML, RSS, SIOC, the XHTML Friends Network (XFN), XRI, and XDI.

DiSo

December 2007

  • DiSo Project (dee • soh) is an initiative to facilitate the creation of open, non-proprietary and interoperable building blocks for the decentralized social web. Silo free living. Social networks are becoming more open, more interconnected, and more distributed. Many of us in the web creation world are embracing and promoting web standards — both client-side and server-side. Microformats, standard APIs, and open-source software are key building blocks of these technologies. This model can be described as having three sides: Information, Identity, and Interaction. Our first target is WordPress, bootstrapping on existing work and building out from there.

OStatus / StatusNet

via Identi.ca, 2008

august 2010

aug 2013; @tantek | previous efforts at directly designing decentralized protocols (without selfdogfood) always result in overly complex protocols that not enough people can implement. e.g. Salmon

now part of GNU Social

rssCloud

2009

Federated Social Web

2010, 2012

Drupal related

old

onesocialweb

2011?

pump.io

2012, succeeds OStatus / StatusNet

a general-purpose Activity Streams engine. It diverges from OStatus in a few other respects, of course, such as sending activity messages as JSON rather than as Atom, and by defining a simple REST inbox API instead of using PubSubHubbub and Salmon to push messages to other servers. Pump.io also uses a new database abstraction layer called Databank, which has drivers for a variety of NoSQL databases, but supports real relational databases, too. StatusNet, in contrast, was bound closely to MySQL. But, in the end, the important thing is the feature set; a pump.io instance can generate a microblogging feed, an image stream, or essentially any other type of feed. Activity Streams defines actions (which are called "verbs") that handle common social networking interaction; pump.io merely sends and receives them.

App.net

2012

Tent

2012

  • Tent is the protocol for decentralized communication. Tent uses HTTPS and JSON to transport posts between servers and apps.
    • Tent - use data and posts across your apps and send and receive posts from friends. Right now, most people use Tent to share short 256 character long status posts with friends. Many independent developers are building other apps that use the Tent protocol.

#indieweb

indieauth, activitystrea.ms, RSSB, etc.

  • ActivityPush - A lightweight method for URI addressable resources to be automatically notified about remote (off-site) activites on them. A crypto-free alternative to the Salmon Protocol for public activites.

Projects

Semantic

See also Data#Semantic Web

Microformats

2003

  • hAtom – for marking up Atom feeds from within standard HTML
  • hCalendar – for events
  • hCard – for contact information; includes:
  • adr – for postal addresses
  • geo – for geographical coordinates (latitude, longitude)
  • hMedia - for audio/video content
  • hNews - for news content
  • hProduct – for products
  • hRecipe - for recipes and foodstuffs.
  • hResume – for resumes or CVs
  • hReview – for reviews
  • rel-directory – for distributed directory creation and inclusion
  • rel-enclosure – for multimedia attachments to web pages
  • rel-license – specification of copyright license
  • rel-nofollow, an attempt to discourage third-party content spam (e.g. spam in blogs)
  • rel-tag – for decentralized tagging (Folksonomy)
  • xFolk – for tagged links
  • XHTML Friends Network (XFN) – for social relationships
  • XOXO – for lists and outlines

RDFa

2004

See open data#rdfa

Sitemaps

2005

  • Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site.

OpenSearch

2005

Microdata

2009

Open Graph Protocol

2010

Schema.org

2011

  • Schema.org provides a collection of schemas, i.e., html tags, that webmasters can use to markup their pages in ways recognized by major search providers. Search engines including Bing, Google, Yahoo! and Yandex rely on this markup to improve the display of search results, making it easier for people to find the right web pages.

Twitter Cards

2012

  • Twitter Cards make it possible for you to attach media experiences to Tweets that link to your content. Simply add a few lines of HTML to your webpages, and users who Tweet links to your content will have a "card" added to the Tweet that’s visible to all of their followers.

Authentication

See also Communication#Identity

OpenID

2005

  • OpenID is an open standard that allows users to be authenticated by certain co-operating sites (known as Relying Parties or RP) using a third party service, eliminating the need for webmasters to provide their own ad hoc systems and allowing users to consolidate their digital identities.

OAuth

OAuth - 2006-2010, OAuth 2 - 2012

OAuth began in November 2006 when Blaine Cook was developing the Twitter OpenID implementation. Meanwhile, Ma.gnolia needed a solution to allow its members with OpenIDs to authorize Dashboard Widgets to access their service. Cook, Chris Messina and Larry Halff from Ma.gnolia met with David Recordon to discuss using OpenID with the Twitter and Ma.gnolia APIs to delegate authentication. They concluded that there were no open standards for API access delegation.

The OAuth discussion group was created in April 2007, for the small group of implementers to write the draft proposal for an open protocol. DeWitt Clinton from Google learned of the OAuth project, and expressed his interest in supporting the effort. In July 2007 the team drafted an initial specification. Eran Hammer joined and coordinated the many OAuth contributions, creating a more formal specification. On October 3, 2007, the OAuth Core 1.0 final draft was released.

Because OAuth 2.0 is more like a framework rather than a defined protocol, any OAuth 2.0 implementation is unlikely to naturally be interoperable with any other OAuth 2.0 implementation. Further deployment profiling and specification is required for any interoperability.

OpenID Connect

2010

WebID

2011

BrowserID / Persona

2011

  • EyeDee.Me - EyeDee.Me is an example Indentity Provider for the BrowserID protocol. This protocol is used by Mozilla Persona to authenticate users across the web. EyeDee.Me styles itself like an email provider, but does not actually handle any email. Rather, it exists solely as an example for how services, such as email providers, can provide first-class support for BrowserID.
  • BigTent - A ProxyIdP service for bridging major IdPs who lack support for the BrowserID protocol.
  • checkmyidp.org - A Mozilla Persona Identity Provider (IdP) Linter
  • 123done - your tasks - simplified. test login.

IndieAuth

  • IndieAuth is a way to use your own domain name to sign in to websites. It's like OpenID, but simpler! It works by linking your website to one or more authentication providers such as Twitter or Google, then entering your domain name in the login form on websites that support IndieAuth.

Discovery

XRD

XRD: Extensible Resource Descriptor 
XRDS: Extensible Resource Descriptor Sequence

The XML format used by XRDS was originally developed in 2004 by the OASIS XRI (extensible resource identifier) Technical Committee as the resolution format for XRIs. The acronym XRDS was coined during subsequent discussions between XRI TC members and OpenID developers at first Internet Identity Workshop held in Berkeley, CA in October 2005. The protocol for discovering an XRDS document from a URL was formalized as the Yadis specification published by Yadis.org in March 2006. Yadis became the service discovery format for OpenID 1.1.

A common discovery service for both URLs and XRIs proved so useful that in November 2007 the XRI Resolution 2.0 specification formally added the URL-based method of XRDS discovery (Section 6). This format and discovery protocol subsequently became part of OpenID Authentication 2.0. In early 2008, work on OAuth discovery by Eran Hammer-Lahav led to the development of XRDS Simple, a profile of XRDS that restricts it to the most basic elements and introduces some extensions to support OAuth discovery and other protocols that use specific HTTP methods. In late 2008, XRDS Simple has been cancelled and merged back into the main XRDS specification resulting in the upcoming XRD 1.0 format.

.well-known

older;

newer;

  • Simple Web Discovery (SWD) defines an HTTPS GET based mechanism to discover the location of a given type of service for a given principal starting only with a domain name.

Web Linking

WebFinger

  • WebFist uses DKIM-signed email to prove that you, the user, want to participate in WebFinger, regardless of what your provider says. By sending a single email you can delegate your WebFinger profile to your own website host or anything that can serve the service document over HTTP (e.g., Google Drive). This is ridiculously easy for users. You can even set up WebFist via a mailto link on a webpage. To accomplish decentralization, WebFist servers take delegation emails, encrypt them into blobs, and distribute the blobs safely across a pool of peer servers. These servers synchronize with a "fist bump", transferring just encrypted blobs without secret keys. This makes it near impossible to enumerate every email address in WebFist.

JSON Resource Descriptor

  • JSON Resource Descriptor (JRD) is a simple JSON object that describes a "resource" on the Internet, where a "resource" is any entity on the Internet that is identified via a URI or IRI. For example, a person's account URI (e.g., acct:bob@example.com) is a resource. So are all web URIs (e.g., http://www.packetizer.com/). The JSON Resource Descriptor, originally introduced in RFC 6415 and based on the Extensible Resource Descriptor (XRD) format, was adopted for use in the WebFinger protocol, though its use is not restricted to WebFinger or RFC 6415.
  • JRD, the Other Resource Descriptor - May 24th 2010
  • RFC6415: Web Host Metadata

Also used in OpenID Connect.

Web Intents

  • Web Intents is a framework for client-side service discovery and inter-application communication. Services register their intention to be able to handle an action on the user's behalf. Applications request to start an Action of a certain verb (share, edit, view, pick etc.) and the system will find the appropriate Services for the user to use based on the user's preference. Web Intents puts the user in control of service integrations and makes the developer's life simple.

UserAddress

  • UserAddress is a search engine that can discover users as long as they are discoverable through one of the following languages: xrd (e.g. Webfinger including StatusNet, Google+, Friendica, Diaspora), rdf (e.g. Foaf), html (e.g. Tantek, Melvin), turtle (e.g. Facebook), Twitter-flavoured json (Twitter), Planned: xmpp-vcard (e.g. BuddyCloud)

Profile

vcard

hcard

  • hCard is a microformat that allows a vCard to be embedded inside an HTML page. It makes use of CSS class names to identify each vCard property. Normal HTML markup and CSS styling can be used alongside the hCard class names without affecting the webpage's ability to be parsed by a hCard parser.

avatar

attention

Feeds / Activity

RSS

Atom / APP

Clients

Web aggregation

  • https://code.google.com/p/openbotlist/ - open source suite of software applications for social bookmarking and collecting online news content for use on the web. Multiple web front-ends exist based on Django (through Google AppEngine), Rails, and J2EE. Users and remote agents are allowed to submit interesting articles. There are additional remote agent libraries for back-end text mining operations. The system is broken up by the back-end specification and front-end specification.
  • PubwichFork - An open-source PHP web application that allows you to aggregate published data from multiple websites and social services into a single HTML page.
  • Bookie - Python based delicious.com replacement
  • Shaarli is a minimalist delicious clone you can install on your own website. It is designed to be personal (single-user), fast and handy.

Services

Library

Activity Streams

2009

  • pump.io - Social server with an ActivityStreams API

Pub/sub

XMPP PubSub

2002

PubsubHubBub

2008

  • PubSubHubbub (PuSH) - A simple, open, server-to-server webhook-based pubsub (publish/subscribe) protocol for any web accessible resources.

trsst

2013

http-subscriptions

via webhooks

Linkbacks

Ping

1999

Trackback

2002

Pingback

2002

Semantic Pingback

WebMention

2012

  • http://webmention.io/ is an open-source project and hosted service for receiving webmentions and pingbacks on behalf of your indieweb site.

Comments

CommentAPI

Salmon

  • Salmon Protocol is a message exchange protocol running over HTTP designed to decentralize commentary and annotations made against newsfeed articles such as blog posts. It allows a single discussion thread to be established between the article's origin and any feed reader or "aggregator" which is subscribing to the content. Put simply, that if an article appeared on 3 sites A (the source), B and C (the aggregates), that members of all 3 sites could see and contribute to a single thread of conversation regardless of site they were viewing from.

WebMention

Interaction

OExchange

Web Intents

  • Web Intents is a framework for client-side service discovery and inter-application communication. Services register their intention to be able to handle an action on the user's behalf. Applications request to start an Action of a certain verb (share, edit, view, pick etc.) and the system will find the appropriate Services for the user to use based on the user's preference.

Graph

FOAF

2000

FOAF (from "friend of a friend") is an RDF based schema to describe persons and their social network in a semantic way. FOAF could get used within many wikis for annotating user pages, or describing articles about people.

See Open web#WebID

XFN

2006

Portable Contacts

2008

The protocol is a combination of OAuth, XRDS-Simple and a wire-format based on vCard harmonized with schema from OpenSocial.

Other

Networks

See also Comms, Network#Projects

theory and practice

GNUnet

2001

  • GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship-resistant file-sharing. Anonymity is provided by making messages originating from a peer indistinguishable from messages that the peer is routing. All peers act as routers and use link-encrypted connections with stable bandwidth utilization to communicate with each other. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service. GNUnet is part of the GNU project. GNUnet can be downloaded from GNU and the GNU mirrors.

Kune

2007

xOperator

2007

  • xOperator - A semantic agent for xmpp / jabber network which finds and shares content about resources (using RDF/SPARQL) for you and your jabber friends.

Sneer

2008

  • Sneer is a free and open source sovereign computing platform. It runs on your Windows, Mac or Linux machine (like Skype or Firefox) using the Java VM. It enables you to create your personal cluster by sharing hardware resources (CPU, disk space, network bandwidth) with your friends, host your own social network, information and media, create sovereign applications and share them with others, download and run sovereign applications created by others.

was http://sovcomp.net/

Semantic Microblogging

2008

OpenLink Data Spaces

2009

Diaspora

2010

GNU Social

2010. uses older OStatus

Foafpress

2010

  • Foafpress - An open-source PHP web application and presentation engine that publishes profiles and web pages based on RDF data stored in files. It allows you to aggregate and publish data from multiple web sources via Linked Data.

Jappix

2010

buddycloud

2010

Mobile Social Semantic Web

2010

Friendica

2011

DSSN

2012

Nightweb

2012

  • Nightweb is an app for Android devices and PCs that connects you to an anonymous, peer-to-peer social network. It is written in Clojure and uses I2P and BitTorrent on the backend.

Vole

2013

  • Vole is a web-based social network that you use in your browser, without a central server. It's built on the power of Bittorrent, Go and Ember.js.

SOCML

Platforms

  • Sockethub is a polyglot (speaking many different protocols and APIs) messaging service for social and other interactive messaging applications. It assists web app developers by providing server-independent, server-side functionality - which gives the application greater autonomy. It can be used as a tool for many different types of applications, large and small.

Di.me

to sort

oEmbed

Hyperlocal

Pipedream

older ideas/ramblings

Social news idea

While I'm here (sending feedback for the new digg), my wishlist would be for;

  • Reddit style voting meets Slashdot comment categories, with social bookmark tagging for both users and groups/communities. *

Between upvoting and commenting, there are other types of actions that can be performed on items, like flagging as a favourite.

To add a better social bookmarking management system (better than Reddit search!), if a user could either;

- Click to Digg - (Click to thumbs-down/whatever is optional for communities, or like Hacker News) - Click to Favourite to own bookmark list -- And Tag, like del.icio.us, pinboard.in - Also, click to "Notice", as in not like the user "Diggs" or "Likes" the content of the article, and not that they want to bother saving it to Favourites, but a touch in the sence of a the *nix command, or a 'poke' to the issue embodies in the linked to page.

So, on the page, in ASCII;

This is the title of the link! 324 diggs/94 undiggs (small url) 863 noticed [++] [*] [~] [Tag:] [img thumb/whatever]

This is the title of another link! 243 diggs/213 undiggs (small url) 546 noticed [++] [*] [~] [Tag:] [img thumb/whatever]

(the buttons representing 'digg', 'favourite/save', 'notice' and 'tag:'

the tag textarea expands on clickingm like the stackexchange search box, and does auto-complete for a users tags, with suggestions from the global tags, like del.icio.us. personal taxonomy can be cached locally for users.)

ALSO - reposts in different communities can tie back to a global site dashboard listing related taxonomies, from groups and users who favourite the link publically

So

  • Bottom up social tagging link topic clustering
  • Some communities have taxonomies moderated
  • Moderated taxonomies could be linked with Linked Data, DPpedia, etc.
  • So some serious bits of the site, some open and silly bits
  • Bits and bobs displayed in a timeline format (D3.js?), arrows between concepts in a postcyberpunk style semantic news and search display
  • Paid access for high-volume API calls


Group types

from old wiki

Groups for collaboration on and sharing of conversation, news, code, media, services, etc.

  • Active = Groups as in membership.
    • Who can 'join'?
      • Open = Cost of entry is participation.
      • Closed = Some form of new-member rules.
    • What output can people see?
      • Public = Open process, easily forkable.
      • Private = Group or subgroup curates output, hidden process. Trust?
  • Passive = Groups as in topics of interest.
    • Web of semantically related topics and ideas.
    • Mining and 'routing' of relevant related content


Individual hubs could federate the service they wished (widgets, social aggregation, files, etc) in a manner that could be open or hidden. Tunnelled inter-darknet connections between anonymised users and services.

Process consensus-holders