[MINUTES] W3C CCG Verifiable Credentials for Education Task Force Call - 2022-01-31

Thanks to Our Robot Overlords for scribing this week!

The transcript for the call is now available here:

https://w3c-ccg.github.io/meetings/2022-01-31-vc-education/

Full text of the discussion follows for W3C archival purposes.
Audio of the meeting is available at the following location:

https://w3c-ccg.github.io/meetings/2022-01-31-vc-education/audio.ogg

----------------------------------------------------------------
VC for Education Task Force Transcript for 2022-01-31

Agenda:
  https://lists.w3.org/Archives/Public/public-vc-edu/2022Jan/0032.html
Topics:
  1. Call Notes
  2. Introductions & Reintroductions
  3. Announcements & Reminders
  4. Discussion of Internationalization in Edu VCs
Organizer:
  Dmitri Zagidulin
Scribe:
  Our Robot Overlords
Present:
  Deb Everhart, John Kuo, Dmitri Zagidulin, Simone Ravaoli, Stuart 
  Freeman, Markus Sabadello, Kerri Lemoie, James Chartrand, David 
  Ward, Chris Kelly, Eugen Neuber, Matt Lisle, Colin, LEF, Kayode 
  Ezike, Simone , Phil Long, Colin Reynolds, Learning Economy, 
  Taylor, Sharon Leu, Matthias Gottlieb, Jim Goodell, Nate Otto, 
  Phil L (P1), Phil (T3), Timothy Summers

<chris_kelly_(dif)> yes loud and clear
<dmitri_zagidulin> can anyone hear me?
<simone_ravaioli> not yet
<kerri_lemoie> Hopping on with Safari so I can hear.
Our Robot Overlords are scribing.
Dmitri Zagidulin:  Minutes.

Topic: Call Notes

Dmitri Zagidulin:   The recording and minutes archived at our 
  GitHub  We use Jitsi chat chat or IRC on the w3c ccg channel 2 Q 
  speakers as well as to take notes so the the notes in the 
  transcriptions are going to be.
Dmitri Zagidulin:   Are going to be.
Dmitri Zagidulin:  I've typed in chart type Q Plus to add 
  yourself to the queue.

Topic: Introductions & Reintroductions

Dmitri Zagidulin:  And if you're not not able to type just let us 
  know voice and we'll add it to the queue all right so let's go to 
  introductions and reintroductions it do we have new people on the 
  call that whenever you introduce themselves.
Dmitri Zagidulin:  And similarly do we have people who wants to 
  do a quick reintroduction..
<chris_kelly_(dif)> :wave:
Dmitri Zagidulin:  Go ahead Chris.
Dmitri Zagidulin:  And if you speaking I think you might be still 
  muted.
Chris_Kelly_(DIF): Is my mic on them.
Dmitri Zagidulin:  Yes we can hear you.
Chris_Kelly_(DIF): Perfect sorry yes I've been on the call before 
  but it's a number of months ago since I've been so quick 
  reintroduction is an order hi my name is Chris Kelley and I'm 
  currently responsible for communications at the decentralized 
  identity Foundation.
Chris_Kelly_(DIF): The yeah have to be back.
Dmitri Zagidulin:  Fantastic happy to have you here.
<simone_> Grat to have you back, Chris
Dmitri Zagidulin:  Anyone else.

Topic: Announcements & Reminders

Dmitri Zagidulin:  All right does anybody have any announcements 
  or reminders.
Dmitri Zagidulin:  Marcus go ahead.
Markus Sabadello:  Yeah just like I could also introduce myself 
  I'm Marcus Hospital oh I'm generally trying to participate in a 
  lot of things in ccg and other places but I don't think I've been 
  to this call many times before so just wanted to say say hello 
  and I'm from from Daniel take we're a small SSI company in Vienna 
  Austria and we are quite involved with the you.
Markus Sabadello:  .
Markus Sabadello:  If you are.
Markus Sabadello:  Blockchain service infrastructure where we are 
  working with two universities in Austria and also some other 
  universities across the you on some digital diploma use cases 
  some also very curious to learn more about what this group is 
  doing at the moment.
Dmitri Zagidulin:  Thanks Mark assigning a really great glad to 
  have you and do you mind if I paste a link to your medium post 
  here in the chat.
Dmitri Zagidulin: 
  https://medium.com/@markus.sabadello/transatlantic-ssi-interop-52bac6be8dfe
