In 2014, Yurik wrote an essay I Dream of Content. He proposed a bold vision where users would interact with our content instead of just reading it. A museum instead of a library.
It is almost a decade later. Where are we?
The Graph and Kartographer (Maps) extensions were created out of Yurik's vision and deployed to Wikimedia. These have allowed interactive graphs and maps to be added to articles.
Kartographer does a good job of creating slidable maps with annotations. Definitely an important addition, but only minimally interactive. It certainly an improvement over a static map, but still serves mostly the same function.
The Graph extension (now temporarily disabled) was much more promising. It supported the Vega spec, which allowed a wide range of interactivity. You can see some impressive examples on their site. They even have pacman and a 2-D platformer game.
However in practice, this saw little usage. Most of the uses were special cases that were essentially static graphs. Showing graphs of page views on talk pages, etc. It was only used ~4000 main namespace pages on English Wikipedia. Almost all of those are either Kartographer related or a simple static graph that is little better than an image.
What went wrong?
What went wrong here? If interactivity is good, why did we see so little adoption? Why was most adoption of interactivity things that were just barely interactive?
Interactivity is not inherently good
Among developers, there is a misplaced optimism: Interactivity is always better than non-interactive content. This is false. Interactivity is a tool, and not globally applicable. It can help illustrate content, but it still needs to be intentionally authored. Similar to an image, an out of context image is useless.
Big data is mirage
In Yurik's original essay, he emphasized "Big" data. I think that is a mistake. Data is not knowledge, and a visualization of data is not appropriate for an encyclopedia article. It is just one step above a primary source, and does not communicate anything to the user. We should avoid any emphasis on data.
http://dhawards.org/ includes a big list of various types of visualizations, many of which fall into this category. While they are often very pretty, it is usually unclear what to take away from them.
Wrong layer of abstraction
Vega is a very powerful opinionated spec. This makes it difficult to abstract over using templates. At the same time, it is difficult to make it do things outside of what it was meant to. This ends up being a worst of both worlds sort of situation. On Wikipedia we have had much success with scribunto, where instead of providing high level features, we provide low level constructs that people can combine using templates to build powerful systems. We should do the same here.
Where should we go from here
I believe that we should carefully consider what an encyclopedia needs when designing future efforts.
- Interactive content should illustrate and enhance textual articles. It is not the main attraction
- Interactive content should guide the user to understanding. It should not just visualize data and let the user draw some conclusion on their own. There should be a specific thing the user gets out of the media
- Users know better than we do what they need. Any system needs to be highly adaptable. At the same time, it has to be usable by non-technical users too. We should use a system similar to Scribunto, where full complex behaviour is available, but can be abstracted to simple interfaces.
Types of content
High vs low effort
There are two distinct types of content - high effort and low effort. They are fairly different and should not be entangled.
Some pages, like featured articles, deserve specifically made content. Consider this visualization of an Enigma machine - https://observablehq.com/@tmcw/enigma-machine . This is the sort of content that takes many hours to produce, and is only usable from one topic.
The other side of this coin, is more generic content. The sort of stuff that can be made once and reused on many pages. Bargraphs and maps, etc.
These two usecases get conflated, but the needs are very different, and we should be mindful of that.
Faithful representations of the object in question
One common usecase would be where interactive media is the best way to show the object the article is about. For example this could be a 3D representation of the object. More abstract concepts might have more abstraction demonstrations.
Performance of the topic
Wikipedia:Videos#Performance-type_videos discusses using videos to "perform" the topic. I think this is a good model for interactive content. For example, w:Euclidean algorithm could have some sort of demo where the user can put in numbers and then see the calculation step by step. Many physics topics could have demonstrations where the user could modify starting variables.
Drilldown interfaces & time series
I think this is the least interesting, but another major use case is having some sort of data representation where you can click on something to zoom in on more detail or show just a specific case.