IndieWebCamp February 20-27, 2015

This is an automatically-generated summary of the IndieWebCamp wiki edits from February 20-27, 2015

Table of Contents

New Pages

Changed Pages

New Pages

OPML

Created by Www.pierre-o.fr on February 21




OPML stands for Outline Processor Markup Language, an XML-based format and defacto standard used for feed lists interchange.

Brainstorming

In the context of IndieWeb, the idea of OPML could be interesting as a representation of whom you follow. Since it is supported by a variety of sources, It could be a good candidate to solve the "how do you discover people" question.

The advantage of using OPML is its support, however, like RSS, the standard has some limitations.

Alternative: publish a visible blogroll on the home page or somewhere on your site and mark it up with XFN.

Sharing via OPML

If you want to show to the world who you follow, you can share an opml file on your website.

List of sites doing it:

See Also

User:Distresssignal.org

Created by Distresssignal.org on February 26


User page for Bryan Schuetz

zero-gravitas on IRC

unfurling

Created by Loqi.me on February 25

  • Wed, February 25 loqi.me prompted by tantek https://indiewebcamp.com/irc/2015-02-25/line/1424906740865 and dfn added by tantek
  • Wed, February 25 tantek.com fix links, cite source, see also



unfurling is what Slack calls link-preview per https://api.slack.com/docs/unfurling

See Also

User:Blog.Andrewshell.Org

Created by Blog.andrewshell.org on February 23


Moved to: User:Blog.andrewshell.org

Main Page-es

Created by Xavierbadosa.com on February 24


¿Qué es la IndieWeb?

La IndieWeb es una alternativa centrada en la gente a la ‘web corporativa’.

icon 4611.png Tu contenido es tuyo

Cuando publicas algo en la web, debería pertenerte a ti, no a una empresa. Demasiadas compañías han cerrado y perdido todos los datos de sus usuarios. Uniéndote a la IndieWeb, tu contenido continúa siendo tuyo y estando bajo tu control.



icon 31635.png Estás mejor conectado

Tus artículos y mensajes de estado pueden transmitirse a todos los servicios, no solamente uno, y permitir así que te relaciones con todo el mundo. Incluso las réplicas y los "Me gusta" en otros servicios pueden regresar a tu web: de esta forma están todos en un único sitio.



icon 2003.png Tú tienes el control

Puedes publicar lo que quieras, en el formato que quieras, sin que nadie te monitorice. Adicionalmente, compartes enlaces legibles simples como ejemplo.com/ideas. Estos enlaces son permanentes y siempre funcionarán.



Más allá de los blogs y de la descentralización

La iniciativa de la IndieWeb es diferente de anteriores tentativas/comunidades:

  • Principios antes que proyecto-centrismo. Otros asumen una monocultura de un proyecto para todo. Nosotros estamos desarrollando una pluralidad de proyectos.
  • Selfdogfood en lugar de correo electrónico. Mostrar antes que hablar. Prioriza la solución de tus propios problemas, creando, iterando en tu propio sitio web.
  • Diseño primero, formatos en segundo lugar. Céntrate en una buena experiencia de usuario y en prototipos "selfdogfood" para crear los mínimos formatos y protocolos necesarios.

Quizás lo más importante: estamos centrados en la gente en lugar de proyectos, y tenemos encuentros regulares donde todo el mundo es bienvenido.

your thoughts on fat pings in general

Created by Loqi.me on February 26

  • Thu, February 26 loqi.me prompted by aaronpk https://indiewebcamp.com/irc/2015-02-26/line/1424968661792 and dfn added by ben_thatmustbeme
  • Thu, February 26 ben.thatmustbe.me



fat pings? I don't really know about that

thawr

Created by Loqi.me on February 27




thawr is a chat and messaging interface being developed by Ben Roberts at github.com/dissolve/thawr.

seenthis

Created by Www.pierre-o.fr on February 21

  • Sat, February 21 www.pierre-o.fr prompted by Pierre-O https://indiewebcamp.com/irc/2015-02-21/line/1424535694474
  • Sun, February 22 tantek.com stub, added problem of understanding, request to fix



This definition and page is both unclear in and of itself, and how it relates to the IndieWeb. If you understand "seenthis", please help fix this page! - Tantek 19:06, 21 February 2015 (PST)

Seenthis is a common (reference) that host content and help people curating it by using hashtags.

From there website:

"Short-blogging with no text limit. Curation and web survey. Cool automatic text layout. Forums under each post. Advanced and automatic thematisation."

It is interesting because you can comment on links, and by adding hashtags, it creates automatically a forum, or group, on this topic.

There is a nice article that describes deeper how it works by Thibault Henneton: fr Au fait, c’est quoi SeenThis ?

Main Page-ca

Created by Xavierbadosa.com on February 24


Què es la IndieWeb?

La IndieWeb és una alternativa centrada en la gent a la ‘web corporativa’.

icon 4611.png El teu contingut és teu

Quan publiques alguna cosa a la web, t'hauria de pertànyer a tu, no a una empresa. Massa companyies han tancat i perdut totes les dades dels seus usuaris. Unint-te a la IndieWeb, el teu contingut continua sent teu i estant sota el teu control.



icon 31635.png Estàs millor connectat

Els teus articles i missatges d'estat es poden transmetre a tots els serveis, no només a un de sol, i permetre així que et relacionis amb tothom. Fins i tot les respostes i els "M'agrada" en altres serveis poden tornar al teu lloc web: d'aquesta manera són tots en un únic indret.



icon 2003.png Tu tens el control

Pots publicar el que vulguis, en el format que vulguis, sense que ningu no et monitoritzi. Addicionalment, comparteixes enllaços llegibles simples com exemple.com/idees. Aquests enllaços són permanents i sempre funcionaran.



Més enllà dels blogs i de la descentralització

La iniciativa de la IndieWeb és diferent d'anteriors esforços/comunitats:

  • Principis abans que projecte-centrisme. Altres assumeixen una monocultura d'un projecte per a tot. Nosaltres estem desenvolupant una pluralitat de projectes.
  • Selfdogfood enlloc de correu electrònic. Mostrar abans que parlar. Prioritza la solució dels teus propis problemes, creant, iterant en el teu propi lloc web.
  • Disseny primer, formats en segon lloc. Centra't en una bona experiència d'usuari i en prototips "selfdogfood" per crear els formats i protocols necessaris mínims.

Potser el més important: estem centrats en la gent enlloc de projectes, i tenim encontres regulars on tothom és benvingut.

User:Xavierbadosa.com

Created by Xavierbadosa.com on February 24

  • Tue, February 24 xavierbadosa.com Created page with "My name is Xavier Badosa and I am the promoter of [http://json-stat.org JSON-stat.org]. JSON-stat is a simple lightweight JSON dissemination format best suited for data visualiza..."

My name is Xavier Badosa and I am the promoter of JSON-stat.org. JSON-stat is a simple lightweight JSON dissemination format best suited for data visualization, mobile apps or open data initiatives. I am also the author of the JSON-stat Javascript Toolkit, a library to deal with JSON-stat responses.

My current personal web project is dotepub.com: an automatic conversion service from web page to e-book (in the EPUB standard and in the Amazon MOBI format). Even though I don’t think e-books are the future of books, I’ve developed this tool for these transitional times full of dedicated devices with limited web browsing capabilities.

More at http://xavierbadosa.com.

pros

Created by Loqi.me on February 21

  • Sat, February 21 loqi.me prompted by GWG https://indiewebcamp.com/irc/2015-02-21/line/1424546969777 and dfn added by kylewm



pros are the advantages of a feature, protocol, or technology, typically weighted against its cons and the implementation time/cost

cons

Created by Loqi.me on February 21

  • Sat, February 21 loqi.me prompted by GWG https://indiewebcamp.com/irc/2015-02-21/line/1424546796660 and dfn added by kylewm



cons are important to consider in addition to the pros in the context of choosing an indieweb project.

XML

Created by Loqi.me on February 24




XML is a markup language syntax, similar to SGML, but with draconian error handling that tends to make it fragile in practice.

Retrieved from "http://indiewebcamp.com/XML"

weight

Created by Loqi.me on February 23




weight is a type of metric post documenting the weight of a person at a specific time

withings

Created by Loqi.me on February 23




withings is a company that makes quantified-self tracking devices such as a bathroom scale

User:Blog.andrewshell.org

Created by Blog.andrewshell.org on February 23


andrewshell.jpg

Andrew Shell

Andrew Shell is the Co-Founder and CTO of Pinpoint Software in Madison, WI.

@U03QR2B3P

Created by Aaronparecki.com on February 25

  • Wed, February 25 aaronparecki.com prompted by tantek https://indiewebcamp.com/irc/2015-02-25/line/1424905845330