Markus Sabadello:  Actual go ahead.
Dmitri Zagidulin:  All right Christian thank you go ahead.
Chris_Kelly_(DIF): Hi there I have a small announcement to make 
  is that if the decentralized identity Foundation is organizing an 
  online event in a month reporting about various aspects of our 
  work including educational credentials and verifiable credentials 
  and SSI more generally if would be appropriate I will happily put 
  a link to this video training page in the chat it is free it is.
Chris_Kelly_(DIF):  open to everybody not just DIF members..
Chris_Kelly_(DIF): DIF membership and it's a purely virtual 
  event.
https://www.eventbrite.com/e/difcon-f2f-virtual-3-tickets-162786327287
Dmitri Zagidulin:  Please do that was going to be my next 
  question please post a link.
Dmitri Zagidulin:  All right anyone else.
Dmitri Zagidulin: 
  https://docs.google.com/presentation/d/18ppWk_deojNoVirksDF93gABvQOGS4MptTQGhbCtIbs/edit#slide=id.p

Topic: Discussion of Internationalization in Edu VCs

Dmitri Zagidulin:  All right so let's let's get started let's 
  talk about internationalization and localization I'm going to 
  paste here a link to the slides that I'll be using so you can 
  follow along I'm also going to share screen.
Dmitri Zagidulin:  Though if server acts up we will all stop 
  sharing and we can advance our own slides so here we go.
Dmitri Zagidulin:  Okay so can everybody see my screen.
Kerri Lemoie:  Yep we can see it.
Dmitri Zagidulin:  Okay fabulous so.
Dmitri Zagidulin:  And Kyrie to see the slides in full screen.
<jim_goodell> yes
Kerri Lemoie:  We can.
Dmitri Zagidulin:  Okay fantastic okay so what is 
  internationalization and localization and why is it relevant to 
  us here at the VC edu and  Simone and Kerri I don't see the chat 
  here in full screen so if somebody can give me a heads-up on 
  there's questions on them.
Dmitri Zagidulin:   And then.
Dmitri Zagidulin:  You.
Kerri Lemoie:  Sure.
Dmitri Zagidulin:  Okay so internationalization and localization 
  are related there's nice numeron IMS like i18n which I thought 
  was a cool term.
Dmitri Zagidulin:  To avoid typing out internationalization each 
  time so the difference though they're both related the difference 
  is this so localization is basically what we're doing here on 
  this call its design and specs up front so we need to make sure 
  everybody's aware of internationalization issues in our 
  verifiable credentials and any software and specs that we write.
Dmitri Zagidulin:   We.
Dmitri Zagidulin:  To build it in from from the start into our 
  data models and apis and then localization refers to.
Dmitri Zagidulin:  Actually translating or changing the format or 
  changing the data in the app for the user as they interact with 
  our software.
Dmitri Zagidulin:  So specifically how does it.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Out how does it relate to us so in the call I 
  want to start the discussion I want to highlight the importance 
  of internationalization and localization.
Dmitri Zagidulin:  I want to put the thought in everybody's mind 
  that we want to.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Make sure that our data models in context and 
  schemas allow for easy internationalisation we want to make sure 
  our specs have plenty of examples so people just can see it right 
  off the bat and bring a couple couple of interesting difficulties 
  and advice for implementers.
Dmitri Zagidulin:   So any.
Dmitri Zagidulin:  Fire.
Dmitri Zagidulin:  So let's start with the simplest we know 
  internationalization is going to involve translation many of the 
  members of this task force like like Canadalike EU
Dmitri Zagidulin:   Huh.
<matthias_gottlieb> I have no sound
Dmitri Zagidulin:  Deal with legal requirements and practical use 
  cases of supporting multiple languages with verifiable 
  credentials so what does that look like the VC data model.
Dmitri Zagidulin:  And by extension the json-ld serialization of 
  the VC data model has internationalisation built-in it allows you 
  to for each verifiable credential to specify a default language 
  so that for example if you're in Germany and most of you use 
  cases going to is going to be in Germany you can specify that 
  this verifiable credential is going to be in German.
Dmitri Zagidulin:  Aah right off the bat at the top level if it 
  fits your use case you can also override.
Dmitri Zagidulin:  The language for each particular property and 
  you have multiple languages in there I'll show you in just a 
  second on a property by property or Claim by claim basis and in 
  addition to specifying the language.
Dmitri Zagidulin:  You're so often with some languages need to 
  specify the direction is it being read left to right or right to 
  left and that is an important directive for a whole bunch of 
  software that encodes the characters parses that displays for 
  speech readers and so on so what's an example.
