Tell a story #117
Comments
During an unconference session at The Hewlett Foundation's Grantees Meeting that @drrobertfarrow and I held, this user story came up and was prioritized quite highly. The idea is to collect stories of how OER is used all around the world, simply geo-tagged semi-structured descriptions of "initiatives". I really like the idea, because it directly engages the community and brings "human" content to the platform. Also, we can then analyze those stories and identify common grounds (e.g. tools that were used) to guide us through the process of identifying which data is most useful and thus important to be added next. The proposed workflow is quite simple: let people send in their stories by email. |
Acceptance criteria:
|
|
I think the 5 w model is great for describing projects/initiatives and the impact they have. But some stories might not fit. For example a user might want to tell the world about a project that is just starting and wrote about plans and aspirations. |
True, @drrobertfarrow. But then again, you can also write about who is planning what to happen where and when. Why are they planning to do so? To this list we should also add the question of how things were or are planned to be done (e.g. which OER services are used). |
I really do like the idea to collect "stories", because "stories" are a very natural way of communication. Stories can be used to communicate information on different levels at one time, which makes them much more attractive than pure metadata. "Storytelling" has become an rather innovative approach in the consultancy-business and just recently there was a Mooc on the "The future of Storytelling" which also includes a chapter on "Location Based Storytelling", which might be interesting in our context. The interesting question for us is how "stories" could be matched to our datamodel. I agree with @literarymachine that (if we do not want to add the entity "story") the closest would be "projects". We always subsumed "initiatives" (the term frequently used in the RFP) under "projects". In our actual model "projects" develop "services", which might reflect that we (the project team) are looking at the OER world primarily from a technical infrastructure point of view. But "Stories" (=projects/initiatives) probably will include more than pure technical aspects. I`m thinking here especially of "Open Educational Practices" (OEP). In my opinion "OEP" should be included in our data model as a new entity. I guess it would make sense to connect "OEP" to "projects" ("used in"/"developed in"). To summarize: "stories" could be collected as "projects". If they are differentiated by time, they can be connected to "services" and "OEP`s". Makes sense to me, though we certainly need to discuss this issue in detail. @acka47: Do we have a description of the entities used in our data model? If not we should start generating them... |
Interestingly, I could not find a vocabulary to describe projects at first glance. While people, organizations and services easily map to schema.org, it provides no notion of a project. FOAF provides a very general project class, but no properties or guidance on how to describe these. There is the Description Of A Project (DOAP) ontology, but that is geared towards describing open source software projects. The only other trace I could find is a link here, but that appears to be dead. I definitely don't want to over-model, but if I did not miss something, we will have to define a data structure to capture what we want to be described. I believe this should be very simple for a start, basically capturing the five Ws mentioned above:
This is something we could ask people to hand in by email immediately. Publishing it could be done by using a first version of an input template internally or in the extreme case by directly creating a JSON description. PS: The above properties of a project are basically shared with those of an event, but I would argue that a |
On a side note, it occurred to me that this "story" based approach could perhaps also be used to judge the relevance of an In #29 it says:
"Somehow involved with OER" is a pretty broad definition. "Involved in a project that is documented on the OER World Map" would clear this up a lot. |
When modelling projects and especially when modelling stories as a kind of projects, a kind of "status" would be useful. While this status would semantically overlap with the information given by startDate and endDate, it could further qualify the story, as there could be options like: "gathering participants", "searching for partners", "conceptualisation", "in progress" etc. Providing this information would ease to get in contact for those who are searching for initiatives to connect themselves to. The idea is to gain community interaction this way. |
Re. describing projects with schema.org or other vocabularies we should probably add our use case the discussion on @danja's project "proposal" for schema.org which is based in the project vocabulary mentioned in #117 (comment). See this thread on the W3C's public-vocabs list: https://lists.w3.org/Archives/Public/public-vocabs/2012Feb/0108.html. We might get the needed properties into schema.org if we try... |
Where is the Like-Button? |
Do you mean a Facebook-Like for individual stories? Or for the whole OER World Map? |
I mean the stories column. |
We should probably best use schema:Action and the associated properties to describe an initiative. I guess we will have covered most use cases with this. |
What we would like the stories to describe is what is happening or has happened, so a big +1 from me! |
I went ahead trying out the Benefit:
Possible problems:
Example: {
"@context": "http://schema.org/",
"@type": "http://schema.org/Action",
"@id": "http://oerworldmap.org/resource/0815",
"name": {
"@language": "de",
"@value": "Gruppe OER-Metadaten"
},
"name": {
"@language": "en",
"@value": "OER Metadata group"
},
"description": {
"@language": "de",
"@value": "Die OER-Metadatengruppe dient dem Austausch von Interessierten und Fachleuten im deutschsprachigen Raum, die mit Metadaten im Bereich Open Educational Resources (OER) zu tun haben. Dabei sind sämtliche Themen relevant, die bei der Arbeit mit Metadaten eine Rolle spielen, wie z. B. Metadatenstandards (LOM, LRMI etc.) und Mappings, Kontrollierte Vokabulare, Konvertierungssoftware, Austauschprotokolle, verschiedene Arten der Exponierung von Metadaten (APIs, Linked Open Data,...). Das erste Ziele dieser Gruppe ist es, eine Harmonisierung der OER-Metadaten im deutschsprachigen Raum zu erreichen und hierzu eine Empfehlung zu erarbeiten."
},
"url": "https://wiki.dnb.de/display/DINIAGKIM/OER-Metadaten-Gruppe",
"startDate": "2013-10-08",
"actionStatus": "idle",
"participant": "http://oerworldmap.org/resource/123adrian",
"contactPoint": {
"@type": "http://schema.org/ContactPoint",
"availableLanguage": "de",
"contactType": "listserv",
"url": "http://lists.dnb.de/mailman/listinfo/dini-ag-kim-oer",
"name": {
"@language": "de",
"@value": "Mailingliste der OER-Metadaten-Gruppe"
}
},
"contactPoint": {
"@id": "http://oerworldmap.org/resource/123adrian",
"@type": "http://schema.org/ContactPoint",
"name": "Adrian Pohl",
"contactType": "person",
"availableLanguage": [ "de", "en" ],
"contactPoint": {
"email": "pohl@hbz-nrw.de"
},
"description": {
"@language": "de",
"@value": "Moderator der OER-Metadaten-Gruppe"
}
},
"object": {
"@id": "http://oerworldmap.org/resource/12345",
"@type": "http://schema.org/Answer(?)",
"name": {
"@language": "de",
"@value": "Empfehlungen zur Publikation von OER-Metadaten (Entwurf)"
},
"name": {
"@language": "en",
"@value": "Recommendations for publishing OER metadata (Draft)"
},
"url": "https://wiki.dnb.de/x/hq_kBQ",
"description": {
"@language": "de",
"@value": "Entwurf von Empfehlungen zur Publikation von OER-Metadaten. Eine Auflistung von Kern-Metadatenfeldern (Properties) und kontrollierten Vokabularen zur Beschreibung offener Bildungsressourcen. ..."
}
}
} |
I believe agent is close enough for this.
Again, we could use On a side note, it makes a whole lot of sense to denormalize the data in elasticsearch, i.e. not only referencing by URI but also including the data (see e.g. Thus, I would express (as I dare not say simplify) the example as follows: {
"@context": "http://schema.org/",
"@type": "Action",
"@id": "http://oerworldmap.org/resource/0815",
"name": {
"@language": "en",
"@value": "OER Metadata group"
},
"description": {
"@language": "de",
"@value": "Die OER-Metadatengruppe dient dem Austausch von Interessierten und Fachleuten im deutschsprachigen Raum, die mit Metadaten im Bereich Open Educational Resources (OER) zu tun haben. Dabei sind sämtliche Themen relevant, die bei der Arbeit mit Metadaten eine Rolle spielen, wie z. B. Metadatenstandards (LOM, LRMI etc.) und Mappings, Kontrollierte Vokabulare, Konvertierungssoftware, Austauschprotokolle, verschiedene Arten der Exponierung von Metadaten (APIs, Linked Open Data,...). Das erste Ziele dieser Gruppe ist es, eine Harmonisierung der OER-Metadaten im deutschsprachigen Raum zu erreichen und hierzu eine Empfehlung zu erarbeiten."
},
"url": "https://wiki.dnb.de/display/DINIAGKIM/OER-Metadaten-Gruppe",
"startDate": "2013-10-08",
"actionStatus": {
"name": "idle"
},
"agent": [
{
"@id": "http://oerworldmap.org/resource/adrian",
"@type": "Person",
"givenName": "Adrian"
}
],
"participant": [
{
"@id": "http://oerworldmap.org/resource/felix",
"@type": "Person",
"givenName": "Felix"
},
{
"@id": "http://oerworldmap.org/resource/philipp",
"@type": "Person",
"givenName": "Philipp"
}
],
"instrument": [
{
"@type": "Service",
"serviceChannel": {
"serviceUrl": "http://lists.dnb.de/mailman/listinfo/dini-ag-kim-oer"
}
},
{
"@type": "Service",
"serviceChannel": {
"serviceUrl": "https://wiki.dnb.de/display/DINIAGKIM/OER-Metadaten-Gruppe"
}
}
],
"location": [
{
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressCountry": "DE",
"addressLocality": {
"@language": "de",
"@value": "Frankfurt"
}
}
},
{
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressCountry": "DE",
"addressLocality": {
"@language": "de",
"@value": "Köln"
}
}
}
]
} |
It should be clear that this data model is relevant for storage and presentation and guidance as to what to ask for. When actually asking people to share their stories via email, we should stick to a very clear language, simply asking for (some of) the 5Ws. Once implemented, the data model will be hidden behind a nice editing UI. |
Here is a slight modification of the draft in #117 (comment). If we always expand the most recent story, we can start using this layout from the very first story on. What do you think, @buschfeld and @j0hj0h? |
As for the concept I definitely like the idea of marking the latest entries in the map and maybe add a slight animation to the local representation of the most recent one. Having this one being expanded to i.e. 300-500 signs would also add to the impression "hey there is something going on". But I am not sure, if we should use a permanently visible column layout here. In a way it would be consistent to the representations we want to suggest for further aggregations and item details – on the other hand layers (or kind of speech bubbles on top triggered by mouseover or mouseclick) might be more logical in this case. We will have to check this ... |
What I like about the column vs. mouse-over behavior is the fact that current content is presented right away, without forcing the user to any further interaction. And that, like you said, it is sort of a reduced version of what is planned anyways. @j0hj0h and I will give this a shot on Wednesday. |
Conflicts: conf/MessagesBundle.properties
Two questions:
|
There is no pin because I didn't have an exact location, only the country. Using a different heat map color for countries with initiatives is currently just an experiment, pins will be used when we have locations. If you could provide an example story that would be very helpful.
I don't know. Since I don't have any acceptance criteria here, I just did what I thought is reasonable. Feel free to define what you expect. |
What is an email template? This is a simple mailto-Link; depending on your computer's settings, it will most likely bring up your email client. |
After a chat with @trugwaldsaenger, the following acceptance criteria were added:
|
Conflicts: app/assets/stylesheets/main.less app/mustache/LandingPage/index.mustache app/mustache/StaticPage/index.mustache public/javascripts/main.js +: integration of the new map - half way ... forgot to commit after resoluting merge conflicts
Conflicts: public/javascripts/main.js
Conflicts: app/controllers/ResourceIndex.java
Conflicts: app/assets/stylesheets/main.less app/views/main.scala.html public/javascripts/behaviours/map.js
Conflicts: public/javascripts/behaviours/map.js
I like "tell a story". feel a tweet coming on :) |
As an OER practitioner, I want to share the story of how I created or used OER to accomplish my goals.
The text was updated successfully, but these errors were encountered: