- From: Sam Goto <goto@google.com>
- Date: Mon, 27 Jan 2014 21:30:53 -0800
- To: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Cc: "public-vocabs@w3.org" <public-vocabs@w3.org>
- Message-ID: <CAMtUnc45um6Dp7johNtaMvxu93rmjzmLmx498dV6OWB8TnLeyQ@mail.gmail.com>
On Mon, Jan 27, 2014 at 12:48 PM, ☮ elf Pavlik ☮ < perpetual-tripper@wwelves.org> wrote: > 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. > > Ugh, we don't have currently any way to link one action from another. There is some design that was done for http://schema.org/Event, which we could potentially leverage. > > >> 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 may have fixed that (although i didn't try with your specific version of chrome). Try again? > > >> >> >> 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 :( > > Yep, sorry, that's my fault :( I'll get to it as soon as I'm done publishing a baseline spec. > cheers! >
Received on Tuesday, 28 January 2014 05:31:21 UTC