<@U03QR2B3P> is Slack's user ID for Aaron Parecki

How to publish and consume PubSubHubbub

Created by Aaronparecki.com on February 26

  • Thu, February 26 aaronparecki.com attempt a simple description of PuSH 0.4 as it would be used in the indieweb context

This is a description of a limited version of PuSH 0.4 that is sufficient for supporting the IndieWeb use case of publishing feeds of h-entry posts.

Contents

Why

The PuSH 0.4 spec itself is actually relatively underspecified, leaving many choices up to the individual implementations. For example, it does not actually say how publishers should notify the hub of new content, nor does it specify what the hub should actually send to subscribers.

This guide makes some assumptions about the use case to give a more concrete description of how to use PuSH. It is meant to leave as little ambiguity as possible so that implementers have a direct path to using it.

How to Publish

Discovery

Consumers will need two pieces of information in order to subscribe to your content, the hub that you send pings to, and the topic which is just the URL that contains the feed, for example your home page.

Add the two URLs in an HTTP Link header, rel=self and rel=hub. If you can't add Link headers, then you can add HTML <link> tags instead. [1]

For example, the HTTP Link headers should look like this:

Link: <https://kylewm.superfeedr.com/>; rel="hub"
Link: <https://kylewm.com/>; rel="self"

Or if you can't (or don't want to) publish Link headers, you can link to them in the HTML:

<link rel="self" href="https://kylewm.com/">
<link rel="hub" href="https://kylewm.superfeedr.com/">

Notify the hub of new content

When you update your feed, you need to notify your hub that there is new content. Send an HTTP form-encoded POST to your hub with two fields:

  • hub.mode=publish
  • hub.url=YOUR_FEED_URL (this should be the exact URL you advertise in the rel=self link)

The hub will check your URL for new content, then notify all subscribers of the update.

How to Subscribe

Discover the "hub" and "self" URLs

Given a URL of posts such as https://kylewm.com/, you first need to discover what hub it is using.

To find the hub, first look for an HTTP Link header with rel="hub" and use that hub if found. If no Link header is found, check the HTML for a <link> tag with rel="hub" and use that URL.

To find the URL value, check for an HTTP Link header with rel="self" and use that URL if found. If no Link header is found, check the HTML for a <link> tag with rel="self" and use that URL instead.

Now you have two URLs, the "hub" and "self" URL.

Send the subscription request

To subscribe, send a form-encoded POST request to the hub with the following parameters:

  • hub.mode - The string "subscribe"
  • hub.topic - The URL with the content you are subscribing to, which was the value of the "self" link previously discovered
  • hub.callback - The URL that you want the hub to send notifications to, so it must be a publicly-accessible URL. It is a good idea to use a unique URL per subscription so that you know what feed is updated when you receive a notification.

The hub will reply with either 202 Accepted or 400 Bad Request. If there were any problems with the request, such as the subscriber attempting to subscribe to a topic that does not exist, the hub will return 400 Bad Request and a plain text description of the error. If the hub accepted the subscription request, it will return 202 Accepted and will then attempt to verify the subscription request.

The hub verifies the subscription request

After you send the request, the hub will make a separate request back to your callback URL to verify the request, so that attackers can't create arbitrary subscriptions for you.

The request will be GET request with the following query string parameters:

  • hub.mode - The string "subscribe"
  • hub.topic - The topic URL from the subscription request
  • hub.challenge - A hub-generated random string that must be echoed by the subscriber to verify the subscription
  • hub.lease_seconds - The hub-determined number of seconds that the subscription will stay active. After which the subscriber will need to subscribe again.

To confirm the subscription, you will need to reply with 200 OK and a request body of exactly the string provided in the "hub.challenge" parameter in the request. The response body should not contain anything else, and is not form-encoded, just the plain string.

To reject the request, reply with 404 Not Found and an empty body. Any response other than 200 OK will indicate to the hub that the subscription is rejected and you will not receive notifications of new content.

Receiving notifications of new content

Now that the subscription is created, you will begin receiving notifications at the callback URL you specified. Notifications will always be POST requests but may or may not contain a post body. The notification will also contain two Link headers with the rel=self and rel=hub URLs from the subscription.

Standard Notifications

Standard notifications will not contain a POST body. As a subscriber, if you receive an empty notification, you are expected to treat this as a notification that the publisher has updated the URL, and go fetch the new content yourself. Since the page will likely be an h-feed of posts, or an h-entry with comments, there will almost certainly be content there you have already seen. You will need to properly process only the items you have not yet seen.

