fsws-2012-wrap-up.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <html>
  2. <head>
  3. <title>MediaGoblin (and OpenPhoto!) at Federated Social Web 2012: a recap</title>
  4. <meta name="date" content="2012-10-29 10:30" />
  5. <meta name="author" content="Christopher Allan Webber" />
  6. </head>
  7. <body>
  8. <p>
  9. This last Friday, MediaGoblin contributors
  10. <a href="http://wandborg.se/">Joar Wandborg</a>, Aeva Ntsc,
  11. and myself all went to the
  12. <a href="http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Federated_Social_Web_Summit_2012">Federated
  13. Social Web Summit 2012</a>. And we weren't alone! There
  14. were <a href="http://www.w3.org/2005/Incubator/federatedsocialweb/wiki/Federated_Social_Web_Summit_2012/Invitations">many
  15. brilliant minds thinking about federation issues</a> at the summit.
  16. </p>
  17. <p class="centered">
  18. <img src="/blog_images/fed_social_web_summit_conversations.jpg"
  19. alt="Conversations happening at the federated social web summit" />
  20. <br />
  21. <i><a href="http://www.jezra.net/">Jezra</a> on the left, David Crossland of
  22. <a href="http://openfontlibrary.org/">Open Font Library</a> on the
  23. right, and I forget whose back of the head that is.</i>
  24. </p>
  25. <p>
  26. There was a lot of exciting conversation going on generally, from
  27. conversations about standards like
  28. <a href="https://datatracker.ietf.org/doc/draft-prodromou-dialback/">dialback
  29. authentication</a>, to various applications implementing federation,
  30. to various conversations about how we can make the user experiences
  31. of federation and etc better. If you're interested, you might be
  32. interested in checking out the
  33. <a href="https://etherpad.mozilla.org/fsw">Etherpad document</a>
  34. that some were annotating during the summit.
  35. </p>
  36. <p>
  37. But what I was <i>really</i> interested in discussing at the summit
  38. was how to get federation working nicely in regards to media
  39. publishing. And I'm happy to say that we had a wonderful set of
  40. conversations about that! In fact, the conversations were made even
  41. better from the presence of Jaisen Mathai of
  42. <a href="http://theopenphotoproject.org/">OpenPhoto</a>!
  43. </p>
  44. <p>
  45. Sometimes people ask if MediaGoblin and OpenPhoto (which were both
  46. announced within a short time period) know about each other. They
  47. sometimes wonder... are you bitter enemies? Do you battle? If the
  48. project leaders in a room together and shook them up, would they
  49. break into fisticuffs?
  50. </p>
  51. <p class="centered">
  52. <img src="/blog_images/jaisen_chris_fake_fighting.jpg"
  53. alt="Jaisen and Chris... fighting??" />
  54. </p>
  55. <p>
  56. Actually, the answer is that we <i>do</i> know about each
  57. other... Jaisen and I have been in communication since fairly early
  58. on and are both in support of each others' projects. We see
  59. ourselves as allies trying to tackle similar problem domains from
  60. different angles. And one thing we're both interested in is getting
  61. our projects to be interoperable as in terms of federation!
  62. </p>
  63. <p class="centered">
  64. <img src="/blog_images/jaisen_chris_getting_along.jpg"
  65. alt="Jaisen and Chris... actually we get along :)" />
  66. </p>
  67. <p>
  68. There were several major issues we wanted to discuss in making
  69. federation nice between instances:
  70. <ul>
  71. <li>
  72. Subscribing to users across instances
  73. </li>
  74. <li>
  75. Favoriting across instances
  76. </li>
  77. <li>
  78. Cross-instance collections/galleries (think Flickr pool)
  79. </li>
  80. <li>
  81. How to make presentation look good across instances
  82. </li>
  83. <li>
  84. Making things private, and different types of actions/permissions
  85. </li>
  86. </ul>
  87. </p>
  88. <p>
  89. That's a big set of problems, and not super easy to solve! I typed
  90. up a bunch of notes from our conversation... here they are,
  91. distilled a bit:
  92. </p>
  93. <ul>
  94. <li>
  95. <p>
  96. Okay, good news first! For the most part, subscribing to
  97. instances already works fine with
  98. <a href="https://code.google.com/p/pubsubhubbub/">PubSubHubbub</a>.
  99. It works fine for existing "subscription" type federation, and
  100. will probably just work fine for subscribing to other peoples'
  101. galleries here too. You can see here
  102. a <a href="http://identi.ca/conversation/96745947#notice-97586076">thread</a>
  103. with me talking from
  104. <a href="http://identi.ca/">identi.ca</a> to netziens
  105. of <a href="http://rainbowdash.net/">rainbowdash.net</a> (a
  106. brony community hosted on StatusNet) who suddenly realized I
  107. used them in a federation example in the
  108. <a href="/pages/campaign.html">campaign video</a>.
  109. </p>
  110. <p>
  111. <img src="/blog_images/statusnet_federation_works_fine.png"
  112. alt="Actual subscriptions showing up works fine" />
  113. </p>
  114. <p>
  115. When you think of the subscription needs of showing a gallery
  116. with thumbnails, such as on MediaGoblin, this same type of
  117. system should work well enough.
  118. </p>
  119. </li>
  120. <li>
  121. <p>
  122. A bigger concern is, "what to do about mismatched thumbnail
  123. sizes?" and other display issues. OpenPhoto currently takes the
  124. approach where you can request any image size you want and it'll
  125. make and cache it for you on the fly. We can't really do that
  126. for MediaGoblin: this doesn't really work for audio and video
  127. (and while I like the idea I'm still not sure it's a great one
  128. for images either, especially not given MediaGoblin's processing
  129. infrastructure). If we want galleries to really look nice
  130. across instances it would be good to agree on some "common"
  131. thumbnail sizes and etc, as well as having adaptive CSS for the
  132. cases where a "good fit" thumb is not provided.
  133. </p>
  134. </li>
  135. <li>
  136. <p>
  137. For this all to really work, taking actions on remote instances
  138. has got to get easier. For example, subscribing to users on
  139. another instance is still a huge pain in the ass on StatusNet
  140. instances. For example, subscribing to someone on another
  141. instance is a huge pain in the butt... if you're on another
  142. site, you have to tell it where your user is before you can do
  143. anything:
  144. </p>
  145. <p>
  146. <img src="/blog_images/annoying_subscribe.png"
  147. alt="Subscribing can be annoying." />
  148. </p>
  149. <p>
  150. And even after that you have to confirm on your own site. This
  151. is an awkward user interface, even though it works for these
  152. things. But it doesn't work for everything... if I just
  153. subscribed to a user and they had an old post that I'd like to
  154. favorite, I can't do so because it isn't on my timeline. And
  155. even if it is on my timeline, I have to dig through the history
  156. to find it instead of just favoriting it from the site that I
  157. found it on. That's a frustrating user experience... but like
  158. many user experience frustrations with federation, it's
  159. frustrating for a reason: it's a hard problem to solve.
  160. </p>
  161. </li>
  162. <li>
  163. <p>
  164. Luckily it looks like there's a good way forward to making
  165. this easier. There's work being done in the proposals
  166. of <a href="https://wiki.mozilla.org/WebAPI/WebActivities">WebActivities</a>
  167. and <a href="http://webintents.org/">WebIntents</a> which are
  168. standards which should help in the process of saying "When I do X
  169. task (such as favoriting, subscribing, or adding to a collection),
  170. I want to use Y service". There are a whole bunch of tasks that
  171. will need such functionality to have a clean implementation.
  172. </p>
  173. <p>
  174. I'm not sure this solves All The Things; I'm not sure how you'd
  175. get an indication of whether or not you've already favorited
  176. such a thing on a remote site without having some sort of
  177. security vulnerability or privacy issues, and I haven't looked
  178. at the spec enough to see if that's exposed. But it definitely
  179. looks like it's going to help things go in the right direction,
  180. and we'll need it for a lot of stuff to feel smooth:
  181. subscribing, favoriting, adding to collections, etc.
  182. </p>
  183. </li>
  184. <li>
  185. <p>
  186. How to handle private sharing across instances? Probably
  187. something like <a href="http://www.salmon-protocol.org/">Salmon</a>
  188. might be right, but it's a tricky problem. The topic of "what
  189. happens if someone makes something available to you but then
  190. retracts that" came up. Frankly, on the web, it's impossible to
  191. fully retract something and trying to force it often makes the
  192. situation worse (AKA the
  193. <a href="http://en.wikipedia.org/wiki/Streissand_effect">Streissand
  194. effect</a>). It's possible that servers might publish a deletion
  195. notice and that could be interpreted as a "please" remove issue,
  196. but that's probably not enforceable. Furthermore, there are a
  197. whole series of issues with implementing privacy right. We agreed
  198. this is something that we'd like to do, but that getting media
  199. federation to work at all correctly publicly is a bigger first
  200. priority.
  201. </p>
  202. </li>
  203. <li>
  204. <p>
  205. There was a bit of discussion about how to handle some other
  206. actions, such as Jaisen suggesting a button to mirror content onto
  207. your instance. (I thought this was interesting; in the past, a
  208. good number of people have suggested that we implement mirroring
  209. the content of people you subscribed to, and I've said that I
  210. think this is a bad default but that we could have a "diskgobbler"
  211. plugin in the future or etc. This solution actually sounds more
  212. interesting to me.) There might be additional actions too, such
  213. as "get a print", or even with 3d models, "send to a botfarm to 3d
  214. print" (well, that requires some future 3d printing botfarm
  215. infrastructure that doesn't exist yet, but I know Aeva is thinking
  216. about it), or maybe even "play on a stereo TV at home". These are
  217. interesting ideas, and not necessarily directly federation
  218. related, but it was interesting to discuss how they might be done
  219. by having some activity represented in an
  220. <a href="http://activitystrea.ms/">Activity Streams</a> feeds and
  221. how webactions/webintents might play in.
  222. </p>
  223. </li>
  224. </ul>
  225. <p>
  226. Anyway, we left with a lot to think about, which is good given that
  227. federation is a big next step on the agenda once the
  228. <a href="/pages/campaign.html">campaign</a> wraps up. And
  229. events like this are great opportunities to connect... in this case,
  230. it was both great to meet up with other MediaGoblin folks (this is
  231. the first time I'd ever met Joar in person)!
  232. </p>
  233. <p class="centered">
  234. <img src="/blog_images/joar_at_fed_websummit.jpg"
  235. alt="Joar at the federated social web summit" />
  236. </p>
  237. <p>
  238. Furthermore, if federation is going to succeed, it's going to
  239. require the hard work and collaboration between a bunch of projects.
  240. So I'm glad that Jaisen of OpenPhoto was around for us to have such
  241. conversations!
  242. </p>
  243. <p class="centered">
  244. <img src="/blog_images/jaisen_and_chris.jpg"
  245. alt="Jaisen and Chris... free software media publishing unite!" />
  246. </p>
  247. <p>
  248. While we're at it, I might as well remind you! We're in the middle
  249. of a crowdfunding campaign, and all the above is an exciting future,
  250. but its success depends on whether or not we can get focused
  251. development in to MediaGoblin. This is why I'm asking you: if you
  252. haven't yet donated to MediaGoblin, <i>please</i> do so! The future
  253. of media decentralization is in your hands!
  254. </p>
  255. <p class="centered">
  256. <a href="/pages/campaign.html">
  257. <img src="/blog_images/support_mediagoblin-blagpost.png"
  258. alt="Gavroche imploring you to support MediaGoblin!" />
  259. </a>
  260. </p>
  261. </body>
  262. </html>