Socializing Service Composition: Transforming End Users into Collaborative Prosumers

A social network for supporting end users in the composition of services: definition and proof of concept

2020-02-06
Pedro Valderas, Victoria Torres, Vicente Pelechano
Summary
Problem
Method
Results
Takeaways
Abstract

The paper proposes a specialized graph-based social network structure to assist non-technical users in service composition. By integrating this social layer into the "EUCalipTool" mobile environment, it transforms end users into "prosumers" who can discover, share, and receive recommendations for service mashups based on their social connections.

TL;DR

While "If This Then That" (IFTTT) popularized simple task automation, it lacks a true social backbone. This paper introduces a formal social network framework specifically designed for service composition. By modeling users and services in a unified graph, the authors' tool, EUCalipTool, enables users to follow experts, browse their creations, and receive AI-driven recommendations for building complex workflows, effectively turning software development into a social experience.

The "Isolated User" Problem in EUD

Most End-User Development (EUD) tools suffer from the "blank canvas" syndrome. Users often don't know where to start or which services (API/IoT) work well together. Traditional repositories are just static lists—they lack the social proof that makes platforms like Twitter or GitHub successful. The authors argue that by ignoring the social connections between users, we lose the "collective intelligence" that could make service composition faster, cheaper, and more reliable.

Methodology: The Graph-Based Social Fabric

The core innovation is a semi-formal graph specification that defines how people, basic services (code), and composed services (automations) interact.

1. The Social Taxonomy

The system distinguishes between:

  • Nodes: Users (Developers or End Users) and Services (Basic or Composed).
  • Edges: Follower (interest in another user), Author (ownership), Includes (component of a mashup), and DefinedFrom (inheritance/reuse).

2. Contextual Recommendation Algorithms

Instead of generic "most popular" lists, the paper proposes three algorithms:

  • Algorithm 1 (The Starter): Suggests the first service to add based on what followed users typically use to start their projects.
  • Algorithm 2 (The Template): Recommends entire composed services as a basis for customization.
  • Algorithm 3 (The Next Step): Predicts the logical next service in a sequence by analyzing the flow patterns of similar users.

Integrated Social Model Figure 1: The UML representation of the social network structure, linking users and service types.

EUCalipTool: A Proof of Concept

The authors implemented this logic into EUCalipTool, a mobile authoring environment. The UI allows users to browse profiles, see who their friends are following, and "fork" existing compositions—much like a simplified GitHub for IoT automations.

Authoring UI Figure 2: Browsing and following interfaces in the social version of EUCalipTool.

Experimental Results: Community-Driven Creation

The evaluation with 177 participants revealed a significant shift in behavior:

  • Reuse over Creation: During the first two weeks, 92% of services were built from scratch. By the third week, as the "social library" grew, 86% of new services were created by reusing existing ones.
  • High Recommendation Accuracy: Users accepted the "next service" recommendations 73% of the time, proving that social proximity is a strong predictor of utility.
  • Trust as a Motivator: 40.6% of users followed others specifically because they were interested in their services, indicating that social networks create a "trust economy" for software artifacts.

Research Statistics Figure 3: Participant feedback showing high satisfaction and perceived usefulness of the social features.

Critical Insight: The Future of "Social Software Engineering"

The paper concludes by looking beyond just "services." The authors suggest that this model can generalize to other domains, such as Web Augmentation or Crowd Computing. By defining clear "Visibility" (Public vs. Private) and "Actions" (Test, Edit, Run), social platforms can host a collaborative ecosystem where professional developers and hobbyist end users co-produce software.

Limitations and Challenges

  • The Cold Start: Recommendation quality is poor until a critical mass of users and connections is reached.
  • Abstract Services: Reusing a composition that controls "My Living Room Light" fails when shared with a friend. The authors identify the need for "abstract services" that bind to local devices only at runtime.

Conclusion

This work demonstrates that the "Social" in Social Media can be harvested for functional engineering. When we stop treating end users as isolated consumers and start treating them as a connected network of prosumers, the efficiency of software creation scales naturally with the community.

Find Similar Papers

Try Our Examples

  • Search for recent papers that utilize Social Internet of Things (SIoT) architectures to automate service discovery in smart home environments.
  • What are the foundational theories for "Prosumer" behavior in software engineering, and how have they evolved with the rise of low-code/no-code platforms?
  • Explore how graph-based recommendation systems in End-User Development (EUD) address the "cold start" problem for new community members.
Contents
Socializing Service Composition: Transforming End Users into Collaborative Prosumers
1. TL;DR
2. The "Isolated User" Problem in EUD
3. Methodology: The Graph-Based Social Fabric
3.1. 1. The Social Taxonomy
3.2. 2. Contextual Recommendation Algorithms
4. EUCalipTool: A Proof of Concept
5. Experimental Results: Community-Driven Creation
6. Critical Insight: The Future of "Social Software Engineering"
6.1. Limitations and Challenges
7. Conclusion