Fat Pings

"Fat ping" notifications will contain a POST body with the HTML of the new entries the publisher added since the last notification. This mechanism is likely to be used by websites with a large subscriber base, to avoid triggering thousands of subscribers making HTTP requests to the publisher's site when an update is made.

The hub may parse the microformats from the publisher's website and re-create the HTML that is sent, so you should not assume the HTML is literally the same as it was from the publisher. The content will be the same of course, but it may have been reformatted if the hub parses the h-entry posts and re-generates new HTML entries from the data in the original.



How to Unsubscribe

Send the unsubscribe request

To subscribe, send a form-encoded POST request to the hub with the following parameters:

  • hub.mode - The string "unsubscribe"
  • hub.topic - The URL with the content you had previously subscribed to
  • hub.callback - The URL that you were receiving notifications at

The hub will reply with either 202 Accepted or 400 Bad Request.

The hub verifies the unsubscribe request

After you send the request, the hub will make a separate request back to your callback URL to verify the request, so that attackers can't remove subscriptions for you.

The request will be GET request with the following query string parameters:

  • hub.mode - The string "unsubscribe"
  • hub.topic - The topic URL from the subscription request
  • hub.challenge - A hub-generated random string that must be echoed by the subscriber to verify the request

To confirm and unsubscribe, you will need to reply with 200 OK and a request body of exactly the string provided in the "hub.challenge" parameter in the request. The response body should not contain anything else, and is not form-encoded, just the plain string.

To reject the request, reply with 404 Not Found and an empty body. Any response other than 200 OK will indicate to the hub that the subscription is rejected and you will not receive notifications of new content.

Convore

Created by Loqi.me on February 25




Convore is a group chat app/site. see https://gigaom.com/2012/01/10/convore-grove-io/

disemvoweling

Created by Loqi.me on February 27




disemvoweling is the practice of rewriting / quoting text and removing the vowels, often used as a light form of moderation short of deleting or blocking. See also: https://en.wikipedia.org/wiki/Disemvoweling

User:Tjgillies

Created by Tylergillies.club on February 25

  • Wed, February 25 tylergillies.club Created page with "I am hax0r many thing. * http://blog.tylergillies.club * http://tylergillies.club * http://kodumulo.tylergillies.club tjgillies in #pdxtech on freenode I like ruby and javasc..."

I am hax0r many thing.



tjgillies in #pdxtech on freenode

I like ruby and javascript and clojure and stuff.

Template:tjgillies

Created by Tylergillies.club on February 25

  • Wed, February 25 tylergillies.club Created page with "<span class="h-card">{{sparkline|http://kodumulo.withknown.com/file/d7110fd8687b9d1e615ad6267639194c/thumb.png}} [[User:tjgillies|Tyler Gillies]]</span>"

Tyler Gillies

Grove

Created by Loqi.me on February 25




Grove is https://grove.io/

oEmbed

Created by Tantek.com on February 25




oEmbed is a 2009-era JSON-based format for providing information to construct a link-preview of a page.

Contents

Criticism

Requires Extra Endpoint

oEmbed requires that any site support it support another URL (the oEmbed endpoint) to provide information that is otherwise available in the page itself.

Discussion

Some discussion of oEmbed vs. a simpler link-preview approach has occurred in IRC:

See Also

Changed Pages

events/2015-02-25-homebrew-website-club

15 edits by tantek.com, aaronparecki.com, kylewm.com, darius.dunlaps.net, tylergillies.club

PubSubHubbub

12 edits by kylewm.com, notizblog.org
  • Sat, February 21 kylewm.com /* Kyle Mahan */ now sending pings for the homepage h-feed as well
  • Thu, February 26 kylewm.com /* IndieWeb Examples */
  • Thu, February 26 kylewm.com /* How To */ reorganize and add some detail to the PuSH 0.4 How to
  • Thu, February 26 kylewm.com /* Notify Your PuSH Hub When Your Feed Updates */ this bit about subscribing to fragments should not be in the howto for publishers
  • Thu, February 26 kylewm.com /* Subscribe to a PuSH-enabled feed */ move fragment subscription stuff down here. add link to http://push-pub.appspot.com/
  • Thu, February 26 kylewm.com /* = Subscribing to Fragments */ balance ='s
  • Thu, February 26 kylewm.com /* Advertise PuSH Hub and Topic */ fix broken </code> tag
  • Thu, February 26 kylewm.com /* Publish a PuSH-enabled feed */ 0.4 allows publishers to publish any resource, not consumers to subscribe to any resource
  • Thu, February 26 kylewm.com /* Hubs */
  • Thu, February 26 kylewm.com /* Discussion */ note disagreement with "polling is good enough"
  • Fri, February 27 notizblog.org /* Added pubsubhubbub plugin */
  • Fri, February 27 notizblog.org /* David Shanske */

