- From: René Peinl <rene.peinl@hof-university.de>
- Date: Wed, 4 Nov 2015 08:28:14 +0100
- To: <public-socialweb@w3.org>
>From my perspective the idea to move a few steps towards the different communities is worthwhile. However, I agree with James that a second serialization in JSON is not really helpful. My proposal would be to show mappings of the AS 2.0 JSON-LD representation to a MF2 syntax. This is already done to a certain extend in the examples, if I understand it correctly. Having a strong XML background I would argue this is definitely a case for XSLT. Anybody know of a similar mechanism based on JSON? -----Ursprüngliche Nachricht----- Von: James M Snell [mailto:jasnell@gmail.com] Gesendet: Mittwoch, 4. November 2015 01:52 An: Aaron Parecki <aaron@parecki.com> Cc: public-socialweb@w3.org Betreff: Re: jf2 vs. AS 2.0 On Tue, Nov 3, 2015 at 4:46 PM, Aaron Parecki <aaron@parecki.com> wrote: > Thanks for looking over this, but please don't make assumptions about > what the purpose of jf2 is. I tried adding it to the agenda for > today's call, but it was continually pushed down in the list to make > room for all the AS2 issues and we didn't get to talk about it at all. > Fair enough. I'm responding to what I've already been told about it's purpose. Harry indicated previously that it was intended as an alternative to AS 2.0 and, from what I understand, there's been some discussion/disagreement among the chairs about considering it as an alternative to AS2 that ought to be considered a parallel work item of the working group. My analysis is based on that information. If you (as the author) have a different point of view on it, then fantastic, and I certainly hope you take no offense to the analysis. - James > The real goal with jf2 is to show an attempt at bringing the > microformats community closer to what the AS and other JSON-based > communities expect from a syntax. I know there's been a lot of talk > about "compromising" and "convergence" between the three communities, > and that's exactly what this is an exercise in. I'm sorry you are > seeing it as a thread/competitor to what you are doing, but that was > not the intent. The intent is to bring everything closer in line like > we have all been talking about for such a long time. If you are seeing > similarities between jf2 and AS2 that is great, because that is literally the goal of converging. > > I won't be able to make the call next week, but I will continue > working on > jf2 with others in the mean time and hope to get it on the agenda for > the call on the 17th. > > ---- > Aaron Parecki > aaronparecki.com > @aaronpk > > > On Tue, Nov 3, 2015 at 4:29 PM, James M Snell <jasnell@gmail.com> wrote: >> >> There has been some discussion of whether an alternative JSON >> serialization should be considered by this WG. The proposal that has >> been put on the table is currently being called "jf2". The current >> draft can be found here: >> https://github.com/w3c-social/Social-Syntax-Brainstorming/wiki/jf2 >> >> I cannot speak to the motivations for why folks feel this second >> draft would be necessary or even remotely beneficial to the WG's >> efforts but I can do a side by side comparison with the syntax spec >> we already have. >> >> Going through the current draft of the jf2 draft on the wiki: >> https://github.com/w3c-social/Social-Syntax-Brainstorming/wiki/jf2... >> >> 1. Post object .. >> >> a. effectively the same as Object in AS2. Calling it something >> else is not a >> worthwhile "improvement" >> >> b. "type" is essentially the same function as AS2's "type". No >> real benefit >> gained. The write up proposes using the Microformats list as >> the "full" >> list but doesn't indicate anything about extensibility. >> >> c. Overall, doesn't seem to buy us anything different than current >> AS2 Object definition. >> >> jf2 example: >> ```json >> { >> "type": "entry", >> } >> ``` >> AS 2.0 example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Note" >> } >> ``` >> >> 2. URL values >> >> a. "Every value that is a URL is in an object with a property of url" >> ... >> This statement is not clear. >> >> b. This is generally equivalent to the most common case in AS2. >> AS2 does >> have the additional bit that "url" can specify multiple urls >> >> c. Overall, doesn't seem to buy us anything different than current >> AS2 "url" definition. >> >> jf2 example: >> ```json >> { >> "type": "image", >> "url": "http://example.org/foo.png" >> } >> ``` >> AS 2.0 example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Image", >> "url": "http://example.org/foo.png" >> } >> ``` >> >> jf2 example: >> ```json >> { >> "type": "entry", >> "video": [ >> { >> "type": "video", >> "content-type": "video/mp4", >> "url": "sample_h264.mov" >> }, >> { >> "type": "video", >> "content-type": "video/ogg", >> "url": "sample_ogg.ogg" >> }, >> { >> "type": "video", >> "content-type": "video/webm", >> "url": "sample_webm.webm" >> } >> ] >> } >> ``` >> AS 2.0 Example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Video", >> "url": [ >> { >> "mediaType": "video/mp4", >> "href": "sample_h264.mov" >> }, >> { >> "mediaType": "video/ogg", >> "href": "sample_ogg.ogg" >> }, >> { >> "mediatype": "video/webm", >> "href": "sample_webm.webm" >> } >> ] >> } >> ``` >> >> 3. Post properties >> >> "The list of valid post properties is defined by vocabularies. >> This allows >> new vocabularies to be developed outside the development of the syntax" >> >> This is equivalent to AS 2.0's existing extensibility model. >> >> js2 example >> ```json >> { >> "type": "entry", >> "published": "2015-10-20T15:49:00-0700", >> "url": "http://example.com/post/fsjeuu8372", >> "author": { >> "type": "card", >> "name": "Alice", >> "url": "http://alice.example.com", >> "photo": { >> "type": "image", >> "url": "http://alice.example.com/photo.jpg" >> } >> }, >> "name": "Hello World", >> "content": "This is a blog post" >> } >> ``` >> AS 2.0 example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Note", >> "published": "2015-10-20T15:49:00-0700", >> "url": "http://example.com/post/fsjeuu8372", >> "attributedto": { >> "type": "Person", >> "displayName": "Alice", >> "url": "http://alice.example.com", >> "image": { >> "type": "Image", >> "url": "http://alice.example.com/photo.jpg" >> } >> }, >> "displayName": "Hello World", >> "content": "This is a blog post" >> } >> ``` >> The examples are essentially equivalent. jf2 gives provides nothing new. >> >> jf2 example: >> ```json >> { >> "type": "entry", >> "published": "2015-10-20T15:49:00-0700", >> "url": "http://example.com/like/r23eugi02c", >> "author": { >> "type": "card", >> "name": "Alice", >> "url": "http://alice.example.com", >> "photo": { >> "type": "image", >> "url": "http://alice.example.com/photo.jpg" >> } >> }, >> "like-of": { >> "url": "http://bob.example.com/post/100" >> } >> } >> ``` >> AS 2.0 Example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Like", >> "published": "2015-10-20T15:49:00-0700", >> "url": "http://example.com/like/r23eugi02c", >> "actor": { >> "type": "Person", >> "displayName": "Alice", >> "url": "http://alice.example.com", >> "image": { >> "type": "Image", >> "url": "http://alice.example.com/photo.jpg" >> } >> }, >> "object": "http://bob.example.com/post/100" >> } >> ``` >> The examples are essentially equivalent. jf2 gives provides nothing new. >> >> 4. Author >> >> "An author is represented by the h-card vocabulary" >> >> AS 2.0 refers to the standardized hcard vocabulary. jf2 is >> offering nothing new. >> >> jf2 example: >> ```json >> { >> "type": "card", >> "name": "Aaron Parecki", >> "photo": { >> "type": "image", >> "url": "http://aaronparecki.com/photo.jpg" >> }, >> "url": "http://aaronparecki.com/" >> } >> ``` >> AS 2.0 Example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Person", >> "displayName": "Aaron Parecki", >> "image": { >> "type": "Image", >> "url": "http://aaronparecki.com/photo.jpg" >> }, >> "url": "http://aaronparecki.com/" >> } >> ``` >> >> 5. HTML Content >> >> jf2 example: >> ```json >> { >> "type": "entry", >> "content": { >> "content-type": "text/html", >> "value": "<b>Hello World</b>" >> } >> } >> ``` >> AS 2.0 Example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Note", >> "mediaType": "text/html", >> "content": "<b>Hello World</b>" >> } >> ``` >> >> 6. Collections >> >> jf2 does not offer anything distinctly different from AS 2.0 >> collections >> >> jf2 example: >> ```json >> { >> "type": "feed", >> "url": "http://alice.example.com/collectionurl", >> "name": "Alice's Home Page", >> "author": { >> "type": "card", >> "name": "Alice", >> "url": "http://alice.example.com", >> "photo": { >> "type": "image", >> "url": "http://alice.example.com/photo" >> } >> }, >> "children": [ >> { ... }, >> { ... } >> ] >> } >> ``` >> AS 2.0 Example: >> ```json >> { >> "@context": "http://www.w3.org/ns/activitystreams", >> "type": "Collection", >> "url": "http://alice.example.com/collectionurl", >> "displayName": "Alice's Home Page", >> "attributedTo": { >> "type": "Person", >> "displayName": "Alice", >> "url": "http://alice.example.com", >> "image": { >> "type": "Image", >> "url": "http://alice.example.com/photo" >> } >> }, >> "items": [ >> { ... }, >> { ... } >> ] >> } >> ``` >> the only difference between these is that I renamed fields, added the >> @context, and used different values for "type". jf2 offers nothing >> different from what's currently in AS 2.0. >> >> 7. Summary >> >> So far, jf2 offers nothing that isn't already covered by AS 2.0. >> At best, it represents an exercise in bikeshedding over property >> names and a handful of values. AS 2.0 does cover a broader range of >> use cases than jf2 so an argument can be made that jf2 is "less >> complicated". jf2 attempts to defer the complexity of that by >> referencing out to individual microformats vocabularies. I would >> argue that doing so actually does not reduce the complexity for >> implementers, it simply shifts the problem do a different set of >> specs. >> >> I would note that jf2 does not currently handle internationalization >> concerns. Addressing such concerns would lead jf2 to duplicate more >> of what is already in AS 2.0 today. >> >> Obviously, I'm leading in to this review with an obvious bias towards >> the spec we've already been working on for the past year, that >> already does everything we need, and that folks have already >> implemented. I'd encourage the proponents and authors of jf2 to make >> specific change proposals against AS 2.0 if they really feel that >> things can be simplified further. >> >> - James >> >
Received on Wednesday, 4 November 2015 07:28:38 UTC