Dmitri Zagidulin:  Herein.
Dmitri Zagidulin:  This is not a full verifiable credential.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Safe space it's lifted directly from the 
  JSON-LD internationalization section of the spec but basically 
  the relevant parts are easy in the context where we have our VC 
  context an hour credential specific one you add the at language 
  property.
Dmitri Zagidulin:   And.
Dmitri Zagidulin:  Japanese specify English and so on and it's 
  the iso to character language code.
Dmitri Zagidulin:  And then processing software knows how to 
  parse the languages which encodingsto use and so on in addition 
  to specifying it at the top level.
Dmitri Zagidulin:  You can override each language per field so 
  for example.
Dmitri Zagidulin:  If we have a mock very simplistic credential 
  for a person that has the person's name.
Dmitri Zagidulin:  The value of the name property is an array of 
  objects and essentially each object is a translation.
Dmitri Zagidulin:  There's another notation that makes it even 
  easier to process that instead of an array makes it a dictionary 
  but that's an advanced use case we can bring it up later 
  somebody's interested but.
Dmitri Zagidulin:  I just want to make make sure that everybody 
  sees the.
Dmitri Zagidulin:  The conventions the technology and that it 
  makes sense in addition to specifying the language you can also 
  at the top level.
Dmitri Zagidulin:  Five the direction so for example this is a 
  example of an object or verifiable credential in Arabic and in 
  Arabic you have to specify that the.
Dmitri Zagidulin:  The direction is right to left there's part of 
  the reason why it's good to do that is although there are string 
  libraries that auto detect the the reading direction of the 
  language they often try to do it by the first character of the 
  string and sometimes especially when strings have mixed 
  characters like in this title has has English and Arabic 
  characters it it messes with the auto-detection so it's.
Dmitri Zagidulin:   To be explicit and set the direction.
Dmitri Zagidulin:  So any questions about the.
Dmitri Zagidulin:  Specifying the language for a VC and 
  specifying the reading Direction.
Dmitri Zagidulin:  All right so that's the that's the data model 
  part that's the easy that's straightforward we can a very least 
  know that our verifiable credentials can be multiple languages 
  but that brings up the question.
Dmitri Zagidulin:  At what point do we actually localized or 
  translate our credentials and the answer it depends on your use 
  case for example if in your country in your jurisdiction you are 
  legally obligated to always have credentials in let's say two 
  languages English and French.
Dmitri Zagidulin:   Yeah.
Dmitri Zagidulin:  Make sense for you as the issuer to always 
  issue.
Dmitri Zagidulin:  Credentials that look like this that have an 
  array for each translatable property in both the language that 
  you have to support.
Dmitri Zagidulin:  By the way notice something that when 
  translating.
Dmitri Zagidulin:  Not every property is actually translate for 
  example the types and the contexts type specifically are 
  machine-readable symbols they don't need to be translated it's 
  specifically the properties that you need to localize.
Dmitri Zagidulin:   But.
Dmitri Zagidulin:  Two.
Dmitri Zagidulin:  Back to the question of whether We're 
  translating so if you know your primary audiences if your.
Dmitri Zagidulin:  If the language that you support the fixed 
  subset and.
Dmitri Zagidulin:  Your you don't have space constraints for 
  example you're not trying to embed entire credentials into a 
  qr-code.
Dmitri Zagidulin:  Then it makes sense for you to at the template 
  level in your issue or software.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Just put in all of the translations you likely 
  to need and that way whenever anybody asks for you to issue a 
  credential you just give it to them it's already pre translated 
  they can do whatever they want the other option if the number of 
  languages is unbounded or if you have space constraints or for 
  other other reasons you could ask API time.
Dmitri Zagidulin:  And this gets into VC API issues and we'll 
  have this discussion with the VC API task force as well of how to 
  use standard HTTP header properties that says I would like I 
  accept this language so I would like whatever you issue to me to 
  be retranslated pre localized in the following language so does 
  this part make sense does this question that.
Kerri Lemoie:  Hey I Dimitri we have a Marcos in the queue.
Dmitri Zagidulin:  Yeah Marcus go ahead.
Markus Sabadello:  No I'm not on the Q I think I just didn't get 
  acknowledged first time.
Kerri Lemoie:  I'm sorry.
Dmitri Zagidulin:  No problem no problem and Marcus please feel 
  free to jump in on all of these because you have a lot more 
  experience with a nationalization having done the.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Drop projects and working in multi language 
  environments so please feel free to jump in and.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Stuff are correct.