WordPress Data

9 edits by david.shanske.com

How to set up web sign-in on your own domain-ko

5 edits by www.ksazit.com
  • Tue, February 24 www.ksazit.com /* 1. 당신의 홈페이지에 다양한 소셜 프로필을 연결합니다. */
  • Tue, February 24 www.ksazit.com /* 2. On each service, ensure there is a link back to your home page */
  • Tue, February 24 www.ksazit.com /* 2. 각 서비스가 당신의 홈페이지와 연결되어 있는지 확인합니다. */
  • Tue, February 24 www.ksazit.com /* 3. You're done! */
  • Tue, February 24 www.ksazit.com /* Known Issues */

IRC People

4 edits by vanderwal.net, distresssignal.org, atomicules.co.uk

legacy contact

3 edits by willnorris.com, tantek.com
  • Sat, February 21 willnorris.com Add Google
  • Sat, February 21 tantek.com expand Google entry with names of services from their announcement, sort first since they launched it nearly 2 years before FB
  • Sat, February 21 tantek.com /* Silo Examples */

2015/Germany/Guest List

3 edits by marcthiele.com, nicolaischwarz.de

User:Colintedford.com

2 edits by colintedford.com
  • Thu, February 26 colintedford.com Doing manual POSSE / backfeed @ Twitter, comment forms, bug reports.
  • Thu, February 26 colintedford.com /* Noise filter */ Posting replies to "outbox" instead of home.

Woodwind

2 edits by kylewm.com

River4

2 edits by blog.andrewshell.org, tantek.com
  • Mon, February 23 blog.andrewshell.org Adding another river4 example
  • Tue, February 24 tantek.com highlight examples from independents above demo example, subhead features, "how to", "install"

2015/Germany

2 edits by marcthiele.com

2015/Cambridge/Guest List

1 edits by barryfrost.com

other-languages

1 edits by tantek.com

invitation

1 edits by kylewm.com
  • Tue, February 24 kylewm.com /* IndieWeb Examples */ add example of invitation post

Main Page

1 edits by tantek.com

timeline

1 edits by tantek.com

Docker

1 edits by waterpigs.co.uk
  • Mon, February 23 waterpigs.co.uk /* Issues */ added some issues noted after reading about and experimenting with Docker

short-domains

1 edits by jonnybarnes.uk
  • Sat, February 21 jonnybarnes.uk /* jmb.so */ change what my long domain is, and the new url structure.

User:Notizblog.org

1 edits by notizblog.org

Slack

1 edits by aaronparecki.com

fragmention

1 edits by kevinmarks.com

feed file

1 edits by aaronparecki.com
  • Thu, February 26 aaronparecki.com provide citation for "legacy" feed, and add link to [[PuSH]]

Squarespace

1 edits by tantek.com
  • Thu, February 26 tantek.com moved IndieAuth with rel-me how to - to historical section since it was for previous version of SquareSpace

2015/Edinburgh

1 edits by rhiaro.co.uk

webhook

1 edits by cweiske.de

sidefile-antipattern

1 edits by tantek.com
  • Fri, February 27 tantek.com note FOAF is also a sidefile, ht: benwerd for reminding me

Jekyll

1 edits by atomicules.co.uk

WordPress

1 edits by tantek.com
  • Thu, February 26 tantek.com /* Criticism */ Complexity (per last night's tweet), rename Jetpack to JetPack Requires Login

email

1 edits by tantek.com

POSSE to Facebook

1 edits by kylewm.com
  • Wed, February 25 kylewm.com /* See Original */ add warning about links that start with a number being changed to an app-scoped ID

Events

1 edits by kylewm.com

Twitter

1 edits by tantek.com

link-preview

1 edits by tantek.com

SmugMug

1 edits by tantek.com

antipatterns

1 edits by tantek.com

selfdogfood

1 edits by tantek.com