w3c / EasierRDF

Making RDF easy enough for most developers
267 stars 13 forks source link

Who are these mentioned "middle 33 % of developers"? #109

Open k00ni opened 3 months ago

k00ni commented 3 months ago

The term middle 33% of developers is used several times here, for instance in:

I think its very useful to have such a target audience, but I am wondering what characteristics this group as a whole or a developer of this group have? Its important to have a vague idea, because there are arguments for certain changes to benefit this group.

I assume its meant in a way like a persona, is that correct? Although for the purpose of this repository, some properties, such as demographic and biologic-related information, is not of interest here.

As a starting point I suggest the following two dimensions:

With these two dimensions I would vaguely describe the middle 33% of developers as:

dbooth-boston commented 3 months ago

The term "middle 33% of developers" was an attempt to be clear that the goal is to make RDF readily usable by average developers, not just some highly skilled elite. This was driven by two anecdotal observations: 1. that too many developers with RDF-appropriate use cases decided against using it because it "wasn't worth the effort"; and 2. RDF (and especially OWL) was getting a reputation as requiring two PhDs to use. These concerns weren't shared by all, but they seemed to resonate enough in the community that there was considerable interest in the idea of making RDF easier. Concerns about the term "middle 33% of developers" also led to dropping that term from the stated goals of the Easier RDF effort, so it now says simply "easy enough for most developers". In short, I don't think "middle 33% of developers" was ever intended to be precisely defined.

With that said, I think your suggested criteria seem like a reasonable starting point, with the possible exception of the word "Advanced". I'm really hoping that we can make RDF -- or its successor -- easy enough for average developers.

k00ni commented 3 months ago

If I remember correctly, there is a saying: "Something that is made for everyone, is made for no one". The term "average developer" might seem more handy, but it is still too unclear for me due to its implication of a scale. But what is the scale about? In the end we circle back to the same question of how this group is characterized.

In my opinion this repository is needed, because W3C outsiders can voice their concerns, raise questions and interact with W3C "insiders". I don't get why there were concerns about the term "middle 33% of developers". To be quite frank, the RDF ecosystem fills a niche (at best) and is used less and less, at least in the PHP world. There are huge tasks ahead before "getting back on track". Therefore, defining a target audience is an important step to have a reference point to work with. For each development it "allows" checking if something would be helpful, harmful, required, ... to the target audience.

Finally, a target audience is more valuable than focusing on "solving problems" in my opinion. RDF is a cooking pot filled with solutions, but there are not enough problems available to solve.

chiarcos commented 3 months ago

I think the discussion of target audience is extremely important, if it leads to more user-friendly documentation and tools -- and if developing a persona helps here, this is a valuable endeavour. In the end, there might be a number of different personas we think about. As a model audience, I usually think about what to expect from a 2nd-year computer science student with zero experience beyond -- people technically literate (and patient) enough to find their way through the W3C documentation and replicate/use the existing off-the-shelf tools but without good (if any) knowledge about logics, discrete mathematics (graphs!) and formal algebra. There are other model audiences in these "average programmer" group, e.g., a self-taught programmer without any formal education in computer science, but (maybe a lot of) practical programming experience in a handful of popular languages. The first audience can be very clearly defined just by drawing from reference curricula, and my feeling is that most of what has been done in the past was more or less tailored towards (a historical version of) this group. The second group is a moving target much harder to grasp, as technologies shifted rapidly in the last decades (remember the era of Java, XML and Sourceforge?), but I think we should aim to get the second group, as well -- and they have quite different requirements (less theory, more tutorials, more bottom-up examples) and expectations (tailored towards short-term specific tasks, not towards a long-term scientific vision).

I think most of our work is based on the vision, but the younger generation doesn't necessarily share (or even know about) it. Maybe one useful thing is this context (at least for the first model audience) would be to describe the vision once more and more prominently [1]. These things can make a difference in communication, think of the FAIR principles ( https://www.nature.com/articles/sdata201618) -- it was concise (yes!), at the right place (Nature/Scientific Data -- but open access), supported by a considerably diverse group (51 co-authors, several with a lot of experience in developing scientific infrastructures), it was problem-driven (political rather than technical), without much of a theoretical overhead, and it came (after some time, I guess), with a fairly nice web site. It made a massive, and long-lasting impact ... on scientific communication, at least ... and yet, there is not a single idea in there that was particularly novel at the time when this was published. (Just the opposite, it condensed a decades-long discussion.)

[1] The Linked Data design issue and the original Semantic Web article did that, and they brought people of my generation on board, but this is all from an era when those 2nd year students were probably not even in kindergarten, so they don't serve that purpose anymore.