Dmitri Zagidulin:   So.
Dmitri Zagidulin:  Any questions about this central question.
Dmitri Zagidulin:  So what else is involved let's talk about 
  labels so so far we've been talking about translating and 
  localizing the data itself.
Dmitri Zagidulin:  So the names most often the descriptions so 
  for example if you're dealing with a credential that is a course 
  completion credential or diploma credential oftentimes they have 
  a human readable description field we're in complete sentences it 
  says this diploma does has the following requirements and is 
  issued to such and such people and so on.
Dmitri Zagidulin:  And those to be translated in multiple 
  languages it's hard to do automatically you're very likely going 
  to be using translators pre translating those fields and then 
  having your software deal with that either as we said at issue 
  time or when you're setting up the template.
Dmitri Zagidulin:  But that's the yes.
Dmitri Zagidulin:  Naked.
Nate_Otto_(Badgr/CSky): Don't know if I can actually unmute but 
  my comment was this is all making sense we're definitely talking 
  about it at the issuer side here and at some point you know it'll 
  make sense to think about like what is the person consuming these 
  badges need to do to process all of the different possible 
  options for ways that language might be specified I think 90% of 
  the difficulty or challenges in working with VCS that have the 
  possibility of internationalization will definitely be at that.
Nate_Otto_(Badgr/CSky):  consuming side turning them back into 
  meaningful value so I'm looking forward to the rest of your 
  presentation.
Dmitri Zagidulin:  Thanks yeah this is definitely a very relevant 
  question to all of us working on these projects okay so we talked 
  about translating the properties themselves like name and 
  description and so on but what about displaying them right what 
  about when you have a wallet software or verifier software or 
  anything that has to do with credentials and you received a 
  localized credential let's say it's in multiple languages or it's 
  in.
Dmitri Zagidulin:   The.
Dmitri Zagidulin:  Get a language that you requested.
Dmitri Zagidulin:  And the value is translated what are you going 
  to do with the labels now usually this consideration is left to 
  the software developers they often have like a language so that 
  control and depending on the language they they translate the 
  labels so if you're if you're doing a basic verifiable 
  educational credential like a diploma you have the name of the.
Dmitri Zagidulin:  So then the name of.
Dmitri Zagidulin:  School.
Dmitri Zagidulin:  And the description and the labels themselves 
  like the word description is translated into the correct 
  language.
Dmitri Zagidulin:  Normally this wouldn't be a concern or usually 
  this isn't a concern of specification working groups like ours 
  but the reason I wanted to bring it up to everybody is one of the 
  interests in this group.
Dmitri Zagidulin:  Is.
Dmitri Zagidulin:  Being able to embed the display logic in the 
  credential itself so for example the way Badger and other 
  Technologies like blockcerts allow you to need to embed images 
  with the pre-rendered credential or that allow you to embed HTML 
  which includes the labels on the input fields and and the value 
  substitution.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  On.
Dmitri Zagidulin:  Everybody to keep in mind that specifically 
  that display logic that is going to be embedded or linked to from 
  the credential needs to be localized needs to be translated.
Dmitri Zagidulin:   So.
Dmitri Zagidulin:  One of one of the future calls is going to 
  involve deterministic display Logics and what.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  What the field is out there currently and what 
  we can do in VC do task force standardized but just keep it in 
  mind.
Dmitri Zagidulin:  Translating the values is one thing but also 
  we need to make sure that if we're including the pre-rendered 
  verifiablecredential we need to translate that as well again 
  either at storage time somehow being able to specify all of the 
  credential so sorry all of the translated labels.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Have to be dealing with if you have a small 
  set of subsets of languages or  at issue time that if I want this 
  credential in English and give me the labels in English and then 
  the entire template so just wanted to put it out there next 
  updates everybody's favorite subject.
Dmitri Zagidulin:  .
<phil> RDF Schema allows for properties to be defined in 
  different languages
Dmitri Zagidulin:  Good news is that at the verifiable credential 
  data model all of the dates are in the same format it's whatever 
  the iso date format the one that goes.
Dmitri Zagidulin:  Yeah yeah year month month Day Day and then 
  the time stamp.
Dmitri Zagidulin:  The good thing about the date format that is 
  that is universal but much like with translating labels and 
  translating the data when you're displaying something like dates 
  when you're displaying something like currencies numbers and so 
  on which we'll get into in a second.
Dmitri Zagidulin:  Zap that your software and will need to know.
Dmitri Zagidulin:  Which which proper local specific format what 
  it in so remember during storage and an issue the verifiable 
  credential only has one way to store the days which is the one 
  dictated by the VC spec so if your software specifically a 
  display time that I need to translate the dates the same thing 
  applies to.
