SCPL: Orchestrating the Social Web through Domain-Specific Languages
SCPL: A Social Cooperative Programming Language to Automate Cooperative Processes
This paper introduces SCPL (Social Cooperative Programming Language), a Domain-Specific Language (DSL) designed to automate multi-platform social workflows. Built using Xtext and Ruby, it provides a textual abstraction for orchestrating tasks across LinkedIn, Twitter, Facebook, and Google Apps, achieving seamless cross-application coordination.
TL;DR
As social networks transition from domestic tools to critical business infrastructure, the "manual overhead" of managing these platforms has skyrocketed. SCPL (Social Cooperative Programming Language) is a new DSL that allows developers to write code to automate complex, multi-platform cooperative tasks—like waiting for a specific number of LinkedIn "Likes" before triggering a Twitter announcement—effectively turning social interactions into programmable workflows.
The "API Fatigue" and the Limits of Simple Automation
Current business processes are increasingly "social-first." Whether it's healthcare coordination or political press releases, the workflow involves multiple stakeholders across Gmail, LinkedIn, and Twitter.
The authors identify a critical gap in the market:
- Context Fragmentation: Users must manually jump between apps to check statuses.
- Logic Limitations: Tools like IFTTT or Zapier are "fire and forget." They cannot handle complex "wait-until" conditions or count social signals (like "Likes") as specific process triggers.
- Redundancy: The inability to reuse social task logic leads to repetitive manual data entry.
Methodology: From Syntax to Social Action
The core of SCPL is its ability to treat social actions as first-class programming constructs. The language supports global variables (e.g., $press_release), event-driven programming (the wait clause), and social-specific filters.
The Architecture
The system follows a three-tier transformation process to ensure both developer-friendly syntax and execution flexibility:
- SCPL (Xtext): A grammar-based textual language that feels like natural English.
- YAML Intermediate Representation: Xtend transforms the abstract syntax tree into a serializable YAML format.
- Ruby Interpreter: A custom engine that parses the YAML and makes actual API calls using Ruby gems (libraries).

Real-World Utility: The Press Release Use Case
A standout feature of SCPL is illustrated through a political press release workflow. In this scenario, the script:
- Sends an email to managers.
- Waits for 3 confirmation replies.
- Publishes to a LinkedIn group.
- Monitors the LinkedIn post until it reaches 30 "Likes."
- Automatically broadcasts the final version to Twitter and Facebook.
This level of "stateful" automation is difficult to achieve with traditional integration platforms but is handled in just a few lines of SCPL code.
Performance and Comparison
The paper provides a qualitative comparison against 9 mainstream tools. While popular tools like IFTTT and Zapier score high on "Simplicity," they fail on "Advanced Programming Structures" (C4) and "Advanced Filters" (C3). SCPL is the only analyzed tool that provides a textual notation (preferred by power users) while maintaining a positive user experience through clear abstractions.

Vertical Insight: Why This Matters
The shift from graphical "connectors" to textual DSLs represents a maturation of the Social Web. By treating a "Like" or a "Comment" as a programmable event rather than just a notification, SCPL enables Social BPM (Business Process Management) to become as automated and rigorous as traditional ERP systems.
Limitations and Future Work
While SCPL is powerful, it currently requires knowledge of textual programming, which might alienate non-technical managers. The authors are already working on a graphical notation to bridge this gap. Furthermore, as social APIs (like Twitter's) become more restrictive or expensive, the reliance on third-party Ruby gems will require constant maintenance to ensure reliability.
Conclusion
SCPL is a significant step toward "Transparent Connectivity." It moves us away from being "users" of social networks to being "orchestrators" of social processes, fundamentally reducing the friction of modern collaborative work.
