123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- <html>
- <head>
- <title>MediaGoblin (and OpenPhoto!) at Federated Social Web 2012: a recap</title>
- <meta name="date" content="2012-10-29 10:30" />
- <meta name="author" content="Christopher Allan Webber" />
- </head>
- <body>
- <p>
- This last Friday, MediaGoblin contributors
- <a href="http://wandborg.se/">Joar Wandborg</a>, Aeva Ntsc,
- and myself all went to the
- <a href="http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Federated_Social_Web_Summit_2012">Federated
- Social Web Summit 2012</a>. And we weren't alone! There
- were <a href="http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Federated_Social_Web_Summit_2012/Invitations">many
- brilliant minds thinking about federation issues</a> at the summit.
- </p>
- <p class="centered">
- <img src="/blog_images/fed_social_web_summit_conversations.jpg"
- alt="Conversations happening at the federated social web summit" />
- <br />
- <i><a href="http://www.jezra.net/">Jezra</a> on the left, David Crossland of
- <a href="http://openfontlibrary.org/">Open Font Library</a> on the
- right, and I forget whose back of the head that is.</i>
- </p>
- <p>
- There was a lot of exciting conversation going on generally, from
- conversations about standards like
- <a href="https://datatracker.ietf.org/doc/draft-prodromou-dialback/">dialback
- authentication</a>, to various applications implementing federation,
- to various conversations about how we can make the user experiences
- of federation and etc better. If you're interested, you might be
- interested in checking out the
- <a href="https://etherpad.mozilla.org/fsw">Etherpad document</a>
- that some were annotating during the summit.
- </p>
- <p>
- But what I was <i>really</i> interested in discussing at the summit
- was how to get federation working nicely in regards to media
- publishing. And I'm happy to say that we had a wonderful set of
- conversations about that! In fact, the conversations were made even
- better from the presence of Jaisen Mathai of
- <a href="http://theopenphotoproject.org/">OpenPhoto</a>!
- </p>
- <p>
- Sometimes people ask if MediaGoblin and OpenPhoto (which were both
- announced within a short time period) know about each other. They
- sometimes wonder... are you bitter enemies? Do you battle? If the
- project leaders in a room together and shook them up, would they
- break into fisticuffs?
- </p>
- <p class="centered">
- <img src="/blog_images/jaisen_chris_fake_fighting.jpg"
- alt="Jaisen and Chris... fighting??" />
- </p>
- <p>
- Actually, the answer is that we <i>do</i> know about each
- other... Jaisen and I have been in communication since fairly early
- on and are both in support of each others' projects. We see
- ourselves as allies trying to tackle similar problem domains from
- different angles. And one thing we're both interested in is getting
- our projects to be interoperable as in terms of federation!
- </p>
- <p class="centered">
- <img src="/blog_images/jaisen_chris_getting_along.jpg"
- alt="Jaisen and Chris... actually we get along :)" />
- </p>
- <p>
- There were several major issues we wanted to discuss in making
- federation nice between instances:
- <ul>
- <li>
- Subscribing to users across instances
- </li>
- <li>
- Favoriting across instances
- </li>
- <li>
- Cross-instance collections/galleries (think Flickr pool)
- </li>
- <li>
- How to make presentation look good across instances
- </li>
- <li>
- Making things private, and different types of actions/permissions
- </li>
- </ul>
- </p>
- <p>
- That's a big set of problems, and not super easy to solve! I typed
- up a bunch of notes from our conversation... here they are,
- distilled a bit:
- </p>
- <ul>
- <li>
- <p>
- Okay, good news first! For the most part, subscribing to
- instances already works fine with
- <a href="https://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>.
- It works fine for existing "subscription" type federation, and
- will probably just work fine for subscribing to other peoples'
- galleries here too. You can see here
- a <a href="http://identi.ca/conversation/96745947#notice-97586076">thread</a>
- with me talking from
- <a href="http://identi.ca/">identi.ca</a> to netziens
- of <a href="http://rainbowdash.net/">rainbowdash.net</a> (a
- brony community hosted on StatusNet) who suddenly realized I
- used them in a federation example in the
- <a href="/pages/campaign.html">campaign video</a>.
- </p>
- <p>
- <img src="/blog_images/statusnet_federation_works_fine.png"
- alt="Actual subscriptions showing up works fine" />
- </p>
- <p>
- When you think of the subscription needs of showing a gallery
- with thumbnails, such as on MediaGoblin, this same type of
- system should work well enough.
- </p>
- </li>
- <li>
- <p>
- A bigger concern is, "what to do about mismatched thumbnail
- sizes?" and other display issues. OpenPhoto currently takes the
- approach where you can request any image size you want and it'll
- make and cache it for you on the fly. We can't really do that
- for MediaGoblin: this doesn't really work for audio and video
- (and while I like the idea I'm still not sure it's a great one
- for images either, especially not given MediaGoblin's processing
- infrastructure). If we want galleries to really look nice
- across instances it would be good to agree on some "common"
- thumbnail sizes and etc, as well as having adaptive CSS for the
- cases where a "good fit" thumb is not provided.
- </p>
- </li>
- <li>
- <p>
- For this all to really work, taking actions on remote instances
- has got to get easier. For example, subscribing to users on
- another instance is still a huge pain in the ass on StatusNet
- instances. For example, subscribing to someone on another
- instance is a huge pain in the butt... if you're on another
- site, you have to tell it where your user is before you can do
- anything:
- </p>
- <p>
- <img src="/blog_images/annoying_subscribe.png"
- alt="Subscribing can be annoying." />
- </p>
- <p>
- And even after that you have to confirm on your own site. This
- is an awkward user interface, even though it works for these
- things. But it doesn't work for everything... if I just
- subscribed to a user and they had an old post that I'd like to
- favorite, I can't do so because it isn't on my timeline. And
- even if it is on my timeline, I have to dig through the history
- to find it instead of just favoriting it from the site that I
- found it on. That's a frustrating user experience... but like
- many user experience frustrations with federation, it's
- frustrating for a reason: it's a hard problem to solve.
- </p>
- </li>
- <li>
- <p>
- Luckily it looks like there's a good way forward to making
- this easier. There's work being done in the proposals
- of <a href="https://wiki.mozilla.org/WebAPI/WebActivities">WebActivities</a>
- and <a href="http://webintents.org/">WebIntents</a> which are
- standards which should help in the process of saying "When I do X
- task (such as favoriting, subscribing, or adding to a collection),
- I want to use Y service". There are a whole bunch of tasks that
- will need such functionality to have a clean implementation.
- </p>
- <p>
- I'm not sure this solves All The Things; I'm not sure how you'd
- get an indication of whether or not you've already favorited
- such a thing on a remote site without having some sort of
- security vulnerability or privacy issues, and I haven't looked
- at the spec enough to see if that's exposed. But it definitely
- looks like it's going to help things go in the right direction,
- and we'll need it for a lot of stuff to feel smooth:
- subscribing, favoriting, adding to collections, etc.
- </p>
- </li>
- <li>
- <p>
- How to handle private sharing across instances? Probably
- something like <a href="http://www.salmon-protocol.org/">Salmon</a>
- might be right, but it's a tricky problem. The topic of "what
- happens if someone makes something available to you but then
- retracts that" came up. Frankly, on the web, it's impossible to
- fully retract something and trying to force it often makes the
- situation worse (AKA the
- <a href="http://en.wikipedia.org/wiki/Streissand_effect">Streissand
- effect</a>). It's possible that servers might publish a deletion
- notice and that could be interpreted as a "please" remove issue,
- but that's probably not enforceable. Furthermore, there are a
- whole series of issues with implementing privacy right. We agreed
- this is something that we'd like to do, but that getting media
- federation to work at all correctly publicly is a bigger first
- priority.
- </p>
- </li>
- <li>
- <p>
- There was a bit of discussion about how to handle some other
- actions, such as Jaisen suggesting a button to mirror content onto
- your instance. (I thought this was interesting; in the past, a
- good number of people have suggested that we implement mirroring
- the content of people you subscribed to, and I've said that I
- think this is a bad default but that we could have a "diskgobbler"
- plugin in the future or etc. This solution actually sounds more
- interesting to me.) There might be additional actions too, such
- as "get a print", or even with 3d models, "send to a botfarm to 3d
- print" (well, that requires some future 3d printing botfarm
- infrastructure that doesn't exist yet, but I know Aeva is thinking
- about it), or maybe even "play on a stereo TV at home". These are
- interesting ideas, and not necessarily directly federation
- related, but it was interesting to discuss how they might be done
- by having some activity represented in an
- <a href="http://activitystrea.ms/">Activity Streams</a> feeds and
- how webactions/webintents might play in.
- </p>
- </li>
- </ul>
- <p>
- Anyway, we left with a lot to think about, which is good given that
- federation is a big next step on the agenda once the
- <a href="/pages/campaign.html">campaign</a> wraps up. And
- events like this are great opportunities to connect... in this case,
- it was both great to meet up with other MediaGoblin folks (this is
- the first time I'd ever met Joar in person)!
- </p>
- <p class="centered">
- <img src="/blog_images/joar_at_fed_websummit.jpg"
- alt="Joar at the federated social web summit" />
- </p>
- <p>
- Furthermore, if federation is going to succeed, it's going to
- require the hard work and collaboration between a bunch of projects.
- So I'm glad that Jaisen of OpenPhoto was around for us to have such
- conversations!
- </p>
- <p class="centered">
- <img src="/blog_images/jaisen_and_chris.jpg"
- alt="Jaisen and Chris... free software media publishing unite!" />
- </p>
- <p>
- While we're at it, I might as well remind you! We're in the middle
- of a crowdfunding campaign, and all the above is an exciting future,
- but its success depends on whether or not we can get focused
- development in to MediaGoblin. This is why I'm asking you: if you
- haven't yet donated to MediaGoblin, <i>please</i> do so! The future
- of media decentralization is in your hands!
- </p>
- <p class="centered">
- <a href="/pages/campaign.html">
- <img src="/blog_images/support_mediagoblin-blagpost.png"
- alt="Gavroche imploring you to support MediaGoblin!" />
- </a>
- </p>
- </body>
- </html>
|