Dmitri Zagidulin:   Other.
Dmitri Zagidulin:  User interface considerations such as.
Dmitri Zagidulin:  Numbers.
Dmitri Zagidulin:  Units currency as well as.
Dmitri Zagidulin:  Things like plurals and formatting for example 
  just again as a as a random illustration say your credential.
Dmitri Zagidulin:  Has has the description or has the words the 
  bearerof this credential has taken X number of credits.
Dmitri Zagidulin:  In a in the following major program right.
Dmitri Zagidulin:  Your display logic either in your wallets 
  offering verifier or in the template that you're setting up will 
  need to have.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  To be able to handle plurals and in English 
  there's two types of players right there's the one and the many 
  but in other languages gets much more interesting like in Arabic 
  there's three plurals 12 and many and all the way to way more 
  exotic languages than that so.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  And.
Dmitri Zagidulin:  In mind when setting up your templates.
Dmitri Zagidulin:  Why do I bring up the names and addresses.
Dmitri Zagidulin:  So names part of it is the formatting.
Dmitri Zagidulin:  Different countries have different 
  requirements in terms of the formatting.
Dmitri Zagidulin:  Now addresses are a nightmare we're going to 
  get two addresses hopefully at some other point.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  In in RV CTU calls but the reason I bring it 
  up again is to start the conversation with you and to do 
  recommend to urge that unless you have very specific either legal 
  requirements or like if you're doing a library system 
  requirements for sorting.
Dmitri Zagidulin:  Avoid assuming that your address has hit a 
  particular schema so one thing that we often see is that one 
  setting up the credential let's say for an issuer right you you 
  want to specify which university issued this educational 
  credential and where they're located.
Dmitri Zagidulin:   The.
Dmitri Zagidulin:  The thing that you often encounter is that 
  developers especially US based developers immediately start 
  thinking in terms of the typical you ask address format so Street 
  Unit state ZIP code country that sort of thing but of course 
  somecountries don't have zip codes.
Dmitri Zagidulin:   The.
Dmitri Zagidulin:  The world of address formatting is alive and 
  complicated and there there are entire ISO specs that are 
  gigantic with slab specs that deal with.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  How you localize an address for particular 
  country if you need to machine process it and that's the 
  important part.
Dmitri Zagidulin:  What an easy solution especially now in the 
  early days and especially if your use case does not.
Dmitri Zagidulin:  Name field.
Dmitri Zagidulin:  .
Dmitri Zagidulin:   Does not require you to sort it a process it 
  in complex ways is.
Dmitri Zagidulin:  But last name and first name which is us and.
Dmitri Zagidulin:   Just have a single.
Dmitri Zagidulin:  Say Britain Center.
Dmitri Zagidulin:  Recognize the fact that different countries 
  will have way.
Dmitri Zagidulin:  Way different name requirements many more 
  names many of them won't have middle names and so on so avoid the 
  first middle and last trap just have a name field where the user 
  can put in whatever they need to similarly with the addresses 
  avoid the u.s. entered address schema even if Google recommends 
  it in schema.org they fall prey to the same same problems as.
Dmitri Zagidulin:   The schema.org.
Dmitri Zagidulin:  Developed by us developers and whenever 
  possible just have a single address field.
Dmitri Zagidulin:  Withaddresscan be type typed in as text us 
  free form and then let localization software deal with it so at 
  the data model level simple name field simple address.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Break.
Dmitri Zagidulin:  Up into sub Fields unless you have very 
  particular legal requirements for and we can get into specific 
  examples and specific recommendations as a group later on once 
  we've had this conversation so the purpose of this college is to 
  bring up the issues to all of you.
Dmitri Zagidulin:  So questions questions so far.
Dmitri Zagidulin:  So I want to call out since we have Marcus 
  here.
Dmitri Zagidulin:  Marcus have you had to deal with in 
  nationalization during your demo projects or what are your 
  experiences with it as a software developer in the European 
  Union.
Markus Sabadello:  Yeah thanks for asking me I may have to 
  disappoint you a little bit yes we have so we are doing quite a 
  bit of work here in the EU experimenting with universities within 
  this European blockchain service infrastructure which is a is a 
  commissioned by the which is an initiative by the EU commission 
  involving a lot of universities across different member states 
  and you.