Am Mi., 19. Juni 2024 um 07:54 Uhr schrieb Konrad Abicht < @.***>:

If I remember correctly, there is a saying: "Something that is made for everyone, is made for no one". The term "average developer" might seem more handy, but it is still too unclear for me due to its implication of a scale. But what is the scale about? In the end we circle back to the same question of how this group is characterized.

In my opinion this repository is needed, because W3C outsiders can voice their concerns, raise questions and interact with W3C "insiders". I don't get why there were concerns about the term "middle 33% of developers". To be quite frank, the RDF ecosystem fills a niche (at best) and is used less and less, at least in the PHP world. There are huge tasks ahead before "getting back on track". Therefore, defining a target audience is an important step to have a reference point to work with. For each development it "allows" checking if something would be helpful, harmful, required, ... to the target audience.

Finally, a target audience is more valuable than focusing on "solving problems" in my opinion. RDF is a cooking pot filled with solutions, but there are not enough problems available to solve.

— Reply to this email directly, view it on GitHub https://github.com/w3c/EasierRDF/issues/109#issuecomment-2177806138, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATZWSNMOVSDXKVMYHUJNBDZIEMIPAVCNFSM6AAAAABJPZ4YT2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZXHAYDMMJTHA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

k00ni commented 3 months ago

@dbooth-boston Even though it was stated multiple times in various issues of this repository, that RDF should be/needs to be more developer-/user-friendly, does this really mean that future W3C developments are aligned with the needs of this group? Is there some kind of a consensus among W3C folks to align their work and help moving in this direction? I am asking to avoid a misunderstanding here.

@chiarcos very interesting input. I think we are agreeing on a lot here, for instance the two major groups of developers who could be representatives of the initially mentioned "middle 33% of developers".

It also seems to me that the "paper-format" is less accessible for younger audiences (being 25 years or younger) as it is for us. You need a certain knowledge to read and understand a paper or paper-like written specification like https://www.w3.org/TR/2012/REC-owl2-mapping-to-rdf-20121211/. For instance, technical language(s) or citing and using sources is not that common for people with no academic background. Also, we should consider the fact that academia might be more of an obstacle than a stepping stone at some point. Each community has its own style, such as the Linux Kernel community which still uses mailing lists for communication and to share patches primarily: https://lkml.org/ (the nineties called and they want their design back). However, it works for them. I don't mean to take each new trend and to abolish working stuff, but embracing new developments and openness are a good foundation.

Crazy idea: Invite people with technical background and a known Youtube- or TikTok-channel and ask them, what they think about RDF and what it needs (maybe together with W3C folks and make it an open talk). Youtube frequently shows me shorts from this guy, who is very entertaining but also provides technical insights (in programming languages, technical problems, ...): https://www.youtube.com/@ThePrimeTimeagen

Back to the initial question of, who are the mentioned 33% of developers? In the following a suggestion how to describe them in more detail:


Goal: W3C is willing to adapt its technologies, languages, methods etc. to better fit the goals and requirements of a larger group of developers. In the past, the target audience consists of people with advanced/expert-level knowledge in the fields of "Logics, discrete mathematics (graphs!) and formal algebra [...]".

Description of this larger group of developers: For modelling reasons and to get a better grip, this group should consist of sub groups, for instance:

All sub groups are viable, they overlap but also cover different parts of the spectrum of today programmers/people with a technical background. The question is on which part to focus on first?

The following table contains possible goals/objectives ("what they wanna do?") and needs ("what do they require to be able to accomplish a goal?") for each sub group:

Goals / Objectives Needs / Requirements
sub group 1 (with formal education) (1) Implement software for a business or research use case (e.g. demo for a paper, experiments, productive software, ...), (2) Not afraid to try out cutting edge software, but with better understanding when its not a good idea (1) Can improvise if technical support is not sufficient as long as there is enough information available online (e.g. specification, examples), (2) Appreciates good tooling, but can work with the bare minimum (e.g. writing RDF/XML by hand)
sub group 2 (self-taught programmers, data scientists) (1) Implement software for a business use case (e.g. end user software, productive software, ...), (2) Not afraid to try out cutting edge software (even in productive systems) (1) Small/medium chunks of learning material (doc), (2) Good editor/IDE support (e.g. code highlighting for RDF/Turtle), (3) Appropriate tooling (e.g. Github Action for CI jobs)
sub group 3 (knowledge organizers) (1) Use existing vocabs/ontologies to enrich their own data or to derive own data structures (1) Small/medium chunks of learning material (doc) written for non-programmers, (2) Appropriate tooling, but with more focus on UI than on Terminal-based environments
namedgraph commented 3 months ago

@k00ni if you want RDF learning material for non-programmers, then write it? What does W3C have to do with it?