You are on page 1of 7

Tweetflows - Flexible Workflows with Twitter

Martin Treiber, Daniel Schall, Christian Scherling


Schahram Dustdar ikangai solutions
Distributed Systems Group, TU Vienna Treustrasse 59/5/20
Argentinierstrasse 8, A-1040 Wien A-1220 Wien
{lastname}@infosys.tuwien.ac.at office@ikangai.com

ABSTRACT as an important paradigm in human problem solving tech-


We present a lightweight coordination and collaboration plat- niques on the Web. More often than noticed, software ser-
form, intertwining contemporary social networking platforms vices outsource tasks to humans which are difficult to im-
and SOA principles. The idea of our approach is to use Twit- plement in source code. Applications range from enterprise
ter as a platform for collaborations of human and software environments [27] to open Internet-based platforms such as
services in the context of workflows. We introduce primi- Amazon Mechanical Turk [2] (MTurk). These online plat-
tives that provide SOA functionality like service discovery forms distribute problem-solving tasks among a group of
or service binding and illustrate how these primitives are humans. Crowdsourcing [12] follows the ‘open world’ as-
embedded in Tweets. By using Tweets, we are able to reuse sumption allowing humans to provide their capabilities to
existing infrastructures and tools (e.g., twitter clients on mo- the platform by registering themselves as services. Some
bile devices) for the communication between services and of the major challenges are: monitoring of crowd capabil-
humans. Simultaneously, we exploit social network struc- ities, detection of missing capabilities, strategies to gather
tures originating from Twitter follower networks in order to those capabilities, and the tasks’ status tracking [3]. Service-
discover (human and software) resources that are required oriented architecture [1] (SOA) enables the design of applica-
for the execution of a workflow. And finally, we are able to tions that are composed from the capabilities of distributed
monitor the execution of workflows with Twitter, simply by software services. In SOA, compositions are composed of
following Tweets that represent the execution of a workflow. Web services following the loose coupling and dynamic dis-
covery paradigm. Unlike traditional SOA-based approaches,
we consider complex service-oriented systems that are es-
Categories and Subject Descriptors tablished upon the capabilities of human and software ser-
C.2.4 [Distributed Systems]: Distributed applications; vices [20]. The integration of human capabilities in a service-
H.3.5 [Online Information Services]: Web-based Ser- oriented manner is motivated by the difficulties to adopt hu-
vices; H.4 [Information Systems Applications]: Mis- man expertise into software implementations. Instead of dis-
cellaneous pensing with human capabilities, people handle tasks behind
traditional service interfaces. In contrast to process-centric
flows (top-down compositions), we advocate flexible compo-
General Terms sitions wherein services can be added at any time exhibiting
Design, Human Factors, Management new behavior properties. Here, we focus on coordination
and collaboration principles using social networks. Specifi-
Keywords cally, we focus on the convergence of service-orientation in
crowds and social networking platforms.
Crowdsourcing, Twitter, Social Networks A socially-enhanced approach for combining human and
software services brings a number of advantages that have
1. INTRODUCTION not yet been exploited in existing crowdsourcing platforms:
Over the past years, the Web has transformed from a (i) Seamless coordination in crowdsourcing environments is
pool of statically linked information to a people-centric Web. accomplished by embedding instructions and flow structure
Various Web-based tools and services have become available in communications of widely used social networking plat-
enabling people to communicate, coordinate, and collabo- forms. (ii) The discovery of collaboration partners and ser-
rate in a distributed manner. Crowdsourcing has emerged vices is based on social phenomena [22]. Spreading and cas-
cading information flows in social networks provide power-
ful mechanisms for the discovery of resources. (iii) A task’s
progress can be monitored by observing traces of social in-
Permission to make digital or hard copies of all or part of this work for teractions. Short infos and status updates that are associ-
personal or classroom use is granted without fee provided that copies are ated with a particular context (topic) provide information
not made or distributed for profit or commercial advantage and that copies regarding the current status of people and services. Here we
bear this notice and the full citation on the first page. To copy otherwise, to present means and primitives for coordination and collabo-
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
ration using the Twitter1 [14] service.
Pesos’11 May 23-24, 2011, Hawaii, USA. 1
Copyright 2011 ACM X-XXXXX-XX-X/XX/XX ...$10.00. http://twitter.com/
Twitter, a service founded in 2006, has 106 million reg- Austrian cities and travel on a regular base. Consequently,
istered users by January 2011 and is adding new users at the collaboration infrastructure must be accessible from mo-
the rate of 300,000 a day2 . The underlying principle is very bile devices (e.g., Android, iPhone, Netbooks) and should be
simple: Twitter users post short messages (Tweets) about as lightweight as possible. Thus, project-related messages
any topic within a 140-character limit and follow others to need to be short in order to be easily accessed from mobile
receive their Tweets. Being a follower on Twitter let users devices. Furthermore, the communication must must be ca-
receive all the messages from those he/she follows. Within pable of tracking all project related messages and provid-
the Twitter community, a specialized markup language [13] ing team members the ability to filter the content according
has evolved: RT stands for retweet, addresses a user di- their requirements. The sharing of information (links, doc-
rectly in a Tweet, and # followed by a word represents a uments) needs also to be considered, as well as the integra-
hashtag [5]. This vocabulary enables them to express their tion of external (human provided) services that are needed
Tweets with basic semantics and enables users to search for during the project. For example, team members blog dur-
topics represented by hashtags. ing the project about the project’s progress on the ikangai
This way of being able to communicate in an informal blog4 . Because not all team members write English blog en-
manner may play an important role for collaborative work tries, ikangai solutions uses a (human-provided) translation
in organizations. First of all, it provides a lightweight and service that translates their entries into English before the
easy to use tool for sharing work-relevant information among entry is posted on the ikangai blog. The very same (human-
employees, supports the coordination of group activities and provided) service also checks ikangai blog entries for gram-
it supports potentially novel, previously not anticipated col- mar mistakes before they are published.
laboration opportunities within organizations. Such a lightweight To address these challenges, the ikangai project team uses
communication framework is certainly of interest when ad- Twitter as a communication infrastructure backbone. Tweets
dressing the requirements of software systems which consist are used to exchange project-related information and track
of a mix of humans, human-provided services and software messages between team members. All project related Tweets
services. In such a setting, services are accessed from and contain hashtags that add meta information. The later
provided by different devices (e.g., laptops, mobile phones) are used to filter Tweets for project-related messages, to
and locations (workplace, during travel) and consumed ei- create message hierarchies and to invoke external (human-
ther by humans or by software. Consequently, a convenient provided) services. Moreover, in order to utilize the follower
communication infrastructure is needed that allows for a structure of the team members (e.g., other students doing
flexible handling of communication environments. the same lecture) for expertise on different topics (e.g., pro-
In this paper, we investigate the application of Twitter as gramming, translation), all project communication is made
a communication infrastructure [11]. Our work focuses on public. By publishing service requests and retweeting them
how to use Tweets to enable the seamless communication to Twitter followers (the Twitter follower crowd), we are
between humans and (human-provided) services in different able to tap into available external knowledge resources, human-
environments. In particular, we illustrate how SOA princi- provided or software-based services.
ples [6] (i.e, loose coupling, late binding, and service discov-
ery) work with Twitter and how to organize conversations 3. KEY DESIGN PRINCIPLES
between service consumers and providers on Twitter.
In our approach, we intend to position crowdsourcing in
Structure of this Work. We introduce a motivating
a service-oriented setting, applying concepts from SOA and
example in Section 2 that illustrates some of the key chal-
Web services such as dynamic discovery and late binding
lenges for Twitter-based collaborations. Based on our work-
mechanisms. In particular, we investigate how to use mi-
ing example, we discuss key design principles in Section 3.
croblogging services like Twitter for the purpose of crowd-
We continue with Twitter conversation primitives and show
sourcing tasks or services.
how to apply these in a service-oriented setting in Section 4.
We conclude with a discussion on our approach in Section 3.1 Tweetflows and Social Computation
5, related work in Section 6 and an outlook on future work
We consider our approach as technical to social computa-
in Section 7.
tion [18]. As such, social computation is centered around the
idea of integrating humans and software into complex sys-
2. MOTIVATING SCENARIO tems. One major challenge is the communication between
Our motivating scenario is a real world project 3 which has software and humans. Our approach provides the means for
the goal of porting two iPhone apps (qcard and qlauncher) a seamless communication between humans and services.
to the Android platform for ikangai solutions. The project Workflow descriptions are typically complex descriptions
team consists of three people of ikangai solutions and four of activities that are executed in a particular order to achieve
undergrad students from the Vienna Technical University. a certain goal. Languages like BPEL or YAWL [24] are used
The project is embedded in a university lecture at the Vi- to specify each step that is necessary towards the comple-
enna Technical University and lasts for four months. tion of the workflow. In contrast, we strive for the support of
A typical challenge in this kind of project setting is to de- simple, adhoc workflows which are descriptions of activities
fine the communication channels between all project team (e.g., service requests) that are required for the completion
members. The team members are distributed over three of a task and are constructed on the fly, so called Tweet-
flows. After initial adhoc workflow Tweets, which bootstrap
2
‘Twitter Loses Its Scrappy Start-Up Status’ in The New the creation and at the same time the execution of the work-
York Times: http://nyti.ms/cBTFUC flow, periodically updates extend the workflow until its com-
3
http://www.ikangai.com/blog/
4
advanced-software-engineering-ase http://www.ikangai.com/blog
pletion, enabling dynamic changes during the execution of user that is being followed. Given that Tweets are pub-
the workflow. licly visible to followers, conversations can be tracked by
other users and messages can be retweeted, i.e., forwarded
3.2 Technology Grounding to other Twitter followers. This schema supports an effi-
In crowdsourcing environments, complex descriptions of cient spreading of news [17]. The discovery of services is
services (i.e., service meta data) or service invocation mech- an important issue in many service-oriented systems. By
anisms are not available. Thus, the process of service pub- using a spreading mechanism, publication of service-related
lication, service discovery, service binding and service exe- information becomes straightforward, but also causes some
cution cannot be applied directly, but also needs to follow challenges, for example spam or information overload.
different principles and use different technologies. The limited length of Tweets demands for a specification
of a compact syntax to enable communications and control.
• By using Twitter as a communication means for crowd- For this purpose, we introduce a set of Twitter primitives
sourcing, we impose a set of limitations concerning the that enable a seamless fabric of human and service interac-
length and complexity of messages that are exchanged tions. Our proposed Twitter communication syntax is based
during service discovery or service invocation. Twit- on established Twitter primitives, like RT (re-tweet). It not
ter, being a mircoblogging service, limits the amount only allows users to request a particular service, but also fa-
of data that is published to 140 characters per Tweet. cilitates the discovery of services in crowdsourcing environ-
Since we want to keep a simple one to one mapping ments. Table 1 shows the most essential Tweetflow prim-
between a Tweet and a service related message, we itives which will be used throughout this section. In our
need to limit the amount of data (and meta data) in discussions we will establish the correspondence of Tweet-
a Tweet information to an absolute minimum. In or- flow primitives and concepts found in SOA.
der to minimize to the space needed by meta infor-
mation, we draw upon Twitter’s hashtag mechanism Symbol Description
to mark keywords that represent meta information in SR Service Request
Tweets [13]. CS Claiming Request
RE Service Response
• The messaging mechanism of Twitter follows a broad-
RT Retweet Service Request
cast paradigm which we use to publish service requests
DS Delegate Service Request
and service announcements. This is in contrast to hav-
TF Tweetflow Pipes
ing a centralized service registry that collects all ser-
RJ Reject Service Request
vice information which is queried for a service. Con-
ST Service State Request
sequently, we observe that Twitter pushes service an-
SE Service State Reply
nouncements instead of letting service requestors pull
SP Service Announcement
for service-related information.
• The addressing of services utilizes Twitter’s build-in Table 1: Tweetflow primitives.
addressing mechanisms using the @ symbol to send
messages directly to followers. Followers represent ser- 4.1 Tweetflow Primitives
vice providers and are able to forward service-related In this section we detail communication principles using
requests to other followers. This also permits to pro- Tweetflow primitives and provide simple examples. A com-
vide the basic means for service communication. plete scenario will be discussed in a later section of this
paper.
With these limitations in mind, we propose to use a set
Passing Data to and from Services. The limitation
of primitives to provide for the features to find, bind, ex-
of Twitter messages requires special considerations concern-
ecute and monitor services in Twitter-based crowdsourcing
ing the access of input and output data for services. To
environments. Those primitives are directly embedded into
overcome the size limitation, we propose the use of exter-
Tweets using a combination of hashtags and a priori-defined
nal resources that represent the input and output of service
commands. We foresee the use of external resources that
invocations. Resources are accessed with a simple HTTP
contain the actual data for the invocation of services, be-
GET operation and the corresponding link is stored directly
cause of the aforementioned limitation of 140 characters. In
in the Tweet. This allows for great flexibility, because we
our approach, Tweetflows represent conversations between
are able to pass arbitrary information to services. The same
Twitter users, and employ pre-defined communication prim-
applies to the result of service invocations which are repre-
itives (e.g., service requests, service bindings) for the invo-
sented by Tweets. Listing 1 shows how a (human provided)
cation of services and the exchange of data. We will discuss
English to Japanese translation service is called with a blog
the implementation of the processes in greater detail in the
entry being the input data.
following sections, in which we introduce a set of commu-
nication primitives that provide the needed functionality to 1 SR #s e r v i c e : t r a n s l a t i o n . j a p a n e s e #t r a n s l a t i o n
publish, discover and bind services, and to execute simple 2 #e n g l i s h #j a p a n e s e h t t p : / / b i t . l y /9qFRGL
Tweet-based workflows.
Listing 1: Passing data to a translation service.
4. TWEETFLOW COMMUNICATIONS Announcing Services with Twitter. The publication
The communication and message exchange in Twitter fol- of services with Twitter consists of posting a Tweet with
lows a publish/subscribe pattern [7]. By following other the service name and meta information about the service.
Twitter users, the follower subscribes to the Tweets of the Since the available space is limited, we use optional links
to external taxonomies to provide meta information about
1 CS @<u s e r>#s e r v i c e :<name>” ”< u r l >
the service being published, in addition to Twitter hash-
tags (see Listing 2). We consider hashtags to play a similar
role as tags in folksonomies [26] - a distributed, bottom-up Listing 4: Claiming a service on Twitter.
classification schema for services which are made available Execution of Services and Monitoring. The execu-
through Twitter. In addition, the retweet mechanism allows tion of requests is associated with a state that can be re-
to spread service announcements over the Twitter network quested. The detailed state model is not the focus of this
[15] providing for a social network-based service publication. work as such models have received sufficient attention in col-
1 SP #s e r v i c e :<name>” ”< h a s h t a g s >” ”< u r l > laborative systems. Basically, states covered by our systems
include pending, inprogress, aborted, finished, to name a few.
Listing 2: Announcing services on Twitter. 1 // S e r v i c e Re sp o n se on T w i t t e r
2 RE @<u s e r>#s e r v i c e :<name>” ”< u r l >
Discovering Services with Twitter. The discovery 3
of services in Twitter does not follow the pull approach as 4 // S e r v i c e S t a t e Re q u e st on T w i t t e r
with existing Service Oriented Architectures where a service 5 ST @<u s e r>#s e r v i c e :<name>
6
requester searches for candidate service in repositories.
7 // S e r v i c e S t a t e Reply on T w i t t e r
1 // P u b l i c a t i o n o f a S e r v i c e Re q u e st on T w i t t e r 8 SE @<u s e r>#s e r v i c e :<name>” ”< s t a t e >
2 SR #s e r v i c e :<name>”.”< o p e r a t i o n >” ”< h a s h t a g s >” 9

3 ”< u r l > 10 // S e r v i c e Re q u e st R e j e c t on T w i t t e r
4 11 RJ @<u s e r>#s e r v i c e :<name>
5 // D i r e c t S e r v i c e Re q u e st on T w i t t e r
6 SR @<u s e r>#s e r v i c e :<name>”.”< o p e r a t i o n >”
7 ”< h a s h t a g s >” ”< u r l > Listing 5: Syntax elements related to execution.
8
9 // D e l e g a t i o n o f a S e r v i c e Re q u e st on T w i t t e r
10 DS @<u s e r>#s e r v i c e :<name>”.”< o p e r a t i o n >” • Service Response: After the service has been com-
11 ”< h a s h t a g s >” ”< u r l > pleted, the service provider sends a message containing
12
13 // S p r e a d i n g a S e r v i c e Re q u e st on T w i t t e r
the service name and a link to the result of the service
14 RT #s e r v i c e :<name>”.”< o p e r a t i o n >” invocation.
15 ”< h a s h t a g s >” ”< u r l >
• Status Request: During the execution of a service, the
Listing 3: Syntax elements related to discovery. service requestor can check the current state of the
service execution.
• Publication of a Service Request: With Twitter as
• Status Reply: State requests are replied by the user.
communication platform, service discovery follows a
push approach where the user Tweets a particular ser- • Reject Service Request: It is also possible to reject a
vice request. The request, i.e., the Tweet contains service request from another user.
meta information about the service, the operation that
is required, hashtags providing meta information about Bootstrapping, Executing and Monitoring. The
the service (data) and a link to the service input data. process of creating or bootstrapping a Tweetflow consists
of tweeting a set of service requests to find adequate ser-
• Direct Service Request: The service request can also be
vice providers. As briefly discussed in the use case exam-
directed to Twitter followers. In this case, the Tweet
ple, the porting of the iPhone applications requires a set of
addresses the user directly.
services, respectively service providers. These include, for
• Delegation of Service Request: If Twitter followers are instance, Android developers, translation services or adver-
not able to handle the service request, but happen to tisement services. After the discovery phase is completed
know someone who is, the service request can be del- (all service requests are bound) the actual execution phase
egated to another follower. of the Tweetflow starts.
The originator, i.e. the coordinator, of the Tweetflow
• Retweet Service Request: Also, a user can retweet the
posts a Tweet that contains a concatenation of actions which
service request to his followers and spread the service
need to be executed by different users. This Tweet marks
request to other users that are no followers of the ser-
the beginning of the execution of a Tweetflow. A Tweetflow
vice requestor. The retweeting or delegating of ser-
consists of a concatenation of service invocations, resulting
vice requests leads to a dissemination of requests in
in a service pipeline. In the pipeline, each service invoca-
the Twitter network. As in the case of service an-
tions passes the result to the next service in the pipeline.
nouncements, we implicitly use Twitter’s social struc-
Listing 6 shows the syntax of Tweetflow Tweets.
tures during the discovery process.
1 TF #<name> @<u s e r>#s e r v i c e :<name>” ”< u r l > ”| ”
Binding and Addressing Services. If a Twitter fol- 2 @<u s e r>#s e r v i c e :<name>” ”< u r l >
lower is able to provide the required service, the binding of
a service request to the service instance happens if the fol- Listing 6: Service pipes on Twitter.
lower directly answers to a service request Tweet. As the
Tweet appears in the Tweetflow, the binding is complete It is worth noting that the control over the execution
and the service is being invoked. The actual addressing of is distributed: upon completion of a service in the service
the services uses the built-in Twitter addressing mechanism pipeline, the service provider is directly responsible for tweet-
which sends Tweets directly to followers. ing the invocation of the next service by posting a service
request Tweet. Given the ad hoc character of Tweetflows, user’s experience for a particular request. A user’s expe-
it’s possible to make modifications to the Tweetflow during rience is automatically calculated through interaction min-
its execution. For example, a service request can be dele- ing techniques. (iii) Interact: the framework supports au-
gated to another Twitter follower upon receiving a service tomatic user interface generation using standardized XML
request, allowing for service replacements on the fly. This forms that are generated according to exchanged complex
open, distributed control approach allows to exploit crowd- data types in SOAP messages.
sourcing behavior in Tweetflows:
1 <?xml version=" 1 . 0 " e n c o d i n g=" utf - 8 " ?>
Since each service interaction is represented by a Tweet, 2 < d e f i n i t i o n s name=" T r a n s l a t i o n S e r v i c e " . . . >
we imply implicit monitoring of the service execution of the 3 <t y p e s>
service pipeline. However, in order to track the execution of 4 <schema t a r g e t N a m e sp a c e=" h t t p : / / . . . ">
5 <si m p l e Ty p e name=" L a n g u a g e ">
Tweetflows, we require that each Tweetflow Tweet contains 6 < r e s t r i c t i o n b a s e=" x s d : s t r i n g ">
a hashtag with name of the Tweetflow (see Listing 7) to be 7 <e n u m e r a t i o n v a l u e=" J a p a n e s e " />
able to filter for Tweets. 8 <e n u m e r a t i o n v a l u e=" E n g l i s h " />
9 </ r e s t r i c t i o n>
1 RE #<name>” ”@<u s e r>#s e r v i c e :<name>” ”< u r l > 10 </ si m p l e Ty p e>
2 ST #<name>” ”@<u s e r>#s e r v i c e :<name> 11 <complexType name=" G e n e r i c R e s o u r c e ">
3 SE #<name>” ”@<u s e r>#s e r v i c e :<name>” ”< s t a t e > 12 <s e q u e n c e>
4 RJ #<name>” ”@<u s e r>#s e r v i c e :<name> 13 <e l e m e n t name=" L o c a t i o n " t y p e=" a n y U R I " />
14 <e l e m e n t name=" E x p i r e s " t y p e=" d a t e T i m e " />
15 <e l e m e n t name=" L a n g " t y p e=" t n s : L a n g u a g e " />
Listing 7: Tweetflow Tweets. 16 <s e q u e n c e>
17 <complexType name=" T r a n s l a t i o n R e q u e s t ">
18 <s e q u e n c e>
4.2 Mapping between Tweetflows and SOA 19 <e l e m e n t name=" R e q u e s t "
20 t y p e=" t n s : G e n e r i c R e s o u r c e " />
Using Tweetflow principles, we are able to fully support 21 <e l e m e n t name=" T a g s " t y p e=" s t r i n g " />
the SOA-lifecycle consisting of service publication, service 22 </ s e q u e n c e>
discovery, and service binding (interactions). However, in 23 </ complexType>
24 <e l e m e n t name=" T r a n s l a t i o n R e q u e s t "
human-centric systems, it becomes important to support 25 t y p e=" t n s : T r a n s l a t i o n R e q u e s t " />
additional coordination mechanisms (i.e., routing through 26 <e l e m e n t name=" A c k S u p p o r t R e q u e s t " t y p e=" s t r i n g " />
pipes). Similar (simple) mechanisms are already found in 27 <e l e m e n t name=" G e t S t a t u s " t y p e=" t n s : G e t S t a t u s " />
28 < !−− f u r t h e r r e q u e s t s / r e s p o n s e s o m i t t e d−−>
traditional message-oriented systems such as email. Our 29 </ schema>
approach brings the benefit of seamless communication and 30 </ t y p e s>
coordination in a service-oriented manner. The analogy of 31 <m e ssa g e name=" G e t T r a n s l a t i o n ">
32 <p a r t name=" P a r a m e t e r s "
these primitives to SOA concepts is summarized in Table 2. 33 e l e m e n t=" t n s : T r a n s l a t i o n R e q u e s t " />
34 </ m e ssa g e>
Tweetflow Primitives SOA Concept 35 <portType name=" H P S P o r t ">
SR, RT, DS, RJ Service Discovery 36 <o p e r a t i o n name=" G e t T r a n s l a t i o n ">
37 < !−− in −/o u t p u t . . . −−>
CS Service Binding 38 </ o p e r a t i o n>
RE Service Response 39 </ portType>
TF Message Routing 40 < s e r v i c e name=" T r a n s l a t i o n S e r v i c e ">
41 <p o r t b i n d i n g=" t n s : H P S P o r t " . . . />
ST, SE Service Monitoring 42 </ s e r v i c e>
SP Service Publication 43 <b i n d i n g name=" H P S S o a p B i n d i n g " . . . > . . . . </ b i n d i n g>
@ Service Addressing 44 </ d e f i n i t i o n s>

Table 2: Mapping SOA principles to Twitter. Listing 8: WSDL specification of HPS-based trans-
lation service (simplified example).
In the following, we show a simplified example of a human-
Listing 8 shows a simplified example of a HPS-based docu-
provided document translation service as defined by Listing
ment translation service that is provided by one or more hu-
8. Our approach utilizes the very same technologies used to
man actor(s). The WSDL description defines complex data
implement software services such as WSDL and SOAP to
types such as a GenericResource that wraps document-
support interactions with human-provided services.
related information (i.e., the location of the document, expi-
First, let us briefly outline the features of the human-
ration time, and language attributes). The TranslationRe-
provided services (HPS) framework [20, 23] that offers the
quest contains request-related information and additional
building blocks to support flexible human interactions in
tags applied to a request. Every request is acknowledged
SOA. HPS [20] enhances the traditional SOA-triangle by en-
through AckSupportRequest by automatically generating a
abling people to provide services with the very same technol-
unique identifier. Further operations are supported to ob-
ogy as used by implementations of software-based services.
tain the status of a request (e.g., GetStatus). Asynchronous
Various operations for different collaborative activities in-
notifications can be generated by passing the endpoint of the
dicate a provider’s ability (and willingness) to participate
requester to the service (not shown in this example). The
in collaborations. Three steps are performed when using
invocation of the translation service is shown in Listing 9.
HPS: (i) Publish: the user can create an HPS, specify its
operations, and publish the service on the Web by using a 1 TF @ i k a n g a i #s e r v i c e : t r a n s l a t i o n . g e t T r a n s l a t i o n
registry. (ii) Search: the requester can perform a keyword- 2 #t r a n s l a t i o n #e n g l i s h #j a p a n e s e
based search to find HPSs. Ranking is performed to find 3 h t t p : / / b i t . l y /9qFRGL
the most relevant HPS based on, for example, the exper-
tise of the user providing the service, or the relevance of a Listing 9: Requesting the SOAP translation service.
5. DISCUSSION The core follower structure of the project team was a com-
The use of Twitter for the collaboration between team plete graph because the project team was known a priori and
members and services has several implications. First and followed each other on Twitter. Consequently, all project-
foremost, using Twitter for communication and coordina- related messages were observed by each team member. How-
tion means that messages are immediately visible to all fol- ever, as discussed before, service requests that couldn’t be
lowers. Input data of services is also visible, since it is being served were forwarded to other followers of the team mem-
linked to in the Tweets. If sensitive data needs to be passed, bers, creating a permeable information boundary. In an en-
then direct Twitter messages can be sent or the Tweets can terprise setting, such structures can be mapped onto de-
be marked as private to prevent non-followers from reading velopment teams which work on different areas of a prod-
them. Alternatively, users can send direct messages to other uct and which members are highly connected. However,
users without public Tweets. By using Twitter for service as shown in the working example, some expertise might be
related messages (e.g., discovery, publication), we implicitly missing and an open messaging infrastructure can be used
make use of information cascades if the corresponding mes- to extend the expertise of a group. After the kickoff meet-
sage is retweeted to other followers. As has been discussed in ing, a Tweetflow for coordinating the activities for the cre-
the literature, retweets have the potential to reach large por- ation of the project infrastructure was initiated. The origi-
tions of the Twitter network. However, the success rate of nator of the Tweet (Twitter user ikangai), bootstrapped the
information cascades for service requests in an open crowd- Tweetflow by posting a number of service requests. The
sourcing setting still needs to be asserted in greater detail. service requests were answered by the team members who
As an experiment ikangai tweeted a request for a Japanese- are followers and claimed the services. The originator, being
English translation for the ikangai blog and received an an- at the same time the coordinator of the Tweetflow, bound
swer from a Twitter user ikangai did not know before. A the services to the users and started the execution of the
similar event was observed with a request for an English- Tweetflow by posting a new round of Tweets. As shown in
Korean translation. In this case, a direct follower of ikangai the example, there were dependencies between actions, like
answered stating that he knew a student able to provide this the creation of a google docs account and the creation of a
kind of service. This suggests that information cascades in google document which had to be taken into consideration.
Twitter can be used for service discovery purposes. Listing Furthermore, it’s worth noticing that the polling service is
10 shows parts of the Tweetflow that were used to set up bound by user ikangai to an external Restful doodle poll
the communication and development infrastructure which service and that the Tweet TF #ase_2010_11 ikangai ser-
was explained in our working scenario. vice:poll.create #meeting http://bit.ly/bsdbGY invokes
a Restful service, providing seamless integration between
1 SR #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e #g o o g l e d o c s software-based and human services.
2 #a s e 2 0 1 0 1 1
3 SR #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e #p i v o t a l t r a c k e r
4 #a s e 2 0 1 0 1 1 6. RELATED WORK
5 SR #s e r v i c e : document . c r e a t e #k i c k o f f
6 #a s e 2 0 1 0 1 1 In service-oriented environments, standards have been es-
7 SR #s e r v i c e : name . c r e a t e #p r o j e c t n a m e tablished to model human-based process activities and tasks
8 #a s e 2 0 1 0 1 1 (WS-HumanTask [8]). However, these standards demand for
9 SR #s e r v i c e : p o l l . c r e a t e #m e e t i n g
10 #a s e 2 0 1 0 1 1 the precise definition of interaction models between humans
11 ... and services. In our approach, we combine SOA concepts
12 SC @ i k a n g a i #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e and social principles. We consider open service-oriented en-
13 #g o o g l e d o c s #a s e 2 0 1 0 1 1
14 SC @ i k a n g a i #s e r v i c e : name . c r e a t e vironments wherein services can be added at any point in
15 #p r o j e c t n a m e #a s e 2 0 1 0 1 1 time. Following the open world assumption, humans ac-
16 SC @ r e d a l i 2 5 #s e r v i c e : document . c r e a t e tively shape the availability of services. The concept of
17 #k i c k o f f #a s e 2 0 1 0 1 1
18 SC @ s t e f a n a s s e g #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e Human-Provided Services (HPS) [20] supports flexible service-
19 #p i v o t a l t r a c k e r #a s e 2 0 1 0 1 oriented collaborations across multiple organizations and do-
20 SC @ i k a n g a i #s e r v i c e : p o l l . c r e a t e mains. Similarly, emergent collectives as defined by [19] are
21 #m e e t i n g h t t p : / / b i t . l y /bsdbGY
22 ...
networks of interlinked, valued nodes (services).
23 TF #a s e 2 0 1 0 1 1 @ s t e f a n a s s e g Open service-oriented systems are specifically relevant for
24 #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e #p i v o t a l t r a c k e r future crowdsourcing applications. For example, a hybrid
25 TF #a s e 2 0 1 0 1 1 @ i k a n g a i
26 #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e #g o o g l e d o c s |
human-computer document translation system has been dis-
27 @ r e d a l i 2 5 #s e r v i c e : document . c r e a t e #k i c k o f f cussed by [21], however not focusing on the realization as a
28 TF #a s e 2 0 1 0 1 1 @ i k a n g a i #s e r v i c e : name . c r e a t e service-based system. While existing platforms (e.g., MTurk
29 #p r o j e c t n a m e [2]) only support simple interaction models (tasks are as-
30 TF #a s e 2 0 1 0 1 1 @ i k a n g a i #s e r v i c e : p o l l . c r e a t e
31 #m e e t i n g h t t p : / / b i t . l y /bsdbGY signed to individuals), social network principles support more
32 ... advanced techniques such as formation and adaptive coor-
33 RE @ i k a n g a i #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e dination. Social game-based human computation has been
34 #g o o g l e d o c s #a s e 2 0 1 0 1 1 h t t p : / / b i t . l y /bfWcyV
35 RE @ i k a n g a i #s e r v i c e : document . c r e a t e introduce [25] in the context of image labeling that is per-
36 #k i c k o f f #a s e 2 0 1 0 1 1 h t t p : / / b i t . l y /bfWcyV formed by humans. From the technical point of view, TurKit
37 RE @ i k a n g a i #s e r v i c e : i n f r a s t r u c t u r e . c r e a t e [16] is a crowd computing framework based on MTurk.
38 #p i v o t a l t r a c k e r #a s e 2 0 1 0 1 1 h t t p : / / b i t . l y /17VtC
39 RE @ i k a n g a i #s e r v i c e : name . c r e a t e On an architectural level, we follow the blackboard archi-
40 #p r o j e c t n a m e #a s e 2 0 1 0 1 1 h t t p : / / b i t . l y / ajp8vF tectural pattern [9]. In our architecture, the Tweet Bus plays
41 ... the role of the blackboard which holds state information,
i.e., Tweets of the Tweetflows. Enterprise Service Bus Ar-
Listing 10: Tweetflow example. chitectures (ESB) [4] have a strong similarity to our Tweet
Bus architecture. Like in ESBs, our approach also uses a [6] T. Erl. SOA Principles of Service Design. Prentice
centralized communication channel to transport messages. Hall PTR, Upper Saddle River, NJ, USA, 2007.
Clients plug into this channel and listen to messages which [7] P. T. Eugster, P. A. Felber, R. Guerraoui, and A.-M.
are transported in a standard format. However, the pub- Kermarrec. The many faces of publish/subscribe.
lic visibility of Tweets, the 140 character limit for messages ACM Comput. Surv., 35(2):114–131, 2003.
and the ability to forward (retweet) messages arbitrarily to [8] M. Ford et al. Web Services Human Task
other users not listening to the communication bus, i.e., to (WS-HumanTask), Version 1.0., 2007.
push messages into a community of followers, are the main [9] D. Garlan and M. Shaw. An introduction to software
differences. architecture. Technical report, Pittsburgh, PA, USA,
1994.
7. SUMMARY AND OUTLOOK [10] J. Hannon, M. Bennett, and B. Smyth.
In this paper, we presented an approach for using Twit- Recommending twitter users to follow using content
ter as a communication and coordination medium for the and collaborative filtering approaches. In RecSys ’10,
execution of simple workflows. A novel application of our pages 199–206. ACM, 2010.
approach are collaborations in crowdsourcing environments [11] C. Honey and S. C. Herring. Beyond microblogging:
where people provide their skills and capabilities in a service- Conversation and collaboration via twitter. In HICSS
oriented manner. In contrast to existing crowdsourcing plat- ’09, pages 1–10. IEEE Computer Society, 2009.
forms, our approach enables the realization of collabora- [12] J. Howe. Crowdsourcing: Why the Power of the Crowd
tive crowds where individuals jointly work on activities and Is Driving the Future of Business. Crown Publishing
short-term projects. Group, New York, NY, USA, 2008.
We introduced Tweetflow primitives which are embedded [13] J. Huang, K. M. Thornton, and E. N. Efthimiadis.
in Twitter communications to control collaborations and to Conversational tagging in twitter. In HT ’10, pages
interact with human- and software-based services. By us- 173–178. ACM, 2010.
ing Twitter, we implicitly provided a platform-agnostic com- [14] B. Krishnamurthy, P. Gill, and M. Arlitt. A few chirps
munication backend, which possesses enterprise service bus about twitter. In WOSP ’08, pages 19–24. ACM, 2008.
characteristics: each client is able to plug into the Tweet
[15] H. Kwak, C. Lee, H. Park, and S. Moon. What is
Bus and exchange messages, independent of any implemen-
Twitter, a social network or a news media? In WWW
tation. Moreover, a Tweet Bus provides the means to inte-
’10, pages 591–600. ACM, 2010.
grate human- and software-services seamlessly. And finally,
[16] G. Little, L. B. Chilton, M. Goldman, and R. C.
the Twitter follower structure offers the ability to exploit
Miller. Turkit: tools for iterative tasks on mechanical
social structures and to utilize them for service discovery
turk. In HCOMP ’09, pages 29–30. ACM, 2009.
purposes as well as to tap human resources of crowds: ser-
vice requests can be forwarded (i.e., retweeted) to followers [17] M. Motoyama, B. Meeder, K. Levchenko, G. M.
and are thus distributed to the crowd. In future works, we Voelker, and S. Savage. Measuring online service
plan to extend Tweetflow primitives to enable the creation of availability using twitter. In WOSN’10, pages 13–13.
more complex Tweetflows. For instance, we plan to integrate USENIX Association, 2010.
branching conditions, synchronization points and execution [18] D. G. Murray, E. Yoneki, J. Crowcroft, and S. Hand.
deadlines into Tweetflows to allow for more complex Tweet- The case for crowd computing. In MobiHeld ’10, pages
flows. Our prototype will be extended with a graphical tool 39–44. ACM, 2010.
that facilitates the creation of Tweetflows and we intend to [19] C. Petrie. Plenty of room outside the firm. IEEE
extend the support for SOAP-based Web services. We will Internet Computing, 14, 2010.
investigate Twitter user profiles to include them for service [20] D. Schall, H.-L. Truong, and S. Dustdar. Unifying
recommendations [10] or delegations. Human and Software Services in Web-Scale
Collaborations. Internet Comp., 12(3):62–68, 2008.
Acknowledgment [21] D. Shahaf and E. Horvitz. Generalized task markets
for human and machine computation. In AAAI, 2010.
This work received funding from the EU FP7 program under
[22] M. Treiber, H.-L. Truong, and S. Dustdar. Soaf
the agreements 215483 (SCube) and 215175 (COMPAS).
–design and implementation of a service-enriched
social network. Web Engineering, pages 379–393, 2009.
8. REFERENCES [23] TU-Wien. Human-Provided Services, 2010. online:
[1] G. Alonso, F. Casati, H. Kuno, and V. Machiraju.
http://www.infosys.tuwien.ac.at/prototyp/HPS/.
Web Services - Concepts, Architectures and
Applications. Springer, October 2003. [24] W. M. van der Aalst, L. Aldred, M. Dumas, and A. H.
ter Hofstede. Design and Implementation of the
[2] Amazon.com. Amazon mechanical turk, last access:
YAWL System. In Lecture Notes in Computer Science,
2010. available online: http://www.mturk.com.
volume 3084, pages 142–159, 2004.
[3] D. Brabham. Crowdsourcing as a model for problem
[25] L. von Ahn and L. Dabbish. Designing games with a
solving: An introduction and cases. Convergence,
purpose. Commun. ACM, 51(8):58–67, 2008.
14(1):75, 2008.
[26] J. Voss. Tagging, folksonomy & co - renaissance of
[4] D. Chappell. Enterprise Service Bus. O’Reilly Media,
manual indexing? CoRR, abs/cs/0701072, 2007.
Inc., 2004.
[27] M. Vukovic. Crowdsourcing for enterprises. In
[5] M. Efron. Hashtag retrieval in a microblogging
Congress on Services, pages 686–692, 2009.
environment. In SIGIR ’10, pages 787–788. ACM,
2010.

You might also like