Markus Sabadello:  .
https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/EBSI
Markus Sabadello:  And yes for example we've been working a 
  little bit with University in Germany and also with universities 
  in in Spain and trying to compare and interoperate a little bit 
  between what we are doing in Austria and what others are doing in 
  other EU countries unfortunately we haven't really been able to 
  go very deep yet into into internationalisation topic so we we 
  really haven't done.
Markus Sabadello:   Done.
Markus Sabadello:  Any of this yet trying to deal with multiple 
  languages or date formats we've been really just getting started 
  on the more technical base levels seeing if we can resolve each 
  other states and verify each other's signatures and we've been 
  going a little bit into into schema design Chase until the 
  context design we've had a lot of interesting.
Markus Sabadello:   Seeing challenges of.
Markus Sabadello:  With.
Markus Sabadello:  Different universities using different data 
  models on for example how do you identify different types of 
  diplomas or different types of degrees how do you distinguish 
  between a bachelor's degree and a master's degree and PhD and 
  different universities have different systems they are even 
  within Australia for example within our small country if Aunt 
  went to universities here are using good different.
Markus Sabadello:   Data models and of course we have so we have 
  a lot of these.
Markus Sabadello:  Classical json-ld modeling questions but we 
  haven't really gone into into this internationally 
  internationalisation topic I expected this will become very 
  important this year so the broader vision and perspective of the 
  EU here is to to Really encourage and support cross-border use 
  cases this year so.
Markus Sabadello:  Last year was.
Markus Sabadello:  2021 Was mostly about the individual member 
  states individual EU countries trying out things within the 
  country so there wasn't a lot of emphasis on the nationalization 
  and cross-border use cases and that's why we have limited 
  experience in that regard but it is going to be really a central 
  aim of the EU commission to work on that this year as.
Markus Sabadello:   As part of.
Markus Sabadello:  Other strategies something that they call the 
  you single digital market and connecting Europe facility so that 
  a lot of there's a lot of interest now to to Really encourage 
  cross-border projects of all kinds including collaboration 
  between universities and then this year this will really become a 
  strong Focus but so far I can't really give a lot of.
Markus Sabadello:   Channel technical.
Markus Sabadello:  I'm learning a lot from from you so this is 
  this is very very interesting.
Dmitri Zagidulin:  Thank you so much Marcus yeah so it sounds 
  like all of the all of us early implementers need to start 
  thinking about this and I I strongly hope for we as the VC EDU 
  task force come up with some recommendations.
Dmitri Zagidulin:  These are examples of studying languages 
  directions this is how you localize rendered images and HTML 
  templates or forget into.
Dmitri Zagidulin:  Other markup formats for deterministic display 
  but similarly this is what to watch out for with dates with 
  plurals with currencies and units and also hopefully will 
  maintain lists of.
Dmitri Zagidulin:  Contexts and jurisdictions because so far 
  we've just been talking about localization in the engineering 
  term in the.
Dmitri Zagidulin:  This has to do with language and formatting 
  rules but as Marcus mentioned we certainly have a lot of work to 
  do on the localized into the jurisdiction making sure that or at 
  least not making sure that's that's not our job as the task force 
  but at least make sure that the potential is there for degrees 
  credentials and all the things that were working with can operate 
  across state and Country lines.
Dmitri Zagidulin:  Other questions.
Dmitri Zagidulin:  You may have a nice and neat and short 
  discussion this week in that case.
Dmitri Zagidulin:  One thing that I'll mention as a as a preview 
  of upcoming topics is that related to.
Dmitri Zagidulin:  Nationalization localization are the issues of 
  accessibility and sometimes you'll see the topics are grouped 
  together because.
Dmitri Zagidulin:  Accessibility considerations have a very 
  similar.
Dmitri Zagidulin:  Structure to internationalization localization 
  which is you have to make sure that the data model supports it 
  and then you have to make yourself smarter to actually translate 
  or be accessible provide alternate ways of.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Doing displaying viewing the certificate.
Dmitri Zagidulin:  So you'll see a similar pattern 
  inaccessibility is there as what we touched on in localization 
  meaning we're going to have to decide.
Dmitri Zagidulin:  Weather too.
Dmitri Zagidulin:  Add additional fields for example and again 
  we'll get into this in a future topic of but something as simple 
  as an image description.
Dmitri Zagidulin:  Yeah go ahead.
Markus Sabadello:  This is our maybe you want to finish your your 
  pointexplanation if not I had another question maybe for that 
  group.
Dmitri Zagidulin:  Thanks yesso point was you see similar pattern 
  will have to make sure that our data data model support 
  accessibility and then we'll talk about some of the interaction 
  time considerations I go ahead Marcus.
