SPORE: A Storybreaking Machine
Authors: Daniel Roßner, Claus Atzenbeck, Sam Brooker
Published in: HT '23: 34th ACM Conference on Hypertext and Social Media · DOI: 10.1145/3603163.3609075 · License: © Copyright held by the owner/author(s).
SPORE: A Storybreaking Machine
Daniel Roßner∗
Hof University Institute for Information Systems
Hof, Germany daniel.rossner@iisys.de
Claus Atzenbeck
Hof University Institute for Information Systems
Hof, Germany claus.atzenbeck@iisys.de
Sam Brooker University of the Arts, London London College of Communication
London, United Kingdom
s.brooker@lcc.arts.ac.uk
Abstract
The paper presents SPORE, a Spatial Recommender System. As we enter a period of unprecedented collaboration between authors and computers, where artificial intelligence in particular seems likely to act increasingly in a co-authoring capacity, SPORE offers a different approach to collaboration. More organic and exploratory than other automated or procedural systems, SPORE aims to mimic the process of storybreaking that already exists in the creative industries.
Ccs Concepts
• Human-centered computing →Hypertext / hypermedia; Information visualization; Graphical user interfaces; Collaborative interaction; • Applied computing →Hypertext / hypermedia creation; Interactive learning environments; • Information sys-tems →Recommender systems.
Keywords
hypertext, spatial hypertext, recommender system, linguistics, sto-rytelling, tropes, education, Mother
Acm Reference Format:
Daniel Roßner, Claus Atzenbeck, and Sam Brooker. 2023. SPORE: A Story-breaking Machine . In 34th ACM Conference on Hypertext and Social Media (HT ’23), September 4–8, 2023, Rome, Italy. ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/3603163.3609075
1 Introduction
In this demo paper, we present SPORE, an acronym for Spatial-Oriented Recommender System. SPORE consists of multiple layers, which taken together offer utility as a “storybreaking” machine. The system is rooted in the development of so-called component-based open hypermedia systems (CB-OHS) [20, 21], which form an architectural blueprint to hypertext structure aware, intelligent components, and their integration in client software. The layers of the system are discussed in [4, 5] and aim to differentiate the user interface, components that are aware of the structure, data, and additional services. Unique to SPORE is the combination of a spatial hypertext interface, supported by spatial parsers [16], recommender functionality [2, 3], and the use of generative AI to generate text.
∗Corresponding author
In the subsequent sections, we begin by examining a specific use case, followed by an explanation of the system implementa-tion. Starting with the use case helps frame the potential offered by SPORE, which has several other applications. These we discuss dur-ing our subsequent discussion regarding potential future extensions and enhancements for this application.
2 Use Case
SPORE is a hybrid platform, bringing together spatial hypertext with a combined narrative recommender system and knowledge graph. While this flexibility offers utility for a variety of different projects, this specific use case focuses on a specific area in which the platform advances existing research: narrative generation informed by structuralist approaches to language. Rather than responding to prompts with generated output, this system collaborates with the author by suggesting narrative tropes emerging from the story in progress.
“Structuralism”, write R. E. Scholes, “is a way of looking for reality not in individual things but in the relationships among them” [18]. Generally seeking to understand the text as it relates a wider context e.g. genre, literary structuralism holds significant appeal for those working in generative narrative [see 9, 12, 19].
Seeing narrative as a particular configuration of existing ele-ments suggests that this process can be reverse-engineered, with narratives generated from user input. In the documentation for structuralist fairytale generator ProtoPropp, the authors describe au-tomatic construction of story plots as “a longed-for utopian dream” in the entertainment industry:
Although few professionals would contemplate full automation of the creative processes involved in plot writing, many would certainly welcome a fast pro-totyping tool that could produce a large number of acceptable plots involving a given set of initial circum-stances or restrictions on the kind of characters that should be involved. Such a collection of plots might provide inspiration, initiate new ideas, or possibly even include a few plot sketches worthy of revision.
This view, echoed by Michael Leibowitz [8] when describing his Universe system, describes an approach familiar to those who have attempted to generate plot ideas using OpenAI and similar emerging platforms. Having provided a set of initial condition, the user is provided with output better measured in volume than refinement.
This volume approach to narrative is one intriguing potential avenue, perhaps best suited to the more formulaic narrative struc-tures that both the above authors make their focus. If SPORE is to be considered a co-author, however, then we would anticipate it
operating as a co-author does: collaboratively, adapting in real time based on feedback. In television writing rooms, for example, ideas are pitched and iterated upon, revised and developed. This process, known as storybreaking, sees different ideas being brought together to see what potential new avenues they might yield, while other ideas are de-emphasized as they wane in popularity—something for which SPORE is well suited.
Consider a scenario in which an author knows they want a particular character to encounter a particular situation; a student encountering a wild animal, for example. Already in play are several other concepts—a broken-down vehicle, a lost love, even more abstract ideas like vengeance or sonder. By adjusting the proximity of these elements in SPORE, the user is offered a galaxy of prompts based on existing relationships—prompts that can be integrated into the emerging network, yielding more suggestions.
The spatial nature of SPORE also means rather than composing a work in a linear fashion, material can be viewed all-at-once. In his 1965 ACM paper coining the term hypertext, Ted Nelson argued that the process of outlining is in fact inductive: “certain interrelations appear to the author in the material itself, some at the outset and some as he works. He can only decide which to emphasize, which to use as unifying ideas and principles, and which to slight or delete, by trying” [10].
These fluid outlines do not have to remain in SPORE. Once these relationships have been established to the author’s satisfaction, SPORE can output directly to ChatGPT. This output can be gen-erated as many times as the author desires, allowing the same functionality described above but with the added benefit of a more refined process of generating relationships.
3 System
Mother [4], the architectural framework of SPORE, defines the three layers (i) Hel as home of any knowledge related services; (ii) Midgard as the collection of user interfaces; and (iii) Asgard as world of intelligent, structure aware services and components.
A knowledge base (Hel) is prepared with information to support the task of storybreaking. In our case, it will contain data and rela-tions about fairy tales, which may help users sketch their story. The user interface (Midgard) is a collaborative spatial hypertext, which allows multiple users to lay out and organize pieces related to their story. Supported by spatial parsing, the machine becomes aware of the emergent structure (Asgard) and uses this information to gener-ate queries towards the knowledge base. The latter responds with suggestions which are visualized within the 2D spatial hypertext interface. Upon request of users, the systems transform the laid out pieces and their structure into a task description for a generative AI, leading to a draft or a suggestion of how the story may look like.
3.1 Knowledge Base
The architecture allows SPORE to utilize numerous, potentially specialized knowledge bases. In essence, a categorical distinction can be discerned between knowledge bases generated through automated means and those derived from users’ active engagements with the system. Within the latter knowledge base category, the use of a spatial parsing service can serve to generate or fortify the
intricate interconnections among visually interconnected entities [15]. Furthermore, the usage of new information pieces, like a new character, lead to an integration of these into the knowledge graph. Particularly within a multi-user environment, authors have the potential to mutually inspire and influence one another.
For this demo, which aims at supporting users storybreaking fairtales, we also prepared a knowledge base for this domain. A universal approach is to identify public available resources and to analyze them with the help of Natural Language Processing (NLP) or other techniques to extract information. In case of SPORE, we chose to base our approach on the Wikipedia project, which covers a wide range of information relevant for the domain of fairytales. Our approach leads to language dependent, weighted graph of nouns as entities and their relation as edges. The weight is normalized on 0 < weight ≤1, while 1 represents a “very close relation” and 0 is not related at all. Relation in this context is based co-occurrences in the Wikipedia pages. This is a rather simple approach, but in comparison to semantic networks, concepts which do not share an obvious semantic relation and are not covered by the ontology are still covered and available in the resulting graph.
The algorithm used to derive the entities and weighted edges is multi-staged and adaptable to any domain and language.1 First, the algorithm needs to be fed with articles of the same language. In our case, we chose articles about fairytailes, like “Jack and the Beanstalk”, “Little Red Riding Hood” or “Jorinde and Joringel”, among others. It is important to point out that these articles contain— next to a description of the story itself—additional information about the origin, historical context, and possibly other versions. Next we use the seed-articles to compute a list of nouns, which will be used as entities of the knowledge graph and a set of re-lated (linked) articles. To detect nouns, the part-of-speech tagging module (POS tagging) of the NLP library spaCy2 is used. Along stemming the nouns, the algorithm keeps track of their tf-idf (“term frequency–inverse document frequency”).
The resulting relations are determined by looking on co-occur-rences. All articles, the initial seeds, together with the set of related articles, are segmented into the article itself, paragraphs, and sen-tences. Whenever two nouns appear together in any of these, a counter is increased with the following rules:
• Same articles: Increase by 1 • Same paragraph: Increase by 2 (+ same article) = 3 • Same sentence: Increase by 3 + same article + same paragraph = 6
In a final step, the counted values are log-scaled and normalized to fit the desired range from 0 to 1; nouns with a tf-idf below 0.4 were deleted to remove arbitrary nouns without much meaning. The determination of the threshold in this context is derived from a series of experiments conducted by the authors. However, given the nature of this study, it should be noted that the threshold is subjectively established and requires careful consideration. Figure 2 depicts a small part of the resulting knowledge graph with a focus on the noun “stepmother”. All related nouns are among the best matching nouns, except “silver”, which is added as an example for a lower relation weight. In total, the knowledge base contains
1As long as the topic and language is covered by Wikipedia 2https://spacy.io/
Seed Articles (e.g. Little Red Riding Hood)
Output A
Output B
Noun A
Noun C
Noun B
Noun X
Noun D
Related Articles (e.g. Brothers Grimm)
count and weight
co-occurrences
Noun A
Noun B
A
B C 5
12
D 10
1 X
30
Figure 1: Stages of knowledge base generation with example seed and output graph
3,336 nouns, has a density of 0.024, an average degree of 79 and a diameter of 4. It is managed in a Neo4J3 graph database.
To showcase the system to a German-speaking audience, a com-parable knowledge graph was generated employing the identical process, albeit utilizing German nouns.
0.76 0.78
0.81 0.74 0.82
stepmother
0.87 0.84
0.73
prince
0.88
mirror
0.87
queen
0.7
heroine
1.0 snow
0.31 silver
Figure 2: Excerpt of the knowledge base, with focus on the noun “stepmother”—image does not contain all relations, due to size and clarity
3https://neo4j.com/
3.2 User Interface
The user interface is provided as a single-page Web application (SPA), based on Vue4 and Nuxt5. It communicates with a server, which was already discussed in [15]: A 2D space is called workspace and may contain an arbitrarily large number of entities. An en-tity encapsulates any piece of information such as URIs, simple text, images, or PDF documents. Those entities have a position and dimensions within that workspace. The server manages their persistence, user authentication, and authorization, and allows a workspace to be accessed and manipulated by many users at the same time. Furthermore, it acts as a gateway to the knowledge base and is responsible for spatial parsing and query generation (cf. subsection 3.3).
As the system integrates recommender functionality into a spa-tial hypertext interface, it is a crucial task for the application to visualize the suggestions in a proper way. This happens by assigning retrieved suggestions a position that conveys its relevance or rela-tionship to other pieces of information within the space. Additional graphical variables may support the visualization, for example the color or shape. SPORE supports various implementations to control the layout of suggestions. What they all share is the utilization of proximity as a visual element to represent the strength of the relationship: the higher, the closer. One implementation is based on a physical metaphor [13] with springs that add repulsion or attrac-tion to suggestions, leading to a self-organizing layout. In Figure 3 suggestions are placed on a (invisible) concave hull, which is built around visual groups. As with the spring-based implementation, it reacts to user interactions in real time, e.g., if the user changes the position of one of his or her nouns in the space.
Compared to a list-based visualization, these approaches lead to reduced task completion times and support a better understanding of the information space, with the cost of increased complexity, using the interface [7, 11, 14]. Furthermore, it fosters an iterative
4https://vuejs.org/ 5https://nuxt.com/
with [entityA, entityB, entityX] as groupIds match (a)-[r]-(b) where a.id in groupIds and not b.id in groupIds return b.id as ID, r.weight as WEIGHT, a.id as SOURCE order by WEIGHT desc limit 30
Listing 1: Cypher query to retrieve suggestions for a group of entities (in this example entityA, entityB, and entityX)
process, where users adapt their workspace while the machine re-acts and reorganizes its suggestions. The structure, which is built by users, is analyzed by so-called “spatial parsers”, software mod-ules that translate implicit visual and temporal relations into an explicitly machine-usable graph representation [6, 17]. This vi-sual representation serves not only to inferred queries but also to construct a user knowledge base. It is built on visually created relationships and potentially new entities contributed by the user [15].
3.3 Spatial Parser as Query Generator
SPORE hides the complexity of crafting queries because they are au-tomatically generated based on the current context of a workspace. The context is defined by the visual properties of entities in the space (which are recognized by spatial parsers), the latest user in-teractions, and the content. Whenever the context changes, e.g., because a new noun is added or an existing one is updated, a pro-cess is triggered to interpret that new context. In the second step, the context is transformed into one or more queries, materialized with cypher a query language for graph databases6.
This transformation is based on the result of the spatial pars-ing: Our spatial parsers return a complete graph, where each node represents one visual entity. The edges are weighted from 0 to 1, similar to the knowledge base, and quantify the strength of the visual relation. A negative value indicates an ambiguous situation and is treated as a weight of 0. As the parsers honor grouped ob-jects when determining edge weights, the deletion of edges with a weight below a certain threshold leads to isolated subgraphs. Every subgraph represents a visual cluster of objects within the space. By adjusting the threshold value, it becomes possible to either con-fine the detection of groups to a highly detailed level or identify structures of higher order.
For each group of entities, the query in Listing 1 is issued, result-ing in a graph containing the aforementioned entities and sugges-tions, along with the weights between them. It is merged with the result of a second query, shown in Listing 2, eventually resulting in a graph with (i) the original group entities; (ii) suggestion entities; and (iii) edges among all of those.
3.4 Gpt
Integration
The previous sections emphazised SPORE as a collaborator, per-mitting real-time storybreaking that leverages existing knowledge bases to provide prompts and potential direction to the co-author. This kinaesthetic, spatial approach to collaboration represents the
6https://opencypher.org/
with [sugA, sugB, sugX] AS suggestionIds match (a)-[r]->(b) where a.id in suggestionIds and b.id in suggestionIds return a.id as IDA, r.weight as WEIGHT, b.id as IDB
Listing 2: Cypher query to retrieve edge weights between suggestion nodes (in this example sugA, sugB, and sugX)
most significant departure from output-oriented approaches found elsewhere.
Integration with AI chatbots like ChatGPT is well within the capacity of the system. This hybrid allows users to identify the core narrative components they would like to see integrated into their story, before outputting to full (albeit generated) prose. This process can be repeated indefinitely, creating new iterations of the same core ideas. While intriguing, this feature re-emphasizes the ‘tweaking’ process familiar to chatbot users. If nothing else, this integration serves to illustrate the benefits of SPORE over a textbox-oriented approach.
The current implementation leverages the “gpt-3.5-turbo” model provided by OpenAI7 to generate prose out of a given context. To do so, the model is fed with a system prompt, that set up the task and its conditions. A second prompt is built on the structure identifier by spatial parsers. The goal is to communicate visual groups and ask the model for a version of the story, where the entities of such groups belong together. The system prompt is written in German, hence the following is a translation, provided by ChatGPT and refined by the authors:
You are the author of new fairy tales. The foundation of each new story is a set of terms that I provide to you as input. The terms are organized into one or more groups. Terms within a group belong together and may be contradictory. They complement each other, should not be mixed with terms from other groups, and influence the fairy tale accordingly. Please ensure that you write pleasant stories that convey a positive message to the reader. Begin each story with a prompt for DALL-E to illustrate the story. The title of the story follows in the next line, and then the story itself. Avoid unnecessary explanations and respond only with the prompt, title, and story. Write the story in XYZ language.
The first part of the prompt defines the task and explains the input provided, which is given right after, and how it should be inte-grated into the story. Furthermore GPT is primed to write friendly and positive stories, because the SPORE is used to demo the system to all kinds of people, including children. DALL·E8 creates images from natural language and is utilized to illustrate the fairy tale. The prompt for image generation is also requested from the model. The rest of the system prompt defines how the model should format the output, such that it can be parsed accordingly; the language can be changed to any language the model is capable of.
7https://platform.openai.com/docs/models/gpt-3-5 8https://openai.com/dall-e-2
Figure 3: SPORE user interface with nine user nodes and context-matching suggestions—image and video are not contained in the knowledge base but added by the user
Requesting a generated version can be done any time with the click of a button within the spatial hypertext interface. Due to the delay the current models have, this process lasts around 10 to 40 seconds. A new browser tab opens and shows the story, its headline along with the image, and its prompt.
4 Previous Demonstration
SPORE was already demoed at Hof University, Germany in July 2023 during “the night of the sciences”, an event open to the gen-eral public. Our goal was to advertise the usage of the system for children and families, allowing them to create their very own fairy tale. As the audience was mainly German, we exhibited the German knowledge base. The application was running in kiosk mode, show-ing an introduction video, and opening a workspace with 3 random nouns when the mouse was moved. If guests had questions, they could get an explanation of how the interface works. The resulting fairy tales could be exported by scanning a QR code or by printing them on-site.
The event served as an opportunity to observe the usage and interaction patterns of lay individuals with the system. Although this study lacks scientific severity (since we did not collect demo-graphic data or provide a standardized system introduction), we have made certain observations that we intend to investigate and validate in future research.
(1) Children coped better: The spatial interface is not a default,
which many people are used to. Children were not “afraid”
of interacting with the system; they moved and grouped nouns in all sensible and insensible ways. Older users tend to structure their workspace very carefully and thoughtfully. (2) The knowledge base is not enough: Many participants used
the opportunity to add their own nouns to the space. As the system learns, these new nouns were suggested to others. It is notable that people integrate a wide range concepts, from fantasy to real-world things and people. New nouns could most often be categorized as (i) (fantasy) animals, like “phoenix”, “dolphin”, or “17-headed dragon”; (ii) names of
the users, friends/relatives, or people of current affairs like “Volodymyr Zelenskyy”; (iii) (real) locations, like city names,
or region names; and (iv) (fantasy) characters and things, like “lightsaber”, “Frodo”, or “marshmallow”. (3) Storybreaking is fun: By no means is the system perfect. Some
suggestions appear to often or contain typos; GPT does not write stunning stories, nor does it interpret the prompt with-out any misunderstanding. Still, we observed that lay people, in the sense of storybreaking, approached the system with a lot of fun and creativity. The easy expression of vague ideas and the on demand story creation reduce the burden of crafting stories.
5 Discussion And Future Work
In this paper we illustrated one particular use case for SPORE. As a storybreaking tool it provides real-time recommendations drawing
on existing knowledge bases, recommendations that can be inte-grated into the emerging narrative space prior to linear output if required.
This application is one of many, limited in a sense only by the availability of a comprehensive knowledge base. As a pedagogic tool SPORE has value for exploring the structure of narrative, both in its traditional sense in the world of fiction and the wider way in which concepts are associated, i.e., in conflict reporting. Additional research applications also suggest themselves—the identification of neglected connections in research communities, for example, as might be yielded by the integration of a recent dataset covering Hypertext’s metahistory [1].
These wider applications should not eclipse the value of imple-menting this platform for storybreaking purposes. Approaching writing groups and other communities would be a useful first step in exploring the benefit of SPORE as a collaborative tool for story-breaking.
References
[1] Mark W. R. Anderson and David Millard. 2022. Hypertext’s Meta-History: Doc-umenting in-Conference Citations, Authors and Keyword Data, 1987-2021. In Proceedings of the 33rd ACM Conference on Hypertext and Social Media (Barcelona, Spain) (HT ’22). Association for Computing Machinery, New York, NY, USA, 96–106. https://doi.org/10.1145/3511095.3531271 [2] Claus Atzenbeck, Eelco Herder, and Daniel Roßner. 2023. Breaking the routine:
spatial hypertext concepts for active decision making in recommender systems. New Review of Hypermedia and Multimedia (2023), 1–35. https://doi.org/10.1080/ 13614568.2023.2170474 [3] Claus Atzenbeck, Peter J. Nürnberg, and Daniel Roßner. 2021. Synthesising
augmentation and automation. New Review of Hypermedia and Multimedia 27, 1–2 (2021), 177–203. https://doi.org/10.1080/13614568.2021.1942237 [4] Claus Atzenbeck, Daniel Roßner, and Manolis Tzagarakis. 2018. Mother - An
integrated approach to hypertext domains. In HT 2018 - Proceedings of the 29th ACM Conference on Hypertext and Social Media. ACM Press, New York, New York, USA, 145–149. https://doi.org/10.1145/3209542.3209570 [5] Claus Atzenbeck, Thomas Schedel, Manolis Tzagarakis, Daniel Roßner, and Lucas
Mages. 2017. Revisiting hypertext infrastructure. In HT 2017 - Proceedings of the 28th ACM Conference on Hypertext and Social Media (HT ’17). ACM, New York, NY, USA, 35–44. https://doi.org/10.1145/3078714.3078718 [6] Luis Francisco-Revilla and Frank Shipman. 2005. Parsing and interpreting am-biguous structures in spatial hypermedia. In HT 2005 - 16th ACM Conference on Hypertext and Hypermedia. ACM Press, New York, New York, USA, 107–116. https://doi.org/10.1145/1083356.1083376 [7] Khalil Klouche, Tuukka Ruotsalo, Luana Micallef, Salvatore Andolina, and Giulio
Jacucci. 2017. Visual re-ranking for multi-aspect information retrieval. In CHIIR 2017 - Proceedings of the 2017 Conference Human Information Interaction and Retrieval (CHIIR ’17). ACM, New York, NY, USA, 57–66. https://doi.org/10.1145/ 3020165.3020174 [8] Michael Lebowitz. 1985. Story-telling as planning and learning. Poetics 14, 6
(1985), 483–502. https://doi.org/10.1016/0304-422x(85)90015-4 [9] James R. Meehan. 1977. TALE-SPIN, an Interactive Program That Writes Stories.
In Proceedings of the 5th International Joint Conference on Artificial Intelligence (Cambridge, USA) (IJCAI’77, Vol. 1). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 91–98. [10] Ted Nelson. 1965. Complex information processing: a file structure for the
complex, the changing and the indeterminate. In Proceedings of the 20th ACM National Conference. ACM, Cleveland, 84–100. [11] Denis Parra. 2012. Beyond lists: Studying the effect of different recommendation
visualizations. RecSys’12 - Proceedings of the 6th ACM Conference on Recommender Systems (2012), 333–336. https://doi.org/10.1145/2365952.2366035 [12] Federico Peinado and Pablo Gervás. 2006. Evaluation of automatic generation of
basic stories. New Generation Computing 24, 3 (2006), 289–302. https://doi.org/ 10.1007/bf03037336 [13] Daniel Roßner, Claus Atzenbeck, and Tom Gross. 2019. Visualization of the rele-vance: Using physics simulations for encoding context. In HT 2019 - Proceedings of the 30th ACM Conference on Hypertext and Social Media. ACM Press, New York, New York, USA, 67–76. https://doi.org/10.1145/3342220.3343659 [14] Daniel Roßner, Claus Atzenbeck, and Tom Gross. 2022. The Effects of Spatial
Visualization versus Ranked Lists on Quality, Time Efficiency, and Interaction. HT 2022: 33rd ACM Conference on Hypertext and Social Media - Co-located with ACM WebSci 2022 and ACM UMAP 2022 11, 22 (6 2022), 132–142. https://doi.org/
10.1145/3511095.3531286 [15] Daniel Roßner, Jae Sook Cheong, and Claus Atzenbeck. 2022. From Maintenance
in Industry to Bibliographic Data: Spatial Hypertext as Communication Medium Between User and Machine. Proceedings of the 5th Workshop on Human Factors in Hypertext, HUMAN 2022 (6 2022). https://doi.org/10.1145/3538882.3542803 [16] Thomas Schedel. 2017. Spatio-Temporal parsing in spatial hypermedia. ACM SIG-WEB Newsletter Winter (2 2017), 1–5. https://doi.org/10.1145/3027141.3027142 [17] Thomas Schedel and Claus Atzenbeck. 2016. Spatio-Temporal parsing in spatial
hypermedia. In HT ’16: Proceedings of the 27th ACM Conference on Hypertext and Social Media (HT ’16). ACM, New York, NY, USA, 149–157. https://doi.org/10. 1145/2914586.2914596 [18] Robert E. Scholes. 1975. Structuralism in literature. Yale university press. [19] Scott R. Turner. 1993. MINSTREL, a Computer Model of Creativity and Storytelling.
UCLA Computer Science Department. [20] Uffe K. Wiil, David L. Hicks, and Peter J. Nürnberg. 2001. Multiple open services: a
New Approach to Service Provision in Open Hypermedia Systems. In Proceedings of the 12th ACM Conference on Hypertext and Hypermedia. ACM Press, New York, NY, USA, 83–92. http://doi.acm.org/10.1145/504216.504241 [21] Uffe K. Wiil, Peter J. Nürnberg, and John J. Leggett. 1999. Hypermedia research
directions. An infrastructure perspective. Comput. Surveys 31, 4 (12 1999). http: //doi.acm.org/10.1145/345966.345971
Figures and table reproductions
Figure 1: source-region reproduction from the supplied PDF.
Figure 2: source-region reproduction from the supplied PDF.
Figure 3: source-region reproduction from the supplied PDF.
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime