14:57:47 RRSAgent has joined #lws 14:57:51 logging to https://www.w3.org/2025/03/03-lws-irc 14:57:53 Zakim has joined #lws 14:58:42 zakim, start meeting 14:58:42 RRSAgent, make logs Public 14:58:44 please title this meeting ("meeting: ..."), acoburn 14:58:50 meeting: Linked Web Storage 14:59:03 agenda: https://www.w3.org/events/meetings/a19ab7dc-1753-433d-bac5-64e3ad8c0a43/20250303T100000/#agenda 14:59:05 clear agenda 14:59:05 agenda+ Introductions and Announcements 14:59:05 agenda+ -> Action Items https://github.com/w3c/lws-protocol/issues?q=is%3Aopen+is%3Aissue+label%3Aaction 14:59:05 agenda+ -> Glossary https://github.com/w3c/lws-ucs/pull/123 14:59:45 TallTed has joined #lws 15:00:20 ericP has joined #lws 15:01:13 AZ has joined #lws 15:01:39 hadrian has joined #lws 15:01:40 present+ 15:01:47 present+ 15:01:51 present+ 15:01:59 present+ 15:02:38 cpn has joined #lws 15:02:46 present+ 15:03:03 present+ 15:03:16 bendm has joined #lws 15:03:21 present+ 15:04:22 chair: ericP 15:04:24 agenda? 15:04:26 scribenick: acoburn 15:04:38 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html TallTed 15:04:45 zakim, open agendum 1 15:04:45 agendum 1 -- Introductions and Announcements -- taken up [from agendabot] 15:04:45 chair: ericP 15:05:05 laurens has joined #lws 15:05:08 present+ 15:05:33 eBremer has joined #lws 15:05:39 present+ 15:05:44 scribe+ 15:05:58 previous meeting: https://www.w3.org/2025/02/27-lws-minutes.html 15:05:58 next meeting: https://www.w3.org/2025/03/10-lws-minutes.html 15:05:59 acoburn: US transitioning to daylight savings time 15:06:04 q+ 15:06:13 ... this meeting is tied to US time 15:06:58 TallTed: reminder to subscribe to the W3C calendar 15:06:59 ... this means that for the next three weeks, Europeans will be joining one hour earlier 15:07:09 scribe- 15:07:33 Zakim: take up next agendum 15:07:42 take up next agendum 15:07:44 ack TallTed 15:07:58 Zakim, next item 15:07:58 agendum 2 -- -> Action Items https://github.com/w3c/lws-protocol/issues?q=is%3Aopen+is%3Aissue+label%3Aaction -- taken up [from agendabot] 15:08:50 ryey has joined #lws 15:08:53 present+ 15:08:55 ericP: first item is #11 15:08:56 https://github.com/w3c/lws-protocol/issues/11 -> Action 11 add categorization to the needs discussion labeled issues (on hzbarcea) due 2025-01-13 15:09:06 hadrian: this is the recurring item, we'll skip it 15:09:21 jeswr has joined #lws 15:09:23 ericP: introduce owner and controller in glossary 15:09:30 present+ 15:09:44 hadrian: no time this week, planned to do in the next days 15:10:03 ericP: do you need assistance? 15:10:18 hadrian: help will come in the form of comment 15:10:24 Zakim, next agendum 15:10:24 agendum 3 -- -> Glossary https://github.com/w3c/lws-ucs/pull/123 -- taken up [from agendabot] 15:11:59 hadrian: this is PR #123, there is a comment that some definitions are too specific, but these come from NIST and other standards bodies 15:12:00 Issue 123 not found 15:12:16 q+ 15:12:30 ... some comments from Ted related to dashes 15:12:49 ack TallTed 15:12:49 ack next 15:13:09 TallTed: replaces hyphens with m-dashes, other comment is to sort by alpha-numeric 15:14:19 hadrian: will update the sort order, will need to figure out how to input m-dashes via markdown 15:14:57 TallTed: Shift-Option-hyphen on a mac works. Also copy-paste works 15:15:31 ... the +1 on Sarven's comment is related to the generality 15:15:51 hadrian: will write back to Sarven to ask to be more specific about which terms are too specific 15:16:22 agendum 15:16:25 ... the comments and criticisms are all helpful, because they lead us to a better solution 15:17:15 ericP: is there anything we can do to help Hadrian? 15:17:23 topic: what we can do to help Hadrian with UC&R 15:17:41 hadrian: some thoughts to begin to think about: identity and local-first 15:18:01 ... self-soverign identity will be challenging with DNS 15:18:36 ... local first implies the existence of a service that views the data locally, e.g. serve as a web page, perform query 15:19:01 ... how much of this does the group want to take on? The challenge will relate to setting boundaries and limiting scope 15:19:08 q+ to propose that there may be constellations of features that we're unsure of what to specify 15:19:20 ... these two are the biggest challenges to sort out early 15:19:25 ack next 15:19:26 ericP, you wanted to propose that there may be constellations of features that we're unsure of what to specify 15:20:01 i/Shift-Option-hyphen /fwiw, GitHub Markdown lacks a way to write m-dashes. They take `--` (two hyphens) and render `–` (an n-dash). Other markdown systems take `--` (two hyphens) and render `–` (an n-dash), while still others take `---` (three hyphens) and render `—` (an m-dash). 15:20:01 i/Shift-Option-hyphen /On macOS, you can type opt-hyphen to get an n-dash, and opt-shift-hyphen to get an m-dash. 15:20:08 ericP: when someone writes a UC&R how can one not write solutions into that document, which can annoy people 15:20:37 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html TallTed 15:20:46 ... however, giving an editor latitude, such as using "for example" can be useful 15:21:25 ... in specs there may be a constellation of approaches, e.g. "for DID, the following three..." or "for DNS, the following options ..." 15:21:49 ... I propose we give the editor a lot of lattitude to write things down in order to get a draft out and to start a conversation 15:22:21 ... the UC&R document is an opportunity to write a story that grounds the WG 15:22:51 ... would that mandate help you, Hadrian, create a more coherent document? 15:23:07 s/Other markdown systems take `--` (two hyphens) and render `—` (an m-dash/ 15:23:27 hadrian: that sounds good, but if my ideas are very different from the rest of the group, it would be helpful to get early feedback from others 15:23:35 s/Other markdown systems take `--` (two hyphens) and render `–` (an n-dash/Other markdown systems take `--` (two hyphens) and render `—` (an m-dash/ 15:23:42 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html TallTed 15:23:49 ericP: the best approach is to just write things down and get feedback 15:24:16 hadrian: it would save us time to have these discussions earlier 15:25:14 q+ on difference between local-first vs local-storage 15:25:17 q+ to say that we'll work it out. the end of the editing process can trim stuff we don't want 15:25:24 q+ to agree with ericP that this latitude will help uncover ambiguities or mark areas such as eg DID alignment 15:25:26 ... there are tradeoffs for local storage vs. network interactions. Some guidance from the group would be helpful 15:25:34 ack next 15:25:35 ryey, you wanted to comment on difference between local-first vs local-storage 15:26:14 ryey: want to distinguish between local-first and local-storage. To me, these are very different 15:26:28 hadrian: the big issue is portability 15:26:49 q+ 15:26:53 ... if I move to a different provider, I want to have the same types of services 15:27:19 q+ to describe what I think of as local-first vs local-storage 15:27:31 ryey: to me portability is very important, but I'd like more clarification. It seems less about local-first 15:27:55 ericP: are you discussion the difference in understanding or the difference in expressing this 15:28:04 ack next 15:28:05 ericP, you wanted to say that we'll work it out. the end of the editing process can trim stuff we don't want 15:28:15 ack next 15:28:16 bendm, you wanted to agree with ericP that this latitude will help uncover ambiguities or mark areas such as eg DID alignment 15:28:35 dmitriz has joined #lws 15:28:37 TallTed: when I think of local first, the data will be on my primary storage location 15:28:56 present+ 15:29:03 ... i.e. local to me in a physical context 15:29:50 ... Local first is to write to the primary location and then replicate out to other locations 15:30:06 ... part of the game is to describe the functionality we want 15:30:20 ... and then to describe what the software features are that meet these features 15:30:32 ... e.g. "I need to read a thread of conversation" 15:31:04 ack 15:31:10 ack TallTed 15:31:10 TallTed, you wanted to describe what I think of as local-first vs local-storage 15:31:33 hadrian: I agree with that, but I was thinking more of the use cases where you want to build a query service 15:31:36 q+ 15:31:58 ... which likely will be hosted on the same machine, so the query service will see the data as local (rather than via HTTP) 15:32:41 ... but if you port your data to another location, and someone else builds a query service, how can we ensure that feature is portable 15:33:07 ack next 15:33:35 +1 agree with Ted, that we should specify the storage structure only minimally 15:33:36 TallTed: we should be minimally involved in the details of the implementations. The question is are the required features available 15:34:24 ... the requirements are built on use cases. The features satisfies requirements 15:34:43 ... we don't specify the "how". We specify the what 15:35:07 ... the internals are mostly opaque and should stay that way 15:35:18 ... we should minimize what we are delivering in terms of the specification 15:35:57 ... they don't *have* to write into a SQL engine or Triple Store. It is sufficient that we define the API 15:37:01 bendm: wanted to agree with eric that we should uncover ambiguities 15:37:09 jeswr has joined #lws 15:37:12 q+ 15:37:26 ack next 15:37:30 hadrian: the most difficult part is still portability. If I see a storage, what am I looking at? 15:37:40 portability is a user-story/use-case. the net result is that (some) functionality which was available at x is now available at y. 15:38:14 q+ to talk more about portability 15:38:16 jeswr: my understanding of portability, it seems that when you talk of portability, you also talk about dev-ops and tracability 15:39:17 ... I don't think we have time in this WG to standardize that level of portability (e.g. metadata formats for traceability) 15:40:04 hadrian: I agree that we should not define this, but we should indicate how these value-added features can be added to an implemenation 15:40:44 q? 15:40:51 ... for example, if provider A supports a feature and the data is moved to provider B, how would provider B understand what provider A saw in the data? 15:41:02 ack next 15:41:03 TallTed, you wanted to talk more about portability 15:41:36 TallTed: this is a question of how far into the weeds we go. They are important to consider, but aren't in the realm of specification 15:41:42 ... they are in the realm of use cases 15:42:15 ... one issue that many users have identified in the realm of social media includes exporting data 15:42:35 ... google can export data, but it's basically a blob with minimal metadata 15:42:51 ... IIRC, you don't get comments 15:43:11 ... FB is similar, you can export data, but it is not structured or portable 15:43:32 hey, for what it's worth, the SocialWeb CG has an in-progress account export format.. 15:43:35 ... that is part of a user story that we might imagine: take data from google plus and put it on facebook 15:43:46 ... that is something that LWS could deliver 15:43:57 https://codeberg.org/fediverse/fep/src/branch/main/fep/6fcd/fep-6fcd.md 15:44:27 ... e.g. when a user exports data, they should be able to get the data in a form with enough structure that it is usable 15:45:02 ... what we want to try to do is to enable enough as is possible with loosely-bound specifications 15:45:20 q+ on "verifying"/"proving" the "imported" data 15:45:21 q+ 15:46:44 note that I didn't get *deep* into what's exportable -- who read my post, who read joe's comment on my post, etc. 15:46:46 queue? 15:46:48 dmitriz: in the social media use case, this is relevant for the social web WG, which specifies a very light weight export format. There is a link describing what this looks like. The focus is on the manifest 15:46:58 queue: ryey 15:47:13 ... a tarball of all the data and directories and a manifest that describes what is contained 15:47:15 queue =ryey 15:47:30 q? 15:47:34 q- 15:47:38 ack next 15:47:39 ryey, you wanted to comment on "verifying"/"proving" the "imported" data 15:48:08 ryey: re import/export between storage providers, I'd like to add a point about verifying the data 15:48:31 q+ 15:48:40 q+ to ask dmitriz if there were some guiding principles for how deep to code interopperatble structures vs. free text misc 15:48:43 q+ 15:48:58 ... there must be ways to verify this, such as cryptographic techniques. Are there better ways? 15:49:04 ack next 15:50:04 (maybe relevant) Trust Spanning Protocol https://trustoverip.github.io/tswg-tsp-specification/ 15:50:17 dmitriz: re verification, in social CG, we're approaching it in a layered approach. First layer, is just the data. Second layer, we want to sign the data. The agent is able to sign all the operations 15:50:26 requirements for data portability... (1) crypto-signing and similar verification that xyz was exported and xyz was imported; (2) that same "fields" and their "ranges"/"domains" are used; (3) that photo-abum app xyz and zyx use same "fields" and "ranges", and support same graphic formats; (4) ... 15:50:39 ... Verifiable Credentials are used to track provenance 15:50:41 q+ 15:50:43 ack next 15:50:44 ericP, you wanted to ask dmitriz if there were some guiding principles for how deep to code interopperatble structures vs. free text misc 15:51:11 ericP: all of these affect interoperability 15:51:48 ... we want guarantees that we understand the structure 15:51:55 Great to hear that dmitriz! Are there any pointers to that layered stuffs as a spec? 15:52:16 ... in the social CG, how far did the group go in terms of specifying the format of the export data 15:53:06 dmitriz: all the data is formatted as JSON-LD. Each impl introduces new fields, and for the programmers that write the import/export fields, they need to understand the new fields 15:53:22 ... in linked data, we have links to human-readable documentation 15:53:24 ack next 15:54:14 yeah, would be great to see ya'll at IIW! 15:54:14 hadrian: ryey mentioned verification, but I don't recall seeing a use case about this. Please add one, if there isn't one 15:54:30 ... IIW is next month and I plan to attend, please reach out if you plan to attend 15:54:48 ack next 15:54:54 ... this conversation was very helpful for me because it gives me much more direction 15:55:16 TallTed: making note that we've been talking about some different applications in this conversation 15:55:33 (in case people are curious with how we're thinking about verification aspect of it, here's the 'Roadmap for Actor and Object Portability' doc https://codeberg.org/fediverse/fep/src/branch/main/fep/7952/fep-7952.md ) 15:55:45 q+ to ask if IIW merits an announcement (i.e. in the agenda) 15:55:46 (again, not official spec, just in progress) 15:56:07 ... social media use case, but there are others requirements. This requires that the same fields/schemas are used 15:56:28 s/others requirements/other applications/ 15:57:04 ... I also want to be able to migrate photo albums, e.g. I want to store my pictures and share them with different groups 15:57:37 ... how we do that gets into the implementations that are derived from the use cases and requirements 15:57:45 ... if we approach all at once, it's too big 15:59:24 ... the storage has limited requirements 15:59:46 ... photo application needs to be able to say: give me all the pictures with this tag, etc 15:59:56 ... maybe there are extension points 16:00:32 RRSAgent, make minutes 16:00:33 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html acoburn 16:00:40 adJOURNED 16:00:40 IIW -- Internet Identity Workshop -- https://internetidentityworkshop.com/ 16:01:09 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html TallTed 16:03:39 s|s/Other markdown systems take `--` (two hyphens) and render `—` (an m-dash/|| 16:03:49 I have made the request to generate https://www.w3.org/2025/03/03-lws-minutes.html TallTed 16:05:02 acoburn has left #lws