Markus Sabadello:  Okay so my question that that we've been 
  struggling a lot with here in our work is more about the data 
  models and and the schemas and how to how to design those in a 
  way that enables localization or that enables credentials to be 
  interoperable across borders specifically we've been wondering a 
  lot about the granularity of of contexts or at some point.
Markus Sabadello:  The idea in our projects was that each EU 
  member state would Define their own context where they would 
  model their University diplomas and So within the Euro would be 
  27 different json-ld context for each country but then people 
  said okay this isn't going to be very easy then to be 
  interoperable and it would be better to have one European 
  Standard and Associated json-ld context but then sir.
Markus Sabadello:  The people said that.
Markus Sabadello:  Sexually.
Markus Sabadello:  Different between each each University like I 
  said even here in our relatively small country and our small 
  project different universities have different data schemes so I 
  wonder if there are any one has any idea or recommendations or 
  best practices on how to do that if if you have different data 
  models do you want like a top-down wondering to rule them all.
Markus Sabadello:   All.
<simone_> (Transcriber appears excited about this conversation 
  too)  Lol
Markus Sabadello:  Pro Traders a single context that just defines 
  everything and everybody has to deal with that or could there be 
  a layered approach maybe where some high-level Concepts I could 
  be defined by by top layer by some kind of governance body and 
  then individual countries and individual member states could 
  override that or add a details.
Markus Sabadello:   To that.
Markus Sabadello:  That's.
Markus Sabadello:  That's been interesting for us to to think 
  about.
Dmitri Zagidulin:  Thanks really great question.
Dmitri Zagidulin:  Let's put it to the group.
Dmitri Zagidulin:  Thank you so much Nate.
<taylor> Thank you for the edits Kerri :)
Nate_Otto_(Badgr/CSky): Sure I was going to bring up the 
  possibility for using language maps in defining a particular term 
  in the context to have a container type of language for a 
  slightly more abbreviated display when the issuer wants to award 
  a credential that has multiple different language values in it 
  the language Maps do convert through json-ld processing to be 
  equivalent to the array.
Nate_Otto_(Badgr/CSky):  or Matt with.
Nate_Otto_(Badgr/CSky): the value
Nate_Otto_(Badgr/CSky): And language keys for each value that you 
  showed I was wondering if you had any thoughts on whether kind of 
  allowing both options provide or produces any challenges for 
  consumers that makes their job more expensive versus if we 
  recommended using one method or the other given that json-ld 
  processing can translate pretty easily into the.
Nate_Otto_(Badgr/CSky):  more extended.
Dmitri Zagidulin:  Oh that's a great question and I didn't want 
  to get into too many details in our initial presentation about 
  the language Maps but you're absolutely right.
Dmitri Zagidulin:  .
<deb_everhart> wrt schemas for different types of credentials and 
  achievements, I would recommend starting with CTDL and adapting 
  it as needed for specific locales or types of credentials
Dmitri Zagidulin:  Of the verifiable credential serialization 
  data model has some really neat optimizations or shortcuts where 
  if you have an array of translated properties for a field but 
  let's say you have three different descriptions in three 
  different languages use the.
Dmitri Zagidulin:  The technique Nate istalking about is.
Dmitri Zagidulin:  There's a way to specify in the context that 
  this is always going to be a localized property so you might as 
  well presented in this way in a dictionary that's helpful for 
  developers so they can instead of searching through an array.
Dmitri Zagidulin:  To give language they can just Index right 
  into it so yeah that's a that's a great question should we as the 
  group recommend one particular way or wait and see what the 
  implementers are doing and with feedback great question no no 
  idea.
Nate_Otto_(Badgr/CSky): Yes and just to add one more wrinkle to 
  it if we were working in a world of kind of pure json-ld 
  processing that would be one matter you can always convert 
  between these different formats with some amount of ease but if 
  we add something like a Json schema for a particular credential 
  type to the mix then are we even going to be able to author a 
  schema that expresses all of the different possible options for.
Nate_Otto_(Badgr/CSky):  how language might be.
Dmitri Zagidulin:  Oh that's a.
Nate_Otto_(Badgr/CSky): Referenced within the credential we're 
  going to have to see what actually.
