#indiewebcamp 2012-10-12

2012-10-12 UTC
tilgovi, Nadreck, dascher, josephboyle, eschnou, danbri, singpoly1a, lmorchard, catsup, aaronpk, benward, elf-pavlik, barnabywalters, friedcell, friedcell1, spinnerin, Alex_Lykos, donpdonp, tantek, tommorris and jancborchardt joined the channel
#
tantek
barnabywalters - just saw your activitystrea.ms github lib
#
tantek
I've been curious what folks here think of AS in general
#
tantek
is it solving the right problems, etc.
#
barnabywalters
evening tantek — hm, have I made my AS thoughts public before?
#
tantek
since much of the framing of it was conceived a few years ago
#
tantek
I'm wondering if it's worth re-assessing, re-questioning
#
tantek
especially most of the folks that contribute the most to it are now working for BigCos on various silos
#
barnabywalters
I made the lib because AS more-or-less suited what I needed. I was building a similar set of classes anyway, and decided to just implement AS
#
tantek
I'm less interested in silo-interop than indieweb-interop
#
barnabywalters
personally, I think bits of it are ridiculous
#
tantek
right, that's what I'm worried about
#
barnabywalters
the number of object types and verbs, for example
#
tantek
is it more than we need?
#
tantek
can we subset it to the absolute minimum of what we find useful?
#
barnabywalters
and some of the semantics are questionable — e.g. contnet vs summary, displayName vs title
#
tantek
"useful" in actual code+UI we build+ship on our own sites
#
barnabywalters
tantek: well, that’s what you’ve been doing, and what I intend to do
#
barnabywalters
certainly I see no benefit to implementing every possible verb!
#
barnabywalters
most of them are stupid IMO
#
tantek
right, I wanted to make it clear that you should feel free to think fairly outside the AS box
#
tantek
do you know the origins of AS? what drove its design?
#
tantek
and why there are different verbs and post-types?
#
barnabywalters
vaguely. Wasn’t it Chris Messina and some other folks during the last big FSW push?
#
barnabywalters
I wasn’t really active on the web then
#
barnabywalters
oh, I’ve seen the wiki :| average “last updated” date = ~2 years ago
#
tantek
right, not a sign of a healthy/active "community"
#
barnabywalters
the github is more active, and the *shudder* mailing list occasionally has some activity
#
tantek
if you read the Background section, it's clearly about increasing the fidelity of silo-to-silo sharing/syndication
#
barnabywalters
but no, not an active community
#
tantek
and I'm not convinced that's the right focus
#
tantek
certainly because most of those silos don't care about AS
#
tantek
they barely care about RSS/Atom - and in some cases (Twitter?) are even dropping that?
#
barnabywalters
heh — didn’t facebook implement it for a few minutes/months/whatever then drop it?
#
barnabywalters
Activitystreams
#
tantek
not AFAIK
#
tantek
so there's a lot of theory behind AS
#
barnabywalters
I think Flattr are using AS now, as well as withing hAtom
#
tantek
oh really? example URL?
#
barnabywalters
give me a sec…
#
tantek
just found it in the "obv" place :)
#
barnabywalters
oh yeah, they’re using your as-objecttype|verb class as well
#
tantek
(where I was going to ask you to add it - but then saw it at the top of the list!)
#
barnabywalters
I have been writing as-verb-post as it doesn’t require all AS parsers to maintain a list of verbs and object types
#
barnabywalters
so they’re using as-bookmark and as-like
#
barnabywalters
and publishing what looks like valid AS json
#
tantek
right, and I've been using as-note and as-article
#
tantek
as "subtypes" of an h-entry
#
barnabywalters
where the verb is implied
#
tantek
yeah that's the 80% case (99%?)
#
tantek
"post"
#
tantek
at least for me :)
#
barnabywalters
tantek: for my notes it certainly is, however I my articles are somewhere inbetween blog posts and wiki pages most of the time, so update will be common there
#
tantek
well a wiki is different in that it has a viewable history with diffs etc.
#
tantek
blog posts don't have that
#
tantek
they *might* have some ins/del markup
#
tantek
with datetime attrs
#
barnabywalters
tantek: I wrote about that exact pattern here: http://waterpigs.co.uk/articles/creative-css3
#
barnabywalters
along with my silly CSS to make up for browser’s not doing anything useful with it
#
barnabywalters
I also intend on writing some js to produce a Smallest Federated Wiki-like history at the bottom from the ins/del datetimes
#
tantek
that is sweet!
#
tantek
the hover on date stuff - neat
#
barnabywalters
tantek: implementing that made me wonder how many other gems there are in the CSS spec. One day I’ll read all the way through it :)
#
tantek
the problem is that ins/del markup doesn't handle all diffs, and breaks down after some number of changes
#
tantek
would be nice to see the date of ins too
#
tantek
on hover or something
#
barnabywalters
yeah, it’s not great. But I figured I’d handle that when it becomes a problem
#
tantek
I ran into ins/del limitations quite quickly
#
barnabywalters
I’m also going to make the addition of datetimes automatic (currently it is manual)
#
tantek
yet I still use them for minor updates to posts
#
tantek
also - many ins/del pairs/sets are related
#
tantek
almost worth showing stuff about *both* when either are hovered
#
barnabywalters
yes, that is why I wasn’t including datetime on ins with a related del
#
tantek
I like your line of thinking though
#
barnabywalters
it’s another thing on my long todo list :)
#
barnabywalters
adding more advanced behaviour through js, that is
#
tantek
I like seeing what you can do with CSS only
#
barnabywalters
I would love to truncate it with css and reveal the entire thing on hover, but I couldn’t find a way to do that
#
barnabywalters
so for the moment just muting it will do
#
aaronpk
can't you just display: none?
#
tantek
you can truncate with CSS using overflow:hidden;text-overflow:ellipsis
#
aaronpk
oh ellipsis is better
#
barnabywalters
awesome idea!
#
barnabywalters
goes off to try it
#
tantek
try making it work on :active as well to see if that makes it work on touch devices
#
barnabywalters
AS can wait for the moment ;)
#
tantek
when you get back to AS, let's talk about what "object-type" should really mean
#
tantek
in a microformats sense, all our root classes are object types
#
tantek
so maybe an h-as-note or h-as-article could just be variants or additional subtypes of an h-entry?
#
barnabywalters
tantek: hm, can’t get overflow: hidden to work properly, so I’ll leave that for future experimentation
#
barnabywalters
RE object types and microformats: tricky one
#
tantek
it requires explicit dimensions
tommorris joined the channel
#
barnabywalters
and also display:inline-block? I am using width:5em at the mo and nothing is happening
jancborchardt joined the channel
#
barnabywalters
heh, apparently display:// is a URL scheme now
#
tantek
yeah, inline elements don't have width/height of a box
#
tantek
inline flow elements that is
#
barnabywalters
so… img and form elements are inline but *not* flow elements?
#
barnabywalters
needs to read the HTML5 spec again
#
tantek
right - they're replaced elements
#
tantek
that's more CSS than HTML5
#
tantek
different display types
#
barnabywalters
OT, but is there an easily readable version of the CSS spec somewhere? Like HTML5 for authors-not-implementors?
#
tantek
I'd say start with CSS 2.1
#
tantek
w3.org/TR/css21
#
tantek
and I'm happy to help navigate it
#
barnabywalters
woah — that’s quite hefty! I’ll have a go at tackling it and ask if I get confused :) Thanks
dascher joined the channel
#
barnabywalters
RE µf+as, the awkwardness I see is that a h-feed could contain all sorts of object types, potentially at the same time
friedcell joined the channel
#
tantek
how is that awkward?
#
barnabywalters
so there’s not much that could be gleaned from just h-entry, although h-review and h-event could be parsed as AS object types
#
tantek
it seems quite convenient to annotate an h-entry with other h-as-* types
#
barnabywalters
ah, my misunderstanding. I thought you meant parse the AS object type from the microformat type
#
barnabywalters
yep, h-as works
#
barnabywalters
the next question is how far to mirror AS within µf
#
barnabywalters
e.g. do we have h-as-activity with a p-as-verb and then a h-as-object with h-as-object-type, u-as-url, etc…
#
barnabywalters
.h-as-object.h-card h-as-object-type-actor u-url u-as-url, and so on
#
barnabywalters
it gets a bit silly after a while, especially when you get into “media link” objects
benward joined the channel
#
singpoly1a
a lot of the AS stuff is redundant
#
singpoly1a
like, actor is just hAtom author
#
barnabywalters
tantek: I got the truncating CSS to work — it needed display: inline-block and white-space: nowrap
#
barnabywalters
singpoly1a: absolutely
#
barnabywalters
personally I am more concerned about the naming problems, e.g. "title” vs “displayName”
danbri and brennannovak joined the channel
#
barnabywalters
btw if for some reason anyone wants to see the docs for my site and the code I’m producing (including the ActivityStreams classes) most of it is here: http://waterpigs.co.uk/docs/
#
brennannovak
barnabywalters: yo yo. how goes it?
#
barnabywalters
hey brennannovak, not too bad thanks, you?
#
tantek
barnabywalters - nice! (on getting the truncating CSS to work)
#
tantek
singpoly1a, barnabywalters - I've been wondering about that - the redundancies in AS
#
barnabywalters
tantek: just added it to the article (along with an <ins> tag but not in the code - that is an iffy one)
#
tantek
hence why I wanted to re-ask the questions about object types and verbs
#
brennannovak
barnabywalters: pretty good, been slammed working at startup gig- been meaning to look over all your rad commits :)
#
barnabywalters
brennannovak: they’re mainly quite boring, just lots and lots and lots of docblocks :) The documentation they produce is rather nice though
#
barnabywalters
tantek: the current AS approach seems to be “come up with every possible use case and build that into the spec”, which worries me
#
brennannovak
barnabywalters: boring, but über important
#
barnabywalters
brennannovak: if you want to see what the docs look like, they’re up at http://si.waterpigs.co.uk/docs/
#
tantek
barnabywalters - having been in some of the AS brainstorming / discussion meetings over the years, I can vouch that typically the types/verbs do reflect something in some product someone is shipping.
#
tantek
so they're not really theoretical per se
#
singpoly1a
tantek: but they tend to overlap a lot
#
tantek
but my worry is that many might be based in bigco-centric or silo-centric products that don't last long, are more experiments in practice rather than anything sustaining
#
tantek
and sustaining is what matters for standards
#
tantek
singpoly1a - they're what happens when you try to take ATOM as-is semantically and extend it
#
tantek
and then replace it
#
singpoly1a
Well, yeah. Trying to replace things in the base spec was always weird. But even the whole post vs note thing is weird
#
tantek
would we come up with a better result if we started with h-entry and extended it? (not a rhetorical question, I actually don't know if yes or no)
#
barnabywalters
singpoly1a: note is an object type, post is a verb ;)
#
tantek
ironically the article/note thing is one of the few things I understand and use from a practical perspective from AS
#
tantek
use as in publish on my own site
#
singpoly1a
barnabywalters: Oh, right. Whatever the names are. There are multiple "chunk of text I made" objects
#
tantek
the status/note thing is more confusing, though potentially separable
#
barnabywalters
singpoly1a: I agree with tantek though, note and article are different enough for the difference to be valid
#
barnabywalters
for me it’s not about length so much as structure
#
singpoly1a
Maybe. I think status/note/article are all different kinds of "chunk of text"
#
tantek
so I'm trying to look at AS as a good place to mine previous research from, rather than adopt wholesale
#
singpoly1a
tantek: +1
#
tantek
I don't think enough of it has been enough "real world implementation" tested to be considered good enough to standardize
#
singpoly1a
I think I was directly involved in AS discussions about 4 times, and I spend all my time advocating using combinations of existing microformats for mont of the data (which the MySpace people kind of liked, and no one else did)
#
singpoly1a
s/mont/most
#
Loqi
singpoly1a meant to say: I think I was directly involved in AS discussions about 4 times, and I spend all my time advocating using combinations of existing microformats for most of the data (which the MySpace people kind of liked, and no one else did)
#
tantek
yeah I think at the time microformats were not generic/extensible enough (some of which we've addressed with microformats2)
#
tantek
so it should be more acceptable now
#
barnabywalters
singpoly1a: a while back (when I was first came across fsw and indieweb) I wrote a whole load about the status/note/update/tweet thing: http://waterpigs.co.uk/articles/statuses-updates-notes-mess
#
barnabywalters
it may be a bit out of date
#
tantek
also, XML is finally out of favor enough (in deference to HTML or JSON)
#
tantek
btw - anyone know the "result" of the debate that @veganstraightedge (shaners) launched about why not just use HTML+uf2 instead of JSON for your APIs?
#
tantek
he did a podcast on it I think
dascher joined the channel
#
barnabywalters
I must have missed that
#
tantek
so the point of everything in AS is to allow consuming applications to provide a different UI for different types of data and different actions (verbs)
#
singpoly1a
I used to (/ still do) advocate using HTML+uf1 for APIs, but people always think it's "weird" (at least, that's the reaction I usually get)
#
tantek
supposedly every different object type and every different verb is there because *some* application somewhere wants to present the information (and a UI) somewhat differently than just a generic "post" of some text.
#
barnabywalters
tantek: this is another of the few reasons I though namespaced object types/verbs might be a good idea
#
tantek
singpoly1a - the biggest challenge to HTML+uf1 for APIs was that we didn't have a canonical JSON transform (for API consumers' convenience). but now with uf2 we *do* have a canonical JSON transform - so that solves that.
#
barnabywalters
it forces an app/organisation to take ownership of the verb, and reduces the perceived barrier to entry i.e. having to make a UI for *every* object type and support *every* verb
#
singpoly1a
tantek: but if there's a canonical JSON transform, then why not just use JSON? The biggest thing about uf2 that makes me uncomfortable is it has the sort of "data format" feeling that XML, JSON et al have, instead of the focus on vocabulary for existing semantics that uf1 is
#
tantek
"why not just use JSON" - because no one on the web just uses JSON. everyone uses at least HTML. some even only use HTML.
#
tantek
JSON is a distant second to HTML.
#
tantek
uf2 enables those wanting to publish a simple read-only API to only use HTML.
#
singpoly1a
So does uf1... if you have to parse HTML (beacuse all they publish is HTML) then having a mapping to JSON doesn't help you
#
tantek
barnabywalters - right - and without the screenshots of applications showing different UIs for object types or verbs, I'm not sure each can be justified.
#
barnabywalters
you get a canonical JSON transform without having do content negotiation (best case) or maintaining multiple copies (worst case)
#
tantek
for example, I display notes and articles differently on my site.
#
singpoly1a
In fact, I came to ufs back in the blogger days specfically because we could only publish HTML
#
barnabywalters
and notes/articles live in completely different sections on my site
#
tantek
barnabywalters - right again. and you get all the caching advantages of only having to serve the HTML version.
#
tantek
rather than duplicating a JSON version.
#
barnabywalters
tantek: the advantage is debatable if JSON is available as it’s more lightweight and parsable, but that is certainly an advantage
#
singpoly1a
Sure. I'm in favour of using just HTML and not having a seperate API. But if one just publishes HTML then any "JSON transform" would have to be on the processor's side, but at that point the processor can just output a data structure for actual use instead of JSON
#
barnabywalters
esp. when HTML gives you more data e.g. stuff in <head>
#
singpoly1a
Anyway, I didn't really mean to start up the uf1 vs uf2 discussion again. I know I'm the only one clinging to the beauty of uf1 :)
#
barnabywalters
singpoly1a: everywhere I’ve seen which is using µf2 is also supporting µf1
#
tantek
barnabywalters - I'm frequently only using uf2 for simple 1-2 element objects
#
barnabywalters
the only place I don’t is in my single element h-cards because that would kinda defy the purpose
#
tantek
e.g. in blog posts
#
tantek
and on wikis
#
tantek
just because I don't have to create extra spans and I can get away with only having the root class name
#
tantek
it's soooo much faster/easier to type/publish
#
barnabywalters
tantek: yeah, for the implied patterns there’s no good way to be backwards compatible
#
tantek
they're there because they enable *new* simple uses
#
tantek
so there's no need to be backwards compat
#
barnabywalters
sure — as I said, they’re the only place I’m *not* providing back compatibility
#
tantek
so getting back to AS
#
tantek
and types/verbs
#
tantek
each of those was supposedly documented with real world examples on the wiki
#
tantek
so the way I'm treating them is
#
tantek
if the wiki documents real world examples, I'm considering adopting it when applicable to my site
#
tantek
if there is no real world documentation of an object type or verb on the wiki, then I don't care that it's in a "spec" - it's theoretical and deserves to be dropped.
#
tantek
anyway, barnabywalters - just wanted to pose a few of those high level questions for you since you're creating a library for AS type stuff
#
barnabywalters
tantek: the library is ultimately to be dogfooeded, so I am only adding stuff which I need at the moment
#
tantek
ideally each type/verb would have screenshots of specific web sites using those concepts in their UI, even if not in their markup
#
barnabywalters
s/dogfooeded/dogfooded
#
Loqi
barnabywalters meant to say: tantek: the library is ultimately to be dogfooded, so I am only adding stuff which I need at the moment
#
barnabywalters
and I have raised issues on the AS spec github RE some of my concerns over naming
#
tantek
there's also the higher level problem about verbs being separate from posts
#
barnabywalters
your approach to verb\type use is a good one
#
tantek
that is, I prefer to see everything as just a different kind of a post
#
tantek
and I'm not sure that making verbs explicit is that helpful
#
tantek
in practice
#
barnabywalters
tantek: yep, arguably things like updates to articles could be expressed via a note
#
barnabywalters
at the moment I separate activities from objects
#
tantek
they're all posts really
#
tantek
they're all things that you could comment on
#
tantek
or like/favorite
#
tantek
(from a UI perspective)
#
tantek
(if we look at FB as the ultimate example of AS-UIs)
#
tantek
interesting activity feed barnaby
#
barnabywalters
tantek: the UI is not optimised, since it’s mainly for consumption via ATOM at the moment
#
barnabywalters
(add .atom to the URL or send an Accept: header ;))
#
tantek
it also reveals how duplicatively wasteful Atom is
#
barnabywalters
but it’s somewhere I’m experimenting a lot with
#
barnabywalters
oh god, that copy is so broken
#
barnabywalters
oops! I broke that with my changes today
#
barnabywalters
will fix tomorrow
#
barnabywalters
yep, I’m using h-feed all over my site now so I’ll add it all to the wiki now
#
tantek
I feel like we should document this thinking about AS somewhere
#
tantek
maybe on indiewebcamp.com
#
tantek
do we have any existing articles about AS on indiewebcamp?
#
barnabywalters
activitystreams
#
Loqi
barnabywalters meant to say: http:
#
tantek
regex breaker
#
barnabywalters
seems the most likely place
#
tantek
we can expand that external link to a local article
#
tantek.com
edited /feeds (-22) "l AS"
(view diff)
#
barnabywalters
heh — https://twitter.com/al3x/statuses/53982402 “Twitter can haz microformats”. not any more :/
#
@al3x
TWITTER CAN HAS A MICROFORMATS
#
barnabywalters
oh thanks Loqi
#
Loqi
you're welcome
#
tantek.com
created /ActivityStreams (+171) "stub"
(view diff)
dascher joined the channel
#
waterpigs.co.uk
edited /ActivityStreams (+403) "Added github link and link to the issues I raised with them"
(view diff)
#
tantek.com
edited /ActivityStreams (+1863) "add summary/origins, indieweb perspectives, on verbs vs just posts"
(view diff)
#
tantek
ok there, I tried to braindump and semi-structure some of the above thoughts
#
tantek
in both actual facts/assertions/history and a few perspectives/opinions signed with ~~~~
#
tantek
please add your perspectives there too!
#
barnabywalters
is adding thoughts on separation of verbs+posts and how that relates to syndication and POSSE
#
tantek.com
edited /ActivityStreams (+379) "add Use with microformats2 thoughts"
(view diff)
#
tantek.com
edited /ActivityStreams (+4) "/* Use with microformats2 */ l"
(view diff)
#
tantek.com
created /microformats2 (+56) "stub"
(view diff)
#
tantek
singpoly1a - would appreciate your thoughts on AS in particular here, as you've been involved with it for a long time, and have been a long time indieweb dogfooder of such things. So you have a good personal perspective of how AS concepts work (or not) for you in practice.
#
singpoly1a
I think your perspective of taking the AS work as prior art but not an ideal is the way to go
#
singpoly1a
AS tried to solve too much at once and sort of ended up with the "v2 problem" in v1
#
tantek.com
edited /ActivityStreams (+88) "/* Indieweb perspectives */ See also my list of object types by shortcode"
(view diff)
#
waterpigs.co.uk
edited /ActivityStreams (+517) "/* Verbs vs just posts */ added thoughts about separating objects from activities"
(view diff)
#
singpoly1a
I think in practise specifically for AS we never saw anyone (to my knowledge) even try to build a client. I keep playing at it, but have never got all the way there. So most of what we need or might want is sort of untested and will be until such a thing gets built, I think
#
tantek
that's a good observation
#
tantek
until consuming clients are built, we're not going to know how useful (or not) AS types/verbs are
#
barnabywalters
singpoly1a: the lack of a client for all these technologies is something I am interested in addressing soon-ish
#
tantek
part of the larger problem of feed readers in general being abandoned
#
tantek
if no one's developing feed readers, why would anyone bother with a specialized AS feed reader?
#
barnabywalters
I have some ideas for what I would consider to be the ”ideal” feed reader, and I want to try and make it
#
singpoly1a
barnabywalters: cool. I've blogged about it and written some codes repeatedly, but I often get to a point that solves my current problems and leave it
#
barnabywalters
singpoly1a: do you have URLs for where you’ve blogged about it? I’d be interested to see prior work
#
singpoly1a
Well, feed readers in general never took off, I think. Most of my family and other such "normals" are just discovering the potential very recently. They're all on email newsletters still
#
tantek.com
edited /ActivityStreams (+519) "Lack of clients problem"
(view diff)
#
barnabywalters
singpoly1a: and yet such “normals” are more than comfortable using facebook/twitter
#
barnabywalters
I used to use RSS readers, and found twitter was a better way of following people
#
tantek
FB/Tw are both publishing apps, and "feed reading" clients of a sort
#
tantek
but only for their own content
#
tantek
so people syndicate content into them, just to be included as part of their "feed reading" UI.
#
barnabywalters
tantek: the ideas I have for my ideal feed reader combine the decoupled publisher/subscriber/data store idea with my thoughts on web activities and some other ideas I had
#
tantek
ok that's enough braindump on this from me for now - http://indiewebcamp.com/ActivityStreams
#
tantek
please feel free to add
#
barnabywalters
tantek: I added a bit about why I separate activities and objects. I will probably do a more comprehensive writeup on my own site sometime
#
barnabywalters
singpoly1a: marvellous, thanks!
#
singpoly1a
also some code (with I mostly interact with over XMPP right now): https://github.com/singpolyma/aggregator
#
tantek.com
edited /ActivityStreams (+117) "link to IRC log that started this"
(view diff)
#
barnabywalters
singpoly1a: I like the look of your POSHStream proposal
#
tantek.com
edited /ActivityStreams (+5) "AS abbr"
(view diff)
#
tantek
ok that's enough braindump on this from me for now. tweeted in the hope that draws more input to the page. I'll check it again in a while to see what's developed.
#
tantek
Loqi, you still watching Twitter?
#
barnabywalters
tantek: great braindump!
#
tantek
thanks barnabywalters - sometimes it takes a wiki page to organize thoughts on something
#
@t
interesting #indiewebcamp IRC chat on #ActivityStreams, captured on wiki: http://indiewebcamp.com/ActivityStreams. contributions welcome. (ttk.me t4LR2)
#
barnabywalters
tantek: yeah, I find that — wiki page, sheet of paper, whatever. The act of writing thoughts down shapes them further
#
barnabywalters
and organises them
#
barnabywalters
okay, getting late over here now. Thanks for interesting discussion everyone, as always :)
#
barnabywalters
is signing off. goodnight
#
Loqi
night night
tilgovi joined the channel
tilgovi, dascher, josephboyle and brennannovak joined the channel