- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Mon, 27 Jan 2014 21:48:02 +0100
- To: Sam Goto <goto@google.com>
- CC: "public-vocabs@w3.org" <public-vocabs@w3.org>
On 01/27/2014 05:56 PM, Sam Goto wrote: > > > > On Sat, Jan 25, 2014 at 4:25 PM, ☮ elf Pavlik ☮ > <perpetual-tripper@wwelves.org <mailto:perpetual-tripper@wwelves.org>> > wrote: > > Howdy! > > I start working again on projects where I would like to use Action > subtree. Maybe also try to experiment with them integrated with > Hydra API http://www.hydra-cg.com/spec/__latest/schema.org/ > <http://www.hydra-cg.com/spec/latest/schema.org/> > > > Neat. May I ask what the use case is? Sure! I play with developing various open source components (currently mostly prototyping some in javascript) for building distributed environments of apps (human interfaces) and daemons (local and remote services) supporting real time geo-aware collaboration scenarios. Web page from one very early test deployment: http://dspace.elevate.at/ In conceptual model People can interact with various *POIs* (Points of Interest). Types of POIs currently include *Person*, *Place*, *Vehicle* and possibly we can add other ones making sense here like *IndividualProduct*. I also use concept of *Party*, somehow similar to online chartrooms. People using compatible, #unhosted style apps, can connect with those apps to multiple Parties on any number of remote origins - *Portals*. Everyone also controls independent, self-hosted/friend-hosted *Pod* - Personal Data Space, #IndyWeb / #PersonalClouds style to **stay in full control over one's own data**. For example I can publish my own position updates to such personal Pod and others participating in the same Parties can subsribe to real time updates directly to my Pod, which makes Portals responsible only for 'introducing' participants and they can even shut down after making introduction between People. I plan to approach in similar way a feed of my *Actions* (ActivityStreams). For very precise example we can use: PhotographAction "elf Pavlik took photo of Alice, in café erde, using his PDA" { "@id": "https://wwelves.org/perpetual-tripper/actions/aade1722-f53e-400b-b7c0-70f7a2550ad5" "@context": "http://schema.org", "@type": "PhotographAction", "endTime": { "@value": "2014-01-27T19:31:22" "@type": "http://www.w3.org/2001/XMLSchema#dateTime" }, "agent": { "@id": "https://wwelves.org/perpetual-tripper", "@type": "Person", "name": "☮ elf Pavlik ☮" }, "object": { "@id": "https://example.net/people/alice", "@type": "Person", "name": "Alice" }, "location": { "@id": "http://cafeerde.com/", "@type": "FoodEstablishment", "name": "café erde" "geo": { "latitude": 47.069602, "longitude": 15.435891 } }, "instrument": { "@id": "https://wwelves.org/perpetual-tripper/stuff/elfdroid", "@type": "IndividualProduct", "name": "elfdroid" }, "result": { "@id": "https://wwelves.org/perpetual-tripper/photos/258378dc-3eef-42a6-8e3c-f48b42b39d6f" "@type": "Photograph" } } It comes from interaction: 0. Earlier I used *CheckInAction* which I sent to my personal Pod so it shows up in my activity stream. I also sent this *CheckInAction* to small Portal hosted by http://cafe-erde.com/ which enables others who don't follow my activity stream to still discover my presence. café erde Portal sent me back list of People who have earlier annonced themselves present in this Place, including Alice. In this case I already follow Alice's activity stream on her Pod, so our devices would know about each other present even without café erde Portal, just by using our existing Friend2Friend relation :) 1. I open an app 2. Select my current location: café erde 3. Select from list of people present here: Alice 4. Select from actions available for Alice: 'Take Photo' 5. Click! 6. My PDA posts image data to my personal Pod, which returns permanent URI 7. I use this photo URI on my #IndyWeb domain for "result" object in my PhotographAction example: "@id": "https://wwelves.org/perpetual-tripper/photo/258378dc-3eef-42a6-8e3c-f48b42b39d6f" 8. I also store my PhotographAction on my Pod, which gives me independent permanent URI for this Action: "@id": "https://wwelves.org/perpetual-tripper/actions/aade1722-f53e-400b-b7c0-70f7a2550ad5" now i can do some more online socializing 9. I have option to publish it to my public activity stream, or to some restricted feeds, I could create dedicated feed even just for my stay at this place and share it only with other people present here. 10. I also can send this action to café erde Portal in case it didn't start following my activity stream after I checked in... 10. I can send this action as well to any number of restaurant ranking directory services which provide API accepting: PhotographAction. 11. I could reference this photograph taken in my ReviewAction submitted to (syndicated with) !any number of chosen by me services!. { "@id": "https://wwelves.org/perpetual-tripper/actions/8d244fc0-b87f-4006-8f7a-d476959f75c8", "@type": "ReviewAction", "endDate": ..., "location" ..., "resultReview": { "@id": "https://wwelves.org/perpetual-tripper/reviews/0e4f8dd1-cb0a-436a-95a7-9c2451c0c559" "@type": "Review" }, "result": { "@id": "https://wwelves.org/perpetual-tripper/photos/258378dc-3eef-42a6-8e3c-f48b42b39d6f" "@type": "Photograph" } } From interaction perspective it should work as easy as have my list of restaurant directory services. And after taking photo in Place matching the scope of given directory, app gives me list of checkboxes asking which services i want to *syndicate* my reviews with. Since I can only control apps running on my device and daemons running on my pod. I need to use very generic APIs for 3rd party services which I would like apps and daemons I use to interact with. When all such services can 'understand' common *real world* Actions, it seems much more approachable to design for such environment where no one has full control over all the interacting components... In general we aim that everyone can accomplish same results in many different way. Depending on one's own preference and interoperability of components involved in given interaction. As side note I currently combine RESTful HTTP with The Bayeux Protocol for HTTP based pub/sub (real time). At the same time keeping it generic enough so one can plug in options like XMPP pub/sub or for some cases use Webfinger etc. BTW how can I link from Photograph back to Action it came as *resultOf*? Same applies to any *Thing* which comes as *result* of an Action. > > You might want to take a look at a few demos/prototypes I've been > building with examples, which should give you a concrete idea of where > things are going. > > http://code.sgo.to/crawler/yaap.html#url=http://code.sgo.to In Chromium Version 30.0.1599.101 (227552) in javasctipt console: Uncaught TypeError: Cannot read property 'length' of undefined yaap.js:266 Firefox 24.0 shows me JSON-LD with links but when I click one I get SyntaxError: JSON.parse: unexpected character var parent = JSON.parse(e.target.parentElement.innerText); > > > > I wonder if we should try to bounce Actions specific feedback back > and forth over this mailing list or use some issue tracker to keep > track on every issue separately? > > > Lets use this mailing list for the moment, until it gets too verbose/noisy. > > > Some of them I already have mentioned but possibly my email have > drowned in archives of this list ;) > http://lists.w3.org/Archives/__Public/public-vocabs/2013Nov/__0200.html > <http://lists.w3.org/Archives/Public/public-vocabs/2013Nov/0200.html> > > Once I get back on playing with Actions I expect gathering more > feedback and would like to pipe it into some workflow where we can > track it and resolve in some reasonable time. If I could choose way > for tracking issues, as for today I would go with github issue > tracker :) > > Other suggestions? > > > The default public-vocabs process for filling bugs is fine for the > moment. You can reach out to me personally too at goto@google.com > <mailto:goto@google.com>, in case you feel more comfortable talking to a > smaller audience too :) Ok, let's try that! Looking at issues which I raised in http://lists.w3.org/Archives/Public/public-vocabs/2013Nov/0200.html they still look not addressed :( cheers!
Received on Monday, 27 January 2014 20:47:41 UTC