Dmitri Zagidulin:  That's a fantastic Point how does this 
  interact with Jason schemas that's definitely a great topic for a 
  future call or for a we could open an issue on the VC to you 
  GitHub specifically given the verifiable credential.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  Internationalization recommendations 
  specifying the language how does that interact with Jason schemas 
  and actually that's not that's not something that just us in vcd 
  you have to have to struggle with the fabric Winchell working 
  group the newly chartered 2.0 working group will will need to 
  provide these these examples because there's a lot of fans of 
  Json schema in the in the verifiable credential working group so.
Dmitri Zagidulin:   So we should absolutely.
Dmitri Zagidulin:  Bring up this very question of great if I have 
  to set up a schema how do I make sure that it's flexible enough 
  that.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  For internationalization it supports both of 
  these language formats the language container or the the IRA 
  format so thank you for bringing that up let's let's make sure to 
  track it at working group on the task force level.
Dmitri Zagidulin:  Phil.
Deb Everhart: https://credreg.net/ctdl/handbook
Phil Long: https://credreg.com/page/typeslist
<deb_everhart> thanks Phil
Kerri Lemoie:  Hey Dmitri are you still here with us.
Dmitri Zagidulin:  I'm so sorry I by accident hit the mute the 
  hardware mute on my headset thank you for checking okay so unless 
  there's other questions comments you can see it we had work ahead 
  of us.
Dmitri Zagidulin:  Hopefully a glad.
Dmitri Zagidulin:  Okay Kayode go ahead.
Kayode Ezike:  I'm sorry.
Dmitri Zagidulin:  Yep we can here you go ahead.
Kayode Ezike:  Hello so I think I'm going to answer this question 
  in my own protective but my question is related to basically the 
  fact that you were explaining how the language is specified in 
  the context field and my question is kind of like from a verifier 
  standpoint like how is it flat if a verifier kind of is 
  implemented with the expectation that a certain language.
Kayode Ezike:  Rather that.
Kayode Ezike:  The same language but it finds that actually is is 
  not that language is actually not included in the context would 
  that since is not part of the spec for for say for that to be 
  verified I guess that would not necessarily be a verification 
  failure it was expecting more to be a responsibility of the 
  application to flag that and just kind of wanted to know your 
  thoughts on how that kind of workload would work where a verifier 
  is us-centric.
Kayode Ezike:   To a particular language but it receives a 
  credential that.
Kayode Ezike:  Live does not include that language in context.
Dmitri Zagidulin:  Great question yeah how does it interact with 
  verification.
Dmitri Zagidulin:  So couple of thoughtsright off the bat and 
  this is again this is going to be a great topic for a future call 
  let's refresh our memory in about all of the.
Dmitri Zagidulin:  .
Dmitri Zagidulin:  All the considerations about verifying the 
  simple ones verifying that the Integrity of the credential the 
  digital signatures fine that's tough the easy part but all of the 
  more interesting exploration revocation if the credentials using 
  an issue of registry has it been edited registered and all that 
  stuff and now Kayode brings up another excellent point is how 
  does verification interact with.
Dmitri Zagidulin:  Internationalization with with translated in 
  different languages so.
Dmitri Zagidulin:  Got the at the very base line level of digital 
  signature checking out it internationalization doesn't affect 
  verification at all it's still just a string it's still just a 
  Json object that is digitally signed so the signature will check 
  out but you're absolutely right that we may run into interesting 
  edge cases where the verifier software or more likely whatever 
  software is.
Dmitri Zagidulin:  Thing the verifier back end so wallet or 
  whatever other business logic application will need to make sure 
  will need to enforce.
Dmitri Zagidulin:  The languages and so on so quick question I 
  think.
Dmitri Zagidulin:  I think nobody's gotten as far as de stumble 
  up against it but it's definitely something we'll need to keep an 
  eye on.
Dmitri Zagidulin:  Thanks Kayode.
Dmitri Zagidulin:  All right anyone else.
Dmitri Zagidulin:  Great thank you so much everyone have a couple 
  minutes before your next call and see you next week.
<sharon_leu> Thanks!
<chris_kelly_(dif)> thanks all!
Dmitri Zagidulin:  Thanks.
Kerri Lemoie:  Thanks to my G.
<markus_sabadello> Thanks
Dmitri Zagidulin:  Arie and if if I could ask you to stay on for 
  a couple more minutes just to.
<taylor> Thank you Dmitri et al 🙏
Dmitri Zagidulin:  Walk me through.
Dmitri Zagidulin:  Downloading the the recording.
Kerri Lemoie:  Yes I will walk you through some Med I'm can you.
Kerri Lemoie:  Turn off the sound of the describer now it's in 
  the same.

Received on Thursday, 10 February 2022 20:06:13 UTC