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
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), andDefinedFrom(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.
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.
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.
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.
